@sellmate/design-system 1.20.1 → 1.22.0

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 (377) hide show
  1. package/dist/cjs/design-system.cjs.js +2 -2
  2. package/dist/cjs/{index-DXm0PH2A.js → index-C-F-JEv_.js} +1 -1
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/sd-action-modal.cjs.entry.js +8 -2
  5. package/dist/cjs/sd-badge.cjs.entry.js +3 -2
  6. package/dist/cjs/sd-barcode-input.cjs.entry.js +35 -2
  7. package/dist/cjs/sd-button_2.cjs.entry.js +16 -7
  8. package/dist/cjs/sd-calendar_2.cjs.entry.js +17 -6
  9. package/dist/cjs/sd-callout.cjs.entry.js +4 -2
  10. package/dist/cjs/sd-card.cjs.entry.js +4 -2
  11. package/dist/cjs/sd-checkbox.cjs.entry.js +21 -12
  12. package/dist/cjs/sd-chip-input.cjs.entry.js +76 -18
  13. package/dist/cjs/sd-chip.cjs.entry.js +19 -2
  14. package/dist/cjs/sd-circle-progress.cjs.entry.js +6 -2
  15. package/dist/cjs/sd-confirm-modal_2.cjs.entry.js +27 -4
  16. package/dist/cjs/sd-date-box.cjs.entry.js +13 -3
  17. package/dist/cjs/sd-date-picker_7.cjs.entry.js +209 -13
  18. package/dist/cjs/sd-date-range-picker-calendar.cjs.entry.js +7 -2
  19. package/dist/cjs/sd-divider.cjs.entry.js +1 -1
  20. package/dist/cjs/sd-dropdown-button.cjs.entry.js +11 -1
  21. package/dist/cjs/sd-field_3.cjs.entry.js +70 -12
  22. package/dist/cjs/sd-form.cjs.entry.js +10 -2
  23. package/dist/cjs/sd-ghost-button_3.cjs.entry.js +54 -15
  24. package/dist/cjs/sd-guide.cjs.entry.js +9 -3
  25. package/dist/cjs/sd-key-value-table.cjs.entry.js +3 -1
  26. package/dist/cjs/sd-linear-progress.cjs.entry.js +7 -4
  27. package/dist/cjs/sd-loading-container.cjs.entry.js +5 -3
  28. package/dist/cjs/sd-modal-container.cjs.entry.js +7 -1
  29. package/dist/cjs/sd-pagination_4.cjs.entry.js +121 -13
  30. package/dist/cjs/sd-popover.cjs.entry.js +21 -5
  31. package/dist/cjs/sd-popup.cjs.entry.js +7 -3
  32. package/dist/cjs/sd-radio-button.cjs.entry.js +8 -2
  33. package/dist/cjs/sd-radio.cjs.entry.js +7 -2
  34. package/dist/cjs/sd-select-list-item_2.cjs.entry.js +18 -7
  35. package/dist/cjs/sd-select_3.cjs.entry.js +56 -9
  36. package/dist/cjs/sd-switch.cjs.entry.js +6 -2
  37. package/dist/cjs/sd-table.cjs.entry.js +42 -7
  38. package/dist/cjs/sd-tabs.cjs.entry.js +8 -2
  39. package/dist/cjs/sd-td.cjs.entry.js +11 -2
  40. package/dist/cjs/sd-text-link.cjs.entry.js +13 -4
  41. package/dist/cjs/sd-toast-container.cjs.entry.js +11 -2
  42. package/dist/cjs/sd-toast.cjs.entry.js +12 -3
  43. package/dist/cjs/sd-toggle.cjs.entry.js +6 -2
  44. package/dist/cjs/{tooltipArrow-D3P3JC08.js → tooltipArrow-26hYtSrD.js} +1 -1
  45. package/dist/collection/components/assets/CaretDown.js +1 -1
  46. package/dist/collection/components/assets/CaretLeft.js +1 -1
  47. package/dist/collection/components/assets/CaretRight.js +1 -1
  48. package/dist/collection/components/assets/CaretUp.js +1 -1
  49. package/dist/collection/components/sd-action-modal/sd-action-modal.js +13 -7
  50. package/dist/collection/components/sd-badge/sd-badge.js +3 -2
  51. package/dist/collection/components/sd-barcode-input/sd-barcode-input.js +67 -34
  52. package/dist/collection/components/sd-button/sd-button.js +18 -10
  53. package/dist/collection/components/sd-calendar/sd-calendar.js +15 -9
  54. package/dist/collection/components/sd-callout/sd-callout.js +5 -3
  55. package/dist/collection/components/sd-card/sd-card.js +5 -3
  56. package/dist/collection/components/sd-checkbox/sd-checkbox.config.js +5 -3
  57. package/dist/collection/components/sd-checkbox/sd-checkbox.css +16 -0
  58. package/dist/collection/components/sd-checkbox/sd-checkbox.js +5 -3
  59. package/dist/collection/components/sd-chip/sd-chip.js +35 -18
  60. package/dist/collection/components/sd-chip-input/sd-chip-input.css +6 -0
  61. package/dist/collection/components/sd-chip-input/sd-chip-input.js +107 -49
  62. package/dist/collection/components/sd-circle-progress/sd-circle-progress.js +9 -5
  63. package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.js +32 -17
  64. package/dist/collection/components/sd-date-box/sd-date-box.js +22 -12
  65. package/dist/collection/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.js +12 -7
  66. package/dist/collection/components/sd-date-picker/sd-date-picker.js +48 -25
  67. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.js +11 -6
  68. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.js +50 -26
  69. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.js +20 -10
  70. package/dist/collection/components/sd-field/sd-field.js +51 -28
  71. package/dist/collection/components/sd-file-picker/sd-file-picker.js +60 -30
  72. package/dist/collection/components/sd-floating-portal/sd-floating-portal.js +32 -11
  73. package/dist/collection/components/sd-form/sd-form.js +17 -9
  74. package/dist/collection/components/sd-ghost-button/sd-ghost-button.js +28 -13
  75. package/dist/collection/components/sd-guide/sd-guide.js +14 -8
  76. package/dist/collection/components/sd-icon/sd-icon.js +2 -1
  77. package/dist/collection/components/sd-input/sd-input.js +82 -42
  78. package/dist/collection/components/sd-key-value-table/sd-key-value-table.js +4 -2
  79. package/dist/collection/components/sd-linear-progress/sd-linear-progress.js +10 -7
  80. package/dist/collection/components/sd-loading-container/sd-loading-container.js +6 -4
  81. package/dist/collection/components/sd-loading-modal/sd-loading-modal.js +17 -9
  82. package/dist/collection/components/sd-modal-container/sd-modal-container.js +12 -6
  83. package/dist/collection/components/sd-number-input/sd-number-input.js +82 -43
  84. package/dist/collection/components/sd-pagination/sd-pagination.js +11 -7
  85. package/dist/collection/components/sd-popover/sd-popover.js +35 -19
  86. package/dist/collection/components/sd-popup/sd-popup.js +11 -7
  87. package/dist/collection/components/sd-portal/sd-portal.js +35 -14
  88. package/dist/collection/components/sd-radio/sd-radio.js +11 -6
  89. package/dist/collection/components/sd-radio-button/sd-radio-button.js +13 -7
  90. package/dist/collection/components/sd-radio-group/sd-radio-group.js +13 -7
  91. package/dist/collection/components/sd-select/sd-select-list-item/sd-select-list-item.js +16 -9
  92. package/dist/collection/components/sd-select/sd-select-list-item-search/sd-select-list-item-search.js +12 -8
  93. package/dist/collection/components/sd-select/sd-select-listbox/sd-select-listbox.js +22 -12
  94. package/dist/collection/components/sd-select/sd-select-trigger/sd-select-trigger.js +18 -10
  95. package/dist/collection/components/sd-select/sd-select.js +62 -33
  96. package/dist/collection/components/sd-switch/sd-switch.js +9 -5
  97. package/dist/collection/components/sd-table/sd-table.js +76 -41
  98. package/dist/collection/components/sd-table/sd-table.stories.helpers.js +97 -0
  99. package/dist/collection/components/sd-table/sd-tbody/sd-tbody.js +4 -3
  100. package/dist/collection/components/sd-table/sd-td/sd-td.js +19 -10
  101. package/dist/collection/components/sd-table/sd-thead/sd-thead.css +21 -0
  102. package/dist/collection/components/sd-table/sd-thead/sd-thead.js +113 -20
  103. package/dist/collection/components/sd-table/sd-tr/sd-tr.js +22 -11
  104. package/dist/collection/components/sd-tabs/sd-tabs.js +13 -7
  105. package/dist/collection/components/sd-tag/sd-tag.js +10 -7
  106. package/dist/collection/components/sd-text-link/sd-text-link.js +21 -12
  107. package/dist/collection/components/sd-textarea/sd-textarea.js +69 -35
  108. package/dist/collection/components/sd-toast/sd-toast.js +20 -11
  109. package/dist/collection/components/sd-toast-container/sd-toast-container.js +19 -10
  110. package/dist/collection/components/sd-toggle/sd-toggle.js +9 -5
  111. package/dist/collection/components/sd-tooltip/sd-tooltip.js +30 -16
  112. package/dist/components/index.js +1 -1
  113. package/dist/components/{p-CUR9smP5.js → p-58DLP3IW.js} +1 -1
  114. package/dist/components/{p-CQozoo2-.js → p-B-Igud6n.js} +1 -1
  115. package/dist/components/{p-BZfVV3gu.js → p-B0myARGe.js} +1 -1
  116. package/dist/components/{p-CTPImLDQ.js → p-B12iH3Zk.js} +1 -1
  117. package/dist/components/{p-CoqA9KgU.js → p-B2bF2KlS.js} +1 -1
  118. package/dist/components/{p-MJG6EZeP.js → p-BFlmHQm9.js} +1 -1
  119. package/dist/{design-system/p-L_He_WSA.js → components/p-BRmilX-4.js} +1 -1
  120. package/dist/components/{p-Dl89_4C3.js → p-BXRgi3NZ.js} +1 -1
  121. package/dist/components/{p-BjcGzaFR.js → p-Bm3NWPaP.js} +1 -1
  122. package/dist/components/p-BpQwjSB8.js +1 -0
  123. package/dist/components/{p-CRwvv7YM.js → p-BpjmheLG.js} +1 -1
  124. package/dist/components/{p-5imde6N9.js → p-Bric-SEs.js} +1 -1
  125. package/dist/components/{p-CB2A3pJ5.js → p-BwTsP0Ak.js} +1 -1
  126. package/dist/components/{p-9Z-q6kKD.js → p-C1QezE7u.js} +1 -1
  127. package/dist/components/p-CCCwPJ5p.js +1 -0
  128. package/dist/components/p-CCO1WtEj.js +1 -0
  129. package/dist/components/p-CEKu7cxA.js +1 -0
  130. package/dist/components/{p-CrT06Uwc.js → p-CHxVi6l1.js} +1 -1
  131. package/dist/components/{p-DNnI3Nru.js → p-Cdzn78dP.js} +1 -1
  132. package/dist/components/p-Cj_1bYZF.js +1 -0
  133. package/dist/components/{p-ZvI5A-_t.js → p-Cjf8PHEl.js} +1 -1
  134. package/dist/components/{p-CJ69QmR3.js → p-Co2ThnbG.js} +1 -1
  135. package/dist/components/{p-gOIeNT-Z.js → p-CwSlRPMm.js} +1 -1
  136. package/dist/components/p-D7StBSjK.js +1 -0
  137. package/dist/components/{p-Bz93hWXV.js → p-DFbj6d3L.js} +1 -1
  138. package/dist/components/{p-B5bya7Gp.js → p-DlXBFtBO.js} +1 -1
  139. package/dist/components/{p-Rwc_ltPn.js → p-Du_qPqW-.js} +1 -1
  140. package/dist/components/{p-DIlNesBH.js → p-DzAvlr8W.js} +1 -1
  141. package/dist/components/{p-D99vy8Ip.js → p-FrqOl9KZ.js} +1 -1
  142. package/dist/components/{p-uSEbiD29.js → p-JMuxVcTW.js} +1 -1
  143. package/dist/components/{p-DertIGhs.js → p-OjchKJGr.js} +1 -1
  144. package/dist/components/p-S2-XqY2R.js +1 -0
  145. package/dist/components/{p-DDAA-zcg.js → p-YCGkwgiM.js} +1 -1
  146. package/dist/components/{p-DZTxHJlP.js → p-ZvP2Ce6J.js} +1 -1
  147. package/dist/components/p-kRH2GOb0.js +1 -0
  148. package/dist/components/{p-FTvXz0-a.js → p-mcMbSkii.js} +1 -1
  149. package/dist/components/{p-BiBLp9_a.js → p-vPS2GNz3.js} +1 -1
  150. package/dist/components/sd-action-modal.js +1 -1
  151. package/dist/components/sd-badge.js +1 -1
  152. package/dist/components/sd-barcode-input.js +1 -1
  153. package/dist/components/sd-button.js +1 -1
  154. package/dist/components/sd-calendar.js +1 -1
  155. package/dist/components/sd-callout.js +1 -1
  156. package/dist/components/sd-card.js +1 -1
  157. package/dist/components/sd-checkbox.js +1 -1
  158. package/dist/components/sd-chip-input.js +1 -1
  159. package/dist/components/sd-chip.js +1 -1
  160. package/dist/components/sd-circle-progress.js +1 -1
  161. package/dist/components/sd-confirm-modal.js +1 -1
  162. package/dist/components/sd-date-box.js +1 -1
  163. package/dist/components/sd-date-picker-trigger.js +1 -1
  164. package/dist/components/sd-date-picker.js +1 -1
  165. package/dist/components/sd-date-range-picker-calendar.js +1 -1
  166. package/dist/components/sd-date-range-picker.js +1 -1
  167. package/dist/components/sd-divider.js +1 -1
  168. package/dist/components/sd-dropdown-button.js +1 -1
  169. package/dist/components/sd-field.js +1 -1
  170. package/dist/components/sd-file-picker.js +1 -1
  171. package/dist/components/sd-floating-portal.js +1 -1
  172. package/dist/components/sd-form.js +1 -1
  173. package/dist/components/sd-ghost-button.js +1 -1
  174. package/dist/components/sd-guide.js +1 -1
  175. package/dist/components/sd-icon.js +1 -1
  176. package/dist/components/sd-input.js +1 -1
  177. package/dist/components/sd-key-value-table.js +1 -1
  178. package/dist/components/sd-linear-progress.js +1 -1
  179. package/dist/components/sd-loading-container.js +1 -1
  180. package/dist/components/sd-loading-modal.js +1 -1
  181. package/dist/components/sd-modal-container.js +1 -1
  182. package/dist/components/sd-number-input.js +1 -1
  183. package/dist/components/sd-pagination.js +1 -1
  184. package/dist/components/sd-popover.js +1 -1
  185. package/dist/components/sd-popup.js +1 -1
  186. package/dist/components/sd-portal.js +1 -1
  187. package/dist/components/sd-radio-button.js +1 -1
  188. package/dist/components/sd-radio-group.js +1 -1
  189. package/dist/components/sd-radio.js +1 -1
  190. package/dist/components/sd-select-list-item-search.js +1 -1
  191. package/dist/components/sd-select-list-item.js +1 -1
  192. package/dist/components/sd-select-listbox.js +1 -1
  193. package/dist/components/sd-select-trigger.js +1 -1
  194. package/dist/components/sd-select.js +1 -1
  195. package/dist/components/sd-switch.js +1 -1
  196. package/dist/components/sd-table.js +1 -1
  197. package/dist/components/sd-tabs.js +1 -1
  198. package/dist/components/sd-tag.js +1 -1
  199. package/dist/components/sd-tbody.js +1 -1
  200. package/dist/components/sd-td.js +1 -1
  201. package/dist/components/sd-text-link.js +1 -1
  202. package/dist/components/sd-textarea.js +1 -1
  203. package/dist/components/sd-thead.js +1 -1
  204. package/dist/components/sd-toast-container.js +1 -1
  205. package/dist/components/sd-toast.js +1 -1
  206. package/dist/components/sd-toggle.js +1 -1
  207. package/dist/components/sd-tooltip.js +1 -1
  208. package/dist/components/sd-tr.js +1 -1
  209. package/dist/design-system/design-system.css +1 -1
  210. package/dist/design-system/design-system.esm.js +1 -1
  211. package/dist/design-system/p-14447dd5.entry.js +1 -0
  212. package/dist/design-system/{p-e9d1dbb5.entry.js → p-274dbc65.entry.js} +1 -1
  213. package/dist/design-system/{p-b291baab.entry.js → p-2ba0b35a.entry.js} +1 -1
  214. package/dist/design-system/{p-52f551a1.entry.js → p-2ca4902b.entry.js} +1 -1
  215. package/dist/design-system/p-2df32f8c.entry.js +1 -0
  216. package/dist/design-system/{p-cb80327c.entry.js → p-35da166a.entry.js} +1 -1
  217. package/dist/design-system/p-35e1e2fa.entry.js +1 -0
  218. package/dist/design-system/p-4bbc894b.entry.js +1 -0
  219. package/dist/design-system/{p-6ce68bf2.entry.js → p-4bc0ce52.entry.js} +1 -1
  220. package/dist/design-system/p-4c1559c8.entry.js +1 -0
  221. package/dist/design-system/{p-da4e2674.entry.js → p-4eeca0cb.entry.js} +1 -1
  222. package/dist/design-system/{p-646a7830.entry.js → p-4f69fde0.entry.js} +1 -1
  223. package/dist/design-system/{p-ccf1a3fc.entry.js → p-50b5cf37.entry.js} +1 -1
  224. package/dist/design-system/p-52e88677.entry.js +1 -0
  225. package/dist/design-system/{p-4acfc5f9.entry.js → p-552acf98.entry.js} +1 -1
  226. package/dist/design-system/{p-23006577.entry.js → p-563a8242.entry.js} +1 -1
  227. package/dist/design-system/{p-e3990243.entry.js → p-68687503.entry.js} +1 -1
  228. package/dist/design-system/{p-1f3c1cca.entry.js → p-6d8a4a23.entry.js} +1 -1
  229. package/dist/design-system/{p-d5032f31.entry.js → p-7c507d39.entry.js} +1 -1
  230. package/dist/design-system/{p-717eba5f.entry.js → p-88926a42.entry.js} +1 -1
  231. package/dist/design-system/{p-35d390f1.entry.js → p-90436be8.entry.js} +1 -1
  232. package/dist/design-system/{p-9289eb14.entry.js → p-99f33027.entry.js} +1 -1
  233. package/dist/design-system/{p-c47198fc.entry.js → p-9a010c12.entry.js} +1 -1
  234. package/dist/design-system/{p-54853a2b.entry.js → p-9dc0c2f9.entry.js} +1 -1
  235. package/dist/{components/p-Bg9XySrz.js → design-system/p-C7HJ-NfO.js} +2 -1
  236. package/dist/{components/p-0VCXAYrh.js → design-system/p-DUyBmuH_.js} +1 -1
  237. package/dist/design-system/{p-d5c3bac9.entry.js → p-a71a8b31.entry.js} +1 -1
  238. package/dist/design-system/{p-a4331364.entry.js → p-a80cc067.entry.js} +1 -1
  239. package/dist/design-system/{p-ae344950.entry.js → p-abcc9367.entry.js} +1 -1
  240. package/dist/design-system/p-ac81b46e.entry.js +1 -0
  241. package/dist/design-system/{p-08343698.entry.js → p-b881bbb6.entry.js} +1 -1
  242. package/dist/design-system/{p-2151e081.entry.js → p-bfba449b.entry.js} +1 -1
  243. package/dist/design-system/p-c684cd96.entry.js +1 -0
  244. package/dist/design-system/{p-b63b8df9.entry.js → p-c93c623f.entry.js} +1 -1
  245. package/dist/design-system/{p-98e0b332.entry.js → p-ccc85130.entry.js} +1 -1
  246. package/dist/design-system/{p-aa1c6202.entry.js → p-ce5df7ef.entry.js} +1 -1
  247. package/dist/design-system/{p-adfddf3b.entry.js → p-ce83eca1.entry.js} +1 -1
  248. package/dist/design-system/{p-7ed8c8f1.entry.js → p-d5b535ad.entry.js} +1 -1
  249. package/dist/design-system/{p-df7c721d.entry.js → p-e310f188.entry.js} +1 -1
  250. package/dist/design-system/p-e7d4b78e.entry.js +1 -0
  251. package/dist/design-system/{p-bdb7492c.entry.js → p-fc65bbe2.entry.js} +1 -1
  252. package/dist/design-system/{p-a5a586da.entry.js → p-ff726fad.entry.js} +1 -1
  253. package/dist/esm/design-system.js +3 -3
  254. package/dist/esm/{index-CAxodB5I.js → index-C7HJ-NfO.js} +1 -1
  255. package/dist/esm/loader.js +3 -3
  256. package/dist/esm/sd-action-modal.entry.js +8 -2
  257. package/dist/esm/sd-badge.entry.js +3 -2
  258. package/dist/esm/sd-barcode-input.entry.js +35 -2
  259. package/dist/esm/sd-button_2.entry.js +16 -7
  260. package/dist/esm/sd-calendar_2.entry.js +17 -6
  261. package/dist/esm/sd-callout.entry.js +4 -2
  262. package/dist/esm/sd-card.entry.js +4 -2
  263. package/dist/esm/sd-checkbox.entry.js +21 -12
  264. package/dist/esm/sd-chip-input.entry.js +76 -18
  265. package/dist/esm/sd-chip.entry.js +19 -2
  266. package/dist/esm/sd-circle-progress.entry.js +6 -2
  267. package/dist/esm/sd-confirm-modal_2.entry.js +27 -4
  268. package/dist/esm/sd-date-box.entry.js +13 -3
  269. package/dist/esm/sd-date-picker_7.entry.js +209 -13
  270. package/dist/esm/sd-date-range-picker-calendar.entry.js +7 -2
  271. package/dist/esm/sd-divider.entry.js +1 -1
  272. package/dist/esm/sd-dropdown-button.entry.js +11 -1
  273. package/dist/esm/sd-field_3.entry.js +70 -12
  274. package/dist/esm/sd-form.entry.js +10 -2
  275. package/dist/esm/sd-ghost-button_3.entry.js +54 -15
  276. package/dist/esm/sd-guide.entry.js +9 -3
  277. package/dist/esm/sd-key-value-table.entry.js +3 -1
  278. package/dist/esm/sd-linear-progress.entry.js +7 -4
  279. package/dist/esm/sd-loading-container.entry.js +5 -3
  280. package/dist/esm/sd-modal-container.entry.js +7 -1
  281. package/dist/esm/sd-pagination_4.entry.js +121 -13
  282. package/dist/esm/sd-popover.entry.js +21 -5
  283. package/dist/esm/sd-popup.entry.js +7 -3
  284. package/dist/esm/sd-radio-button.entry.js +8 -2
  285. package/dist/esm/sd-radio.entry.js +7 -2
  286. package/dist/esm/sd-select-list-item_2.entry.js +18 -7
  287. package/dist/esm/sd-select_3.entry.js +56 -9
  288. package/dist/esm/sd-switch.entry.js +6 -2
  289. package/dist/esm/sd-table.entry.js +42 -7
  290. package/dist/esm/sd-tabs.entry.js +8 -2
  291. package/dist/esm/sd-td.entry.js +11 -2
  292. package/dist/esm/sd-text-link.entry.js +13 -4
  293. package/dist/esm/sd-toast-container.entry.js +11 -2
  294. package/dist/esm/sd-toast.entry.js +12 -3
  295. package/dist/esm/sd-toggle.entry.js +6 -2
  296. package/dist/esm/{tooltipArrow-DLr6VvUK.js → tooltipArrow-Bgf3crs7.js} +1 -1
  297. package/dist/types/components/sd-action-modal/sd-action-modal.d.ts +6 -0
  298. package/dist/types/components/sd-badge/sd-badge.d.ts +1 -0
  299. package/dist/types/components/sd-barcode-input/sd-barcode-input.d.ts +33 -0
  300. package/dist/types/components/sd-button/sd-button.d.ts +8 -0
  301. package/dist/types/components/sd-calendar/sd-calendar.d.ts +6 -0
  302. package/dist/types/components/sd-callout/sd-callout.d.ts +2 -0
  303. package/dist/types/components/sd-card/sd-card.d.ts +2 -0
  304. package/dist/types/components/sd-checkbox/sd-checkbox.config.d.ts +2 -0
  305. package/dist/types/components/sd-chip/sd-chip.d.ts +17 -0
  306. package/dist/types/components/sd-chip-input/sd-chip-input.d.ts +33 -0
  307. package/dist/types/components/sd-circle-progress/sd-circle-progress.d.ts +4 -0
  308. package/dist/types/components/sd-confirm-modal/sd-confirm-modal.d.ts +15 -0
  309. package/dist/types/components/sd-date-box/sd-date-box.d.ts +10 -0
  310. package/dist/types/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.d.ts +5 -0
  311. package/dist/types/components/sd-date-picker/sd-date-picker.d.ts +23 -0
  312. package/dist/types/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.d.ts +5 -0
  313. package/dist/types/components/sd-date-range-picker/sd-date-range-picker.d.ts +24 -0
  314. package/dist/types/components/sd-dropdown-button/sd-dropdown-button.d.ts +10 -0
  315. package/dist/types/components/sd-field/sd-field.d.ts +23 -0
  316. package/dist/types/components/sd-file-picker/sd-file-picker.d.ts +30 -0
  317. package/dist/types/components/sd-floating-portal/sd-floating-portal.d.ts +12 -0
  318. package/dist/types/components/sd-form/sd-form.d.ts +8 -0
  319. package/dist/types/components/sd-ghost-button/sd-ghost-button.d.ts +7 -0
  320. package/dist/types/components/sd-guide/sd-guide.d.ts +6 -0
  321. package/dist/types/components/sd-icon/sd-icon.d.ts +1 -0
  322. package/dist/types/components/sd-input/sd-input.d.ts +40 -0
  323. package/dist/types/components/sd-key-value-table/sd-key-value-table.d.ts +2 -0
  324. package/dist/types/components/sd-linear-progress/sd-linear-progress.d.ts +4 -0
  325. package/dist/types/components/sd-loading-container/sd-loading-container.d.ts +2 -0
  326. package/dist/types/components/sd-loading-modal/sd-loading-modal.d.ts +8 -0
  327. package/dist/types/components/sd-modal-container/sd-modal-container.d.ts +6 -0
  328. package/dist/types/components/sd-number-input/sd-number-input.d.ts +39 -0
  329. package/dist/types/components/sd-pagination/sd-pagination.d.ts +4 -0
  330. package/dist/types/components/sd-popover/sd-popover.d.ts +16 -0
  331. package/dist/types/components/sd-popup/sd-popup.d.ts +5 -0
  332. package/dist/types/components/sd-portal/sd-portal.d.ts +13 -0
  333. package/dist/types/components/sd-radio/sd-radio.d.ts +5 -0
  334. package/dist/types/components/sd-radio-button/sd-radio-button.d.ts +6 -0
  335. package/dist/types/components/sd-radio-group/sd-radio-group.d.ts +6 -0
  336. package/dist/types/components/sd-select/sd-select-list-item/sd-select-list-item.d.ts +7 -0
  337. package/dist/types/components/sd-select/sd-select-list-item-search/sd-select-list-item-search.d.ts +4 -0
  338. package/dist/types/components/sd-select/sd-select-listbox/sd-select-listbox.d.ts +10 -0
  339. package/dist/types/components/sd-select/sd-select-trigger/sd-select-trigger.d.ts +8 -0
  340. package/dist/types/components/sd-select/sd-select.d.ts +29 -0
  341. package/dist/types/components/sd-switch/sd-switch.d.ts +4 -0
  342. package/dist/types/components/sd-table/constants.d.ts +1 -0
  343. package/dist/types/components/sd-table/sd-table.d.ts +35 -0
  344. package/dist/types/components/sd-table/sd-table.stories.helpers.d.ts +10 -0
  345. package/dist/types/components/sd-table/sd-tbody/sd-tbody.d.ts +1 -0
  346. package/dist/types/components/sd-table/sd-td/sd-td.d.ts +9 -0
  347. package/dist/types/components/sd-table/sd-thead/sd-thead.d.ts +21 -0
  348. package/dist/types/components/sd-table/sd-tr/sd-tr.d.ts +11 -0
  349. package/dist/types/components/sd-tabs/sd-tabs.d.ts +6 -0
  350. package/dist/types/components/sd-tag/sd-tag.d.ts +4 -0
  351. package/dist/types/components/sd-text-link/sd-text-link.d.ts +9 -0
  352. package/dist/types/components/sd-textarea/sd-textarea.d.ts +34 -0
  353. package/dist/types/components/sd-toast/sd-toast.d.ts +9 -0
  354. package/dist/types/components/sd-toast-container/sd-toast-container.d.ts +9 -0
  355. package/dist/types/components/sd-toggle/sd-toggle.d.ts +4 -0
  356. package/dist/types/components/sd-tooltip/sd-tooltip.d.ts +14 -0
  357. package/dist/types/components.d.ts +1827 -7
  358. package/hydrate/index.js +949 -146
  359. package/hydrate/index.mjs +949 -146
  360. package/package.json +1 -1
  361. package/dist/components/p-B7PHGGFH.js +0 -1
  362. package/dist/components/p-CLlAhEDc.js +0 -1
  363. package/dist/components/p-CXeOxSQ-.js +0 -1
  364. package/dist/components/p-CZfsknba.js +0 -1
  365. package/dist/components/p-CvSqieCH.js +0 -1
  366. package/dist/components/p-P2jWtk8J.js +0 -1
  367. package/dist/components/p-xkRWGISE.js +0 -1
  368. package/dist/design-system/p-17dcf0e4.entry.js +0 -1
  369. package/dist/design-system/p-316b8a08.entry.js +0 -1
  370. package/dist/design-system/p-5039241c.entry.js +0 -1
  371. package/dist/design-system/p-5eaa12af.entry.js +0 -1
  372. package/dist/design-system/p-9c38ee79.entry.js +0 -1
  373. package/dist/design-system/p-CAxodB5I.js +0 -2
  374. package/dist/design-system/p-c995e6c3.entry.js +0 -1
  375. package/dist/design-system/p-eef6d4a3.entry.js +0 -1
  376. package/dist/design-system/p-faf7b64c.entry.js +0 -1
  377. package/dist/design-system/p-fd7abbfa.entry.js +0 -1
package/hydrate/index.js CHANGED
@@ -136,7 +136,7 @@ var node_crypto = require('node:crypto');
136
136
  const NAMESPACE = 'design-system';
137
137
  const BUILD = /* design-system */ { hotModuleReplacement: false, hydratedSelectorName: "hydrated", slotRelocation: true, state: true, updatable: true};
138
138
 
139
- const globalStyles = ":root{--color-primary:#051D36;--sd-primary:#051D36;--color-secondary:#555555;--sd-secondary:#555555;--color-accent:#9C27B0;--sd-accent:#9C27B0;--color-positive:#0075FF;--sd-positive:#0075FF;--color-negative:#E30000;--sd-negative:#E30000;--color-info:#00CD52;--sd-info:#00CD52;--color-warning:#F2C037;--sd-warning:#F2C037;--color-caution_bg:#FEF1F1;--sd-caution_bg:#FEF1F1;--color-caution_icon:#FD9595;--sd-caution_icon:#FD9595;--color-header_alert:#FF7A00;--sd-header_alert:#FF7A00;--color-white:#FFFFFF;--sd-white:#FFFFFF;--color-black:#000000;--sd-black:#000000;--color-grey_10:#F6F6F6;--sd-grey_10:#F6F6F6;--color-grey_20:#EEEEEE;--sd-grey_20:#EEEEEE;--color-grey_25:#E5E5E5;--sd-grey_25:#E5E5E5;--color-grey_30:#E1E1E1;--sd-grey_30:#E1E1E1;--color-grey_35:#D8D8D8;--sd-grey_35:#D8D8D8;--color-grey_45:#CCCCCC;--sd-grey_45:#CCCCCC;--color-grey_50:#BBBBBB;--sd-grey_50:#BBBBBB;--color-grey_55:#AAAAAA;--sd-grey_55:#AAAAAA;--color-grey_60:#999999;--sd-grey_60:#999999;--color-grey_65:#888888;--sd-grey_65:#888888;--color-grey_70:#737373;--sd-grey_70:#737373;--color-grey_80:#555555;--sd-grey_80:#555555;--color-grey_85:#444444;--sd-grey_85:#444444;--color-grey_90:#333333;--sd-grey_90:#333333;--color-grey_95:#222222;--sd-grey_95:#222222;--color-grey_05:#F9F9F9;--sd-grey_05:#F9F9F9;--color-red_15:#FCEFEF;--sd-red_15:#FCEFEF;--color-red_20:#FCE6E6;--sd-red_20:#FCE6E6;--color-red_30:#FFD3D3;--sd-red_30:#FFD3D3;--color-red_45:#FFB5B5;--sd-red_45:#FFB5B5;--color-red_60:#FF7C7C;--sd-red_60:#FF7C7C;--color-red_70:#FB4444;--sd-red_70:#FB4444;--color-red_75:#E30000;--sd-red_75:#E30000;--color-red_75_006:#E30000;--sd-red_75_006:#E30000;--color-red_80:#AD0000;--sd-red_80:#AD0000;--color-red_85:#820000;--sd-red_85:#820000;--color-red_90:#5E0000;--sd-red_90:#5E0000;--color-red_95:#440000;--sd-red_95:#440000;--color-red_99:#220000;--sd-red_99:#220000;--color-orange_10:#FEF1EA;--sd-orange_10:#FEF1EA;--color-orange_20:#FFEAD7;--sd-orange_20:#FFEAD7;--color-orange_35:#FFD5AF;--sd-orange_35:#FFD5AF;--color-orange_45:#FFBC81;--sd-orange_45:#FFBC81;--color-orange_55:#FFA452;--sd-orange_55:#FFA452;--color-orange_60:#FF7F22;--sd-orange_60:#FF7F22;--color-orange_65:#FF6B00;--sd-orange_65:#FF6B00;--color-orange_75:#CE4900;--sd-orange_75:#CE4900;--color-orange_85:#9B3700;--sd-orange_85:#9B3700;--color-orange_90:#752A00;--sd-orange_90:#752A00;--color-orange_95:#4D1B00;--sd-orange_95:#4D1B00;--color-orange_99:#2F1100;--sd-orange_99:#2F1100;--color-yellow_10:#FFF7DD;--sd-yellow_10:#FFF7DD;--color-yellow_20:#FEF1C4;--sd-yellow_20:#FEF1C4;--color-yellow_25:#FFE99E;--sd-yellow_25:#FFE99E;--color-yellow_30:#FEE17C;--sd-yellow_30:#FEE17C;--color-yellow_40:#FFD643;--sd-yellow_40:#FFD643;--color-yellow_45:#FFC700;--sd-yellow_45:#FFC700;--color-yellow_50:#EBB110;--sd-yellow_50:#EBB110;--color-yellow_60:#CA9612;--sd-yellow_60:#CA9612;--color-yellow_70:#916C0D;--sd-yellow_70:#916C0D;--color-yellow_80:#6C5002;--sd-yellow_80:#6C5002;--color-yellow_90:#453602;--sd-yellow_90:#453602;--color-yellow_95:#322700;--sd-yellow_95:#322700;--color-olive_10:#FBFBBF;--sd-olive_10:#FBFBBF;--color-olive_15:#FAFAA1;--sd-olive_15:#FAFAA1;--color-olive_20:#F6F65F;--sd-olive_20:#F6F65F;--color-olive_30:#EEEE37;--sd-olive_30:#EEEE37;--color-olive_45:#DDDD12;--sd-olive_45:#DDDD12;--color-olive_55:#C7C700;--sd-olive_55:#C7C700;--color-olive_65:#A5A500;--sd-olive_65:#A5A500;--color-olive_70:#838300;--sd-olive_70:#838300;--color-olive_80:#636300;--sd-olive_80:#636300;--color-olive_90:#454500;--sd-olive_90:#454500;--color-olive_95:#2C2C00;--sd-olive_95:#2C2C00;--color-olive_05:#FEFED9;--sd-olive_05:#FEFED9;--color-green_15:#E8F9EF;--sd-green_15:#E8F9EF;--color-green_25:#D4FAE3;--sd-green_25:#D4FAE3;--color-green_45:#ACF4C9;--sd-green_45:#ACF4C9;--color-green_55:#6DE39C;--sd-green_55:#6DE39C;--color-green_65:#2BCE6C;--sd-green_65:#2BCE6C;--color-green_70:#12B553;--sd-green_70:#12B553;--color-green_75:#00973C;--sd-green_75:#00973C;--color-green_80:#007B31;--sd-green_80:#007B31;--color-green_85:#006629;--sd-green_85:#006629;--color-green_90:#00461C;--sd-green_90:#00461C;--color-green_95:#003013;--sd-green_95:#003013;--color-green_99:#001D0B;--sd-green_99:#001D0B;--color-steelblue_10:#ECF8FD;--sd-steelblue_10:#ECF8FD;--color-steelblue_25:#D9F2FD;--sd-steelblue_25:#D9F2FD;--color-steelblue_45:#A4E2FD;--sd-steelblue_45:#A4E2FD;--color-steelblue_60:#50BFF0;--sd-steelblue_60:#50BFF0;--color-steelblue_65:#229FD7;--sd-steelblue_65:#229FD7;--color-steelblue_70:#128FC7;--sd-steelblue_70:#128FC7;--color-steelblue_75:#066D9B;--sd-steelblue_75:#066D9B;--color-steelblue_80:#06587D;--sd-steelblue_80:#06587D;--color-steelblue_85:#033F59;--sd-steelblue_85:#033F59;--color-steelblue_90:#032D40;--sd-steelblue_90:#032D40;--color-steelblue_95:#02212F;--sd-steelblue_95:#02212F;--color-steelblue_99:#021A25;--sd-steelblue_99:#021A25;--color-oceanblue_15:#EAF5FE;--sd-oceanblue_15:#EAF5FE;--color-oceanblue_25:#D5EBFE;--sd-oceanblue_25:#D5EBFE;--color-oceanblue_50:#9CD1FC;--sd-oceanblue_50:#9CD1FC;--color-oceanblue_60:#5CB0F3;--sd-oceanblue_60:#5CB0F3;--color-oceanblue_65:#1F8AE1;--sd-oceanblue_65:#1F8AE1;--color-oceanblue_70:#006AC1;--sd-oceanblue_70:#006AC1;--color-oceanblue_75:#025497;--sd-oceanblue_75:#025497;--color-oceanblue_80:#004177;--sd-oceanblue_80:#004177;--color-oceanblue_85:#07284A;--sd-oceanblue_85:#07284A;--color-oceanblue_90:#051D36;--sd-oceanblue_90:#051D36;--color-oceanblue_95:#03172D;--sd-oceanblue_95:#03172D;--color-oceanblue_99:#011428;--sd-oceanblue_99:#011428;--color-brilliantblue_10:#EFF6FF;--sd-brilliantblue_10:#EFF6FF;--color-brilliantblue_20:#E6F1FF;--sd-brilliantblue_20:#E6F1FF;--color-brilliantblue_25:#D9EAFF;--sd-brilliantblue_25:#D9EAFF;--color-brilliantblue_40:#BBDAFF;--sd-brilliantblue_40:#BBDAFF;--color-brilliantblue_50:#93C4FF;--sd-brilliantblue_50:#93C4FF;--color-brilliantblue_60:#64ABFF;--sd-brilliantblue_60:#64ABFF;--color-brilliantblue_70:#2D8DFF;--sd-brilliantblue_70:#2D8DFF;--color-brilliantblue_75:#0075FF;--sd-brilliantblue_75:#0075FF;--color-brilliantblue_80:#005CC9;--sd-brilliantblue_80:#005CC9;--color-brilliantblue_85:#004290;--sd-brilliantblue_85:#004290;--color-brilliantblue_90:#002B5E;--sd-brilliantblue_90:#002B5E;--color-brilliantblue_95:#001B39;--sd-brilliantblue_95:#001B39;--color-brilliantblue_99:#001226;--sd-brilliantblue_99:#001226;--color-brilliantblue_05:#F5FAFF;--sd-brilliantblue_05:#F5FAFF;--sd-system-typography-control-xs-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-xs-default-font-size:12px;--sd-system-typography-control-xs-default-font-weight:400;--sd-system-typography-control-xs-default-text-decoration:none;--sd-system-typography-control-xs-default-line-height:20px;--sd-system-typography-control-xs-medium-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-xs-medium-font-size:12px;--sd-system-typography-control-xs-medium-font-weight:500;--sd-system-typography-control-xs-medium-text-decoration:none;--sd-system-typography-control-xs-medium-line-height:20px;--sd-system-typography-control-xs-underline-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-xs-underline-font-size:12px;--sd-system-typography-control-xs-underline-font-weight:500;--sd-system-typography-control-xs-underline-text-decoration:underline;--sd-system-typography-control-xs-underline-line-height:20px;--sd-system-typography-control-xs-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-xs-bold-font-weight:700;--sd-system-typography-control-xs-bold-font-size:12px;--sd-system-typography-control-xs-bold-line-height:20px;--sd-system-typography-control-xs-bold-text-decoration:none;--sd-system-typography-control-sm-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-sm-default-font-size:14px;--sd-system-typography-control-sm-default-font-weight:500;--sd-system-typography-control-sm-default-text-decoration:none;--sd-system-typography-control-sm-default-line-height:24px;--sd-system-typography-control-sm-underline-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-sm-underline-font-size:14px;--sd-system-typography-control-sm-underline-font-weight:500;--sd-system-typography-control-sm-underline-text-decoration:underline;--sd-system-typography-control-sm-underline-line-height:24px;--sd-system-typography-control-md-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-md-default-font-size:16px;--sd-system-typography-control-md-default-font-weight:500;--sd-system-typography-control-md-default-text-decoration:none;--sd-system-typography-control-md-default-line-height:26px;--sd-system-typography-control-md-underline-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-md-underline-font-size:16px;--sd-system-typography-control-md-underline-font-weight:500;--sd-system-typography-control-md-underline-text-decoration:underline;--sd-system-typography-control-md-underline-line-height:26px;--sd-system-typography-control-lg-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-lg-font-size:18px;--sd-system-typography-control-lg-font-weight:500;--sd-system-typography-control-lg-text-decoration:none;--sd-system-typography-control-lg-line-height:30px;--sd-system-typography-feedback-xs-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-feedback-xs-font-size:11px;--sd-system-typography-feedback-xs-font-weight:500;--sd-system-typography-feedback-xs-line-height:18px;--sd-system-typography-feedback-xs-text-decoration:none;--sd-system-typography-feedback-sm-regular-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-feedback-sm-regular-font-size:12px;--sd-system-typography-feedback-sm-regular-font-weight:400;--sd-system-typography-feedback-sm-regular-line-height:20px;--sd-system-typography-feedback-sm-regular-text-decoration:none;--sd-system-typography-feedback-sm-medium-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-feedback-sm-medium-font-size:12px;--sd-system-typography-feedback-sm-medium-font-weight:500;--sd-system-typography-feedback-sm-medium-line-height:20px;--sd-system-typography-feedback-sm-medium-text-decoration:none;--sd-system-typography-feedback-sm-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-feedback-sm-bold-font-size:12px;--sd-system-typography-feedback-sm-bold-font-weight:700;--sd-system-typography-feedback-sm-bold-text-decoration:none;--sd-system-typography-feedback-sm-bold-line-height:20px;--sd-system-typography-feedback-sm-underline-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-feedback-sm-underline-font-size:12px;--sd-system-typography-feedback-sm-underline-font-weight:500;--sd-system-typography-feedback-sm-underline-line-height:20px;--sd-system-typography-feedback-sm-underline-text-decoration:underline;--sd-system-typography-feedback-md-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-feedback-md-bold-font-size:14px;--sd-system-typography-feedback-md-bold-font-weight:700;--sd-system-typography-feedback-md-bold-line-height:24px;--sd-system-typography-feedback-md-bold-text-decoration:none;--sd-system-typography-feedback-md-medium-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-feedback-md-medium-font-size:14px;--sd-system-typography-feedback-md-medium-font-weight:500;--sd-system-typography-feedback-md-medium-line-height:24px;--sd-system-typography-feedback-md-medium-text-decoration:none;--sd-system-typography-feedback-md-underline-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-feedback-md-underline-font-size:14px;--sd-system-typography-feedback-md-underline-font-weight:700;--sd-system-typography-feedback-md-underline-line-height:24px;--sd-system-typography-feedback-md-underline-text-decoration:underline;--sd-system-typography-heading-sm-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-heading-sm-font-weight:700;--sd-system-typography-heading-sm-font-size:14px;--sd-system-typography-heading-sm-line-height:24px;--sd-system-typography-heading-sm-text-decoration:none;--sd-system-typography-heading-md-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-heading-md-font-weight:700;--sd-system-typography-heading-md-font-size:16px;--sd-system-typography-heading-md-text-decoration:none;--sd-system-typography-heading-md-line-height:26px;--sd-system-typography-heading-lg-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-heading-lg-font-weight:700;--sd-system-typography-heading-lg-font-size:18px;--sd-system-typography-heading-lg-line-height:30px;--sd-system-typography-heading-lg-text-decoration:none;--sd-system-typography-field-xs-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-xs-default-font-weight:400;--sd-system-typography-field-xs-default-font-size:11px;--sd-system-typography-field-xs-default-line-height:18px;--sd-system-typography-field-xs-default-text-decoration:none;--sd-system-typography-field-sm-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-sm-default-font-weight:400;--sd-system-typography-field-sm-default-font-size:12px;--sd-system-typography-field-sm-default-line-height:20px;--sd-system-typography-field-sm-default-text-decoration:none;--sd-system-typography-field-sm-medium-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-sm-medium-font-weight:500;--sd-system-typography-field-sm-medium-font-size:12px;--sd-system-typography-field-sm-medium-text-decoration:none;--sd-system-typography-field-sm-medium-line-height:20px;--sd-system-typography-field-sm-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-sm-bold-font-weight:700;--sd-system-typography-field-sm-bold-font-size:12px;--sd-system-typography-field-sm-bold-text-decoration:none;--sd-system-typography-field-sm-bold-line-height:20px;--sd-system-typography-field-md-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-md-default-font-weight:400;--sd-system-typography-field-md-default-font-size:14px;--sd-system-typography-field-md-default-text-decoration:none;--sd-system-typography-field-md-default-line-height:24px;--sd-system-typography-field-md-medium-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-md-medium-font-weight:500;--sd-system-typography-field-md-medium-font-size:14px;--sd-system-typography-field-md-medium-text-decoration:none;--sd-system-typography-field-md-medium-line-height:24px;--sd-system-typography-field-md-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-md-bold-font-weight:700;--sd-system-typography-field-md-bold-font-size:14px;--sd-system-typography-field-md-bold-text-decoration:none;--sd-system-typography-field-md-bold-line-height:24px;--sd-system-typography-field-lg-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-lg-default-font-weight:400;--sd-system-typography-field-lg-default-font-size:16px;--sd-system-typography-field-lg-default-line-height:26px;--sd-system-typography-field-lg-default-text-decoration:none;--sd-system-typography-field-lg-medium-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-lg-medium-font-weight:500;--sd-system-typography-field-lg-medium-font-size:16px;--sd-system-typography-field-lg-medium-line-height:26px;--sd-system-typography-field-lg-medium-text-decoration:none;--sd-system-typography-field-lg-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-lg-bold-font-weight:700;--sd-system-typography-field-lg-bold-font-size:16px;--sd-system-typography-field-lg-bold-line-height:26px;--sd-system-typography-field-lg-bold-text-decoration:none;--sd-system-typography-navigation-sm-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-navigation-sm-default-font-weight:400;--sd-system-typography-navigation-sm-default-font-size:12px;--sd-system-typography-navigation-sm-default-line-height:20px;--sd-system-typography-navigation-sm-default-text-decoration:none;--sd-system-typography-navigation-sm-medium-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-navigation-sm-medium-font-weight:500;--sd-system-typography-navigation-sm-medium-font-size:12px;--sd-system-typography-navigation-sm-medium-line-height:20px;--sd-system-typography-navigation-sm-medium-text-decoration:none;--sd-system-typography-navigation-sm-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-navigation-sm-bold-font-weight:700;--sd-system-typography-navigation-sm-bold-font-size:12px;--sd-system-typography-navigation-sm-bold-line-height:20px;--sd-system-typography-navigation-sm-bold-text-decoration:none;--sd-system-typography-navigation-md-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-navigation-md-bold-font-weight:700;--sd-system-typography-navigation-md-bold-font-size:13px;--sd-system-typography-navigation-md-bold-line-height:22px;--sd-system-typography-navigation-md-bold-text-decoration:none;--sd-system-typography-navigation-lg-medium-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-navigation-lg-medium-font-weight:500;--sd-system-typography-navigation-lg-medium-font-size:14px;--sd-system-typography-navigation-lg-medium-line-height:24px;--sd-system-typography-navigation-lg-medium-text-decoration:none;--sd-system-typography-navigation-lg-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-navigation-lg-bold-font-weight:700;--sd-system-typography-navigation-lg-bold-font-size:14px;--sd-system-typography-navigation-lg-bold-line-height:24px;--sd-system-typography-navigation-lg-bold-text-decoration:none;--sd-system-typography-table-header-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-table-header-font-weight:500;--sd-system-typography-table-header-font-size:12px;--sd-system-typography-table-header-line-height:20px;--sd-system-typography-table-header-text-decoration:none;--sd-system-typography-table-body-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-table-body-font-weight:400;--sd-system-typography-table-body-font-size:12px;--sd-system-typography-table-body-line-height:20px;--sd-system-typography-table-body-text-decoration:none;--sd-system-typography-table-accent-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-table-accent-font-weight:700;--sd-system-typography-table-accent-font-size:12px;--sd-system-typography-table-accent-line-height:20px;--sd-system-typography-table-accent-text-decoration:none;--sd-system-size-control-xs-height:24px;--sd-system-size-control-sm-height:28px;--sd-system-size-control-md-height:36px;--sd-system-size-control-lg-height:62px;--sd-system-size-icon-xxxs:8px;--sd-system-size-icon-xxs:10px;--sd-system-size-icon-xs:12px;--sd-system-size-icon-sm:16px;--sd-system-size-icon-md:20px;--sd-system-size-icon-lg:24px;--sd-system-size-icon-xl:32px;--sd-system-size-feedback-arrow-width:16px;--sd-system-size-feedback-arrow-height:12px;--sd-system-size-feedback-xs-height:20px;--sd-system-size-feedback-sm-height:24px;--sd-system-size-feedback-md-height:28px;--sd-system-size-field-control:16px;--sd-system-size-field-icon:12px;--sd-system-size-field-sm-height:28px;--sd-system-size-field-md-height:36px;--sd-system-size-navigation-lg-height:44px;--sd-system-size-navigation-md-height:36px;--sd-system-size-navigation-gnb-topbar-height:56px;--sd-system-size-table-height-xs:32px;--sd-system-size-table-height-sm:36px;--sd-system-size-table-height-md:44px;--sd-system-space-control-xs-padding-x:8px;--sd-system-space-control-xs-gap:4px;--sd-system-space-control-sm-padding-x:12px;--sd-system-space-control-sm-gap:6px;--sd-system-space-control-md-padding-x:20px;--sd-system-space-control-md-gap:8px;--sd-system-space-control-lg-padding-x:28px;--sd-system-space-control-lg-gap:12px;--sd-system-space-feedback-xs-padding-x:6px;--sd-system-space-feedback-xs-gap:4px;--sd-system-space-feedback-sm-padding-x:8px;--sd-system-space-feedback-sm-gap:6px;--sd-system-space-feedback-md-padding-x:12px;--sd-system-space-feedback-md-gap:8px;--sd-system-space-feedback-lg-padding-x:16px;--sd-system-space-feedback-lg-gap:12px;--sd-system-space-stack-gap-tight:2px;--sd-system-space-stack-gap-normal:4px;--sd-system-space-stack-gap-relaxed:8px;--sd-system-space-field-sm-padding-x:12px;--sd-system-space-field-sm-padding-y:4px;--sd-system-space-field-sm-container-gap:8px;--sd-system-space-field-sm-gap:12px;--sd-system-space-field-md-padding-x:16px;--sd-system-space-field-md-padding-y:8px;--sd-system-space-field-md-container-gap:12px;--sd-system-space-field-md-gap:16px;--sd-system-space-navigation-lg-padding-x:32px;--sd-system-space-navigation-md-padding-x:24px;--sd-system-space-table-padding-sm:8px;--sd-system-space-table-padding-md:16px;--sd-system-space-action-gap:16px;--sd-system-space-overlay-padding-x-sm:20px;--sd-system-space-overlay-padding-x-md:24px;--sd-system-space-overlay-padding-y-sm:8px;--sd-system-space-panel-gap:12px;--sd-system-radius-control-sm:4px;--sd-system-radius-control-md:6px;--sd-system-radius-feedback-xs-square:6px;--sd-system-radius-feedback-sm-square:8px;--sd-system-radius-feedback-pill:9999px;--sd-system-radius-field-sm:4px;--sd-system-radius-field-md:6px;--sd-system-radius-navigation:6px;--sd-system-border-width-control-default:1px;--sd-system-border-width-field-default:1px;--sd-system-border-width-navigation-default:1px;--sd-system-color-bg-screen:#EEEEEE;--sd-system-color-bg-frame:#FFFFFF;--sd-system-color-bg-brand:#025497;--sd-system-color-bg-subtle:#1F8AE1;--sd-system-color-bg-accent-default:#0075FF;--sd-system-color-bg-accent-light:#F5FAFF;--sd-system-color-bg-accent-light-default:#2D8DFF;--sd-system-color-bg-accent-light-light:#F5FAFF;--sd-system-color-bg-accent-bright-default:#D9EAFF;--sd-system-color-bg-accent-bright-light:#F5FAFF;--sd-system-color-bg-deep:#07284A;--sd-system-color-bg-danger-default:#E30000;--sd-system-color-bg-danger-light:#FCEFEF;--sd-system-color-bg-danger-light-default:#FB4444;--sd-system-color-bg-danger-light-light:#FCEFEF;--sd-system-color-bg-warning:#FF6B00;--sd-system-color-bg-caution:#FFC700;--sd-system-color-bg-progress:#0075FF;--sd-system-color-bg-success-default:#00973C;--sd-system-color-bg-success-light:#12B553;--sd-system-color-bg-success-light:#12B553;--sd-system-color-bg-neutral-light:#F6F6F6;--sd-system-color-bg-table-header:#F5FAFF;--sd-system-color-fg-primary:#222222;--sd-system-color-fg-secondary:#555555;--sd-system-color-fg-tertiary:#888888;--sd-system-color-fg-quaternary:#AAAAAA;--sd-system-color-fg-brand:#005CC9;--sd-system-color-fg-subtle-warm:#066D9B;--sd-system-color-fg-subtle-cool:#025497;--sd-system-color-fg-deep:#004290;--sd-system-color-fg-success:#00973C;--sd-system-color-fg-danger-light:#FB4444;--sd-system-color-fg-accent:#0075FF;--sd-system-color-fg-danger:#E30000;--sd-system-color-fg-warning:#FF6B00;--sd-system-color-fg-inverse:#FFFFFF;--sd-system-color-disabled-bg:#E1E1E1;--sd-system-color-disabled-text:#888888;--sd-system-color-disabled-icon:#BBBBBB;--sd-system-color-disabled-border:#CCCCCC;--sd-system-color-link-accent:#006AC1;--sd-system-color-divider-default:#E1E1E1;--sd-system-color-border-default:#E1E1E1;--sd-system-color-border-accent:#0075FF;--sd-system-color-border-accent-light:#93C4FF;--sd-system-color-border-danger:#FB4444;--sd-system-color-border-success:#12B553;--sd-system-color-red-strong:#FB4444;--sd-system-color-red-subtle:#FCEFEF;--sd-system-color-orange-strong:#FF6B00;--sd-system-color-orange-subtle:#FEF1EA;--sd-system-color-yellow-strong:#916C0D;--sd-system-color-yellow-moderate:#FFC700;--sd-system-color-yellow-subtle:#FFF7DD;--sd-system-color-green-strong:#00973C;--sd-system-color-green-subtle:#E8F9EF;--sd-system-color-blue-strong:#0075FF;--sd-system-color-blue-subtle:#E6F1FF;--sd-system-color-darkblue-strong:#006AC1;--sd-system-color-darkblue-subtle:#EAF5FE;--sd-system-color-indigo-strong:#004290;--sd-system-color-indigo-subtle:#EFF6FF;--sd-system-color-grey-strong:#737373;--sd-system-color-grey-subtle:#EEEEEE;--sd-system-color-field-bg-default:#FFFFFF;--sd-system-color-field-bg-hover:#0075FF;--sd-system-color-field-bg-read-only:#EEEEEE;--sd-system-color-field-border-default:#AAAAAA;--sd-system-color-field-border-focus:#0075FF;--sd-system-color-field-border-hover:#0075FF;--sd-system-color-field-border-danger:#FB4444;--sd-system-color-field-border-success:#12B553;--sd-system-color-field-text-default:#222222;--sd-system-color-field-text-placeholder:#AAAAAA;--sd-system-color-field-text-read-only:#555555;--sd-system-color-field-icon-default:#888888;--sd-system-color-control-bg-inverse-hover:#0075FF;--sd-system-color-navigation-gnb-bg-dark:#001B39;--sd-system-shadow-spread-sm-x:0px;--sd-system-shadow-spread-sm-y:0px;--sd-system-shadow-spread-sm-blur:8px;--sd-system-shadow-spread-sm-spread:0px;--sd-system-shadow-spread-sm-color:rgba(34,34,34,0.1);--sd-system-shadow-spread-sm-type:dropShadow;--sd-system-shadow-spread-md-x:0px;--sd-system-shadow-spread-md-y:0px;--sd-system-shadow-spread-md-blur:24px;--sd-system-shadow-spread-md-spread:0px;--sd-system-shadow-spread-md-color:rgba(34,34,34,0.2);--sd-system-shadow-spread-md-type:dropShadow;--sd-system-shadow-focus-x:0px;--sd-system-shadow-focus-y:0px;--sd-system-shadow-focus-blur:8px;--sd-system-shadow-focus-spread:0px;--sd-system-shadow-focus-color:rgba(0,117,255,0.25);--sd-system-shadow-focus-type:dropShadow;--sd-button-button-xs-height:24px;--sd-button-button-xs-padding-x:8px;--sd-button-button-xs-gap:4px;--sd-button-button-xs-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-button-button-xs-typography-font-size:12px;--sd-button-button-xs-typography-font-weight:500;--sd-button-button-xs-typography-text-decoration:none;--sd-button-button-xs-typography-line-height:20px;--sd-button-button-xs-icon:12px;--sd-button-button-sm-height:28px;--sd-button-button-sm-padding-x:12px;--sd-button-button-sm-gap:6px;--sd-button-button-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-button-button-sm-typography-font-size:12px;--sd-button-button-sm-typography-font-weight:500;--sd-button-button-sm-typography-text-decoration:none;--sd-button-button-sm-typography-line-height:20px;--sd-button-button-sm-icon:16px;--sd-button-button-md-height:36px;--sd-button-button-md-padding-x:20px;--sd-button-button-md-gap:8px;--sd-button-button-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-button-button-md-typography-font-size:16px;--sd-button-button-md-typography-font-weight:500;--sd-button-button-md-typography-text-decoration:none;--sd-button-button-md-typography-line-height:26px;--sd-button-button-md-icon:20px;--sd-button-button-lg-height:62px;--sd-button-button-lg-padding-x:28px;--sd-button-button-lg-gap:12px;--sd-button-button-lg-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-button-button-lg-typography-font-size:18px;--sd-button-button-lg-typography-font-weight:500;--sd-button-button-lg-typography-text-decoration:none;--sd-button-button-lg-typography-line-height:30px;--sd-button-button-lg-icon:24px;--sd-button-button-radius-sm:4px;--sd-button-button-radius-md:6px;--sd-button-button-border-width-default:1px;--sd-button-button-border-disabled:#CCCCCC;--sd-button-button-icon-only-xs-width:24px;--sd-button-button-icon-only-sm-width:28px;--sd-button-button-icon-only-md-width:36px;--sd-button-button-icon-only-lg-width:62px;--sd-button-button-bg-disabled:#E1E1E1;--sd-button-button-text-disabled:#888888;--sd-button-button-icon-disabled:#BBBBBB;--sd-button-button-brand-strong-bg-default:#025497;--sd-button-button-brand-strong-bg-hover:#004177;--sd-button-button-brand-strong-content:#FFFFFF;--sd-button-button-brand-subtle-bg-default:#1F8AE1;--sd-button-button-brand-subtle-bg-hover:#006AC1;--sd-button-button-brand-subtle-content:#FFFFFF;--sd-button-button-brand-outline-bg-default:#FFFFFF;--sd-button-button-brand-outline-bg-hover:#EAF5FE;--sd-button-button-brand-outline-border:#025497;--sd-button-button-brand-outline-content:#025497;--sd-button-button-dropdown-brand-strong-split:#006AC1;--sd-button-button-dropdown-brand-subtle-split:#5CB0F3;--sd-button-button-dropdown-danger-strong-split:#FF7C7C;--sd-button-button-dropdown-xs-arrow:12px;--sd-button-button-dropdown-xs-gap:6px;--sd-button-button-dropdown-sm-arrow:12px;--sd-button-button-dropdown-sm-gap:8px;--sd-button-button-dropdown-md-arrow:16px;--sd-button-button-dropdown-md-gap:16px;--sd-button-button-neutral-outline-bg-default:#FFFFFF;--sd-button-button-neutral-outline-bg-hover:#EEEEEE;--sd-button-button-neutral-outline-border:#888888;--sd-button-button-neutral-outline-text:#222222;--sd-button-button-neutral-outline-icon:#555555;--sd-button-button-danger-strong-bg-default:#E30000;--sd-button-button-danger-strong-bg-hover:#AD0000;--sd-button-button-danger-strong-content:#FFFFFF;--sd-button-button-danger-outline-bg-default:#FFFFFF;--sd-button-button-danger-outline-bg-hover:#FCEFEF;--sd-button-button-danger-outline-border:#E30000;--sd-button-button-danger-outline-content:#E30000;--sd-ghost-button-ghost-button-xxs-size:16px;--sd-ghost-button-ghost-button-xxs-icon:12px;--sd-ghost-button-ghost-button-xs-size:24px;--sd-ghost-button-ghost-button-xs-icon:16px;--sd-ghost-button-ghost-button-sm-size:28px;--sd-ghost-button-ghost-button-sm-icon:20px;--sd-ghost-button-ghost-button-md-size:36px;--sd-ghost-button-ghost-button-md-icon:24px;--sd-ghost-button-ghost-button-lg-size:62px;--sd-ghost-button-ghost-button-lg-icon:32px;--sd-ghost-button-ghost-button-radius-sm:4px;--sd-ghost-button-ghost-button-radius-md:6px;--sd-ghost-button-ghost-button-hover-opacity:5%;--sd-ghost-button-ghost-button-icon-disabled:#BBBBBB;--sd-ghost-button-ghost-button-default-content:#888888;--sd-ghost-button-ghost-button-default-hover-bg:#222222;--sd-ghost-button-ghost-button-danger-content:#E30000;--sd-ghost-button-ghost-button-danger-hover-bg:#E30000;--sd-ghost-button-ghost-button-action-content:#025497;--sd-ghost-button-ghost-button-action-hover-bg:#0075FF;--sd-ghost-button-ghost-button-inverse-content:#FFFFFF;--sd-ghost-button-ghost-button-inverse-disabled:#E1E1E1;--sd-ghost-button-ghost-button-inverse-hover-bg:#FFFFFF;--sd-text-link-text-link-sm-gap:4px;--sd-text-link-text-link-sm-icon:16px;--sd-text-link-text-link-sm-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-text-link-text-link-sm-typography-default-font-size:12px;--sd-text-link-text-link-sm-typography-default-font-weight:500;--sd-text-link-text-link-sm-typography-default-text-decoration:none;--sd-text-link-text-link-sm-typography-default-line-height:20px;--sd-text-link-text-link-sm-typography-underline-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-text-link-text-link-sm-typography-underline-font-size:12px;--sd-text-link-text-link-sm-typography-underline-font-weight:500;--sd-text-link-text-link-sm-typography-underline-text-decoration:underline;--sd-text-link-text-link-sm-typography-underline-line-height:20px;--sd-text-link-text-link-md-gap:8px;--sd-text-link-text-link-md-icon:16px;--sd-text-link-text-link-md-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-text-link-text-link-md-typography-default-font-size:14px;--sd-text-link-text-link-md-typography-default-font-weight:500;--sd-text-link-text-link-md-typography-default-text-decoration:none;--sd-text-link-text-link-md-typography-default-line-height:24px;--sd-text-link-text-link-md-typography-underline-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-text-link-text-link-md-typography-underline-font-size:14px;--sd-text-link-text-link-md-typography-underline-font-weight:500;--sd-text-link-text-link-md-typography-underline-text-decoration:underline;--sd-text-link-text-link-md-typography-underline-line-height:24px;--sd-text-link-text-link-content-default:#222222;--sd-text-link-text-link-content-disabled:#888888;--sd-text-link-text-link-icon-default:#006AC1;--sd-text-link-text-link-icon-disabled:#BBBBBB;--sd-text-link-text-link-lg-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-text-link-text-link-lg-typography-default-font-size:16px;--sd-text-link-text-link-lg-typography-default-font-weight:500;--sd-text-link-text-link-lg-typography-default-text-decoration:none;--sd-text-link-text-link-lg-typography-default-line-height:26px;--sd-text-link-text-link-lg-typography-underline-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-text-link-text-link-lg-typography-underline-font-size:16px;--sd-text-link-text-link-lg-typography-underline-font-weight:500;--sd-text-link-text-link-lg-typography-underline-text-decoration:underline;--sd-text-link-text-link-lg-typography-underline-line-height:26px;--sd-text-link-text-link-lg-gap:8px;--sd-text-link-text-link-lg-icon:20px;--sd-switch-switch-width:32px;--sd-switch-switch-height:20px;--sd-switch-switch-padding-x-y:2px;--sd-switch-switch-radius:9999px;--sd-switch-switch-knob-size:16px;--sd-switch-switch-knob-default:#FFFFFF;--sd-switch-switch-knob-disabled:#EEEEEE;--sd-switch-switch-bg-on:#0075FF;--sd-switch-switch-bg-off:#CCCCCC;--sd-switch-switch-bg-disabled-on:#BBDAFF;--sd-switch-switch-bg-disabled-off:#E1E1E1;--sd-switch-switch-label-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-switch-switch-label-typography-font-weight:500;--sd-switch-switch-label-typography-font-size:12px;--sd-switch-switch-label-typography-text-decoration:none;--sd-switch-switch-label-typography-line-height:20px;--sd-switch-switch-gap:6px;--sd-toggle-toggle-height:28px;--sd-toggle-toggle-padding-x:12px;--sd-toggle-toggle-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-toggle-toggle-typography-font-size:14px;--sd-toggle-toggle-typography-font-weight:500;--sd-toggle-toggle-typography-text-decoration:none;--sd-toggle-toggle-typography-line-height:24px;--sd-toggle-toggle-radius:9999px;--sd-toggle-toggle-border-width:1px;--sd-toggle-toggle-border-default:#CCCCCC;--sd-toggle-toggle-border-select:#0075FF;--sd-toggle-toggle-border-disabled:#CCCCCC;--sd-toggle-toggle-bg-default:#FFFFFF;--sd-toggle-toggle-bg-hover:#0075FF;--sd-toggle-toggle-bg-select:#FFFFFF;--sd-toggle-toggle-bg-disabled:#E1E1E1;--sd-toggle-toggle-content-default:#555555;--sd-toggle-toggle-content-hover:#FFFFFF;--sd-toggle-toggle-content-select:#0075FF;--sd-toggle-toggle-content-disabled:#888888;--sd-checkbox-checkbox-size:16px;--sd-checkbox-checkbox-radius:2px;--sd-checkbox-checkbox-border-width:1px;--sd-checkbox-checkbox-gap:8px;--sd-checkbox-checkbox-icon:12px;--sd-checkbox-checkbox-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-checkbox-checkbox-typography-font-weight:400;--sd-checkbox-checkbox-typography-font-size:12px;--sd-checkbox-checkbox-typography-line-height:20px;--sd-checkbox-checkbox-typography-text-decoration:none;--sd-checkbox-checkbox-unchecked-bg-default:#FFFFFF;--sd-checkbox-checkbox-unchecked-bg-hover:#D9EAFF;--sd-checkbox-checkbox-unchecked-border-default:#AAAAAA;--sd-checkbox-checkbox-unchecked-border-hover:#0075FF;--sd-checkbox-checkbox-checked-bg-default:#0075FF;--sd-checkbox-checkbox-checked-icon-default:#FFFFFF;--sd-checkbox-checkbox-checked-icon-disabled:#BBBBBB;--sd-checkbox-checkbox-checked-icon-inverse:#FFFFFF;--sd-checkbox-checkbox-checked-border-inverse:#FFFFFF;--sd-checkbox-checkbox-label-default:#222222;--sd-checkbox-checkbox-label-inverse:#FFFFFF;--sd-checkbox-checkbox-bg-disabled:#E1E1E1;--sd-checkbox-checkbox-border-disabled:#CCCCCC;--sd-radio-radio-size:16px;--sd-radio-radio-radius:9999px;--sd-radio-radio-border-width:1px;--sd-radio-radio-gap:8px;--sd-radio-radio-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-radio-radio-typography-default-font-weight:400;--sd-radio-radio-typography-default-font-size:12px;--sd-radio-radio-typography-default-line-height:20px;--sd-radio-radio-typography-default-text-decoration:none;--sd-radio-radio-typography-selected-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-radio-radio-typography-selected-font-weight:500;--sd-radio-radio-typography-selected-font-size:12px;--sd-radio-radio-typography-selected-text-decoration:none;--sd-radio-radio-typography-selected-line-height:20px;--sd-radio-radio-bg-default:#FFFFFF;--sd-radio-radio-bg-disabled:#E1E1E1;--sd-radio-radio-bg-hover:#D9EAFF;--sd-radio-radio-border-default:#AAAAAA;--sd-radio-radio-border-hover:#0075FF;--sd-radio-radio-border-active:#0075FF;--sd-radio-radio-border-disabled:#CCCCCC;--sd-radio-radio-dot-default:#0075FF;--sd-radio-radio-dot-disabled:#CCCCCC;--sd-radio-radio-dot-size:10px;--sd-radio-radio-label-default:#222222;--sd-radio-radio-label-disabled:#888888;--sd-radio-button-radio-button-xs-height:24px;--sd-radio-button-radio-button-xs-padding-x:8px;--sd-radio-button-radio-button-xs-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-radio-button-radio-button-xs-typography-font-size:12px;--sd-radio-button-radio-button-xs-typography-font-weight:500;--sd-radio-button-radio-button-xs-typography-text-decoration:none;--sd-radio-button-radio-button-xs-typography-line-height:20px;--sd-radio-button-radio-button-sm-height:28px;--sd-radio-button-radio-button-sm-padding-x:12px;--sd-radio-button-radio-button-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-radio-button-radio-button-sm-typography-font-size:12px;--sd-radio-button-radio-button-sm-typography-font-weight:500;--sd-radio-button-radio-button-sm-typography-text-decoration:none;--sd-radio-button-radio-button-sm-typography-line-height:20px;--sd-radio-button-radio-button-radius:4px;--sd-radio-button-radio-button-border-width:1px;--sd-radio-button-radio-button-border-default:#CCCCCC;--sd-radio-button-radio-button-border-select:#0075FF;--sd-radio-button-radio-button-border-disabled:#CCCCCC;--sd-radio-button-radio-button-bg-default:#FFFFFF;--sd-radio-button-radio-button-bg-hover:#0075FF;--sd-radio-button-radio-button-bg-select:#FFFFFF;--sd-radio-button-radio-button-bg-disabled:#E1E1E1;--sd-radio-button-radio-button-content-default:#555555;--sd-radio-button-radio-button-content-hover:#FFFFFF;--sd-radio-button-radio-button-content-select:#0075FF;--sd-radio-button-radio-button-content-disabled:#888888;--sd-radio-button-radio-button-group-gap:-1px;--sd-list-item-list-item-padding-y:4px;--sd-list-item-list-item-padding-right:12px;--sd-list-item-list-item-gap:8px;--sd-list-item-list-item-padding-left-depth1:12px;--sd-list-item-list-item-padding-left-depth2:20px;--sd-list-item-list-item-padding-left-depth3:28px;--sd-list-item-list-item-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-list-item-list-item-typography-default-font-weight:400;--sd-list-item-list-item-typography-default-font-size:12px;--sd-list-item-list-item-typography-default-line-height:20px;--sd-list-item-list-item-typography-default-text-decoration:none;--sd-list-item-list-item-typography-selected-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-list-item-list-item-typography-selected-font-weight:700;--sd-list-item-list-item-typography-selected-font-size:12px;--sd-list-item-list-item-typography-selected-text-decoration:none;--sd-list-item-list-item-typography-selected-line-height:20px;--sd-list-item-list-item-bg-default:#FFFFFF;--sd-list-item-list-item-bg-hover:#0075FF;--sd-list-item-list-item-content-default:#222222;--sd-list-item-list-item-content-hover:#FFFFFF;--sd-list-item-list-item-content-disabled:#888888;--sd-list-item-list-item-content-selected:#0075FF;--sd-list-item-list-item-indeterminate-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-list-item-list-item-indeterminate-typography-font-weight:700;--sd-list-item-list-item-indeterminate-typography-font-size:12px;--sd-list-item-list-item-indeterminate-typography-text-decoration:none;--sd-list-item-list-item-indeterminate-typography-line-height:20px;--sd-list-item-list-item-depth1-bg-default:#EFF6FF;--sd-list-item-list-item-depth1-bg-disabled:#EEEEEE;--sd-list-item-list-item-depth1-border-color:#E1E1E1;--sd-list-item-list-item-depth1-border-width:1px;--sd-list-item-list-item-depth1-title-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-list-item-list-item-depth1-title-typography-font-weight:700;--sd-list-item-list-item-depth1-title-typography-font-size:12px;--sd-list-item-list-item-depth1-title-typography-text-decoration:none;--sd-list-item-list-item-depth1-title-typography-line-height:20px;--sd-list-item-list-item-depth2-middle-bg:#F6F6F6;--sd-list-item-list-item-depth2-middle-title-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-list-item-list-item-depth2-middle-title-typography-font-weight:500;--sd-list-item-list-item-depth2-middle-title-typography-font-size:12px;--sd-list-item-list-item-depth2-middle-title-typography-text-decoration:none;--sd-list-item-list-item-depth2-middle-title-typography-line-height:20px;--sd-list-item-list-item-count-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-list-item-list-item-count-typography-font-weight:500;--sd-list-item-list-item-count-typography-font-size:12px;--sd-list-item-list-item-count-typography-text-decoration:none;--sd-list-item-list-item-count-typography-line-height:20px;--sd-list-item-list-item-count-color:#888888;--sd-list-box-list-box-radius:4px;--sd-list-box-list-box-bg:#FFFFFF;--sd-list-box-list-box-chip-padding-x-y:8px;--sd-list-box-list-box-chip-gap:8px;--sd-select-select-sm-height:28px;--sd-select-select-sm-radius:4px;--sd-select-select-sm-border-width:1px;--sd-select-select-sm-padding-x:12px;--sd-select-select-sm-gap:8px;--sd-select-select-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-select-select-sm-typography-font-weight:400;--sd-select-select-sm-typography-font-size:12px;--sd-select-select-sm-typography-line-height:20px;--sd-select-select-sm-typography-text-decoration:none;--sd-select-select-sm-icon:16px;--sd-select-select-md-height:36px;--sd-select-select-md-radius:6px;--sd-select-select-md-border-width:1px;--sd-select-select-md-padding-x:16px;--sd-select-select-md-gap:12px;--sd-select-select-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-select-select-md-typography-font-weight:400;--sd-select-select-md-typography-font-size:14px;--sd-select-select-md-typography-text-decoration:none;--sd-select-select-md-typography-line-height:24px;--sd-select-select-md-icon:16px;--sd-select-select-icon-default:#888888;--sd-select-select-icon-disabled:#BBBBBB;--sd-select-select-border-default:#AAAAAA;--sd-select-select-border-hover:#0075FF;--sd-select-select-border-danger:#FB4444;--sd-select-select-border-disabled:#CCCCCC;--sd-select-select-bg-default:#FFFFFF;--sd-select-select-bg-disabled:#E1E1E1;--sd-select-select-text-default:#222222;--sd-select-select-text-disabled:#888888;--sd-field-field-label-sm-height:28px;--sd-field-field-label-sm-gap:6px;--sd-field-field-label-sm-icon:12px;--sd-field-field-label-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-field-field-label-sm-typography-font-weight:700;--sd-field-field-label-sm-typography-font-size:12px;--sd-field-field-label-sm-typography-text-decoration:none;--sd-field-field-label-sm-typography-line-height:20px;--sd-field-field-label-md-height:36px;--sd-field-field-label-md-gap:8px;--sd-field-field-label-md-icon:12px;--sd-field-field-label-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-field-field-label-md-typography-font-weight:700;--sd-field-field-label-md-typography-font-size:14px;--sd-field-field-label-md-typography-text-decoration:none;--sd-field-field-label-md-typography-line-height:24px;--sd-field-field-addon-label-height:28px;--sd-field-field-addon-label-gap:6px;--sd-field-field-addon-label-padding-x:12px;--sd-field-field-addon-label-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-field-field-addon-label-typography-font-weight:500;--sd-field-field-addon-label-typography-font-size:12px;--sd-field-field-addon-label-typography-text-decoration:none;--sd-field-field-addon-label-typography-line-height:20px;--sd-field-field-addon-label-bg:#F6F6F6;--sd-field-field-addon-label-border-default:#AAAAAA;--sd-field-field-addon-label-border-disabled:#CCCCCC;--sd-field-field-addon-label-border-width:1px;--sd-field-field-hint-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-field-field-hint-typography-font-weight:400;--sd-field-field-hint-typography-font-size:12px;--sd-field-field-hint-typography-line-height:20px;--sd-field-field-hint-typography-text-decoration:none;--sd-field-field-hint-color:#555555;--sd-field-field-error-message-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-field-field-error-message-typography-font-weight:400;--sd-field-field-error-message-typography-font-size:12px;--sd-field-field-error-message-typography-line-height:20px;--sd-field-field-error-message-typography-text-decoration:none;--sd-field-field-error-message-color:#E30000;--sd-field-field-contents-gap:4px;--sd-textinput-textinput-sm-height:28px;--sd-textinput-textinput-sm-padding-x:12px;--sd-textinput-textinput-sm-padding-y:4px;--sd-textinput-textinput-sm-gap:8px;--sd-textinput-textinput-sm-radius:4px;--sd-textinput-textinput-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-textinput-textinput-sm-typography-font-weight:400;--sd-textinput-textinput-sm-typography-font-size:12px;--sd-textinput-textinput-sm-typography-line-height:20px;--sd-textinput-textinput-sm-typography-text-decoration:none;--sd-textinput-textinput-md-padding-x:16px;--sd-textinput-textinput-md-padding-y:8px;--sd-textinput-textinput-md-height:36px;--sd-textinput-textinput-md-gap:12px;--sd-textinput-textinput-md-radius:6px;--sd-textinput-textinput-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-textinput-textinput-md-typography-font-weight:400;--sd-textinput-textinput-md-typography-font-size:14px;--sd-textinput-textinput-md-typography-text-decoration:none;--sd-textinput-textinput-md-typography-line-height:24px;--sd-textinput-textinput-border-width:1px;--sd-textinput-textinput-border-default:#AAAAAA;--sd-textinput-textinput-border-focus:#0075FF;--sd-textinput-textinput-border-danger:#FB4444;--sd-textinput-textinput-border-success:#12B553;--sd-textinput-textinput-border-disabled:#CCCCCC;--sd-textinput-textinput-bg-default:#FFFFFF;--sd-textinput-textinput-bg-disabled:#E1E1E1;--sd-textinput-textinput-bg-barcode:#FAFAA1;--sd-textinput-textinput-text-default:#222222;--sd-textinput-textinput-text-placeholder:#AAAAAA;--sd-textinput-textinput-text-disabled:#888888;--sd-textinput-textinput-size-icon:16px;--sd-textinput-textinput-icon-default:#888888;--sd-textinput-textinput-unit-color:#888888;--sd-textinput-textinput-resizer-size:12px;--sd-textinput-textinput-resizer-color:#AAAAAA;--sd-number-input-number-input-sm-height:28px;--sd-number-input-number-input-sm-padding-x:6px;--sd-number-input-number-input-sm-radius:4px;--sd-number-input-number-input-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-number-input-number-input-sm-typography-font-weight:400;--sd-number-input-number-input-sm-typography-font-size:12px;--sd-number-input-number-input-sm-typography-line-height:20px;--sd-number-input-number-input-sm-typography-text-decoration:none;--sd-number-input-number-input-sm-gap:4px;--sd-number-input-number-input-md-height:36px;--sd-number-input-number-input-md-padding-x:8px;--sd-number-input-number-input-md-radius:6px;--sd-number-input-number-input-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-number-input-number-input-md-typography-font-weight:400;--sd-number-input-number-input-md-typography-font-size:14px;--sd-number-input-number-input-md-typography-text-decoration:none;--sd-number-input-number-input-md-typography-line-height:24px;--sd-number-input-number-input-md-gap:6px;--sd-number-input-number-input-border-width:1px;--sd-number-input-number-input-border-default:#AAAAAA;--sd-number-input-number-input-border-focus:#0075FF;--sd-number-input-number-input-border-danger:#FB4444;--sd-number-input-number-input-border-success:#12B553;--sd-number-input-number-input-border-disabled:#CCCCCC;--sd-number-input-number-input-bg-default:#FFFFFF;--sd-number-input-number-input-bg-disabled:#E1E1E1;--sd-number-input-number-input-text-default:#222222;--sd-number-input-number-input-text-placeholder:#AAAAAA;--sd-number-input-number-input-text-disabled:#888888;--sd-number-input-number-input-stepper-sm-size:20px;--sd-number-input-number-input-stepper-md-size:24px;--sd-number-input-number-input-stepper-radius:4px;--sd-number-input-number-input-stepper-bg-default:#EFF6FF;--sd-number-input-number-input-stepper-bg-disabled:#EEEEEE;--sd-number-input-number-input-stepper-icon-default:#0075FF;--sd-number-input-number-input-stepper-icon-disabled:#BBBBBB;--sd-chip-input-chip-input-sm-min-height:36px;--sd-chip-input-chip-input-sm-padding-x:12px;--sd-chip-input-chip-input-sm-padding-y:6px;--sd-chip-input-chip-input-sm-radius:4px;--sd-chip-input-chip-input-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-chip-input-chip-input-sm-typography-font-weight:400;--sd-chip-input-chip-input-sm-typography-font-size:12px;--sd-chip-input-chip-input-sm-typography-line-height:20px;--sd-chip-input-chip-input-sm-typography-text-decoration:none;--sd-chip-input-chip-input-md-min-height:40px;--sd-chip-input-chip-input-md-padding-x:16px;--sd-chip-input-chip-input-md-padding-y:8px;--sd-chip-input-chip-input-md-radius:6px;--sd-chip-input-chip-input-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-chip-input-chip-input-md-typography-font-weight:400;--sd-chip-input-chip-input-md-typography-font-size:14px;--sd-chip-input-chip-input-md-typography-text-decoration:none;--sd-chip-input-chip-input-md-typography-line-height:24px;--sd-chip-input-chip-input-chip-gap:8px;--sd-chip-input-chip-input-border-width:1px;--sd-chip-input-chip-input-border-default:#AAAAAA;--sd-chip-input-chip-input-border-focus:#0075FF;--sd-chip-input-chip-input-border-disabled:#CCCCCC;--sd-chip-input-chip-input-bg-default:#FFFFFF;--sd-chip-input-chip-input-bg-disabled:#E1E1E1;--sd-chip-input-chip-input-text-placeholder:#AAAAAA;--sd-filepicker-filepicker-sm-height:28px;--sd-filepicker-filepicker-sm-padding-x:12px;--sd-filepicker-filepicker-sm-gap:8px;--sd-filepicker-filepicker-sm-radius:4px;--sd-filepicker-filepicker-sm-border-width:1px;--sd-filepicker-filepicker-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-filepicker-filepicker-sm-typography-font-weight:400;--sd-filepicker-filepicker-sm-typography-font-size:12px;--sd-filepicker-filepicker-sm-typography-line-height:20px;--sd-filepicker-filepicker-sm-typography-text-decoration:none;--sd-filepicker-filepicker-sm-icon:16px;--sd-filepicker-filepicker-md-height:36px;--sd-filepicker-filepicker-md-padding-x:16px;--sd-filepicker-filepicker-md-gap:12px;--sd-filepicker-filepicker-md-radius:6px;--sd-filepicker-filepicker-md-border-width:1px;--sd-filepicker-filepicker-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-filepicker-filepicker-md-typography-font-weight:400;--sd-filepicker-filepicker-md-typography-font-size:14px;--sd-filepicker-filepicker-md-typography-text-decoration:none;--sd-filepicker-filepicker-md-typography-line-height:24px;--sd-filepicker-filepicker-md-icon:20px;--sd-filepicker-filepicker-border-default:#AAAAAA;--sd-filepicker-filepicker-border-disabled:#CCCCCC;--sd-filepicker-filepicker-bg-default:#FFFFFF;--sd-filepicker-filepicker-bg-disabled:#E1E1E1;--sd-filepicker-filepicker-text-default:#222222;--sd-filepicker-filepicker-text-placeholder:#AAAAAA;--sd-filepicker-filepicker-text-disabled:#888888;--sd-filepicker-filepicker-icon-disabled:#BBBBBB;--sd-datepicker-datepicker-sm-height:28px;--sd-datepicker-datepicker-sm-padding-x:12px;--sd-datepicker-datepicker-sm-gap:8px;--sd-datepicker-datepicker-sm-icon:16px;--sd-datepicker-datepicker-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-datepicker-datepicker-sm-typography-font-weight:400;--sd-datepicker-datepicker-sm-typography-font-size:12px;--sd-datepicker-datepicker-sm-typography-line-height:20px;--sd-datepicker-datepicker-sm-typography-text-decoration:none;--sd-datepicker-datepicker-sm-radius:4px;--sd-datepicker-datepicker-md-height:36px;--sd-datepicker-datepicker-md-padding-x:16px;--sd-datepicker-datepicker-md-gap:12px;--sd-datepicker-datepicker-md-icon:20px;--sd-datepicker-datepicker-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-datepicker-datepicker-md-typography-font-weight:400;--sd-datepicker-datepicker-md-typography-font-size:14px;--sd-datepicker-datepicker-md-typography-text-decoration:none;--sd-datepicker-datepicker-md-typography-line-height:24px;--sd-datepicker-datepicker-md-radius:6px;--sd-datepicker-datepicker-border-width:1px;--sd-datepicker-datepicker-border-default:#AAAAAA;--sd-datepicker-datepicker-border-focus:#0075FF;--sd-datepicker-datepicker-border-disabled:#CCCCCC;--sd-datepicker-datepicker-bg-default:#FFFFFF;--sd-datepicker-datepicker-bg-disabled:#E1E1E1;--sd-datepicker-datepicker-icon-default:#888888;--sd-datepicker-datepicker-icon-disabled:#BBBBBB;--sd-datepicker-datepicker-text-default:#222222;--sd-datepicker-datepicker-text-disabled:#888888;--sd-datepicker-datepicker-calendar-bg:#FFFFFF;--sd-datepicker-datepicker-calendar-padding-x-y:24px;--sd-datepicker-datepicker-calendar-gap:12px;--sd-datepicker-datepicker-calendar-radius:8px;--sd-datepicker-datepicker-calendar-header-gap:8px;--sd-datepicker-datepicker-calendar-header-divider:#E1E1E1;--sd-datepicker-datepicker-calendar-header-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-datepicker-datepicker-calendar-header-typography-font-weight:500;--sd-datepicker-datepicker-calendar-header-typography-font-size:14px;--sd-datepicker-datepicker-calendar-header-typography-text-decoration:none;--sd-datepicker-datepicker-calendar-header-typography-line-height:24px;--sd-datepicker-datepicker-calendar-week-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-datepicker-datepicker-calendar-week-typography-font-weight:400;--sd-datepicker-datepicker-calendar-week-typography-font-size:12px;--sd-datepicker-datepicker-calendar-week-typography-line-height:20px;--sd-datepicker-datepicker-calendar-week-typography-text-decoration:none;--sd-datepicker-datepicker-calendar-week-color:#888888;--sd-datepicker-datepicker-calendar-grid-row-gap:4px;--sd-datepicker-datepicker-calendar-day-width:40px;--sd-datepicker-datepicker-calendar-day-circle-size:32px;--sd-datepicker-datepicker-calendar-day-circle-radius:9999px;--sd-datepicker-datepicker-calendar-day-default-text:#222222;--sd-datepicker-datepicker-calendar-day-hover-text:#222222;--sd-datepicker-datepicker-calendar-day-hover-border:#0075FF;--sd-datepicker-datepicker-calendar-day-select-bg:#0075FF;--sd-datepicker-datepicker-calendar-day-select-text:#FFFFFF;--sd-datepicker-datepicker-calendar-day-disabled-text:#BBBBBB;--sd-datepicker-datepicker-calendar-day-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-datepicker-datepicker-calendar-day-typography-default-font-weight:400;--sd-datepicker-datepicker-calendar-day-typography-default-font-size:14px;--sd-datepicker-datepicker-calendar-day-typography-default-text-decoration:none;--sd-datepicker-datepicker-calendar-day-typography-default-line-height:24px;--sd-datepicker-datepicker-calendar-day-typography-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-datepicker-datepicker-calendar-day-typography-bold-font-weight:700;--sd-datepicker-datepicker-calendar-day-typography-bold-font-size:14px;--sd-datepicker-datepicker-calendar-day-typography-bold-text-decoration:none;--sd-datepicker-datepicker-calendar-day-typography-bold-line-height:24px;--sd-datepicker-datepicker-calendar-day-dot-size:6px;--sd-datepicker-datepicker-calendar-day-dot-gap:2px;--sd-datepicker-datepicker-calendar-day-dot-padding-y:4px;--sd-datepicker-datepicker-calendar-range-bg:#D9EAFF;--sd-datepicker-datepicker-calendar-range-height:32px;--sd-datepicker-datepicker-calendar-range-panel-gap:24px;--sd-datepicker-datepicker-calendar-range-divider:#E1E1E1;--sd-datepicker-datepicker-calendar-range-width:20px;--sd-datepicker-datepicker-calendar-legend-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-datepicker-datepicker-calendar-legend-typography-font-weight:400;--sd-datepicker-datepicker-calendar-legend-typography-font-size:11px;--sd-datepicker-datepicker-calendar-legend-typography-line-height:18px;--sd-datepicker-datepicker-calendar-legend-typography-text-decoration:none;--sd-datepicker-datepicker-calendar-legend-gap:4px;--sd-datepicker-datepicker-calendar-legend-group-gap:12px;--sd-chip-chip-height:24px;--sd-chip-chip-padding-x:8px;--sd-chip-chip-gap:4px;--sd-chip-chip-radius:9999px;--sd-chip-chip-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-chip-chip-typography-default-font-size:12px;--sd-chip-chip-typography-default-font-weight:500;--sd-chip-chip-typography-default-text-decoration:none;--sd-chip-chip-typography-default-line-height:20px;--sd-chip-chip-typography-focus-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-chip-chip-typography-focus-font-size:12px;--sd-chip-chip-typography-focus-font-weight:400;--sd-chip-chip-typography-focus-text-decoration:none;--sd-chip-chip-typography-focus-line-height:20px;--sd-chip-chip-bg-default:#F6F6F6;--sd-chip-chip-bg-error:#FCEFEF;--sd-chip-chip-bg-focus:#FFFFFF;--sd-chip-chip-bg-disabled:#F6F6F6;--sd-chip-chip-content-default:#555555;--sd-chip-chip-content-error:#E30000;--sd-chip-chip-content-focus:#222222;--sd-chip-chip-content-disabled:#888888;--sd-chip-chip-border-focus:#E1E1E1;--sd-chip-chip-border-width:1px;--sd-tag-tag-xs-height:20px;--sd-tag-tag-xs-padding-x:8px;--sd-tag-tag-xs-gap:4px;--sd-tag-tag-xs-icon:12px;--sd-tag-tag-xs-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tag-tag-xs-typography-font-size:11px;--sd-tag-tag-xs-typography-font-weight:500;--sd-tag-tag-xs-typography-line-height:18px;--sd-tag-tag-xs-typography-text-decoration:none;--sd-tag-tag-xs-radius:6px;--sd-tag-tag-sm-height:24px;--sd-tag-tag-sm-padding-x:8px;--sd-tag-tag-sm-gap:4px;--sd-tag-tag-sm-icon:16px;--sd-tag-tag-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tag-tag-sm-typography-font-size:12px;--sd-tag-tag-sm-typography-font-weight:700;--sd-tag-tag-sm-typography-text-decoration:none;--sd-tag-tag-sm-typography-line-height:20px;--sd-tag-tag-sm-radius:6px;--sd-tag-tag-md-height:28px;--sd-tag-tag-md-padding-x:12px;--sd-tag-tag-md-gap:6px;--sd-tag-tag-md-icon:16px;--sd-tag-tag-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tag-tag-md-typography-font-size:14px;--sd-tag-tag-md-typography-font-weight:700;--sd-tag-tag-md-typography-line-height:24px;--sd-tag-tag-md-typography-text-decoration:none;--sd-tag-tag-md-radius:8px;--sd-tag-tag-red-content:#FB4444;--sd-tag-tag-red-bg:#FCEFEF;--sd-tag-tag-orange-content:#FF6B00;--sd-tag-tag-orange-bg:#FEF1EA;--sd-tag-tag-yellow-content:#916C0D;--sd-tag-tag-yellow-bg:#FFF7DD;--sd-tag-tag-green-content:#00973C;--sd-tag-tag-green-bg:#E8F9EF;--sd-tag-tag-blue-content:#0075FF;--sd-tag-tag-blue-bg:#E6F1FF;--sd-tag-tag-darkblue-content:#006AC1;--sd-tag-tag-darkblue-bg:#EAF5FE;--sd-tag-tag-indigo-content:#004290;--sd-tag-tag-indigo-bg:#EFF6FF;--sd-tag-tag-grey-content:#737373;--sd-tag-tag-grey-bg:#EEEEEE;--sd-badge-badge-size:6px;--sd-badge-badge-radius:9999px;--sd-badge-badge-red:#FB4444;--sd-badge-badge-orange:#FF6B00;--sd-badge-badge-yellow:#FFC700;--sd-badge-badge-green:#00973C;--sd-badge-badge-blue:#0075FF;--sd-badge-badge-darkblue:#006AC1;--sd-badge-badge-indigo:#004290;--sd-badge-badge-grey:#737373;--sd-tooltip-tooltip-radius:6px;--sd-tooltip-tooltip-padding-y:12px;--sd-tooltip-tooltip-padding-x:16px;--sd-tooltip-tooltip-gap:12px;--sd-tooltip-tooltip-arrow-width:16px;--sd-tooltip-tooltip-arrow-height:12px;--sd-tooltip-tooltip-default-bg:#07284A;--sd-tooltip-tooltip-default-content:#FFFFFF;--sd-tooltip-tooltip-default-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tooltip-tooltip-default-typography-font-size:12px;--sd-tooltip-tooltip-default-typography-font-weight:500;--sd-tooltip-tooltip-default-typography-line-height:20px;--sd-tooltip-tooltip-default-typography-text-decoration:none;--sd-tooltip-tooltip-danger-bg:#FCEFEF;--sd-tooltip-tooltip-danger-content:#FB4444;--sd-tooltip-tooltip-danger-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tooltip-tooltip-danger-typography-font-size:12px;--sd-tooltip-tooltip-danger-typography-font-weight:700;--sd-tooltip-tooltip-danger-typography-text-decoration:none;--sd-tooltip-tooltip-danger-typography-line-height:20px;--sd-tooltip-tooltip-warning-bg:#FEF1EA;--sd-tooltip-tooltip-warning-content:#FF6B00;--sd-tooltip-tooltip-warning-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tooltip-tooltip-warning-typography-font-size:12px;--sd-tooltip-tooltip-warning-typography-font-weight:700;--sd-tooltip-tooltip-warning-typography-text-decoration:none;--sd-tooltip-tooltip-warning-typography-line-height:20px;--sd-tooltip-tooltip-accent-bg:#E6F1FF;--sd-tooltip-tooltip-accent-content:#0075FF;--sd-tooltip-tooltip-accent-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tooltip-tooltip-accent-typography-font-size:12px;--sd-tooltip-tooltip-accent-typography-font-weight:700;--sd-tooltip-tooltip-accent-typography-text-decoration:none;--sd-tooltip-tooltip-accent-typography-line-height:20px;--sd-popover-popover-radius:6px;--sd-popover-popover-padding-x:20px;--sd-popover-popover-padding-y:16px;--sd-popover-popover-gap:12px;--sd-popover-popover-contents-gap:4px;--sd-popover-popover-arrow-width:16px;--sd-popover-popover-arrow-height:12px;--sd-popover-popover-default-bg:#07284A;--sd-popover-popover-default-title:#FFFFFF;--sd-popover-popover-default-description:#FFFFFF;--sd-popover-popover-default-sub-action:#D8D8D8;--sd-popover-popover-title-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-popover-popover-title-typography-font-size:14px;--sd-popover-popover-title-typography-font-weight:700;--sd-popover-popover-title-typography-line-height:24px;--sd-popover-popover-title-typography-text-decoration:none;--sd-popover-popover-title-leading-icon:16px;--sd-popover-popover-title-gap:8px;--sd-popover-popover-description-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-popover-popover-description-typography-font-size:12px;--sd-popover-popover-description-typography-font-weight:500;--sd-popover-popover-description-typography-line-height:20px;--sd-popover-popover-description-typography-text-decoration:none;--sd-popover-popover-sub-action-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-popover-popover-sub-action-typography-font-size:12px;--sd-popover-popover-sub-action-typography-font-weight:700;--sd-popover-popover-sub-action-typography-text-decoration:none;--sd-popover-popover-sub-action-typography-line-height:20px;--sd-popover-popover-danger-bg:#FCEFEF;--sd-popover-popover-danger-title:#FB4444;--sd-popover-popover-warning-bg:#FEF1EA;--sd-popover-popover-warning-title:#FF6B00;--sd-popover-popover-accent-bg:#E6F1FF;--sd-popover-popover-accent-title:#0075FF;--sd-popover-popover-light-description:#555555;--sd-popover-popover-light-sub-action:#888888;--sd-toast-toast-radius:8px;--sd-toast-toast-padding-x:24px;--sd-toast-toast-padding-y:12px;--sd-toast-toast-gap:16px;--sd-toast-toast-icon:16px;--sd-toast-toast-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-toast-toast-typography-default-font-size:14px;--sd-toast-toast-typography-default-font-weight:500;--sd-toast-toast-typography-default-line-height:24px;--sd-toast-toast-typography-default-text-decoration:none;--sd-toast-toast-typography-link-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-toast-toast-typography-link-font-size:14px;--sd-toast-toast-typography-link-font-weight:700;--sd-toast-toast-typography-link-line-height:24px;--sd-toast-toast-typography-link-text-decoration:underline;--sd-toast-toast-default-bg:#07284A;--sd-toast-toast-default-content:#FFFFFF;--sd-toast-toast-danger-bg:#FB4444;--sd-toast-toast-danger-content:#FFFFFF;--sd-toast-toast-caution-bg:#FFC700;--sd-toast-toast-caution-content:#222222;--sd-toast-toast-complete-bg:#00973C;--sd-toast-toast-complete-content:#FFFFFF;--sd-toast-toast-accent-bg:#005CC9;--sd-toast-toast-accent-content:#FFFFFF;--sd-toast-toast-info-bg:#E6F1FF;--sd-toast-toast-info-icon:#0075FF;--sd-toast-toast-info-text:#222222;--sd-toast-toast-info-text-link:#555555;--sd-modal-modal-radius:8px;--sd-modal-modal-confirm-padding-x:32px;--sd-modal-modal-confirm-padding-y:40px;--sd-modal-modal-confirm-gap:40px;--sd-modal-modal-confirm-body-gap:20px;--sd-modal-modal-confirm-title-gap:12px;--sd-modal-modal-confirm-title-color:#222222;--sd-modal-modal-confirm-title-icon:32px;--sd-modal-modal-confirm-title-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-modal-modal-confirm-title-typography-font-weight:700;--sd-modal-modal-confirm-title-typography-font-size:18px;--sd-modal-modal-confirm-title-typography-line-height:30px;--sd-modal-modal-confirm-title-typography-text-decoration:none;--sd-modal-modal-confirm-button-gap:8px;--sd-modal-modal-confirm-message-color:#222222;--sd-modal-modal-confirm-message-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-modal-modal-confirm-message-typography-font-size:12px;--sd-modal-modal-confirm-message-typography-font-weight:400;--sd-modal-modal-confirm-message-typography-line-height:20px;--sd-modal-modal-confirm-message-typography-text-decoration:none;--sd-modal-modal-confirm-positive-icon:#0075FF;--sd-modal-modal-confirm-negative-icon:#E30000;--sd-modal-modal-bg:#FFFFFF;--sd-modal-modal-action-header-padding-x:24px;--sd-modal-modal-action-header-padding-y:20px;--sd-modal-modal-action-header-gap:12px;--sd-modal-modal-action-title-color:#033F59;--sd-modal-modal-action-title-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-modal-modal-action-title-typography-font-weight:700;--sd-modal-modal-action-title-typography-font-size:16px;--sd-modal-modal-action-title-typography-text-decoration:none;--sd-modal-modal-action-title-typography-line-height:26px;--sd-modal-modal-action-body-padding-x:20px;--sd-modal-modal-action-body-padding-bottom:20px;--sd-modal-modal-action-footer-padding-x:20px;--sd-modal-modal-action-footer-padding-y:8px;--sd-modal-modal-action-footer-gap:16px;--sd-modal-modal-action-footer-bg:#F6F6F6;--sd-modal-modal-action-footer-border:#E1E1E1;--sd-modal-modal-loading-width:520px;--sd-modal-modal-loading-height:320px;--sd-modal-modal-loading-gap:20px;--sd-modal-modal-loading-content:80px;--sd-modal-modal-loading-message-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-modal-modal-loading-message-typography-font-size:12px;--sd-modal-modal-loading-message-typography-font-weight:400;--sd-modal-modal-loading-message-typography-line-height:20px;--sd-modal-modal-loading-message-typography-text-decoration:none;--sd-modal-modal-loading-message-color:#888888;--sd-popup-popup-header-bg-default:#07284A;--sd-popup-popup-header-bg-inverse:#FFFFFF;--sd-popup-popup-header-title-default:#FFFFFF;--sd-popup-popup-header-title-inverse:#004290;--sd-popup-popup-header-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-popup-popup-header-typography-font-weight:700;--sd-popup-popup-header-typography-font-size:18px;--sd-popup-popup-header-typography-line-height:30px;--sd-popup-popup-header-typography-text-decoration:none;--sd-popup-popup-footer-bg:#FFFFFF;--sd-popup-popup-footer-padding-x:20px;--sd-popup-popup-footer-padding-y:8px;--sd-popup-popup-footer-gap:16px;--sd-popup-popup-bg:#EEEEEE;--sd-spinner-spinner-size:80px;--sd-spinner-spinner-color-track:#EEEEEE;--sd-spinner-spinner-color-arc:#2D8DFF;--sd-guide-guide-gap:4px;--sd-guide-guide-button-height:28px;--sd-guide-guide-button-padding-x:12px;--sd-guide-guide-button-radius:9999px;--sd-guide-guide-button-gap:6px;--sd-guide-guide-button-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-guide-guide-button-typography-font-size:12px;--sd-guide-guide-button-typography-font-weight:500;--sd-guide-guide-button-typography-text-decoration:none;--sd-guide-guide-button-typography-line-height:20px;--sd-guide-guide-button-icon-size:16px;--sd-guide-guide-button-icon-default:#00973C;--sd-guide-guide-button-icon-active:#FFFFFF;--sd-guide-guide-button-border-width:1px;--sd-guide-guide-button-border-default:#E1E1E1;--sd-guide-guide-button-bg-default:#FFFFFF;--sd-guide-guide-button-bg-tip:#00973C;--sd-guide-guide-button-bg-notion:#1F8AE1;--sd-guide-guide-button-text-default:#222222;--sd-guide-guide-button-text-active:#FFFFFF;--sd-guide-guide-contents-padding-x:24px;--sd-guide-guide-contents-padding-y:20px;--sd-guide-guide-contents-gap:12px;--sd-guide-guide-contents-title-gap:8px;--sd-guide-guide-contents-row-gap:8px;--sd-guide-guide-contents-body-gap:2px;--sd-guide-guide-contents-typography-title-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-guide-guide-contents-typography-title-font-weight:700;--sd-guide-guide-contents-typography-title-font-size:16px;--sd-guide-guide-contents-typography-title-text-decoration:none;--sd-guide-guide-contents-typography-title-line-height:26px;--sd-guide-guide-contents-typography-body-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-guide-guide-contents-typography-body-font-weight:400;--sd-guide-guide-contents-typography-body-font-size:12px;--sd-guide-guide-contents-typography-body-line-height:20px;--sd-guide-guide-contents-typography-body-text-decoration:none;--sd-guide-guide-contents-typography-color:#222222;--sd-guide-guide-contents-icon:#00973C;--sd-guide-guide-contents-radius:8px;--sd-guide-guide-contents-depth-padding-left:32px;--sd-progress-progress-linear-height:20px;--sd-progress-progress-linear-radius:9999px;--sd-progress-progress-linear-gap:12px;--sd-progress-progress-linear-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-progress-progress-linear-typography-font-size:12px;--sd-progress-progress-linear-typography-font-weight:700;--sd-progress-progress-linear-typography-text-decoration:none;--sd-progress-progress-linear-typography-line-height:20px;--sd-progress-progress-circular-size:80px;--sd-progress-progress-circular-gap:8px;--sd-progress-progress-circular-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-progress-progress-circular-typography-font-weight:700;--sd-progress-progress-circular-typography-font-size:16px;--sd-progress-progress-circular-typography-text-decoration:none;--sd-progress-progress-circular-typography-line-height:26px;--sd-progress-progress-label-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-progress-progress-label-typography-font-size:12px;--sd-progress-progress-label-typography-font-weight:400;--sd-progress-progress-label-typography-line-height:20px;--sd-progress-progress-label-typography-text-decoration:none;--sd-progress-progress-color-track:#EEEEEE;--sd-progress-progress-color-label:#555555;--sd-progress-progress-active-color:#2D8DFF;--sd-progress-progress-success-color:#12B553;--sd-progress-progress-error-color:#FB4444;--sd-progress-progress-bar-text:#FFFFFF;--sd-table-table-header-height:36px;--sd-table-table-header-padding-x:16px;--sd-table-table-header-gap:4px;--sd-table-table-header-bg:#F5FAFF;--sd-table-table-header-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-table-table-header-typography-font-weight:500;--sd-table-table-header-typography-font-size:12px;--sd-table-table-header-typography-line-height:20px;--sd-table-table-header-typography-text-decoration:none;--sd-table-table-header-resizing-bar-color:#CCCCCC;--sd-table-table-header-resizing-bar-height:16px;--sd-table-table-body-default-height:44px;--sd-table-table-body-default-padding-y:8px;--sd-table-table-body-dense-height:32px;--sd-table-table-body-dense-padding-y:6px;--sd-table-table-body-padding-x:16px;--sd-table-table-body-frame-padding:8px;--sd-table-table-body-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-table-table-body-typography-font-weight:400;--sd-table-table-body-typography-font-size:12px;--sd-table-table-body-typography-line-height:20px;--sd-table-table-body-typography-text-decoration:none;--sd-table-table-border-color:#E1E1E1;--sd-table-table-border-width:1px;--sd-table-table-content-gap:8px;--sd-table-table-bar-section-gap:12px;--sd-table-table-bar-divider-height:20px;--sd-table-table-bar-height:44px;--sd-table-table-bar-count-total:#066D9B;--sd-table-table-bar-count-null:#888888;--sd-table-table-radius:8px;--sd-table-table-key-value-body-padding:8px;--sd-table-table-key-value-height:44px;--sd-table-table-key-value-search-padding-x:32px;--sd-table-table-key-value-search-bg:#F9F9F9;--sd-table-table-separator-color:#EEEEEE;--sd-table-table-separator-width-default:6px;--sd-table-table-separator-width-dense:4px;--sd-pagination-pagination-height:24px;--sd-pagination-pagination-padding-x:6px;--sd-pagination-pagination-radius:6px;--sd-pagination-pagination-gap:12px;--sd-pagination-pagination-move-gap:4px;--sd-pagination-pagination-icon:12px;--sd-pagination-pagination-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-pagination-pagination-typography-default-font-size:12px;--sd-pagination-pagination-typography-default-font-weight:500;--sd-pagination-pagination-typography-default-text-decoration:none;--sd-pagination-pagination-typography-default-line-height:20px;--sd-pagination-pagination-typography-default-selected-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-pagination-pagination-typography-default-selected-font-weight:700;--sd-pagination-pagination-typography-default-selected-font-size:12px;--sd-pagination-pagination-typography-default-selected-line-height:20px;--sd-pagination-pagination-typography-default-selected-text-decoration:none;--sd-pagination-pagination-typography-selected-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-pagination-pagination-typography-selected-font-weight:700;--sd-pagination-pagination-typography-selected-font-size:12px;--sd-pagination-pagination-typography-selected-line-height:20px;--sd-pagination-pagination-typography-selected-text-decoration:none;--sd-pagination-pagination-typography-selected-selected-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-pagination-pagination-typography-selected-selected-font-weight:700;--sd-pagination-pagination-typography-selected-selected-font-size:12px;--sd-pagination-pagination-typography-selected-selected-line-height:20px;--sd-pagination-pagination-typography-selected-selected-text-decoration:none;--sd-pagination-pagination-item-bg-hover:#EEEEEE;--sd-pagination-pagination-item-bg-selected:#E6F1FF;--sd-pagination-pagination-item-content-default:#555555;--sd-pagination-pagination-item-content-hover:#004290;--sd-pagination-pagination-item-content-selected:#004290;--sd-tab-tab-main-lg-height:44px;--sd-tab-tab-main-lg-padding-x:32px;--sd-tab-tab-main-md-height:36px;--sd-tab-tab-main-md-padding-x:24px;--sd-tab-tab-main-gap:8px;--sd-tab-tab-main-container-gap:4px;--sd-tab-tab-main-radius:6px;--sd-tab-tab-main-border-width:1px;--sd-tab-tab-main-selected-bg:#FFFFFF;--sd-tab-tab-main-selected-text:#0075FF;--sd-tab-tab-main-selected-border:#0075FF;--sd-tab-tab-main-selected-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tab-tab-main-selected-typography-font-weight:700;--sd-tab-tab-main-selected-typography-font-size:12px;--sd-tab-tab-main-selected-typography-line-height:20px;--sd-tab-tab-main-selected-typography-text-decoration:none;--sd-tab-tab-main-default-bg:#F6F6F6;--sd-tab-tab-main-default-text:#888888;--sd-tab-tab-main-default-border:#CCCCCC;--sd-tab-tab-main-default-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tab-tab-main-default-typography-font-weight:400;--sd-tab-tab-main-default-typography-font-size:12px;--sd-tab-tab-main-default-typography-line-height:20px;--sd-tab-tab-main-default-typography-text-decoration:none;--sd-tab-tab-sub-selected-text:#0075FF;--sd-tab-tab-sub-selected-line:#0075FF;--sd-tab-tab-sub-selected-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tab-tab-sub-selected-typography-font-weight:700;--sd-tab-tab-sub-selected-typography-font-size:12px;--sd-tab-tab-sub-selected-typography-line-height:20px;--sd-tab-tab-sub-selected-typography-text-decoration:none;--sd-tab-tab-sub-default-text:#222222;--sd-tab-tab-sub-default-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tab-tab-sub-default-typography-font-weight:400;--sd-tab-tab-sub-default-typography-font-size:12px;--sd-tab-tab-sub-default-typography-line-height:20px;--sd-tab-tab-sub-default-typography-text-decoration:none;--sd-tab-tab-sub-border-width:1px;--sd-tab-tab-sub-gap-horizontal:24px;--sd-tab-tab-sub-gap-vertical:16px;--sd-tab-tab-sub-content-gap:4px;--sd-tab-tab-sub-item-height:20px;--sd-gnb-belt-gnb-belt-bg:#001B39;--sd-gnb-belt-gnb-belt-top-height:56px;--sd-gnb-belt-gnb-belt-top-padding-x:12px;--sd-gnb-belt-gnb-belt-top-gap:8px;--sd-gnb-belt-gnb-belt-top-border:#004177;--sd-gnb-belt-gnb-belt-logo-height:32px;--sd-gnb-belt-gnb-belt-body-padding-y:12px;--sd-gnb-belt-gnb-belt-item-padding-y:6px;--sd-gnb-belt-gnb-belt-item-padding-right:20px;--sd-gnb-belt-gnb-belt-item-gap:12px;--sd-gnb-belt-gnb-belt-item-icon:12px;--sd-gnb-belt-gnb-belt-item-bg-default:#001B39;--sd-gnb-belt-gnb-belt-item-bg-selected:#002B5E;--sd-gnb-belt-gnb-belt-item-color-default:#FFFFFF;--sd-gnb-belt-gnb-belt-item-color-active:#93C4FF;--sd-gnb-belt-gnb-belt-item-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-gnb-belt-gnb-belt-item-typography-default-font-weight:500;--sd-gnb-belt-gnb-belt-item-typography-default-font-size:12px;--sd-gnb-belt-gnb-belt-item-typography-default-line-height:20px;--sd-gnb-belt-gnb-belt-item-typography-default-text-decoration:none;--sd-gnb-belt-gnb-belt-item-typography-selected-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-gnb-belt-gnb-belt-item-typography-selected-font-weight:700;--sd-gnb-belt-gnb-belt-item-typography-selected-font-size:12px;--sd-gnb-belt-gnb-belt-item-typography-selected-line-height:20px;--sd-gnb-belt-gnb-belt-item-typography-selected-text-decoration:none;--sd-gnb-belt-gnb-belt-item-depth1-padding-left:20px;--sd-gnb-belt-gnb-belt-item-depth1-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-gnb-belt-gnb-belt-item-depth1-typography-font-weight:700;--sd-gnb-belt-gnb-belt-item-depth1-typography-font-size:13px;--sd-gnb-belt-gnb-belt-item-depth1-typography-line-height:22px;--sd-gnb-belt-gnb-belt-item-depth1-typography-text-decoration:none;--sd-gnb-belt-gnb-belt-item-depth2-padding-left:32px;--sd-gnb-belt-gnb-belt-item-depth3-padding-left:44px;--sd-gnb-belt-gnb-belt-fold-width:48px;--sd-gnb-box-gnb-box-top-height:56px;--sd-gnb-box-gnb-box-padding-x:16px;--sd-gnb-box-gnb-box-gap:16px;--sd-gnb-box-gnb-box-bg:#FFFFFF;--sd-gnb-box-gnb-box-border:#E1E1E1;--sd-gnb-box-gnb-box-button-gap:8px;--sd-gnb-box-gnb-box-logo-height:32px;--sd-gnb-box-gnb-box-menu-body-padding:12px;--sd-gnb-box-gnb-box-item-padding-y:6px;--sd-gnb-box-gnb-box-item-padding-right:12px;--sd-gnb-box-gnb-box-item-gap:8px;--sd-gnb-box-gnb-box-item-radius:8px;--sd-gnb-box-gnb-box-item-arrow:12px;--sd-gnb-box-gnb-box-item-bg-default:#FFFFFF;--sd-gnb-box-gnb-box-item-bg-hover:#F6F6F6;--sd-gnb-box-gnb-box-item-bg-selected:#EFF6FF;--sd-gnb-box-gnb-box-item-color-default:#222222;--sd-gnb-box-gnb-box-item-color-selected:#0075FF;--sd-gnb-box-gnb-box-item-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-gnb-box-gnb-box-item-typography-default-font-weight:500;--sd-gnb-box-gnb-box-item-typography-default-font-size:14px;--sd-gnb-box-gnb-box-item-typography-default-line-height:24px;--sd-gnb-box-gnb-box-item-typography-default-text-decoration:none;--sd-gnb-box-gnb-box-item-typography-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-gnb-box-gnb-box-item-typography-bold-font-weight:700;--sd-gnb-box-gnb-box-item-typography-bold-font-size:14px;--sd-gnb-box-gnb-box-item-typography-bold-line-height:24px;--sd-gnb-box-gnb-box-item-typography-bold-text-decoration:none;--sd-gnb-box-gnb-box-item-depth1-padding-left:12px;--sd-gnb-box-gnb-box-item-depth1-icon:20px;--sd-gnb-box-gnb-box-item-depth2-padding-left:24px;--sd-gnb-box-gnb-box-item-depth3-padding-left:36px;--sd-callout-callout-radius:8px;--sd-callout-callout-border-width:1px;--sd-callout-callout-body-gap:2px;--sd-callout-callout-body-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-callout-callout-body-typography-font-size:12px;--sd-callout-callout-body-typography-font-weight:400;--sd-callout-callout-body-typography-line-height:20px;--sd-callout-callout-body-typography-text-decoration:none;--sd-callout-callout-body-padding-x:12px;--sd-callout-callout-body-padding-y:8px;--sd-callout-callout-default-bg:#F9F9F9;--sd-callout-callout-default-border:#E1E1E1;--sd-callout-callout-default-content:#555555;--sd-callout-callout-danger-bg:#FCEFEF;--sd-callout-callout-danger-border:#FFB5B5;--sd-callout-callout-danger-content:#222222;--sd-callout-callout-danger-title-bg:#FB4444;--sd-callout-callout-danger-title-padding-x:24px;--sd-callout-callout-danger-title-gap:2px;--sd-callout-callout-danger-title-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-callout-callout-danger-title-typography-font-weight:700;--sd-callout-callout-danger-title-typography-font-size:16px;--sd-callout-callout-danger-title-typography-text-decoration:none;--sd-callout-callout-danger-title-typography-line-height:26px;--sd-callout-callout-danger-title-color:#FFFFFF;--sd-callout-callout-danger-title-icon:24px}.bg-primary{background-color:var(--color-primary, #051d36)}.bg-secondary{background-color:var(--color-secondary, #555555)}.bg-accent{background-color:var(--color-accent, #9c27b0)}.bg-positive{background-color:var(--color-positive, #0075ff)}.bg-negative{background-color:var(--color-negative, #e30000)}.bg-info{background-color:var(--color-info, #00cd52)}.bg-warning{background-color:var(--color-warning, #f2c037)}.bg-red_99{background-color:var(--color-red_99, #220000)}.bg-red_95{background-color:var(--color-red_95, #440000)}.bg-red_90{background-color:var(--color-red_90, #5e0000)}.bg-red_85{background-color:var(--color-red_85, #820000)}.bg-red_80{background-color:var(--color-red_80, #ad0000)}.bg-red_75{background-color:var(--color-red_75, #e30000)}.bg-red_70{background-color:var(--color-red_70, #fb4444)}.bg-red_60{background-color:var(--color-red_60, #ff7c7c)}.bg-red_45{background-color:var(--color-red_45, #ffb5b5)}.bg-red_30{background-color:var(--color-red_30, #ffd3d3)}.bg-red_20{background-color:var(--color-red_20, #fce6e6)}.bg-red_15{background-color:var(--color-red_15, #fcefef)}.bg-caution_bg{background-color:var(--color-caution_bg, #fef1f1)}.bg-caution_icon{background-color:var(--color-caution_icon, #fd9595)}.bg-orange_99{background-color:var(--color-orange_99, #2f1100)}.bg-orange_95{background-color:var(--color-orange_95, #4d1b00)}.bg-orange_90{background-color:var(--color-orange_90, #752a00)}.bg-orange_85{background-color:var(--color-orange_85, #9b3700)}.bg-orange_75{background-color:var(--color-orange_75, #ce4900)}.bg-orange_65{background-color:var(--color-orange_65, #ff6b00)}.bg-orange_60{background-color:var(--color-orange_60, #ff7f22)}.bg-orange_55{background-color:var(--color-orange_55, #ffa452)}.bg-orange_45{background-color:var(--color-orange_45, #ffbc81)}.bg-orange_35{background-color:var(--color-orange_35, #ffd5af)}.bg-orange_20{background-color:var(--color-orange_20, #ffead7)}.bg-orange_10{background-color:var(--color-orange_10, #fef1ea)}.bg-header_alert{background-color:var(--color-header_alert, #ff7a00)}.bg-yellow_95{background-color:var(--color-yellow_95, #322700)}.bg-yellow_90{background-color:var(--color-yellow_90, #453702)}.bg-yellow_80{background-color:var(--color-yellow_80, #6c5602)}.bg-yellow_70{background-color:var(--color-yellow_70, #9c7a00)}.bg-yellow_60{background-color:var(--color-yellow_60, #c49900)}.bg-yellow_50{background-color:var(--color-yellow_50, #ebb800)}.bg-yellow_45{background-color:var(--color-yellow_45, #ffc700)}.bg-yellow_40{background-color:var(--color-yellow_40, #ffd643)}.bg-yellow_30{background-color:var(--color-yellow_30, #fee17c)}.bg-yellow_25{background-color:var(--color-yellow_25, #ffe99e)}.bg-yellow_20{background-color:var(--color-yellow_20, #fef1c4)}.bg-yellow_10{background-color:var(--color-yellow_10, #fff7dd)}.bg-olive_95{background-color:var(--color-olive_95, #2c2c00)}.bg-olive_90{background-color:var(--color-olive_90, #454500)}.bg-olive_80{background-color:var(--color-olive_80, #636300)}.bg-olive_70{background-color:var(--color-olive_70, #838300)}.bg-olive_65{background-color:var(--color-olive_65, #a5a500)}.bg-olive_55{background-color:var(--color-olive_55, #c7c700)}.bg-olive_45{background-color:var(--color-olive_45, #dddd12)}.bg-olive_30{background-color:var(--color-olive_30, #eeee37)}.bg-olive_20{background-color:var(--color-olive_20, #f6f65f)}.bg-olive_15{background-color:var(--color-olive_15, #fafaa1)}.bg-olive_10{background-color:var(--color-olive_10, #fbfbbf)}.bg-olive_05{background-color:var(--color-olive_05, #fefed9)}.bg-green_99{background-color:var(--color-green_99, #001d0b)}.bg-green_95{background-color:var(--color-green_95, #003013)}.bg-green_90{background-color:var(--color-green_90, #00461c)}.bg-green_85{background-color:var(--color-green_85, #006629)}.bg-green_80{background-color:var(--color-green_80, #007b31)}.bg-green_75{background-color:var(--color-green_75, #00973c)}.bg-green_70{background-color:var(--color-green_70, #12b553)}.bg-green_65{background-color:var(--color-green_65, #2bce6c)}.bg-green_55{background-color:var(--color-green_55, #6de39c)}.bg-green_45{background-color:var(--color-green_45, #acf4c9)}.bg-green_25{background-color:var(--color-green_25, #d4fae3)}.bg-green_15{background-color:var(--color-green_15, #e8f9ef)}.bg-steelblue_99{background-color:var(--color-steelblue_99, #021a25)}.bg-steelblue_95{background-color:var(--color-steelblue_95, #02212f)}.bg-steelblue_90{background-color:var(--color-steelblue_90, #032d40)}.bg-steelblue_85{background-color:var(--color-steelblue_85, #033f59)}.bg-steelblue_80{background-color:var(--color-steelblue_80, #06587d)}.bg-steelblue_75{background-color:var(--color-steelblue_75, #066d9b)}.bg-steelblue_70{background-color:var(--color-steelblue_70, #128fc7)}.bg-steelblue_65{background-color:var(--color-steelblue_65, #229fd7)}.bg-steelblue_60{background-color:var(--color-steelblue_60, #50bff0)}.bg-steelblue_45{background-color:var(--color-steelblue_45, #a4e2fd)}.bg-steelblue_25{background-color:var(--color-steelblue_25, #d9f2fd)}.bg-steelblue_10{background-color:var(--color-steelblue_10, #ecf8fd)}.bg-oceanblue_99{background-color:var(--color-oceanblue_99, #011428)}.bg-oceanblue_95{background-color:var(--color-oceanblue_95, #03172d)}.bg-oceanblue_90{background-color:var(--color-oceanblue_90, #051d36)}.bg-oceanblue_85{background-color:var(--color-oceanblue_85, #07284a)}.bg-oceanblue_80{background-color:var(--color-oceanblue_80, #004177)}.bg-oceanblue_75{background-color:var(--color-oceanblue_75, #025497)}.bg-oceanblue_70{background-color:var(--color-oceanblue_70, #006ac1)}.bg-oceanblue_65{background-color:var(--color-oceanblue_65, #1f8ae1)}.bg-oceanblue_60{background-color:var(--color-oceanblue_60, #5cb0f3)}.bg-oceanblue_50{background-color:var(--color-oceanblue_50, #9cd1fc)}.bg-oceanblue_25{background-color:var(--color-oceanblue_25, #d5ebfe)}.bg-oceanblue_15{background-color:var(--color-oceanblue_15, #eaf5fe)}.bg-brilliantblue_99{background-color:var(--color-brilliantblue_99, #001226)}.bg-brilliantblue_95{background-color:var(--color-brilliantblue_95, #001b39)}.bg-brilliantblue_90{background-color:var(--color-brilliantblue_90, #002b5e)}.bg-brilliantblue_85{background-color:var(--color-brilliantblue_85, #004290)}.bg-brilliantblue_80{background-color:var(--color-brilliantblue_80, #005cc9)}.bg-brilliantblue_75{background-color:var(--color-brilliantblue_75, #0075ff)}.bg-brilliantblue_70{background-color:var(--color-brilliantblue_70, #2d8dff)}.bg-brilliantblue_60{background-color:var(--color-brilliantblue_60, #64abff)}.bg-brilliantblue_50{background-color:var(--color-brilliantblue_50, #93c4ff)}.bg-brilliantblue_40{background-color:var(--color-brilliantblue_40, #bbdaff)}.bg-brilliantblue_25{background-color:var(--color-brilliantblue_25, #d9eaff)}.bg-brilliantblue_20{background-color:var(--color-brilliantblue_20, #e6f1ff)}.bg-brilliantblue_10{background-color:var(--color-brilliantblue_10, #eff6ff)}.bg-brilliantblue_05{background-color:var(--color-brilliantblue_05, #f5faff)}.bg-grey_95{background-color:var(--color-grey_95, #222222)}.bg-grey_90{background-color:var(--color-grey_90, #333333)}.bg-grey_85{background-color:var(--color-grey_85, #444444)}.bg-grey_80{background-color:var(--color-grey_80, #555555)}.bg-grey_70{background-color:var(--color-grey_70, #737373)}.bg-grey_65{background-color:var(--color-grey_65, #888888)}.bg-grey_60{background-color:var(--color-grey_60, #999999)}.bg-grey_55{background-color:var(--color-grey_55, #aaaaaa)}.bg-grey_50{background-color:var(--color-grey_50, #bbbbbb)}.bg-grey_45{background-color:var(--color-grey_45, #cccccc)}.bg-grey_35{background-color:var(--color-grey_35, #d8d8d8)}.bg-grey_30{background-color:var(--color-grey_30, #e1e1e1)}.bg-grey_25{background-color:var(--color-grey_25, #e5e5e5)}.bg-grey_20{background-color:var(--color-grey_20, #eeeeee)}.bg-grey_10{background-color:var(--color-grey_10, #f6f6f6)}.bg-grey_05{background-color:var(--color-grey_05, #f9f9f9)}.bg-white{background-color:var(--color-white, #ffffff)}.bg-black{background-color:var(--color-black, #000000)}.text-primary{color:var(--color-primary, #051d36)}.text-secondary{color:var(--color-secondary, #555555)}.text-accent{color:var(--color-accent, #9c27b0)}.text-positive{color:var(--color-positive, #0075ff)}.text-negative{color:var(--color-negative, #e30000)}.text-info{color:var(--color-info, #00cd52)}.text-warning{color:var(--color-warning, #f2c037)}.text-red_99{color:var(--color-red_99, #220000)}.text-red_95{color:var(--color-red_95, #440000)}.text-red_90{color:var(--color-red_90, #5e0000)}.text-red_85{color:var(--color-red_85, #820000)}.text-red_80{color:var(--color-red_80, #ad0000)}.text-red_75{color:var(--color-red_75, #e30000)}.text-red_70{color:var(--color-red_70, #fb4444)}.text-red_60{color:var(--color-red_60, #ff7c7c)}.text-red_45{color:var(--color-red_45, #ffb5b5)}.text-red_30{color:var(--color-red_30, #ffd3d3)}.text-red_20{color:var(--color-red_20, #fce6e6)}.text-red_15{color:var(--color-red_15, #fcefef)}.text-caution_bg{color:var(--color-caution_bg, #fef1f1)}.text-caution_icon{color:var(--color-caution_icon, #fd9595)}.text-orange_99{color:var(--color-orange_99, #2f1100)}.text-orange_95{color:var(--color-orange_95, #4d1b00)}.text-orange_90{color:var(--color-orange_90, #752a00)}.text-orange_85{color:var(--color-orange_85, #9b3700)}.text-orange_75{color:var(--color-orange_75, #ce4900)}.text-orange_65{color:var(--color-orange_65, #ff6b00)}.text-orange_60{color:var(--color-orange_60, #ff7f22)}.text-orange_55{color:var(--color-orange_55, #ffa452)}.text-orange_45{color:var(--color-orange_45, #ffbc81)}.text-orange_35{color:var(--color-orange_35, #ffd5af)}.text-orange_20{color:var(--color-orange_20, #ffead7)}.text-orange_10{color:var(--color-orange_10, #fef1ea)}.text-header_alert{color:var(--color-header_alert, #ff7a00)}.text-yellow_95{color:var(--color-yellow_95, #322700)}.text-yellow_90{color:var(--color-yellow_90, #453702)}.text-yellow_80{color:var(--color-yellow_80, #6c5602)}.text-yellow_70{color:var(--color-yellow_70, #9c7a00)}.text-yellow_60{color:var(--color-yellow_60, #c49900)}.text-yellow_50{color:var(--color-yellow_50, #ebb800)}.text-yellow_45{color:var(--color-yellow_45, #ffc700)}.text-yellow_40{color:var(--color-yellow_40, #ffd643)}.text-yellow_30{color:var(--color-yellow_30, #fee17c)}.text-yellow_25{color:var(--color-yellow_25, #ffe99e)}.text-yellow_20{color:var(--color-yellow_20, #fef1c4)}.text-yellow_10{color:var(--color-yellow_10, #fff7dd)}.text-olive_95{color:var(--color-olive_95, #2c2c00)}.text-olive_90{color:var(--color-olive_90, #454500)}.text-olive_80{color:var(--color-olive_80, #636300)}.text-olive_70{color:var(--color-olive_70, #838300)}.text-olive_65{color:var(--color-olive_65, #a5a500)}.text-olive_55{color:var(--color-olive_55, #c7c700)}.text-olive_45{color:var(--color-olive_45, #dddd12)}.text-olive_30{color:var(--color-olive_30, #eeee37)}.text-olive_20{color:var(--color-olive_20, #f6f65f)}.text-olive_15{color:var(--color-olive_15, #fafaa1)}.text-olive_10{color:var(--color-olive_10, #fbfbbf)}.text-olive_05{color:var(--color-olive_05, #fefed9)}.text-green_99{color:var(--color-green_99, #001d0b)}.text-green_95{color:var(--color-green_95, #003013)}.text-green_90{color:var(--color-green_90, #00461c)}.text-green_85{color:var(--color-green_85, #006629)}.text-green_80{color:var(--color-green_80, #007b31)}.text-green_75{color:var(--color-green_75, #00973c)}.text-green_70{color:var(--color-green_70, #12b553)}.text-green_65{color:var(--color-green_65, #2bce6c)}.text-green_55{color:var(--color-green_55, #6de39c)}.text-green_45{color:var(--color-green_45, #acf4c9)}.text-green_25{color:var(--color-green_25, #d4fae3)}.text-green_15{color:var(--color-green_15, #e8f9ef)}.text-steelblue_99{color:var(--color-steelblue_99, #021a25)}.text-steelblue_95{color:var(--color-steelblue_95, #02212f)}.text-steelblue_90{color:var(--color-steelblue_90, #032d40)}.text-steelblue_85{color:var(--color-steelblue_85, #033f59)}.text-steelblue_80{color:var(--color-steelblue_80, #06587d)}.text-steelblue_75{color:var(--color-steelblue_75, #066d9b)}.text-steelblue_70{color:var(--color-steelblue_70, #128fc7)}.text-steelblue_65{color:var(--color-steelblue_65, #229fd7)}.text-steelblue_60{color:var(--color-steelblue_60, #50bff0)}.text-steelblue_45{color:var(--color-steelblue_45, #a4e2fd)}.text-steelblue_25{color:var(--color-steelblue_25, #d9f2fd)}.text-steelblue_10{color:var(--color-steelblue_10, #ecf8fd)}.text-oceanblue_99{color:var(--color-oceanblue_99, #011428)}.text-oceanblue_95{color:var(--color-oceanblue_95, #03172d)}.text-oceanblue_90{color:var(--color-oceanblue_90, #051d36)}.text-oceanblue_85{color:var(--color-oceanblue_85, #07284a)}.text-oceanblue_80{color:var(--color-oceanblue_80, #004177)}.text-oceanblue_75{color:var(--color-oceanblue_75, #025497)}.text-oceanblue_70{color:var(--color-oceanblue_70, #006ac1)}.text-oceanblue_65{color:var(--color-oceanblue_65, #1f8ae1)}.text-oceanblue_60{color:var(--color-oceanblue_60, #5cb0f3)}.text-oceanblue_50{color:var(--color-oceanblue_50, #9cd1fc)}.text-oceanblue_25{color:var(--color-oceanblue_25, #d5ebfe)}.text-oceanblue_15{color:var(--color-oceanblue_15, #eaf5fe)}.text-brilliantblue_99{color:var(--color-brilliantblue_99, #001226)}.text-brilliantblue_95{color:var(--color-brilliantblue_95, #001b39)}.text-brilliantblue_90{color:var(--color-brilliantblue_90, #002b5e)}.text-brilliantblue_85{color:var(--color-brilliantblue_85, #004290)}.text-brilliantblue_80{color:var(--color-brilliantblue_80, #005cc9)}.text-brilliantblue_75{color:var(--color-brilliantblue_75, #0075ff)}.text-brilliantblue_70{color:var(--color-brilliantblue_70, #2d8dff)}.text-brilliantblue_60{color:var(--color-brilliantblue_60, #64abff)}.text-brilliantblue_50{color:var(--color-brilliantblue_50, #93c4ff)}.text-brilliantblue_40{color:var(--color-brilliantblue_40, #bbdaff)}.text-brilliantblue_25{color:var(--color-brilliantblue_25, #d9eaff)}.text-brilliantblue_20{color:var(--color-brilliantblue_20, #e6f1ff)}.text-brilliantblue_10{color:var(--color-brilliantblue_10, #eff6ff)}.text-brilliantblue_05{color:var(--color-brilliantblue_05, #f5faff)}.text-grey_95{color:var(--color-grey_95, #222222)}.text-grey_90{color:var(--color-grey_90, #333333)}.text-grey_85{color:var(--color-grey_85, #444444)}.text-grey_80{color:var(--color-grey_80, #555555)}.text-grey_70{color:var(--color-grey_70, #737373)}.text-grey_65{color:var(--color-grey_65, #888888)}.text-grey_60{color:var(--color-grey_60, #999999)}.text-grey_55{color:var(--color-grey_55, #aaaaaa)}.text-grey_50{color:var(--color-grey_50, #bbbbbb)}.text-grey_45{color:var(--color-grey_45, #cccccc)}.text-grey_35{color:var(--color-grey_35, #d8d8d8)}.text-grey_30{color:var(--color-grey_30, #e1e1e1)}.text-grey_25{color:var(--color-grey_25, #e5e5e5)}.text-grey_20{color:var(--color-grey_20, #eeeeee)}.text-grey_10{color:var(--color-grey_10, #f6f6f6)}.text-grey_05{color:var(--color-grey_05, #f9f9f9)}.text-white{color:var(--color-white, #ffffff)}.text-black{color:var(--color-black, #000000)}*,*::before,*::after{box-sizing:border-box}*{scroll-behavior:smooth}*::-webkit-scrollbar{opacity:0;width:8px;background:#E5E5E5}*::-webkit-scrollbar:horizontal{height:8px}*::-webkit-scrollbar-thumb{height:80px;background-color:#CCCCCC;border-radius:4px}*::-webkit-scrollbar-track{background-color:#E5E5E5}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin-block-end:0}ul[role=list],ol[role=list]{list-style:none}body{min-height:100vh;line-height:1.5}h1,h2,h3,h4,button,input,label{line-height:1}h1,h2,h3,h4{text-wrap:balance}a:not([class]){text-decoration-skip-ink:auto;color:currentColor}img,picture{max-width:100%;display:block}input,button,textarea,select{font-size:inherit}:target{scroll-margin-block:5ex}button{background:none;border:none;cursor:pointer;padding:0;outline:0}button:focus{outline:0 !important}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-text-fill-color:#000;-webkit-box-shadow:0 0 0px 1000px #fff inset;box-shadow:0 0 0px 1000px #fff inset;transition:background-color 5000s ease-in-out 0s}input:autofill,input:autofill:hover,input:autofill:focus,input:autofill:active{-webkit-text-fill-color:#000;-webkit-box-shadow:0 0 0px 1000px #fff inset;box-shadow:0 0 0px 1000px #fff inset;transition:background-color 5000s ease-in-out 0s}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}input[type=text],input[type=number],input[type=password],input[type=email],input[type=tel],textarea{padding-block:0px;padding-inline:0px}.sd-hoverable:hover>.sd-focus-helper{background:currentColor;opacity:0.15}.sd-hoverable:hover>.sd-focus-helper:before{opacity:0.1}.sd-hoverable:hover>.sd-focus-helper:after{opacity:0.4}.sd-focus-helper{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:inherit;opacity:0;transition:background-color 0.3s cubic-bezier(0.25, 0.8, 0.5, 1), opacity 0.4s cubic-bezier(0.25, 0.8, 0.5, 1)}.sd-focus-helper:before,.sd-focus-helper:after{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;border-radius:inherit;transition:background-color 0.3s cubic-bezier(0.25, 0.8, 0.5, 1), opacity 0.6s cubic-bezier(0.25, 0.8, 0.5, 1)}.sd-focus-helper:before{background:#000000}.sd-focus-helper:after{background:#ffffff}";
139
+ const globalStyles = ":root{--color-primary:#051D36;--sd-primary:#051D36;--color-secondary:#555555;--sd-secondary:#555555;--color-accent:#9C27B0;--sd-accent:#9C27B0;--color-positive:#0075FF;--sd-positive:#0075FF;--color-negative:#E30000;--sd-negative:#E30000;--color-info:#00CD52;--sd-info:#00CD52;--color-warning:#F2C037;--sd-warning:#F2C037;--color-caution_bg:#FEF1F1;--sd-caution_bg:#FEF1F1;--color-caution_icon:#FD9595;--sd-caution_icon:#FD9595;--color-header_alert:#FF7A00;--sd-header_alert:#FF7A00;--color-white:#FFFFFF;--sd-white:#FFFFFF;--color-black:#000000;--sd-black:#000000;--color-grey_10:#F6F6F6;--sd-grey_10:#F6F6F6;--color-grey_20:#EEEEEE;--sd-grey_20:#EEEEEE;--color-grey_25:#E5E5E5;--sd-grey_25:#E5E5E5;--color-grey_30:#E1E1E1;--sd-grey_30:#E1E1E1;--color-grey_35:#D8D8D8;--sd-grey_35:#D8D8D8;--color-grey_45:#CCCCCC;--sd-grey_45:#CCCCCC;--color-grey_50:#BBBBBB;--sd-grey_50:#BBBBBB;--color-grey_55:#AAAAAA;--sd-grey_55:#AAAAAA;--color-grey_60:#999999;--sd-grey_60:#999999;--color-grey_65:#888888;--sd-grey_65:#888888;--color-grey_70:#737373;--sd-grey_70:#737373;--color-grey_80:#555555;--sd-grey_80:#555555;--color-grey_85:#444444;--sd-grey_85:#444444;--color-grey_90:#333333;--sd-grey_90:#333333;--color-grey_95:#222222;--sd-grey_95:#222222;--color-grey_05:#F9F9F9;--sd-grey_05:#F9F9F9;--color-red_15:#FCEFEF;--sd-red_15:#FCEFEF;--color-red_20:#FCE6E6;--sd-red_20:#FCE6E6;--color-red_30:#FFD3D3;--sd-red_30:#FFD3D3;--color-red_45:#FFB5B5;--sd-red_45:#FFB5B5;--color-red_60:#FF7C7C;--sd-red_60:#FF7C7C;--color-red_70:#FB4444;--sd-red_70:#FB4444;--color-red_75:#E30000;--sd-red_75:#E30000;--color-red_75_006:#E30000;--sd-red_75_006:#E30000;--color-red_80:#AD0000;--sd-red_80:#AD0000;--color-red_85:#820000;--sd-red_85:#820000;--color-red_90:#5E0000;--sd-red_90:#5E0000;--color-red_95:#440000;--sd-red_95:#440000;--color-red_99:#220000;--sd-red_99:#220000;--color-orange_10:#FEF1EA;--sd-orange_10:#FEF1EA;--color-orange_20:#FFEAD7;--sd-orange_20:#FFEAD7;--color-orange_35:#FFD5AF;--sd-orange_35:#FFD5AF;--color-orange_45:#FFBC81;--sd-orange_45:#FFBC81;--color-orange_55:#FFA452;--sd-orange_55:#FFA452;--color-orange_60:#FF7F22;--sd-orange_60:#FF7F22;--color-orange_65:#FF6B00;--sd-orange_65:#FF6B00;--color-orange_75:#CE4900;--sd-orange_75:#CE4900;--color-orange_85:#9B3700;--sd-orange_85:#9B3700;--color-orange_90:#752A00;--sd-orange_90:#752A00;--color-orange_95:#4D1B00;--sd-orange_95:#4D1B00;--color-orange_99:#2F1100;--sd-orange_99:#2F1100;--color-yellow_10:#FFF7DD;--sd-yellow_10:#FFF7DD;--color-yellow_20:#FEF1C4;--sd-yellow_20:#FEF1C4;--color-yellow_25:#FFE99E;--sd-yellow_25:#FFE99E;--color-yellow_30:#FEE17C;--sd-yellow_30:#FEE17C;--color-yellow_40:#FFD643;--sd-yellow_40:#FFD643;--color-yellow_45:#FFC700;--sd-yellow_45:#FFC700;--color-yellow_50:#EBB110;--sd-yellow_50:#EBB110;--color-yellow_60:#CA9612;--sd-yellow_60:#CA9612;--color-yellow_70:#916C0D;--sd-yellow_70:#916C0D;--color-yellow_80:#6C5002;--sd-yellow_80:#6C5002;--color-yellow_90:#453602;--sd-yellow_90:#453602;--color-yellow_95:#322700;--sd-yellow_95:#322700;--color-olive_10:#FBFBBF;--sd-olive_10:#FBFBBF;--color-olive_15:#FAFAA1;--sd-olive_15:#FAFAA1;--color-olive_20:#F6F65F;--sd-olive_20:#F6F65F;--color-olive_30:#EEEE37;--sd-olive_30:#EEEE37;--color-olive_45:#DDDD12;--sd-olive_45:#DDDD12;--color-olive_55:#C7C700;--sd-olive_55:#C7C700;--color-olive_65:#A5A500;--sd-olive_65:#A5A500;--color-olive_70:#838300;--sd-olive_70:#838300;--color-olive_80:#636300;--sd-olive_80:#636300;--color-olive_90:#454500;--sd-olive_90:#454500;--color-olive_95:#2C2C00;--sd-olive_95:#2C2C00;--color-olive_05:#FEFED9;--sd-olive_05:#FEFED9;--color-green_15:#E8F9EF;--sd-green_15:#E8F9EF;--color-green_25:#D4FAE3;--sd-green_25:#D4FAE3;--color-green_45:#ACF4C9;--sd-green_45:#ACF4C9;--color-green_55:#6DE39C;--sd-green_55:#6DE39C;--color-green_65:#2BCE6C;--sd-green_65:#2BCE6C;--color-green_70:#12B553;--sd-green_70:#12B553;--color-green_75:#00973C;--sd-green_75:#00973C;--color-green_80:#007B31;--sd-green_80:#007B31;--color-green_85:#006629;--sd-green_85:#006629;--color-green_90:#00461C;--sd-green_90:#00461C;--color-green_95:#003013;--sd-green_95:#003013;--color-green_99:#001D0B;--sd-green_99:#001D0B;--color-steelblue_10:#ECF8FD;--sd-steelblue_10:#ECF8FD;--color-steelblue_25:#D9F2FD;--sd-steelblue_25:#D9F2FD;--color-steelblue_45:#A4E2FD;--sd-steelblue_45:#A4E2FD;--color-steelblue_60:#50BFF0;--sd-steelblue_60:#50BFF0;--color-steelblue_65:#229FD7;--sd-steelblue_65:#229FD7;--color-steelblue_70:#128FC7;--sd-steelblue_70:#128FC7;--color-steelblue_75:#066D9B;--sd-steelblue_75:#066D9B;--color-steelblue_80:#06587D;--sd-steelblue_80:#06587D;--color-steelblue_85:#033F59;--sd-steelblue_85:#033F59;--color-steelblue_90:#032D40;--sd-steelblue_90:#032D40;--color-steelblue_95:#02212F;--sd-steelblue_95:#02212F;--color-steelblue_99:#021A25;--sd-steelblue_99:#021A25;--color-oceanblue_15:#EAF5FE;--sd-oceanblue_15:#EAF5FE;--color-oceanblue_25:#D5EBFE;--sd-oceanblue_25:#D5EBFE;--color-oceanblue_50:#9CD1FC;--sd-oceanblue_50:#9CD1FC;--color-oceanblue_60:#5CB0F3;--sd-oceanblue_60:#5CB0F3;--color-oceanblue_65:#1F8AE1;--sd-oceanblue_65:#1F8AE1;--color-oceanblue_70:#006AC1;--sd-oceanblue_70:#006AC1;--color-oceanblue_75:#025497;--sd-oceanblue_75:#025497;--color-oceanblue_80:#004177;--sd-oceanblue_80:#004177;--color-oceanblue_85:#07284A;--sd-oceanblue_85:#07284A;--color-oceanblue_90:#051D36;--sd-oceanblue_90:#051D36;--color-oceanblue_95:#03172D;--sd-oceanblue_95:#03172D;--color-oceanblue_99:#011428;--sd-oceanblue_99:#011428;--color-brilliantblue_10:#EFF6FF;--sd-brilliantblue_10:#EFF6FF;--color-brilliantblue_20:#E6F1FF;--sd-brilliantblue_20:#E6F1FF;--color-brilliantblue_25:#D9EAFF;--sd-brilliantblue_25:#D9EAFF;--color-brilliantblue_40:#BBDAFF;--sd-brilliantblue_40:#BBDAFF;--color-brilliantblue_50:#93C4FF;--sd-brilliantblue_50:#93C4FF;--color-brilliantblue_60:#64ABFF;--sd-brilliantblue_60:#64ABFF;--color-brilliantblue_70:#2D8DFF;--sd-brilliantblue_70:#2D8DFF;--color-brilliantblue_75:#0075FF;--sd-brilliantblue_75:#0075FF;--color-brilliantblue_80:#005CC9;--sd-brilliantblue_80:#005CC9;--color-brilliantblue_85:#004290;--sd-brilliantblue_85:#004290;--color-brilliantblue_90:#002B5E;--sd-brilliantblue_90:#002B5E;--color-brilliantblue_95:#001B39;--sd-brilliantblue_95:#001B39;--color-brilliantblue_99:#001226;--sd-brilliantblue_99:#001226;--color-brilliantblue_05:#F5FAFF;--sd-brilliantblue_05:#F5FAFF;--sd-system-typography-control-xs-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-xs-default-font-size:12px;--sd-system-typography-control-xs-default-font-weight:400;--sd-system-typography-control-xs-default-text-decoration:none;--sd-system-typography-control-xs-default-line-height:20px;--sd-system-typography-control-xs-medium-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-xs-medium-font-size:12px;--sd-system-typography-control-xs-medium-font-weight:500;--sd-system-typography-control-xs-medium-text-decoration:none;--sd-system-typography-control-xs-medium-line-height:20px;--sd-system-typography-control-xs-underline-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-xs-underline-font-size:12px;--sd-system-typography-control-xs-underline-font-weight:500;--sd-system-typography-control-xs-underline-text-decoration:underline;--sd-system-typography-control-xs-underline-line-height:20px;--sd-system-typography-control-xs-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-xs-bold-font-weight:700;--sd-system-typography-control-xs-bold-font-size:12px;--sd-system-typography-control-xs-bold-line-height:20px;--sd-system-typography-control-xs-bold-text-decoration:none;--sd-system-typography-control-sm-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-sm-default-font-size:14px;--sd-system-typography-control-sm-default-font-weight:500;--sd-system-typography-control-sm-default-text-decoration:none;--sd-system-typography-control-sm-default-line-height:24px;--sd-system-typography-control-sm-underline-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-sm-underline-font-size:14px;--sd-system-typography-control-sm-underline-font-weight:500;--sd-system-typography-control-sm-underline-text-decoration:underline;--sd-system-typography-control-sm-underline-line-height:24px;--sd-system-typography-control-md-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-md-default-font-size:16px;--sd-system-typography-control-md-default-font-weight:500;--sd-system-typography-control-md-default-text-decoration:none;--sd-system-typography-control-md-default-line-height:26px;--sd-system-typography-control-md-underline-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-md-underline-font-size:16px;--sd-system-typography-control-md-underline-font-weight:500;--sd-system-typography-control-md-underline-text-decoration:underline;--sd-system-typography-control-md-underline-line-height:26px;--sd-system-typography-control-lg-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-control-lg-font-size:18px;--sd-system-typography-control-lg-font-weight:500;--sd-system-typography-control-lg-text-decoration:none;--sd-system-typography-control-lg-line-height:30px;--sd-system-typography-feedback-xs-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-feedback-xs-font-size:11px;--sd-system-typography-feedback-xs-font-weight:500;--sd-system-typography-feedback-xs-line-height:18px;--sd-system-typography-feedback-xs-text-decoration:none;--sd-system-typography-feedback-sm-regular-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-feedback-sm-regular-font-size:12px;--sd-system-typography-feedback-sm-regular-font-weight:400;--sd-system-typography-feedback-sm-regular-line-height:20px;--sd-system-typography-feedback-sm-regular-text-decoration:none;--sd-system-typography-feedback-sm-medium-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-feedback-sm-medium-font-size:12px;--sd-system-typography-feedback-sm-medium-font-weight:500;--sd-system-typography-feedback-sm-medium-line-height:20px;--sd-system-typography-feedback-sm-medium-text-decoration:none;--sd-system-typography-feedback-sm-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-feedback-sm-bold-font-size:12px;--sd-system-typography-feedback-sm-bold-font-weight:700;--sd-system-typography-feedback-sm-bold-text-decoration:none;--sd-system-typography-feedback-sm-bold-line-height:20px;--sd-system-typography-feedback-sm-underline-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-feedback-sm-underline-font-size:12px;--sd-system-typography-feedback-sm-underline-font-weight:500;--sd-system-typography-feedback-sm-underline-line-height:20px;--sd-system-typography-feedback-sm-underline-text-decoration:underline;--sd-system-typography-feedback-md-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-feedback-md-bold-font-size:14px;--sd-system-typography-feedback-md-bold-font-weight:700;--sd-system-typography-feedback-md-bold-line-height:24px;--sd-system-typography-feedback-md-bold-text-decoration:none;--sd-system-typography-feedback-md-medium-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-feedback-md-medium-font-size:14px;--sd-system-typography-feedback-md-medium-font-weight:500;--sd-system-typography-feedback-md-medium-line-height:24px;--sd-system-typography-feedback-md-medium-text-decoration:none;--sd-system-typography-feedback-md-underline-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-feedback-md-underline-font-size:14px;--sd-system-typography-feedback-md-underline-font-weight:700;--sd-system-typography-feedback-md-underline-line-height:24px;--sd-system-typography-feedback-md-underline-text-decoration:underline;--sd-system-typography-heading-sm-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-heading-sm-font-weight:700;--sd-system-typography-heading-sm-font-size:14px;--sd-system-typography-heading-sm-line-height:24px;--sd-system-typography-heading-sm-text-decoration:none;--sd-system-typography-heading-md-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-heading-md-font-weight:700;--sd-system-typography-heading-md-font-size:16px;--sd-system-typography-heading-md-text-decoration:none;--sd-system-typography-heading-md-line-height:26px;--sd-system-typography-heading-lg-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-heading-lg-font-weight:700;--sd-system-typography-heading-lg-font-size:18px;--sd-system-typography-heading-lg-line-height:30px;--sd-system-typography-heading-lg-text-decoration:none;--sd-system-typography-field-xs-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-xs-default-font-weight:400;--sd-system-typography-field-xs-default-font-size:11px;--sd-system-typography-field-xs-default-line-height:18px;--sd-system-typography-field-xs-default-text-decoration:none;--sd-system-typography-field-sm-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-sm-default-font-weight:400;--sd-system-typography-field-sm-default-font-size:12px;--sd-system-typography-field-sm-default-line-height:20px;--sd-system-typography-field-sm-default-text-decoration:none;--sd-system-typography-field-sm-medium-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-sm-medium-font-weight:500;--sd-system-typography-field-sm-medium-font-size:12px;--sd-system-typography-field-sm-medium-text-decoration:none;--sd-system-typography-field-sm-medium-line-height:20px;--sd-system-typography-field-sm-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-sm-bold-font-weight:700;--sd-system-typography-field-sm-bold-font-size:12px;--sd-system-typography-field-sm-bold-text-decoration:none;--sd-system-typography-field-sm-bold-line-height:20px;--sd-system-typography-field-md-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-md-default-font-weight:400;--sd-system-typography-field-md-default-font-size:14px;--sd-system-typography-field-md-default-text-decoration:none;--sd-system-typography-field-md-default-line-height:24px;--sd-system-typography-field-md-medium-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-md-medium-font-weight:500;--sd-system-typography-field-md-medium-font-size:14px;--sd-system-typography-field-md-medium-text-decoration:none;--sd-system-typography-field-md-medium-line-height:24px;--sd-system-typography-field-md-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-md-bold-font-weight:700;--sd-system-typography-field-md-bold-font-size:14px;--sd-system-typography-field-md-bold-text-decoration:none;--sd-system-typography-field-md-bold-line-height:24px;--sd-system-typography-field-lg-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-lg-default-font-weight:400;--sd-system-typography-field-lg-default-font-size:16px;--sd-system-typography-field-lg-default-line-height:26px;--sd-system-typography-field-lg-default-text-decoration:none;--sd-system-typography-field-lg-medium-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-lg-medium-font-weight:500;--sd-system-typography-field-lg-medium-font-size:16px;--sd-system-typography-field-lg-medium-line-height:26px;--sd-system-typography-field-lg-medium-text-decoration:none;--sd-system-typography-field-lg-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-field-lg-bold-font-weight:700;--sd-system-typography-field-lg-bold-font-size:16px;--sd-system-typography-field-lg-bold-line-height:26px;--sd-system-typography-field-lg-bold-text-decoration:none;--sd-system-typography-navigation-sm-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-navigation-sm-default-font-weight:400;--sd-system-typography-navigation-sm-default-font-size:12px;--sd-system-typography-navigation-sm-default-line-height:20px;--sd-system-typography-navigation-sm-default-text-decoration:none;--sd-system-typography-navigation-sm-medium-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-navigation-sm-medium-font-weight:500;--sd-system-typography-navigation-sm-medium-font-size:12px;--sd-system-typography-navigation-sm-medium-line-height:20px;--sd-system-typography-navigation-sm-medium-text-decoration:none;--sd-system-typography-navigation-sm-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-navigation-sm-bold-font-weight:700;--sd-system-typography-navigation-sm-bold-font-size:12px;--sd-system-typography-navigation-sm-bold-line-height:20px;--sd-system-typography-navigation-sm-bold-text-decoration:none;--sd-system-typography-navigation-md-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-navigation-md-bold-font-weight:700;--sd-system-typography-navigation-md-bold-font-size:13px;--sd-system-typography-navigation-md-bold-line-height:22px;--sd-system-typography-navigation-md-bold-text-decoration:none;--sd-system-typography-navigation-lg-medium-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-navigation-lg-medium-font-weight:500;--sd-system-typography-navigation-lg-medium-font-size:14px;--sd-system-typography-navigation-lg-medium-line-height:24px;--sd-system-typography-navigation-lg-medium-text-decoration:none;--sd-system-typography-navigation-lg-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-navigation-lg-bold-font-weight:700;--sd-system-typography-navigation-lg-bold-font-size:14px;--sd-system-typography-navigation-lg-bold-line-height:24px;--sd-system-typography-navigation-lg-bold-text-decoration:none;--sd-system-typography-table-header-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-table-header-font-weight:500;--sd-system-typography-table-header-font-size:12px;--sd-system-typography-table-header-line-height:20px;--sd-system-typography-table-header-text-decoration:none;--sd-system-typography-table-body-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-table-body-font-weight:400;--sd-system-typography-table-body-font-size:12px;--sd-system-typography-table-body-line-height:20px;--sd-system-typography-table-body-text-decoration:none;--sd-system-typography-table-accent-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-system-typography-table-accent-font-weight:700;--sd-system-typography-table-accent-font-size:12px;--sd-system-typography-table-accent-line-height:20px;--sd-system-typography-table-accent-text-decoration:none;--sd-system-size-control-xs-height:24px;--sd-system-size-control-sm-height:28px;--sd-system-size-control-md-height:36px;--sd-system-size-control-lg-height:62px;--sd-system-size-icon-xxxs:8px;--sd-system-size-icon-xxs:10px;--sd-system-size-icon-xs:12px;--sd-system-size-icon-sm:16px;--sd-system-size-icon-md:20px;--sd-system-size-icon-lg:24px;--sd-system-size-icon-xl:32px;--sd-system-size-feedback-arrow-width:16px;--sd-system-size-feedback-arrow-height:12px;--sd-system-size-feedback-xs-height:20px;--sd-system-size-feedback-sm-height:24px;--sd-system-size-feedback-md-height:28px;--sd-system-size-field-control:16px;--sd-system-size-field-icon:12px;--sd-system-size-field-sm-height:28px;--sd-system-size-field-md-height:36px;--sd-system-size-navigation-lg-height:44px;--sd-system-size-navigation-md-height:36px;--sd-system-size-navigation-gnb-topbar-height:56px;--sd-system-size-table-height-xs:32px;--sd-system-size-table-height-sm:36px;--sd-system-size-table-height-md:44px;--sd-system-space-control-xs-padding-x:8px;--sd-system-space-control-xs-gap:4px;--sd-system-space-control-sm-padding-x:12px;--sd-system-space-control-sm-gap:6px;--sd-system-space-control-md-padding-x:20px;--sd-system-space-control-md-gap:8px;--sd-system-space-control-lg-padding-x:28px;--sd-system-space-control-lg-gap:12px;--sd-system-space-feedback-xs-padding-x:6px;--sd-system-space-feedback-xs-gap:4px;--sd-system-space-feedback-sm-padding-x:8px;--sd-system-space-feedback-sm-gap:6px;--sd-system-space-feedback-md-padding-x:12px;--sd-system-space-feedback-md-gap:8px;--sd-system-space-feedback-lg-padding-x:16px;--sd-system-space-feedback-lg-gap:12px;--sd-system-space-stack-gap-tight:2px;--sd-system-space-stack-gap-normal:4px;--sd-system-space-stack-gap-relaxed:8px;--sd-system-space-field-sm-padding-x:12px;--sd-system-space-field-sm-padding-y:4px;--sd-system-space-field-sm-container-gap:8px;--sd-system-space-field-sm-gap:12px;--sd-system-space-field-md-padding-x:16px;--sd-system-space-field-md-padding-y:8px;--sd-system-space-field-md-container-gap:12px;--sd-system-space-field-md-gap:16px;--sd-system-space-navigation-lg-padding-x:32px;--sd-system-space-navigation-md-padding-x:24px;--sd-system-space-table-padding-sm:8px;--sd-system-space-table-padding-md:16px;--sd-system-space-action-gap:16px;--sd-system-space-overlay-padding-x-sm:20px;--sd-system-space-overlay-padding-x-md:24px;--sd-system-space-overlay-padding-y-sm:8px;--sd-system-space-panel-gap:12px;--sd-system-radius-control-sm:4px;--sd-system-radius-control-md:6px;--sd-system-radius-feedback-xs-square:6px;--sd-system-radius-feedback-sm-square:8px;--sd-system-radius-feedback-pill:9999px;--sd-system-radius-field-sm:4px;--sd-system-radius-field-md:6px;--sd-system-radius-navigation:6px;--sd-system-border-width-control-default:1px;--sd-system-border-width-field-default:1px;--sd-system-border-width-navigation-default:1px;--sd-system-color-bg-screen:#EEEEEE;--sd-system-color-bg-frame:#FFFFFF;--sd-system-color-bg-brand:#025497;--sd-system-color-bg-subtle:#1F8AE1;--sd-system-color-bg-accent-default:#0075FF;--sd-system-color-bg-accent-light:#F5FAFF;--sd-system-color-bg-accent-light-default:#2D8DFF;--sd-system-color-bg-accent-light-light:#F5FAFF;--sd-system-color-bg-accent-bright-default:#D9EAFF;--sd-system-color-bg-accent-bright-light:#F5FAFF;--sd-system-color-bg-deep:#07284A;--sd-system-color-bg-danger-default:#E30000;--sd-system-color-bg-danger-light:#FCEFEF;--sd-system-color-bg-danger-light-default:#FB4444;--sd-system-color-bg-danger-light-light:#FCEFEF;--sd-system-color-bg-warning:#FF6B00;--sd-system-color-bg-caution:#FFC700;--sd-system-color-bg-progress:#0075FF;--sd-system-color-bg-success-default:#00973C;--sd-system-color-bg-success-light:#12B553;--sd-system-color-bg-success-light:#12B553;--sd-system-color-bg-neutral-light:#F6F6F6;--sd-system-color-bg-table-header:#F5FAFF;--sd-system-color-fg-primary:#222222;--sd-system-color-fg-secondary:#555555;--sd-system-color-fg-tertiary:#888888;--sd-system-color-fg-quaternary:#AAAAAA;--sd-system-color-fg-brand:#005CC9;--sd-system-color-fg-subtle-warm:#066D9B;--sd-system-color-fg-subtle-cool:#025497;--sd-system-color-fg-deep:#004290;--sd-system-color-fg-success:#00973C;--sd-system-color-fg-danger-light:#FB4444;--sd-system-color-fg-accent:#0075FF;--sd-system-color-fg-danger:#E30000;--sd-system-color-fg-warning:#FF6B00;--sd-system-color-fg-inverse:#FFFFFF;--sd-system-color-disabled-bg:#E1E1E1;--sd-system-color-disabled-text:#888888;--sd-system-color-disabled-icon:#BBBBBB;--sd-system-color-disabled-border:#CCCCCC;--sd-system-color-link-accent:#006AC1;--sd-system-color-divider-default:#E1E1E1;--sd-system-color-border-default:#E1E1E1;--sd-system-color-border-accent:#0075FF;--sd-system-color-border-accent-light:#93C4FF;--sd-system-color-border-danger:#FB4444;--sd-system-color-border-success:#12B553;--sd-system-color-red-strong:#FB4444;--sd-system-color-red-subtle:#FCEFEF;--sd-system-color-orange-strong:#FF6B00;--sd-system-color-orange-subtle:#FEF1EA;--sd-system-color-yellow-strong:#916C0D;--sd-system-color-yellow-moderate:#FFC700;--sd-system-color-yellow-subtle:#FFF7DD;--sd-system-color-green-strong:#00973C;--sd-system-color-green-subtle:#E8F9EF;--sd-system-color-blue-strong:#0075FF;--sd-system-color-blue-subtle:#E6F1FF;--sd-system-color-darkblue-strong:#006AC1;--sd-system-color-darkblue-subtle:#EAF5FE;--sd-system-color-indigo-strong:#004290;--sd-system-color-indigo-subtle:#EFF6FF;--sd-system-color-grey-strong:#737373;--sd-system-color-grey-subtle:#EEEEEE;--sd-system-color-field-bg-default:#FFFFFF;--sd-system-color-field-bg-hover:#0075FF;--sd-system-color-field-bg-read-only:#EEEEEE;--sd-system-color-field-border-default:#AAAAAA;--sd-system-color-field-border-focus:#0075FF;--sd-system-color-field-border-hover:#0075FF;--sd-system-color-field-border-danger:#FB4444;--sd-system-color-field-border-success:#12B553;--sd-system-color-field-text-default:#222222;--sd-system-color-field-text-placeholder:#AAAAAA;--sd-system-color-field-text-read-only:#555555;--sd-system-color-field-icon-default:#888888;--sd-system-color-control-bg-inverse-hover:#0075FF;--sd-system-color-navigation-gnb-bg-dark:#001B39;--sd-system-shadow-spread-sm-x:0px;--sd-system-shadow-spread-sm-y:0px;--sd-system-shadow-spread-sm-blur:8px;--sd-system-shadow-spread-sm-spread:0px;--sd-system-shadow-spread-sm-color:rgba(34,34,34,0.1);--sd-system-shadow-spread-sm-type:dropShadow;--sd-system-shadow-spread-md-x:0px;--sd-system-shadow-spread-md-y:0px;--sd-system-shadow-spread-md-blur:24px;--sd-system-shadow-spread-md-spread:0px;--sd-system-shadow-spread-md-color:rgba(34,34,34,0.2);--sd-system-shadow-spread-md-type:dropShadow;--sd-system-shadow-focus-x:0px;--sd-system-shadow-focus-y:0px;--sd-system-shadow-focus-blur:8px;--sd-system-shadow-focus-spread:0px;--sd-system-shadow-focus-color:rgba(0,117,255,0.25);--sd-system-shadow-focus-type:dropShadow;--sd-button-button-xs-height:24px;--sd-button-button-xs-padding-x:8px;--sd-button-button-xs-gap:4px;--sd-button-button-xs-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-button-button-xs-typography-font-size:12px;--sd-button-button-xs-typography-font-weight:500;--sd-button-button-xs-typography-text-decoration:none;--sd-button-button-xs-typography-line-height:20px;--sd-button-button-xs-icon:12px;--sd-button-button-sm-height:28px;--sd-button-button-sm-padding-x:12px;--sd-button-button-sm-gap:6px;--sd-button-button-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-button-button-sm-typography-font-size:12px;--sd-button-button-sm-typography-font-weight:500;--sd-button-button-sm-typography-text-decoration:none;--sd-button-button-sm-typography-line-height:20px;--sd-button-button-sm-icon:16px;--sd-button-button-md-height:36px;--sd-button-button-md-padding-x:20px;--sd-button-button-md-gap:8px;--sd-button-button-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-button-button-md-typography-font-size:16px;--sd-button-button-md-typography-font-weight:500;--sd-button-button-md-typography-text-decoration:none;--sd-button-button-md-typography-line-height:26px;--sd-button-button-md-icon:20px;--sd-button-button-lg-height:62px;--sd-button-button-lg-padding-x:28px;--sd-button-button-lg-gap:12px;--sd-button-button-lg-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-button-button-lg-typography-font-size:18px;--sd-button-button-lg-typography-font-weight:500;--sd-button-button-lg-typography-text-decoration:none;--sd-button-button-lg-typography-line-height:30px;--sd-button-button-lg-icon:24px;--sd-button-button-radius-sm:4px;--sd-button-button-radius-md:6px;--sd-button-button-border-width-default:1px;--sd-button-button-border-disabled:#CCCCCC;--sd-button-button-icon-only-xs-width:24px;--sd-button-button-icon-only-sm-width:28px;--sd-button-button-icon-only-md-width:36px;--sd-button-button-icon-only-lg-width:62px;--sd-button-button-bg-disabled:#E1E1E1;--sd-button-button-text-disabled:#888888;--sd-button-button-icon-disabled:#BBBBBB;--sd-button-button-brand-strong-bg-default:#025497;--sd-button-button-brand-strong-bg-hover:#004177;--sd-button-button-brand-strong-content:#FFFFFF;--sd-button-button-brand-subtle-bg-default:#1F8AE1;--sd-button-button-brand-subtle-bg-hover:#006AC1;--sd-button-button-brand-subtle-content:#FFFFFF;--sd-button-button-brand-outline-bg-default:#FFFFFF;--sd-button-button-brand-outline-bg-hover:#EAF5FE;--sd-button-button-brand-outline-border:#025497;--sd-button-button-brand-outline-content:#025497;--sd-button-button-dropdown-brand-strong-split:#006AC1;--sd-button-button-dropdown-brand-subtle-split:#5CB0F3;--sd-button-button-dropdown-danger-strong-split:#FF7C7C;--sd-button-button-dropdown-xs-arrow:12px;--sd-button-button-dropdown-xs-gap:6px;--sd-button-button-dropdown-sm-arrow:12px;--sd-button-button-dropdown-sm-gap:8px;--sd-button-button-dropdown-md-arrow:16px;--sd-button-button-dropdown-md-gap:16px;--sd-button-button-neutral-outline-bg-default:#FFFFFF;--sd-button-button-neutral-outline-bg-hover:#EEEEEE;--sd-button-button-neutral-outline-border:#888888;--sd-button-button-neutral-outline-text:#222222;--sd-button-button-neutral-outline-icon:#555555;--sd-button-button-danger-strong-bg-default:#E30000;--sd-button-button-danger-strong-bg-hover:#AD0000;--sd-button-button-danger-strong-content:#FFFFFF;--sd-button-button-danger-outline-bg-default:#FFFFFF;--sd-button-button-danger-outline-bg-hover:#FCEFEF;--sd-button-button-danger-outline-border:#E30000;--sd-button-button-danger-outline-content:#E30000;--sd-ghost-button-ghost-button-xxs-size:16px;--sd-ghost-button-ghost-button-xxs-icon:12px;--sd-ghost-button-ghost-button-xs-size:24px;--sd-ghost-button-ghost-button-xs-icon:16px;--sd-ghost-button-ghost-button-sm-size:28px;--sd-ghost-button-ghost-button-sm-icon:20px;--sd-ghost-button-ghost-button-md-size:36px;--sd-ghost-button-ghost-button-md-icon:24px;--sd-ghost-button-ghost-button-lg-size:62px;--sd-ghost-button-ghost-button-lg-icon:32px;--sd-ghost-button-ghost-button-radius-sm:4px;--sd-ghost-button-ghost-button-radius-md:6px;--sd-ghost-button-ghost-button-hover-opacity:5%;--sd-ghost-button-ghost-button-icon-disabled:#BBBBBB;--sd-ghost-button-ghost-button-default-content:#888888;--sd-ghost-button-ghost-button-default-hover-bg:#222222;--sd-ghost-button-ghost-button-danger-content:#E30000;--sd-ghost-button-ghost-button-danger-hover-bg:#E30000;--sd-ghost-button-ghost-button-action-content:#025497;--sd-ghost-button-ghost-button-action-hover-bg:#0075FF;--sd-ghost-button-ghost-button-inverse-content:#FFFFFF;--sd-ghost-button-ghost-button-inverse-disabled:#E1E1E1;--sd-ghost-button-ghost-button-inverse-hover-bg:#FFFFFF;--sd-text-link-text-link-sm-gap:4px;--sd-text-link-text-link-sm-icon:16px;--sd-text-link-text-link-sm-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-text-link-text-link-sm-typography-default-font-size:12px;--sd-text-link-text-link-sm-typography-default-font-weight:500;--sd-text-link-text-link-sm-typography-default-text-decoration:none;--sd-text-link-text-link-sm-typography-default-line-height:20px;--sd-text-link-text-link-sm-typography-underline-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-text-link-text-link-sm-typography-underline-font-size:12px;--sd-text-link-text-link-sm-typography-underline-font-weight:500;--sd-text-link-text-link-sm-typography-underline-text-decoration:underline;--sd-text-link-text-link-sm-typography-underline-line-height:20px;--sd-text-link-text-link-md-gap:8px;--sd-text-link-text-link-md-icon:16px;--sd-text-link-text-link-md-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-text-link-text-link-md-typography-default-font-size:14px;--sd-text-link-text-link-md-typography-default-font-weight:500;--sd-text-link-text-link-md-typography-default-text-decoration:none;--sd-text-link-text-link-md-typography-default-line-height:24px;--sd-text-link-text-link-md-typography-underline-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-text-link-text-link-md-typography-underline-font-size:14px;--sd-text-link-text-link-md-typography-underline-font-weight:500;--sd-text-link-text-link-md-typography-underline-text-decoration:underline;--sd-text-link-text-link-md-typography-underline-line-height:24px;--sd-text-link-text-link-content-default:#222222;--sd-text-link-text-link-content-disabled:#888888;--sd-text-link-text-link-icon-default:#006AC1;--sd-text-link-text-link-icon-disabled:#BBBBBB;--sd-text-link-text-link-lg-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-text-link-text-link-lg-typography-default-font-size:16px;--sd-text-link-text-link-lg-typography-default-font-weight:500;--sd-text-link-text-link-lg-typography-default-text-decoration:none;--sd-text-link-text-link-lg-typography-default-line-height:26px;--sd-text-link-text-link-lg-typography-underline-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-text-link-text-link-lg-typography-underline-font-size:16px;--sd-text-link-text-link-lg-typography-underline-font-weight:500;--sd-text-link-text-link-lg-typography-underline-text-decoration:underline;--sd-text-link-text-link-lg-typography-underline-line-height:26px;--sd-text-link-text-link-lg-gap:8px;--sd-text-link-text-link-lg-icon:20px;--sd-switch-switch-width:32px;--sd-switch-switch-height:20px;--sd-switch-switch-padding-x-y:2px;--sd-switch-switch-radius:9999px;--sd-switch-switch-knob-size:16px;--sd-switch-switch-knob-default:#FFFFFF;--sd-switch-switch-knob-disabled:#EEEEEE;--sd-switch-switch-bg-on:#0075FF;--sd-switch-switch-bg-off:#CCCCCC;--sd-switch-switch-bg-disabled-on:#BBDAFF;--sd-switch-switch-bg-disabled-off:#E1E1E1;--sd-switch-switch-label-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-switch-switch-label-typography-font-weight:500;--sd-switch-switch-label-typography-font-size:12px;--sd-switch-switch-label-typography-text-decoration:none;--sd-switch-switch-label-typography-line-height:20px;--sd-switch-switch-gap:6px;--sd-toggle-toggle-height:28px;--sd-toggle-toggle-padding-x:12px;--sd-toggle-toggle-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-toggle-toggle-typography-font-size:14px;--sd-toggle-toggle-typography-font-weight:500;--sd-toggle-toggle-typography-text-decoration:none;--sd-toggle-toggle-typography-line-height:24px;--sd-toggle-toggle-radius:9999px;--sd-toggle-toggle-border-width:1px;--sd-toggle-toggle-border-default:#CCCCCC;--sd-toggle-toggle-border-select:#0075FF;--sd-toggle-toggle-border-disabled:#CCCCCC;--sd-toggle-toggle-bg-default:#FFFFFF;--sd-toggle-toggle-bg-hover:#0075FF;--sd-toggle-toggle-bg-select:#FFFFFF;--sd-toggle-toggle-bg-disabled:#E1E1E1;--sd-toggle-toggle-content-default:#555555;--sd-toggle-toggle-content-hover:#FFFFFF;--sd-toggle-toggle-content-select:#0075FF;--sd-toggle-toggle-content-disabled:#888888;--sd-checkbox-checkbox-size:16px;--sd-checkbox-checkbox-radius:2px;--sd-checkbox-checkbox-border-width:1px;--sd-checkbox-checkbox-gap:8px;--sd-checkbox-checkbox-icon:12px;--sd-checkbox-checkbox-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-checkbox-checkbox-typography-default-font-weight:400;--sd-checkbox-checkbox-typography-default-font-size:12px;--sd-checkbox-checkbox-typography-default-line-height:20px;--sd-checkbox-checkbox-typography-default-text-decoration:none;--sd-checkbox-checkbox-typography-selected-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-checkbox-checkbox-typography-selected-font-weight:500;--sd-checkbox-checkbox-typography-selected-font-size:12px;--sd-checkbox-checkbox-typography-selected-text-decoration:none;--sd-checkbox-checkbox-typography-selected-line-height:20px;--sd-checkbox-checkbox-unchecked-bg-default:#FFFFFF;--sd-checkbox-checkbox-unchecked-bg-hover:#D9EAFF;--sd-checkbox-checkbox-unchecked-border-default:#AAAAAA;--sd-checkbox-checkbox-unchecked-border-hover:#0075FF;--sd-checkbox-checkbox-checked-bg-default:#0075FF;--sd-checkbox-checkbox-checked-icon-default:#FFFFFF;--sd-checkbox-checkbox-checked-icon-disabled:#BBBBBB;--sd-checkbox-checkbox-checked-icon-inverse:#FFFFFF;--sd-checkbox-checkbox-checked-border-inverse:#FFFFFF;--sd-checkbox-checkbox-label-default:#222222;--sd-checkbox-checkbox-label-inverse:#FFFFFF;--sd-checkbox-checkbox-label-disabled:#888888;--sd-checkbox-checkbox-bg-disabled:#E1E1E1;--sd-checkbox-checkbox-border-disabled:#CCCCCC;--sd-radio-radio-size:16px;--sd-radio-radio-radius:9999px;--sd-radio-radio-border-width:1px;--sd-radio-radio-gap:8px;--sd-radio-radio-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-radio-radio-typography-default-font-weight:400;--sd-radio-radio-typography-default-font-size:12px;--sd-radio-radio-typography-default-line-height:20px;--sd-radio-radio-typography-default-text-decoration:none;--sd-radio-radio-typography-selected-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-radio-radio-typography-selected-font-weight:500;--sd-radio-radio-typography-selected-font-size:12px;--sd-radio-radio-typography-selected-text-decoration:none;--sd-radio-radio-typography-selected-line-height:20px;--sd-radio-radio-bg-default:#FFFFFF;--sd-radio-radio-bg-disabled:#E1E1E1;--sd-radio-radio-bg-hover:#D9EAFF;--sd-radio-radio-border-default:#AAAAAA;--sd-radio-radio-border-hover:#0075FF;--sd-radio-radio-border-active:#0075FF;--sd-radio-radio-border-disabled:#CCCCCC;--sd-radio-radio-dot-default:#0075FF;--sd-radio-radio-dot-disabled:#CCCCCC;--sd-radio-radio-dot-size:10px;--sd-radio-radio-label-default:#222222;--sd-radio-radio-label-disabled:#888888;--sd-radio-button-radio-button-xs-height:24px;--sd-radio-button-radio-button-xs-padding-x:8px;--sd-radio-button-radio-button-xs-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-radio-button-radio-button-xs-typography-font-size:12px;--sd-radio-button-radio-button-xs-typography-font-weight:500;--sd-radio-button-radio-button-xs-typography-text-decoration:none;--sd-radio-button-radio-button-xs-typography-line-height:20px;--sd-radio-button-radio-button-sm-height:28px;--sd-radio-button-radio-button-sm-padding-x:12px;--sd-radio-button-radio-button-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-radio-button-radio-button-sm-typography-font-size:12px;--sd-radio-button-radio-button-sm-typography-font-weight:500;--sd-radio-button-radio-button-sm-typography-text-decoration:none;--sd-radio-button-radio-button-sm-typography-line-height:20px;--sd-radio-button-radio-button-radius:4px;--sd-radio-button-radio-button-border-width:1px;--sd-radio-button-radio-button-border-default:#CCCCCC;--sd-radio-button-radio-button-border-select:#0075FF;--sd-radio-button-radio-button-border-disabled:#CCCCCC;--sd-radio-button-radio-button-bg-default:#FFFFFF;--sd-radio-button-radio-button-bg-hover:#0075FF;--sd-radio-button-radio-button-bg-select:#FFFFFF;--sd-radio-button-radio-button-bg-disabled:#E1E1E1;--sd-radio-button-radio-button-content-default:#555555;--sd-radio-button-radio-button-content-hover:#FFFFFF;--sd-radio-button-radio-button-content-select:#0075FF;--sd-radio-button-radio-button-content-disabled:#888888;--sd-radio-button-radio-button-group-gap:-1px;--sd-list-item-list-item-padding-y:4px;--sd-list-item-list-item-padding-right:12px;--sd-list-item-list-item-gap:8px;--sd-list-item-list-item-padding-left-depth1:12px;--sd-list-item-list-item-padding-left-depth2:20px;--sd-list-item-list-item-padding-left-depth3:28px;--sd-list-item-list-item-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-list-item-list-item-typography-default-font-weight:400;--sd-list-item-list-item-typography-default-font-size:12px;--sd-list-item-list-item-typography-default-line-height:20px;--sd-list-item-list-item-typography-default-text-decoration:none;--sd-list-item-list-item-typography-selected-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-list-item-list-item-typography-selected-font-weight:700;--sd-list-item-list-item-typography-selected-font-size:12px;--sd-list-item-list-item-typography-selected-text-decoration:none;--sd-list-item-list-item-typography-selected-line-height:20px;--sd-list-item-list-item-bg-default:#FFFFFF;--sd-list-item-list-item-bg-hover:#0075FF;--sd-list-item-list-item-content-default:#222222;--sd-list-item-list-item-content-hover:#FFFFFF;--sd-list-item-list-item-content-disabled:#888888;--sd-list-item-list-item-content-selected:#0075FF;--sd-list-item-list-item-indeterminate-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-list-item-list-item-indeterminate-typography-font-weight:700;--sd-list-item-list-item-indeterminate-typography-font-size:12px;--sd-list-item-list-item-indeterminate-typography-text-decoration:none;--sd-list-item-list-item-indeterminate-typography-line-height:20px;--sd-list-item-list-item-depth1-bg-default:#EFF6FF;--sd-list-item-list-item-depth1-bg-disabled:#EEEEEE;--sd-list-item-list-item-depth1-border-color:#E1E1E1;--sd-list-item-list-item-depth1-border-width:1px;--sd-list-item-list-item-depth1-title-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-list-item-list-item-depth1-title-typography-font-weight:700;--sd-list-item-list-item-depth1-title-typography-font-size:12px;--sd-list-item-list-item-depth1-title-typography-text-decoration:none;--sd-list-item-list-item-depth1-title-typography-line-height:20px;--sd-list-item-list-item-depth2-middle-bg:#F6F6F6;--sd-list-item-list-item-depth2-middle-title-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-list-item-list-item-depth2-middle-title-typography-font-weight:500;--sd-list-item-list-item-depth2-middle-title-typography-font-size:12px;--sd-list-item-list-item-depth2-middle-title-typography-text-decoration:none;--sd-list-item-list-item-depth2-middle-title-typography-line-height:20px;--sd-list-item-list-item-count-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-list-item-list-item-count-typography-font-weight:500;--sd-list-item-list-item-count-typography-font-size:12px;--sd-list-item-list-item-count-typography-text-decoration:none;--sd-list-item-list-item-count-typography-line-height:20px;--sd-list-item-list-item-count-color:#888888;--sd-list-box-list-box-radius:4px;--sd-list-box-list-box-bg:#FFFFFF;--sd-list-box-list-box-chip-padding-x-y:8px;--sd-list-box-list-box-chip-gap:8px;--sd-select-select-sm-height:28px;--sd-select-select-sm-radius:4px;--sd-select-select-sm-border-width:1px;--sd-select-select-sm-padding-x:12px;--sd-select-select-sm-gap:8px;--sd-select-select-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-select-select-sm-typography-font-weight:400;--sd-select-select-sm-typography-font-size:12px;--sd-select-select-sm-typography-line-height:20px;--sd-select-select-sm-typography-text-decoration:none;--sd-select-select-sm-icon:16px;--sd-select-select-md-height:36px;--sd-select-select-md-radius:6px;--sd-select-select-md-border-width:1px;--sd-select-select-md-padding-x:16px;--sd-select-select-md-gap:12px;--sd-select-select-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-select-select-md-typography-font-weight:400;--sd-select-select-md-typography-font-size:14px;--sd-select-select-md-typography-text-decoration:none;--sd-select-select-md-typography-line-height:24px;--sd-select-select-md-icon:16px;--sd-select-select-icon-default:#888888;--sd-select-select-icon-disabled:#BBBBBB;--sd-select-select-border-default:#AAAAAA;--sd-select-select-border-hover:#0075FF;--sd-select-select-border-danger:#FB4444;--sd-select-select-border-disabled:#CCCCCC;--sd-select-select-bg-default:#FFFFFF;--sd-select-select-bg-disabled:#E1E1E1;--sd-select-select-text-default:#222222;--sd-select-select-text-disabled:#888888;--sd-field-field-label-sm-height:28px;--sd-field-field-label-sm-gap:6px;--sd-field-field-label-sm-icon:12px;--sd-field-field-label-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-field-field-label-sm-typography-font-weight:700;--sd-field-field-label-sm-typography-font-size:12px;--sd-field-field-label-sm-typography-text-decoration:none;--sd-field-field-label-sm-typography-line-height:20px;--sd-field-field-label-md-height:36px;--sd-field-field-label-md-gap:8px;--sd-field-field-label-md-icon:12px;--sd-field-field-label-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-field-field-label-md-typography-font-weight:700;--sd-field-field-label-md-typography-font-size:14px;--sd-field-field-label-md-typography-text-decoration:none;--sd-field-field-label-md-typography-line-height:24px;--sd-field-field-addon-label-height:28px;--sd-field-field-addon-label-gap:6px;--sd-field-field-addon-label-padding-x:12px;--sd-field-field-addon-label-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-field-field-addon-label-typography-font-weight:500;--sd-field-field-addon-label-typography-font-size:12px;--sd-field-field-addon-label-typography-text-decoration:none;--sd-field-field-addon-label-typography-line-height:20px;--sd-field-field-addon-label-bg:#F6F6F6;--sd-field-field-addon-label-border-default:#AAAAAA;--sd-field-field-addon-label-border-disabled:#CCCCCC;--sd-field-field-addon-label-border-width:1px;--sd-field-field-hint-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-field-field-hint-typography-font-weight:400;--sd-field-field-hint-typography-font-size:12px;--sd-field-field-hint-typography-line-height:20px;--sd-field-field-hint-typography-text-decoration:none;--sd-field-field-hint-color:#555555;--sd-field-field-error-message-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-field-field-error-message-typography-font-weight:400;--sd-field-field-error-message-typography-font-size:12px;--sd-field-field-error-message-typography-line-height:20px;--sd-field-field-error-message-typography-text-decoration:none;--sd-field-field-error-message-color:#E30000;--sd-field-field-contents-gap:4px;--sd-textinput-textinput-sm-height:28px;--sd-textinput-textinput-sm-padding-x:12px;--sd-textinput-textinput-sm-padding-y:4px;--sd-textinput-textinput-sm-gap:8px;--sd-textinput-textinput-sm-radius:4px;--sd-textinput-textinput-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-textinput-textinput-sm-typography-font-weight:400;--sd-textinput-textinput-sm-typography-font-size:12px;--sd-textinput-textinput-sm-typography-line-height:20px;--sd-textinput-textinput-sm-typography-text-decoration:none;--sd-textinput-textinput-md-padding-x:16px;--sd-textinput-textinput-md-padding-y:8px;--sd-textinput-textinput-md-height:36px;--sd-textinput-textinput-md-gap:12px;--sd-textinput-textinput-md-radius:6px;--sd-textinput-textinput-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-textinput-textinput-md-typography-font-weight:400;--sd-textinput-textinput-md-typography-font-size:14px;--sd-textinput-textinput-md-typography-text-decoration:none;--sd-textinput-textinput-md-typography-line-height:24px;--sd-textinput-textinput-border-width:1px;--sd-textinput-textinput-border-default:#AAAAAA;--sd-textinput-textinput-border-focus:#0075FF;--sd-textinput-textinput-border-danger:#FB4444;--sd-textinput-textinput-border-success:#12B553;--sd-textinput-textinput-border-disabled:#CCCCCC;--sd-textinput-textinput-bg-default:#FFFFFF;--sd-textinput-textinput-bg-disabled:#E1E1E1;--sd-textinput-textinput-bg-barcode:#FAFAA1;--sd-textinput-textinput-text-default:#222222;--sd-textinput-textinput-text-placeholder:#AAAAAA;--sd-textinput-textinput-text-disabled:#888888;--sd-textinput-textinput-size-icon:16px;--sd-textinput-textinput-icon-default:#888888;--sd-textinput-textinput-unit-color:#888888;--sd-textinput-textinput-resizer-size:12px;--sd-textinput-textinput-resizer-color:#AAAAAA;--sd-number-input-number-input-sm-height:28px;--sd-number-input-number-input-sm-padding-x:6px;--sd-number-input-number-input-sm-radius:4px;--sd-number-input-number-input-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-number-input-number-input-sm-typography-font-weight:400;--sd-number-input-number-input-sm-typography-font-size:12px;--sd-number-input-number-input-sm-typography-line-height:20px;--sd-number-input-number-input-sm-typography-text-decoration:none;--sd-number-input-number-input-sm-gap:4px;--sd-number-input-number-input-md-height:36px;--sd-number-input-number-input-md-padding-x:8px;--sd-number-input-number-input-md-radius:6px;--sd-number-input-number-input-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-number-input-number-input-md-typography-font-weight:400;--sd-number-input-number-input-md-typography-font-size:14px;--sd-number-input-number-input-md-typography-text-decoration:none;--sd-number-input-number-input-md-typography-line-height:24px;--sd-number-input-number-input-md-gap:6px;--sd-number-input-number-input-border-width:1px;--sd-number-input-number-input-border-default:#AAAAAA;--sd-number-input-number-input-border-focus:#0075FF;--sd-number-input-number-input-border-danger:#FB4444;--sd-number-input-number-input-border-success:#12B553;--sd-number-input-number-input-border-disabled:#CCCCCC;--sd-number-input-number-input-bg-default:#FFFFFF;--sd-number-input-number-input-bg-disabled:#E1E1E1;--sd-number-input-number-input-text-default:#222222;--sd-number-input-number-input-text-placeholder:#AAAAAA;--sd-number-input-number-input-text-disabled:#888888;--sd-number-input-number-input-stepper-sm-size:20px;--sd-number-input-number-input-stepper-md-size:24px;--sd-number-input-number-input-stepper-radius:4px;--sd-number-input-number-input-stepper-bg-default:#EFF6FF;--sd-number-input-number-input-stepper-bg-disabled:#EEEEEE;--sd-number-input-number-input-stepper-icon-default:#0075FF;--sd-number-input-number-input-stepper-icon-disabled:#BBBBBB;--sd-chip-input-chip-input-sm-min-height:36px;--sd-chip-input-chip-input-sm-padding-x:12px;--sd-chip-input-chip-input-sm-padding-y:6px;--sd-chip-input-chip-input-sm-radius:4px;--sd-chip-input-chip-input-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-chip-input-chip-input-sm-typography-font-weight:400;--sd-chip-input-chip-input-sm-typography-font-size:12px;--sd-chip-input-chip-input-sm-typography-line-height:20px;--sd-chip-input-chip-input-sm-typography-text-decoration:none;--sd-chip-input-chip-input-md-min-height:40px;--sd-chip-input-chip-input-md-padding-x:16px;--sd-chip-input-chip-input-md-padding-y:8px;--sd-chip-input-chip-input-md-radius:6px;--sd-chip-input-chip-input-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-chip-input-chip-input-md-typography-font-weight:400;--sd-chip-input-chip-input-md-typography-font-size:14px;--sd-chip-input-chip-input-md-typography-text-decoration:none;--sd-chip-input-chip-input-md-typography-line-height:24px;--sd-chip-input-chip-input-chip-gap:8px;--sd-chip-input-chip-input-border-width:1px;--sd-chip-input-chip-input-border-default:#AAAAAA;--sd-chip-input-chip-input-border-focus:#0075FF;--sd-chip-input-chip-input-border-disabled:#CCCCCC;--sd-chip-input-chip-input-bg-default:#FFFFFF;--sd-chip-input-chip-input-bg-disabled:#E1E1E1;--sd-chip-input-chip-input-text-placeholder:#AAAAAA;--sd-filepicker-filepicker-sm-height:28px;--sd-filepicker-filepicker-sm-padding-x:12px;--sd-filepicker-filepicker-sm-gap:8px;--sd-filepicker-filepicker-sm-radius:4px;--sd-filepicker-filepicker-sm-border-width:1px;--sd-filepicker-filepicker-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-filepicker-filepicker-sm-typography-font-weight:400;--sd-filepicker-filepicker-sm-typography-font-size:12px;--sd-filepicker-filepicker-sm-typography-line-height:20px;--sd-filepicker-filepicker-sm-typography-text-decoration:none;--sd-filepicker-filepicker-sm-icon:16px;--sd-filepicker-filepicker-md-height:36px;--sd-filepicker-filepicker-md-padding-x:16px;--sd-filepicker-filepicker-md-gap:12px;--sd-filepicker-filepicker-md-radius:6px;--sd-filepicker-filepicker-md-border-width:1px;--sd-filepicker-filepicker-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-filepicker-filepicker-md-typography-font-weight:400;--sd-filepicker-filepicker-md-typography-font-size:14px;--sd-filepicker-filepicker-md-typography-text-decoration:none;--sd-filepicker-filepicker-md-typography-line-height:24px;--sd-filepicker-filepicker-md-icon:20px;--sd-filepicker-filepicker-border-default:#AAAAAA;--sd-filepicker-filepicker-border-disabled:#CCCCCC;--sd-filepicker-filepicker-bg-default:#FFFFFF;--sd-filepicker-filepicker-bg-disabled:#E1E1E1;--sd-filepicker-filepicker-text-default:#222222;--sd-filepicker-filepicker-text-placeholder:#AAAAAA;--sd-filepicker-filepicker-text-disabled:#888888;--sd-filepicker-filepicker-icon-disabled:#BBBBBB;--sd-datepicker-datepicker-sm-height:28px;--sd-datepicker-datepicker-sm-padding-x:12px;--sd-datepicker-datepicker-sm-gap:8px;--sd-datepicker-datepicker-sm-icon:16px;--sd-datepicker-datepicker-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-datepicker-datepicker-sm-typography-font-weight:400;--sd-datepicker-datepicker-sm-typography-font-size:12px;--sd-datepicker-datepicker-sm-typography-line-height:20px;--sd-datepicker-datepicker-sm-typography-text-decoration:none;--sd-datepicker-datepicker-sm-radius:4px;--sd-datepicker-datepicker-md-height:36px;--sd-datepicker-datepicker-md-padding-x:16px;--sd-datepicker-datepicker-md-gap:12px;--sd-datepicker-datepicker-md-icon:20px;--sd-datepicker-datepicker-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-datepicker-datepicker-md-typography-font-weight:400;--sd-datepicker-datepicker-md-typography-font-size:14px;--sd-datepicker-datepicker-md-typography-text-decoration:none;--sd-datepicker-datepicker-md-typography-line-height:24px;--sd-datepicker-datepicker-md-radius:6px;--sd-datepicker-datepicker-border-width:1px;--sd-datepicker-datepicker-border-default:#AAAAAA;--sd-datepicker-datepicker-border-focus:#0075FF;--sd-datepicker-datepicker-border-disabled:#CCCCCC;--sd-datepicker-datepicker-bg-default:#FFFFFF;--sd-datepicker-datepicker-bg-disabled:#E1E1E1;--sd-datepicker-datepicker-icon-default:#888888;--sd-datepicker-datepicker-icon-disabled:#BBBBBB;--sd-datepicker-datepicker-text-default:#222222;--sd-datepicker-datepicker-text-disabled:#888888;--sd-datepicker-datepicker-calendar-bg:#FFFFFF;--sd-datepicker-datepicker-calendar-padding-x-y:24px;--sd-datepicker-datepicker-calendar-gap:12px;--sd-datepicker-datepicker-calendar-radius:8px;--sd-datepicker-datepicker-calendar-header-gap:8px;--sd-datepicker-datepicker-calendar-header-divider:#E1E1E1;--sd-datepicker-datepicker-calendar-header-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-datepicker-datepicker-calendar-header-typography-font-weight:500;--sd-datepicker-datepicker-calendar-header-typography-font-size:14px;--sd-datepicker-datepicker-calendar-header-typography-text-decoration:none;--sd-datepicker-datepicker-calendar-header-typography-line-height:24px;--sd-datepicker-datepicker-calendar-week-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-datepicker-datepicker-calendar-week-typography-font-weight:400;--sd-datepicker-datepicker-calendar-week-typography-font-size:12px;--sd-datepicker-datepicker-calendar-week-typography-line-height:20px;--sd-datepicker-datepicker-calendar-week-typography-text-decoration:none;--sd-datepicker-datepicker-calendar-week-color:#888888;--sd-datepicker-datepicker-calendar-grid-row-gap:4px;--sd-datepicker-datepicker-calendar-day-width:40px;--sd-datepicker-datepicker-calendar-day-circle-size:32px;--sd-datepicker-datepicker-calendar-day-circle-radius:9999px;--sd-datepicker-datepicker-calendar-day-default-text:#222222;--sd-datepicker-datepicker-calendar-day-hover-text:#222222;--sd-datepicker-datepicker-calendar-day-hover-border:#0075FF;--sd-datepicker-datepicker-calendar-day-select-bg:#0075FF;--sd-datepicker-datepicker-calendar-day-select-text:#FFFFFF;--sd-datepicker-datepicker-calendar-day-disabled-text:#BBBBBB;--sd-datepicker-datepicker-calendar-day-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-datepicker-datepicker-calendar-day-typography-default-font-weight:400;--sd-datepicker-datepicker-calendar-day-typography-default-font-size:14px;--sd-datepicker-datepicker-calendar-day-typography-default-text-decoration:none;--sd-datepicker-datepicker-calendar-day-typography-default-line-height:24px;--sd-datepicker-datepicker-calendar-day-typography-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-datepicker-datepicker-calendar-day-typography-bold-font-weight:700;--sd-datepicker-datepicker-calendar-day-typography-bold-font-size:14px;--sd-datepicker-datepicker-calendar-day-typography-bold-text-decoration:none;--sd-datepicker-datepicker-calendar-day-typography-bold-line-height:24px;--sd-datepicker-datepicker-calendar-day-dot-size:6px;--sd-datepicker-datepicker-calendar-day-dot-gap:2px;--sd-datepicker-datepicker-calendar-day-dot-padding-y:4px;--sd-datepicker-datepicker-calendar-range-bg:#D9EAFF;--sd-datepicker-datepicker-calendar-range-height:32px;--sd-datepicker-datepicker-calendar-range-panel-gap:24px;--sd-datepicker-datepicker-calendar-range-divider:#E1E1E1;--sd-datepicker-datepicker-calendar-range-width:20px;--sd-datepicker-datepicker-calendar-legend-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-datepicker-datepicker-calendar-legend-typography-font-weight:400;--sd-datepicker-datepicker-calendar-legend-typography-font-size:11px;--sd-datepicker-datepicker-calendar-legend-typography-line-height:18px;--sd-datepicker-datepicker-calendar-legend-typography-text-decoration:none;--sd-datepicker-datepicker-calendar-legend-gap:4px;--sd-datepicker-datepicker-calendar-legend-group-gap:12px;--sd-chip-chip-height:24px;--sd-chip-chip-padding-x:8px;--sd-chip-chip-gap:4px;--sd-chip-chip-radius:9999px;--sd-chip-chip-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-chip-chip-typography-default-font-size:12px;--sd-chip-chip-typography-default-font-weight:500;--sd-chip-chip-typography-default-text-decoration:none;--sd-chip-chip-typography-default-line-height:20px;--sd-chip-chip-typography-focus-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-chip-chip-typography-focus-font-size:12px;--sd-chip-chip-typography-focus-font-weight:400;--sd-chip-chip-typography-focus-text-decoration:none;--sd-chip-chip-typography-focus-line-height:20px;--sd-chip-chip-bg-default:#F6F6F6;--sd-chip-chip-bg-error:#FCEFEF;--sd-chip-chip-bg-focus:#FFFFFF;--sd-chip-chip-bg-disabled:#F6F6F6;--sd-chip-chip-content-default:#555555;--sd-chip-chip-content-error:#E30000;--sd-chip-chip-content-focus:#222222;--sd-chip-chip-content-disabled:#888888;--sd-chip-chip-border-focus:#E1E1E1;--sd-chip-chip-border-width:1px;--sd-tag-tag-xs-height:20px;--sd-tag-tag-xs-padding-x:8px;--sd-tag-tag-xs-gap:4px;--sd-tag-tag-xs-icon:12px;--sd-tag-tag-xs-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tag-tag-xs-typography-font-size:11px;--sd-tag-tag-xs-typography-font-weight:500;--sd-tag-tag-xs-typography-line-height:18px;--sd-tag-tag-xs-typography-text-decoration:none;--sd-tag-tag-xs-radius:6px;--sd-tag-tag-sm-height:24px;--sd-tag-tag-sm-padding-x:8px;--sd-tag-tag-sm-gap:4px;--sd-tag-tag-sm-icon:16px;--sd-tag-tag-sm-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tag-tag-sm-typography-font-size:12px;--sd-tag-tag-sm-typography-font-weight:700;--sd-tag-tag-sm-typography-text-decoration:none;--sd-tag-tag-sm-typography-line-height:20px;--sd-tag-tag-sm-radius:6px;--sd-tag-tag-md-height:28px;--sd-tag-tag-md-padding-x:12px;--sd-tag-tag-md-gap:6px;--sd-tag-tag-md-icon:16px;--sd-tag-tag-md-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tag-tag-md-typography-font-size:14px;--sd-tag-tag-md-typography-font-weight:700;--sd-tag-tag-md-typography-line-height:24px;--sd-tag-tag-md-typography-text-decoration:none;--sd-tag-tag-md-radius:8px;--sd-tag-tag-red-content:#FB4444;--sd-tag-tag-red-bg:#FCEFEF;--sd-tag-tag-orange-content:#FF6B00;--sd-tag-tag-orange-bg:#FEF1EA;--sd-tag-tag-yellow-content:#916C0D;--sd-tag-tag-yellow-bg:#FFF7DD;--sd-tag-tag-green-content:#00973C;--sd-tag-tag-green-bg:#E8F9EF;--sd-tag-tag-blue-content:#0075FF;--sd-tag-tag-blue-bg:#E6F1FF;--sd-tag-tag-darkblue-content:#006AC1;--sd-tag-tag-darkblue-bg:#EAF5FE;--sd-tag-tag-indigo-content:#004290;--sd-tag-tag-indigo-bg:#EFF6FF;--sd-tag-tag-grey-content:#737373;--sd-tag-tag-grey-bg:#EEEEEE;--sd-badge-badge-size:6px;--sd-badge-badge-radius:9999px;--sd-badge-badge-red:#FB4444;--sd-badge-badge-orange:#FF6B00;--sd-badge-badge-yellow:#FFC700;--sd-badge-badge-green:#00973C;--sd-badge-badge-blue:#0075FF;--sd-badge-badge-darkblue:#006AC1;--sd-badge-badge-indigo:#004290;--sd-badge-badge-grey:#737373;--sd-tooltip-tooltip-radius:6px;--sd-tooltip-tooltip-padding-y:12px;--sd-tooltip-tooltip-padding-x:16px;--sd-tooltip-tooltip-gap:12px;--sd-tooltip-tooltip-arrow-width:16px;--sd-tooltip-tooltip-arrow-height:12px;--sd-tooltip-tooltip-default-bg:#07284A;--sd-tooltip-tooltip-default-content:#FFFFFF;--sd-tooltip-tooltip-default-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tooltip-tooltip-default-typography-font-size:12px;--sd-tooltip-tooltip-default-typography-font-weight:500;--sd-tooltip-tooltip-default-typography-line-height:20px;--sd-tooltip-tooltip-default-typography-text-decoration:none;--sd-tooltip-tooltip-danger-bg:#FCEFEF;--sd-tooltip-tooltip-danger-content:#FB4444;--sd-tooltip-tooltip-danger-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tooltip-tooltip-danger-typography-font-size:12px;--sd-tooltip-tooltip-danger-typography-font-weight:700;--sd-tooltip-tooltip-danger-typography-text-decoration:none;--sd-tooltip-tooltip-danger-typography-line-height:20px;--sd-tooltip-tooltip-warning-bg:#FEF1EA;--sd-tooltip-tooltip-warning-content:#FF6B00;--sd-tooltip-tooltip-warning-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tooltip-tooltip-warning-typography-font-size:12px;--sd-tooltip-tooltip-warning-typography-font-weight:700;--sd-tooltip-tooltip-warning-typography-text-decoration:none;--sd-tooltip-tooltip-warning-typography-line-height:20px;--sd-tooltip-tooltip-accent-bg:#E6F1FF;--sd-tooltip-tooltip-accent-content:#0075FF;--sd-tooltip-tooltip-accent-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tooltip-tooltip-accent-typography-font-size:12px;--sd-tooltip-tooltip-accent-typography-font-weight:700;--sd-tooltip-tooltip-accent-typography-text-decoration:none;--sd-tooltip-tooltip-accent-typography-line-height:20px;--sd-popover-popover-radius:6px;--sd-popover-popover-padding-x:20px;--sd-popover-popover-padding-y:16px;--sd-popover-popover-gap:12px;--sd-popover-popover-contents-gap:4px;--sd-popover-popover-arrow-width:16px;--sd-popover-popover-arrow-height:12px;--sd-popover-popover-default-bg:#07284A;--sd-popover-popover-default-title:#FFFFFF;--sd-popover-popover-default-description:#FFFFFF;--sd-popover-popover-default-sub-action:#D8D8D8;--sd-popover-popover-title-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-popover-popover-title-typography-font-size:14px;--sd-popover-popover-title-typography-font-weight:700;--sd-popover-popover-title-typography-line-height:24px;--sd-popover-popover-title-typography-text-decoration:none;--sd-popover-popover-title-leading-icon:16px;--sd-popover-popover-title-gap:8px;--sd-popover-popover-description-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-popover-popover-description-typography-font-size:12px;--sd-popover-popover-description-typography-font-weight:500;--sd-popover-popover-description-typography-line-height:20px;--sd-popover-popover-description-typography-text-decoration:none;--sd-popover-popover-sub-action-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-popover-popover-sub-action-typography-font-size:12px;--sd-popover-popover-sub-action-typography-font-weight:700;--sd-popover-popover-sub-action-typography-text-decoration:none;--sd-popover-popover-sub-action-typography-line-height:20px;--sd-popover-popover-danger-bg:#FCEFEF;--sd-popover-popover-danger-title:#FB4444;--sd-popover-popover-warning-bg:#FEF1EA;--sd-popover-popover-warning-title:#FF6B00;--sd-popover-popover-accent-bg:#E6F1FF;--sd-popover-popover-accent-title:#0075FF;--sd-popover-popover-light-description:#555555;--sd-popover-popover-light-sub-action:#888888;--sd-toast-toast-radius:8px;--sd-toast-toast-padding-x:24px;--sd-toast-toast-padding-y:12px;--sd-toast-toast-gap:16px;--sd-toast-toast-icon:16px;--sd-toast-toast-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-toast-toast-typography-default-font-size:14px;--sd-toast-toast-typography-default-font-weight:500;--sd-toast-toast-typography-default-line-height:24px;--sd-toast-toast-typography-default-text-decoration:none;--sd-toast-toast-typography-link-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-toast-toast-typography-link-font-size:14px;--sd-toast-toast-typography-link-font-weight:700;--sd-toast-toast-typography-link-line-height:24px;--sd-toast-toast-typography-link-text-decoration:underline;--sd-toast-toast-default-bg:#07284A;--sd-toast-toast-default-content:#FFFFFF;--sd-toast-toast-danger-bg:#FB4444;--sd-toast-toast-danger-content:#FFFFFF;--sd-toast-toast-caution-bg:#FFC700;--sd-toast-toast-caution-content:#222222;--sd-toast-toast-complete-bg:#00973C;--sd-toast-toast-complete-content:#FFFFFF;--sd-toast-toast-accent-bg:#005CC9;--sd-toast-toast-accent-content:#FFFFFF;--sd-toast-toast-info-bg:#E6F1FF;--sd-toast-toast-info-icon:#0075FF;--sd-toast-toast-info-text:#222222;--sd-toast-toast-info-text-link:#555555;--sd-modal-modal-radius:8px;--sd-modal-modal-confirm-padding-x:32px;--sd-modal-modal-confirm-padding-y:40px;--sd-modal-modal-confirm-gap:40px;--sd-modal-modal-confirm-body-gap:20px;--sd-modal-modal-confirm-title-gap:12px;--sd-modal-modal-confirm-title-color:#222222;--sd-modal-modal-confirm-title-icon:32px;--sd-modal-modal-confirm-title-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-modal-modal-confirm-title-typography-font-weight:700;--sd-modal-modal-confirm-title-typography-font-size:18px;--sd-modal-modal-confirm-title-typography-line-height:30px;--sd-modal-modal-confirm-title-typography-text-decoration:none;--sd-modal-modal-confirm-button-gap:8px;--sd-modal-modal-confirm-message-color:#222222;--sd-modal-modal-confirm-message-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-modal-modal-confirm-message-typography-font-size:12px;--sd-modal-modal-confirm-message-typography-font-weight:400;--sd-modal-modal-confirm-message-typography-line-height:20px;--sd-modal-modal-confirm-message-typography-text-decoration:none;--sd-modal-modal-confirm-positive-icon:#0075FF;--sd-modal-modal-confirm-negative-icon:#E30000;--sd-modal-modal-bg:#FFFFFF;--sd-modal-modal-action-header-padding-x:24px;--sd-modal-modal-action-header-padding-y:20px;--sd-modal-modal-action-header-gap:12px;--sd-modal-modal-action-title-color:#033F59;--sd-modal-modal-action-title-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-modal-modal-action-title-typography-font-weight:700;--sd-modal-modal-action-title-typography-font-size:16px;--sd-modal-modal-action-title-typography-text-decoration:none;--sd-modal-modal-action-title-typography-line-height:26px;--sd-modal-modal-action-body-padding-x:20px;--sd-modal-modal-action-body-padding-bottom:20px;--sd-modal-modal-action-footer-padding-x:20px;--sd-modal-modal-action-footer-padding-y:8px;--sd-modal-modal-action-footer-gap:16px;--sd-modal-modal-action-footer-bg:#F6F6F6;--sd-modal-modal-action-footer-border:#E1E1E1;--sd-modal-modal-loading-width:520px;--sd-modal-modal-loading-height:320px;--sd-modal-modal-loading-gap:20px;--sd-modal-modal-loading-content:80px;--sd-modal-modal-loading-message-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-modal-modal-loading-message-typography-font-size:12px;--sd-modal-modal-loading-message-typography-font-weight:400;--sd-modal-modal-loading-message-typography-line-height:20px;--sd-modal-modal-loading-message-typography-text-decoration:none;--sd-modal-modal-loading-message-color:#888888;--sd-popup-popup-header-bg-default:#07284A;--sd-popup-popup-header-bg-inverse:#FFFFFF;--sd-popup-popup-header-title-default:#FFFFFF;--sd-popup-popup-header-title-inverse:#004290;--sd-popup-popup-header-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-popup-popup-header-typography-font-weight:700;--sd-popup-popup-header-typography-font-size:18px;--sd-popup-popup-header-typography-line-height:30px;--sd-popup-popup-header-typography-text-decoration:none;--sd-popup-popup-footer-bg:#FFFFFF;--sd-popup-popup-footer-padding-x:20px;--sd-popup-popup-footer-padding-y:8px;--sd-popup-popup-footer-gap:16px;--sd-popup-popup-bg:#EEEEEE;--sd-spinner-spinner-size:80px;--sd-spinner-spinner-color-track:#EEEEEE;--sd-spinner-spinner-color-arc:#2D8DFF;--sd-guide-guide-gap:4px;--sd-guide-guide-button-height:28px;--sd-guide-guide-button-padding-x:12px;--sd-guide-guide-button-radius:9999px;--sd-guide-guide-button-gap:6px;--sd-guide-guide-button-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-guide-guide-button-typography-font-size:12px;--sd-guide-guide-button-typography-font-weight:500;--sd-guide-guide-button-typography-text-decoration:none;--sd-guide-guide-button-typography-line-height:20px;--sd-guide-guide-button-icon-size:16px;--sd-guide-guide-button-icon-default:#00973C;--sd-guide-guide-button-icon-active:#FFFFFF;--sd-guide-guide-button-border-width:1px;--sd-guide-guide-button-border-default:#E1E1E1;--sd-guide-guide-button-bg-default:#FFFFFF;--sd-guide-guide-button-bg-tip:#00973C;--sd-guide-guide-button-bg-notion:#1F8AE1;--sd-guide-guide-button-text-default:#222222;--sd-guide-guide-button-text-active:#FFFFFF;--sd-guide-guide-contents-padding-x:24px;--sd-guide-guide-contents-padding-y:20px;--sd-guide-guide-contents-gap:12px;--sd-guide-guide-contents-title-gap:8px;--sd-guide-guide-contents-row-gap:8px;--sd-guide-guide-contents-body-gap:2px;--sd-guide-guide-contents-typography-title-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-guide-guide-contents-typography-title-font-weight:700;--sd-guide-guide-contents-typography-title-font-size:16px;--sd-guide-guide-contents-typography-title-text-decoration:none;--sd-guide-guide-contents-typography-title-line-height:26px;--sd-guide-guide-contents-typography-body-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-guide-guide-contents-typography-body-font-weight:400;--sd-guide-guide-contents-typography-body-font-size:12px;--sd-guide-guide-contents-typography-body-line-height:20px;--sd-guide-guide-contents-typography-body-text-decoration:none;--sd-guide-guide-contents-typography-color:#222222;--sd-guide-guide-contents-icon:#00973C;--sd-guide-guide-contents-radius:8px;--sd-guide-guide-contents-depth-padding-left:32px;--sd-progress-progress-linear-height:20px;--sd-progress-progress-linear-radius:9999px;--sd-progress-progress-linear-gap:12px;--sd-progress-progress-linear-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-progress-progress-linear-typography-font-size:12px;--sd-progress-progress-linear-typography-font-weight:700;--sd-progress-progress-linear-typography-text-decoration:none;--sd-progress-progress-linear-typography-line-height:20px;--sd-progress-progress-circular-size:80px;--sd-progress-progress-circular-gap:8px;--sd-progress-progress-circular-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-progress-progress-circular-typography-font-weight:700;--sd-progress-progress-circular-typography-font-size:16px;--sd-progress-progress-circular-typography-text-decoration:none;--sd-progress-progress-circular-typography-line-height:26px;--sd-progress-progress-label-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-progress-progress-label-typography-font-size:12px;--sd-progress-progress-label-typography-font-weight:400;--sd-progress-progress-label-typography-line-height:20px;--sd-progress-progress-label-typography-text-decoration:none;--sd-progress-progress-color-track:#EEEEEE;--sd-progress-progress-color-label:#555555;--sd-progress-progress-active-color:#2D8DFF;--sd-progress-progress-success-color:#12B553;--sd-progress-progress-error-color:#FB4444;--sd-progress-progress-bar-text:#FFFFFF;--sd-table-table-header-height:36px;--sd-table-table-header-padding-x:16px;--sd-table-table-header-gap:4px;--sd-table-table-header-bg:#F5FAFF;--sd-table-table-header-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-table-table-header-typography-font-weight:500;--sd-table-table-header-typography-font-size:12px;--sd-table-table-header-typography-line-height:20px;--sd-table-table-header-typography-text-decoration:none;--sd-table-table-header-resizing-bar-color:#CCCCCC;--sd-table-table-header-resizing-bar-height:16px;--sd-table-table-body-default-height:44px;--sd-table-table-body-default-padding-y:8px;--sd-table-table-body-dense-height:32px;--sd-table-table-body-dense-padding-y:6px;--sd-table-table-body-padding-x:16px;--sd-table-table-body-frame-padding:8px;--sd-table-table-body-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-table-table-body-typography-font-weight:400;--sd-table-table-body-typography-font-size:12px;--sd-table-table-body-typography-line-height:20px;--sd-table-table-body-typography-text-decoration:none;--sd-table-table-border-color:#E1E1E1;--sd-table-table-border-width:1px;--sd-table-table-content-gap:8px;--sd-table-table-bar-section-gap:12px;--sd-table-table-bar-divider-height:20px;--sd-table-table-bar-height:44px;--sd-table-table-bar-count-total:#066D9B;--sd-table-table-bar-count-null:#888888;--sd-table-table-radius:8px;--sd-table-table-key-value-body-padding:8px;--sd-table-table-key-value-height:44px;--sd-table-table-key-value-search-padding-x:32px;--sd-table-table-key-value-search-bg:#F9F9F9;--sd-table-table-separator-color:#EEEEEE;--sd-table-table-separator-width-default:6px;--sd-table-table-separator-width-dense:4px;--sd-pagination-pagination-height:24px;--sd-pagination-pagination-padding-x:6px;--sd-pagination-pagination-radius:6px;--sd-pagination-pagination-gap:12px;--sd-pagination-pagination-move-gap:4px;--sd-pagination-pagination-icon:12px;--sd-pagination-pagination-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-pagination-pagination-typography-default-font-size:12px;--sd-pagination-pagination-typography-default-font-weight:500;--sd-pagination-pagination-typography-default-text-decoration:none;--sd-pagination-pagination-typography-default-line-height:20px;--sd-pagination-pagination-typography-default-selected-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-pagination-pagination-typography-default-selected-font-weight:700;--sd-pagination-pagination-typography-default-selected-font-size:12px;--sd-pagination-pagination-typography-default-selected-line-height:20px;--sd-pagination-pagination-typography-default-selected-text-decoration:none;--sd-pagination-pagination-typography-selected-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-pagination-pagination-typography-selected-font-weight:700;--sd-pagination-pagination-typography-selected-font-size:12px;--sd-pagination-pagination-typography-selected-line-height:20px;--sd-pagination-pagination-typography-selected-text-decoration:none;--sd-pagination-pagination-typography-selected-selected-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-pagination-pagination-typography-selected-selected-font-weight:700;--sd-pagination-pagination-typography-selected-selected-font-size:12px;--sd-pagination-pagination-typography-selected-selected-line-height:20px;--sd-pagination-pagination-typography-selected-selected-text-decoration:none;--sd-pagination-pagination-item-bg-hover:#EEEEEE;--sd-pagination-pagination-item-bg-selected:#E6F1FF;--sd-pagination-pagination-item-content-default:#555555;--sd-pagination-pagination-item-content-hover:#004290;--sd-pagination-pagination-item-content-selected:#004290;--sd-tab-tab-main-lg-height:44px;--sd-tab-tab-main-lg-padding-x:32px;--sd-tab-tab-main-md-height:36px;--sd-tab-tab-main-md-padding-x:24px;--sd-tab-tab-main-gap:8px;--sd-tab-tab-main-container-gap:4px;--sd-tab-tab-main-radius:6px;--sd-tab-tab-main-border-width:1px;--sd-tab-tab-main-selected-bg:#FFFFFF;--sd-tab-tab-main-selected-text:#0075FF;--sd-tab-tab-main-selected-border:#0075FF;--sd-tab-tab-main-selected-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tab-tab-main-selected-typography-font-weight:700;--sd-tab-tab-main-selected-typography-font-size:12px;--sd-tab-tab-main-selected-typography-line-height:20px;--sd-tab-tab-main-selected-typography-text-decoration:none;--sd-tab-tab-main-default-bg:#F6F6F6;--sd-tab-tab-main-default-text:#888888;--sd-tab-tab-main-default-border:#CCCCCC;--sd-tab-tab-main-default-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tab-tab-main-default-typography-font-weight:400;--sd-tab-tab-main-default-typography-font-size:12px;--sd-tab-tab-main-default-typography-line-height:20px;--sd-tab-tab-main-default-typography-text-decoration:none;--sd-tab-tab-sub-selected-text:#0075FF;--sd-tab-tab-sub-selected-line:#0075FF;--sd-tab-tab-sub-selected-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tab-tab-sub-selected-typography-font-weight:700;--sd-tab-tab-sub-selected-typography-font-size:12px;--sd-tab-tab-sub-selected-typography-line-height:20px;--sd-tab-tab-sub-selected-typography-text-decoration:none;--sd-tab-tab-sub-default-text:#222222;--sd-tab-tab-sub-default-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-tab-tab-sub-default-typography-font-weight:400;--sd-tab-tab-sub-default-typography-font-size:12px;--sd-tab-tab-sub-default-typography-line-height:20px;--sd-tab-tab-sub-default-typography-text-decoration:none;--sd-tab-tab-sub-border-width:1px;--sd-tab-tab-sub-gap-horizontal:24px;--sd-tab-tab-sub-gap-vertical:16px;--sd-tab-tab-sub-content-gap:4px;--sd-tab-tab-sub-item-height:20px;--sd-gnb-belt-gnb-belt-bg:#001B39;--sd-gnb-belt-gnb-belt-top-height:56px;--sd-gnb-belt-gnb-belt-top-padding-x:12px;--sd-gnb-belt-gnb-belt-top-gap:8px;--sd-gnb-belt-gnb-belt-top-border:#004177;--sd-gnb-belt-gnb-belt-logo-height:32px;--sd-gnb-belt-gnb-belt-body-padding-y:12px;--sd-gnb-belt-gnb-belt-item-padding-y:6px;--sd-gnb-belt-gnb-belt-item-padding-right:20px;--sd-gnb-belt-gnb-belt-item-gap:12px;--sd-gnb-belt-gnb-belt-item-icon:12px;--sd-gnb-belt-gnb-belt-item-bg-default:#001B39;--sd-gnb-belt-gnb-belt-item-bg-selected:#002B5E;--sd-gnb-belt-gnb-belt-item-color-default:#FFFFFF;--sd-gnb-belt-gnb-belt-item-color-active:#93C4FF;--sd-gnb-belt-gnb-belt-item-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-gnb-belt-gnb-belt-item-typography-default-font-weight:500;--sd-gnb-belt-gnb-belt-item-typography-default-font-size:12px;--sd-gnb-belt-gnb-belt-item-typography-default-line-height:20px;--sd-gnb-belt-gnb-belt-item-typography-default-text-decoration:none;--sd-gnb-belt-gnb-belt-item-typography-selected-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-gnb-belt-gnb-belt-item-typography-selected-font-weight:700;--sd-gnb-belt-gnb-belt-item-typography-selected-font-size:12px;--sd-gnb-belt-gnb-belt-item-typography-selected-line-height:20px;--sd-gnb-belt-gnb-belt-item-typography-selected-text-decoration:none;--sd-gnb-belt-gnb-belt-item-depth1-padding-left:20px;--sd-gnb-belt-gnb-belt-item-depth1-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-gnb-belt-gnb-belt-item-depth1-typography-font-weight:700;--sd-gnb-belt-gnb-belt-item-depth1-typography-font-size:13px;--sd-gnb-belt-gnb-belt-item-depth1-typography-line-height:22px;--sd-gnb-belt-gnb-belt-item-depth1-typography-text-decoration:none;--sd-gnb-belt-gnb-belt-item-depth2-padding-left:32px;--sd-gnb-belt-gnb-belt-item-depth3-padding-left:44px;--sd-gnb-belt-gnb-belt-fold-width:48px;--sd-gnb-box-gnb-box-top-height:56px;--sd-gnb-box-gnb-box-padding-x:16px;--sd-gnb-box-gnb-box-gap:16px;--sd-gnb-box-gnb-box-bg:#FFFFFF;--sd-gnb-box-gnb-box-border:#E1E1E1;--sd-gnb-box-gnb-box-button-gap:8px;--sd-gnb-box-gnb-box-logo-height:32px;--sd-gnb-box-gnb-box-menu-body-padding:12px;--sd-gnb-box-gnb-box-item-padding-y:6px;--sd-gnb-box-gnb-box-item-padding-right:12px;--sd-gnb-box-gnb-box-item-gap:8px;--sd-gnb-box-gnb-box-item-radius:8px;--sd-gnb-box-gnb-box-item-arrow:12px;--sd-gnb-box-gnb-box-item-bg-default:#FFFFFF;--sd-gnb-box-gnb-box-item-bg-hover:#F6F6F6;--sd-gnb-box-gnb-box-item-bg-selected:#EFF6FF;--sd-gnb-box-gnb-box-item-color-default:#222222;--sd-gnb-box-gnb-box-item-color-selected:#0075FF;--sd-gnb-box-gnb-box-item-typography-default-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-gnb-box-gnb-box-item-typography-default-font-weight:500;--sd-gnb-box-gnb-box-item-typography-default-font-size:14px;--sd-gnb-box-gnb-box-item-typography-default-line-height:24px;--sd-gnb-box-gnb-box-item-typography-default-text-decoration:none;--sd-gnb-box-gnb-box-item-typography-bold-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-gnb-box-gnb-box-item-typography-bold-font-weight:700;--sd-gnb-box-gnb-box-item-typography-bold-font-size:14px;--sd-gnb-box-gnb-box-item-typography-bold-line-height:24px;--sd-gnb-box-gnb-box-item-typography-bold-text-decoration:none;--sd-gnb-box-gnb-box-item-depth1-padding-left:12px;--sd-gnb-box-gnb-box-item-depth1-icon:20px;--sd-gnb-box-gnb-box-item-depth2-padding-left:24px;--sd-gnb-box-gnb-box-item-depth3-padding-left:36px;--sd-callout-callout-radius:8px;--sd-callout-callout-border-width:1px;--sd-callout-callout-body-gap:2px;--sd-callout-callout-body-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-callout-callout-body-typography-font-size:12px;--sd-callout-callout-body-typography-font-weight:400;--sd-callout-callout-body-typography-line-height:20px;--sd-callout-callout-body-typography-text-decoration:none;--sd-callout-callout-body-padding-x:12px;--sd-callout-callout-body-padding-y:8px;--sd-callout-callout-default-bg:#F9F9F9;--sd-callout-callout-default-border:#E1E1E1;--sd-callout-callout-default-content:#555555;--sd-callout-callout-danger-bg:#FCEFEF;--sd-callout-callout-danger-border:#FFB5B5;--sd-callout-callout-danger-content:#222222;--sd-callout-callout-danger-title-bg:#FB4444;--sd-callout-callout-danger-title-padding-x:24px;--sd-callout-callout-danger-title-gap:2px;--sd-callout-callout-danger-title-typography-font-family:Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif;--sd-callout-callout-danger-title-typography-font-weight:700;--sd-callout-callout-danger-title-typography-font-size:16px;--sd-callout-callout-danger-title-typography-text-decoration:none;--sd-callout-callout-danger-title-typography-line-height:26px;--sd-callout-callout-danger-title-color:#FFFFFF;--sd-callout-callout-danger-title-icon:24px}.bg-primary{background-color:var(--color-primary, #051d36)}.bg-secondary{background-color:var(--color-secondary, #555555)}.bg-accent{background-color:var(--color-accent, #9c27b0)}.bg-positive{background-color:var(--color-positive, #0075ff)}.bg-negative{background-color:var(--color-negative, #e30000)}.bg-info{background-color:var(--color-info, #00cd52)}.bg-warning{background-color:var(--color-warning, #f2c037)}.bg-red_99{background-color:var(--color-red_99, #220000)}.bg-red_95{background-color:var(--color-red_95, #440000)}.bg-red_90{background-color:var(--color-red_90, #5e0000)}.bg-red_85{background-color:var(--color-red_85, #820000)}.bg-red_80{background-color:var(--color-red_80, #ad0000)}.bg-red_75{background-color:var(--color-red_75, #e30000)}.bg-red_70{background-color:var(--color-red_70, #fb4444)}.bg-red_60{background-color:var(--color-red_60, #ff7c7c)}.bg-red_45{background-color:var(--color-red_45, #ffb5b5)}.bg-red_30{background-color:var(--color-red_30, #ffd3d3)}.bg-red_20{background-color:var(--color-red_20, #fce6e6)}.bg-red_15{background-color:var(--color-red_15, #fcefef)}.bg-caution_bg{background-color:var(--color-caution_bg, #fef1f1)}.bg-caution_icon{background-color:var(--color-caution_icon, #fd9595)}.bg-orange_99{background-color:var(--color-orange_99, #2f1100)}.bg-orange_95{background-color:var(--color-orange_95, #4d1b00)}.bg-orange_90{background-color:var(--color-orange_90, #752a00)}.bg-orange_85{background-color:var(--color-orange_85, #9b3700)}.bg-orange_75{background-color:var(--color-orange_75, #ce4900)}.bg-orange_65{background-color:var(--color-orange_65, #ff6b00)}.bg-orange_60{background-color:var(--color-orange_60, #ff7f22)}.bg-orange_55{background-color:var(--color-orange_55, #ffa452)}.bg-orange_45{background-color:var(--color-orange_45, #ffbc81)}.bg-orange_35{background-color:var(--color-orange_35, #ffd5af)}.bg-orange_20{background-color:var(--color-orange_20, #ffead7)}.bg-orange_10{background-color:var(--color-orange_10, #fef1ea)}.bg-header_alert{background-color:var(--color-header_alert, #ff7a00)}.bg-yellow_95{background-color:var(--color-yellow_95, #322700)}.bg-yellow_90{background-color:var(--color-yellow_90, #453702)}.bg-yellow_80{background-color:var(--color-yellow_80, #6c5602)}.bg-yellow_70{background-color:var(--color-yellow_70, #9c7a00)}.bg-yellow_60{background-color:var(--color-yellow_60, #c49900)}.bg-yellow_50{background-color:var(--color-yellow_50, #ebb800)}.bg-yellow_45{background-color:var(--color-yellow_45, #ffc700)}.bg-yellow_40{background-color:var(--color-yellow_40, #ffd643)}.bg-yellow_30{background-color:var(--color-yellow_30, #fee17c)}.bg-yellow_25{background-color:var(--color-yellow_25, #ffe99e)}.bg-yellow_20{background-color:var(--color-yellow_20, #fef1c4)}.bg-yellow_10{background-color:var(--color-yellow_10, #fff7dd)}.bg-olive_95{background-color:var(--color-olive_95, #2c2c00)}.bg-olive_90{background-color:var(--color-olive_90, #454500)}.bg-olive_80{background-color:var(--color-olive_80, #636300)}.bg-olive_70{background-color:var(--color-olive_70, #838300)}.bg-olive_65{background-color:var(--color-olive_65, #a5a500)}.bg-olive_55{background-color:var(--color-olive_55, #c7c700)}.bg-olive_45{background-color:var(--color-olive_45, #dddd12)}.bg-olive_30{background-color:var(--color-olive_30, #eeee37)}.bg-olive_20{background-color:var(--color-olive_20, #f6f65f)}.bg-olive_15{background-color:var(--color-olive_15, #fafaa1)}.bg-olive_10{background-color:var(--color-olive_10, #fbfbbf)}.bg-olive_05{background-color:var(--color-olive_05, #fefed9)}.bg-green_99{background-color:var(--color-green_99, #001d0b)}.bg-green_95{background-color:var(--color-green_95, #003013)}.bg-green_90{background-color:var(--color-green_90, #00461c)}.bg-green_85{background-color:var(--color-green_85, #006629)}.bg-green_80{background-color:var(--color-green_80, #007b31)}.bg-green_75{background-color:var(--color-green_75, #00973c)}.bg-green_70{background-color:var(--color-green_70, #12b553)}.bg-green_65{background-color:var(--color-green_65, #2bce6c)}.bg-green_55{background-color:var(--color-green_55, #6de39c)}.bg-green_45{background-color:var(--color-green_45, #acf4c9)}.bg-green_25{background-color:var(--color-green_25, #d4fae3)}.bg-green_15{background-color:var(--color-green_15, #e8f9ef)}.bg-steelblue_99{background-color:var(--color-steelblue_99, #021a25)}.bg-steelblue_95{background-color:var(--color-steelblue_95, #02212f)}.bg-steelblue_90{background-color:var(--color-steelblue_90, #032d40)}.bg-steelblue_85{background-color:var(--color-steelblue_85, #033f59)}.bg-steelblue_80{background-color:var(--color-steelblue_80, #06587d)}.bg-steelblue_75{background-color:var(--color-steelblue_75, #066d9b)}.bg-steelblue_70{background-color:var(--color-steelblue_70, #128fc7)}.bg-steelblue_65{background-color:var(--color-steelblue_65, #229fd7)}.bg-steelblue_60{background-color:var(--color-steelblue_60, #50bff0)}.bg-steelblue_45{background-color:var(--color-steelblue_45, #a4e2fd)}.bg-steelblue_25{background-color:var(--color-steelblue_25, #d9f2fd)}.bg-steelblue_10{background-color:var(--color-steelblue_10, #ecf8fd)}.bg-oceanblue_99{background-color:var(--color-oceanblue_99, #011428)}.bg-oceanblue_95{background-color:var(--color-oceanblue_95, #03172d)}.bg-oceanblue_90{background-color:var(--color-oceanblue_90, #051d36)}.bg-oceanblue_85{background-color:var(--color-oceanblue_85, #07284a)}.bg-oceanblue_80{background-color:var(--color-oceanblue_80, #004177)}.bg-oceanblue_75{background-color:var(--color-oceanblue_75, #025497)}.bg-oceanblue_70{background-color:var(--color-oceanblue_70, #006ac1)}.bg-oceanblue_65{background-color:var(--color-oceanblue_65, #1f8ae1)}.bg-oceanblue_60{background-color:var(--color-oceanblue_60, #5cb0f3)}.bg-oceanblue_50{background-color:var(--color-oceanblue_50, #9cd1fc)}.bg-oceanblue_25{background-color:var(--color-oceanblue_25, #d5ebfe)}.bg-oceanblue_15{background-color:var(--color-oceanblue_15, #eaf5fe)}.bg-brilliantblue_99{background-color:var(--color-brilliantblue_99, #001226)}.bg-brilliantblue_95{background-color:var(--color-brilliantblue_95, #001b39)}.bg-brilliantblue_90{background-color:var(--color-brilliantblue_90, #002b5e)}.bg-brilliantblue_85{background-color:var(--color-brilliantblue_85, #004290)}.bg-brilliantblue_80{background-color:var(--color-brilliantblue_80, #005cc9)}.bg-brilliantblue_75{background-color:var(--color-brilliantblue_75, #0075ff)}.bg-brilliantblue_70{background-color:var(--color-brilliantblue_70, #2d8dff)}.bg-brilliantblue_60{background-color:var(--color-brilliantblue_60, #64abff)}.bg-brilliantblue_50{background-color:var(--color-brilliantblue_50, #93c4ff)}.bg-brilliantblue_40{background-color:var(--color-brilliantblue_40, #bbdaff)}.bg-brilliantblue_25{background-color:var(--color-brilliantblue_25, #d9eaff)}.bg-brilliantblue_20{background-color:var(--color-brilliantblue_20, #e6f1ff)}.bg-brilliantblue_10{background-color:var(--color-brilliantblue_10, #eff6ff)}.bg-brilliantblue_05{background-color:var(--color-brilliantblue_05, #f5faff)}.bg-grey_95{background-color:var(--color-grey_95, #222222)}.bg-grey_90{background-color:var(--color-grey_90, #333333)}.bg-grey_85{background-color:var(--color-grey_85, #444444)}.bg-grey_80{background-color:var(--color-grey_80, #555555)}.bg-grey_70{background-color:var(--color-grey_70, #737373)}.bg-grey_65{background-color:var(--color-grey_65, #888888)}.bg-grey_60{background-color:var(--color-grey_60, #999999)}.bg-grey_55{background-color:var(--color-grey_55, #aaaaaa)}.bg-grey_50{background-color:var(--color-grey_50, #bbbbbb)}.bg-grey_45{background-color:var(--color-grey_45, #cccccc)}.bg-grey_35{background-color:var(--color-grey_35, #d8d8d8)}.bg-grey_30{background-color:var(--color-grey_30, #e1e1e1)}.bg-grey_25{background-color:var(--color-grey_25, #e5e5e5)}.bg-grey_20{background-color:var(--color-grey_20, #eeeeee)}.bg-grey_10{background-color:var(--color-grey_10, #f6f6f6)}.bg-grey_05{background-color:var(--color-grey_05, #f9f9f9)}.bg-white{background-color:var(--color-white, #ffffff)}.bg-black{background-color:var(--color-black, #000000)}.text-primary{color:var(--color-primary, #051d36)}.text-secondary{color:var(--color-secondary, #555555)}.text-accent{color:var(--color-accent, #9c27b0)}.text-positive{color:var(--color-positive, #0075ff)}.text-negative{color:var(--color-negative, #e30000)}.text-info{color:var(--color-info, #00cd52)}.text-warning{color:var(--color-warning, #f2c037)}.text-red_99{color:var(--color-red_99, #220000)}.text-red_95{color:var(--color-red_95, #440000)}.text-red_90{color:var(--color-red_90, #5e0000)}.text-red_85{color:var(--color-red_85, #820000)}.text-red_80{color:var(--color-red_80, #ad0000)}.text-red_75{color:var(--color-red_75, #e30000)}.text-red_70{color:var(--color-red_70, #fb4444)}.text-red_60{color:var(--color-red_60, #ff7c7c)}.text-red_45{color:var(--color-red_45, #ffb5b5)}.text-red_30{color:var(--color-red_30, #ffd3d3)}.text-red_20{color:var(--color-red_20, #fce6e6)}.text-red_15{color:var(--color-red_15, #fcefef)}.text-caution_bg{color:var(--color-caution_bg, #fef1f1)}.text-caution_icon{color:var(--color-caution_icon, #fd9595)}.text-orange_99{color:var(--color-orange_99, #2f1100)}.text-orange_95{color:var(--color-orange_95, #4d1b00)}.text-orange_90{color:var(--color-orange_90, #752a00)}.text-orange_85{color:var(--color-orange_85, #9b3700)}.text-orange_75{color:var(--color-orange_75, #ce4900)}.text-orange_65{color:var(--color-orange_65, #ff6b00)}.text-orange_60{color:var(--color-orange_60, #ff7f22)}.text-orange_55{color:var(--color-orange_55, #ffa452)}.text-orange_45{color:var(--color-orange_45, #ffbc81)}.text-orange_35{color:var(--color-orange_35, #ffd5af)}.text-orange_20{color:var(--color-orange_20, #ffead7)}.text-orange_10{color:var(--color-orange_10, #fef1ea)}.text-header_alert{color:var(--color-header_alert, #ff7a00)}.text-yellow_95{color:var(--color-yellow_95, #322700)}.text-yellow_90{color:var(--color-yellow_90, #453702)}.text-yellow_80{color:var(--color-yellow_80, #6c5602)}.text-yellow_70{color:var(--color-yellow_70, #9c7a00)}.text-yellow_60{color:var(--color-yellow_60, #c49900)}.text-yellow_50{color:var(--color-yellow_50, #ebb800)}.text-yellow_45{color:var(--color-yellow_45, #ffc700)}.text-yellow_40{color:var(--color-yellow_40, #ffd643)}.text-yellow_30{color:var(--color-yellow_30, #fee17c)}.text-yellow_25{color:var(--color-yellow_25, #ffe99e)}.text-yellow_20{color:var(--color-yellow_20, #fef1c4)}.text-yellow_10{color:var(--color-yellow_10, #fff7dd)}.text-olive_95{color:var(--color-olive_95, #2c2c00)}.text-olive_90{color:var(--color-olive_90, #454500)}.text-olive_80{color:var(--color-olive_80, #636300)}.text-olive_70{color:var(--color-olive_70, #838300)}.text-olive_65{color:var(--color-olive_65, #a5a500)}.text-olive_55{color:var(--color-olive_55, #c7c700)}.text-olive_45{color:var(--color-olive_45, #dddd12)}.text-olive_30{color:var(--color-olive_30, #eeee37)}.text-olive_20{color:var(--color-olive_20, #f6f65f)}.text-olive_15{color:var(--color-olive_15, #fafaa1)}.text-olive_10{color:var(--color-olive_10, #fbfbbf)}.text-olive_05{color:var(--color-olive_05, #fefed9)}.text-green_99{color:var(--color-green_99, #001d0b)}.text-green_95{color:var(--color-green_95, #003013)}.text-green_90{color:var(--color-green_90, #00461c)}.text-green_85{color:var(--color-green_85, #006629)}.text-green_80{color:var(--color-green_80, #007b31)}.text-green_75{color:var(--color-green_75, #00973c)}.text-green_70{color:var(--color-green_70, #12b553)}.text-green_65{color:var(--color-green_65, #2bce6c)}.text-green_55{color:var(--color-green_55, #6de39c)}.text-green_45{color:var(--color-green_45, #acf4c9)}.text-green_25{color:var(--color-green_25, #d4fae3)}.text-green_15{color:var(--color-green_15, #e8f9ef)}.text-steelblue_99{color:var(--color-steelblue_99, #021a25)}.text-steelblue_95{color:var(--color-steelblue_95, #02212f)}.text-steelblue_90{color:var(--color-steelblue_90, #032d40)}.text-steelblue_85{color:var(--color-steelblue_85, #033f59)}.text-steelblue_80{color:var(--color-steelblue_80, #06587d)}.text-steelblue_75{color:var(--color-steelblue_75, #066d9b)}.text-steelblue_70{color:var(--color-steelblue_70, #128fc7)}.text-steelblue_65{color:var(--color-steelblue_65, #229fd7)}.text-steelblue_60{color:var(--color-steelblue_60, #50bff0)}.text-steelblue_45{color:var(--color-steelblue_45, #a4e2fd)}.text-steelblue_25{color:var(--color-steelblue_25, #d9f2fd)}.text-steelblue_10{color:var(--color-steelblue_10, #ecf8fd)}.text-oceanblue_99{color:var(--color-oceanblue_99, #011428)}.text-oceanblue_95{color:var(--color-oceanblue_95, #03172d)}.text-oceanblue_90{color:var(--color-oceanblue_90, #051d36)}.text-oceanblue_85{color:var(--color-oceanblue_85, #07284a)}.text-oceanblue_80{color:var(--color-oceanblue_80, #004177)}.text-oceanblue_75{color:var(--color-oceanblue_75, #025497)}.text-oceanblue_70{color:var(--color-oceanblue_70, #006ac1)}.text-oceanblue_65{color:var(--color-oceanblue_65, #1f8ae1)}.text-oceanblue_60{color:var(--color-oceanblue_60, #5cb0f3)}.text-oceanblue_50{color:var(--color-oceanblue_50, #9cd1fc)}.text-oceanblue_25{color:var(--color-oceanblue_25, #d5ebfe)}.text-oceanblue_15{color:var(--color-oceanblue_15, #eaf5fe)}.text-brilliantblue_99{color:var(--color-brilliantblue_99, #001226)}.text-brilliantblue_95{color:var(--color-brilliantblue_95, #001b39)}.text-brilliantblue_90{color:var(--color-brilliantblue_90, #002b5e)}.text-brilliantblue_85{color:var(--color-brilliantblue_85, #004290)}.text-brilliantblue_80{color:var(--color-brilliantblue_80, #005cc9)}.text-brilliantblue_75{color:var(--color-brilliantblue_75, #0075ff)}.text-brilliantblue_70{color:var(--color-brilliantblue_70, #2d8dff)}.text-brilliantblue_60{color:var(--color-brilliantblue_60, #64abff)}.text-brilliantblue_50{color:var(--color-brilliantblue_50, #93c4ff)}.text-brilliantblue_40{color:var(--color-brilliantblue_40, #bbdaff)}.text-brilliantblue_25{color:var(--color-brilliantblue_25, #d9eaff)}.text-brilliantblue_20{color:var(--color-brilliantblue_20, #e6f1ff)}.text-brilliantblue_10{color:var(--color-brilliantblue_10, #eff6ff)}.text-brilliantblue_05{color:var(--color-brilliantblue_05, #f5faff)}.text-grey_95{color:var(--color-grey_95, #222222)}.text-grey_90{color:var(--color-grey_90, #333333)}.text-grey_85{color:var(--color-grey_85, #444444)}.text-grey_80{color:var(--color-grey_80, #555555)}.text-grey_70{color:var(--color-grey_70, #737373)}.text-grey_65{color:var(--color-grey_65, #888888)}.text-grey_60{color:var(--color-grey_60, #999999)}.text-grey_55{color:var(--color-grey_55, #aaaaaa)}.text-grey_50{color:var(--color-grey_50, #bbbbbb)}.text-grey_45{color:var(--color-grey_45, #cccccc)}.text-grey_35{color:var(--color-grey_35, #d8d8d8)}.text-grey_30{color:var(--color-grey_30, #e1e1e1)}.text-grey_25{color:var(--color-grey_25, #e5e5e5)}.text-grey_20{color:var(--color-grey_20, #eeeeee)}.text-grey_10{color:var(--color-grey_10, #f6f6f6)}.text-grey_05{color:var(--color-grey_05, #f9f9f9)}.text-white{color:var(--color-white, #ffffff)}.text-black{color:var(--color-black, #000000)}*,*::before,*::after{box-sizing:border-box}*{scroll-behavior:smooth}*::-webkit-scrollbar{opacity:0;width:8px;background:#E5E5E5}*::-webkit-scrollbar:horizontal{height:8px}*::-webkit-scrollbar-thumb{height:80px;background-color:#CCCCCC;border-radius:4px}*::-webkit-scrollbar-track{background-color:#E5E5E5}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin-block-end:0}ul[role=list],ol[role=list]{list-style:none}body{min-height:100vh;line-height:1.5}h1,h2,h3,h4,button,input,label{line-height:1}h1,h2,h3,h4{text-wrap:balance}a:not([class]){text-decoration-skip-ink:auto;color:currentColor}img,picture{max-width:100%;display:block}input,button,textarea,select{font-size:inherit}:target{scroll-margin-block:5ex}button{background:none;border:none;cursor:pointer;padding:0;outline:0}button:focus{outline:0 !important}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-text-fill-color:#000;-webkit-box-shadow:0 0 0px 1000px #fff inset;box-shadow:0 0 0px 1000px #fff inset;transition:background-color 5000s ease-in-out 0s}input:autofill,input:autofill:hover,input:autofill:focus,input:autofill:active{-webkit-text-fill-color:#000;-webkit-box-shadow:0 0 0px 1000px #fff inset;box-shadow:0 0 0px 1000px #fff inset;transition:background-color 5000s ease-in-out 0s}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}input[type=text],input[type=number],input[type=password],input[type=email],input[type=tel],textarea{padding-block:0px;padding-inline:0px}.sd-hoverable:hover>.sd-focus-helper{background:currentColor;opacity:0.15}.sd-hoverable:hover>.sd-focus-helper:before{opacity:0.1}.sd-hoverable:hover>.sd-focus-helper:after{opacity:0.4}.sd-focus-helper{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:inherit;opacity:0;transition:background-color 0.3s cubic-bezier(0.25, 0.8, 0.5, 1), opacity 0.4s cubic-bezier(0.25, 0.8, 0.5, 1)}.sd-focus-helper:before,.sd-focus-helper:after{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;border-radius:inherit;transition:background-color 0.3s cubic-bezier(0.25, 0.8, 0.5, 1), opacity 0.6s cubic-bezier(0.25, 0.8, 0.5, 1)}.sd-focus-helper:before{background:#000000}.sd-focus-helper:after{background:#ffffff}";
140
140
 
141
141
  /*
142
142
  Stencil Hydrate Platform v4.43.2 | MIT Licensed | https://stenciljs.com
@@ -5304,11 +5304,17 @@ class SdActionModal {
5304
5304
  this.close = createEvent(this, "sdClose", 7);
5305
5305
  this.ok = createEvent(this, "sdOk", 7);
5306
5306
  }
5307
+ /** 모달 헤더에 표시할 제목 */
5307
5308
  modalTitle = '';
5309
+ /** 하단 확인 버튼의 props (없으면 footer 미표시) */
5308
5310
  buttonProps;
5311
+ /** 모달 너비 (숫자면 px, 문자열이면 그대로 적용) */
5309
5312
  width;
5313
+ /** 모달 높이 (숫자면 px, 문자열이면 그대로 적용) */
5310
5314
  height;
5315
+ /** 닫기 버튼 클릭 시 발생 */
5311
5316
  close;
5317
+ /** 확인 버튼 클릭 시 발생 */
5312
5318
  ok;
5313
5319
  render() {
5314
5320
  const cssVars = {
@@ -5338,7 +5344,7 @@ class SdActionModal {
5338
5344
  if (this.height != null && this.height !== '') {
5339
5345
  sizeStyle.height = typeof this.height === 'number' ? `${this.height}px` : this.height;
5340
5346
  }
5341
- return (hAsync("div", { key: '91a94a7058a38f4433809705cf2fefdc3bbaefa9', class: "sd-action-modal", style: { ...cssVars, ...sizeStyle } }, hAsync("header", { key: 'e47efbc4183c9cff34d0ed66aab69521efb9e9e5', class: "sd-action-modal__header" }, hAsync("h2", { key: '7a54d5f4decb8d6d599808feafca68e548cf173e', class: "sd-action-modal__title" }, this.modalTitle), hAsync("div", { key: '621c4a86ef0ba69833b84515c74d4972f0a6cc42', class: "sd-action-modal__header-sub" }, hAsync("slot", { key: 'f7453ed96822804094c239cef05638934aed288e', name: "header-sub-title" })), hAsync("sd-ghost-button", { key: '29cee49b27b6f261d719e6856f8b38a9fa590bf4', class: "sd-action-modal__close", icon: "close", ariaLabel: "close", onClick: () => this.close.emit() })), hAsync("div", { key: '610840c291b3a26a82146549220ff1be470eafc2', class: "sd-action-modal__body" }, hAsync("slot", { key: '7d390550e2ba1ae27409fb64beccf4f33f744aad', name: "body" })), (this.buttonProps != null || this.buttonProps != undefined) && (hAsync("footer", { key: 'c835a2fb96066b393a8833d492d03adc2806cb07', class: "sd-action-modal__footer" }, hAsync("div", { key: 'b46ed9f18f9e760bd5159260e2cf4b3f27d8dd23', class: "sd-action-modal__footer-sub" }, hAsync("slot", { key: '4b9cce3c5b44b7921e82cb813a87ca5e76cd4928', name: "bottom-sub-content" })), hAsync("sd-button", { key: '6cf14c10ef064a1c5993a48ef9f921069d6d70f6', ...DEFAULT_BUTTON_PROPS, ...this.buttonProps, onSdClick: () => this.ok.emit() })))));
5347
+ return (hAsync("div", { key: '1bed831bf4534b5936d151d9cf085dda4657295f', class: "sd-action-modal", style: { ...cssVars, ...sizeStyle } }, hAsync("header", { key: '2e5855be8128695e85e397acc91432d573572a12', class: "sd-action-modal__header" }, hAsync("h2", { key: '1551d022b29288f38c1288c595d66acffb7cd81a', class: "sd-action-modal__title" }, this.modalTitle), hAsync("div", { key: '8d4ec549ebebc6b2d61ad3c9dc4808d0275d3c55', class: "sd-action-modal__header-sub" }, hAsync("slot", { key: 'aac69288e31316de16c6cdd8a5b5641b5afc2f5a', name: "header-sub-title" })), hAsync("sd-ghost-button", { key: 'd48d05b60cdc53e5d71e7694149b2e2e77c0cde8', class: "sd-action-modal__close", icon: "close", ariaLabel: "close", onClick: () => this.close.emit() })), hAsync("div", { key: 'abd5db2432dea9639bfa91fb3f3019105a47e409', class: "sd-action-modal__body" }, hAsync("slot", { key: 'debfb64dd617e6d027b9acdea2081141ad78ff5d', name: "body" })), (this.buttonProps != null || this.buttonProps != undefined) && (hAsync("footer", { key: '9cf1510e0ce5aea2e5b4e504e832073f533e166e', class: "sd-action-modal__footer" }, hAsync("div", { key: '677d0e26fe8d416419fd247c808206955df82b16', class: "sd-action-modal__footer-sub" }, hAsync("slot", { key: '24e400c96a0fec93ea76d2a037432901e3050618', name: "bottom-sub-content" })), hAsync("sd-button", { key: 'b52c5c7837a06f25738533dc769f5daff1169696', ...DEFAULT_BUTTON_PROPS, ...this.buttonProps, onSdClick: () => this.ok.emit() })))));
5342
5348
  }
5343
5349
  static get style() { return sdActionModalCss(); }
5344
5350
  static get cmpMeta() { return {
@@ -5387,10 +5393,11 @@ class SdBadge {
5387
5393
  constructor(hostRef) {
5388
5394
  registerInstance(this, hostRef);
5389
5395
  }
5396
+ /** 뱃지 색상 */
5390
5397
  color = 'blue';
5391
5398
  render() {
5392
5399
  const resolvedColor = BADGE_COLOR_MAP[this.color] ?? BADGE_COLOR_MAP.blue;
5393
- return (hAsync("div", { key: '161a6ab81185300e392e2a8cd54146185a8a6216', class: "sd-badge", style: { '--sd-badge-color': resolvedColor } }, hAsync("div", { key: '30f9ed293d34e78caf0d832da0ea5f6ce2caf1c3', class: "sd-badge__dot" })));
5400
+ return (hAsync("div", { key: '72a1ff1775b431b12a0765416d50256a91e34180', class: "sd-badge", style: { '--sd-badge-color': resolvedColor } }, hAsync("div", { key: '427bc1c523aff73dc52edf729a414b26f52faf68', class: "sd-badge__dot" })));
5394
5401
  }
5395
5402
  static get style() { return sdBadgeCss(); }
5396
5403
  static get cmpMeta() { return {
@@ -5501,38 +5508,66 @@ class SdBarcodeInput {
5501
5508
  this.blur = createEvent(this, "sdBlur", 7);
5502
5509
  }
5503
5510
  get host() { return getElement(this); }
5511
+ /** 입력값 */
5504
5512
  value = null;
5513
+ /** 입력 필드 크기 */
5505
5514
  size = 'sm';
5515
+ /** 필드 우측 어드온 레이블 */
5506
5516
  addonLabel = '';
5517
+ /** 어드온 정렬 방향 */
5507
5518
  addonAlign = 'start';
5519
+ /** 입력 placeholder */
5508
5520
  placeholder = '입력해 주세요.';
5521
+ /** 비활성 상태 여부 */
5509
5522
  disabled = false;
5523
+ /** 입력값 지우기 버튼 표시 여부 */
5510
5524
  clearable = false;
5525
+ /** 필드 너비 (숫자면 px, 문자열이면 그대로 적용) */
5511
5526
  width = '';
5527
+ /** 유효성 검사 규칙 목록 */
5512
5528
  rules = [];
5529
+ /** 마운트 시 자동 포커스 여부 */
5513
5530
  autoFocus = false;
5531
+ /** 필드 상태 (없으면 rules 결과로 자동 결정) */
5514
5532
  status;
5533
+ /** 필드 하단 힌트 텍스트 */
5515
5534
  hint = '';
5535
+ /** 에러 메시지 */
5516
5536
  errorMessage = '';
5537
+ /** 네이티브 input에 추가할 클래스 */
5517
5538
  inputClass = '';
5539
+ /** 읽기 전용 여부 */
5518
5540
  readonly = false;
5541
+ /** 에러 상태 여부 */
5519
5542
  error = false;
5543
+ /** 포커스 상태 여부 */
5520
5544
  focused = false;
5545
+ /** 호버 상태 여부 */
5521
5546
  hovered = false;
5522
5547
  // props - label
5548
+ /** 레이블 텍스트 */
5523
5549
  label = '';
5550
+ /** 레이블 너비 */
5524
5551
  labelWidth = '';
5552
+ /** 레이블 영역 아이콘 */
5525
5553
  icon = undefined;
5554
+ /** 레이블 툴팁 텍스트 */
5526
5555
  labelTooltip = '';
5556
+ /** 레이블 툴팁 상세 옵션 */
5527
5557
  labelTooltipProps = null;
5528
5558
  // props - custom styles
5559
+ /** 네이티브 input에 적용할 인라인 스타일 */
5529
5560
  inputStyle = {};
5530
5561
  internalValue = null;
5531
5562
  nativeEl = undefined;
5532
5563
  formField;
5564
+ /** 폼 연동용 name 속성 */
5533
5565
  name = nanoid$1();
5566
+ /** 입력값 변경 시 발생합니다. */
5534
5567
  input;
5568
+ /** 포커스 진입 시 발생합니다. */
5535
5569
  focus;
5570
+ /** 포커스 이탈 시 발생합니다. */
5536
5571
  blur;
5537
5572
  valueChanged(newValue) {
5538
5573
  this.internalValue = newValue;
@@ -5543,18 +5578,23 @@ class SdBarcodeInput {
5543
5578
  this.input?.emit(this.value);
5544
5579
  }
5545
5580
  }
5581
+ /** 네이티브 input 엘리먼트를 반환합니다. */
5546
5582
  async sdGetNativeElement() {
5547
5583
  return this.nativeEl || null;
5548
5584
  }
5585
+ /** 유효성 검사를 실행합니다. */
5549
5586
  async sdValidate() {
5550
5587
  this.formField?.sdValidate();
5551
5588
  }
5589
+ /** 입력값과 유효성 상태를 초기화합니다. */
5552
5590
  async sdReset() {
5553
5591
  this.formField?.sdReset();
5554
5592
  }
5593
+ /** 유효성 상태만 초기화합니다. */
5555
5594
  async sdResetValidate() {
5556
5595
  this.formField?.sdResetValidation();
5557
5596
  }
5597
+ /** 입력 필드에 포커스를 이동합니다. */
5558
5598
  async sdFocus() {
5559
5599
  this.formField?.sdFocus();
5560
5600
  }
@@ -5600,7 +5640,7 @@ class SdBarcodeInput {
5600
5640
  '--sd-system-radius-field-sm': `${sizeTokens.radius}px`,
5601
5641
  '--sd-system-color-field-bg-default': BARCODE_INPUT_COLORS.bg.barcode,
5602
5642
  };
5603
- return (hAsync("sd-field", { key: '453566ff018ea2131361fcc18d6094491d3b04dd', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, status: this.status, size: this.size, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, hAsync("label", { key: '153174624e5ec10908df6f40711a7a37039ab67b', class: "sd-barcode-input__content" }, hAsync("slot", { key: 'ce9326a5b3157ad511171f48ee95dd2ce6a6b5dd', name: "prefix" }), hAsync("input", { key: '069c037e8c27575f70ebfed9c2b2e61817f202f5', name: this.name, ref: el => (this.nativeEl = el), class: `sd-barcode-input__native ${this.inputClass}`, type: "text", value: this.internalValue || '', placeholder: this.placeholder ?? '입력해 주세요.', disabled: this.disabled, readonly: this.readonly, autofocus: this.autoFocus, onInput: this.handleInput, onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event), style: this.inputStyle }), hAsync("slot", { key: '7ba3162a850e8d3d787ee44aaa807bb5be54cddc', name: "suffix" }), this.clearable && this.internalValue && (hAsync("sd-ghost-button", { key: 'f12e8083d050d96b34cad2d332d5aeb08f4f3913', icon: "close", ariaLabel: "clear", size: "xxs", disabled: this.disabled, class: "sd-barcode-input__clear-icon", onClick: async () => {
5643
+ return (hAsync("sd-field", { key: '9f9831c9f39e4723cad6567b22155ab89856c9be', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, status: this.status, size: this.size, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, hAsync("label", { key: '1da8ce2ef66e48f269b79f22e6751ccf18ca9cc0', class: "sd-barcode-input__content" }, hAsync("slot", { key: '06850214ee5118ff3d13266c1ade37902c19f379', name: "prefix" }), hAsync("input", { key: '0384b010946b635cc6b19ddb1a83be593ba5806b', name: this.name, ref: el => (this.nativeEl = el), class: `sd-barcode-input__native ${this.inputClass}`, type: "text", value: this.internalValue || '', placeholder: this.placeholder ?? '입력해 주세요.', disabled: this.disabled, readonly: this.readonly, autofocus: this.autoFocus, onInput: this.handleInput, onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event), style: this.inputStyle }), hAsync("slot", { key: '2bb5baed7b300014e52795d3a7665a580b7ff5a2', name: "suffix" }), this.clearable && this.internalValue && (hAsync("sd-ghost-button", { key: 'fc586fdb39a1dc25eeba32c76aa86a653416c38e', icon: "close", ariaLabel: "clear", size: "xxs", disabled: this.disabled, class: "sd-barcode-input__clear-icon", onClick: async () => {
5604
5644
  if (this.disabled)
5605
5645
  return;
5606
5646
  this.internalValue = '';
@@ -5745,22 +5785,22 @@ const CancelOutline = (props) => {
5745
5785
 
5746
5786
  const CaretDown = (props) => {
5747
5787
  const { size = 24, ...rest } = props;
5748
- return (hAsync("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...rest }, hAsync("path", { d: "M11.8033 17.754L2.72757 6.40942C2.59557 6.24442 2.71304 6 2.92435 6H21.0757C21.287 6 21.4045 6.24442 21.2725 6.40942L12.1968 17.754C12.0959 17.8801 11.9041 17.8801 11.8033 17.754Z", fill: "currentColor", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round" })));
5788
+ return (hAsync("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...rest }, hAsync("path", { d: "M19.2188 8.25C19.9555 8.25 20.2813 9.44246 19.7061 10.0342L12.4874 17.46C12.2028 17.7526 11.7974 17.7526 11.5127 17.46L4.294 10.0342C3.71879 9.44247 4.04461 8.25 4.7813 8.25H19.2188Z", fill: "currentColor" })));
5749
5789
  };
5750
5790
 
5751
5791
  const CaretLeft = (props) => {
5752
5792
  const { size = 24, ...rest } = props;
5753
- return (hAsync("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...rest }, hAsync("path", { d: "M6.24594 12.1968L17.5905 21.2725C17.7555 21.4045 18 21.287 18 21.0757V2.92435C18 2.71304 17.7555 2.59557 17.5905 2.72757L6.24594 11.8033C6.11984 11.9041 6.11984 12.0959 6.24594 12.1968Z", fill: "currentColor", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round" })));
5793
+ return (hAsync("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...rest }, hAsync("path", { d: "M14.1423 4.29416C14.7698 3.71888 16.0358 4.04475 16.0358 4.78146V19.219C16.0358 19.9557 14.7698 20.2815 14.1423 19.7063L6.26827 12.4865C5.95813 12.2019 5.95791 11.7975 6.26827 11.5129L14.1423 4.29416Z", fill: "currentColor" })));
5754
5794
  };
5755
5795
 
5756
5796
  const CaretRight = (props) => {
5757
5797
  const { size = 24, ...rest } = props;
5758
- return (hAsync("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...rest }, hAsync("path", { d: "M17.754 12.1968L6.40942 21.2725C6.24442 21.4045 6 21.287 6 21.0757L6 2.92435C6 2.71304 6.24442 2.59557 6.40942 2.72757L17.754 11.8033C17.8801 11.9041 17.8801 12.0959 17.754 12.1968Z", fill: "currentColor", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round" })));
5798
+ return (hAsync("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...rest }, hAsync("path", { d: "M8.25 4.78127C8.25 4.04456 9.44248 3.71871 10.0342 4.29397L17.46 11.5127C17.7526 11.7973 17.7526 12.2027 17.46 12.4873L10.0342 19.7061C9.44249 20.2814 8.25 19.9555 8.25 19.2188V4.78127Z", fill: "currentColor" })));
5759
5799
  };
5760
5800
 
5761
5801
  const CaretUp = (props) => {
5762
5802
  const { size = 24, ...rest } = props;
5763
- return (hAsync("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...rest }, hAsync("path", { d: "M11.8033 6.24594L2.72757 17.5905C2.59557 17.7555 2.71304 18 2.92435 18H21.0757C21.287 18 21.4045 17.7555 21.2725 17.5905L12.1968 6.24594C12.0959 6.11984 11.9041 6.11984 11.8033 6.24594Z", fill: "currentColor", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round" })));
5803
+ return (hAsync("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...rest }, hAsync("path", { d: "M11.6252 6.44362C11.8583 6.27919 12.1422 6.27906 12.3752 6.44362L12.4865 6.5403L19.7063 13.9651C20.2815 14.5568 19.9557 15.7503 19.219 15.7503H4.78146C4.04475 15.7503 3.71888 14.5568 4.29416 13.9651L11.5129 6.5403L11.6252 6.44362Z", fill: "currentColor" })));
5764
5804
  };
5765
5805
 
5766
5806
  const Check = (props) => {
@@ -6472,13 +6512,21 @@ class SdButton {
6472
6512
  registerInstance(this, hostRef);
6473
6513
  this.click = createEvent(this, "sdClick", 7);
6474
6514
  }
6515
+ /** 버튼 프리셋 이름 (크기와 색상 조합) */
6475
6516
  name = 'primary_sm';
6517
+ /** 버튼 텍스트 레이블 */
6476
6518
  label = '';
6519
+ /** 레이블 왼쪽에 표시할 아이콘 */
6477
6520
  icon;
6521
+ /** 레이블 오른쪽에 표시할 아이콘 */
6478
6522
  rightIcon;
6523
+ /** 아이콘 전용 버튼일 때 스크린리더용 레이블 */
6479
6524
  ariaLabel = '';
6525
+ /** 비활성 상태 여부 */
6480
6526
  disabled = false;
6527
+ /** 네이티브 button type 속성 */
6481
6528
  type = 'button';
6529
+ /** 클릭 시 발생합니다. */
6482
6530
  click;
6483
6531
  hasWarnedMissingAriaLabel = false;
6484
6532
  handleClick = (event) => {
@@ -6538,14 +6586,14 @@ class SdButton {
6538
6586
  const validRightIcon = isValidIcon(this.rightIcon) ? this.rightIcon : undefined;
6539
6587
  const iconOnly = !hasLabel && Boolean(validIcon) !== Boolean(validRightIcon);
6540
6588
  const accessibleName = iconOnly && this.ariaLabel.trim() !== '' ? this.ariaLabel : undefined;
6541
- return (hAsync("button", { key: 'da3228e64ba27430283d55a49d3e13b2112929b6', class: this.getButtonClasses(preset, config.size, hasLabel, iconOnly), type: this.type ?? 'button', disabled: this.disabled, "aria-label": accessibleName, style: {
6589
+ return (hAsync("button", { key: 'ea6482b86f91b26cd20ab635c357b655e92c2ec1', class: this.getButtonClasses(preset, config.size, hasLabel, iconOnly), type: this.type ?? 'button', disabled: this.disabled, "aria-label": accessibleName, style: {
6542
6590
  '--sd-button-bg': config.color,
6543
6591
  '--sd-button-bg-hover': PRESET_HOVER_BACKGROUNDS$1[preset],
6544
6592
  '--sd-button-border': PRESET_BORDER_COLORS$1[preset],
6545
6593
  '--sd-button-text': PRESET_TEXT_COLORS$1[preset],
6546
6594
  '--sd-button-icon': PRESET_ICON_COLORS$1[preset],
6547
6595
  '--sd-button-accent': BUTTON_FOCUS_RING_COLOR,
6548
- }, onClick: this.handleClick }, hAsync("span", { key: '22f4dac854314abb3edf3f6d4746057337d2d1c6', class: "sd-button__content" }, validIcon && (hAsync("sd-icon", { key: 'cd88155fa1783071fe6bee390df47daa96133eab', class: "sd-button__icon", name: validIcon, size: BUTTON_ICON_SIZES[config.size], color: "var(--sd-button-current-icon)" })), this.label && hAsync("span", { key: '27798d8db1d633ef99572982bddf40fbca415ed7', class: "sd-button__label" }, this.label), validRightIcon && (hAsync("sd-icon", { key: '6393eb128f66a88b7ad1b5f2c1cec5654af07fae', class: "sd-button__icon sd-button__icon--right", name: validRightIcon, size: BUTTON_ICON_SIZES[config.size], color: "var(--sd-button-current-icon)" })))));
6596
+ }, onClick: this.handleClick }, hAsync("span", { key: 'fd0cbd15e1edf4dc599e7eb3df3dcb1ddbd4732e', class: "sd-button__content" }, validIcon && (hAsync("sd-icon", { key: '5ace6d85974e1c2ecb0fcf55b0330801f78f094f', class: "sd-button__icon", name: validIcon, size: BUTTON_ICON_SIZES[config.size], color: "var(--sd-button-current-icon)" })), this.label && hAsync("span", { key: 'ef1240a6acee55def8244149b0af4e0252be558c', class: "sd-button__label" }, this.label), validRightIcon && (hAsync("sd-icon", { key: '127de568676734d75dd801b9ea46aa35e09b558c', class: "sd-button__icon sd-button__icon--right", name: validRightIcon, size: BUTTON_ICON_SIZES[config.size], color: "var(--sd-button-current-icon)" })))));
6549
6597
  }
6550
6598
  static get style() { return sdButtonCss(); }
6551
6599
  static get cmpMeta() { return {
@@ -6798,13 +6846,19 @@ class SdCalendar {
6798
6846
  this.update = createEvent(this, "sdUpdate", 7);
6799
6847
  this.viewChange = createEvent(this, "sdViewChange", 7);
6800
6848
  }
6849
+ /** 선택된 날짜 (YYYY-MM-DD) */
6801
6850
  value = null;
6851
+ /** 선택 가능한 날짜 범위 [시작일, 종료일] (YYYY-MM-DD, 빈 문자열이면 제한 없음) */
6802
6852
  selectable;
6853
+ /** 캘린더에 표시할 이벤트 그룹 목록 */
6803
6854
  events;
6855
+ /** 카드 형태의 그림자 여부 */
6804
6856
  elevated = false;
6805
6857
  currentYear;
6806
6858
  currentMonth;
6859
+ /** 날짜 선택 시 선택된 날짜(YYYY-MM-DD)를 전달합니다. */
6807
6860
  update;
6861
+ /** 월/년 네비게이션 변경 시 현재 보여지는 연·월을 전달합니다. */
6808
6862
  viewChange;
6809
6863
  dateUtil = useDatePicker();
6810
6864
  _eventMapCache;
@@ -6968,7 +7022,7 @@ class SdCalendar {
6968
7022
  const eventMap = this.eventMap;
6969
7023
  const legend = this.legendItems;
6970
7024
  const hasEvents = (this.events?.length ?? 0) > 0;
6971
- return (hAsync("div", { key: 'c8456b5c2b6617cef1aacd140d600458e9b05f32', class: { 'sd-calendar': true, 'sd-calendar--elevated': this.elevated }, style: cssVars }, hAsync("div", { key: '9b73abcc81e28e3f791dcd3a5d1b1284b76c71b3', class: "sd-calendar__header" }, hAsync("div", { key: '89e582eb5c4ad7ee7ea3e4e7d8139a25c32cd09e', class: "sd-calendar__nav-group" }, hAsync("sd-ghost-button", { key: '75b3bb651ed6c840f85b50869d3d074fbdda10d7', ariaLabel: "prevYear", size: "xxs", icon: "chevronLeft", onClick: this.goPrevYear }), hAsync("span", { key: '2be9c1dc4e9ab339890a8f066fc416bace8a3d6a', class: "sd-calendar__label" }, this.currentYear), hAsync("sd-ghost-button", { key: 'fe38866bac1c10dc66e0392eb2d9efe7f12ba225', ariaLabel: "nextYear", size: "xxs", icon: "chevronRight", onClick: this.goNextYear })), hAsync("span", { key: '7552892c7247f6a10aa7cd53dede0e2464e45647', class: "sd-calendar__divider", "aria-hidden": "true" }), hAsync("div", { key: '09a142cb6e71f95c3f9c60be100441b6a5543b00', class: "sd-calendar__nav-group sd-calendar__nav-group-month" }, hAsync("sd-ghost-button", { key: '12f116ed4b1f5dc57a682d1af5ef244f797cb347', ariaLabel: "prevMonth", size: "xxs", icon: "chevronLeft", onClick: this.goPrevMonth }), hAsync("span", { key: '5adfc5a6469fde17d1bea030c84be29fea151601', class: "sd-calendar__label sd-calendar__label-month" }, this.currentMonth, "\uC6D4"), hAsync("sd-ghost-button", { key: '1f1b44b1cd201e0ec45b696dbb70d36f3e81f21c', ariaLabel: "nextMonth", size: "xxs", icon: "chevronRight", onClick: this.goNextMonth }))), hAsync("div", { key: 'b866d161ea35935cc5ead385c0b30015e9d5838d', class: "sd-calendar__week" }, WEEK_LABELS.map(label => (hAsync("span", { key: label, class: "sd-calendar__week-cell" }, label)))), hAsync("div", { key: 'a63bf0d78122c6c2f668497a3c902d30a8e74c3f', class: "sd-calendar__grid" }, this.cells.map(cell => {
7025
+ return (hAsync("div", { key: '1ff9f894078f4b24d52c738509878ee504e02c6b', class: { 'sd-calendar': true, 'sd-calendar--elevated': this.elevated }, style: cssVars }, hAsync("div", { key: 'a4e894dbf3c808ba1a2a6711997c956c8b4525c0', class: "sd-calendar__header" }, hAsync("div", { key: 'd559c861937fd51cab7e4cc39cfece49bed20037', class: "sd-calendar__nav-group" }, hAsync("sd-ghost-button", { key: '6b793f2a07cc9c26a8b517d7a4d0cc065305a19f', ariaLabel: "prevYear", size: "xxs", icon: "chevronLeft", onClick: this.goPrevYear }), hAsync("span", { key: '324fa08a3583543a75cfd6a3cfeb8450586c9265', class: "sd-calendar__label" }, this.currentYear), hAsync("sd-ghost-button", { key: 'd0951fe7bf84f58348e0ad2ed9e89531daa68242', ariaLabel: "nextYear", size: "xxs", icon: "chevronRight", onClick: this.goNextYear })), hAsync("span", { key: '953a382082f5be65a1df7dab23faae8be1975bfa', class: "sd-calendar__divider", "aria-hidden": "true" }), hAsync("div", { key: 'aa751f69f3864875d4e6f16a816660cb8636281f', class: "sd-calendar__nav-group sd-calendar__nav-group-month" }, hAsync("sd-ghost-button", { key: '7fe05970e9385cf8b744b16abce6a536ba639d8d', ariaLabel: "prevMonth", size: "xxs", icon: "chevronLeft", onClick: this.goPrevMonth }), hAsync("span", { key: '0f528c7bde86f64f482a5a6b433beef2456e5832', class: "sd-calendar__label sd-calendar__label-month" }, this.currentMonth, "\uC6D4"), hAsync("sd-ghost-button", { key: '3ddbb8f64f86fda85e5f8c6963cc4e11a95e8a37', ariaLabel: "nextMonth", size: "xxs", icon: "chevronRight", onClick: this.goNextMonth }))), hAsync("div", { key: 'de37bc97970b23c49757ff103f62a5ef8c3deb2a', class: "sd-calendar__week" }, WEEK_LABELS.map(label => (hAsync("span", { key: label, class: "sd-calendar__week-cell" }, label)))), hAsync("div", { key: '218d4ff90b67bfcea0fb52984338b5bf486ec6b1', class: "sd-calendar__grid" }, this.cells.map(cell => {
6972
7026
  const isSelected = cell.inCurrentMonth && this.value !== '' && this.value === cell.date;
6973
7027
  const isToday = cell.inCurrentMonth && today === cell.date;
6974
7028
  const isDisabled = cell.inCurrentMonth && this.isDisabled(cell.date);
@@ -6981,8 +7035,8 @@ class SdCalendar {
6981
7035
  'sd-calendar__day--disabled': isDisabled,
6982
7036
  }, disabled: !cell.inCurrentMonth || isDisabled, tabindex: !cell.inCurrentMonth ? -1 : undefined, "aria-hidden": !cell.inCurrentMonth ? 'true' : undefined, onClick: () => cell.inCurrentMonth && this.handleDayClick(cell) }, hAsync("span", { class: "sd-calendar__day-circle" }, cell.inCurrentMonth ? cell.day : ''), hasEvents && (hAsync("span", { class: "sd-calendar__dot-row", "aria-hidden": "true" }, dayEvents?.map((ev, i) => (hAsync("span", { key: `${ev.color}|${ev.label}|${i}`, class: "sd-calendar__dot", style: { backgroundColor: ev.color } })))))));
6983
7037
  })), legend.length > 0 && [
6984
- hAsync("span", { key: '79a0c77b04cc46c5278502e7062c13e3113a8ee2', class: "sd-calendar__divider-bottom", "aria-hidden": "true" }),
6985
- hAsync("div", { key: '7b87c016d96a48efabcbc3b684a6fea78004f790', class: "sd-calendar__legend" }, legend.map(item => (hAsync("span", { key: `${item.color}|${item.label}`, class: "sd-calendar__legend-item" }, hAsync("span", { class: "sd-calendar__legend-dot", style: { backgroundColor: item.color }, "aria-hidden": "true" }), hAsync("span", { class: "sd-calendar__legend-label" }, item.label))))),
7038
+ hAsync("span", { key: '713522194a9052e28b970f5eb6ad34941f7b6459', class: "sd-calendar__divider-bottom", "aria-hidden": "true" }),
7039
+ hAsync("div", { key: 'fffe4cf9c14362c14e04be5cab0172c73490137f', class: "sd-calendar__legend" }, legend.map(item => (hAsync("span", { key: `${item.color}|${item.label}`, class: "sd-calendar__legend-item" }, hAsync("span", { class: "sd-calendar__legend-dot", style: { backgroundColor: item.color }, "aria-hidden": "true" }), hAsync("span", { class: "sd-calendar__legend-label" }, item.label))))),
6986
7040
  ]));
6987
7041
  }
6988
7042
  static get watchers() { return {
@@ -7190,7 +7244,9 @@ class SdCallout {
7190
7244
  constructor(hostRef) {
7191
7245
  registerInstance(this, hostRef);
7192
7246
  }
7247
+ /** 콜아웃 타입 (색상·아이콘 조합 결정) */
7193
7248
  type = 'default';
7249
+ /** 표시할 메시지 목록 (문자열 배열로 중첩 리스트 표현 가능) */
7194
7250
  message = [];
7195
7251
  get calloutStyle() {
7196
7252
  const typeConfig = CALLOUT_TYPE_CONFIG[this.type] ?? CALLOUT_TYPE_CONFIG.default;
@@ -7237,7 +7293,7 @@ class SdCallout {
7237
7293
  }
7238
7294
  render() {
7239
7295
  const showTitle = this.type === 'danger';
7240
- return (hAsync("div", { key: '545b90999ad57577156a214468102ae5090e6f3e', class: "sd-callout", style: this.calloutStyle, role: "note" }, showTitle && this.renderTitle(), hAsync("div", { key: '14e021beb9b1c9deb63490e17baf9bb72caefe0d', class: "sd-callout__body" }, this.renderBody())));
7296
+ return (hAsync("div", { key: 'd608e8393a52dec8074ae6e8c4c80f59eb88891f', class: "sd-callout", style: this.calloutStyle, role: "note" }, showTitle && this.renderTitle(), hAsync("div", { key: '9950ae86dab1f76b7009b89b3dcb91ebfcff978b', class: "sd-callout__body" }, this.renderBody())));
7241
7297
  }
7242
7298
  static get style() { return sdCalloutCss(); }
7243
7299
  static get cmpMeta() { return {
@@ -7259,10 +7315,12 @@ class SdCard {
7259
7315
  constructor(hostRef) {
7260
7316
  registerInstance(this, hostRef);
7261
7317
  }
7318
+ /** 테두리 표시 여부 */
7262
7319
  bordered = false;
7320
+ /** 카드 루트 엘리먼트에 추가할 클래스 */
7263
7321
  sdClass = '';
7264
7322
  render() {
7265
- return (hAsync(Fragment, { key: 'cda3366416a347552ffe66446f9fd1267654fa75' }, hAsync("div", { key: '5b29d955402031dcc82df70df25fe1146787adec', class: `sd-card ${this.bordered ? 'sd-card--bordered' : ''} ${this.sdClass}` }, hAsync("slot", { key: 'f2a5c548de34d6bf32de75db76686da91d605e28' }))));
7323
+ return (hAsync(Fragment, { key: '1f40edfdae15a66922336229ebe49c570efa2059' }, hAsync("div", { key: '365233f8ee792e36b6b6f1084ed1adc79787029b', class: `sd-card ${this.bordered ? 'sd-card--bordered' : ''} ${this.sdClass}` }, hAsync("slot", { key: 'd015ddda7cfb610e1def605d7077d710312514d1' }))));
7266
7324
  }
7267
7325
  static get style() { return sdCardCss(); }
7268
7326
  static get cmpMeta() { return {
@@ -7285,9 +7343,13 @@ const checkbox = {
7285
7343
  gap: "8",
7286
7344
  icon: "12",
7287
7345
  typography: {
7288
- fontWeight: "400",
7289
- fontSize: "12",
7290
- lineHeight: "20"},
7346
+ "default": {
7347
+ fontWeight: "400",
7348
+ fontSize: "12",
7349
+ lineHeight: "20"},
7350
+ selected: {
7351
+ fontWeight: "500"}
7352
+ },
7291
7353
  unchecked: {
7292
7354
  bg: {
7293
7355
  "default": "#FFFFFF",
@@ -7313,7 +7375,8 @@ const checkbox = {
7313
7375
  },
7314
7376
  label: {
7315
7377
  "default": "#222222",
7316
- inverse: "#FFFFFF"
7378
+ inverse: "#FFFFFF",
7379
+ disabled: "#888888"
7317
7380
  },
7318
7381
  bg: {
7319
7382
  disabled: "#E1E1E1"
@@ -7334,9 +7397,10 @@ const CHECKBOX_LAYOUT = {
7334
7397
  iconSize: checkboxTokens.checkbox.icon,
7335
7398
  };
7336
7399
  const CHECKBOX_TYPOGRAPHY = {
7337
- fontSize: checkboxTokens.checkbox.typography.fontSize,
7338
- lineHeight: checkboxTokens.checkbox.typography.lineHeight,
7339
- fontWeight: checkboxTokens.checkbox.typography.fontWeight,
7400
+ fontSize: checkboxTokens.checkbox.typography.default.fontSize,
7401
+ lineHeight: checkboxTokens.checkbox.typography.default.lineHeight,
7402
+ fontWeight: checkboxTokens.checkbox.typography.default.fontWeight,
7403
+ selectedFontWeight: checkboxTokens.checkbox.typography.selected.fontWeight,
7340
7404
  };
7341
7405
  const CHECKBOX_COLORS = {
7342
7406
  unchecked: {
@@ -7354,13 +7418,14 @@ const CHECKBOX_COLORS = {
7354
7418
  },
7355
7419
  label: checkboxTokens.checkbox.label.default,
7356
7420
  labelInverse: checkboxTokens.checkbox.label.inverse,
7421
+ labelDisabled: checkboxTokens.checkbox.label.disabled,
7357
7422
  disabled: {
7358
7423
  bg: checkboxTokens.checkbox.bg.disabled,
7359
7424
  border: checkboxTokens.checkbox.border.disabled,
7360
7425
  },
7361
7426
  };
7362
7427
 
7363
- const sdCheckboxCss = () => `sd-checkbox{display:block;height:var(--sd-checkbox-line-height);line-height:0}sd-checkbox .sd-checkbox{cursor:pointer;display:inline-flex;align-items:center;gap:var(--sd-checkbox-gap);height:var(--sd-checkbox-line-height);max-height:var(--sd-checkbox-line-height)}sd-checkbox .sd-checkbox>input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}sd-checkbox .sd-checkbox>input:focus-visible+.sd-checkbox__bg{box-shadow:0 0 0 2px white, 0 0 0 4px var(--sd-checkbox-checked-bg);outline:none}sd-checkbox .sd-checkbox:hover.sd-checkbox--unchecked .sd-checkbox__bg{border-color:var(--sd-checkbox-unchecked-border-hover);background:var(--sd-checkbox-unchecked-bg-hover)}sd-checkbox .sd-checkbox:hover.sd-checkbox--disabled .sd-checkbox__bg{border-color:transparent;background:var(--sd-checkbox-disabled-bg)}sd-checkbox .sd-checkbox__bg{width:var(--sd-checkbox-size);height:var(--sd-checkbox-size);border-radius:var(--sd-checkbox-radius);border:var(--sd-checkbox-border-width) solid var(--sd-checkbox-unchecked-border);box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;overflow:hidden;line-height:0}sd-checkbox .sd-checkbox__label{font-size:var(--sd-checkbox-font-size);font-weight:var(--sd-checkbox-font-weight);color:var(--sd-checkbox-label-color);line-height:var(--sd-checkbox-line-height)}sd-checkbox .sd-checkbox--checked .sd-checkbox__bg,sd-checkbox .sd-checkbox--indeterminate .sd-checkbox__bg{border-color:var(--sd-checkbox-checked-bg);background:var(--sd-checkbox-checked-bg)}sd-checkbox .sd-checkbox--checked.sd-checkbox--disabled .sd-checkbox__bg,sd-checkbox .sd-checkbox--indeterminate.sd-checkbox--disabled .sd-checkbox__bg{background:var(--sd-checkbox-disabled-bg);border-color:var(--sd-checkbox-disabled-border)}sd-checkbox .sd-checkbox--unchecked .sd-checkbox__bg{background:var(--sd-checkbox-unchecked-bg)}sd-checkbox .sd-checkbox--disabled{cursor:not-allowed}sd-checkbox .sd-checkbox--disabled .sd-checkbox__bg{background:var(--sd-checkbox-disabled-bg);border-color:var(--sd-checkbox-disabled-border)}sd-checkbox .sd-checkbox--inverse .sd-checkbox__label{color:var(--sd-checkbox-inverse-label)}sd-checkbox .sd-checkbox--inverse.sd-checkbox--unchecked .sd-checkbox__bg{background:transparent;border-color:var(--sd-checkbox-inverse-border)}sd-checkbox .sd-checkbox--inverse.sd-checkbox--checked .sd-checkbox__bg,sd-checkbox .sd-checkbox--inverse.sd-checkbox--indeterminate .sd-checkbox__bg{background:transparent;border-color:var(--sd-checkbox-inverse-border)}sd-checkbox .sd-checkbox--inverse:hover.sd-checkbox--unchecked .sd-checkbox__bg{background:rgba(255, 255, 255, 0.12);border-color:var(--sd-checkbox-inverse-border)}`;
7428
+ const sdCheckboxCss = () => `sd-checkbox{display:block;height:var(--sd-checkbox-line-height);line-height:0}sd-checkbox .sd-checkbox{cursor:pointer;display:inline-flex;align-items:center;gap:var(--sd-checkbox-gap);height:var(--sd-checkbox-line-height);max-height:var(--sd-checkbox-line-height)}sd-checkbox .sd-checkbox>input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}sd-checkbox .sd-checkbox>input:focus-visible+.sd-checkbox__bg{box-shadow:0 0 0 2px white, 0 0 0 4px var(--sd-checkbox-checked-bg);outline:none}sd-checkbox .sd-checkbox:hover.sd-checkbox--unchecked .sd-checkbox__bg{border-color:var(--sd-checkbox-unchecked-border-hover);background:var(--sd-checkbox-unchecked-bg-hover)}sd-checkbox .sd-checkbox:hover.sd-checkbox--disabled .sd-checkbox__bg{border-color:transparent;background:var(--sd-checkbox-disabled-bg)}sd-checkbox .sd-checkbox__bg{width:var(--sd-checkbox-size);height:var(--sd-checkbox-size);border-radius:var(--sd-checkbox-radius);border:var(--sd-checkbox-border-width) solid var(--sd-checkbox-unchecked-border);box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;overflow:hidden;line-height:0}sd-checkbox .sd-checkbox__label{display:inline-flex;flex-direction:column;font-size:var(--sd-checkbox-font-size);font-weight:var(--sd-checkbox-font-weight);color:var(--sd-checkbox-label-color);line-height:var(--sd-checkbox-line-height)}sd-checkbox .sd-checkbox__label::after{content:attr(data-text);height:0;font-weight:var(--sd-checkbox-font-weight-selected);overflow:hidden;visibility:hidden;pointer-events:none}sd-checkbox .sd-checkbox--checked .sd-checkbox__label,sd-checkbox .sd-checkbox--indeterminate .sd-checkbox__label{font-weight:var(--sd-checkbox-font-weight-selected)}sd-checkbox .sd-checkbox--checked .sd-checkbox__bg,sd-checkbox .sd-checkbox--indeterminate .sd-checkbox__bg{border-color:var(--sd-checkbox-checked-bg);background:var(--sd-checkbox-checked-bg)}sd-checkbox .sd-checkbox--checked.sd-checkbox--disabled .sd-checkbox__bg,sd-checkbox .sd-checkbox--indeterminate.sd-checkbox--disabled .sd-checkbox__bg{background:var(--sd-checkbox-disabled-bg);border-color:var(--sd-checkbox-disabled-border)}sd-checkbox .sd-checkbox--unchecked .sd-checkbox__bg{background:var(--sd-checkbox-unchecked-bg)}sd-checkbox .sd-checkbox--disabled{cursor:not-allowed}sd-checkbox .sd-checkbox--disabled .sd-checkbox__label{color:var(--sd-checkbox-label-disabled)}sd-checkbox .sd-checkbox--disabled .sd-checkbox__bg{background:var(--sd-checkbox-disabled-bg);border-color:var(--sd-checkbox-disabled-border)}sd-checkbox .sd-checkbox--inverse .sd-checkbox__label{color:var(--sd-checkbox-inverse-label)}sd-checkbox .sd-checkbox--inverse.sd-checkbox--unchecked .sd-checkbox__bg{background:transparent;border-color:var(--sd-checkbox-inverse-border)}sd-checkbox .sd-checkbox--inverse.sd-checkbox--checked .sd-checkbox__bg,sd-checkbox .sd-checkbox--inverse.sd-checkbox--indeterminate .sd-checkbox__bg{background:transparent;border-color:var(--sd-checkbox-inverse-border)}sd-checkbox .sd-checkbox--inverse:hover.sd-checkbox--unchecked .sd-checkbox__bg{background:rgba(255, 255, 255, 0.12);border-color:var(--sd-checkbox-inverse-border)}`;
7364
7429
 
7365
7430
  class SdCheckbox {
7366
7431
  constructor(hostRef) {
@@ -7459,25 +7524,27 @@ class SdCheckbox {
7459
7524
  '--sd-checkbox-font-size': `${CHECKBOX_TYPOGRAPHY.fontSize}px`,
7460
7525
  '--sd-checkbox-line-height': `${CHECKBOX_TYPOGRAPHY.lineHeight}px`,
7461
7526
  '--sd-checkbox-font-weight': CHECKBOX_TYPOGRAPHY.fontWeight,
7527
+ '--sd-checkbox-font-weight-selected': CHECKBOX_TYPOGRAPHY.selectedFontWeight,
7462
7528
  '--sd-checkbox-unchecked-bg': CHECKBOX_COLORS.unchecked.bg,
7463
7529
  '--sd-checkbox-unchecked-bg-hover': CHECKBOX_COLORS.unchecked.bgHover,
7464
7530
  '--sd-checkbox-unchecked-border': CHECKBOX_COLORS.unchecked.border,
7465
7531
  '--sd-checkbox-unchecked-border-hover': CHECKBOX_COLORS.unchecked.borderHover,
7466
7532
  '--sd-checkbox-checked-bg': CHECKBOX_COLORS.checked.bg,
7467
7533
  '--sd-checkbox-label-color': CHECKBOX_COLORS.label,
7534
+ '--sd-checkbox-label-disabled': CHECKBOX_COLORS.labelDisabled,
7468
7535
  '--sd-checkbox-disabled-bg': CHECKBOX_COLORS.disabled.bg,
7469
7536
  '--sd-checkbox-disabled-border': CHECKBOX_COLORS.disabled.border,
7470
7537
  '--sd-checkbox-inverse-border': CHECKBOX_COLORS.checked.borderInverse,
7471
7538
  '--sd-checkbox-inverse-icon': CHECKBOX_COLORS.checked.iconInverse,
7472
7539
  '--sd-checkbox-inverse-label': CHECKBOX_COLORS.labelInverse,
7473
7540
  };
7474
- return (hAsync("label", { key: '1e1ba8ab22e34327cfdfb8d236aba0e1ff2806f6', class: this.checkboxClasses, style: cssVars }, hAsync("input", { key: '82b852e0fb3ca94c460b7181ae1c575b361ddd4d', type: "checkbox", ref: el => {
7541
+ return (hAsync("label", { key: '3fa9a68790e4a777904d1c8ec1fc18b646a2e41b', class: this.checkboxClasses, style: cssVars }, hAsync("input", { key: 'ecbabd8967c8c73e0b9216157d96b5d5f07777bd', type: "checkbox", ref: el => {
7475
7542
  this.inputEl = el;
7476
- }, value: this.val, checked: !!this.isChecked, disabled: this.disabled, onChange: this.handleChange, name: this.val?.toString() || 'checkbox', "aria-label": this.label || 'checkbox', "aria-checked": this.isChecked === null ? 'mixed' : this.isChecked ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false' }), hAsync("div", { key: 'e7a32ccbb915c857d188fecde0b388e15edebdfb', class: "sd-checkbox__bg" }, this.isChecked !== false ? (hAsync("sd-icon", { name: this.isChecked === true ? 'checkboxCheck' : 'checkboxIndeterminate', size: Number(CHECKBOX_LAYOUT.iconSize), color: this.disabled
7543
+ }, value: this.val, checked: !!this.isChecked, disabled: this.disabled, onChange: this.handleChange, name: this.val?.toString() || 'checkbox', "aria-label": this.label || 'checkbox', "aria-checked": this.isChecked === null ? 'mixed' : this.isChecked ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false' }), hAsync("div", { key: '633c38ae79790aa5745240f68253613705f804cf', class: "sd-checkbox__bg" }, this.isChecked !== false ? (hAsync("sd-icon", { name: this.isChecked === true ? 'checkboxCheck' : 'checkboxIndeterminate', size: Number(CHECKBOX_LAYOUT.iconSize), color: this.disabled
7477
7544
  ? CHECKBOX_COLORS.checked.iconDisabled
7478
7545
  : this.inverse
7479
7546
  ? CHECKBOX_COLORS.checked.iconInverse
7480
- : CHECKBOX_COLORS.checked.icon })) : null), this.label && hAsync("span", { key: '396b7aa27a10428e5d9d24a3f523c3a384d4e463', class: "sd-checkbox__label" }, this.label)));
7547
+ : CHECKBOX_COLORS.checked.icon })) : null), this.label && (hAsync("span", { key: '6e46c09aa41d4d1b0dbad75b825513d6e4e08f11', class: "sd-checkbox__label", "data-text": this.label }, this.label))));
7481
7548
  }
7482
7549
  static get watchers() { return {
7483
7550
  "value": [{
@@ -7579,18 +7646,29 @@ class SdChip {
7579
7646
  this.blur = createEvent(this, "sdBlur", 7);
7580
7647
  }
7581
7648
  get el() { return getElement(this); }
7649
+ /** 폼 연동용 name 속성 */
7582
7650
  name = '';
7651
+ /** 칩 텍스트 값 */
7583
7652
  value = '';
7653
+ /** 에러 상태 여부 */
7584
7654
  error = false;
7655
+ /** 비활성 상태 여부 */
7585
7656
  disabled = false;
7657
+ /** 인라인 편집 가능 여부 */
7586
7658
  editable = true;
7659
+ /** 편집 중 표시할 placeholder */
7587
7660
  placeholder = '';
7661
+ /** 유효성 검사 규칙 목록 */
7588
7662
  rules = [];
7589
7663
  internalValue = '';
7590
7664
  isEditing = false;
7665
+ /** 편집 완료 시 새 값을 전달합니다. */
7591
7666
  update;
7667
+ /** 삭제 버튼 클릭 시 발생합니다. */
7592
7668
  delete;
7669
+ /** 편집 모드 진입 시 발생합니다. */
7593
7670
  focus;
7671
+ /** 편집 모드 이탈 시 발생합니다. */
7594
7672
  blur;
7595
7673
  inputEl;
7596
7674
  draftValue = '';
@@ -7616,6 +7694,7 @@ class SdChip {
7616
7694
  disconnectedCallback() {
7617
7695
  this.unregisterFromForm();
7618
7696
  }
7697
+ /** 유효성 검사를 실행합니다. */
7619
7698
  async sdValidate() {
7620
7699
  if (!this.rules || this.rules.length === 0) {
7621
7700
  this.error = false;
@@ -7631,6 +7710,7 @@ class SdChip {
7631
7710
  this.error = false;
7632
7711
  return true;
7633
7712
  }
7713
+ /** 값과 유효성 상태를 초기화합니다. */
7634
7714
  async sdReset() {
7635
7715
  this.internalValue = '';
7636
7716
  this.value = '';
@@ -7639,17 +7719,21 @@ class SdChip {
7639
7719
  this.isEditing = false;
7640
7720
  this.shouldInitInput = false;
7641
7721
  }
7722
+ /** 유효성 상태만 초기화합니다. */
7642
7723
  async sdResetValidate() {
7643
7724
  this.error = false;
7644
7725
  }
7726
+ /** 유효성 상태만 초기화합니다. */
7645
7727
  async sdResetValidation() {
7646
7728
  this.error = false;
7647
7729
  }
7730
+ /** 편집 모드로 전환하여 포커스를 이동합니다. */
7648
7731
  async sdFocus() {
7649
7732
  if (this.disabled)
7650
7733
  return;
7651
7734
  this.enterEditMode();
7652
7735
  }
7736
+ /** 네이티브 input 엘리먼트를 반환합니다. */
7653
7737
  async sdGetNativeElement() {
7654
7738
  return this.inputEl ?? null;
7655
7739
  }
@@ -7792,7 +7876,7 @@ class SdChip {
7792
7876
  '--sd-chip-font-weight': typography.fontWeight,
7793
7877
  '--sd-chip-line-height': typography.lineHeight,
7794
7878
  };
7795
- return (hAsync("span", { key: 'a51c874d8f2ce5abea1dbcf878b4f1ceda0952a3', class: {
7879
+ return (hAsync("span", { key: '03dca835a12de78ae3c72cf50a8f1ed16b19cf00', class: {
7796
7880
  'sd-chip': true,
7797
7881
  [`sd-chip--${state}`]: true,
7798
7882
  'sd-chip--disabled': this.disabled,
@@ -8025,7 +8109,7 @@ const CHIP_INPUT_SUGGESTIONS = {
8025
8109
  emptyLineHeight: '20px',
8026
8110
  };
8027
8111
 
8028
- const sdChipInputCss = () => `sd-chip-input{display:inline-flex}sd-chip-input .sd-chip-input{position:relative;width:100%;isolation:isolate;min-height:var(--sd-chip-input-min-height);display:flex;flex-flow:row wrap;align-items:center;gap:var(--sd-chip-input-chip-gap);padding:var(--sd-chip-input-padding-y) var(--sd-chip-input-padding-x);cursor:text}sd-chip-input .sd-chip-input__reset{display:inline-flex;align-items:center;gap:var(--sd-chip-input-reset-gap);flex-shrink:0}sd-chip-input .sd-chip-input__divider{display:inline-block;width:1px;height:12px;background-color:var(--sd-chip-input-divider-color);flex-shrink:0}sd-chip-input .sd-chip-input__max-count{font-size:var(--sd-chip-input-max-count-font-size);font-weight:var(--sd-chip-input-max-count-font-weight);color:var(--sd-chip-input-max-count-color);white-space:nowrap;flex-shrink:0}sd-chip-input .sd-chip-input__field{flex:0 0 auto;display:inline-grid;grid-template-columns:minmax(0, max-content);align-items:center;min-width:1ch;max-width:100%;height:var(--sd-chip-input-field-height);box-sizing:border-box;padding:0;border:none;border-radius:0;background:transparent;overflow:hidden}sd-chip-input .sd-chip-input__field::after{content:attr(data-value);grid-area:1/1;visibility:hidden;white-space:pre;font-size:var(--sd-chip-input-field-font-size);line-height:var(--sd-chip-input-field-line-height);font-weight:var(--sd-chip-input-field-font-weight);font-family:var(--sd-chip-input-field-font-family)}sd-chip-input .sd-chip-input__field--filled{padding:0 var(--sd-chip-input-field-padding-x);border:var(--sd-chip-input-field-border-width) solid var(--sd-chip-input-field-border-color);border-radius:var(--sd-chip-input-field-radius);background:var(--sd-chip-input-field-bg)}sd-chip-input .sd-chip-input__field--empty{position:absolute;top:0;left:0;width:0;height:0;min-width:0;overflow:hidden}sd-chip-input .sd-chip-input__input{grid-area:1/1;width:100%;min-width:1ch;height:var(--sd-chip-input-field-height);margin:0;padding:0;border:none;outline:none;overflow:hidden;text-overflow:ellipsis;background:transparent;font-size:var(--sd-chip-input-field-font-size);line-height:var(--sd-chip-input-field-line-height);font-weight:var(--sd-chip-input-field-font-weight);font-family:var(--sd-chip-input-field-font-family);color:var(--sd-chip-input-field-content)}sd-chip-input .sd-chip-input__input[disabled]{cursor:not-allowed;pointer-events:none}sd-chip-input .sd-chip-input__input::placeholder{color:var(--sd-chip-input-placeholder-color)}sd-chip-input .sd-chip-input__suggestions{display:flex;flex-direction:column;box-sizing:border-box;background:white;border-radius:var(--sd-chip-input-suggestions-radius);box-shadow:2px 2px 12px 2px rgba(0, 0, 0, 0.1);max-height:var(--sd-chip-input-suggestions-max-height);min-height:0;overflow-y:auto;overflow-x:hidden;outline:none}sd-chip-input .sd-chip-input__suggestion-item{display:flex;align-items:center;gap:var(--sd-chip-input-suggestion-gap);padding:var(--sd-chip-input-suggestion-padding-y) var(--sd-chip-input-suggestion-padding-right) var(--sd-chip-input-suggestion-padding-y) var(--sd-chip-input-suggestion-padding-x);font-size:var(--sd-chip-input-suggestion-font-size);line-height:var(--sd-chip-input-suggestion-line-height);font-weight:var(--sd-chip-input-suggestion-font-weight);font-family:var(--sd-chip-input-suggestion-font-family);color:var(--sd-chip-input-suggestion-color);cursor:pointer;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}sd-chip-input .sd-chip-input__suggestion-item--active{background:var(--sd-chip-input-suggestion-bg-hover);color:var(--sd-chip-input-suggestion-color-hover);font-weight:var(--sd-chip-input-suggestion-font-weight-selected)}sd-chip-input .sd-chip-input__suggestions-empty{padding:12px;text-align:center;font-size:var(--sd-chip-input-suggestions-empty-font-size);line-height:var(--sd-chip-input-suggestions-empty-line-height);font-family:var(--sd-chip-input-suggestion-font-family);color:var(--sd-chip-input-suggestions-empty-color)}`;
8112
+ const sdChipInputCss = () => `sd-chip-input{display:inline-flex}sd-chip-input .sd-chip-input{position:relative;width:100%;isolation:isolate;min-height:var(--sd-chip-input-min-height);display:flex;flex-flow:row wrap;align-items:center;gap:var(--sd-chip-input-chip-gap);padding:var(--sd-chip-input-padding-y) var(--sd-chip-input-padding-x);cursor:text}sd-chip-input .sd-chip-input__reset{display:inline-flex;align-items:center;gap:var(--sd-chip-input-reset-gap);flex-shrink:0}sd-chip-input .sd-chip-input__divider{display:inline-block;width:1px;height:12px;background-color:var(--sd-chip-input-divider-color);flex-shrink:0}sd-chip-input .sd-chip-input__max-count{font-size:var(--sd-chip-input-max-count-font-size);font-weight:var(--sd-chip-input-max-count-font-weight);color:var(--sd-chip-input-max-count-color);white-space:nowrap;flex-shrink:0}sd-chip-input .sd-chip-input__field{flex:0 0 auto;display:inline-grid;grid-template-columns:minmax(0, max-content);align-items:center;min-width:1ch;max-width:100%;height:var(--sd-chip-input-field-height);box-sizing:border-box;padding:0;border:none;border-radius:0;background:transparent;overflow:hidden}sd-chip-input .sd-chip-input__field::after{content:attr(data-value);grid-area:1/1;visibility:hidden;white-space:pre;font-size:var(--sd-chip-input-field-font-size);line-height:var(--sd-chip-input-field-line-height);font-weight:var(--sd-chip-input-field-font-weight);font-family:var(--sd-chip-input-field-font-family)}sd-chip-input .sd-chip-input__field--filled{padding:0 var(--sd-chip-input-field-padding-x);border:var(--sd-chip-input-field-border-width) solid var(--sd-chip-input-field-border-color);border-radius:var(--sd-chip-input-field-radius);background:var(--sd-chip-input-field-bg)}sd-chip-input .sd-chip-input__field--empty{position:absolute;top:0;left:0;width:0;height:0;min-width:0;overflow:hidden}sd-chip-input .sd-chip-input__input{grid-area:1/1;width:100%;min-width:1ch;height:var(--sd-chip-input-field-height);margin:0;padding:0;border:none;outline:none;overflow:hidden;text-overflow:ellipsis;background:transparent;font-size:var(--sd-chip-input-field-font-size);line-height:var(--sd-chip-input-field-line-height);font-weight:var(--sd-chip-input-field-font-weight);font-family:var(--sd-chip-input-field-font-family);color:var(--sd-chip-input-field-content)}sd-chip-input .sd-chip-input__input[disabled]{cursor:not-allowed;pointer-events:none}sd-chip-input .sd-chip-input__input::placeholder{color:var(--sd-chip-input-placeholder-color)}sd-chip-input .sd-chip-input__suggestions{display:flex;flex-direction:column;box-sizing:border-box;background:white;border-radius:var(--sd-chip-input-suggestions-radius);box-shadow:2px 2px 12px 2px rgba(0, 0, 0, 0.1);max-height:var(--sd-chip-input-suggestions-max-height);min-height:0;overflow-y:auto;overflow-x:hidden;outline:none}sd-chip-input .sd-chip-input__suggestion-item{display:flex;flex-shrink:0;align-items:center;gap:var(--sd-chip-input-suggestion-gap);padding:var(--sd-chip-input-suggestion-padding-y) var(--sd-chip-input-suggestion-padding-right) var(--sd-chip-input-suggestion-padding-y) var(--sd-chip-input-suggestion-padding-x);font-size:var(--sd-chip-input-suggestion-font-size);line-height:var(--sd-chip-input-suggestion-line-height);font-weight:var(--sd-chip-input-suggestion-font-weight);font-family:var(--sd-chip-input-suggestion-font-family);color:var(--sd-chip-input-suggestion-color);cursor:pointer;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}sd-chip-input .sd-chip-input__suggestion-item--active{background:var(--sd-chip-input-suggestion-bg-hover);color:var(--sd-chip-input-suggestion-color-hover);font-weight:var(--sd-chip-input-suggestion-font-weight-selected)}sd-chip-input .sd-chip-input__suggestion-item--selected{cursor:default;overflow:visible;text-overflow:unset}sd-chip-input .sd-chip-input__suggestions-empty{padding:12px;text-align:center;font-size:var(--sd-chip-input-suggestions-empty-font-size);line-height:var(--sd-chip-input-suggestions-empty-line-height);font-family:var(--sd-chip-input-suggestion-font-family);color:var(--sd-chip-input-suggestions-empty-color)}`;
8029
8113
 
8030
8114
  class SdChipInput {
8031
8115
  constructor(hostRef) {
@@ -8037,31 +8121,56 @@ class SdChipInput {
8037
8121
  }
8038
8122
  static SUGGESTIONS_VIEWPORT_PADDING = 8;
8039
8123
  get host() { return getElement(this); }
8124
+ /** 칩 값 목록 */
8040
8125
  values = [];
8126
+ /** 칩별 에러 상태 목록 또는 값으로 에러 여부를 반환하는 함수 */
8041
8127
  errors = [];
8128
+ /** 칩별 비활성 상태 목록 또는 값으로 비활성 여부를 반환하는 함수 */
8042
8129
  disabledChips = [];
8130
+ /** 입력 필드 크기 */
8043
8131
  size = 'sm';
8132
+ /** 비활성 상태 여부 */
8044
8133
  disabled = false;
8134
+ /** 입력 placeholder */
8045
8135
  placeholder = '입력해 주세요.';
8136
+ /** 폼 연동용 name 속성 */
8046
8137
  name = nanoid$1();
8138
+ /** 유효성 검사 규칙 목록 */
8047
8139
  rules = [];
8140
+ /** 에러 상태 여부 */
8048
8141
  error = false;
8142
+ /** 입력 초기화 버튼 표시 여부 */
8049
8143
  useReset = false;
8144
+ /** 최대 입력 가능한 칩 개수 (없으면 제한 없음) */
8050
8145
  maxCount;
8146
+ /** 중복 에러 메시지에 표시할 항목 이름 (없으면 기본 메시지 사용) */
8051
8147
  duplicateLabel;
8148
+ /** 자동완성 후보 목록 */
8052
8149
  suggestions = [];
8150
+ /** 자동완성 목록 로딩 중 여부 */
8053
8151
  loadingSuggestions = false;
8152
+ /** 추천 항목 목록 (입력값이 없을 때 표시) */
8054
8153
  recommendedItems = [];
8154
+ /** 추천 항목 로딩 중 여부 */
8055
8155
  loadingRecommendedItems = false;
8056
8156
  // sd-field props
8157
+ /** 레이블 텍스트 */
8057
8158
  label = '';
8159
+ /** 레이블 너비 */
8058
8160
  labelWidth = '';
8161
+ /** 필드 하단 힌트 텍스트 */
8059
8162
  hint = '';
8163
+ /** 에러 메시지 */
8060
8164
  errorMessage = '';
8165
+ /** 필드 너비 (숫자면 px, 문자열이면 그대로 적용) */
8061
8166
  width = '';
8167
+ /** 필드 상태 (없으면 rules 결과로 자동 결정) */
8062
8168
  status;
8169
+ /** 레이블 영역 아이콘 */
8063
8170
  icon = undefined;
8171
+ /** 레이블 툴팁 텍스트 */
8064
8172
  labelTooltip = '';
8173
+ /** 레이블 툴팁 상세 옵션 */
8065
8174
  labelTooltipProps = null;
8066
8175
  internalValues = [];
8067
8176
  internalErrors = [];
@@ -8128,19 +8237,27 @@ class SdChipInput {
8128
8237
  }
8129
8238
  return this.disabledChips?.[index] ?? false;
8130
8239
  }
8240
+ /** 칩 목록 변경 시 전체 값 배열을 전달합니다. */
8131
8241
  update;
8242
+ /** 입력 필드 포커스 진입 시 발생합니다. */
8132
8243
  focusEvent;
8244
+ /** 입력 필드 포커스 이탈 시 발생합니다. */
8133
8245
  blurEvent;
8246
+ /** 입력값 변경 시 현재 입력 중인 문자열을 전달합니다. */
8134
8247
  inputEvent;
8248
+ /** 유효성 검사를 실행합니다. */
8135
8249
  async sdValidate() {
8136
8250
  return this.formField?.sdValidate();
8137
8251
  }
8252
+ /** 값과 유효성 상태를 초기화합니다. */
8138
8253
  async sdReset() {
8139
8254
  return this.formField?.sdReset();
8140
8255
  }
8256
+ /** 유효성 상태만 초기화합니다. */
8141
8257
  async sdResetValidate() {
8142
8258
  return this.formField?.sdResetValidation();
8143
8259
  }
8260
+ /** 입력 필드에 포커스를 이동합니다. */
8144
8261
  async sdFocus() {
8145
8262
  return this.formField?.sdFocus();
8146
8263
  }
@@ -8221,7 +8338,9 @@ class SdChipInput {
8221
8338
  }
8222
8339
  if (event.key === 'Enter' && this.activeSuggestionIndex >= 0) {
8223
8340
  event.preventDefault();
8224
- this.addChip(activeItems[this.activeSuggestionIndex]);
8341
+ const selectedItem = activeItems[this.activeSuggestionIndex];
8342
+ if (!(this.internalValues ?? []).includes(selectedItem))
8343
+ this.addChip(selectedItem);
8225
8344
  return;
8226
8345
  }
8227
8346
  }
@@ -8281,6 +8400,10 @@ class SdChipInput {
8281
8400
  };
8282
8401
  handleContainerClick = () => {
8283
8402
  if (!this.disabled) {
8403
+ // 이미 포커스된 상태에서 재클릭 시 handleFocus가 다시 실행되지 않으므로
8404
+ // suppress 플래그를 여기서 직접 해제한다.
8405
+ this.suppressRecommendations = false;
8406
+ this.suppressSuggestions = false;
8284
8407
  this.inputEl?.focus();
8285
8408
  }
8286
8409
  };
@@ -8401,6 +8524,7 @@ class SdChipInput {
8401
8524
  };
8402
8525
  const suggestionItemStyle = {
8403
8526
  display: 'flex',
8527
+ flexShrink: '0',
8404
8528
  alignItems: 'center',
8405
8529
  gap: CHIP_INPUT_SUGGESTIONS.itemGap,
8406
8530
  padding: `${CHIP_INPUT_SUGGESTIONS.itemPaddingY} ${CHIP_INPUT_SUGGESTIONS.itemPaddingRight} ` +
@@ -8424,7 +8548,7 @@ class SdChipInput {
8424
8548
  fontFamily: CHIP_INPUT_SUGGESTIONS.itemFontFamily,
8425
8549
  color: CHIP_INPUT_SUGGESTIONS.emptyColor,
8426
8550
  };
8427
- return (hAsync("sd-field", { key: 'ee88b5c82466b6470fcf6bd7c55b6269b81b04be', name: this.name, label: this.label, labelWidth: this.labelWidth, hint: this.hint, errorMessage: this.errorMessage, rules: [this.duplicateRule, ...(this.rules ?? [])], error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, status: this.status, size: this.size, width: this.width, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), style: cssVars, onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false) }, hAsync("div", { key: 'e040d339e12ce0b038d195a829d4fc1795f12155', class: "sd-chip-input", ref: el => (this.chipInputRef = el), onClick: this.handleContainerClick }, (this.internalValues ?? []).map((value, i) => (hAsync("sd-chip", { key: i, value: value, error: this.getChipError(i), disabled: this.getChipDisabled(i), editable: false, onSdRemove: () => this.handleChipRemove(i) }))), !isMaxReached && (hAsync("div", { key: '37b6e51a5e1b5b5b37651cba797739ac74770d8a', class: {
8551
+ return (hAsync("sd-field", { key: 'b72e33b6f204ebdf6791cc2f20d01bbb74a4203a', name: this.name, label: this.label, labelWidth: this.labelWidth, hint: this.hint, errorMessage: this.errorMessage, rules: [this.duplicateRule, ...(this.rules ?? [])], error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, status: this.status, size: this.size, width: this.width, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), style: cssVars, onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false) }, hAsync("div", { key: '499114d06f4d375fed5575edd394c501f4d72691', class: "sd-chip-input", ref: el => (this.chipInputRef = el), onClick: this.handleContainerClick }, (this.internalValues ?? []).map((value, i) => (hAsync("sd-chip", { key: i, value: value, error: this.getChipError(i), disabled: this.getChipDisabled(i), editable: false, onSdRemove: () => this.handleChipRemove(i) }))), !isMaxReached && (hAsync("div", { key: '5910a2d0e0e9cbc472baa1d9c9c3fa07e89fbdcb', class: {
8428
8552
  'sd-chip-input__field': true,
8429
8553
  'sd-chip-input__field--filled': this.inputValue !== '',
8430
8554
  'sd-chip-input__field--empty': this.inputValue === '' && this.internalValues.length > 0 && !this.focused,
@@ -8432,20 +8556,38 @@ class SdChipInput {
8432
8556
  ? this.inputValue
8433
8557
  : this.internalValues.length === 0
8434
8558
  ? this.placeholder
8435
- : '' }, hAsync("input", { key: 'f628f9dee70e60435afb8d01ed41830850bebb44', ref: el => (this.inputEl = el), class: "sd-chip-input__input", placeholder: this.internalValues.length === 0 ? this.placeholder : '', disabled: this.disabled, size: 1, onInput: this.handleInput, onKeyDown: this.handleKeyDown, onFocus: this.handleFocus, onBlur: this.handleBlur }))), showResetArea && (hAsync("div", { key: 'd154fb5ccd1875ec6beee462a3d93b7e4480f384', class: "sd-chip-input__reset" }, this.inputValue === '' && hAsync("span", { key: 'ae84a0b4c83ca26e3b58b48d32469bd46be29f78', class: "sd-chip-input__divider" }), this.maxCount != null && (hAsync("span", { key: 'e5790a98cbe3e07a395ddf8b5d286ec48efcabb2', class: "sd-chip-input__max-count" }, "\uCD5C\uB300 ", this.maxCount, "\uAC1C")), this.useReset && this.internalValues.length > 0 && (hAsync("sd-text-link", { key: '7ed1d61c9518f0cf2bdf2a6be62effb7bc90b8ab', icon: "reset", iconColor: CHIP_INPUT_RESET.iconColor, label: "\uC785\uB825 \uCD08\uAE30\uD654", underline: true, disabled: this.disabled, style: { '--sd-text-link-color': CHIP_INPUT_RESET.labelColor }, onSdClick: this.handleResetInput })))), showDropdown && (hAsync("sd-portal", { key: '45d65cf1c364e4c3f46770f98a6c7597f6aaeb01', open: showDropdown, parentRef: this.chipInputRef ?? null, viewportPadding: SdChipInput.SUGGESTIONS_VIEWPORT_PADDING, onSdClose: this.closeSuggestions }, hAsync("div", { key: '055ea7aeb71f7a4640b3ac7406f435c3f3b1d50c', class: "sd-chip-input__suggestions", role: "listbox", style: suggestionBoxStyle }, isDropdownLoading && (hAsync("div", { key: 'fc56e57fb5c62fa39cb7b13d51fe74baca539647', class: "sd-chip-input__suggestions-empty", style: suggestionEmptyStyle }, "\uBD88\uB7EC\uC624\uB294 \uC911...")), dropdownItems.map((item, i) => (hAsync("div", { key: item, class: {
8436
- 'sd-chip-input__suggestion-item': true,
8437
- 'sd-chip-input__suggestion-item--active': i === this.activeSuggestionIndex,
8438
- }, role: "option", tabIndex: -1, "aria-selected": i === this.activeSuggestionIndex, style: i === this.activeSuggestionIndex
8439
- ? {
8440
- ...suggestionItemStyle,
8441
- background: CHIP_INPUT_SUGGESTIONS.itemBgHover,
8442
- color: CHIP_INPUT_SUGGESTIONS.itemColorHover,
8443
- fontWeight: CHIP_INPUT_SUGGESTIONS.itemFontWeightSelected,
8444
- }
8445
- : suggestionItemStyle, onMouseDown: e => {
8446
- e.preventDefault();
8447
- this.addChip(item);
8448
- } }, item)))))))));
8559
+ : '' }, hAsync("input", { key: '3c1e75d691332b67a500a2d17030d5db191bdeb9', ref: el => (this.inputEl = el), class: "sd-chip-input__input", placeholder: this.internalValues.length === 0 ? this.placeholder : '', disabled: this.disabled, size: 1, onInput: this.handleInput, onKeyDown: this.handleKeyDown, onFocus: this.handleFocus, onBlur: this.handleBlur }))), showResetArea && (
8560
+ // eslint-disable-next-line jsx-a11y/no-static-element-interactions
8561
+ hAsync("div", { key: '4aa212280a928b88b85dffa3d453ea8f563e1fe0', class: "sd-chip-input__reset",
8562
+ // 리셋 버튼 클릭 input blur portal unmount refocus → 새 portal mount로
8563
+ // 두 wrapper가 body에 잠깐 겹치는 타이밍 이슈를 방지한다.
8564
+ onMouseDown: e => e.preventDefault() }, this.inputValue === '' && hAsync("span", { key: 'f7faa45b57d8e38dda8cc98119357f92d914fee4', class: "sd-chip-input__divider" }), this.maxCount != null && (hAsync("span", { key: 'dfde4ea82558414614fb2d817f7bfa1fb5d4bf5f', class: "sd-chip-input__max-count" }, "\uCD5C\uB300 ", this.maxCount, "\uAC1C")), this.useReset && this.internalValues.length > 0 && (hAsync("sd-text-link", { key: '9b43c82c1a5d425e5b187e92b4259e7d919491e3', icon: "reset", iconColor: CHIP_INPUT_RESET.iconColor, label: "\uC785\uB825 \uCD08\uAE30\uD654", underline: true, disabled: this.disabled, style: { '--sd-text-link-color': CHIP_INPUT_RESET.labelColor }, onSdClick: this.handleResetInput })))), showDropdown && (hAsync("sd-portal", { key: 'aa205aacbbafcd8c3d9855268637e6da956d4a74', open: showDropdown, parentRef: this.chipInputRef ?? null, viewportPadding: SdChipInput.SUGGESTIONS_VIEWPORT_PADDING, onSdClose: this.closeSuggestions }, hAsync("div", { key: '26814734f202da3a13e695ae1d0c913ea430b888', class: "sd-chip-input__suggestions", role: "listbox", style: suggestionBoxStyle }, isDropdownLoading && (hAsync("div", { key: 'df80d11b79f67dc6cfe6503b258528efa3752265', class: "sd-chip-input__suggestions-empty", style: suggestionEmptyStyle }, "\uBD88\uB7EC\uC624\uB294 \uC911...")), dropdownItems.map((item, i) => {
8565
+ const isSelected = (this.internalValues ?? []).includes(item);
8566
+ const isActive = i === this.activeSuggestionIndex && !isSelected;
8567
+ return (hAsync("div", { key: item, class: {
8568
+ 'sd-chip-input__suggestion-item': true,
8569
+ 'sd-chip-input__suggestion-item--active': isActive,
8570
+ 'sd-chip-input__suggestion-item--selected': isSelected,
8571
+ }, role: "option", tabIndex: -1, "aria-selected": isSelected || isActive, "aria-disabled": isSelected ? 'true' : undefined, style: isSelected
8572
+ ? {
8573
+ ...suggestionItemStyle,
8574
+ color: '#0075FF',
8575
+ fontWeight: CHIP_INPUT_SUGGESTIONS.itemFontWeightSelected,
8576
+ cursor: 'default',
8577
+ }
8578
+ : isActive
8579
+ ? {
8580
+ ...suggestionItemStyle,
8581
+ background: CHIP_INPUT_SUGGESTIONS.itemBgHover,
8582
+ color: CHIP_INPUT_SUGGESTIONS.itemColorHover,
8583
+ fontWeight: CHIP_INPUT_SUGGESTIONS.itemFontWeightSelected,
8584
+ }
8585
+ : suggestionItemStyle, onMouseDown: e => {
8586
+ e.preventDefault();
8587
+ if (!isSelected)
8588
+ this.addChip(item);
8589
+ } }, hAsync("span", { style: { flex: '1' } }, item), isSelected && (hAsync("sd-icon", { name: "check", size: "12", style: { color: '#0075FF', flexShrink: '0' } }))));
8590
+ })))))));
8449
8591
  }
8450
8592
  static get watchers() { return {
8451
8593
  "values": [{
@@ -8577,9 +8719,13 @@ class SdCircleProgress {
8577
8719
  constructor(hostRef) {
8578
8720
  registerInstance(this, hostRef);
8579
8721
  }
8722
+ /** 불확정 상태 여부 (true면 value 무시하고 스피너처럼 애니메이션) */
8580
8723
  indeterminate = false;
8724
+ /** 진행률 (0~100) */
8581
8725
  value = 0;
8726
+ /** 색상 테마 */
8582
8727
  type = 'primary';
8728
+ /** 원 하단에 표시할 레이블 텍스트 */
8583
8729
  label;
8584
8730
  get clampedValue() {
8585
8731
  if (!Number.isFinite(this.value))
@@ -8603,7 +8749,7 @@ class SdCircleProgress {
8603
8749
  }
8604
8750
  const c = CIRCLE_PROGRESS_VIEWBOX_SIZE / 2;
8605
8751
  const showPercent = !this.indeterminate;
8606
- return (hAsync(Host, { key: 'b8dc57144fcab41a7dce8f9aff9bec4609290a8e', style: hostStyle }, hAsync("svg", { key: '2f38f745684057e2b568da3cdbb8a940125fa920', class: "sd-circle-progress", viewBox: `0 0 ${CIRCLE_PROGRESS_VIEWBOX_SIZE} ${CIRCLE_PROGRESS_VIEWBOX_SIZE}`, xmlns: "http://www.w3.org/2000/svg" }, hAsync("circle", { key: 'e829f78dddbf5fb08e23b5774fe653c0019eedfd', class: "sd-circle-progress__track", cx: c, cy: c, r: CIRCLE_PROGRESS_RADIUS, fill: "none", "stroke-width": CIRCLE_PROGRESS_STROKE_WIDTH }), hAsync("circle", { key: '4643ac0edf25a12660791d87acebbecd8a5c2ead', class: "sd-circle-progress__arc", cx: c, cy: c, r: CIRCLE_PROGRESS_RADIUS, fill: "none", "stroke-width": CIRCLE_PROGRESS_STROKE_WIDTH, "stroke-linecap": "round", style: arcStyle })), showPercent && (hAsync("span", { key: '1ccaad0864e44d09902201bde466b7867c51646f', class: "sd-circle-progress__percent" }, Math.round(this.clampedValue), "%")), this.label && hAsync("span", { key: '0e26d97267552ef75dcc30f94392cbc733fee636', class: "sd-circle-progress__label" }, this.label)));
8752
+ return (hAsync(Host, { key: '1af8807d6ce19c4326e67ae55bd40620b83e9435', style: hostStyle }, hAsync("svg", { key: '21c2c5898ddf6f78b03964f3365e82382f90ce48', class: "sd-circle-progress", viewBox: `0 0 ${CIRCLE_PROGRESS_VIEWBOX_SIZE} ${CIRCLE_PROGRESS_VIEWBOX_SIZE}`, xmlns: "http://www.w3.org/2000/svg" }, hAsync("circle", { key: '1d9b2e95f767008af2a5d836f16e6e47e751677a', class: "sd-circle-progress__track", cx: c, cy: c, r: CIRCLE_PROGRESS_RADIUS, fill: "none", "stroke-width": CIRCLE_PROGRESS_STROKE_WIDTH }), hAsync("circle", { key: '1c8f4a5b1ae8f643debf68452317d0bcc0b4ab36', class: "sd-circle-progress__arc", cx: c, cy: c, r: CIRCLE_PROGRESS_RADIUS, fill: "none", "stroke-width": CIRCLE_PROGRESS_STROKE_WIDTH, "stroke-linecap": "round", style: arcStyle })), showPercent && (hAsync("span", { key: '1b15cdd56b3ac0d254d4a5304f40d3c5b1710b8d', class: "sd-circle-progress__percent" }, Math.round(this.clampedValue), "%")), this.label && hAsync("span", { key: 'e830db48529d87ddf788834d8731a576582662af', class: "sd-circle-progress__label" }, this.label)));
8607
8753
  }
8608
8754
  static get style() { return sdCircleProgressCss(); }
8609
8755
  static get cmpMeta() { return {
@@ -8652,20 +8798,35 @@ class SdConfirmModal {
8652
8798
  hasSlottedContent = false;
8653
8799
  customContentRef;
8654
8800
  slotObserver;
8801
+ /** 모달 타입 (아이콘·버튼 색상 결정) */
8655
8802
  type = 'positive';
8803
+ /** 모달 제목 */
8656
8804
  modalTitle = '';
8805
+ /** 제목 엘리먼트에 추가할 클래스 */
8657
8806
  titleClass = '';
8807
+ /** 콘텐츠 박스 상단 메시지 목록 */
8658
8808
  topMessage = [];
8809
+ /** 콘텐츠 박스 하단 메시지 목록 */
8659
8810
  bottomMessage = [];
8811
+ /** 확인 버튼 프리셋 (없으면 type에 따라 자동 결정) */
8660
8812
  mainButtonName;
8813
+ /** 확인 버튼 레이블 */
8661
8814
  mainButtonLabel = '확인';
8815
+ /** 취소 버튼 레이블 (없으면 취소 버튼 미표시) */
8662
8816
  subButtonLabel = '';
8817
+ /** 콘텐츠 박스에 표시할 태그 프리셋 */
8663
8818
  tagPreset = 'square_sm_grey';
8819
+ /** 콘텐츠 박스에 표시할 태그 레이블 */
8664
8820
  tagLabel = '';
8821
+ /** 콘텐츠 박스에 표시할 텍스트 (tagLabel 없을 때 사용) */
8665
8822
  slotLabel = '';
8823
+ /** 콘텐츠 박스에 직접 삽입할 HTMLElement */
8666
8824
  tagContents;
8825
+ /** 닫기 버튼 클릭 시 발생합니다. */
8667
8826
  close;
8827
+ /** 취소 버튼 클릭 시 발생합니다. */
8668
8828
  cancel;
8829
+ /** 확인 버튼 클릭 시 발생합니다. */
8669
8830
  ok;
8670
8831
  componentWillLoad() {
8671
8832
  this.syncHasSlottedContent();
@@ -8719,9 +8880,9 @@ class SdConfirmModal {
8719
8880
  const type = this.resolvedType;
8720
8881
  const iconName = CONFIRM_MODAL_ICON_MAP[type];
8721
8882
  const iconColor = CONFIRM_MODAL_ICON_COLOR[type];
8722
- return (hAsync("div", { key: '689c6d50f52e1a4c5b8f501fcc1e14f0da42fcfc', class: "sd-confirm-modal" }, hAsync("sd-ghost-button", { key: 'fc3aedaa2b6aa3b95b9c0ce1e766df69af86c82f', class: "sd-confirm-modal__close-button", icon: "close", ariaLabel: "close", onClick: () => this.close.emit() }), iconName && (hAsync("sd-icon", { key: '4560ad7ee0d8929221a47b6c1b00cac04c7b387a', class: "sd-confirm-modal__icon", name: iconName, size: TITLE_ICON_SIZE, color: iconColor })), hAsync("h2", { key: '8689d86f85c72a9f36e94f083842fc3354d3d82c', class: `sd-confirm-modal__title ${this.titleClass ?? ''}` }, this.modalTitle), hAsync("div", { key: '5828e937b3b1d3f34c389e73a3d953388dd30cd0', class: "sd-confirm-modal__body" }, (this.topMessage ?? []).length > 0 && (hAsync("div", { key: '0f64cda9195807dbf637a463ba2bc8acc8c1ff3a', class: "sd-confirm-modal__message" }, (this.topMessage ?? []).map(msg => (hAsync("p", { class: "sd-confirm-modal__message-text", innerHTML: sanitizeInlineHtml(msg) }))))), this.showContentBox && (hAsync("div", { key: 'a090330cab2dbbc99127e616f3e50420bd44b9e4', class: "sd-confirm-modal__content-box" }, this.tagContents ? (hAsync("div", { class: "sd-confirm-modal__custom-content", ref: el => {
8883
+ return (hAsync("div", { key: '26270c4ca645f0e7e245b4bd40423bcf09029e22', class: "sd-confirm-modal" }, hAsync("sd-ghost-button", { key: '672b73221f8638eff70c3074614fcc90b489702e', class: "sd-confirm-modal__close-button", icon: "close", ariaLabel: "close", onClick: () => this.close.emit() }), iconName && (hAsync("sd-icon", { key: '895dda6ba69d41f33f9465fb9db28739da28d2e6', class: "sd-confirm-modal__icon", name: iconName, size: TITLE_ICON_SIZE, color: iconColor })), hAsync("h2", { key: 'ace6b9da4421c28e2bb828c60cae1c1cc7547f9a', class: `sd-confirm-modal__title ${this.titleClass ?? ''}` }, this.modalTitle), hAsync("div", { key: '3370fe954c33f8ce6a643fcc9b19f299682b43e8', class: "sd-confirm-modal__body" }, (this.topMessage ?? []).length > 0 && (hAsync("div", { key: '6a6bc182c638e909a821353c188d2ef558452e17', class: "sd-confirm-modal__message" }, (this.topMessage ?? []).map(msg => (hAsync("p", { class: "sd-confirm-modal__message-text", innerHTML: sanitizeInlineHtml(msg) }))))), this.showContentBox && (hAsync("div", { key: 'dba37f4ab114f3641a9f287d123fb7f94e49c00a', class: "sd-confirm-modal__content-box" }, this.tagContents ? (hAsync("div", { class: "sd-confirm-modal__custom-content", ref: el => {
8723
8884
  this.customContentRef = el;
8724
- } })) : (hAsync("slot", { onSlotchange: () => this.syncHasSlottedContent() }, this.tagLabel && (hAsync("sd-tag", { name: this.tagPreset ?? 'square_sm_grey', label: this.tagLabel })), this.slotLabel && (hAsync("span", { class: "sd-confirm-modal__slot-label" }, this.slotLabel)))))), (this.bottomMessage ?? []).length > 0 && (hAsync("div", { key: 'a665a0ea56685496adf7c306b4a940762a8a2b3a', class: "sd-confirm-modal__message" }, (this.bottomMessage ?? []).map(msg => (hAsync("p", { class: "sd-confirm-modal__message-text", innerHTML: sanitizeInlineHtml(msg) })))))), hAsync("div", { key: '0ad69928a260ed78edd7606f89790e6afa6b2d76', class: "sd-confirm-modal__button" }, this.subButtonLabel && (hAsync("sd-button", { key: '1f835e091b4d96cb6c95dbda88d93ce86828da2c', name: SUB_BUTTON_PRESET, label: this.subButtonLabel, onSdClick: () => this.cancel.emit() })), hAsync("sd-button", { key: '8e3cb23cb7207e402543b009b49d23a50521db24', name: this.resolvedMainButton, label: this.mainButtonLabel ?? '확인', onSdClick: () => this.ok.emit() }))));
8885
+ } })) : (hAsync("slot", { onSlotchange: () => this.syncHasSlottedContent() }, this.tagLabel && (hAsync("sd-tag", { name: this.tagPreset ?? 'square_sm_grey', label: this.tagLabel })), this.slotLabel && (hAsync("span", { class: "sd-confirm-modal__slot-label" }, this.slotLabel)))))), (this.bottomMessage ?? []).length > 0 && (hAsync("div", { key: 'ed29da73d968017c44cd61540139fac24592ea70', class: "sd-confirm-modal__message" }, (this.bottomMessage ?? []).map(msg => (hAsync("p", { class: "sd-confirm-modal__message-text", innerHTML: sanitizeInlineHtml(msg) })))))), hAsync("div", { key: '608287c021f4191dcea0a0b5798381cbc8742170', class: "sd-confirm-modal__button" }, this.subButtonLabel && (hAsync("sd-button", { key: 'a67c309617c6e1f30aa9167587e8cbb9fb961482', name: SUB_BUTTON_PRESET, label: this.subButtonLabel, onSdClick: () => this.cancel.emit() })), hAsync("sd-button", { key: '3c1a698a8276e2924f62cf1c7e472bd34ac581a1', name: this.resolvedMainButton, label: this.mainButtonLabel ?? '확인', onSdClick: () => this.ok.emit() }))));
8725
8886
  }
8726
8887
  static get style() { return sdConfirmModalCss(); }
8727
8888
  static get cmpMeta() { return {
@@ -8756,15 +8917,25 @@ class SdDateBox {
8756
8917
  this.click = createEvent(this, "sdClick", 7);
8757
8918
  this.mouseOver = createEvent(this, "sdMouseOver", 7);
8758
8919
  }
8920
+ /** 표시할 날짜 값 */
8759
8921
  date = null;
8922
+ /** 비활성 상태 여부 */
8760
8923
  disabled = false;
8924
+ /** 선택된 날짜 여부 */
8761
8925
  selected = false;
8926
+ /** 범위 시작일 여부 */
8762
8927
  isStartDate = false;
8928
+ /** 범위 종료일 여부 */
8763
8929
  isEndDate = false;
8930
+ /** 오늘 날짜 여부 */
8764
8931
  isToday = false;
8932
+ /** 선택 범위 내 날짜 여부 */
8765
8933
  inRange = false;
8934
+ /** 범위 선택에서의 역할 (start | end | 없음) */
8766
8935
  type = '';
8936
+ /** 날짜 클릭 시 해당 날짜 값을 전달합니다. */
8767
8937
  click;
8938
+ /** 날짜 hover 시 해당 날짜 값을 전달합니다. */
8768
8939
  mouseOver;
8769
8940
  handleClickDate() {
8770
8941
  if (this.disabled || this.date === undefined || this.date === '' || this.date === 0)
@@ -8779,7 +8950,7 @@ class SdDateBox {
8779
8950
  this.mouseOver?.emit(this.date);
8780
8951
  }
8781
8952
  render() {
8782
- return (hAsync("div", { key: 'ab09e8112e18b04dab2d171fa6dbd8554d11e57b', role: "button", tabindex: this.disabled ? -1 : 0, class: {
8953
+ return (hAsync("div", { key: '8b8bc2facd0f4614a6022c48bbd026390d8599e4', role: "button", tabindex: this.disabled ? -1 : 0, class: {
8783
8954
  'sd-date-box': true,
8784
8955
  'sd-hoverable': !this.disabled || !this.selected || this.type === '',
8785
8956
  'sd-date-box--disabled': this.disabled,
@@ -8795,7 +8966,7 @@ class SdDateBox {
8795
8966
  e.preventDefault();
8796
8967
  this.handleClickDate();
8797
8968
  }
8798
- }, onMouseOver: () => this.handleHoverDate(), onFocus: () => this.handleHoverDate() }, hAsync("div", { key: 'b7e418536d6de86ae4e8042a0fc59dece42f7489', class: "sd-date-box__content" }, hAsync("div", { key: '41f2b2136cc60e2d1a6664852a3fadf30413de0f', class: "sd-date-box__label" }, this.date))));
8969
+ }, onMouseOver: () => this.handleHoverDate(), onFocus: () => this.handleHoverDate() }, hAsync("div", { key: 'acbd57ac0300ca143f1e75780b59b5fc107d537f', class: "sd-date-box__content" }, hAsync("div", { key: 'aeff50640c285cfd75d5592e67c97e5ec55eb00c', class: "sd-date-box__label" }, this.date))));
8799
8970
  }
8800
8971
  static get style() { return sdDateBoxCss(); }
8801
8972
  static get cmpMeta() { return {
@@ -8919,43 +9090,66 @@ class SdDatePicker {
8919
9090
  }
8920
9091
  static CLOSE_ANIMATION_DURATION = 150;
8921
9092
  get el() { return getElement(this); }
9093
+ /** 선택된 날짜 (YYYY-MM-DD) */
8922
9094
  value = null;
9095
+ /** 입력 필드 크기 */
8923
9096
  size = 'sm';
9097
+ /** 날짜 미선택 시 표시할 placeholder */
8924
9098
  placeholder = 'YYYY-MM-DD';
9099
+ /** 선택 가능한 날짜 범위 [시작일, 종료일] */
8925
9100
  selectable;
9101
+ /** 비활성 상태 여부 */
8926
9102
  disabled = false;
9103
+ /** 필드 너비 (숫자면 px, 문자열이면 그대로 적용) */
8927
9104
  width = '';
8928
9105
  // sd-field 공통 props
9106
+ /** 레이블 텍스트 */
8929
9107
  label = '';
9108
+ /** 레이블 너비 */
8930
9109
  labelWidth = '';
9110
+ /** 필드 우측 어드온 레이블 */
8931
9111
  addonLabel = '';
9112
+ /** 어드온 정렬 방향 */
8932
9113
  addonAlign = 'start';
9114
+ /** 필드 하단 힌트 텍스트 */
8933
9115
  hint = '';
9116
+ /** 에러 메시지 */
8934
9117
  errorMessage = '';
9118
+ /** 유효성 검사 규칙 목록 */
8935
9119
  rules = [];
9120
+ /** 에러 상태 여부 */
8936
9121
  error = false;
9122
+ /** 레이블 영역 아이콘 */
8937
9123
  icon = undefined;
9124
+ /** 레이블 툴팁 텍스트 */
8938
9125
  labelTooltip = '';
9126
+ /** 레이블 툴팁 상세 옵션 */
8939
9127
  labelTooltipProps = null;
8940
9128
  isOpen = false;
8941
9129
  isAnimatingOut = false;
8942
9130
  focused = false;
8943
9131
  hovered = false;
9132
+ /** 날짜 선택 시 선택된 날짜(YYYY-MM-DD)를 전달합니다. */
8944
9133
  update;
9134
+ /** 달력 월/년 이동 시 현재 보여지는 연·월을 전달합니다. */
8945
9135
  viewChange;
8946
9136
  triggerRef;
8947
9137
  formField;
8948
9138
  closeAnimationTimer;
9139
+ /** 폼 연동용 name 속성 */
8949
9140
  name = nanoid$1();
8950
9141
  watchIsOpen(newValue) {
8951
9142
  this.focused = newValue;
8952
9143
  }
9144
+ /** 유효성 검사를 실행합니다. */
8953
9145
  async sdValidate() {
8954
9146
  return this.formField?.sdValidate();
8955
9147
  }
9148
+ /** 값과 유효성 상태를 초기화합니다. */
8956
9149
  async sdReset() {
8957
9150
  return this.formField?.sdReset();
8958
9151
  }
9152
+ /** 유효성 상태만 초기화합니다. */
8959
9153
  async sdResetValidate() {
8960
9154
  return this.formField?.sdResetValidation();
8961
9155
  }
@@ -9008,9 +9202,9 @@ class SdDatePicker {
9008
9202
  '--sd-system-color-field-border-focus': DATEPICKER_COLORS.border.focus,
9009
9203
  '--sd-system-color-field-bg-default': DATEPICKER_COLORS.bg.default,
9010
9204
  };
9011
- return (hAsync("sd-field", { key: 'cbd8e081f56fb2fb53854cd0937fe24e5d6d9b97', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, size: this.size, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, hAsync("div", { key: 'e7798ec50f7d22628a17a953ac87882160248de4', class: "sd-date-picker", ref: el => {
9205
+ return (hAsync("sd-field", { key: '2fc699a41a6646404e5cbd29688f14c61b466c56', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, size: this.size, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, hAsync("div", { key: '33c690078e2511657bfe3747d81cc1333b021353', class: "sd-date-picker", ref: el => {
9012
9206
  this.triggerRef = el;
9013
- } }, hAsync("sd-date-picker-trigger", { key: 'ce203f70a001f9caa9071fb667d9bf58f57748ec', displayText: this.value ?? '', placeholder: this.placeholder, disabled: this.disabled, size: this.size, onSdTriggerClick: this.handleTriggerClick })), (this.isOpen || this.isAnimatingOut) && (hAsync("sd-portal", { key: 'c5f875bc826fa1f899205cfefe2db57da3dd34b4', open: this.isOpen, parentRef: this.triggerRef, onSdClose: () => this.closeDropdown() }, hAsync("sd-calendar", { key: '8626faebafac8201979e02c444279124c3261b67', elevated: true, value: this.value, selectable: this.selectable, onSdUpdate: this.handleSelect, onSdViewChange: this.handleViewChange })))));
9207
+ } }, hAsync("sd-date-picker-trigger", { key: 'b5248eecbf1c4e8eca4e5b23206b7bebe7034280', displayText: this.value ?? '', placeholder: this.placeholder, disabled: this.disabled, size: this.size, onSdTriggerClick: this.handleTriggerClick })), (this.isOpen || this.isAnimatingOut) && (hAsync("sd-portal", { key: 'f89b8688a43b9c702d75b8c5587b30626c7fd2db', open: this.isOpen, parentRef: this.triggerRef, onSdClose: () => this.closeDropdown() }, hAsync("sd-calendar", { key: '4b293972c1b860f6d85be57fb72689c94699aeae', elevated: true, value: this.value, selectable: this.selectable, onSdUpdate: this.handleSelect, onSdViewChange: this.handleViewChange })))));
9014
9208
  }
9015
9209
  static get watchers() { return {
9016
9210
  "isOpen": [{
@@ -9061,10 +9255,15 @@ class SdDatePickerTrigger {
9061
9255
  registerInstance(this, hostRef);
9062
9256
  this.triggerClick = createEvent(this, "sdTriggerClick", 7);
9063
9257
  }
9258
+ /** 표시할 날짜 텍스트 */
9064
9259
  displayText = '';
9260
+ /** 입력 힌트 텍스트 */
9065
9261
  placeholder = 'YYYY-MM-DD';
9262
+ /** 비활성 상태 여부 */
9066
9263
  disabled = false;
9264
+ /** 트리거 크기 */
9067
9265
  size = 'sm';
9266
+ /** 트리거 클릭 시 발생합니다. */
9068
9267
  triggerClick;
9069
9268
  handleClick = () => {
9070
9269
  if (this.disabled)
@@ -9093,7 +9292,7 @@ class SdDatePickerTrigger {
9093
9292
  ? DATEPICKER_COLORS.icon.disabled
9094
9293
  : DATEPICKER_COLORS.icon.default,
9095
9294
  };
9096
- return (hAsync("div", { key: 'ed74f03f3860fe86e7bc3b5430501b064a0288a7', role: "button", tabindex: this.disabled ? -1 : 0, class: {
9295
+ return (hAsync("div", { key: 'a8484cc7ca6fd02ea48ab033fec3da69702f4f71', role: "button", tabindex: this.disabled ? -1 : 0, class: {
9097
9296
  'sd-date-picker-trigger': true,
9098
9297
  'sd-date-picker-trigger--disabled': this.disabled,
9099
9298
  }, style: cssVars, onClick: this.handleClick, onKeyDown: e => {
@@ -9101,7 +9300,7 @@ class SdDatePickerTrigger {
9101
9300
  e.preventDefault();
9102
9301
  this.handleClick();
9103
9302
  }
9104
- } }, hAsync("sd-icon", { key: '67994572f65a0f13622deef67f89b22c083791a0', name: "date", size: Number(sizeTokens.iconSize), color: "var(--trigger-icon-color)", class: "sd-date-picker-trigger__icon" }), hAsync("span", { key: '142f26e05ae2287d03a9e733b64ddf34f2ed1256', class: "sd-date-picker-trigger__text" }, hasValue ? this.displayText : this.placeholder)));
9303
+ } }, hAsync("sd-icon", { key: 'e87c63032774389064c56f3212882727c1091b53', name: "date", size: Number(sizeTokens.iconSize), color: "var(--trigger-icon-color)", class: "sd-date-picker-trigger__icon" }), hAsync("span", { key: '3876d7e9c08771de796ab04106190baf45625f0f', class: "sd-date-picker-trigger__text" }, hasValue ? this.displayText : this.placeholder)));
9105
9304
  }
9106
9305
  static get style() { return sdDatePickerTriggerCss(); }
9107
9306
  static get cmpMeta() { return {
@@ -9136,44 +9335,68 @@ class SdDateRangePicker {
9136
9335
  }
9137
9336
  static CLOSE_ANIMATION_DURATION = 150;
9138
9337
  get el() { return getElement(this); }
9338
+ /** 선택된 날짜 범위 [시작일, 종료일] (YYYY-MM-DD) */
9139
9339
  value = null;
9340
+ /** 입력 필드 크기 */
9140
9341
  size = 'sm';
9342
+ /** 미선택 시 표시할 placeholder */
9141
9343
  placeholder = 'YYYY-MM-DD ~ YYYY-MM-DD';
9344
+ /** 선택 가능한 날짜 범위 [시작일, 종료일] */
9142
9345
  selectable;
9346
+ /** 최대 선택 가능한 날짜 범위 (일 단위) */
9143
9347
  maxRange;
9348
+ /** 비활성 상태 여부 */
9144
9349
  disabled = false;
9350
+ /** 필드 너비 (숫자면 px, 문자열이면 그대로 적용) */
9145
9351
  width = '';
9146
9352
  // sd-field 공통 props
9353
+ /** 레이블 텍스트 */
9147
9354
  label = '';
9355
+ /** 레이블 너비 */
9148
9356
  labelWidth = '';
9357
+ /** 필드 우측 어드온 레이블 */
9149
9358
  addonLabel = '';
9359
+ /** 어드온 정렬 방향 */
9150
9360
  addonAlign = 'start';
9361
+ /** 필드 하단 힌트 텍스트 */
9151
9362
  hint = '';
9363
+ /** 에러 메시지 */
9152
9364
  errorMessage = '';
9365
+ /** 유효성 검사 규칙 목록 */
9153
9366
  rules = [];
9367
+ /** 에러 상태 여부 */
9154
9368
  error = false;
9369
+ /** 레이블 영역 아이콘 */
9155
9370
  icon = undefined;
9371
+ /** 레이블 툴팁 텍스트 */
9156
9372
  labelTooltip = '';
9373
+ /** 레이블 툴팁 상세 옵션 */
9157
9374
  labelTooltipProps = null;
9158
9375
  isOpen = false;
9159
9376
  isAnimatingOut = false;
9160
9377
  focused = false;
9161
9378
  hovered = false;
9379
+ /** 날짜 범위 선택 완료 시 [시작일, 종료일]을 전달합니다. */
9162
9380
  update;
9381
+ /** 달력 월/년 이동 시 현재 보여지는 연·월을 전달합니다. */
9163
9382
  viewChange;
9164
9383
  triggerRef;
9165
9384
  formField;
9166
9385
  closeAnimationTimer;
9386
+ /** 폼 연동용 name 속성 */
9167
9387
  name = nanoid$1();
9168
9388
  watchIsOpen(newValue) {
9169
9389
  this.focused = newValue;
9170
9390
  }
9391
+ /** 유효성 검사를 실행합니다. */
9171
9392
  async sdValidate() {
9172
9393
  return this.formField?.sdValidate();
9173
9394
  }
9395
+ /** 값과 유효성 상태를 초기화합니다. */
9174
9396
  async sdReset() {
9175
9397
  return this.formField?.sdReset();
9176
9398
  }
9399
+ /** 유효성 상태만 초기화합니다. */
9177
9400
  async sdResetValidate() {
9178
9401
  return this.formField?.sdResetValidation();
9179
9402
  }
@@ -9230,9 +9453,9 @@ class SdDateRangePicker {
9230
9453
  '--sd-system-color-field-border-focus': DATEPICKER_COLORS.border.focus,
9231
9454
  '--sd-system-color-field-bg-default': DATEPICKER_COLORS.bg.default,
9232
9455
  };
9233
- return (hAsync("sd-field", { key: '89eaeb8978796508650aec5f3ccdeb7df16fb6f4', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, size: this.size, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, hAsync("div", { key: 'f3ce583e53edbc451ab6c0592c0ab2ed87e07a06', class: "sd-date-range-picker", ref: el => {
9456
+ return (hAsync("sd-field", { key: '00e25ab4608b5340b8be9e1dd19050968e34b758', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, size: this.size, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, hAsync("div", { key: '98179e2ec90e55f83e5deff6e36fc821fc103456', class: "sd-date-range-picker", ref: el => {
9234
9457
  this.triggerRef = el;
9235
- } }, hAsync("sd-date-picker-trigger", { key: '53086fd3d15dc2c05364a66fdf767e09c6c19fac', displayText: this.displayText, placeholder: this.placeholder, disabled: this.disabled, size: this.size, onSdTriggerClick: this.handleTriggerClick })), (this.isOpen || this.isAnimatingOut) && (hAsync("sd-portal", { key: '5ee1499ee9a224a9c653095e9914ed20cbaca2a1', open: this.isOpen, parentRef: this.triggerRef, onSdClose: () => this.closeDropdown() }, hAsync("sd-date-range-picker-calendar", { key: '7c7479dacf57c996a708435857d2b5f7900509fd', value: this.value, selectable: this.selectable, maxRange: this.maxRange, onSdSelect: this.handleSelect, onSdViewChange: this.handleViewChange })))));
9458
+ } }, hAsync("sd-date-picker-trigger", { key: 'fe123228a851da602f0a5a8929fc20782742a24b', displayText: this.displayText, placeholder: this.placeholder, disabled: this.disabled, size: this.size, onSdTriggerClick: this.handleTriggerClick })), (this.isOpen || this.isAnimatingOut) && (hAsync("sd-portal", { key: 'ee7eb14cc09fd067a8eeb9f19bd93178378d81b2', open: this.isOpen, parentRef: this.triggerRef, onSdClose: () => this.closeDropdown() }, hAsync("sd-date-range-picker-calendar", { key: '8dc57a29f1ecd6811fb4538a96eea823dfebe080', value: this.value, selectable: this.selectable, maxRange: this.maxRange, onSdSelect: this.handleSelect, onSdViewChange: this.handleViewChange })))));
9236
9459
  }
9237
9460
  static get watchers() { return {
9238
9461
  "isOpen": [{
@@ -9285,15 +9508,20 @@ class SdDateRangePickerCalendar {
9285
9508
  this.select = createEvent(this, "sdSelect", 7);
9286
9509
  this.viewChange = createEvent(this, "sdViewChange", 7);
9287
9510
  }
9511
+ /** 선택된 날짜 범위 [시작일, 종료일] */
9288
9512
  value = null;
9513
+ /** 선택 가능한 날짜 범위 제한 */
9289
9514
  selectable;
9515
+ /** 최대 선택 가능 일 수 */
9290
9516
  maxRange;
9291
9517
  currentYear;
9292
9518
  currentMonth;
9293
9519
  pendingStart = '';
9294
9520
  hoverDate = '';
9295
9521
  displayValue = null;
9522
+ /** 날짜 범위 선택 시 발생합니다. */
9296
9523
  select;
9524
+ /** 달력 뷰가 변경될 때 발생합니다. */
9297
9525
  viewChange;
9298
9526
  dateUtil = useDatePicker();
9299
9527
  componentWillLoad() {
@@ -9521,7 +9749,7 @@ class SdDateRangePickerCalendar {
9521
9749
  '--range-panel-gap': `${RANGE_LAYOUT.panelGap}px`,
9522
9750
  '--range-divider': RANGE_LAYOUT.divider,
9523
9751
  };
9524
- return (hAsync(Fragment, { key: 'd46df258093b5c57d1b958efb7e52cabd4cb1eb4' }, hAsync("div", { key: '04fc01524115d9b57462ad1eaf9281fe1c63dd84', class: "sd-date-range-picker-calendar", style: cssVars }, this.renderYearNav(), hAsync("div", { key: '91428a1dd98b7a9c534b28a9cd683f35935dfee2', class: "sd-date-range-picker-calendar__panels" }, this.renderPanel(this.currentYear, this.currentMonth, true), hAsync("span", { key: '26d4f7e3391c50340e0f45f018b02d11ad7bd23b', class: "sd-date-range-picker-calendar__divider", "aria-hidden": "true" }), this.renderPanel(this.rightYear, this.rightMonth, false)))));
9752
+ return (hAsync(Fragment, { key: '351cf65dcf32acba409f32c5bfa0681989093f32' }, hAsync("div", { key: '99f29a4e401d2ebaea0ebb55c2a4e55d55f23a7f', class: "sd-date-range-picker-calendar", style: cssVars }, this.renderYearNav(), hAsync("div", { key: '251fe254a39d7093633be176c413608abd3c47c1', class: "sd-date-range-picker-calendar__panels" }, this.renderPanel(this.currentYear, this.currentMonth, true), hAsync("span", { key: 'fb69fea401d17f3862b4a21162747161246c42e2', class: "sd-date-range-picker-calendar__divider", "aria-hidden": "true" }), this.renderPanel(this.rightYear, this.rightMonth, false)))));
9525
9753
  }
9526
9754
  static get watchers() { return {
9527
9755
  "value": [{
@@ -9742,10 +9970,15 @@ class SdDropdownButton extends BaseDropdownEvent {
9742
9970
  this.dropDownShow = createEvent(this, "sdDropDownShow", 7);
9743
9971
  }
9744
9972
  get el() { return getElement(this); }
9973
+ /** 버튼 프리셋 이름 (크기와 색상 조합) */
9745
9974
  name = 'primary_sm';
9975
+ /** 버튼 레이블 */
9746
9976
  label = '';
9977
+ /** 드롭다운 메뉴 아이템 목록 */
9747
9978
  items = [];
9979
+ /** 비활성 상태 여부 */
9748
9980
  disabled = false;
9981
+ /** 레이블 버튼과 드롭다운 토글을 분리하는 split 모드 여부 */
9749
9982
  split = false;
9750
9983
  static CLOSE_ANIMATION_DURATION = 150;
9751
9984
  isOpen = false;
@@ -9755,8 +9988,11 @@ class SdDropdownButton extends BaseDropdownEvent {
9755
9988
  splitContainerRef;
9756
9989
  menuRef;
9757
9990
  closeAnimationTimer;
9991
+ /** 메뉴 아이템 선택 시 해당 아이템의 value를 전달합니다. */
9758
9992
  click;
9993
+ /** split 모드에서 레이블 버튼 클릭 시 발생합니다. */
9759
9994
  buttonClick;
9995
+ /** 드롭다운 열림/닫힘 상태 변경 시 발생합니다. */
9760
9996
  dropDownShow;
9761
9997
  handleOpenChange(isOpen) {
9762
9998
  this.onDropdownToggle(isOpen);
@@ -9773,11 +10009,13 @@ class SdDropdownButton extends BaseDropdownEvent {
9773
10009
  if (this.closeAnimationTimer)
9774
10010
  clearTimeout(this.closeAnimationTimer);
9775
10011
  }
10012
+ /** 드롭다운 메뉴를 엽니다. */
9776
10013
  async sdOpen() {
9777
10014
  if (this.disabled || this.items.length === 0)
9778
10015
  return;
9779
10016
  this.isOpen = true;
9780
10017
  }
10018
+ /** 드롭다운 메뉴를 닫습니다. */
9781
10019
  async sdClose() {
9782
10020
  this.closeDropdown();
9783
10021
  }
@@ -10038,25 +10276,44 @@ class SdField {
10038
10276
  registerInstance(this, hostRef);
10039
10277
  }
10040
10278
  get el() { return getElement(this); }
10279
+ /** 폼 연동용 name 속성 */
10041
10280
  name = '';
10281
+ /** 유효성 검사 규칙 목록 */
10042
10282
  rules = [];
10283
+ /** 에러 상태 여부 */
10043
10284
  error = false;
10285
+ /** 비활성 상태 여부 */
10044
10286
  disabled = false;
10287
+ /** 읽기 전용 여부 */
10045
10288
  readonly = false;
10289
+ /** 호버 상태 여부 */
10046
10290
  hovered = false;
10291
+ /** 포커스 상태 여부 */
10047
10292
  focused = false;
10293
+ /** 필드 상태 (없으면 rules 결과로 자동 결정) */
10048
10294
  status;
10295
+ /** 필드 하단 힌트 텍스트 */
10049
10296
  hint = '';
10297
+ /** 에러 메시지 */
10050
10298
  errorMessage = '';
10299
+ /** 필드 너비 (숫자면 px, 문자열이면 그대로 적용) */
10051
10300
  width = '';
10301
+ /** 필드 크기 */
10052
10302
  size = 'sm';
10053
10303
  // props - label
10304
+ /** 레이블 텍스트 */
10054
10305
  label = '';
10306
+ /** 레이블 너비 */
10055
10307
  labelWidth = '';
10308
+ /** 필드 우측 어드온 레이블 */
10056
10309
  addonLabel = '';
10310
+ /** 어드온 정렬 방향 */
10057
10311
  addonAlign = 'start';
10312
+ /** 레이블 영역 아이콘 */
10058
10313
  icon = undefined;
10314
+ /** 레이블 툴팁 텍스트 */
10059
10315
  labelTooltip = '';
10316
+ /** 레이블 툴팁 상세 옵션 */
10060
10317
  labelTooltipProps = null;
10061
10318
  errorMsg = '';
10062
10319
  hostElement = null;
@@ -10121,6 +10378,7 @@ class SdField {
10121
10378
  form.sdUnregisterField(this);
10122
10379
  });
10123
10380
  }
10381
+ /** 유효성 검사를 실행합니다. */
10124
10382
  async sdValidate() {
10125
10383
  if (!this.rules || this.rules.length === 0)
10126
10384
  return true;
@@ -10134,15 +10392,18 @@ class SdField {
10134
10392
  this.setError(false, '');
10135
10393
  return true;
10136
10394
  }
10395
+ /** 필드 값과 유효성 상태를 초기화합니다. */
10137
10396
  async sdReset() {
10138
10397
  if (this.hostElement) {
10139
10398
  this.hostElement.value = null;
10140
10399
  }
10141
10400
  this.setError(false, '');
10142
10401
  }
10402
+ /** 유효성 상태만 초기화합니다. */
10143
10403
  async sdResetValidation() {
10144
10404
  this.setError(false, '');
10145
10405
  }
10406
+ /** 필드에 포커스를 이동하고 스크롤합니다. */
10146
10407
  async sdFocus() {
10147
10408
  this.hostElement?.focus?.();
10148
10409
  this.hostElement?.scrollIntoView({ behavior: 'smooth', block: 'center' });
@@ -10206,21 +10467,21 @@ class SdField {
10206
10467
  : {}),
10207
10468
  }
10208
10469
  : {};
10209
- return (hAsync("div", { key: '76a1a2f41cafb2a665415f4e6e7bd9561aacb57f', class: {
10470
+ return (hAsync("div", { key: 'baf943d77385c9c02e2fe1d938f9622bd858129c', class: {
10210
10471
  'sd-field': true,
10211
10472
  'sd-field--has-label': this.label !== '',
10212
10473
  'sd-field--has-addon': addon !== '',
10213
10474
  [this.fieldStatus]: this.fieldStatus !== '',
10214
- }, style: { ...sizeCssVars, ...labelCssVars, ...addonCssVars, ...messageCssVars } }, hAsync("div", { key: 'b4219a5e3e80ead00b0cb67d6c5c8a1b25e59f57', class: "sd-field__wrapper" }, this.renderLabel(this.label), hAsync("div", { key: '91dd10be9bf9fe70615d6f4f0ee00601cab5ee4a', class: "sd-field__main", style: this.width !== '' && this.width !== 0
10475
+ }, style: { ...sizeCssVars, ...labelCssVars, ...addonCssVars, ...messageCssVars } }, hAsync("div", { key: 'f5f204929ef4a4e1a260d7609bc00d9a1fe998f4', class: "sd-field__wrapper" }, this.renderLabel(this.label), hAsync("div", { key: 'eff02956e5aae08691b2850bb0d1978865a446f9', class: "sd-field__main", style: this.width !== '' && this.width !== 0
10215
10476
  ? {
10216
10477
  width: typeof this.width === 'number' ? `${this.width}px` : this.width,
10217
10478
  flex: 'none',
10218
10479
  }
10219
- : {} }, hAsync("div", { key: 'd15df53ff3d76ab9f9bd5e6ffe55f98b53c1211a', class: {
10480
+ : {} }, hAsync("div", { key: 'bf00b81dbb3d36a8a8ddf4919c9ec3383a1f3f14', class: {
10220
10481
  'sd-field__control': true,
10221
10482
  'sd-field__control--has-addon': addon !== '',
10222
- } }, addon && (hAsync("div", { key: 'fa65e5f352e20ae9f533bdf93d95b2d2f3ec4d7b', class: "sd-field__addon" }, this.icon && (hAsync("sd-icon", { key: '5c6d67ca4a72191622d14727567b8bca0975dcee', name: this.icon.name, size: this.icon.size ??
10223
- Number(FIELD_LABEL_SIZE_MAP[(this.size in FIELD_LABEL_SIZE_MAP ? this.size : 'sm')].icon), color: this.icon.color, rotate: this.icon.rotate })), addon)), hAsync("slot", { key: 'c4f4e9392b3e6df8bba7a0f9e39bb3847ccf5931' })), this.errorMsg !== '' || this.errorMessage !== '' ? (hAsync("div", { class: "sd-field__error-message" }, this.errorMsg !== '' ? this.errorMsg : this.errorMessage)) : (this.hint !== '' && hAsync("div", { class: "sd-field__hint" }, this.hint))))));
10483
+ } }, addon && (hAsync("div", { key: '4cef1308de0b709d5924ff7a02ee5bd3b78c1502', class: "sd-field__addon" }, this.icon && (hAsync("sd-icon", { key: '7fdfca555d80f5409082c43967224fd8108a6f29', name: this.icon.name, size: this.icon.size ??
10484
+ Number(FIELD_LABEL_SIZE_MAP[(this.size in FIELD_LABEL_SIZE_MAP ? this.size : 'sm')].icon), color: this.icon.color, rotate: this.icon.rotate })), addon)), hAsync("slot", { key: 'c523813390db6f6f4acce3ffb8377820ffb95fad' })), this.errorMsg !== '' || this.errorMessage !== '' ? (hAsync("div", { class: "sd-field__error-message" }, this.errorMsg !== '' ? this.errorMsg : this.errorMessage)) : (this.hint !== '' && hAsync("div", { class: "sd-field__hint" }, this.hint))))));
10224
10485
  }
10225
10486
  renderLabel(label) {
10226
10487
  if (label == null || label === '')
@@ -10316,38 +10577,65 @@ class SdFilePicker {
10316
10577
  this.reject = createEvent(this, "sdReject", 7);
10317
10578
  }
10318
10579
  get el() { return getElement(this); }
10580
+ /** 선택된 파일 값 */
10319
10581
  value = null;
10582
+ /** 파일 미선택 시 표시할 placeholder */
10320
10583
  placeholder = 'Click to upload';
10584
+ /** 비활성 상태 여부 */
10321
10585
  disabled = false;
10586
+ /** sd-field 없이 인라인으로 표시하는 모드 여부 */
10322
10587
  inline = false;
10588
+ /** 다중 파일 선택 여부 */
10323
10589
  multiple = false;
10590
+ /** 허용할 파일 타입 (input accept 속성과 동일) */
10324
10591
  accept;
10592
+ /** 파일 한 개의 최대 크기 (bytes) */
10325
10593
  maxFileSize;
10594
+ /** 전체 파일의 최대 용량 합계 (bytes) */
10326
10595
  maxTotalSize;
10596
+ /** 최대 파일 개수 */
10327
10597
  maxFiles;
10328
10598
  // sd-field 패스스루 props
10599
+ /** 폼 연동용 name 속성 */
10329
10600
  name = nanoid$1();
10601
+ /** 레이블 텍스트 */
10330
10602
  label = '';
10603
+ /** 레이블 너비 */
10331
10604
  labelWidth = '';
10605
+ /** 필드 우측 어드온 레이블 */
10332
10606
  addonLabel = '';
10607
+ /** 어드온 정렬 방향 */
10333
10608
  addonAlign = 'start';
10609
+ /** 필드 하단 힌트 텍스트 */
10334
10610
  hint = '';
10611
+ /** 에러 메시지 */
10335
10612
  errorMessage = '';
10613
+ /** 필드 너비 (숫자면 px, 문자열이면 그대로 적용) */
10336
10614
  width = '';
10615
+ /** 유효성 검사 규칙 목록 */
10337
10616
  rules;
10617
+ /** 에러 상태 여부 */
10338
10618
  error = false;
10619
+ /** 필드 상태 (없으면 rules 결과로 자동 결정) */
10339
10620
  status;
10621
+ /** 레이블 영역 아이콘 */
10340
10622
  icon = undefined;
10623
+ /** 레이블 툴팁 텍스트 */
10341
10624
  labelTooltip = '';
10625
+ /** 레이블 툴팁 상세 옵션 */
10342
10626
  labelTooltipProps = null;
10627
+ /** 포커스 상태 여부 */
10343
10628
  focused = false;
10629
+ /** 호버 상태 여부 */
10344
10630
  hovered = false;
10345
10631
  internalValue = null;
10346
10632
  showTooltip = false;
10347
10633
  fileInputRef;
10348
10634
  fileNamesRef;
10349
10635
  formField;
10636
+ /** 파일 선택 또는 삭제 시 현재 파일 값을 전달합니다. */
10350
10637
  update;
10638
+ /** 파일이 크기·개수 제한을 초과하여 거부됐을 때 발생합니다. */
10351
10639
  reject;
10352
10640
  valueChanged(newValue) {
10353
10641
  this.internalValue = newValue;
@@ -10358,9 +10646,11 @@ class SdFilePicker {
10358
10646
  componentDidUpdate() {
10359
10647
  this.checkOverflow();
10360
10648
  }
10649
+ /** 유효성 검사를 실행합니다. */
10361
10650
  async sdValidate() {
10362
10651
  return this.formField?.sdValidate() ?? Promise.resolve(true);
10363
10652
  }
10653
+ /** 파일 값과 유효성 상태를 초기화합니다. */
10364
10654
  async sdReset() {
10365
10655
  const clearedValue = this.multiple ? [] : null;
10366
10656
  this.value = clearedValue;
@@ -10370,6 +10660,7 @@ class SdFilePicker {
10370
10660
  }
10371
10661
  await this.formField?.sdResetValidation();
10372
10662
  }
10663
+ /** 유효성 상태만 초기화합니다. */
10373
10664
  async sdResetValidate() {
10374
10665
  await this.formField?.sdResetValidation();
10375
10666
  }
@@ -10582,12 +10873,19 @@ class SdFloatingPopover {
10582
10873
  this.close = createEvent(this, "sdClose", 7);
10583
10874
  }
10584
10875
  get el() { return getElement(this); }
10876
+ /** 포탈 콘텐츠를 마운트할 대상 (CSS 선택자 또는 HTMLElement) */
10585
10877
  to = 'body';
10878
+ /** 위치 기준이 되는 부모 엘리먼트 */
10586
10879
  parentRef = null;
10880
+ /** [x, y] 오프셋 (px) */
10587
10881
  offset = [0, 0];
10588
- zIndex = 998;
10882
+ /** z-index */
10883
+ zIndex = 996;
10884
+ /** 콘텐츠를 표시할 방향 */
10589
10885
  placement = 'bottom';
10886
+ /** 표시 여부 */
10590
10887
  open = false;
10888
+ /** 외부 클릭 등으로 닫힐 때 발생합니다. */
10591
10889
  close;
10592
10890
  container;
10593
10891
  wrapper;
@@ -10642,11 +10940,25 @@ class SdFloatingPopover {
10642
10940
  const el = typeof this.to === 'string' ? document.querySelector(this.to) : this.to;
10643
10941
  return el instanceof HTMLElement ? el : document.body;
10644
10942
  }
10943
+ /**
10944
+ * 트리거(parentRef)가 모달 내부에 있으면 해당 모달보다 위에, 아니면 페이지 기본값에 둔다.
10945
+ * 페이지 기본값(996)은 모달(997)보다 낮아, 모달 뒤의 페이지 포털이 모달 위로 떠오르지 않는다.
10946
+ */
10947
+ resolveZIndex() {
10948
+ const base = this.zIndex ?? 996;
10949
+ const layer = this.parentRef?.closest('.sd-modal-container__layer');
10950
+ if (!layer)
10951
+ return base;
10952
+ const container = layer.closest('.sd-modal-container');
10953
+ const z = container instanceof HTMLElement ? parseInt(getComputedStyle(container).zIndex, 10) : NaN;
10954
+ const modalZIndex = Number.isFinite(z) ? z : 997;
10955
+ return Math.max(base, modalZIndex + 1);
10956
+ }
10645
10957
  createWrapper() {
10646
10958
  this.wrapper = document.createElement('div');
10647
10959
  Object.assign(this.wrapper.style, {
10648
10960
  position: 'fixed',
10649
- zIndex: (this.zIndex ?? 998).toString(),
10961
+ zIndex: this.resolveZIndex().toString(),
10650
10962
  transition: 'opacity 0.4s',
10651
10963
  top: '-9999px',
10652
10964
  left: '-9999px',
@@ -10733,7 +11045,7 @@ class SdFloatingPopover {
10733
11045
  }
10734
11046
  }
10735
11047
  render() {
10736
- return hAsync("slot", { key: '77829bed54180a72d233738d1f82d9996ae29cae' });
11048
+ return hAsync("slot", { key: 'ee2a502ac1c924abb9be9fae19b4450659515c15' });
10737
11049
  }
10738
11050
  static get style() { return sdFloatingPortalCss(); }
10739
11051
  static get cmpMeta() { return {
@@ -10759,9 +11071,12 @@ class SdForm {
10759
11071
  this.sdSubmit = createEvent(this, "sdSubmit", 7);
10760
11072
  this.sdValidationError = createEvent(this, "sdValidationError", 7);
10761
11073
  }
11074
+ /** form 엘리먼트에 추가할 클래스 */
10762
11075
  formClass = '';
10763
11076
  fields = [];
11077
+ /** 유효성 검사 통과 후 submit 시 발생합니다. */
10764
11078
  sdSubmit;
11079
+ /** 유효성 검사 실패 시 실패한 필드 name 목록을 전달합니다. */
10765
11080
  sdValidationError;
10766
11081
  sortFieldsByDomOrder() {
10767
11082
  this.fields.sort((a, b) => {
@@ -10779,6 +11094,7 @@ class SdForm {
10779
11094
  return 0;
10780
11095
  });
10781
11096
  }
11097
+ /** 폼에 필드를 등록합니다. */
10782
11098
  async sdRegisterField(field) {
10783
11099
  if (field.name === '') {
10784
11100
  console.warn('[sd-form] field.name is required');
@@ -10789,6 +11105,7 @@ class SdForm {
10789
11105
  this.fields.push(field);
10790
11106
  this.sortFieldsByDomOrder();
10791
11107
  }
11108
+ /** 폼에서 필드를 제거합니다. */
10792
11109
  async sdUnregisterField(fieldOrName) {
10793
11110
  if (typeof fieldOrName === 'string') {
10794
11111
  const index = this.fields.findIndex(field => field.name === fieldOrName);
@@ -10809,13 +11126,16 @@ class SdForm {
10809
11126
  }
10810
11127
  return { valid: invalidFields.length === 0, invalidFields };
10811
11128
  }
11129
+ /** 모든 등록된 필드의 유효성 검사를 실행합니다. */
10812
11130
  async sdValidate() {
10813
11131
  const { valid } = await this.runValidation();
10814
11132
  return valid;
10815
11133
  }
11134
+ /** 모든 필드의 값과 유효성 상태를 초기화합니다. */
10816
11135
  async sdReset() {
10817
11136
  this.fields.forEach(f => f.sdReset());
10818
11137
  }
11138
+ /** 모든 필드의 유효성 상태만 초기화합니다. */
10819
11139
  async sdResetValidation() {
10820
11140
  this.fields.forEach(f => f.sdResetValidation());
10821
11141
  }
@@ -10829,7 +11149,7 @@ class SdForm {
10829
11149
  this.sdSubmit.emit();
10830
11150
  }
10831
11151
  render() {
10832
- return (hAsync("form", { key: 'd64dc85bce08da6a18f7dac5038a89f8bd7b5f01', onSubmit: e => this.onSubmit(e), class: this.formClass }, hAsync("slot", { key: 'a0c6d177cc4c656369714ff0ebc5269255d2c2b5' })));
11152
+ return (hAsync("form", { key: 'f533f9dcf3a13e66d37644baa5217b90a67350a2', onSubmit: e => this.onSubmit(e), class: this.formClass }, hAsync("slot", { key: '8a108703faeb2ed7d1e47a72b407b7a7fc88063d' })));
10833
11153
  }
10834
11154
  static get cmpMeta() { return {
10835
11155
  "$flags$": 772,
@@ -10967,14 +11287,21 @@ class SdGhostButton {
10967
11287
  registerInstance(this, hostRef);
10968
11288
  this.click = createEvent(this, "sdClick", 7);
10969
11289
  }
11290
+ /** 버튼에 표시할 아이콘명 */
10970
11291
  icon;
11292
+ /** 버튼 크기 */
10971
11293
  size = 'sm';
11294
+ /** 버튼 색상 의도 */
10972
11295
  intent = 'default';
11296
+ /** 스크린리더용 접근성 레이블 */
10973
11297
  ariaLabel = '';
11298
+ /** 호버 시 표시할 툴팁 텍스트 */
10974
11299
  tooltipText;
11300
+ /** 비활성 상태 여부 */
10975
11301
  disabled = false;
10976
11302
  get hostEl() { return getElement(this); }
10977
11303
  isTooltipOpen = false;
11304
+ /** 버튼 클릭 시 발생합니다. */
10978
11305
  click;
10979
11306
  hasWarnedMissingAriaLabel = false;
10980
11307
  componentWillLoad() {
@@ -10989,10 +11316,18 @@ class SdGhostButton {
10989
11316
  }
10990
11317
  this.click.emit(event);
10991
11318
  };
10992
- handleMouseEnter = () => { this.isTooltipOpen = true; };
10993
- handleMouseLeave = () => { this.isTooltipOpen = false; };
10994
- handleFocus = () => { this.isTooltipOpen = true; };
10995
- handleBlur = () => { this.isTooltipOpen = false; };
11319
+ handleMouseEnter = () => {
11320
+ this.isTooltipOpen = true;
11321
+ };
11322
+ handleMouseLeave = () => {
11323
+ this.isTooltipOpen = false;
11324
+ };
11325
+ handleFocus = () => {
11326
+ this.isTooltipOpen = true;
11327
+ };
11328
+ handleBlur = () => {
11329
+ this.isTooltipOpen = false;
11330
+ };
10996
11331
  componentWillRender() {
10997
11332
  this.warnIfMissingAriaLabel();
10998
11333
  }
@@ -11017,7 +11352,7 @@ class SdGhostButton {
11017
11352
  const accessibleName = (this.ariaLabel ?? '').trim() || undefined;
11018
11353
  const tooltipText = (this.tooltipText ?? '').trim();
11019
11354
  const hasTooltip = tooltipText.length > 0;
11020
- return (hAsync("button", { key: '59b95275f6acd737d4b0d5c2187e1d40b3a6543f', class: {
11355
+ return (hAsync("button", { key: 'a49c5b93f4dfcd434c20225acae4c7454e8f8e4f', class: {
11021
11356
  'sd-ghost-button': true,
11022
11357
  'sd-ghost-button--disabled': this.disabled,
11023
11358
  }, type: "button", disabled: this.disabled, "aria-label": accessibleName, style: {
@@ -11026,7 +11361,7 @@ class SdGhostButton {
11026
11361
  '--sd-ghost-button-hover-bg': GHOST_BUTTON_HOVER_BG_COLORS[intent],
11027
11362
  '--sd-ghost-button-hover-opacity': GHOST_BUTTON_HOVER_OPACITY,
11028
11363
  '--sd-ghost-button-accent': GHOST_BUTTON_FOCUS_RING_COLOR,
11029
- }, onClick: this.handleClick, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, onFocus: this.handleFocus, onBlur: this.handleBlur }, hasTooltip && this.isTooltipOpen && !this.disabled && (hAsync("sd-portal", { key: 'd8ca94b6a931208c2c56eb2dbfee843935c6b666', parentRef: this.hostEl, open: true, offset: [sizeConfig.size / 2, 4], placement: "top" }, hAsync("div", { key: '450d5dc528ad4eeb4a2a0d2920fe4553ab3f91f8', class: "sd-ghost-button__tooltip-inner", "aria-hidden": "true" }, hAsync("sd-tag", { key: 'cc25d0e2794d3d4dc418b0c0aa1a57e4b76b56e1', name: "square_xs_grey", label: tooltipText })))), hAsync("sd-icon", { key: 'bf9bf8bcc779011635fd34566ec7320d76f8d16b', name: this.icon, size: sizeConfig.icon, color: contentColor })));
11364
+ }, onClick: this.handleClick, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, onFocus: this.handleFocus, onBlur: this.handleBlur }, hasTooltip && this.isTooltipOpen && !this.disabled && (hAsync("sd-portal", { key: '36ef78d79a99da1fd26c282ef68293b9fb9f87b1', parentRef: this.hostEl, open: true, offset: [sizeConfig.size / 2, 4], placement: "top" }, hAsync("div", { key: 'a0cf8b4e84a79841ab09e6a81ee6bcbfe57e6805', class: "sd-ghost-button__tooltip-inner", "aria-hidden": "true" }, hAsync("sd-tag", { key: 'a263167142b891add0a32900504f541dcb3a4959', name: "square_xs_grey", label: tooltipText })))), hAsync("sd-icon", { key: 'ba90e9b489b4f43577313052635db598e3d30037', name: this.icon, size: sizeConfig.icon, color: contentColor })));
11030
11365
  }
11031
11366
  static get style() { return sdGhostButtonCss(); }
11032
11367
  static get cmpMeta() { return {
@@ -11165,11 +11500,17 @@ class SdGuide {
11165
11500
  registerInstance(this, hostRef);
11166
11501
  }
11167
11502
  get el() { return getElement(this); }
11503
+ /** 가이드 타입 (tip: 팝업, notion: 외부 링크) */
11168
11504
  type = 'tip';
11505
+ /** 버튼에 표시할 레이블 (없으면 type에 따른 기본값 사용) */
11169
11506
  label = '';
11507
+ /** 팝업에 표시할 메시지 (배열이면 리스트로 렌더링) */
11170
11508
  message = '';
11509
+ /** notion 타입일 때 클릭 시 이동할 URL */
11171
11510
  url = '';
11511
+ /** 팝업 제목 (없으면 type에 따른 기본값 사용) */
11172
11512
  popupTitle = '';
11513
+ /** 팝업 너비 (px, 없으면 426px) */
11173
11514
  popupWidth;
11174
11515
  popupShow = false;
11175
11516
  guideRef;
@@ -11231,10 +11572,10 @@ class SdGuide {
11231
11572
  const buttonClasses = ['sd-guide__button', `sd-guide__button--type-${this.type ?? 'tip'}`];
11232
11573
  if (isActive)
11233
11574
  buttonClasses.push('sd-guide__button--active');
11234
- return (hAsync("div", { key: 'ea4f220faf6165f7650360f74a19d9f781b81489', class: "sd-guide", style: this.guideStyle }, hAsync("sd-button", { key: 'c90eaa6cc42a9a2f20b8fc79db16697db0cf2ff2', ref: el => (this.guideRef = el), class: buttonClasses.join(' '), name: isActive ? 'primary_sm' : 'neutral_outline_sm', label: this.label || defaultLabel, icon: iconName, onSdClick: this.handleClickGuide }), this.popupShow && (hAsync("sd-portal", { key: '21f57a739141ffa36f3b799a2688ca5b3c1bd428', open: this.popupShow, parentRef: this.guideRef, onSdClose: this.closeDropdown, offset: [0, 4] }, hAsync("div", { key: '94e12fa797748a02334b97e13c5012ab95bc2bce', class: "sd-guide__popup", style: {
11575
+ return (hAsync("div", { key: 'd89a517d78a8f9624c94d320291e5a4b5bd0715d', class: "sd-guide", style: this.guideStyle }, hAsync("sd-button", { key: '6e959f0f5fd6f816fd1cef4545852b860d30de85', ref: el => (this.guideRef = el), class: buttonClasses.join(' '), name: isActive ? 'primary_sm' : 'neutral_outline_sm', label: this.label || defaultLabel, icon: iconName, onSdClick: this.handleClickGuide }), this.popupShow && (hAsync("sd-portal", { key: 'a837cababa5504400293729ad28e4dcd2450eeec', open: this.popupShow, parentRef: this.guideRef, onSdClose: this.closeDropdown, offset: [0, 4] }, hAsync("div", { key: '61dd3c574495f85021495d80865e162999368f9c', class: "sd-guide__popup", style: {
11235
11576
  ...this.guideStyle,
11236
11577
  width: this.popupWidth != null ? this.popupWidth + 'px' : '426px',
11237
- } }, hAsync("sd-ghost-button", { key: '6fc71032016e7a3be0581508ef0ecc6772981185', class: "sd-guide__popup__close", icon: "close", ariaLabel: "close", size: "sm", onSdClick: this.closeDropdown }), hAsync("div", { key: '385c0c18bc888be6a654525dc6f4359a56ad6de9', class: "sd-guide__popup__header" }, hAsync("sd-icon", { key: '34624d2ac3397ba15b2dc7ba23dc460a87cb878b', name: iconName, size: 24, color: popupIconColor }), hAsync("h3", { key: 'dd3527ec329698b0fd1ec82f2a7d0cf5865802c2', class: "sd-guide__popup__title" }, this.popupTitle || defaultLabel)), hAsync("ul", { key: '429357d0203acdf31177353ceb45d9ac41fadae7', class: "sd-guide__popup__list" }, this.renderListItem(this.message)))))));
11578
+ } }, hAsync("sd-ghost-button", { key: 'dbf8aebd1be4b5286bf726d22e0a5f80c29e867f', class: "sd-guide__popup__close", icon: "close", ariaLabel: "close", size: "sm", onSdClick: this.closeDropdown }), hAsync("div", { key: '5a08fa823bb8839e654d7bb2ba027df2dc68b85b', class: "sd-guide__popup__header" }, hAsync("sd-icon", { key: '1dda43d100b4f5f3b7fa81115a1ac4bfbd584a51', name: iconName, size: 24, color: popupIconColor }), hAsync("h3", { key: 'cfe6342f44f4e1355397ed94d6db74807f917548', class: "sd-guide__popup__title" }, this.popupTitle || defaultLabel)), hAsync("ul", { key: '9acc2f507ed3d3d6f1fda27a9e5cf66dcc2f619d', class: "sd-guide__popup__list" }, this.renderListItem(this.message)))))));
11238
11579
  }
11239
11580
  // 현재 2depth까지만 스타일 적용
11240
11581
  renderListItem(message, depth = 0) {
@@ -11553,6 +11894,7 @@ class SdIcon {
11553
11894
  rotate;
11554
11895
  /** 접근성을 위한 라벨 */
11555
11896
  label;
11897
+ /** 아이콘 i 엘리먼트에 적용할 인라인 스타일 */
11556
11898
  iconStyle = {};
11557
11899
  getIconClasses() {
11558
11900
  const classes = ['sd-icon'];
@@ -11626,46 +11968,81 @@ class SdInput {
11626
11968
  this.blur = createEvent(this, "sdBlur", 7);
11627
11969
  }
11628
11970
  get host() { return getElement(this); }
11971
+ /** 입력 값 */
11629
11972
  value = null;
11973
+ /** 입력 타입 */
11630
11974
  type = 'text';
11975
+ /** 입력 크기 */
11631
11976
  size = 'sm';
11977
+ /** 필드 우측 어드온 레이블 */
11632
11978
  addonLabel = '';
11979
+ /** 어드온 정렬 방향 */
11633
11980
  addonAlign = 'start';
11981
+ /** 플레이스홀더 텍스트 */
11634
11982
  placeholder = '입력해 주세요.';
11983
+ /** 비활성 상태 여부 */
11635
11984
  disabled = false;
11985
+ /** 값이 있을 때 지우기 버튼 표시 여부 */
11636
11986
  clearable = false;
11987
+ /** 필드 너비 (숫자면 px, 문자열이면 그대로 적용) */
11637
11988
  width = '';
11989
+ /** 유효성 검사 규칙 목록 */
11638
11990
  rules = [];
11991
+ /** 마운트 시 자동 포커스 여부 */
11639
11992
  autoFocus = false;
11993
+ /** autocomplete 속성 값 */
11640
11994
  autocomplete = '';
11995
+ /** 최대 입력 글자 수 */
11641
11996
  maxlength;
11997
+ /** 최소 입력 글자 수 */
11642
11998
  minlength;
11999
+ /** 모바일 키보드 타입 */
11643
12000
  inputmode;
12001
+ /** 모바일 Enter 키 힌트 */
11644
12002
  enterkeyhint;
12003
+ /** 맞춤법 검사 여부 */
11645
12004
  spellcheck = false;
12005
+ /** 필드 상태 (없으면 rules 결과로 자동 결정) */
11646
12006
  status;
12007
+ /** 필드 하단 힌트 텍스트 */
11647
12008
  hint = '';
12009
+ /** 에러 메시지 */
11648
12010
  errorMessage = '';
12011
+ /** 네이티브 input에 추가할 클래스 */
11649
12012
  inputClass = '';
12013
+ /** 읽기 전용 여부 */
11650
12014
  readonly = false;
12015
+ /** 에러 상태 여부 */
11651
12016
  error = false;
12017
+ /** 포커스 상태 여부 */
11652
12018
  focused = false;
12019
+ /** 호버 상태 여부 */
11653
12020
  hovered = false;
11654
12021
  // props - label
12022
+ /** 레이블 텍스트 */
11655
12023
  label = '';
12024
+ /** 레이블 너비 */
11656
12025
  labelWidth = '';
12026
+ /** 레이블 영역 아이콘 */
11657
12027
  icon = undefined;
12028
+ /** 레이블 툴팁 텍스트 */
11658
12029
  labelTooltip = '';
12030
+ /** 레이블 툴팁 상세 옵션 */
11659
12031
  labelTooltipProps = null;
11660
12032
  // props - custom styles
12033
+ /** 네이티브 input에 적용할 인라인 스타일 */
11661
12034
  inputStyle = {};
11662
12035
  internalValue = null;
11663
12036
  passwordVisible = false;
11664
12037
  nativeEl = undefined;
11665
12038
  formField;
12039
+ /** 폼 연동용 name 속성 */
11666
12040
  name = nanoid$1();
12041
+ /** 값이 변경될 때 발생합니다. */
11667
12042
  input;
12043
+ /** 포커스될 때 발생합니다. */
11668
12044
  focus;
12045
+ /** 포커스를 잃을 때 발생합니다. */
11669
12046
  blur;
11670
12047
  valueChanged(newValue) {
11671
12048
  this.internalValue = newValue;
@@ -11676,18 +12053,23 @@ class SdInput {
11676
12053
  this.input?.emit(this.value);
11677
12054
  }
11678
12055
  }
12056
+ /** 네이티브 input 엘리먼트를 반환합니다. */
11679
12057
  async sdGetNativeElement() {
11680
12058
  return this.nativeEl || null;
11681
12059
  }
12060
+ /** 유효성 검사를 실행합니다. */
11682
12061
  async sdValidate() {
11683
12062
  this.formField?.sdValidate();
11684
12063
  }
12064
+ /** 값과 유효성 상태를 초기화합니다. */
11685
12065
  async sdReset() {
11686
12066
  this.formField?.sdReset();
11687
12067
  }
12068
+ /** 유효성 상태만 초기화합니다. */
11688
12069
  async sdResetValidate() {
11689
12070
  this.formField?.sdResetValidation();
11690
12071
  }
12072
+ /** 입력 필드에 포커스를 이동합니다. */
11691
12073
  async sdFocus() {
11692
12074
  this.formField?.sdFocus();
11693
12075
  }
@@ -11735,12 +12117,12 @@ class SdInput {
11735
12117
  '--sd-system-size-field-sm-height': `${sizeTokens.height}px`,
11736
12118
  '--sd-system-radius-field-sm': `${sizeTokens.radius}px`,
11737
12119
  };
11738
- return (hAsync("sd-field", { key: 'bc95e469a741a7130b07b5e2ecbc3ce9a7d1799d', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, readonly: this.readonly, focused: this.focused, hovered: this.hovered, status: this.status, size: this.size, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, hAsync("label", { key: '63661c1e1202e729bbcaedcf83d8b034a7bf2e0b', class: "sd-input__content" }, hAsync("slot", { key: '6c17e53e77c0e6751deb664b67b7daa471bd08cc', name: "prefix" }), hAsync("input", { key: '1572e700b110b8d98b62ef30e72a17974288473c', name: this.name, ref: el => (this.nativeEl = el), class: `sd-input__native ${this.inputClass}`, type: this.type === 'password' && this.passwordVisible ? 'text' : (this.type ?? 'text'), value: this.internalValue || '', placeholder: this.placeholder ?? '입력해 주세요.', disabled: this.disabled, readonly: this.readonly, autofocus: this.autoFocus, autocomplete: this.autocomplete || undefined, maxlength: this.maxlength, minlength: this.minlength, inputmode: this.inputmode, enterkeyhint: this.enterkeyhint, spellcheck: this.spellcheck, onInput: this.handleInput, onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event), style: this.inputStyle }), hAsync("slot", { key: '728316a43a96d7859849ef522c06a405f7d668b5', name: "suffix" }), this.clearable && this.internalValue && !this.disabled && !this.readonly && (hAsync("sd-ghost-button", { key: 'ec89154a98d603db8eccc5db786d3330b33713ab', icon: "close", ariaLabel: "clear", size: "xxs", disabled: this.disabled, class: "sd-input__clear-icon", onClick: async () => {
12120
+ return (hAsync("sd-field", { key: '7444ee5ebb482fe9c4f837114456cab90de6b3aa', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, readonly: this.readonly, focused: this.focused, hovered: this.hovered, status: this.status, size: this.size, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, hAsync("label", { key: '0dbb6bc35522fb2d0c6d6d147756954ed96d2467', class: "sd-input__content" }, hAsync("slot", { key: 'd5e8488bc3e29bd671bb337051d7b768c3c37c4b', name: "prefix" }), hAsync("input", { key: '9dff73dbc5af19b0e2f19e95a26ad32211761484', name: this.name, ref: el => (this.nativeEl = el), class: `sd-input__native ${this.inputClass}`, type: this.type === 'password' && this.passwordVisible ? 'text' : (this.type ?? 'text'), value: this.internalValue || '', placeholder: this.placeholder ?? '입력해 주세요.', disabled: this.disabled, readonly: this.readonly, autofocus: this.autoFocus, autocomplete: this.autocomplete || undefined, maxlength: this.maxlength, minlength: this.minlength, inputmode: this.inputmode, enterkeyhint: this.enterkeyhint, spellcheck: this.spellcheck, onInput: this.handleInput, onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event), style: this.inputStyle }), hAsync("slot", { key: 'f1020b3ab68d5db6f83a2d6ba84722faa76c354e', name: "suffix" }), this.clearable && this.internalValue && !this.disabled && !this.readonly && (hAsync("sd-ghost-button", { key: '547a309bb4434e558cf8b33fe8bcd51533d36cd5', icon: "close", ariaLabel: "clear", size: "xxs", disabled: this.disabled, class: "sd-input__clear-icon", onClick: async () => {
11739
12121
  if (this.disabled || this.readonly)
11740
12122
  return;
11741
12123
  this.internalValue = '';
11742
12124
  await this.formField?.sdValidate();
11743
- } })), this.type === 'password' && (hAsync("sd-ghost-button", { key: '8dd3e79ffa2bf731850e94b9a0752aeebf13aff6', icon: this.passwordVisible ? 'visibilityOn' : 'visibilityOff', ariaLabel: "visibility", size: "xxs", disabled: this.disabled || this.readonly, class: "sd-input__password-icon", onClick: () => {
12125
+ } })), this.type === 'password' && (hAsync("sd-ghost-button", { key: '39c77e164b08d4a0169f76c1b8dc519e0f39d993', icon: this.passwordVisible ? 'visibilityOn' : 'visibilityOff', ariaLabel: "visibility", size: "xxs", disabled: this.disabled || this.readonly, class: "sd-input__password-icon", onClick: () => {
11744
12126
  if (this.disabled || this.readonly)
11745
12127
  return;
11746
12128
  this.passwordVisible = !this.passwordVisible;
@@ -11933,7 +12315,9 @@ class SdKeyValueTable {
11933
12315
  * - 'full': 상하단 모두 radius 0 (요소 사이에 끼워 쓸 때)
11934
12316
  */
11935
12317
  radius = 'default';
12318
+ /** 필드 값이 변경될 때 `{ name, value }` 형태로 발생합니다. */
11936
12319
  change;
12320
+ /** search 패널의 검색 버튼 클릭 시 발생합니다. */
11937
12321
  searchEvent;
11938
12322
  emit = (name, value) => {
11939
12323
  this.change.emit({ name, value });
@@ -12169,9 +12553,13 @@ class SdLinearProgress {
12169
12553
  constructor(hostRef) {
12170
12554
  registerInstance(this, hostRef);
12171
12555
  }
12556
+ /** true이면 진행률 없이 무한 애니메이션 표시 */
12172
12557
  indeterminate = false;
12558
+ /** 진행률 (0–100) */
12173
12559
  value = 0;
12560
+ /** 색상 타입 */
12174
12561
  type = 'primary';
12562
+ /** 하단에 표시할 레이블 텍스트 */
12175
12563
  label;
12176
12564
  get clampedValue() {
12177
12565
  if (!Number.isFinite(this.value))
@@ -12179,8 +12567,7 @@ class SdLinearProgress {
12179
12567
  return Math.max(0, Math.min(100, this.value));
12180
12568
  }
12181
12569
  render() {
12182
- const fillColor = LINEAR_PROGRESS_FILL_COLOR_MAP[this.type] ??
12183
- LINEAR_PROGRESS_FILL_COLOR_MAP.primary;
12570
+ const fillColor = LINEAR_PROGRESS_FILL_COLOR_MAP[this.type] ?? LINEAR_PROGRESS_FILL_COLOR_MAP.primary;
12184
12571
  const valueColor = this.clampedValue === 0 ? LINEAR_PROGRESS_COLORS.valueZero : fillColor;
12185
12572
  const hostStyle = {
12186
12573
  '--sd-linear-progress-track-color': LINEAR_PROGRESS_COLORS.track,
@@ -12196,7 +12583,7 @@ class SdLinearProgress {
12196
12583
  clipPath: `inset(0 ${100 - this.clampedValue}% 0 0)`,
12197
12584
  };
12198
12585
  const valueText = `${Math.round(this.clampedValue)}%`;
12199
- return (hAsync(Host, { key: '1e6aa9c81d3e9516a2f986d3f209df005de38f48', style: hostStyle }, hAsync("div", { key: '06115d6245603c7ae54d892a23074f34db203592', class: 'sd-linear-progress__track' }, hAsync("div", { key: '353549cb3c885cef86f114830599f375bfad8e50', class: 'sd-linear-progress__fill', style: fillStyle }), !this.indeterminate && (hAsync("span", { key: '61afec063cd8f6ccaca27217fe7b599926245192', class: 'sd-linear-progress__value sd-linear-progress__value--on-track' }, valueText)), !this.indeterminate && (hAsync("span", { key: 'fec238b0a6c73e06db3e53c019319a21b62e2836', class: 'sd-linear-progress__value sd-linear-progress__value--on-fill', style: valueOnFillStyle }, valueText))), this.label && hAsync("span", { key: '668f63765b78c1047e3b850f3a17d6b2a1b9bfd4', class: 'sd-linear-progress__label' }, this.label)));
12586
+ return (hAsync(Host, { key: '232520f9e720d13e28bbac8f61864e943f03c12e', style: hostStyle }, hAsync("div", { key: '6c5659e65da3f6d01c1029d9441f8619c304935c', class: "sd-linear-progress__track" }, hAsync("div", { key: '81f1c5ca5e4422e33f5505eda07fd4a04b24465c', class: "sd-linear-progress__fill", style: fillStyle }), !this.indeterminate && (hAsync("span", { key: 'd3542eddf302448742a3564c6f48d4d3f71d3733', class: "sd-linear-progress__value sd-linear-progress__value--on-track" }, valueText)), !this.indeterminate && (hAsync("span", { key: 'f9c650167b1d9653a6745399226e480f15c19f65', class: "sd-linear-progress__value sd-linear-progress__value--on-fill", style: valueOnFillStyle }, valueText))), this.label && hAsync("span", { key: 'fa8759f871902a4c3ebf0d982fe9b63d956a2f24', class: "sd-linear-progress__label" }, this.label)));
12200
12587
  }
12201
12588
  static get style() { return sdLinearProgressCss(); }
12202
12589
  static get cmpMeta() { return {
@@ -12222,18 +12609,20 @@ class SdLoadingContainer {
12222
12609
  }
12223
12610
  visible = false;
12224
12611
  message = '';
12612
+ /** 로딩 오버레이를 표시합니다. */
12225
12613
  async show(options = {}) {
12226
12614
  this.message = options.message ?? '';
12227
12615
  this.visible = true;
12228
12616
  }
12617
+ /** 로딩 오버레이를 숨깁니다. */
12229
12618
  async hide() {
12230
12619
  this.visible = false;
12231
12620
  }
12232
12621
  render() {
12233
- return (hAsync("div", { key: '6525405e4edafd9257be9887cca824a436b2807c', class: {
12622
+ return (hAsync("div", { key: 'b8efbc6422fded2472a6e575c9a7102375f90600', class: {
12234
12623
  'sd-loading-container': true,
12235
12624
  'sd-loading-container--visible': this.visible,
12236
- }, "aria-hidden": this.visible ? 'false' : 'true' }, hAsync("div", { key: 'd5f1e1e3df8b704d4a5dabe8cf7b50cc07a2699a', class: "sd-loading-container__backdrop" }), hAsync("div", { key: '40dce62049e04a997b982ab65b47a755b6e917c7', class: "sd-loading-container__content" }, hAsync("sd-circle-progress", { key: '9cb7a1ed52433f2d0982ceef1a298b1367a99dd4', indeterminate: true, type: "inverse" }), this.message && (hAsync("p", { key: 'bc581b692122ef5553e4e8eb99056b89257eb6d9', class: "sd-loading-container__message" }, this.message)))));
12625
+ }, "aria-hidden": this.visible ? 'false' : 'true' }, hAsync("div", { key: '1ff327157be008e278636d49069945e553c1ecbd', class: "sd-loading-container__backdrop" }), hAsync("div", { key: 'd55d2ab11528e35c04e8dd98f8c10d0f913a536e', class: "sd-loading-container__content" }, hAsync("sd-circle-progress", { key: '29060ee18eb4e5a47bae25462abe11b8d5abfb0c', indeterminate: true, type: "inverse" }), this.message && hAsync("p", { key: 'cf0478da282996ba4f7ecb920d8262181369af8a', class: "sd-loading-container__message" }, this.message))));
12237
12626
  }
12238
12627
  static get style() { return sdLoadingContainerCss(); }
12239
12628
  static get cmpMeta() { return {
@@ -12285,13 +12674,21 @@ class SdLoadingModal {
12285
12674
  registerInstance(this, hostRef);
12286
12675
  this.click = createEvent(this, "sdClick", 7);
12287
12676
  }
12677
+ /** 모달 상태 (loading: 로딩 중, error: 에러) */
12288
12678
  state = 'loading';
12679
+ /** 표시할 메시지 (배열이면 여러 줄로 렌더링) */
12289
12680
  message = '';
12681
+ /** 하단 버튼 표시 여부 */
12290
12682
  useButton = false;
12683
+ /** 버튼 레이블 (없으면 state에 따른 기본값 사용) */
12291
12684
  buttonLabel = '';
12685
+ /** 모달 너비 */
12292
12686
  width;
12687
+ /** 모달 높이 */
12293
12688
  height;
12689
+ /** sd-circle-progress에 전달할 진행률 (0–100) */
12294
12690
  progress;
12691
+ /** 버튼 클릭 시 발생합니다. */
12295
12692
  click;
12296
12693
  get resolvedState() {
12297
12694
  return this.state ?? 'loading';
@@ -12330,7 +12727,7 @@ class SdLoadingModal {
12330
12727
  '--sd-loading-modal-width': this.toCssSize(this.width) ?? `${LOADING_MODAL_LAYOUT.minWidth}px`,
12331
12728
  '--sd-loading-modal-height': this.toCssSize(this.height) ?? `${LOADING_MODAL_LAYOUT.minHeight}px`,
12332
12729
  };
12333
- return (hAsync(Host, { key: '12e8bb40871556dddad6bf3e9daa1703f3a29fc3', style: hostStyle }, hAsync("div", { key: 'b1f0282746a8a4ceabd120a1c366b836edb805c1', class: "sd-loading-modal" }, hAsync("div", { key: '496c034608b3d31557f154f77aa7cb7c2cb9558a', class: "sd-loading-modal__content" }, this.resolvedState === 'loading' ? (this.progress !== undefined ? (hAsync("sd-circle-progress", { value: this.progress })) : (hAsync("sd-circle-progress", { indeterminate: true }))) : (hAsync("sd-icon", { class: "sd-loading-modal__icon", name: "warningOutline", size: LOADING_MODAL_LAYOUT.contentSize, color: LOADING_MODAL_COLORS.errorIcon }))), hAsync("div", { key: 'e0a57ee49f6fe46680a8e2393a00014edd76d36f', class: "sd-loading-modal__message-wrapper" }, Array.isArray(this.resolvedMessage) ? (this.resolvedMessage.map(message => (hAsync("p", { class: "sd-loading-modal__message" }, message)))) : (hAsync("p", { class: "sd-loading-modal__message" }, this.resolvedMessage))), this.useButton && (hAsync("div", { key: 'bd0c91c279a7cd4d58a18f7bfd6e8c345ae00fcf', class: "sd-loading-modal__button" }, hAsync("sd-button", { key: '0d03006a668333de256b2142efc9d0c374bfef45', name: LOADING_MODAL_BUTTON_PRESET, label: this.resolvedButtonLabel, onSdClick: this.handleClick }))))));
12730
+ return (hAsync(Host, { key: '0f3719ca22408ff2739f3997e693fe0e17cb32ab', style: hostStyle }, hAsync("div", { key: '25501b81a4514315bd3b408bf958f549b099c5a5', class: "sd-loading-modal" }, hAsync("div", { key: 'f5e6cf6334454a8455f95544a934fc245bddbbe6', class: "sd-loading-modal__content" }, this.resolvedState === 'loading' ? (this.progress !== undefined ? (hAsync("sd-circle-progress", { value: this.progress })) : (hAsync("sd-circle-progress", { indeterminate: true }))) : (hAsync("sd-icon", { class: "sd-loading-modal__icon", name: "warningOutline", size: LOADING_MODAL_LAYOUT.contentSize, color: LOADING_MODAL_COLORS.errorIcon }))), hAsync("div", { key: '7629809572661e28f9564db1d06e882cb64580e8', class: "sd-loading-modal__message-wrapper" }, Array.isArray(this.resolvedMessage) ? (this.resolvedMessage.map(message => (hAsync("p", { class: "sd-loading-modal__message" }, message)))) : (hAsync("p", { class: "sd-loading-modal__message" }, this.resolvedMessage))), this.useButton && (hAsync("div", { key: '36e1b978e1cc4ef56b8072d1d6dab83807eca951', class: "sd-loading-modal__button" }, hAsync("sd-button", { key: '218cb045df7b0dafc49024fc905bd88c7b12fcff', name: LOADING_MODAL_BUTTON_PRESET, label: this.resolvedButtonLabel, onSdClick: this.handleClick }))))));
12334
12731
  }
12335
12732
  static get style() { return sdLoadingModalCss(); }
12336
12733
  static get cmpMeta() { return {
@@ -12459,9 +12856,11 @@ class SdModalContainer {
12459
12856
  registerInstance(this, hostRef);
12460
12857
  }
12461
12858
  get el() { return getElement(this); }
12859
+ /** 마지막 모달이 닫힐 때 자신을 DOM에서 제거할지 여부 */
12462
12860
  autoRemove = false;
12463
12861
  entries = [];
12464
12862
  layerRefs = new Map();
12863
+ /** 확인 모달을 열고 모달 ID를 반환합니다. */
12465
12864
  async open(options, modalRef) {
12466
12865
  const id = `modal-${++modalIdCounter}`;
12467
12866
  const modalEl = this.createConfirmModal(id, options);
@@ -12476,6 +12875,7 @@ class SdModalContainer {
12476
12875
  });
12477
12876
  return id;
12478
12877
  }
12878
+ /** 로딩 모달을 열고 모달 ID를 반환합니다. */
12479
12879
  async openLoading(options, modalRef) {
12480
12880
  const id = `modal-${++modalIdCounter}`;
12481
12881
  const modalEl = this.createLoadingModal(id, options);
@@ -12490,6 +12890,7 @@ class SdModalContainer {
12490
12890
  });
12491
12891
  return id;
12492
12892
  }
12893
+ /** 커스텀 엘리먼트를 모달로 등록하고 모달 ID를 반환합니다. */
12493
12894
  async createCustom(element, options, modalRef) {
12494
12895
  const id = `modal-${++modalIdCounter}`;
12495
12896
  element.setAttribute('data-modal-id', id);
@@ -12535,12 +12936,14 @@ class SdModalContainer {
12535
12936
  unregisterModal(entry.id);
12536
12937
  }
12537
12938
  }
12939
+ /** 지정한 ID의 모달을 닫습니다. */
12538
12940
  async dismissById(id, reason) {
12539
12941
  const entry = this.entries.find(e => e.id === id);
12540
12942
  if (!entry)
12541
12943
  return;
12542
12944
  this.requestDismiss(id, reason);
12543
12945
  }
12946
+ /** 열려있는 모달의 props를 동적으로 업데이트합니다. */
12544
12947
  async update(id, props) {
12545
12948
  const entry = this.entries.find(e => e.id === id && !e.closing);
12546
12949
  if (!entry)
@@ -12896,43 +13299,77 @@ class SdNumberInput {
12896
13299
  this.blur = createEvent(this, "sdBlur", 7);
12897
13300
  }
12898
13301
  get el() { return getElement(this); }
13302
+ /** 입력 크기 */
12899
13303
  size = 'sm';
13304
+ /** 최솟값 */
12900
13305
  min = Number.NEGATIVE_INFINITY;
13306
+ /** 최댓값 */
12901
13307
  max = Number.POSITIVE_INFINITY;
13308
+ /** 스텝 단위 */
12902
13309
  step = 1;
13310
+ /** 증감 버튼 표시 여부 */
12903
13311
  useButton = false;
13312
+ /** 소수점 입력 허용 여부 */
12904
13313
  useDecimal = false;
13314
+ /** 입력 값 */
12905
13315
  value = null;
13316
+ /** 레이블 텍스트 */
12906
13317
  label;
13318
+ /** 레이블 너비 */
12907
13319
  labelWidth = '';
13320
+ /** 레이블 영역 아이콘 */
12908
13321
  icon = undefined;
13322
+ /** 레이블 툴팁 텍스트 */
12909
13323
  labelTooltip = '';
13324
+ /** 레이블 툴팁 상세 옵션 */
12910
13325
  labelTooltipProps = null;
13326
+ /** 필드 우측 어드온 레이블 */
12911
13327
  addonLabel = '';
13328
+ /** 어드온 정렬 방향 */
12912
13329
  addonAlign = 'start';
13330
+ /** 플레이스홀더 텍스트 */
12913
13331
  placeholder = '입력해 주세요.';
13332
+ /** 비활성 상태 여부 */
12914
13333
  disabled = false;
13334
+ /** 필드 너비 (숫자면 px, 문자열이면 그대로 적용) */
12915
13335
  width;
13336
+ /** 유효성 검사 규칙 목록 */
12916
13337
  rules = [];
13338
+ /** 마운트 시 자동 포커스 여부 */
12917
13339
  autoFocus = false;
13340
+ /** 필드 상태 (없으면 rules 결과로 자동 결정) */
12918
13341
  status;
13342
+ /** 필드 하단 힌트 텍스트 */
12919
13343
  hint = '';
13344
+ /** 에러 메시지 */
12920
13345
  errorMessage = '';
13346
+ /** 입력 앞에 표시할 접두 텍스트 */
12921
13347
  inputPrefix = '';
13348
+ /** 입력 뒤에 표시할 접미 텍스트 */
12922
13349
  inputSuffix = '';
13350
+ /** 네이티브 input에 추가할 클래스 */
12923
13351
  inputClass = '';
13352
+ /** 읽기 전용 여부 */
12924
13353
  readonly = false;
13354
+ /** 네이티브 input에 적용할 인라인 스타일 */
12925
13355
  inputStyle = {};
13356
+ /** 에러 상태 여부 */
12926
13357
  error = false;
13358
+ /** 포커스 상태 여부 */
12927
13359
  focused = false;
13360
+ /** 호버 상태 여부 */
12928
13361
  hovered = false;
12929
13362
  internalValue = null;
12930
13363
  displayValue = '';
12931
13364
  nativeEl = undefined;
12932
13365
  formField;
13366
+ /** 폼 연동용 name 속성 */
12933
13367
  name = nanoid$1();
13368
+ /** 값이 변경될 때 발생합니다. */
12934
13369
  update;
13370
+ /** 포커스될 때 발생합니다. */
12935
13371
  focus;
13372
+ /** 포커스를 잃을 때 발생합니다. */
12936
13373
  blur;
12937
13374
  toNumber(val) {
12938
13375
  if (val === null || val === undefined || val === '')
@@ -13010,18 +13447,23 @@ class SdNumberInput {
13010
13447
  this.update?.emit(newValue);
13011
13448
  }
13012
13449
  }
13450
+ /** 유효성 검사를 실행합니다. */
13013
13451
  async sdValidate() {
13014
13452
  this.formField?.sdValidate();
13015
13453
  }
13454
+ /** 값과 유효성 상태를 초기화합니다. */
13016
13455
  async sdReset() {
13017
13456
  this.formField?.sdReset();
13018
13457
  }
13458
+ /** 유효성 상태만 초기화합니다. */
13019
13459
  async sdResetValidate() {
13020
13460
  this.formField?.sdResetValidation();
13021
13461
  }
13462
+ /** 입력 필드에 포커스를 이동합니다. */
13022
13463
  async sdFocus() {
13023
13464
  this.formField?.sdFocus();
13024
13465
  }
13466
+ /** 네이티브 input 엘리먼트를 반환합니다. */
13025
13467
  async sdGetNativeElement() {
13026
13468
  return this.nativeEl || null;
13027
13469
  }
@@ -13168,15 +13610,15 @@ class SdNumberInput {
13168
13610
  '--sd-textinput-input-hint-typography-line-height': `${NUMBER_INPUT_HINT.typography.lineHeight}px`,
13169
13611
  '--sd-textinput-input-contents-gap': `${NUMBER_INPUT_CONTENTS_GAP}px`,
13170
13612
  };
13171
- return (hAsync("sd-field", { key: 'f322e07238237b4b609fbc3cd819cf2856eb3e63', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, readonly: this.readonly, focused: this.focused, hovered: this.hovered, status: this.status, size: this.size, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, hAsync("div", { key: '8e4e7561a8b42b4a8b2e1f9559f7409d17f32c14', class: {
13613
+ return (hAsync("sd-field", { key: 'f07710abbe74849369a3d0d6444750f71ed75e7b', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, readonly: this.readonly, focused: this.focused, hovered: this.hovered, status: this.status, size: this.size, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, hAsync("div", { key: 'ad70ff68bb24fe02c25a57dd3de0b5ef38ceef8a', class: {
13172
13614
  'sd-number-input__content': true,
13173
13615
  'sd-number-input__content--no-stepper': !this.useButton,
13174
- } }, this.useButton && (hAsync("button", { key: '642a5ce069d0af6347ecdbbb32c67ce2d8967cf4', type: "button", class: "sd-number-input__stepper sd-number-input__stepper--decrement", disabled: this.isDecrementDisabled(), onClick: this.handleDecrement, tabindex: -1 }, hAsync("sd-icon", { key: 'd321af0b38dc8771ca58b52d079fe440551b4efc', name: "minus", size: iconSize, color: this.isDecrementDisabled()
13616
+ } }, this.useButton && (hAsync("button", { key: '90305a8863c6b6ba3d3afce695c5f61204424c46', type: "button", class: "sd-number-input__stepper sd-number-input__stepper--decrement", disabled: this.isDecrementDisabled(), onClick: this.handleDecrement, tabindex: -1 }, hAsync("sd-icon", { key: 'e6440e5b63d4860d05f0573690a4064f7e6729ac', name: "minus", size: iconSize, color: this.isDecrementDisabled()
13175
13617
  ? NUMBER_INPUT_STEPPER.icon.disabled
13176
- : NUMBER_INPUT_STEPPER.icon.default }))), this.inputPrefix && hAsync("span", { key: '5b84c95d1e4e8e151c9c71b8ff6513185e97dbf4', class: "sd-number-input__prefix" }, this.inputPrefix), hAsync("input", { key: '0580882231474e80471085e7d91748943caf2f73', name: this.name, ref: el => (this.nativeEl = el), class: `sd-number-input__native ${this.inputClass}`, type: "text", inputMode: "numeric", value: this.displayValue, placeholder: this.placeholder ?? '입력해 주세요.', disabled: this.disabled, readonly: this.readonly, autofocus: this.autoFocus, onInput: this.handleInput, onKeyDown: this.handleKeyDown, onFocus: this.handleFocus, onBlur: this.handleBlur, style: {
13618
+ : NUMBER_INPUT_STEPPER.icon.default }))), this.inputPrefix && hAsync("span", { key: 'ae2e8d052471925a5c794dcf1041a7ddbfe66652', class: "sd-number-input__prefix" }, this.inputPrefix), hAsync("input", { key: 'a19917bfbe10b6d121e61e374a134207c9eb7fd7', name: this.name, ref: el => (this.nativeEl = el), class: `sd-number-input__native ${this.inputClass}`, type: "text", inputMode: "numeric", value: this.displayValue, placeholder: this.placeholder ?? '입력해 주세요.', disabled: this.disabled, readonly: this.readonly, autofocus: this.autoFocus, onInput: this.handleInput, onKeyDown: this.handleKeyDown, onFocus: this.handleFocus, onBlur: this.handleBlur, style: {
13177
13619
  textAlign: this.useButton ? 'center' : 'right',
13178
13620
  ...this.inputStyle,
13179
- } }), this.inputSuffix && hAsync("span", { key: 'd24110a5913272b0379f36823507c3c6ea4102be', class: "sd-number-input__suffix" }, this.inputSuffix), this.useButton && (hAsync("button", { key: '2bcf9b96f875322b269630f14bbec6c64d55f042', type: "button", class: "sd-number-input__stepper sd-number-input__stepper--increment", disabled: this.isIncrementDisabled(), onClick: this.handleIncrement, tabindex: -1 }, hAsync("sd-icon", { key: '809fb4ae2f33c4812bf329abc7dc1a9f78e9dd81', name: "add", size: iconSize, color: this.isIncrementDisabled()
13621
+ } }), this.inputSuffix && hAsync("span", { key: '352e2a645c8db62c8d887b1a1f490ade187d05f0', class: "sd-number-input__suffix" }, this.inputSuffix), this.useButton && (hAsync("button", { key: '5c4f1153f6488cb95502bfa7f2bcad073bccb593', type: "button", class: "sd-number-input__stepper sd-number-input__stepper--increment", disabled: this.isIncrementDisabled(), onClick: this.handleIncrement, tabindex: -1 }, hAsync("sd-icon", { key: 'c9e0924126fb39492e8a696fa2628f367b8e2058', name: "add", size: iconSize, color: this.isIncrementDisabled()
13180
13622
  ? NUMBER_INPUT_STEPPER.icon.disabled
13181
13623
  : NUMBER_INPUT_STEPPER.icon.default }))))));
13182
13624
  }
@@ -13312,9 +13754,13 @@ class SdPagination {
13312
13754
  registerInstance(this, hostRef);
13313
13755
  this.pageChange = createEvent(this, "sdPageChange", 7);
13314
13756
  }
13757
+ /** 현재 페이지 번호 */
13315
13758
  currentPage = 1;
13759
+ /** 마지막 페이지 번호 */
13316
13760
  lastPage = 1;
13761
+ /** true이면 현재/마지막 페이지만 표시하는 단순 모드 */
13317
13762
  simple = false;
13763
+ /** 페이지가 변경될 때 새 페이지 번호를 전달합니다. */
13318
13764
  pageChange;
13319
13765
  get pageNumbers() {
13320
13766
  const start = Math.floor((this.currentPage - 1) / PER_PAGE) * PER_PAGE + 1;
@@ -13386,13 +13832,13 @@ class SdPagination {
13386
13832
  '--sd-pagination-bg-selected': PAGINATION_COLORS.bgSelected,
13387
13833
  '--sd-pagination-item-width': `${this.buttonWidth}px`,
13388
13834
  };
13389
- return (hAsync("div", { key: '8a2219bbc3a17951ed66501e7246f230f0495e74', class: {
13835
+ return (hAsync("div", { key: '733bf7952c4e38a65a1042c6a8784d6502c81667', class: {
13390
13836
  'sd-pagination': true,
13391
13837
  'sd-pagination--simple': this.simple,
13392
- }, style: cssVars }, hAsync("div", { key: '7e9ddb98aff7506fc3b6053d84c1be211e3d1ff7', class: "sd-pagination__group sd-pagination__group--prev" }, this.renderPrevButtons()), this.simple ? (hAsync("div", { class: "sd-pagination__info" }, hAsync("span", { class: "sd-pagination__current" }, this.currentPage), hAsync("span", { class: "sd-pagination__divider" }, "/"), hAsync("span", { class: "sd-pagination__last" }, this.lastPage))) : (hAsync("div", { class: "sd-pagination__numbers" }, this.pageNumbers.map(n => (hAsync("button", { type: "button", "aria-current": this.currentPage === n ? 'page' : undefined, class: {
13838
+ }, style: cssVars }, hAsync("div", { key: '4c23bdfb9a58950a04107fc4b4c921bbafa4e601', class: "sd-pagination__group sd-pagination__group--prev" }, this.renderPrevButtons()), this.simple ? (hAsync("div", { class: "sd-pagination__info" }, hAsync("span", { class: "sd-pagination__current" }, this.currentPage), hAsync("span", { class: "sd-pagination__divider" }, "/"), hAsync("span", { class: "sd-pagination__last" }, this.lastPage))) : (hAsync("div", { class: "sd-pagination__numbers" }, this.pageNumbers.map(n => (hAsync("button", { type: "button", "aria-current": this.currentPage === n ? 'page' : undefined, class: {
13393
13839
  'sd-pagination__item': true,
13394
13840
  'sd-pagination__item--selected': this.currentPage === n,
13395
- }, onClick: () => this.handlePageChange(n) }, n))))), hAsync("div", { key: '937554ea8d3ae71da85e2c1f49d82c99658141f0', class: "sd-pagination__group sd-pagination__group--next" }, this.renderNextButtons())));
13841
+ }, onClick: () => this.handlePageChange(n) }, n))))), hAsync("div", { key: 'a0406c1f9cd13970d47f25ed88095ac1c684203c', class: "sd-pagination__group sd-pagination__group--next" }, this.renderNextButtons())));
13396
13842
  }
13397
13843
  static get style() { return sdPaginationCss(); }
13398
13844
  static get cmpMeta() { return {
@@ -13426,22 +13872,38 @@ class SdPopover {
13426
13872
  this.showChange = createEvent(this, "sdShowChange", 7);
13427
13873
  }
13428
13874
  get el() { return getElement(this); }
13875
+ /** 팝오버 표시 여부 */
13429
13876
  show = false;
13877
+ /** 팝오버를 표시할 방향 */
13430
13878
  placement = 'bottom';
13879
+ /** 아이콘 트리거 색상 */
13431
13880
  color = '#01BB4B';
13881
+ /** 아이콘 트리거 아이콘명 */
13432
13882
  icon = 'helpOutline';
13883
+ /** 아이콘 트리거 크기 */
13433
13884
  iconSize = 12;
13885
+ /** 버튼 트리거 레이블 (있으면 아이콘 대신 버튼 렌더링) */
13434
13886
  label = '';
13887
+ /** 버튼 트리거 프리셋 */
13435
13888
  name = 'primary_sm';
13889
+ /** 버튼 트리거 우측 아이콘 */
13436
13890
  rightIcon;
13891
+ /** 스크린리더용 접근성 레이블 */
13437
13892
  ariaLabel = '';
13893
+ /** 비활성 상태 여부 */
13438
13894
  disabled = false;
13895
+ /** 버튼 type 속성 */
13439
13896
  type = 'button';
13897
+ /** 팝오버 메뉴 제목 */
13440
13898
  menuTitle;
13899
+ /** 팝오버 하단 좌측 링크 옵션 */
13441
13900
  leftLink;
13901
+ /** 팝오버 하단 버튼 옵션 */
13442
13902
  button;
13903
+ /** 팝오버 메뉴에 추가할 클래스 */
13443
13904
  menuClass = '';
13444
13905
  slotContentHTML = '';
13906
+ /** 팝오버 표시 상태가 바뀔 때 발생합니다. */
13445
13907
  showChange;
13446
13908
  buttonEl;
13447
13909
  setShow = (next) => {
@@ -13476,17 +13938,17 @@ class SdPopover {
13476
13938
  const leftLink = this.leftLink;
13477
13939
  const button = this.button;
13478
13940
  const hasFooter = !!leftLink || !!button;
13479
- return (hAsync(Fragment, { key: '649e07ee45d3e7e5f72a438ef2939bfe6d3c56e4' }, this.label !== '' ? (hAsync("sd-button", { ref: el => (this.buttonEl = el), name: this.name ?? 'primary_sm', label: this.label, icon: icon, rightIcon: this.rightIcon, ariaLabel: this.ariaLabel || this.label || icon || 'Open popover', disabled: this.disabled, type: this.type ?? 'button', class: "sd-popover", onSdClick: () => this.setShow(!this.show) })) : (hAsync("sd-icon", { ref: el => (this.buttonEl = el), name: icon, size: iconSize, color: color, class: "sd-popover", onClick: () => this.setShow(!this.show) })), this.show && (hAsync("sd-floating-portal", { key: '486d1859387b0c8cc82646ab5e7b6800792ca2be', parentRef: this.buttonEl, onSdClose: this.handleClose, placement: placement, offset: this.popoverOffset }, hAsync("div", { key: '4418e064c76478a5b4dfd2fb69d11e1603a22530', class: {
13941
+ return (hAsync(Fragment, { key: '94fcf54c8b20ffd1bcf2c7f540de31e1f41154fa' }, this.label !== '' ? (hAsync("sd-button", { ref: el => (this.buttonEl = el), name: this.name ?? 'primary_sm', label: this.label, icon: icon, rightIcon: this.rightIcon, ariaLabel: this.ariaLabel || this.label || icon || 'Open popover', disabled: this.disabled, type: this.type ?? 'button', class: "sd-popover", onSdClick: () => this.setShow(!this.show) })) : (hAsync("sd-icon", { ref: el => (this.buttonEl = el), name: icon, size: iconSize, color: color, class: "sd-popover", onClick: () => this.setShow(!this.show) })), this.show && (hAsync("sd-floating-portal", { key: '9f1585f2d268452f3d5c713e30ff865c3fc5fbac', parentRef: this.buttonEl, onSdClose: this.handleClose, placement: placement, offset: this.popoverOffset }, hAsync("div", { key: '2cd2103f56c45364df5db9b73a2d89447b7c2bcc', class: {
13480
13942
  'sd-floating-menu': true,
13481
13943
  'sd-floating-menu--popover': true,
13482
13944
  [`sd-floating-menu--${placement}`]: true,
13483
13945
  [menuClass]: menuClass !== '',
13484
13946
  }, style: {
13485
13947
  '--sd-floating-bg': popoverTokens.popover.default.bg,
13486
- } }, hAsync("i", { key: 'a181ce40ae957e77be7c8f9b10e6f1fe8190cd52', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${placement}` }, hAsync(TooltipArrow, { key: '323bca17c3c245063cbd1ac55ed64bf6f6df9e3e' })), hAsync("div", { key: '06e98cf6e888dc66a6a700710669c61ac9d9c494', class: "sd-floating-menu__content" }, this.menuTitle && hAsync("div", { key: '831ca9893ccafcad8e0858fb28269428ebac6a07', class: "sd-floating-menu__title" }, this.menuTitle), this.slotContentHTML && (hAsync("div", { key: 'cdd2eafe18d5b0b44f10dbebbb68ed9d010173b1', class: "sd-floating-menu__messages", innerHTML: this.slotContentHTML })), hasFooter && (hAsync("div", { key: '8149044a08de968ef38f432ee3303d969b49eace', class: {
13948
+ } }, hAsync("i", { key: '5fd6c333790d3bb45bf4d43391ed1457d5eb54c3', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${placement}` }, hAsync(TooltipArrow, { key: '062b11e3b6cee1e87f20064ab62a589a23f3eb26' })), hAsync("div", { key: 'b863abd8e31c8ce0dfddfdb25b6a49be69f34da1', class: "sd-floating-menu__content" }, this.menuTitle && hAsync("div", { key: '1873c595d7ad91b3a7c71d979414820694c23ff5', class: "sd-floating-menu__title" }, this.menuTitle), this.slotContentHTML && (hAsync("div", { key: '7a197b43d34a59ec298ed5e733cae0f3390c87a3', class: "sd-floating-menu__messages", innerHTML: this.slotContentHTML })), hasFooter && (hAsync("div", { key: 'be9034b4150421be08c17978beba643e73c5568d', class: {
13487
13949
  'sd-floating-menu__buttons': true,
13488
13950
  'sd-floating-menu__buttons--with-link': !!leftLink,
13489
- } }, leftLink && (hAsync("sd-text-link", { key: '4c7e9c2b4fe8664b3af375a3c89b1cd50d64a9c3', class: "sd-floating-menu__left-link", label: leftLink.label, icon: leftLink.icon ?? '', iconColor: leftLink.iconColor ?? '', rightArrow: leftLink.rightArrow ?? 'none', underline: !!leftLink.underline, disabled: !!leftLink.disabled, onSdClick: leftLink.onClick })), button && (hAsync("sd-button", { key: '730d867339257f168c11d7d1417c9d28a408f462', name: button.name ?? 'secondary_xs', label: button.label, icon: button.icon, rightIcon: button.rightIcon, ariaLabel: button.ariaLabel || button.label || button.icon || 'Open popover', disabled: button.disabled, type: button.type, onSdClick: button.onClick }))))), hAsync("sd-ghost-button", { key: '7a1f2edf0a601c0dfa91b4a02405c815d3257214', class: "sd-floating-menu__close-button", icon: "close", ariaLabel: "close", size: "xs", onClick: this.handleClose }))))));
13951
+ } }, leftLink && (hAsync("sd-text-link", { key: '890a163609b8544450ad1b8c009648d73ef0d269', class: "sd-floating-menu__left-link", label: leftLink.label, icon: leftLink.icon ?? '', iconColor: leftLink.iconColor ?? '', rightArrow: leftLink.rightArrow ?? 'none', underline: !!leftLink.underline, disabled: !!leftLink.disabled, onSdClick: leftLink.onClick })), button && (hAsync("sd-button", { key: '128270add7ea99f7c9f61abe9f2a113f152465d8', name: button.name ?? 'secondary_xs', label: button.label, icon: button.icon, rightIcon: button.rightIcon, ariaLabel: button.ariaLabel || button.label || button.icon || 'Open popover', disabled: button.disabled, type: button.type, onSdClick: button.onClick }))))), hAsync("sd-ghost-button", { key: 'bc4c4d982da8fe72c85cd4ae7ba6cd2e09154164', class: "sd-floating-menu__close-button", icon: "close", ariaLabel: "close", size: "xs", onClick: this.handleClose }))))));
13490
13952
  }
13491
13953
  static get style() { return sdPopoverCss(); }
13492
13954
  static get cmpMeta() { return {
@@ -13587,12 +14049,16 @@ class SdPopup {
13587
14049
  registerInstance(this, hostRef);
13588
14050
  this.submit = createEvent(this, "sdSubmit", 7);
13589
14051
  }
14052
+ /** 팝업 헤더에 표시할 제목 */
13590
14053
  popupTitle = '';
14054
+ /** 팝업 타입 */
13591
14055
  type = 'default';
13592
14056
  // 기본 footer 표시가 자연스러운 UX. prop 이름 변경(hideFooter 등)은 public API breaking 이라 별도 이슈로 분리.
13593
- // eslint-disable-next-line stencil/ban-default-true
14057
+ /** 하단 footer 영역 표시 여부 */
13594
14058
  useFooter = true;
14059
+ /** 확인 버튼 커스텀 props */
13595
14060
  submitButtonProps;
14061
+ /** 확인 버튼 클릭 시 발생합니다. */
13596
14062
  submit;
13597
14063
  render() {
13598
14064
  const cssVars = {
@@ -13618,7 +14084,7 @@ class SdPopup {
13618
14084
  ...DEFAULT_SUBMIT_BUTTON_PROPS,
13619
14085
  ...this.submitButtonProps,
13620
14086
  };
13621
- return (hAsync("div", { key: 'fd14b75d27d3006978ceae9287486d9716bbbf5a', class: `sd-popup sd-popup--${this.type}`, style: cssVars }, hAsync("header", { key: 'ac0222dc9512b99cd1d1b4684b9775cd462f39fa', class: "sd-popup__header" }, hAsync("h2", { key: 'a11bea9fac5828161090d09d06d6e1c54c390392', class: "sd-popup__title" }, this.popupTitle)), hAsync("div", { key: 'ced8961a853cdf014d602c235cfc839a648fb19e', class: "sd-popup__body" }, hAsync("slot", { key: '142807fd74e8b32a31ffb7ed8f3dfdcb07a6a1ba' })), this.useFooter && (hAsync("footer", { key: '35a6b42e82ec13890b4fa56bda5b9781adeff229', class: "sd-popup__footer" }, hAsync("div", { key: '44b2471e0f302bd001fdf1e1d72485dff4af094f', class: "sd-popup__footer-slot sd-popup__footer-slot--left" }, hAsync("slot", { key: 'd1c8e29b60eb7ce86639e336c99a48a67437103a', name: "footer-left" })), hAsync("sd-button", { key: '67b0a8530cae73e344cdae2ac0cb48fa3bdf4827', ...submitButtonProps, class: "sd-popup__submit", onSdClick: () => this.submit.emit() })))));
14087
+ return (hAsync("div", { key: '4455120f02fc1df1b1661062a22f3d82508627c4', class: `sd-popup sd-popup--${this.type}`, style: cssVars }, hAsync("header", { key: '96a5e7cdc21fa239e4275f4b57379f36246048f4', class: "sd-popup__header" }, hAsync("h2", { key: 'cdf8d05561f470fef31c46e6508e1e0c41aa7fa9', class: "sd-popup__title" }, this.popupTitle)), hAsync("div", { key: 'ddb32332f8822634f544f2fa5a246c5f37c7fcc2', class: "sd-popup__body" }, hAsync("slot", { key: '8f36daf8c918da6babcbb4383957e979930bfd73' })), this.useFooter && (hAsync("footer", { key: '2b84ed134a8d53633bb4feb7ab423e58955dfdae', class: "sd-popup__footer" }, hAsync("div", { key: '95e55875b38102ff809e752a3cc647dc830699a9', class: "sd-popup__footer-slot sd-popup__footer-slot--left" }, hAsync("slot", { key: 'fbd86c77e1117018793279c9b90fd8e2f6db4934', name: "footer-left" })), hAsync("sd-button", { key: 'e8710c15d20e52d0476e7f656e800cda008187d8', ...submitButtonProps, class: "sd-popup__submit", onSdClick: () => this.submit.emit() })))));
13622
14088
  }
13623
14089
  static get style() { return sdPopupCss(); }
13624
14090
  static get cmpMeta() { return {
@@ -13642,13 +14108,21 @@ class SdPortal {
13642
14108
  this.close = createEvent(this, "sdClose", 3);
13643
14109
  }
13644
14110
  get hostEl() { return getElement(this); }
14111
+ /** 포탈 콘텐츠를 마운트할 대상 (CSS 선택자 또는 HTMLElement) */
13645
14112
  to = 'body';
14113
+ /** 위치 기준이 되는 부모 엘리먼트 */
13646
14114
  parentRef = null;
14115
+ /** [x, y] 오프셋 (px) */
13647
14116
  offset = [0, 4];
14117
+ /** 뷰포트 경계 여백 (px) */
13648
14118
  viewportPadding = 0;
13649
- zIndex = 998;
14119
+ /** z-index */
14120
+ zIndex = 996;
14121
+ /** 표시 여부 */
13650
14122
  open = false;
14123
+ /** 콘텐츠를 표시할 방향 (공간이 부족하면 자동으로 반대 방향으로 전환) */
13651
14124
  placement = 'bottom';
14125
+ /** 외부 클릭 등으로 닫힐 때 발생합니다. */
13652
14126
  close;
13653
14127
  container;
13654
14128
  wrapper;
@@ -13687,13 +14161,27 @@ class SdPortal {
13687
14161
  const el = typeof this.to === 'string' ? document.querySelector(this.to) : this.to;
13688
14162
  return el instanceof HTMLElement ? el : document.body;
13689
14163
  }
14164
+ /**
14165
+ * 트리거(parentRef)가 모달 내부에 있으면 해당 모달보다 위에, 아니면 페이지 기본값에 둔다.
14166
+ * 페이지 기본값(996)은 모달(997)보다 낮아, 모달 뒤의 페이지 포털이 모달 위로 떠오르지 않는다.
14167
+ */
14168
+ resolveZIndex() {
14169
+ const base = this.zIndex ?? 996;
14170
+ const layer = this.parentRef?.closest('.sd-modal-container__layer');
14171
+ if (!layer)
14172
+ return base;
14173
+ const container = layer.closest('.sd-modal-container');
14174
+ const z = container instanceof HTMLElement ? parseInt(getComputedStyle(container).zIndex, 10) : NaN;
14175
+ const modalZIndex = Number.isFinite(z) ? z : 997;
14176
+ return Math.max(base, modalZIndex + 1);
14177
+ }
13690
14178
  createWrapper() {
13691
14179
  this.wrapper = document.createElement('div');
13692
14180
  Object.assign(this.wrapper.style, {
13693
14181
  position: 'fixed',
13694
14182
  top: '0',
13695
14183
  left: '0',
13696
- zIndex: (this.zIndex ?? 998).toString(),
14184
+ zIndex: this.resolveZIndex().toString(),
13697
14185
  opacity: '0',
13698
14186
  transition: 'opacity 0.15s ease-out',
13699
14187
  boxSizing: 'border-box',
@@ -13859,8 +14347,7 @@ class SdPortal {
13859
14347
  return scrollParents;
13860
14348
  }
13861
14349
  isInsideTarget(target) {
13862
- return !!((this.wrapper?.contains(target)) ||
13863
- (this.parentRef?.contains(target)));
14350
+ return !!(this.wrapper?.contains(target) || this.parentRef?.contains(target));
13864
14351
  }
13865
14352
  // 외부 클릭 감지
13866
14353
  handleMouseDown(e) {
@@ -13876,7 +14363,7 @@ class SdPortal {
13876
14363
  this.close.emit();
13877
14364
  }
13878
14365
  render() {
13879
- return hAsync("slot", { key: '911d01b26a26a4bb4d7c4a15b51755acb9615c3a' });
14366
+ return hAsync("slot", { key: 'e4523bbb6fd56072c4f5a4dc241ab8a3ac0ea1bf' });
13880
14367
  }
13881
14368
  static get watchers() { return {
13882
14369
  "open": [{
@@ -13983,10 +14470,15 @@ class SdRadio {
13983
14470
  registerInstance(this, hostRef);
13984
14471
  this.update = createEvent(this, "sdUpdate", 7);
13985
14472
  }
14473
+ /** 라디오 그룹의 현재 선택 값 */
13986
14474
  value;
14475
+ /** 이 라디오 아이템의 값 */
13987
14476
  val;
14477
+ /** 비활성 상태 여부 */
13988
14478
  disabled = false;
14479
+ /** 표시할 라벨 텍스트 */
13989
14480
  label;
14481
+ /** 선택 값이 변경될 때 발생합니다. */
13990
14482
  update;
13991
14483
  valueChanged(newValue) {
13992
14484
  this.value = newValue;
@@ -14029,7 +14521,7 @@ class SdRadio {
14029
14521
  '--sd-radio-label-color': RADIO_COLORS.label.default,
14030
14522
  '--sd-radio-label-disabled-color': RADIO_COLORS.label.disabled,
14031
14523
  };
14032
- return (hAsync("label", { key: 'f403a1fd88109a6907cc37b03b35fe5a7bbafdfb', class: this.radioClasses, style: cssVars, "aria-checked": this.isSelected ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false' }, hAsync("input", { key: 'ba8c105d6d52bc4452e1b9614f42dfa2d99221e1', type: "radio", name: String(this.val), value: String(this.val), checked: this.isSelected, disabled: this.disabled, "aria-label": this.label || String(this.val), onInput: this.handleRadioChange }), hAsync("span", { key: 'd92352c59bf7f144a68decd3652dc7208b813a0e', class: "sd-radio__circle" }), this.label && (hAsync("span", { key: 'bc0b1384dee0b22efec56249edc88184a96c6efe', class: "sd-radio__label", "data-label": this.label }, this.label))));
14524
+ return (hAsync("label", { key: 'f220a45add2be550bc696cd2442b8520ea0143f0', class: this.radioClasses, style: cssVars, "aria-checked": this.isSelected ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false' }, hAsync("input", { key: '64692f5bf49783f166be9327877a474816a556ca', type: "radio", name: String(this.val), value: String(this.val), checked: this.isSelected, disabled: this.disabled, "aria-label": this.label || String(this.val), onInput: this.handleRadioChange }), hAsync("span", { key: '3c30268adcbd735857b4163ecba444b5a57cba08', class: "sd-radio__circle" }), this.label && (hAsync("span", { key: 'b641086ab4ff9161ba4fb733b87c751b6863fe06', class: "sd-radio__label", "data-label": this.label }, this.label))));
14033
14525
  }
14034
14526
  static get watchers() { return {
14035
14527
  "value": [{
@@ -14154,11 +14646,17 @@ class SdRadioButton {
14154
14646
  registerInstance(this, hostRef);
14155
14647
  this.change = createEvent(this, "sdUpdate", 7);
14156
14648
  }
14649
+ /** 현재 선택된 값 */
14157
14650
  value;
14651
+ /** 라디오 버튼 옵션 목록 */
14158
14652
  options = [];
14653
+ /** 버튼 크기 */
14159
14654
  size = 'sm';
14655
+ /** 비활성 상태 여부 */
14160
14656
  disabled = false;
14657
+ /** input name 속성 (없으면 자동 생성) */
14161
14658
  name;
14659
+ /** 선택 값이 변경될 때 발생합니다. */
14162
14660
  change;
14163
14661
  componentWillLoad() {
14164
14662
  this.size ??= 'sm';
@@ -14228,7 +14726,7 @@ class SdRadioButton {
14228
14726
  '--sd-radio-button-content-select': RADIO_BUTTON_COLORS.content.select,
14229
14727
  '--sd-radio-button-content-disabled': RADIO_BUTTON_COLORS.content.disabled,
14230
14728
  };
14231
- return (hAsync("div", { key: 'b916d790862409f8b8e1da566f049daadfc4e5e2', class: this.getGroupClasses(), style: cssVars, role: "radiogroup", "aria-disabled": this.disabled.toString() }, this.options.map(option => {
14729
+ return (hAsync("div", { key: 'c0ed4c6927bd32a7335e003856de4b43ead97b1c', class: this.getGroupClasses(), style: cssVars, role: "radiogroup", "aria-disabled": this.disabled.toString() }, this.options.map(option => {
14232
14730
  const isSelected = this.isOptionSelected(option);
14233
14731
  const isDisabled = this.isOptionDisabled(option);
14234
14732
  return (hAsync("label", { key: `radio-${option.value}`, class: this.getButtonClasses(option), "aria-label": option.label || 'radio option', "data-label": option.label }, hAsync("input", { type: "radio", name: this.groupName, value: option.value.toString(), checked: isSelected, disabled: isDisabled, onInput: () => this.handleRadioChange(option.value, option.disabled) }), option.label && hAsync("span", { class: "sd-radio-button__label" }, option.label)));
@@ -14258,11 +14756,17 @@ class SdRadioGroup {
14258
14756
  registerInstance(this, hostRef);
14259
14757
  this.change = createEvent(this, "sdUpdate", 7);
14260
14758
  }
14759
+ /** 현재 선택된 값 */
14261
14760
  value;
14761
+ /** 라디오 옵션 목록 */
14262
14762
  options = [];
14763
+ /** 옵션 배치 방향 */
14263
14764
  direction = 'vertical';
14765
+ /** 비활성 상태 여부 */
14264
14766
  disabled = false;
14767
+ /** input name 속성 */
14265
14768
  groupName;
14769
+ /** 선택 값이 변경될 때 발생합니다. */
14266
14770
  change;
14267
14771
  valueChanged(newValue) {
14268
14772
  this.value = newValue;
@@ -14280,7 +14784,7 @@ class SdRadioGroup {
14280
14784
  return classes.join(' ');
14281
14785
  }
14282
14786
  render() {
14283
- return (hAsync("div", { key: 'd60a7fed2bbe1cd2d577827b10c99627aabbda66', class: this.getGroupClasses(), role: "radiogroup" }, this.options.map(option => {
14787
+ return (hAsync("div", { key: '3a1694daddf5794a1598838c44bc965de2976770', class: this.getGroupClasses(), role: "radiogroup" }, this.options.map(option => {
14284
14788
  return (hAsync("sd-radio", { key: `radio-${option.value}`, val: String(option.value), value: String(this.value), label: option.label, disabled: this.disabled || !!option.disabled, onSdUpdate: ({ detail }) => this.handleRadioChange(detail) }));
14285
14789
  })));
14286
14790
  }
@@ -14318,29 +14822,53 @@ class SdSelect {
14318
14822
  static PORTAL_OFFSET_Y = 4;
14319
14823
  static CLOSE_ANIMATION_DURATION = 150;
14320
14824
  get el() { return getElement(this); }
14825
+ /** 셀렉트 타입 (단일/다중/계층) */
14321
14826
  type = 'default';
14827
+ /** 현재 선택된 값 */
14322
14828
  value = null;
14829
+ /** 선택 옵션 목록 */
14323
14830
  options = [];
14831
+ /** 값이 없을 때 표시할 플레이스홀더 */
14324
14832
  placeholder = '선택';
14833
+ /** 드롭다운 너비 (없으면 트리거 너비로 자동 맞춤) */
14325
14834
  dropdownWidth = '';
14835
+ /** 드롭다운 최대 너비 */
14326
14836
  maxDropdownWidth = '640px';
14837
+ /** 드롭다운 최대 높이 */
14327
14838
  dropdownHeight = '260px';
14839
+ /** 비활성 상태 여부 */
14328
14840
  disabled = false;
14841
+ /** 레이블 텍스트 */
14329
14842
  label = '';
14843
+ /** 레이블 너비 */
14330
14844
  labelWidth = '';
14845
+ /** 필드 우측 어드온 레이블 */
14331
14846
  addonLabel = '';
14847
+ /** 어드온 정렬 방향 */
14332
14848
  addonAlign = 'start';
14849
+ /** 에러 상태 여부 */
14333
14850
  error = false;
14851
+ /** 필드 하단 힌트 텍스트 */
14334
14852
  hint = '';
14853
+ /** 에러 메시지 */
14335
14854
  errorMessage = '';
14855
+ /** 유효성 검사 규칙 목록 */
14336
14856
  rules = [];
14857
+ /** 레이블 영역 아이콘 */
14337
14858
  icon = undefined;
14859
+ /** 레이블 툴팁 텍스트 */
14338
14860
  labelTooltip = '';
14861
+ /** 레이블 툴팁 상세 옵션 */
14339
14862
  labelTooltipProps = null;
14863
+ /** true이면 value로 SelectOption 대신 원시값(string|number) 방출 */
14340
14864
  emitValue = false;
14865
+ /** 필드 너비 */
14341
14866
  width = '';
14867
+ /** 드롭다운 내 검색 입력 표시 여부 */
14342
14868
  useSearch = false;
14869
+ /** 전체 선택 시 표시할 레이블 */
14343
14870
  allSelectedLabel = '전체';
14871
+ /** 전체 선택 체크박스 표시 여부 */
14344
14872
  useSelectAll = false;
14345
14873
  isOpen = false;
14346
14874
  isAnimatingOut = false;
@@ -14349,13 +14877,17 @@ class SdSelect {
14349
14877
  resolvedMaxDropdownWidth = '640px';
14350
14878
  focused = false;
14351
14879
  hovered = false;
14880
+ /** 선택 값이 변경될 때 발생합니다. */
14352
14881
  update;
14882
+ /** 드롭다운 열림/닫힘 상태가 바뀔 때 발생합니다. */
14353
14883
  dropDownShow;
14884
+ /** 셀렉트 트리거에 포커스를 이동합니다. */
14354
14885
  async sdFocus() {
14355
14886
  if (this.disabled)
14356
14887
  return;
14357
14888
  await this.triggerComponentRef?.sdFocus();
14358
14889
  }
14890
+ /** 드롭다운을 엽니다. */
14359
14891
  async sdOpen() {
14360
14892
  // sdFocus 직후 호출 시 트리거 ref/레이아웃이 안정될 때까지 한 틱 대기
14361
14893
  await new Promise(resolve => setTimeout(resolve, 0));
@@ -14370,6 +14902,7 @@ class SdSelect {
14370
14902
  triggerRef;
14371
14903
  triggerComponentRef;
14372
14904
  closeAnimationTimer;
14905
+ /** 폼 연동용 name 속성 */
14373
14906
  name = nanoid$1();
14374
14907
  triggerHasFocus = false;
14375
14908
  watchIsOpen(newValue) {
@@ -14567,15 +15100,15 @@ class SdSelect {
14567
15100
  this.closeDropdown();
14568
15101
  },
14569
15102
  };
14570
- return (hAsync("sd-field", { key: 'f95dc4008dd1f252f8cb41637aa817bdd4d72ba0', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, onMouseEnter: () => {
15103
+ return (hAsync("sd-field", { key: '3387dc16a6f54bfae652338c71c4c0e1553828c9', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, onMouseEnter: () => {
14571
15104
  this.hovered = true;
14572
15105
  }, onMouseLeave: () => {
14573
15106
  this.hovered = false;
14574
- } }, hAsync("div", { key: 'f12b88dc846a01fc2076242623ac1376ebc0105c', class: "sd-select", ref: el => {
15107
+ } }, hAsync("div", { key: '124325f8f6882a3c9ee1a1795ee969f13d67dfe2', class: "sd-select", ref: el => {
14575
15108
  this.triggerRef = el;
14576
- } }, hAsync("sd-select-trigger", { key: '8cef3403ca0a0430c3ce9f8255c98f0e28142d80', ref: el => {
15109
+ } }, hAsync("sd-select-trigger", { key: '2e0e44ae666282d3931f9889650a7999929a312b', ref: el => {
14577
15110
  this.triggerComponentRef = el;
14578
- }, displayText: this.displayText, placeholder: this.placeholder ?? '선택', disabled: this.disabled, isOpen: this.isOpen, onSdTriggerClick: this.handleTriggerClick, onSdTriggerFocus: this.handleTriggerFocus, onSdTriggerBlur: this.handleTriggerBlur })), (this.isOpen || this.isAnimatingOut) && (hAsync("sd-portal", { key: '417194938ff7aac0b22abbba621342dbe767b146', ...portalProps }, hAsync("sd-select-listbox", { key: '0c311407fdc72f37fa7dddf48fdfbaab668a18f4', type: this.type, options: this.options, value: this.value, emitValue: this.emitValue, useSearch: this.useSearch, useSelectAll: this.useSelectAll, triggerWidth: this.dropdownWidth || this.triggerWidth, maxWidth: this.resolvedMaxDropdownWidth, maxHeight: this.resolvedDropdownHeight, onSdOptionSelect: event => this.handleOptionSelect(event.detail) })))));
15111
+ }, displayText: this.displayText, placeholder: this.placeholder ?? '선택', disabled: this.disabled, isOpen: this.isOpen, onSdTriggerClick: this.handleTriggerClick, onSdTriggerFocus: this.handleTriggerFocus, onSdTriggerBlur: this.handleTriggerBlur })), (this.isOpen || this.isAnimatingOut) && (hAsync("sd-portal", { key: 'b6e97e43c5ea3a06fbb2976dab52d4f544822ae0', ...portalProps }, hAsync("sd-select-listbox", { key: '3d8a01c54667149507db2757d81813d2f285b32d', type: this.type, options: this.options, value: this.value, emitValue: this.emitValue, useSearch: this.useSearch, useSelectAll: this.useSelectAll, triggerWidth: this.dropdownWidth || this.triggerWidth, maxWidth: this.resolvedMaxDropdownWidth, maxHeight: this.resolvedDropdownHeight, onSdOptionSelect: event => this.handleOptionSelect(event.detail) })))));
14579
15112
  }
14580
15113
  static get watchers() { return {
14581
15114
  "isOpen": [{
@@ -14760,12 +15293,19 @@ class SdSelectListItem {
14760
15293
  registerInstance(this, hostRef);
14761
15294
  this.listItemClick = createEvent(this, "sdListItemClick", 7);
14762
15295
  }
15296
+ /** 렌더링할 옵션 데이터 */
14763
15297
  option;
15298
+ /** 계층 깊이 (1~3) */
14764
15299
  depth = 1;
15300
+ /** 선택 상태 (null=중간) */
14765
15301
  isSelected = false;
15302
+ /** 키보드 포커스 상태 여부 */
14766
15303
  isFocused = false;
15304
+ /** 체크박스 표시 여부 */
14767
15305
  useCheckbox = false;
15306
+ /** 다중 선택 시 (선택/전체) 카운트 */
14768
15307
  countInfo;
15308
+ /** 항목 클릭 시 발생합니다. */
14769
15309
  listItemClick;
14770
15310
  get isGroup() {
14771
15311
  return !!this.option.children;
@@ -14829,7 +15369,7 @@ class SdSelectListItem {
14829
15369
  return (
14830
15370
  // 키보드 네비게이션은 부모 listbox 의 ArrowUp/Down + Enter 가 담당. 항목 자체는 role=option, tabindex=-1 으로 표시.
14831
15371
  // eslint-disable-next-line jsx-a11y/click-events-have-key-events
14832
- hAsync("div", { key: '4322a04d65e4b2e1d82d0a6b09fdf6a57cce79ca', role: "option", tabindex: -1, "aria-selected": this.isSelected === true ? 'true' : 'false', class: {
15372
+ hAsync("div", { key: '7717c82ea9f36bd44bf8a19d16ba7df6441f6715', role: "option", tabindex: -1, "aria-selected": this.isSelected === true ? 'true' : 'false', class: {
14833
15373
  'sd-select-list-item': true,
14834
15374
  'sd-select-list-item--group': isGroup,
14835
15375
  'sd-select-list-item--depth1-group': isDepth1Group,
@@ -14839,7 +15379,7 @@ class SdSelectListItem {
14839
15379
  'sd-select-list-item--focused': this.isFocused,
14840
15380
  'sd-select-list-item--selectable': this.isSelectable && !this.option.disabled,
14841
15381
  'sd-select-list-item--disabled': !!this.option.disabled,
14842
- }, style: cssVars, onClick: this.handleClick }, this.useCheckbox && (hAsync("sd-checkbox", { key: '47ae4bbe3c2fd960dcee0f1157ae8003dc45f205', value: this.isSelected === null ? null : !!this.isSelected, disabled: this.option.disabled, inverse: this.isFocused && this.isSelected !== false, class: "sd-select-list-item__checkbox", onClick: this.handleCheckboxClick, onSdUpdate: this.handleCheckboxUpdate })), isHtmlLabel(this.option.label) ? (hAsync("span", { class: "sd-select-list-item__label", ref: el => el && (el.innerHTML = sanitizeInlineHtml(this.option.label)) })) : (hAsync("span", { class: "sd-select-list-item__label" }, this.option.label)), this.countInfo && (hAsync("span", { key: 'c89ba1e3ef52a1809d1252aaee5a18c40ff7cd61', class: "sd-select-list-item__count" }, "(", this.countInfo.selected, "/", this.countInfo.total, ")"))));
15382
+ }, style: cssVars, onClick: this.handleClick }, this.useCheckbox && (hAsync("sd-checkbox", { key: '68d8c03d580fc2c411ee4fba917207705f3cf2d2', value: this.isSelected === null ? null : !!this.isSelected, disabled: this.option.disabled, inverse: this.isFocused && this.isSelected !== false, class: "sd-select-list-item__checkbox", onClick: this.handleCheckboxClick, onSdUpdate: this.handleCheckboxUpdate })), isHtmlLabel(this.option.label) ? (hAsync("span", { class: "sd-select-list-item__label", ref: el => el && (el.innerHTML = sanitizeInlineHtml(this.option.label)) })) : (hAsync("span", { class: "sd-select-list-item__label" }, this.option.label)), this.countInfo && (hAsync("span", { key: '56ae08c55215a3970df99ecd74549ded5667265c', class: "sd-select-list-item__count" }, "(", this.countInfo.selected, "/", this.countInfo.total, ")"))));
14843
15383
  }
14844
15384
  static get style() { return sdSelectListItemCss(); }
14845
15385
  static get cmpMeta() { return {
@@ -14867,9 +15407,12 @@ class SdSelectListItemSearch {
14867
15407
  this.searchFilter = createEvent(this, "sdSearchFilter", 7);
14868
15408
  this.searchFocus = createEvent(this, "sdSearchFocus", 7);
14869
15409
  }
15410
+ /** 리스트가 스크롤된 상태 여부 (그림자 효과용) */
14870
15411
  isScrolled = false;
14871
15412
  searchText = '';
15413
+ /** 검색어가 변경될 때 발생합니다. */
14872
15414
  searchFilter;
15415
+ /** 검색 입력에 포커스될 때 발생합니다. */
14873
15416
  searchFocus;
14874
15417
  inputEl;
14875
15418
  debounceTimer;
@@ -14881,6 +15424,7 @@ class SdSelectListItemSearch {
14881
15424
  });
14882
15425
  });
14883
15426
  }
15427
+ /** 검색 입력에 포커스를 이동합니다. */
14884
15428
  async sdFocus() {
14885
15429
  this.inputEl?.focus();
14886
15430
  }
@@ -14907,15 +15451,15 @@ class SdSelectListItemSearch {
14907
15451
  clearTimeout(this.debounceTimer);
14908
15452
  }
14909
15453
  render() {
14910
- return (hAsync("div", { key: '94215143f5e47887943c726147739cdb1a9fcbf7', class: {
15454
+ return (hAsync("div", { key: 'fed1a43f1901d23c7c007a4597b95970c0aad4ad', class: {
14911
15455
  'sd-select-list-item-search': true,
14912
15456
  'sd-select-list-item-search--scrolled': this.isScrolled,
14913
- } }, hAsync("div", { key: '0ff422b93d0e15f2425ef760706ae0e6e2cb79f6', class: "sd-select-list-item-search__inner" }, hAsync("sd-icon", { key: 'cc3468339c8b76103b67182309fa3aa2baf24380', name: "search", size: 16, color: "grey_70", class: "sd-select-list-item-search__icon" }), hAsync("input", { key: 'acc468ede845d0f5890c7908311443ea2aa156cf', ref: el => {
15457
+ } }, hAsync("div", { key: '23b278a4b40b7b8506a13f284b3759b96b613b99', class: "sd-select-list-item-search__inner" }, hAsync("sd-icon", { key: '2150f73e1f20f05a28407b984977f7e91131217e', name: "search", size: 16, color: "grey_70", class: "sd-select-list-item-search__icon" }), hAsync("input", { key: '7dc4470ea57b54ebc5f3313f6e22d100f4cc4591', ref: el => {
14914
15458
  this.inputEl = el;
14915
- }, type: "text", class: "sd-select-list-item-search__input", placeholder: "\uAC80\uC0C9\uC5B4 \uC785\uB825", value: this.searchText, onInput: this.handleInput, onFocus: () => this.searchFocus.emit() }), hAsync("button", { key: 'b1f1539aea4eb76458794dcb041e53c7af7b91e2', type: "button", class: {
15459
+ }, type: "text", class: "sd-select-list-item-search__input", placeholder: "\uAC80\uC0C9\uC5B4 \uC785\uB825", value: this.searchText, onInput: this.handleInput, onFocus: () => this.searchFocus.emit() }), hAsync("button", { key: '60a363380da8689baa1e9e20b075df749846137a', type: "button", class: {
14916
15460
  'sd-select-list-item-search__clear': true,
14917
15461
  'sd-select-list-item-search__clear--hidden': this.searchText === '',
14918
- }, onClick: this.handleClear, tabindex: this.searchText !== '' ? 0 : -1, "aria-hidden": this.searchText !== '' ? 'false' : 'true' }, hAsync("sd-icon", { key: 'a137986e0c801a6cf95e279edeb6a9b21cf00170', name: "close", size: 12, color: "#888888" })))));
15462
+ }, onClick: this.handleClear, tabindex: this.searchText !== '' ? 0 : -1, "aria-hidden": this.searchText !== '' ? 'false' : 'true' }, hAsync("sd-icon", { key: '7b27eb444864674578f97eaa374d1e9af486f97a', name: "close", size: 12, color: "#888888" })))));
14919
15463
  }
14920
15464
  static get style() { return sdSelectListItemSearchCss(); }
14921
15465
  static get cmpMeta() { return {
@@ -14939,18 +15483,28 @@ class SdSelectListbox {
14939
15483
  registerInstance(this, hostRef);
14940
15484
  this.optionSelect = createEvent(this, "sdOptionSelect", 7);
14941
15485
  }
15486
+ /** 셀렉트 타입 */
14942
15487
  type = 'default';
15488
+ /** 옵션 목록 */
14943
15489
  options = [];
15490
+ /** 현재 선택 값 */
14944
15491
  value = null;
15492
+ /** 값만 emit할지 여부 */
14945
15493
  emitValue = false;
15494
+ /** 검색 기능 사용 여부 */
14946
15495
  useSearch = false;
15496
+ /** 전체 선택 기능 사용 여부 */
14947
15497
  useSelectAll = false;
15498
+ /** 트리거 너비 (드롭다운 최소 너비) */
14948
15499
  triggerWidth = '200px';
15500
+ /** 드롭다운 최대 너비 */
14949
15501
  maxWidth = '640px';
15502
+ /** 드롭다운 최대 높이 */
14950
15503
  maxHeight = '260px';
14951
15504
  searchKeyword = '';
14952
15505
  isScrolled = false;
14953
15506
  focusedIndex = -1;
15507
+ /** 옵션 선택 시 발생합니다. */
14954
15508
  optionSelect;
14955
15509
  listEl;
14956
15510
  lastScrolledIndex = -1;
@@ -15289,9 +15843,9 @@ class SdSelectListbox {
15289
15843
  '--listbox-max-height': this.maxHeight ?? '260px',
15290
15844
  '--listbox-radius': `${LIST_BOX_LAYOUT.radius}px`,
15291
15845
  };
15292
- return (hAsync("div", { key: '77f3df8e7105f08340cf46ee0ce146d48b927228', class: "sd-select-listbox", style: cssVars }, this.showSearch && (hAsync("sd-select-list-item-search", { key: 'bd79903b4799e6a074895e0ea2b0987a4775a8e0', isScrolled: this.isScrolled, onSdSearchFilter: this.handleSearchFilter })), hAsync("div", { key: '08c5e0a70837025d62b08d85b0f5044b826dc133', class: "sd-select-listbox__list", onScroll: this.handleScroll, ref: el => {
15846
+ return (hAsync("div", { key: '6ca1107a8aadc1fbae26f3d8d3385b355981b65e', class: "sd-select-listbox", style: cssVars }, this.showSearch && (hAsync("sd-select-list-item-search", { key: '8612b45a4e9b7d2701b8decd6865ebb50d6fcaa3', isScrolled: this.isScrolled, onSdSearchFilter: this.handleSearchFilter })), hAsync("div", { key: 'c02c9c1d96176f94d2f83c66ad3e7cc0946c0270', class: "sd-select-listbox__list", onScroll: this.handleScroll, ref: el => {
15293
15847
  this.listEl = el;
15294
- } }, this.showSelectAll && (hAsync("sd-select-list-item", { key: '918c481cc05f4839d6a133e68a90c68ddfac5fba', option: SdSelectListbox.SELECT_ALL_OPTION, depth: 1, isSelected: this.selectAllState, isFocused: this.isOptionFocused(SdSelectListbox.SELECT_ALL_OPTION), useCheckbox: true, onSdListItemClick: this.handleSelectAllClick, onMouseEnter: () => this.handleOptionHover(SdSelectListbox.SELECT_ALL_OPTION) })), this.isEmpty ? (hAsync("div", { class: "sd-select-listbox__empty" }, EMPTY_MESSAGE)) : this.isDepth ? (this.renderOptions(this.filteredOptions)) : (this.filteredOptions.map(option => (hAsync("sd-select-list-item", { option: option, depth: 1, isSelected: this.isOptionSelected(option), isFocused: this.isOptionFocused(option), useCheckbox: this.isMulti, onSdListItemClick: this.handleOptionClick, onMouseEnter: () => this.handleOptionHover(option) })))))));
15848
+ } }, this.showSelectAll && (hAsync("sd-select-list-item", { key: 'f4fe1769d14812ba63fb73ff21ebfdaaf9d76409', option: SdSelectListbox.SELECT_ALL_OPTION, depth: 1, isSelected: this.selectAllState, isFocused: this.isOptionFocused(SdSelectListbox.SELECT_ALL_OPTION), useCheckbox: true, onSdListItemClick: this.handleSelectAllClick, onMouseEnter: () => this.handleOptionHover(SdSelectListbox.SELECT_ALL_OPTION) })), this.isEmpty ? (hAsync("div", { class: "sd-select-listbox__empty" }, EMPTY_MESSAGE)) : this.isDepth ? (this.renderOptions(this.filteredOptions)) : (this.filteredOptions.map(option => (hAsync("sd-select-list-item", { option: option, depth: 1, isSelected: this.isOptionSelected(option), isFocused: this.isOptionFocused(option), useCheckbox: this.isMulti, onSdListItemClick: this.handleOptionClick, onMouseEnter: () => this.handleOptionHover(option) })))))));
15295
15849
  }
15296
15850
  static get watchers() { return {
15297
15851
  "searchKeyword": [{
@@ -15331,14 +15885,22 @@ class SdSelectTrigger {
15331
15885
  this.triggerFocus = createEvent(this, "sdTriggerFocus", 7);
15332
15886
  this.triggerBlur = createEvent(this, "sdTriggerBlur", 7);
15333
15887
  }
15888
+ /** 표시할 선택된 값 텍스트 */
15334
15889
  displayText = '';
15890
+ /** 미선택 상태 플레이스홀더 */
15335
15891
  placeholder = '선택';
15892
+ /** 비활성 상태 여부 */
15336
15893
  disabled = false;
15894
+ /** 드롭다운 열림 상태 */
15337
15895
  isOpen = false;
15896
+ /** 트리거 클릭 시 발생합니다. */
15338
15897
  triggerClick;
15898
+ /** 트리거 포커스 시 발생합니다. */
15339
15899
  triggerFocus;
15900
+ /** 트리거 블러 시 발생합니다. */
15340
15901
  triggerBlur;
15341
15902
  triggerEl;
15903
+ /** 트리거 엘리먼트에 포커스를 이동합니다. */
15342
15904
  async sdFocus() {
15343
15905
  if (this.disabled)
15344
15906
  return;
@@ -15372,7 +15934,7 @@ class SdSelectTrigger {
15372
15934
  ? SELECT_COLORS.icon.disabled
15373
15935
  : SELECT_COLORS.icon.default,
15374
15936
  };
15375
- return (hAsync("div", { key: '361344e040569fa6f7c2b5d16762d9b2120ca50e', ref: el => {
15937
+ return (hAsync("div", { key: '7f5940ce19feb2d3ae9b2cbb6b5fdeb6d0151f61', ref: el => {
15376
15938
  this.triggerEl = el;
15377
15939
  }, role: "button", "aria-haspopup": "listbox", "aria-expanded": this.isOpen ? 'true' : 'false', tabindex: this.disabled ? -1 : 0, class: {
15378
15940
  'sd-select-trigger': true,
@@ -15383,7 +15945,7 @@ class SdSelectTrigger {
15383
15945
  e.preventDefault();
15384
15946
  this.handleClick();
15385
15947
  }
15386
- }, onFocus: this.handleFocus, onBlur: this.handleBlur }, hAsync("div", { key: '3ccbf7c188ca90dc8ba94f10ef2fa3f7cea70076', class: "sd-select-trigger__content" }, hasValue && isHtmlLabel(this.displayText) ? (hAsync("span", { class: "sd-select-trigger__text", ref: el => el && (el.innerHTML = sanitizeInlineHtml(this.displayText)) })) : (hAsync("span", { class: "sd-select-trigger__text" }, hasValue ? this.displayText : (this.placeholder ?? '선택'))), hAsync("sd-icon", { key: '623f1f83d7b8c89e64f9ec8d8e3261bd771c45b4', name: "chevronDown", size: 12, color: "var(--trigger-icon-color)", class: {
15948
+ }, onFocus: this.handleFocus, onBlur: this.handleBlur }, hAsync("div", { key: 'b50dea3450ee6fd2bf30811cc33facf00761f0d1', class: "sd-select-trigger__content" }, hasValue && isHtmlLabel(this.displayText) ? (hAsync("span", { class: "sd-select-trigger__text", ref: el => el && (el.innerHTML = sanitizeInlineHtml(this.displayText)) })) : (hAsync("span", { class: "sd-select-trigger__text" }, hasValue ? this.displayText : (this.placeholder ?? '선택'))), hAsync("sd-icon", { key: '778b3d1c738951f9a18950b668a34a1bc36006ca', name: "chevronDown", size: 12, color: "var(--trigger-icon-color)", class: {
15387
15949
  'sd-select-trigger__icon': true,
15388
15950
  'sd-select-trigger__icon--open': this.isOpen,
15389
15951
  } }))));
@@ -15468,9 +16030,13 @@ class SdSwitch {
15468
16030
  registerInstance(this, hostRef);
15469
16031
  this.change = createEvent(this, "sdUpdate", 7);
15470
16032
  }
16033
+ /** 현재 on/off 상태 */
15471
16034
  value = false;
16035
+ /** 표시할 라벨 텍스트 */
15472
16036
  label = '';
16037
+ /** 비활성 상태 여부 */
15473
16038
  disabled = false;
16039
+ /** 상태가 변경될 때 발생합니다. */
15474
16040
  change;
15475
16041
  get switchClasses() {
15476
16042
  const classes = ['sd-switch', this.value ? 'sd-switch--on' : 'sd-switch--off'];
@@ -15508,7 +16074,7 @@ class SdSwitch {
15508
16074
  '--sd-switch-line-height': `${SWITCH_TYPOGRAPHY.lineHeight}px`,
15509
16075
  '--sd-switch-text-decoration': SWITCH_TYPOGRAPHY.textDecoration,
15510
16076
  };
15511
- return (hAsync("label", { key: '4746eeb0cd3b977be3bc537c30cbf58c51d3a8fc', "aria-label": this.label || 'switch', class: this.switchClasses, style: cssVars }, hAsync("input", { key: 'f022803741f2ac787a8993a2d987eedc5d6c8f24', type: "checkbox", checked: this.value, disabled: this.disabled, onInput: this.handleChange }), hAsync("div", { key: 'd8684dcb2b446885f849e6f00d773ef340e37c73', class: "sd-switch__track" }, hAsync("div", { key: '572bd3dd7f65c9a9fd36c27b4444b0e653ae2b23', class: "sd-switch__knob" })), this.label && hAsync("span", { key: '5228763c541a4bc0a71bfb457a4432dca01d452f', class: "sd-switch__label" }, this.label)));
16077
+ return (hAsync("label", { key: '2cbee35194a8218f1526ecd26d0ff0cc660ed5fb', "aria-label": this.label || 'switch', class: this.switchClasses, style: cssVars }, hAsync("input", { key: '8c9a330a7b69035ace0644f0a2cab8f6f8672bfd', type: "checkbox", checked: this.value, disabled: this.disabled, onInput: this.handleChange }), hAsync("div", { key: '738a28fb9c26628d6b67f03d0b75f4155ad85966', class: "sd-switch__track" }, hAsync("div", { key: '91b7bac6c4e48d1b5b1331713620a132e9921906', class: "sd-switch__knob" })), this.label && hAsync("span", { key: 'a9cdfb08c240f3d6a15bef3e119c0c02f3fe3462', class: "sd-switch__label" }, this.label)));
15512
16078
  }
15513
16079
  static get style() { return sdSwitchCss(); }
15514
16080
  static get cmpMeta() { return {
@@ -15631,28 +16197,48 @@ class SdTable {
15631
16197
  }
15632
16198
  static DEFAULT_NO_DATA_LABEL = '데이터가 없습니다.';
15633
16199
  get el() { return getElement(this); }
16200
+ /** 테이블 고유 ID (자식 슬롯 매핑에 사용) */
15634
16201
  tableId = nanoid(8);
15635
16202
  fallbackTableId = nanoid(8);
16203
+ /** 컬럼 정의 목록 */
15636
16204
  columns = [];
16205
+ /** 행 데이터 배열 */
15637
16206
  rows;
16207
+ /** 현재 선택된 행 목록 */
15638
16208
  selected = [];
16209
+ /** 행 고유 식별 필드명 */
15639
16210
  rowKey = 'id';
16211
+ /** 행 선택(체크박스) 기능 활성화 여부 */
15640
16212
  selectable = false;
16213
+ /** 컬럼 너비 조절 기능 활성화 여부 */
15641
16214
  resizable = false;
16215
+ /** 테이블 너비 */
15642
16216
  width;
16217
+ /** 테이블 높이 */
15643
16218
  height;
16219
+ /** 헤더 고정(sticky) 여부 */
15644
16220
  stickyHeader = false;
16221
+ /** 고정할 좌우 컬럼 수 */
15645
16222
  stickyColumn = { left: 0, right: 0 };
16223
+ /** border-radius 제어 */
15646
16224
  radius = 'default';
16225
+ /** 데이터 없을 때 표시할 메시지 */
15647
16226
  noDataLabel = SdTable.DEFAULT_NO_DATA_LABEL;
15648
16227
  resolvedNoDataLabel = SdTable.DEFAULT_NO_DATA_LABEL;
16228
+ /** 로딩 스피너 표시 여부 */
15649
16229
  isLoading = false;
16230
+ /** 페이지네이션 옵션 */
15650
16231
  pagination;
16232
+ /** 테이블 내부에서 페이지네이션을 직접 관리할지 여부 */
15651
16233
  useInternalPagination = false;
16234
+ /** 페이지당 행 수 선택 셀렉트 표시 여부 */
15652
16235
  useRowsPerPageSelect = false;
16236
+ /** 행 높이를 줄인 조밀 모드 여부 */
15653
16237
  dense = false;
15654
16238
  // ─── Virtual Scroll ───────────────────────────────────────────────
16239
+ /** 가상 스크롤 사용 여부 */
15655
16240
  useVirtualScroll = false;
16241
+ /** 가상 스크롤 행 높이 (px, 없으면 dense 여부에 따라 자동) */
15656
16242
  rowHeight;
15657
16243
  get effectiveRowHeight() {
15658
16244
  if (this.rowHeight != null)
@@ -15661,19 +16247,27 @@ class SdTable {
15661
16247
  ? Number(TABLE_BODY_LAYOUT.dense.height)
15662
16248
  : Number(TABLE_BODY_LAYOUT.default.height);
15663
16249
  }
16250
+ /** 가상 스크롤 상하 버퍼 행 수 */
15664
16251
  virtualBuffer = 5;
16252
+ /** 가상 스크롤 끝 도달 감지 임계값 (마지막 N행 이내에 들어오면 이벤트 발생) */
15665
16253
  virtualEndThreshold = 10;
15666
16254
  // ─────────────────────────────────────────────────────────────────
16255
+ /** 페이지당 행 수 선택 옵션 목록 */
15667
16256
  rowsPerPageOption = [
15668
16257
  { label: '10개씩 보기', value: 10 },
15669
16258
  { label: '25개씩 보기', value: 25 },
15670
16259
  { label: '50개씩 보기', value: 50 },
15671
16260
  { label: '100개씩 보기', value: 100 },
15672
16261
  ];
16262
+ /** 행 선택 상태가 변경될 때 선택된 행 목록을 전달합니다. */
15673
16263
  sdSelectChange;
16264
+ /** 페이지가 변경될 때 새 페이지 번호를 전달합니다. */
15674
16265
  sdPageChange;
16266
+ /** 페이지당 행 수가 변경될 때 발생합니다. */
15675
16267
  sdRowsPerPageChange;
16268
+ /** 가상 스크롤 가시 범위가 변경될 때 발생합니다. */
15676
16269
  sdVirtualUpdate;
16270
+ /** 가상 스크롤이 끝 임계값에 도달할 때 발생합니다. */
15677
16271
  sdVirtualReachEnd;
15678
16272
  currentPage = 1;
15679
16273
  innerRowsPerPage = 10;
@@ -16078,6 +16672,7 @@ class SdTable {
16078
16672
  isRowSelectedSync(row) {
16079
16673
  return Array.from(this.innerSelected).some(r => r[this.rowKey ?? 'id'] === row[this.rowKey ?? 'id']);
16080
16674
  }
16675
+ /** 행이 선택되어 있는지 확인합니다. */
16081
16676
  async isRowSelected(row) {
16082
16677
  return this.isRowSelectedSync(row);
16083
16678
  }
@@ -16094,6 +16689,7 @@ class SdTable {
16094
16689
  this.sdSelectChange.emit(Array.from(this.innerSelected));
16095
16690
  this.refreshChildrenSelection();
16096
16691
  }
16692
+ /** 행 선택 상태를 토글합니다. */
16097
16693
  async updateRowSelect(row) {
16098
16694
  this.updateRowSelectSync(row);
16099
16695
  }
@@ -16110,6 +16706,7 @@ class SdTable {
16110
16706
  this.sdSelectChange.emit(Array.from(this.innerSelected));
16111
16707
  this.refreshChildrenSelection();
16112
16708
  }
16709
+ /** 전체 행 선택/해제를 처리합니다. */
16113
16710
  async toggleSelectAll(checked, rows) {
16114
16711
  this.toggleSelectAllSync(checked, rows);
16115
16712
  }
@@ -16122,6 +16719,7 @@ class SdTable {
16122
16719
  return true;
16123
16720
  return null; // indeterminate
16124
16721
  }
16722
+ /** 전체 선택 체크 상태를 반환합니다 (true/false/null=indeterminate). */
16125
16723
  async getIsAllChecked(rows) {
16126
16724
  return this.getIsAllCheckedSync(rows);
16127
16725
  }
@@ -16212,6 +16810,7 @@ class SdTable {
16212
16810
  }
16213
16811
  return base;
16214
16812
  }
16813
+ /** 지정한 컬럼 인덱스의 sticky 스타일 객체를 반환합니다. */
16215
16814
  async getStickyStyle(colIdx) {
16216
16815
  return this.getStickyStyleSync(colIdx);
16217
16816
  }
@@ -16351,6 +16950,7 @@ class SdTable {
16351
16950
  this.propagateVirtualUpdate(true);
16352
16951
  }
16353
16952
  }
16953
+ /** 가상 스크롤 총 행 수를 설정합니다. */
16354
16954
  async setRowCount(count) {
16355
16955
  this.setRowCountSync(count);
16356
16956
  }
@@ -16378,6 +16978,7 @@ class SdTable {
16378
16978
  rowsPerPage: this.innerRowsPerPage,
16379
16979
  };
16380
16980
  }
16981
+ /** 현재 페이지네이션 상태(startIndex, endIndex, currentPage, rowsPerPage)를 반환합니다. */
16381
16982
  async getPaginationInfo() {
16382
16983
  return this.getPaginationInfoSync();
16383
16984
  }
@@ -16441,25 +17042,25 @@ class SdTable {
16441
17042
  '--table-selectable-width': `${TABLE_SELECTABLE_COLUMN_WIDTH}px`,
16442
17043
  '--table-host-height': hostHeight,
16443
17044
  };
16444
- return (hAsync(Host, { key: 'f5a5a2d4012f069619d110dcd9c2d5e6bd446407', style: hostStyle }, hAsync("div", { key: '96ca8b8e4291ac077a6e1b6d3eed897777817b25', class: "sd-table__container", style: {
17045
+ return (hAsync(Host, { key: '2606b0d7fc3657a8021a6dfc64672996b756f762', style: hostStyle }, hAsync("div", { key: '4def416edfe630ead35b80cb2f04081a89740f62', class: "sd-table__container", style: {
16445
17046
  '--table-width': this.width,
16446
17047
  '--pagination-height': `${paginationHeight}px`,
16447
- } }, hAsync("div", { key: 'd8225691e78e5fe5341f03def8ad1d6dfb057056', class: {
17048
+ } }, hAsync("div", { key: '316a359f2be84895719f452e056dcd2f54cd5b56', class: {
16448
17049
  'sd-table__wrapper': true,
16449
17050
  'sd-table__wrapper--radius-useTop': this.radius === 'useTop',
16450
17051
  'sd-table__wrapper--radius-full': this.radius === 'full',
16451
- } }, hAsync("div", { key: 'fb8403bd7587a4d1fcbb77b1fe226ae0aa27be7a', class: {
17052
+ } }, hAsync("div", { key: 'e798b58104f56b3250a7d74261a8c320a8049f28', class: {
16452
17053
  'sd-table__scroll-container': true,
16453
17054
  'sd-table__scroll-container--loading': this.isLoading,
16454
17055
  'sd-table__scroll-container--no-data': isNoData,
16455
- } }, this.isLoading && (hAsync("div", { key: '4202fa1f03feff066f9779c5eb21c3b0c96f5cf3', class: "sd-table__loading", style: { top: `${this.loadingScrollTop}px` } }, hAsync("sd-circle-progress", { key: '394c52823f5c24f288d51b34daec6f228de119d7', indeterminate: true }))), isNoData && (hAsync(hAsync.Fragment, null, hAsync("div", { key: 'bb1d3d8b592194006bea7cd5ab2efc587f9abc44', class: "sd-table__no-data-header-overlay" }), hAsync("div", { key: 'c34df2b4f35c7ea8b5bbe6cf49dc354e11dac344', class: "sd-table__no-data" }, hAsync("div", { key: '05006aacc2c242606ba8585ee0bdea50eea1b688', class: "sd-table__no-data-content", ref: el => {
17056
+ } }, this.isLoading && (hAsync("div", { key: 'af91877075c8d4ed8b608bdfdc7f04bd844f5574', class: "sd-table__loading", style: { top: `${this.loadingScrollTop}px` } }, hAsync("sd-circle-progress", { key: '2422c7020046fa468dbaaf34220230737cb6b02e', indeterminate: true }))), isNoData && (hAsync(hAsync.Fragment, null, hAsync("div", { key: 'bd5c2237d8c3a34cc4bf12a187f471e22ce02efd', class: "sd-table__no-data-header-overlay" }), hAsync("div", { key: '1e0da67564879a175e89a3482195742b1b4451dc', class: "sd-table__no-data" }, hAsync("div", { key: '391bc76e748d64b84c39de669396b2f5f288e5a1', class: "sd-table__no-data-content", ref: el => {
16456
17057
  this.noDataContentEl = el;
16457
17058
  if (el)
16458
17059
  this.syncNoDataContentObserver();
16459
- } }, hAsync("slot", { key: 'ad707be9bc8062da5a6236c9833176adb7b95851', name: "no-data" }, hAsync("span", { key: '3aa57b547e05bd455829cff770c435af2ac78383' }, this.resolvedNoDataLabel)))))), hAsync("table", { key: '6b2958f14d9708a49e3cbaff7cdb3653f7267e1c', class: this.tableClasses }, this.autoThead ? (hAsync("slot", { name: `${resolvedTableId}-head`, onSlotchange: this.handleStructureSlotChange }, hAsync("sd-thead", { rows: this.rows ?? [] }))) : (hAsync("slot", { name: `${resolvedTableId}-head`, onSlotchange: this.handleStructureSlotChange })), this.autoTbody ? (hAsync("slot", { name: `${resolvedTableId}-body`, onSlotchange: this.handleStructureSlotChange }, hAsync("sd-tbody", { rows: this.rows ?? [] }, this.renderAutoRows()))) : (hAsync("slot", { name: `${resolvedTableId}-body`, onSlotchange: this.handleStructureSlotChange }))))), this.pagination &&
17060
+ } }, hAsync("slot", { key: '3e2e26f4951d9b834ae811906c137a78067fecab', name: "no-data" }, hAsync("span", { key: '54ed0371d60f5312376d8ffab50efd9ec0947729' }, this.resolvedNoDataLabel)))))), hAsync("table", { key: '46cab11834ca3f5aa9010bd6f603d301b2a54c9c', class: this.tableClasses }, this.autoThead ? (hAsync("slot", { name: `${resolvedTableId}-head`, onSlotchange: this.handleStructureSlotChange }, hAsync("sd-thead", { rows: this.rows ?? [] }))) : (hAsync("slot", { name: `${resolvedTableId}-head`, onSlotchange: this.handleStructureSlotChange })), this.autoTbody ? (hAsync("slot", { name: `${resolvedTableId}-body`, onSlotchange: this.handleStructureSlotChange }, hAsync("sd-tbody", { rows: this.rows ?? [] }, this.renderAutoRows()))) : (hAsync("slot", { name: `${resolvedTableId}-body`, onSlotchange: this.handleStructureSlotChange }))))), this.pagination &&
16460
17061
  this.pagination.rowsPerPage > 0 &&
16461
17062
  this.rowCount > 0 &&
16462
- !this.useVirtualScroll && (hAsync("div", { key: '950e80fdb6c06af2b4423e3b0c75ded7cfe4a298', class: "sd-table__pagination" }, hAsync("sd-pagination", { key: '3257c7b631c262c9ddadbd23c83f2eb43f9bf7f5', currentPage: !this.useInternalPagination ? this.pagination.page : this.currentPage, lastPage: !this.useInternalPagination ? this.pagination.lastPage : this.lastPageNumber, onSdPageChange: (e) => this.changePage(e.detail) }), this.useRowsPerPageSelect && (hAsync("sd-select", { key: '7bb00889139aa7dbee4723efac511753afcb15e9', value: this.useInternalPagination
17063
+ !this.useVirtualScroll && (hAsync("div", { key: 'b9c738172d4e2993f15f6a7e051406d3b7e8d568', class: "sd-table__pagination" }, hAsync("sd-pagination", { key: '62c199e61dd2010f2c19aabb3599d75a561ef83d', currentPage: !this.useInternalPagination ? this.pagination.page : this.currentPage, lastPage: !this.useInternalPagination ? this.pagination.lastPage : this.lastPageNumber, onSdPageChange: (e) => this.changePage(e.detail) }), this.useRowsPerPageSelect && (hAsync("sd-select", { key: '5f305858818e720bf5a53499777d2f5aac843487', value: this.useInternalPagination
16463
17064
  ? this.innerRowsPerPage
16464
17065
  : this.pagination.rowsPerPage, options: this.rowsPerPageOption, width: "128px", emitValue: true, onSdUpdate: e => {
16465
17066
  if (!this.isRowsPerPageValue(e.detail))
@@ -16693,11 +17294,17 @@ class SdTabs {
16693
17294
  registerInstance(this, hostRef);
16694
17295
  this.update = createEvent(this, "sdUpdate", 7);
16695
17296
  }
17297
+ /** 현재 선택된 탭 value */
16696
17298
  value;
17299
+ /** 탭 옵션 목록 */
16697
17300
  tabs = [];
17301
+ /** 탭 크기 */
16698
17302
  size = 'md';
17303
+ /** true이면 서브 탭 스타일 적용 */
16699
17304
  isSub = false;
17305
+ /** true이면 탭을 세로로 배치 */
16700
17306
  vertical = false;
17307
+ /** 탭이 변경될 때 새 value를 전달합니다. */
16701
17308
  update;
16702
17309
  valueChanged(newValue) {
16703
17310
  this.value = newValue;
@@ -16764,7 +17371,7 @@ class SdTabs {
16764
17371
  };
16765
17372
  }
16766
17373
  render() {
16767
- return (hAsync("div", { key: 'c2a2bd86833267ca4b47e7c6420e04a504af05f5', class: this.getContainerClasses(), style: this.buildCssVars() }, this.tabs.map((tab, index) => {
17374
+ return (hAsync("div", { key: 'd8d86075bbf5e13444f99e57cf63c2f5b9ef28fc', class: this.getContainerClasses(), style: this.buildCssVars() }, this.tabs.map((tab, index) => {
16768
17375
  const badgeName = this.getBadgeName(tab);
16769
17376
  return (hAsync("div", { key: `tab-${index}`, role: "tab", tabindex: 0, "aria-selected": tab.value === this.value ? 'true' : 'false', class: this.getTabClasses(tab), "aria-label": tab.label || 'tab', onClick: () => this.handleTabClick(tab), onKeyDown: e => {
16770
17377
  if (e.key === 'Enter' || e.key === ' ') {
@@ -16977,11 +17584,14 @@ class SdTag {
16977
17584
  constructor(hostRef) {
16978
17585
  registerInstance(this, hostRef);
16979
17586
  }
17587
+ /** 태그 프리셋 이름 */
16980
17588
  name = 'square_sm_grey';
17589
+ /** 표시할 레이블 텍스트 */
16981
17590
  label = '';
17591
+ /** 아이콘명 */
16982
17592
  icon;
16983
17593
  // 아이콘이 좌측 배치되는 게 자연스러운 default. prop 이름 변경(isRight 등)은 public API breaking 이라 별도 이슈로 분리.
16984
- // eslint-disable-next-line stencil/ban-default-true
17594
+ /** true이면 아이콘을 레이블 왼쪽에 배치 */
16985
17595
  isLeft = true;
16986
17596
  componentWillLoad() {
16987
17597
  this.name = this.name ?? 'square_sm_grey';
@@ -17003,7 +17613,7 @@ class SdTag {
17003
17613
  render() {
17004
17614
  const config = this.resolvedConfig;
17005
17615
  const iconNode = this.renderIcon(config.icon, config.iconSize);
17006
- return (hAsync("span", { key: '3117d8d5f3d9751dc193e426dbab7e0ead9fb369', class: "sd-tag", style: {
17616
+ return (hAsync("span", { key: '09cc181654983b64dec9860fdf656677ebcfcd15', class: "sd-tag", style: {
17007
17617
  '--sd-tag-background': config.background,
17008
17618
  '--sd-tag-content': config.content,
17009
17619
  '--sd-tag-height': config.height,
@@ -17013,7 +17623,7 @@ class SdTag {
17013
17623
  '--sd-tag-font-weight': config.fontWeight,
17014
17624
  '--sd-tag-line-height': config.lineHeight,
17015
17625
  '--sd-tag-radius': config.radius,
17016
- }, "aria-label": this.label || 'tag' }, this.icon && this.isLeft && iconNode, hAsync("span", { key: '8c299f140dc5bd026ed52d3f0921939bbf69fdd5', class: "sd-tag__label" }, this.label), this.icon && !this.isLeft && iconNode));
17626
+ }, "aria-label": this.label || 'tag' }, this.icon && this.isLeft && iconNode, hAsync("span", { key: '044ab51afc474799b400c608fd5531bed9a7ad18', class: "sd-tag__label" }, this.label), this.icon && !this.isLeft && iconNode));
17017
17627
  }
17018
17628
  static get style() { return sdTagCss(); }
17019
17629
  static get cmpMeta() { return {
@@ -17038,6 +17648,7 @@ class SdTbody {
17038
17648
  registerInstance(this, hostRef);
17039
17649
  }
17040
17650
  get el() { return getElement(this); }
17651
+ /** 렌더링할 행 데이터 목록 */
17041
17652
  rows = [];
17042
17653
  tableId = '';
17043
17654
  topSpacerHeight = 0;
@@ -17081,9 +17692,9 @@ class SdTbody {
17081
17692
  }
17082
17693
  }
17083
17694
  render() {
17084
- return (hAsync(Host, { key: 'ae49b4a7e18afd3d44d07e7da6c3663a6a043796', slot: `${this.tableId}-body` }, hAsync("tbody", { key: '7275cf9214f6917c5437b8a72a06cde3ca48dc8c', class: { tbody: true } }, [
17695
+ return (hAsync(Host, { key: '0f85168b22221551714f3c75bd12c366538cc5ec', slot: `${this.tableId}-body` }, hAsync("tbody", { key: 'f9a8528d40c51988cfbca2c349905dafdafce8d3', class: { tbody: true } }, [
17085
17696
  this.topSpacerHeight > 0 && (hAsync("tr", { key: "spacer-top", class: "tbody__spacer", style: { height: `${this.topSpacerHeight}px`, display: 'block' } })),
17086
- hAsync("slot", { key: '6455be878c24df5371e094fbfe9687ddb992e0e6' }),
17697
+ hAsync("slot", { key: '7ecfe2f730b4c909d394fdee2d9aa015c5410cb4' }),
17087
17698
  this.bottomSpacerHeight > 0 && (hAsync("tr", { key: "spacer-bottom", class: "tbody__spacer", style: { height: `${this.bottomSpacerHeight}px`, display: 'block' } })),
17088
17699
  ])));
17089
17700
  }
@@ -17115,18 +17726,27 @@ class SdTd {
17115
17726
  registerInstance(this, hostRef);
17116
17727
  }
17117
17728
  get el() { return getElement(this); }
17729
+ /** 데이터 필드명 (슬롯 이름 생성에 사용) */
17118
17730
  field;
17731
+ /** 행 식별 키 */
17119
17732
  rowKey;
17733
+ /** 셀 내용 정렬 */
17120
17734
  align;
17735
+ /** 행 병합 수 */
17121
17736
  rowspan;
17737
+ /** 열 병합 수 */
17122
17738
  colspan;
17123
17739
  // sd-tr가 그리는 실제 <td>에 머지될 사용자 클래스.
17124
17740
  // <sd-td> 호스트는 display:contents라 호스트의 class는 시각 효과가 없기 때문에,
17125
17741
  // 이 prop을 통해 sd-table 레지스트리에 등록 → sd-tr가 td 렌더 시 합쳐 사용한다.
17742
+ /** td에 병합할 사용자 클래스 */
17126
17743
  sdClass;
17744
+ /** 좌측 구분선 표시 여부 */
17127
17745
  dividerLeft = false;
17746
+ /** 우측 구분선 표시 여부 */
17128
17747
  dividerRight = false;
17129
17748
  // true이면 이 셀이 속한 행 전체가 dense를 무시하고 default 레이아웃으로 동작한다.
17749
+ /** frame 레이아웃 사용 여부 */
17130
17750
  useFrame = false;
17131
17751
  handleFieldChange(_newField, oldField) {
17132
17752
  this.syncSlotName();
@@ -17258,7 +17878,7 @@ class SdTd {
17258
17878
  }
17259
17879
  }
17260
17880
  render() {
17261
- return (hAsync(Host, { key: 'ed5419d9190514381bb8fe43a8588c7d88983527', class: { [`align-${this.align}`]: Boolean(this.align) } }, hAsync("slot", { key: '308d16388614375c94bd4c5efc8e173b56b4af2a' })));
17881
+ return (hAsync(Host, { key: 'd7cea28b006a4903fab00e7a709252e6009f911f', class: { [`align-${this.align}`]: Boolean(this.align) } }, hAsync("slot", { key: '1d8695ff6c6890838e4b18ec4da1d7ff6a5c8858' })));
17262
17882
  }
17263
17883
  static get watchers() { return {
17264
17884
  "field": [{
@@ -17423,14 +18043,23 @@ class SdTextLink {
17423
18043
  registerInstance(this, hostRef);
17424
18044
  this.click = createEvent(this, "sdClick", 7);
17425
18045
  }
18046
+ /** 표시할 레이블 텍스트 */
17426
18047
  label = '';
18048
+ /** 좌측 아이콘명 */
17427
18049
  icon = '';
18050
+ /** 좌측 아이콘 색상 */
17428
18051
  iconColor = '';
18052
+ /** 레이블 span에 추가할 클래스 */
17429
18053
  labelClass = '';
18054
+ /** 우측 화살표 타입 */
17430
18055
  rightArrow = 'none';
18056
+ /** 밑줄 스타일 여부 */
17431
18057
  underline = false;
18058
+ /** 비활성 상태 여부 */
17432
18059
  disabled = false;
18060
+ /** 텍스트 크기 */
17433
18061
  size = 'sm';
18062
+ /** 클릭 시 발생합니다. */
17434
18063
  click;
17435
18064
  handleClick = () => {
17436
18065
  if (this.disabled)
@@ -17452,7 +18081,7 @@ class SdTextLink {
17452
18081
  '--sd-text-link-text-decoration': typo.textDecoration,
17453
18082
  ...(this.disabled ? { '--sd-text-link-color': TEXT_LINK_COLORS.content.disabled } : {}),
17454
18083
  };
17455
- return (hAsync("span", { key: '74e9dd05f3efa3ecfec4edca1b74c29bb7207894', role: "button", tabindex: this.disabled ? -1 : 0, class: {
18084
+ return (hAsync("span", { key: '1b58c27c2754182b1fc6249e7e4bf52f42d1d11d', role: "button", tabindex: this.disabled ? -1 : 0, class: {
17456
18085
  'sd-text-link': true,
17457
18086
  'sd-text-link--disabled': this.disabled,
17458
18087
  }, style: cssVars, onClick: this.handleClick, onKeyDown: e => {
@@ -17460,13 +18089,13 @@ class SdTextLink {
17460
18089
  e.preventDefault();
17461
18090
  this.handleClick();
17462
18091
  }
17463
- } }, this.icon && (hAsync("sd-icon", { key: 'e60be0764adf889af988fd887582776d44239e07', name: this.icon, size: sizeConfig.iconSize, color: iconColor, class: "sd-text-link__icon" })), hAsync("span", { key: '17996ef0620948fe1660945e68c9bb55e62fc982', class: labelClassName }, this.label), this.rightArrow && this.rightArrow !== 'none' && (hAsync("span", { key: 'b9cfc03d4295beb9956f661032ea3fd1d9acfbe9', class: "sd-text-link__arrow", style: {
18092
+ } }, this.icon && (hAsync("sd-icon", { key: '85076e7cf4873b527606aa737c2899233dcc3d9f', name: this.icon, size: sizeConfig.iconSize, color: iconColor, class: "sd-text-link__icon" })), hAsync("span", { key: '75b16e64155770ccdb889497caea6b4240b2e8c0', class: labelClassName }, this.label), this.rightArrow && this.rightArrow !== 'none' && (hAsync("span", { key: '8dd32b1b640a8e81f306b0387f783a4c1435abd6', class: "sd-text-link__arrow", style: {
17464
18093
  width: `${TEXT_LINK_ARROW.arrowFrame}px`,
17465
18094
  height: `${TEXT_LINK_ARROW.arrowFrame}px`,
17466
18095
  display: 'inline-flex',
17467
18096
  alignItems: 'center',
17468
18097
  justifyContent: 'center',
17469
- } }, hAsync("sd-icon", { key: '6c2e4640a767acd5e66089e7e78f27c0fb8a0955', name: this.rightArrow === 'chevron' ? 'chevronRight' : 'caretRight', size: TEXT_LINK_ARROW.arrowIconSize, color: arrowColor })))));
18098
+ } }, hAsync("sd-icon", { key: '605572568dd4c2b6dcde9c932d5593e5fdb916a4', name: this.rightArrow === 'chevron' ? 'chevronRight' : 'caretRight', size: TEXT_LINK_ARROW.arrowIconSize, color: arrowColor })))));
17470
18099
  }
17471
18100
  static get style() { return sdTextLinkCss(); }
17472
18101
  static get cmpMeta() { return {
@@ -17512,38 +18141,67 @@ class SdTextarea {
17512
18141
  this.blur = createEvent(this, "sdBlur", 7);
17513
18142
  }
17514
18143
  get host() { return getElement(this); }
18144
+ /** 입력 값 */
17515
18145
  value = null;
18146
+ /** 플레이스홀더 텍스트 */
17516
18147
  placeholder = '입력해 주세요.';
18148
+ /** 비활성 상태 여부 */
17517
18149
  disabled = false;
18150
+ /** 읽기 전용 여부 */
17518
18151
  readonly = false;
18152
+ /** 마운트 시 자동 포커스 여부 */
17519
18153
  autoFocus = false;
18154
+ /** 네이티브 textarea에 추가할 클래스 */
17520
18155
  textareaClass = '';
18156
+ /** 네이티브 textarea에 적용할 인라인 스타일 */
17521
18157
  textareaStyle = {};
18158
+ /** 최대 입력 글자 수 */
17522
18159
  maxLength;
18160
+ /** textarea 기본 행 수 */
17523
18161
  rows;
18162
+ /** 맞춤법 검사 여부 */
17524
18163
  spellcheck = false;
18164
+ /** 필드 너비 (숫자면 px, 문자열이면 그대로 적용) */
17525
18165
  width = '';
17526
18166
  // props - sd-field
18167
+ /** 레이블 텍스트 */
17527
18168
  label = '';
18169
+ /** 레이블 너비 */
17528
18170
  labelWidth = '';
18171
+ /** 필드 우측 어드온 레이블 */
17529
18172
  addonLabel = '';
18173
+ /** 어드온 정렬 방향 */
17530
18174
  addonAlign = 'start';
18175
+ /** 필드 하단 힌트 텍스트 */
17531
18176
  hint = '';
18177
+ /** 에러 메시지 */
17532
18178
  errorMessage = '';
18179
+ /** 레이블 영역 아이콘 */
17533
18180
  icon = undefined;
18181
+ /** 레이블 툴팁 텍스트 */
17534
18182
  labelTooltip = '';
18183
+ /** 레이블 툴팁 상세 옵션 */
17535
18184
  labelTooltipProps = null;
18185
+ /** 유효성 검사 규칙 목록 */
17536
18186
  rules = [];
18187
+ /** 에러 상태 여부 */
17537
18188
  error = false;
18189
+ /** 필드 상태 (없으면 rules 결과로 자동 결정) */
17538
18190
  status;
18191
+ /** 포커스 상태 여부 */
17539
18192
  focused = false;
18193
+ /** 호버 상태 여부 */
17540
18194
  hovered = false;
17541
18195
  internalValue = null;
17542
18196
  nativeEl = undefined;
17543
18197
  formField;
18198
+ /** 폼 연동용 name 속성 */
17544
18199
  name = nanoid$1();
18200
+ /** 값이 변경될 때 발생합니다. */
17545
18201
  input;
18202
+ /** 포커스될 때 발생합니다. */
17546
18203
  focus;
18204
+ /** 포커스를 잃을 때 발생합니다. */
17547
18205
  blur;
17548
18206
  valueChanged(newValue) {
17549
18207
  this.internalValue = newValue;
@@ -17554,18 +18212,23 @@ class SdTextarea {
17554
18212
  this.input?.emit(this.value);
17555
18213
  }
17556
18214
  }
18215
+ /** 네이티브 textarea 엘리먼트를 반환합니다. */
17557
18216
  async sdGetNativeElement() {
17558
18217
  return this.nativeEl || null;
17559
18218
  }
18219
+ /** 유효성 검사를 실행합니다. */
17560
18220
  async sdValidate() {
17561
18221
  this.formField?.sdValidate();
17562
18222
  }
18223
+ /** 값과 유효성 상태를 초기화합니다. */
17563
18224
  async sdReset() {
17564
18225
  this.formField?.sdReset();
17565
18226
  }
18227
+ /** 유효성 상태만 초기화합니다. */
17566
18228
  async sdResetValidate() {
17567
18229
  this.formField?.sdResetValidation();
17568
18230
  }
18231
+ /** 입력 필드에 포커스를 이동합니다. */
17569
18232
  async sdFocus() {
17570
18233
  this.formField?.sdFocus();
17571
18234
  }
@@ -17614,7 +18277,7 @@ class SdTextarea {
17614
18277
  '--sd-system-size-field-sm-height': 'auto',
17615
18278
  '--sd-system-radius-field-sm': `${TEXTAREA_TOKENS.radius}px`,
17616
18279
  };
17617
- return (hAsync("sd-field", { key: '696b0aa26405687dad43ce934adbe7ec19e9b893', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, readonly: this.readonly, focused: this.focused, hovered: this.hovered, status: this.status, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, hAsync("div", { key: '69a996d757345e25ef94238f8fffa521e7b7252e', class: "sd-textarea__content" }, hAsync("textarea", { key: 'dbfcc43cbbf3bdde147f6a784df1c122bcb70b0e', name: this.name, ref: el => (this.nativeEl = el), class: `sd-textarea__native ${this.textareaClass}`, value: this.internalValue || '', placeholder: this.placeholder ?? '입력해 주세요.', disabled: this.disabled, readOnly: this.readonly, autofocus: this.autoFocus, maxLength: this.maxLength, rows: this.rows, spellcheck: this.spellcheck, onInput: this.handleInput, onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event), style: this.textareaStyle }))));
18280
+ return (hAsync("sd-field", { key: 'f8fd8949824938bb79f101de2e5eca7980224b09', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, readonly: this.readonly, focused: this.focused, hovered: this.hovered, status: this.status, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, hAsync("div", { key: '382441be15dd047888cf876006f1966256a503b7', class: "sd-textarea__content" }, hAsync("textarea", { key: '5f5985ccdcc401f4aff2f47fe40003abeb76e8b3', name: this.name, ref: el => (this.nativeEl = el), class: `sd-textarea__native ${this.textareaClass}`, value: this.internalValue || '', placeholder: this.placeholder ?? '입력해 주세요.', disabled: this.disabled, readOnly: this.readonly, autofocus: this.autoFocus, maxLength: this.maxLength, rows: this.rows, spellcheck: this.spellcheck, onInput: this.handleInput, onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event), style: this.textareaStyle }))));
17618
18281
  }
17619
18282
  static get watchers() { return {
17620
18283
  "value": [{
@@ -17668,7 +18331,7 @@ class SdTextarea {
17668
18331
  }; }
17669
18332
  }
17670
18333
 
17671
- const sdTheadCss = () => `sd-thead{display:contents}sd-thead *{box-sizing:border-box}.thead{display:table-header-group;height:var(--table-header-height, 36px)}.thead--sticky{position:sticky;top:0;z-index:120}.tr{display:table-row;width:100%}.th{display:table-cell;background:var(--table-header-bg, #F5FAFF);height:var(--table-header-height, 36px);padding:0 var(--table-header-padding-x, 16px);font-family:var(--table-header-font-family, inherit);font-weight:var(--table-header-font-weight, 500);font-size:var(--table-header-font-size, 12px);line-height:var(--table-header-line-height, 20px);text-decoration:var(--table-header-text-decoration, none);vertical-align:middle;border-bottom:var(--table-border-width, 1px) solid var(--table-border-color, #E1E1E1);-webkit-user-select:none;user-select:none;position:relative;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:keep-all}.th--selected{position:relative;width:var(--table-selectable-width, 48px) !important;max-width:var(--table-selectable-width, 48px) !important;min-width:var(--table-selectable-width, 48px) !important;text-align:center}.th--selected sd-checkbox label{position:relative}.th--selected sd-checkbox label:before{content:"";position:absolute;inset:-6px}.th.sticky-left{position:sticky;background-color:var(--table-header-bg, #F5FAFF);z-index:110 !important;left:var(--sticky-left-offset, 0)}.th.sticky-right{position:sticky;background-color:var(--table-header-bg, #F5FAFF);z-index:110 !important;right:var(--sticky-right-offset, 0)}.th.sticky-left-edge:after{content:"";position:absolute;top:0;left:100%;right:-20px;width:20px;height:100%;z-index:101 !important;box-shadow:inset 12px 0 20px -25px;opacity:0;pointer-events:none;transition:opacity 0.2s}.th.sticky-right-edge:after{content:"";position:absolute;top:0;left:-20px;width:20px;height:100%;z-index:101 !important;box-shadow:inset -12px 0 20px -25px;opacity:0;pointer-events:none;transition:opacity 0.2s}.th.sticky-left-edge.is-scrolled-left{overflow:visible}.th.sticky-left-edge.is-scrolled-left:after{opacity:1}.th.sticky-right-edge.is-scrolled-right{overflow:visible}.th.sticky-right-edge.is-scrolled-right:after{opacity:1}.th__content{display:flex;flex-flow:row nowrap;align-items:center;gap:var(--table-header-gap, 4px)}.th__content--left{justify-content:flex-start}.th__content--center{justify-content:center}.th__content--right{justify-content:flex-end}.th__content--label{white-space:nowrap;text-overflow:ellipsis;word-break:keep-all}.th__bar{position:absolute;top:50%;right:0;transform:translateY(-50%);width:var(--table-border-width, 1px);height:var(--table-header-resizer-height, 16px);z-index:3;background-color:var(--table-header-resizer-color, #CCCCCC)}.th__resizer{position:absolute;top:50%;right:0;transform:translateY(-50%);width:4px;height:var(--table-header-resizer-height, 16px);cursor:col-resize;z-index:3;border-left:var(--table-border-width, 1px) solid var(--table-header-resizer-color, #CCCCCC);border-right:var(--table-border-width, 1px) solid var(--table-header-resizer-color, #CCCCCC)}.th__resizer--left{right:auto;left:0}`;
18334
+ const sdTheadCss = () => `sd-thead{display:contents}sd-thead *{box-sizing:border-box}.thead{display:table-header-group;height:var(--table-header-height, 36px)}.thead--sticky{position:sticky;top:0;z-index:120}.tr{display:table-row;width:100%}.th{display:table-cell;background:var(--table-header-bg, #F5FAFF);height:var(--table-header-height, 36px);padding:0 var(--table-header-padding-x, 16px);font-family:var(--table-header-font-family, inherit);font-weight:var(--table-header-font-weight, 500);font-size:var(--table-header-font-size, 12px);line-height:var(--table-header-line-height, 20px);text-decoration:var(--table-header-text-decoration, none);vertical-align:middle;border-bottom:var(--table-border-width, 1px) solid var(--table-border-color, #E1E1E1);-webkit-user-select:none;user-select:none;position:relative;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:keep-all}.th--selected{position:relative;width:var(--table-selectable-width, 48px) !important;max-width:var(--table-selectable-width, 48px) !important;min-width:var(--table-selectable-width, 48px) !important;text-align:center}.th--selected sd-checkbox label{position:relative}.th--selected sd-checkbox label:before{content:"";position:absolute;inset:-6px}.th.sticky-left{position:sticky;background-color:var(--table-header-bg, #F5FAFF);z-index:110 !important;left:var(--sticky-left-offset, 0)}.th.sticky-right{position:sticky;background-color:var(--table-header-bg, #F5FAFF);z-index:110 !important;right:var(--sticky-right-offset, 0)}.th.sticky-left-edge:after{content:"";position:absolute;top:0;left:100%;right:-20px;width:20px;height:100%;z-index:101 !important;box-shadow:inset 12px 0 20px -25px;opacity:0;pointer-events:none;transition:opacity 0.2s}.th.sticky-right-edge:after{content:"";position:absolute;top:0;left:-20px;width:20px;height:100%;z-index:101 !important;box-shadow:inset -12px 0 20px -25px;opacity:0;pointer-events:none;transition:opacity 0.2s}.th.sticky-left-edge.is-scrolled-left{overflow:visible}.th.sticky-left-edge.is-scrolled-left:after{opacity:1}.th.sticky-right-edge.is-scrolled-right{overflow:visible}.th.sticky-right-edge.is-scrolled-right:after{opacity:1}.th__content{display:flex;flex-flow:row nowrap;align-items:center;gap:var(--table-header-gap, 4px)}.th__content--left{justify-content:flex-start}.th__content--center{justify-content:center}.th__content--right{justify-content:flex-end}.th__content--label{white-space:nowrap;text-overflow:ellipsis;word-break:keep-all}.th__bar{position:absolute;top:50%;right:0;transform:translateY(-50%);width:var(--table-border-width, 1px);height:var(--table-header-resizer-height, 16px);z-index:3;background-color:var(--table-header-resizer-color, #CCCCCC)}.th__dropdown-trigger{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:16px;height:16px;padding:0;border:none;background:transparent;cursor:pointer;color:inherit;border-radius:2px}.th__dropdown-trigger sd-icon{transition:transform 0.15s ease}.th__dropdown-trigger--open sd-icon{transform:rotate(180deg)}.th__resizer{position:absolute;top:50%;right:0;transform:translateY(-50%);width:4px;height:var(--table-header-resizer-height, 16px);cursor:col-resize;z-index:3;border-left:var(--table-border-width, 1px) solid var(--table-header-resizer-color, #CCCCCC);border-right:var(--table-border-width, 1px) solid var(--table-header-resizer-color, #CCCCCC)}.th__resizer--left{right:auto;left:0}`;
17672
18335
 
17673
18336
  class SdThead {
17674
18337
  constructor(hostRef) {
@@ -17676,15 +18339,25 @@ class SdThead {
17676
18339
  this.sdColumnSort = createEvent(this, "sdColumnSort", 7);
17677
18340
  }
17678
18341
  get el() { return getElement(this); }
18342
+ /** 테이블 컬럼 목록 */
17679
18343
  columns;
18344
+ /** 행 선택 기능 사용 여부 */
17680
18345
  selectable;
18346
+ /** 컬럼 너비 조절 가능 여부 */
17681
18347
  resizable;
18348
+ /** 고정 컬럼 설정 */
17682
18349
  stickyColumn;
18350
+ /** 헤더 고정 여부 */
17683
18351
  stickyHeader;
18352
+ /** 좌측 스크롤 여부 */
17684
18353
  scrolledLeft;
18354
+ /** 우측 스크롤 여부 */
17685
18355
  scrolledRight;
18356
+ /** 전체 선택 체크박스용 행 데이터 */
17686
18357
  rows = [];
18358
+ /** 컬럼 너비 목록 */
17687
18359
  columnWidths = [];
18360
+ /** 컬럼 정렬 버튼 클릭 시 발생합니다. */
17688
18361
  sdColumnSort;
17689
18362
  tableId = '';
17690
18363
  _columns = [];
@@ -17694,14 +18367,29 @@ class SdThead {
17694
18367
  _stickyHeader = false;
17695
18368
  _scrolledLeft = false;
17696
18369
  _scrolledRight = false;
18370
+ dropdownOpenMap = {};
17697
18371
  tableEl = null;
18372
+ dropdownRefs = {};
18373
+ dropdownThRefs = {};
18374
+ dropdownPortals = {};
17698
18375
  handleColumnsChange(newCols) {
17699
18376
  if (Array.isArray(newCols) && (this.columnWidths ?? []).length === 0) {
17700
18377
  this.columnWidths = newCols.map(c => (c.autoWidth ? 0 : parseInt(c.width || '120', 10)));
17701
18378
  }
17702
18379
  }
18380
+ disconnectedCallback() {
18381
+ const portals = this.dropdownPortals ?? {};
18382
+ Object.values(portals).forEach(portal => {
18383
+ if (portal?.parentNode != null)
18384
+ portal.parentNode.removeChild(portal);
18385
+ });
18386
+ }
17703
18387
  componentWillLoad() {
17704
18388
  this.syncTableContext();
18389
+ this.dropdownOpenMap = this.dropdownOpenMap ?? {};
18390
+ this.dropdownRefs = this.dropdownRefs ?? {};
18391
+ this.dropdownThRefs = this.dropdownThRefs ?? {};
18392
+ this.dropdownPortals = this.dropdownPortals ?? {};
17705
18393
  this.columnWidths = Array.isArray(this.columnWidths) ? this.columnWidths : [];
17706
18394
  this.resolveConfig();
17707
18395
  if ((this.columnWidths ?? []).length === 0) {
@@ -17711,6 +18399,36 @@ class SdThead {
17711
18399
  componentDidLoad() {
17712
18400
  this.syncTableContext();
17713
18401
  this.resolveConfig();
18402
+ this.initDropdownPortals();
18403
+ }
18404
+ // sd-portal을 body에 붙여 CSS transform 영향 없이 정확한 위치에 패널을 표시한다.
18405
+ // <slot>을 render에 두지 않고 직접 DOM 이동(slot 속성 제거)으로 Stencil 슬롯 에뮬레이션 충돌을 피한다.
18406
+ initDropdownPortals() {
18407
+ const cols = this._columns ?? [];
18408
+ const hasDropdownCols = cols.filter(c => c.hasDropdown === true);
18409
+ if (hasDropdownCols.length === 0)
18410
+ return;
18411
+ for (const col of hasDropdownCols) {
18412
+ const colName = col.name;
18413
+ // 이미 포탈이 생성된 컬럼은 건너뜀 (refreshConfig 재호출 대비)
18414
+ if ((this.dropdownPortals ?? {})[colName] != null)
18415
+ continue;
18416
+ const slotContent = this.el.querySelector(`[slot="dropdown-${colName}"]`);
18417
+ if (slotContent == null)
18418
+ continue;
18419
+ // slot 속성 제거: Stencil 슬롯 에뮬레이션이 재배포하지 못하게 한다
18420
+ slotContent.removeAttribute('slot');
18421
+ const portal = document.createElement('sd-portal');
18422
+ portal.parentRef = this.dropdownThRefs[colName] ?? null;
18423
+ portal.open = false;
18424
+ // 첫 open 전까지 포탈 호스트 자체를 숨긴다.
18425
+ // moveSlotContent()가 open=true 시 children을 독립 wrapper div로 이동하므로 이후 동작에 영향 없음.
18426
+ portal.style.display = 'none';
18427
+ portal.addEventListener('sdClose', () => this.closeDropdown(colName));
18428
+ portal.appendChild(slotContent);
18429
+ document.body.appendChild(portal);
18430
+ this.dropdownPortals[colName] = portal;
18431
+ }
17714
18432
  }
17715
18433
  syncTableContext() {
17716
18434
  // sd-table이 shadow:true이므로 fallback content로 렌더되면 closest가 경계를 못 넘는다.
@@ -17750,12 +18468,16 @@ class SdThead {
17750
18468
  this.columnWidths = [];
17751
18469
  }
17752
18470
  }
18471
+ /** 테이블 설정을 다시 불러옵니다. */
17753
18472
  async refreshConfig() {
17754
18473
  this.resolveConfig();
18474
+ this.initDropdownPortals();
17755
18475
  }
18476
+ /** 컬럼 너비를 업데이트합니다. */
17756
18477
  async setColumnWidths(widths) {
17757
18478
  this.columnWidths = Array.isArray(widths) ? widths : [];
17758
18479
  }
18480
+ /** 전체 선택 체크박스 상태를 갱신합니다. */
17759
18481
  async refreshSelection() {
17760
18482
  const checkbox = this.el.querySelector('sd-checkbox');
17761
18483
  if (checkbox) {
@@ -17794,6 +18516,28 @@ class SdThead {
17794
18516
  handleColumnSort = (col) => {
17795
18517
  this.sdColumnSort.emit({ column: col });
17796
18518
  };
18519
+ toggleDropdown(name) {
18520
+ const isOpen = this.dropdownOpenMap[name] !== true;
18521
+ const portals = this.dropdownPortals ?? {};
18522
+ const newMap = { ...this.dropdownOpenMap };
18523
+ // _columns 기준으로 순회: portals가 비어도 dropdownOpenMap은 항상 갱신됨
18524
+ for (const col of (this._columns ?? []).filter(c => c.hasDropdown === true)) {
18525
+ const shouldBeOpen = col.name === name ? isOpen : false;
18526
+ newMap[col.name] = shouldBeOpen;
18527
+ const portal = portals[col.name];
18528
+ if (portal != null)
18529
+ portal.open = shouldBeOpen;
18530
+ }
18531
+ this.dropdownOpenMap = newMap;
18532
+ }
18533
+ closeDropdown(name) {
18534
+ if (this.dropdownOpenMap[name] !== true)
18535
+ return;
18536
+ this.dropdownOpenMap = { ...this.dropdownOpenMap, [name]: false };
18537
+ const portal = (this.dropdownPortals ?? {})[name];
18538
+ if (portal != null)
18539
+ portal.open = false;
18540
+ }
17797
18541
  handleSelectAll(checked) {
17798
18542
  const nextChecked = !!checked;
17799
18543
  const safeRows = Array.isArray(this.rows) ? this.rows : [];
@@ -17810,6 +18554,8 @@ class SdThead {
17810
18554
  }
17811
18555
  render() {
17812
18556
  const safeRows = Array.isArray(this.rows) ? this.rows : [];
18557
+ const dropdownOpenMap = this.dropdownOpenMap ?? {};
18558
+ const dropdownRefs = this.dropdownRefs ?? {};
17813
18559
  const stickyLeftCount = this._stickyColumn.left || 0;
17814
18560
  const stickyRightCount = this._stickyColumn.right || 0;
17815
18561
  const stickyLeftCols = this.visibleColumns.slice(0, stickyLeftCount);
@@ -17831,22 +18577,25 @@ class SdThead {
17831
18577
  '--table-border-color': TABLE_BORDER.color,
17832
18578
  '--table-border-width': `${TABLE_BORDER.width}px`,
17833
18579
  };
17834
- return (hAsync(Host, { key: 'c25f6f9704c079d4cb93da7e65c8c15b6dedcb67', slot: `${this.tableId}-head`, style: headStyle }, hAsync("thead", { key: 'd91019378caafa2ec32dfa838eaa4d1fe815fb0d', class: {
18580
+ return (hAsync(Host, { key: '947f5e5b0e59e7e6f8a73e4fd44dbfa646cb630a', slot: `${this.tableId}-head`, style: headStyle }, hAsync("thead", { key: '2e0ffbfe9d96528c6e0082d4883fa462a18831d6', class: {
17835
18581
  'thead': true,
17836
18582
  'thead--sticky': this._stickyHeader,
17837
- } }, hAsync("tr", { key: '84e581f5c564693d356f56525f57d6b1da211442', class: "tr" }, this._selectable && (hAsync("th", { key: 'fb92e978229c32d560f46af4e90e0980c9c0a213', class: {
18583
+ } }, hAsync("tr", { key: '5843a18e1548bc6546e447d4c9213375116af0e9', class: "tr" }, this._selectable && (hAsync("th", { key: '914024ca35874747e39f1819337cd4ad1cbe733d', class: {
17838
18584
  'th': true,
17839
18585
  'th--selected': true,
17840
18586
  'sticky-left': true,
17841
18587
  'sticky-left-edge': stickyLeftCount === 0,
17842
18588
  'is-scrolled-left': stickyLeftCount === 0 && this._scrolledLeft,
17843
- }, style: { '--sticky-left-offset': '0px' } }, hAsync("sd-checkbox", { key: '157f59b56a4ef2a8529318c8beaf6f59b91e12f0', value: this.getIsAllChecked(), disabled: safeRows.length === 0, onSdUpdate: (e) => this.handleSelectAll(e.detail) }), hAsync("div", { key: 'b65e099ebe4940b26cc251961e66a375400f2379', class: "th__bar" }))), stickyLeftCols.map((col, idx) => (hAsync("th", { key: col.name, class: {
18589
+ }, style: { '--sticky-left-offset': '0px' } }, hAsync("sd-checkbox", { key: 'e07232f1f5fa02589573ddaae53ebdadbdb97674', value: this.getIsAllChecked(), disabled: safeRows.length === 0, onSdUpdate: (e) => this.handleSelectAll(e.detail) }), hAsync("div", { key: '08b504cfd4f420e76e91d649eed28c7068517044', class: "th__bar" }))), stickyLeftCols.map((col, idx) => (hAsync("th", { key: col.name, class: {
17844
18590
  'th': true,
17845
18591
  [`${col.thClass}`]: Boolean(col.thClass),
17846
18592
  'sticky-left': true,
17847
18593
  'sticky-left-edge': idx === stickyLeftCount - 1,
17848
18594
  'is-scrolled-left': idx === stickyLeftCount - 1 && this._scrolledLeft,
17849
- }, style: { ...col.thStyle, ...this.getStickyStyle(idx) } }, hAsync("div", { class: `th__content th__content--${col.align || 'left'}` }, hAsync("div", { class: "th__content--label" }, col.label), col.icon && (hAsync("sd-icon", { name: col.icon, size: "12", color: resolveTableIconColor(col.icon, col.iconColor) })), col.sort && (hAsync("sd-icon", { name: resolveSortIconName(col.sort), size: "12", color: resolveTableIconColor(resolveSortIconName(col.sort), col.iconColor), onClick: () => this.handleColumnSort(col), style: { cursor: 'pointer' } })), col.tooltip && (hAsync("sd-tooltip", { ...col.tooltipOptions }, hAsync("div", { slot: "content" }, col.tooltip.map(text => (hAsync("p", null, text))))))), this._resizable && idx !== lastColIdx && (
18595
+ }, style: { ...col.thStyle, ...this.getStickyStyle(idx) }, ref: col.hasDropdown === true ? (el => { this.dropdownThRefs[col.name] = el; }) : undefined }, hAsync("div", { class: `th__content th__content--${col.align || 'left'}` }, hAsync("div", { class: "th__content--label" }, col.label), col.icon && (hAsync("sd-icon", { name: col.icon, size: "12", color: resolveTableIconColor(col.icon, col.iconColor) })), col.sort && (hAsync("sd-icon", { name: resolveSortIconName(col.sort), size: "12", color: resolveTableIconColor(resolveSortIconName(col.sort), col.iconColor), onClick: () => this.handleColumnSort(col), style: { cursor: 'pointer' } })), col.tooltip && (hAsync("sd-tooltip", { ...col.tooltipOptions }, hAsync("div", { slot: "content" }, col.tooltip.map(text => (hAsync("p", null, text)))))), col.hasDropdown === true && (hAsync("button", { class: {
18596
+ 'th__dropdown-trigger': true,
18597
+ 'th__dropdown-trigger--open': dropdownOpenMap[col.name] === true,
18598
+ }, ref: el => { dropdownRefs[col.name] = el; }, onClick: () => this.toggleDropdown(col.name), "aria-haspopup": "listbox", "aria-expanded": dropdownOpenMap[col.name] === true ? 'true' : 'false' }, hAsync("sd-icon", { name: "chevronDown", size: "12" })))), this._resizable && idx !== lastColIdx && (
17850
18599
  // column resize 는 마우스 드래그 전용 인터랙션이라 키보드 핸들러를 두지 않는다.
17851
18600
  // eslint-disable-next-line jsx-a11y/no-static-element-interactions
17852
18601
  hAsync("div", { class: "th__resizer", onMouseDown: (evt) => this.handleResize(idx, evt) }))))), middleCols.map((col, relativeIdx) => {
@@ -17854,7 +18603,10 @@ class SdThead {
17854
18603
  return (hAsync("th", { key: col.name, class: {
17855
18604
  th: true,
17856
18605
  [`${col.thClass}`]: Boolean(col.thClass),
17857
- }, style: { ...col.thStyle, ...this.getStickyStyle(actualColIdx) } }, hAsync("div", { class: `th__content th__content--${col.align || 'left'}` }, hAsync("div", { class: "th__content--label" }, col.label), col.icon && (hAsync("sd-icon", { name: col.icon, size: "12", color: resolveTableIconColor(col.icon, col.iconColor) })), col.sort && (hAsync("sd-icon", { name: resolveSortIconName(col.sort), size: "12", color: resolveTableIconColor(resolveSortIconName(col.sort), col.iconColor), onClick: () => this.handleColumnSort(col), style: { cursor: 'pointer' } })), col.tooltip && (hAsync("sd-tooltip", { ...col.tooltipOptions }, hAsync("div", { slot: "content" }, col.tooltip.map(text => (hAsync("p", null, text))))))), this._resizable && actualColIdx !== lastColIdx && (
18606
+ }, style: { ...col.thStyle, ...this.getStickyStyle(actualColIdx) }, ref: col.hasDropdown === true ? (el => { this.dropdownThRefs[col.name] = el; }) : undefined }, hAsync("div", { class: `th__content th__content--${col.align || 'left'}` }, hAsync("div", { class: "th__content--label" }, col.label), col.icon && (hAsync("sd-icon", { name: col.icon, size: "12", color: resolveTableIconColor(col.icon, col.iconColor) })), col.sort && (hAsync("sd-icon", { name: resolveSortIconName(col.sort), size: "12", color: resolveTableIconColor(resolveSortIconName(col.sort), col.iconColor), onClick: () => this.handleColumnSort(col), style: { cursor: 'pointer' } })), col.tooltip && (hAsync("sd-tooltip", { ...col.tooltipOptions }, hAsync("div", { slot: "content" }, col.tooltip.map(text => (hAsync("p", null, text)))))), col.hasDropdown === true && (hAsync("button", { class: {
18607
+ 'th__dropdown-trigger': true,
18608
+ 'th__dropdown-trigger--open': this.dropdownOpenMap[col.name] === true,
18609
+ }, ref: el => { this.dropdownRefs[col.name] = el; }, onClick: () => this.toggleDropdown(col.name), "aria-haspopup": "listbox", "aria-expanded": this.dropdownOpenMap[col.name] === true ? 'true' : 'false' }, hAsync("sd-icon", { name: "chevronDown", size: "12" })))), this._resizable && actualColIdx !== lastColIdx && (
17858
18610
  // column resize 는 마우스 드래그 전용 인터랙션이라 키보드 핸들러를 두지 않는다.
17859
18611
  // eslint-disable-next-line jsx-a11y/no-static-element-interactions
17860
18612
  hAsync("div", { class: "th__resizer", onMouseDown: (evt) => this.handleResize(actualColIdx, evt) }))));
@@ -17866,7 +18618,10 @@ class SdThead {
17866
18618
  'sticky-right': true,
17867
18619
  'sticky-right-edge': relativeIdx === 0,
17868
18620
  'is-scrolled-right': relativeIdx === 0 && this._scrolledRight,
17869
- }, style: { ...col.thStyle, ...this.getStickyStyle(actualColIdx) } }, hAsync("div", { class: `th__content th__content--${col.align || 'left'}` }, hAsync("div", { class: "th__content--label" }, col.label), col.icon && (hAsync("sd-icon", { name: col.icon, size: "12", color: resolveTableIconColor(col.icon, col.iconColor) })), col.sort && (hAsync("sd-icon", { name: resolveSortIconName(col.sort), size: "12", color: resolveTableIconColor(resolveSortIconName(col.sort), col.iconColor), onClick: () => this.handleColumnSort(col), style: { cursor: 'pointer' } })), col.tooltip && (hAsync("sd-tooltip", { ...col.tooltipOptions }, hAsync("div", { slot: "content" }, col.tooltip.map(text => (hAsync("p", null, text))))))), this._resizable && (
18621
+ }, style: { ...col.thStyle, ...this.getStickyStyle(actualColIdx) }, ref: col.hasDropdown === true ? (el => { this.dropdownThRefs[col.name] = el; }) : undefined }, hAsync("div", { class: `th__content th__content--${col.align || 'left'}` }, hAsync("div", { class: "th__content--label" }, col.label), col.icon && (hAsync("sd-icon", { name: col.icon, size: "12", color: resolveTableIconColor(col.icon, col.iconColor) })), col.sort && (hAsync("sd-icon", { name: resolveSortIconName(col.sort), size: "12", color: resolveTableIconColor(resolveSortIconName(col.sort), col.iconColor), onClick: () => this.handleColumnSort(col), style: { cursor: 'pointer' } })), col.tooltip && (hAsync("sd-tooltip", { ...col.tooltipOptions }, hAsync("div", { slot: "content" }, col.tooltip.map(text => (hAsync("p", null, text)))))), col.hasDropdown === true && (hAsync("button", { class: {
18622
+ 'th__dropdown-trigger': true,
18623
+ 'th__dropdown-trigger--open': this.dropdownOpenMap[col.name] === true,
18624
+ }, ref: el => { this.dropdownRefs[col.name] = el; }, onClick: () => this.toggleDropdown(col.name), "aria-haspopup": "listbox", "aria-expanded": this.dropdownOpenMap[col.name] === true ? 'true' : 'false' }, hAsync("sd-icon", { name: "chevronDown", size: "12" })))), this._resizable && (
17870
18625
  // column resize 는 마우스 드래그 전용 인터랙션이라 키보드 핸들러를 두지 않는다.
17871
18626
  // eslint-disable-next-line jsx-a11y/no-static-element-interactions
17872
18627
  hAsync("div", { class: "th__resizer th__resizer--left", onMouseDown: (evt) => this.handleResize(actualColIdx, evt, true) }))));
@@ -17899,6 +18654,7 @@ class SdThead {
17899
18654
  "_stickyHeader": [32],
17900
18655
  "_scrolledLeft": [32],
17901
18656
  "_scrolledRight": [32],
18657
+ "dropdownOpenMap": [32],
17902
18658
  "refreshConfig": [64],
17903
18659
  "setColumnWidths": [64],
17904
18660
  "refreshSelection": [64]
@@ -17975,14 +18731,23 @@ class SdToast {
17975
18731
  this.close = createEvent(this, "sdClose", 7);
17976
18732
  this.buttonClick = createEvent(this, "sdButtonClick", 7);
17977
18733
  }
18734
+ /** 좌측 아이콘명 */
17978
18735
  icon;
18736
+ /** 표시할 메시지 */
17979
18737
  message;
18738
+ /** 우측 링크 URL */
17980
18739
  link;
18740
+ /** 링크 표시 레이블 (없으면 URL 표시) */
17981
18741
  linkLabel;
18742
+ /** 우측 버튼 레이블 */
17982
18743
  buttonLabel;
18744
+ /** 닫기 버튼 표시 여부 */
17983
18745
  useClose = false;
18746
+ /** 토스트 타입 (색상/아이콘 프리셋) */
17984
18747
  type = 'default';
18748
+ /** 닫기 버튼 클릭 또는 자동 닫힘 시 발생합니다. */
17985
18749
  close;
18750
+ /** 우측 버튼 클릭 시 발생합니다. */
17986
18751
  buttonClick;
17987
18752
  render() {
17988
18753
  const typeConfig = TOAST_TYPE_CONFIG[this.type] ?? TOAST_TYPE_CONFIG.default;
@@ -17991,12 +18756,12 @@ class SdToast {
17991
18756
  const linkColor = typeConfig.linkColor ?? typeConfig.content;
17992
18757
  const useDefaultCloseIntent = ['default', 'caution', 'info'].includes(this.type);
17993
18758
  const buttonName = TOAST_BUTTON_NAME_BY_TYPE[this.type] ?? TOAST_BUTTON_NAME_BY_TYPE.default;
17994
- return (hAsync("div", { key: '45a278a76dde70b17794763fa35365ac8d634194', style: {
18759
+ return (hAsync("div", { key: 'ee54d9d9821821e0c422725c94d465f1e2df7bc6', style: {
17995
18760
  '--sd-toast-bg': typeConfig.bg,
17996
18761
  '--sd-toast-text': typeConfig.content,
17997
18762
  '--sd-toast-icon': iconColor,
17998
18763
  '--sd-toast-link': linkColor,
17999
- } }, hAsync("div", { key: 'eb00957c65514153867322942ed111d24622c75b', class: "sd-toast", role: "status", "aria-live": "polite", "aria-atomic": "true" }, this.icon && (hAsync("div", { key: 'd30f442041ea963e86f8558f3ed07ceb28049ae9', class: "sd-toast__icon" }, hAsync("sd-icon", { key: '04e57935a4fe4344f3eb1338cfc436bef449805e', name: this.icon, size: iconSize, color: iconColor }))), hAsync("div", { key: '02270cd25d409d44bbd1d7932b074494d2cbeca1', class: "sd-toast__content" }, hAsync("span", { key: '5f180c70d130fc04b16901c69a399f6effa328b9', class: "sd-toast__message" }, this.message)), this.link && (hAsync("a", { key: '4fd2adab87dbdaae94c21483f66256ce773ae965', href: this.link, class: "sd-toast__link", target: "_blank", rel: "noopener noreferrer" }, this.linkLabel || this.link)), this.buttonLabel && (hAsync("sd-button", { key: '2c60553150114d6d5b99a2e86b35b4a85c4a34a4', class: "sd-toast__button", name: buttonName, label: this.buttonLabel, onSdClick: (event) => this.buttonClick.emit(event.detail) })), this.useClose && (hAsync("sd-ghost-button", { key: 'c3e01391b713286b65a05352dd39ab98790564f8', class: "sd-toast__close", icon: "close", intent: useDefaultCloseIntent ? 'default' : 'inverse', ariaLabel: "close", size: "xs", onClick: () => this.close.emit() })))));
18764
+ } }, hAsync("div", { key: 'b258e4b49fe530c778c0003516a2ad159805158a', class: "sd-toast", role: "status", "aria-live": "polite", "aria-atomic": "true" }, this.icon && (hAsync("div", { key: '850a02dd996c7d1ca214b887e0d3d9899972e319', class: "sd-toast__icon" }, hAsync("sd-icon", { key: '50d2817b160bd767a509956338347ee09a34a845', name: this.icon, size: iconSize, color: iconColor }))), hAsync("div", { key: '0200da1ef6cfa9fcafa4cacf08998a33847038dc', class: "sd-toast__content" }, hAsync("span", { key: 'af039afb2f457acded350ae2323e0bc59765a09e', class: "sd-toast__message" }, this.message)), this.link && (hAsync("a", { key: '98fdcf360ca632e9f919e01ab0dce8369a1ebe79', href: this.link, class: "sd-toast__link", target: "_blank", rel: "noopener noreferrer" }, this.linkLabel || this.link)), this.buttonLabel && (hAsync("sd-button", { key: '45202c0f969ab64e50265ee81f34fc14def26ce2', class: "sd-toast__button", name: buttonName, label: this.buttonLabel, onSdClick: (event) => this.buttonClick.emit(event.detail) })), this.useClose && (hAsync("sd-ghost-button", { key: '48f30258527ae7a8a96db9609f096f5d216246ff', class: "sd-toast__close", icon: "close", intent: useDefaultCloseIntent ? 'default' : 'inverse', ariaLabel: "close", size: "xs", onClick: () => this.close.emit() })))));
18000
18765
  }
18001
18766
  static get style() { return sdToastCss(); }
18002
18767
  static get cmpMeta() { return {
@@ -18036,15 +18801,22 @@ class SdToastContainer {
18036
18801
  this.toastDismiss = createEvent(this, "sdToastDismiss", 7);
18037
18802
  }
18038
18803
  get el() { return getElement(this); }
18804
+ /** 토스트 표시 위치 */
18039
18805
  position = 'bottom-center';
18806
+ /** 동시에 표시할 최대 토스트 수 */
18040
18807
  maxVisible = DEFAULT_MAX_VISIBLE;
18808
+ /** 자동 닫힘 지연 시간 (ms, 0이면 자동 닫힘 없음) */
18041
18809
  defaultDuration = DEFAULT_DURATION;
18810
+ /** z-index */
18042
18811
  zIndex = DEFAULT_Z_INDEX;
18043
18812
  toasts = [];
18044
18813
  expanded = false;
18045
18814
  toastRefs = new Map();
18815
+ /** 토스트가 표시될 때 발생합니다. */
18046
18816
  toastShow;
18817
+ /** 토스트가 제거될 때 발생합니다. */
18047
18818
  toastDismiss;
18819
+ /** 토스트를 생성하고 ID를 반환합니다. */
18048
18820
  async create(options) {
18049
18821
  const id = `toast-${++toastIdCounter}`;
18050
18822
  const entry = { id, options, state: 'entering' };
@@ -18069,9 +18841,11 @@ class SdToastContainer {
18069
18841
  this.toastShow.emit({ id });
18070
18842
  return id;
18071
18843
  }
18844
+ /** 지정한 ID의 토스트를 닫습니다. */
18072
18845
  async dismiss(id) {
18073
18846
  this.startDismiss(id);
18074
18847
  }
18848
+ /** 모든 토스트를 닫습니다. */
18075
18849
  async dismissAll() {
18076
18850
  (this.toasts || []).forEach(t => this.startDismiss(t.id));
18077
18851
  }
@@ -18249,7 +19023,7 @@ class SdToastContainer {
18249
19023
  const activeToasts = toasts.filter(t => t.state !== 'exiting').reverse();
18250
19024
  const indexMap = new Map();
18251
19025
  activeToasts.forEach((t, i) => indexMap.set(t.id, i));
18252
- return (hAsync("div", { key: 'f5b2cb8f4d1286bbd8f7cd648916294397ed4742', class: "sd-toast-container", style: this.getContainerStyles(), onMouseEnter: () => {
19026
+ return (hAsync("div", { key: 'b75aeffdddcd16267169ae99305ef5f475f53950', class: "sd-toast-container", style: this.getContainerStyles(), onMouseEnter: () => {
18253
19027
  this.expanded = true;
18254
19028
  this.pauseTimers();
18255
19029
  }, onMouseLeave: () => {
@@ -18363,9 +19137,13 @@ class SdToggle {
18363
19137
  registerInstance(this, hostRef);
18364
19138
  this.change = createEvent(this, "sdUpdate", 7);
18365
19139
  }
19140
+ /** 현재 선택 상태 */
18366
19141
  value = false;
19142
+ /** 표시할 레이블 텍스트 */
18367
19143
  label = '';
19144
+ /** 비활성 상태 여부 */
18368
19145
  disabled = false;
19146
+ /** 상태가 변경될 때 발생합니다. */
18369
19147
  change;
18370
19148
  get toggleClasses() {
18371
19149
  const classes = ['sd-toggle'];
@@ -18407,7 +19185,7 @@ class SdToggle {
18407
19185
  '--sd-toggle-content-select': TOGGLE_COLORS.content.select,
18408
19186
  '--sd-toggle-content-disabled': TOGGLE_COLORS.content.disabled,
18409
19187
  };
18410
- return (hAsync("label", { key: '9ef981165b998f43ec23f3bb1cf0ef385962d7fb', class: this.toggleClasses, style: cssVars, "aria-label": this.label || 'toggle' }, this.label, hAsync("input", { key: '6b6d2a89f43036f624c7bc291b2c5aa7a93c8f0a', style: { display: 'none' }, type: "checkbox", onInput: this.handleChange })));
19188
+ return (hAsync("label", { key: '1a03763c5cfcb5159b69e62a9db9893297082e2b', class: this.toggleClasses, style: cssVars, "aria-label": this.label || 'toggle' }, this.label, hAsync("input", { key: '099cbbb02ebf283883ab7fe748f605491ae84808', style: { display: 'none' }, type: "checkbox", onInput: this.handleChange })));
18411
19189
  }
18412
19190
  static get style() { return sdToggleCss(); }
18413
19191
  static get cmpMeta() { return {
@@ -18456,19 +19234,33 @@ class SdTooltip {
18456
19234
  registerInstance(this, hostRef);
18457
19235
  }
18458
19236
  get el() { return getElement(this); }
19237
+ /** 툴팁 트리거 방식 */
18459
19238
  trigger = 'hover';
19239
+ /** 툴팁 표시 방향 */
18460
19240
  placement = 'top';
19241
+ /** 아이콘 트리거 색상 */
18461
19242
  color = '#01BB4B';
19243
+ /** 툴팁 배경/텍스트 색상 타입 */
18462
19244
  tooltipType = 'default';
19245
+ /** 아이콘 트리거 아이콘명 */
18463
19246
  icon = 'helpOutline';
19247
+ /** 아이콘 트리거 크기 */
18464
19248
  iconSize = 12;
19249
+ /** 버튼 트리거 레이블 (있으면 아이콘 대신 버튼 렌더링) */
18465
19250
  label = '';
19251
+ /** 버튼 트리거 프리셋 */
18466
19252
  name = 'primary_sm';
19253
+ /** 버튼 트리거 우측 아이콘 */
18467
19254
  rightIcon;
19255
+ /** 스크린리더용 접근성 레이블 */
18468
19256
  ariaLabel = '';
19257
+ /** 비활성 상태 여부 */
18469
19258
  disabled = false;
19259
+ /** 버튼 type 속성 */
18470
19260
  type = 'button';
19261
+ /** 툴팁 우측 상단 닫기 버튼 표시 여부 */
18471
19262
  useClose = false;
19263
+ /** 트리거 래퍼(.sd-tooltip-trigger)에 추가할 클래스 */
18472
19264
  sdClass = '';
18473
19265
  /**
18474
19266
  * 툴팁 본문에 표시할 메시지. 각 항목이 한 줄로 innerHTML 렌더링됩니다.
@@ -18581,7 +19373,7 @@ class SdTooltip {
18581
19373
  const bodyHTML = this.message && this.message.length > 0
18582
19374
  ? this.message.map(line => `<div>${line}</div>`).join('')
18583
19375
  : this.slotContentHTML;
18584
- return (hAsync(Fragment, { key: 'da2904e5cc41627283ff383366548453ef892dbc' }, hAsync("div", { key: 'e94184fa6a51524f0dc5d3ba0610a3fa63663b4f', ref: el => (this.triggerEl = el), class: triggerClasses, ...divTrigger }, anchorMode ? (hAsync("slot", { name: "anchor" })) : hasLabel ? (hAsync("sd-button", { ref: el => (this.buttonEl = el), name: this.name ?? 'primary_sm', label: this.label, icon: icon, rightIcon: this.rightIcon, ariaLabel: this.ariaLabel, disabled: this.disabled, type: this.type ?? 'button', class: "sd-tooltip", ...buttonClickTrigger })) : (hAsync("sd-icon", { ref: el => (this.buttonEl = el), name: icon, size: this.iconSize ?? 12, color: color, class: "sd-tooltip" }))), this.showTooltip && (hAsync("sd-floating-portal", { key: '52b86274d938e67a89018839812b4d26108f0921', parentRef: anchorMode ? this.triggerEl : this.buttonEl, onSdClose: this.handleClose, placement: placement, offset: this.tooltipOffset }, hAsync("div", { key: '177149d153ca4659a1dc4b71cd9d98cf36e19cd9', ref: el => (this.menuEl = el), class: {
19376
+ return (hAsync(Fragment, { key: 'c5a5c69267ac8a7d7f06324a63b6410092b84f04' }, hAsync("div", { key: 'f7323385e1b2e6ef4199c6318bdc55984182d3da', ref: el => (this.triggerEl = el), class: triggerClasses, ...divTrigger }, anchorMode ? (hAsync("slot", { name: "anchor" })) : hasLabel ? (hAsync("sd-button", { ref: el => (this.buttonEl = el), name: this.name ?? 'primary_sm', label: this.label, icon: icon, rightIcon: this.rightIcon, ariaLabel: this.ariaLabel, disabled: this.disabled, type: this.type ?? 'button', class: "sd-tooltip", ...buttonClickTrigger })) : (hAsync("sd-icon", { ref: el => (this.buttonEl = el), name: icon, size: this.iconSize ?? 12, color: color, class: "sd-tooltip" }))), this.showTooltip && (hAsync("sd-floating-portal", { key: '0ba07ee2a20862df43755264d9390b3229da57e6', parentRef: anchorMode ? this.triggerEl : this.buttonEl, onSdClose: this.handleClose, placement: placement, offset: this.tooltipOffset }, hAsync("div", { key: 'f92217cb8cca4d1467cbeac7b36f9a00f28babd3', ref: el => (this.menuEl = el), class: {
18585
19377
  'sd-floating-menu': true,
18586
19378
  [`sd-floating-menu--${tooltipType}`]: true,
18587
19379
  [`sd-floating-menu--${placement}`]: true,
@@ -18589,7 +19381,7 @@ class SdTooltip {
18589
19381
  }, style: {
18590
19382
  '--sd-floating-bg': typeConfig.bg,
18591
19383
  '--sd-floating-content': typeConfig.content,
18592
- }, onMouseEnter: () => this.openTooltip(), onMouseLeave: () => !this.useClose && this.startHideTimer() }, hAsync("i", { key: '6412bc25156af7a4bc276bc29f46458df7ac123b', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${placement}` }, hAsync(TooltipArrow, { key: 'af6b98e12d0ce7816b9888614d7f70e93c9accd6' })), hAsync("div", { key: '4b3bdb5eda8a67374a68e2ef3dbc51d630720c08', class: "sd-floating-menu__content", innerHTML: bodyHTML }), this.useClose && (hAsync("sd-ghost-button", { key: '2bbe32da05ec4e84dba7b00d12826d9fb2492dfe', class: "sd-floating-menu__close-button", icon: "close", ariaLabel: "close", size: "xxs", onClick: () => this.closeTooltip() })))))));
19384
+ }, onMouseEnter: () => this.openTooltip(), onMouseLeave: () => !this.useClose && this.startHideTimer() }, hAsync("i", { key: '6d7671dbac4fa026788f0804df4a97ca86c492c1', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${placement}` }, hAsync(TooltipArrow, { key: '31321fbfef392af0fa64111a32c3ecd6c6144d35' })), hAsync("div", { key: '67e54a935c9f684d713ab943e7049737d5a8596a', class: "sd-floating-menu__content", innerHTML: bodyHTML }), this.useClose && (hAsync("sd-ghost-button", { key: '355101a4efed88fbb687e1f972f88b6dfb4be309', class: "sd-floating-menu__close-button", icon: "close", ariaLabel: "close", size: "xxs", onClick: () => this.closeTooltip() })))))));
18593
19385
  }
18594
19386
  static get style() { return sdTooltipCss(); }
18595
19387
  static get cmpMeta() { return {
@@ -18631,11 +19423,17 @@ class SdTr {
18631
19423
  registerInstance(this, hostRef);
18632
19424
  }
18633
19425
  get el() { return getElement(this); }
19426
+ /** 테이블 컬럼 목록 */
18634
19427
  columns;
19428
+ /** 행 선택 기능 사용 여부 */
18635
19429
  selectable;
19430
+ /** 고정 컬럼 설정 */
18636
19431
  stickyColumn;
19432
+ /** 행 식별 키 */
18637
19433
  rowKey = '';
19434
+ /** 행 데이터 객체 */
18638
19435
  row = {};
19436
+ /** 구분선 높이 (4 또는 6px, null이면 일반 행) */
18639
19437
  separator = null;
18640
19438
  tableId = '';
18641
19439
  columnWidths = [];
@@ -18688,12 +19486,15 @@ class SdTr {
18688
19486
  this.columnWidths = [...config.columnWidths];
18689
19487
  }
18690
19488
  }
19489
+ /** 테이블 설정을 다시 불러옵니다. */
18691
19490
  async refreshConfig() {
18692
19491
  this.resolveConfig();
18693
19492
  }
19493
+ /** 셀 병합 버전을 갱신해 td를 재렌더링합니다. */
18694
19494
  async bumpSpansVersion() {
18695
19495
  this.spansVersion = this.spansVersion + 1;
18696
19496
  }
19497
+ /** 페이지네이션에 따른 행 표시 여부를 갱신합니다. */
18697
19498
  async updateVisibility() {
18698
19499
  this.updateVisibilitySync();
18699
19500
  }
@@ -18706,9 +19507,11 @@ class SdTr {
18706
19507
  }
18707
19508
  this.isVisible = rowIndex >= pageInfo.startIndex && rowIndex < pageInfo.endIndex;
18708
19509
  }
19510
+ /** 컬럼 너비를 업데이트합니다. */
18709
19511
  async setColumnWidths(widths) {
18710
19512
  this.columnWidths = widths;
18711
19513
  }
19514
+ /** 체크박스 선택 상태를 갱신합니다. */
18712
19515
  async refreshSelection() {
18713
19516
  const checkbox = this.el.querySelector('sd-checkbox');
18714
19517
  if (checkbox) {