@sellmate/design-system 1.0.40 → 1.0.42

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 (249) hide show
  1. package/dist/cjs/component.textinput-43trvZ5m.js +41 -0
  2. package/dist/cjs/design-system.cjs.js +1 -1
  3. package/dist/cjs/index.cjs.js +0 -9
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/sd-barcode-input.cjs.entry.js +162 -0
  6. package/dist/cjs/sd-button-v2_2.cjs.entry.js +4 -4
  7. package/dist/cjs/sd-button_20.cjs.entry.js +44 -69
  8. package/dist/cjs/sd-card.cjs.entry.js +1 -1
  9. package/dist/cjs/sd-confirm-modal.cjs.entry.js +124 -0
  10. package/dist/cjs/sd-date-picker.cjs.entry.js +1 -1
  11. package/dist/cjs/sd-dropdown-button.cjs.entry.js +3 -3
  12. package/dist/cjs/sd-file-picker.cjs.entry.js +3 -3
  13. package/dist/cjs/sd-guide.cjs.entry.js +2 -2
  14. package/dist/cjs/sd-modal-container.cjs.entry.js +17 -73
  15. package/dist/cjs/sd-popover.cjs.entry.js +10 -2
  16. package/dist/cjs/sd-progress.cjs.entry.js +2 -2
  17. package/dist/cjs/sd-select-group.cjs.entry.js +1 -1
  18. package/dist/cjs/sd-select-multiple.cjs.entry.js +1 -1
  19. package/dist/cjs/sd-select-option-group.cjs.entry.js +3 -3
  20. package/dist/cjs/sd-select-v2-list-item_2.cjs.entry.js +7 -16
  21. package/dist/cjs/sd-select-v2-listbox_2.cjs.entry.js +181 -14
  22. package/dist/cjs/sd-select-v2.cjs.entry.js +13 -21
  23. package/dist/cjs/{sd-select-v2.config-DZrPJ6OS.js → sd-select-v2.config-BJXi4hMP.js} +12 -7
  24. package/dist/cjs/sd-text-link.cjs.entry.js +3 -3
  25. package/dist/cjs/sd-toast-container.cjs.entry.js +1 -1
  26. package/dist/cjs/sd-toast.cjs.entry.js +2 -2
  27. package/dist/cjs/sd-toggle-button.cjs.entry.js +1 -1
  28. package/dist/cjs/sd-toggle.cjs.entry.js +1 -1
  29. package/dist/collection/collection-manifest.json +1 -1
  30. package/dist/collection/components/sd-barcode-input/sd-barcode-input.config.js +34 -0
  31. package/dist/collection/components/sd-barcode-input/sd-barcode-input.css +72 -0
  32. package/dist/collection/components/sd-barcode-input/sd-barcode-input.js +750 -0
  33. package/dist/collection/components/sd-button-v2/sd-button-v2.js +2 -2
  34. package/dist/collection/components/sd-card/sd-card.js +1 -1
  35. package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.config.js +4 -1
  36. package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.css +17 -17
  37. package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.js +7 -7
  38. package/dist/collection/components/sd-date-picker/sd-date-picker.js +1 -1
  39. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.js +4 -4
  40. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.js +3 -3
  41. package/dist/collection/components/sd-field/sd-field.js +4 -3
  42. package/dist/collection/components/sd-file-picker/sd-file-picker.js +3 -3
  43. package/dist/collection/components/sd-floating-portal/sd-floating-portal.js +1 -1
  44. package/dist/collection/components/sd-guide/sd-guide.js +2 -2
  45. package/dist/collection/components/sd-icon/sd-icon.js +1 -1
  46. package/dist/collection/components/sd-input/sd-input.js +2 -2
  47. package/dist/collection/components/sd-loading-spinner/sd-loading-spinner.js +1 -1
  48. package/dist/collection/components/sd-modal-container/sd-modal-container.js +19 -118
  49. package/dist/collection/components/sd-number-input/sd-number-input.js +4 -4
  50. package/dist/collection/components/sd-pagination/sd-pagination.js +2 -2
  51. package/dist/collection/components/sd-popover/sd-popover.js +10 -2
  52. package/dist/collection/components/sd-portal/sd-portal.js +1 -1
  53. package/dist/collection/components/sd-progress/sd-progress.js +2 -2
  54. package/dist/collection/components/sd-select/sd-select-dropdown/sd-select-dropdown.js +2 -2
  55. package/dist/collection/components/sd-select/sd-select-option/sd-select-option.js +1 -1
  56. package/dist/collection/components/sd-select/sd-select-search-input/sd-select-search-input.js +3 -3
  57. package/dist/collection/components/sd-select-group/sd-select-group.js +1 -1
  58. package/dist/collection/components/sd-select-multiple/sd-select-multiple.js +1 -1
  59. package/dist/collection/components/sd-select-multiple-group/sd-select-option-group/sd-select-option-group.js +3 -3
  60. package/dist/collection/components/sd-select-v2/sd-select-v2-list-item/sd-select-v2-list-item.css +6 -6
  61. package/dist/collection/components/sd-select-v2/sd-select-v2-list-item/sd-select-v2-list-item.js +2 -2
  62. package/dist/collection/components/sd-select-v2/sd-select-v2-list-item-search/sd-select-v2-list-item-search.js +3 -12
  63. package/dist/collection/components/sd-select-v2/sd-select-v2-listbox/sd-select-v2-listbox.css +1 -0
  64. package/dist/collection/components/sd-select-v2/sd-select-v2-listbox/sd-select-v2-listbox.js +185 -16
  65. package/dist/collection/components/sd-select-v2/sd-select-v2-trigger/sd-select-v2-trigger.js +2 -2
  66. package/dist/collection/components/sd-select-v2/sd-select-v2.config.js +12 -7
  67. package/dist/collection/components/sd-select-v2/sd-select-v2.js +13 -21
  68. package/dist/collection/components/sd-tag/sd-tag.js +2 -2
  69. package/dist/collection/components/sd-text-link/sd-text-link.js +3 -3
  70. package/dist/collection/components/sd-textarea/sd-textarea.js +2 -2
  71. package/dist/collection/components/sd-toast/sd-toast.js +2 -2
  72. package/dist/collection/components/sd-toast-container/sd-toast-container.js +1 -1
  73. package/dist/collection/components/sd-toggle/sd-toggle.js +1 -1
  74. package/dist/collection/components/sd-toggle-button/sd-toggle-button.js +1 -1
  75. package/dist/collection/components/sd-tooltip/sd-tooltip.js +10 -2
  76. package/dist/collection/utils/modal.js +0 -9
  77. package/dist/components/index.js +1 -1
  78. package/dist/components/{p-8oyZJ0FK.js → p-6FZWkn3V.js} +1 -1
  79. package/dist/components/p-AfdVu7_V.js +1 -0
  80. package/dist/components/{p-PcxVERcm.js → p-B2IPxQNl.js} +1 -1
  81. package/dist/components/{p-DBCQtIY4.js → p-BBKrHUCP.js} +1 -1
  82. package/dist/components/{p-A5atk1St.js → p-BKtAiyh0.js} +1 -1
  83. package/dist/components/{p-5UN9Ry8A.js → p-BXuZFSsU.js} +1 -1
  84. package/dist/components/{p-CZN_I4v-.js → p-BZJDhQ6h.js} +1 -1
  85. package/dist/components/{p-CKi7RueC.js → p-BfqA9RSe.js} +1 -1
  86. package/dist/components/{p-2JXqy61T.js → p-Bo7U7jA2.js} +1 -1
  87. package/dist/components/{p-VztCEgcN.js → p-C7dgr7sG.js} +1 -1
  88. package/dist/components/p-CArAuWdh.js +1 -0
  89. package/dist/components/{p-vznqVg6E.js → p-CPr3lzac.js} +1 -1
  90. package/dist/components/{p-DEBuE-pW.js → p-CV1qJByG.js} +1 -1
  91. package/dist/components/p-CXjMXCNh.js +1 -0
  92. package/dist/components/p-CbjDAdZ_.js +1 -0
  93. package/dist/components/p-CnZPI5RL.js +1 -0
  94. package/dist/components/{p-du_AmhYu.js → p-CrJXDjO0.js} +1 -1
  95. package/dist/components/{p-DtCG-y6d.js → p-Cx2K_zB2.js} +1 -1
  96. package/dist/components/{p-CJZIwyH-.js → p-D3H3ILJG.js} +1 -1
  97. package/dist/components/{p-BNNjhCQc.js → p-DgDoP1wQ.js} +1 -1
  98. package/dist/components/{p-DPjPJkXv.js → p-DvQzT5XM.js} +1 -1
  99. package/dist/components/{p-CjZTu6hh.js → p-UaMNiu8y.js} +1 -1
  100. package/dist/components/p-gHb970iC.js +1 -0
  101. package/dist/components/p-jaHdAlr9.js +1 -0
  102. package/dist/components/{p-Ese2dRYD.js → p-jk3tAdJg.js} +1 -1
  103. package/dist/components/p-qbtTff3q.js +1 -0
  104. package/dist/components/{sd-notice-modal.d.ts → sd-barcode-input.d.ts} +4 -4
  105. package/dist/components/sd-barcode-input.js +1 -0
  106. package/dist/components/sd-button-v2.js +1 -1
  107. package/dist/components/sd-button.js +1 -1
  108. package/dist/components/sd-calendar.js +1 -1
  109. package/dist/components/sd-card.js +1 -1
  110. package/dist/components/sd-checkbox.js +1 -1
  111. package/dist/components/sd-confirm-modal.js +1 -1
  112. package/dist/components/sd-date-picker.js +1 -1
  113. package/dist/components/sd-date-range-picker.js +1 -1
  114. package/dist/components/sd-dropdown-button.js +1 -1
  115. package/dist/components/sd-field.js +1 -1
  116. package/dist/components/sd-file-picker.js +1 -1
  117. package/dist/components/sd-floating-portal.js +1 -1
  118. package/dist/components/sd-guide.js +1 -1
  119. package/dist/components/sd-icon.js +1 -1
  120. package/dist/components/sd-input.js +1 -1
  121. package/dist/components/sd-loading-spinner.js +1 -1
  122. package/dist/components/sd-modal-container.js +1 -1
  123. package/dist/components/sd-number-input.js +1 -1
  124. package/dist/components/sd-pagination.js +1 -1
  125. package/dist/components/sd-popover.js +1 -1
  126. package/dist/components/sd-portal.js +1 -1
  127. package/dist/components/sd-progress.js +1 -1
  128. package/dist/components/sd-select-dropdown.js +1 -1
  129. package/dist/components/sd-select-group.js +1 -1
  130. package/dist/components/sd-select-multiple-group.js +1 -1
  131. package/dist/components/sd-select-multiple.js +1 -1
  132. package/dist/components/sd-select-option-group.js +1 -1
  133. package/dist/components/sd-select-option.js +1 -1
  134. package/dist/components/sd-select-search-input.js +1 -1
  135. package/dist/components/sd-select-v2-list-item-search.js +1 -1
  136. package/dist/components/sd-select-v2-list-item.js +1 -1
  137. package/dist/components/sd-select-v2-listbox.js +1 -1
  138. package/dist/components/sd-select-v2-trigger.js +1 -1
  139. package/dist/components/sd-select-v2.js +1 -1
  140. package/dist/components/sd-select.js +1 -1
  141. package/dist/components/sd-table.js +1 -1
  142. package/dist/components/sd-tabs.js +1 -1
  143. package/dist/components/sd-tag.js +1 -1
  144. package/dist/components/sd-text-link.js +1 -1
  145. package/dist/components/sd-textarea.js +1 -1
  146. package/dist/components/sd-toast-container.js +1 -1
  147. package/dist/components/sd-toast.js +1 -1
  148. package/dist/components/sd-toggle-button.js +1 -1
  149. package/dist/components/sd-toggle.js +1 -1
  150. package/dist/components/sd-tooltip.js +1 -1
  151. package/dist/design-system/design-system.css +1 -1
  152. package/dist/design-system/design-system.esm.js +1 -1
  153. package/dist/design-system/index.esm.js +1 -1
  154. package/dist/design-system/p-0174f3c5.entry.js +1 -0
  155. package/dist/design-system/{p-8e0cc9be.entry.js → p-0dee408f.entry.js} +1 -1
  156. package/dist/design-system/{p-fb71301e.entry.js → p-4301b50d.entry.js} +1 -1
  157. package/dist/design-system/p-4921c569.entry.js +1 -0
  158. package/dist/design-system/{p-2408d1ab.entry.js → p-50b1196b.entry.js} +1 -1
  159. package/dist/design-system/p-535b0778.entry.js +1 -0
  160. package/dist/design-system/{p-7ce76a05.entry.js → p-57b1e335.entry.js} +1 -1
  161. package/dist/design-system/{p-6a34e6b8.entry.js → p-5ce3142c.entry.js} +1 -1
  162. package/dist/design-system/{p-d8b04e91.entry.js → p-634797a4.entry.js} +1 -1
  163. package/dist/design-system/{p-b71d0858.entry.js → p-63a43fc9.entry.js} +1 -1
  164. package/dist/design-system/{p-72b09ede.entry.js → p-6a371d98.entry.js} +1 -1
  165. package/dist/design-system/p-6db4e8c7.entry.js +1 -0
  166. package/dist/design-system/{p-36ba5f33.entry.js → p-7368eb09.entry.js} +1 -1
  167. package/dist/design-system/p-868ce552.entry.js +1 -0
  168. package/dist/design-system/p-9eea4660.entry.js +1 -0
  169. package/dist/design-system/p-CbjDAdZ_.js +1 -0
  170. package/dist/design-system/{p-9933475e.entry.js → p-aaf91535.entry.js} +1 -1
  171. package/dist/design-system/{p-e96c881f.entry.js → p-c1963b5e.entry.js} +1 -1
  172. package/dist/design-system/{p-63f997d7.entry.js → p-dc6246be.entry.js} +1 -1
  173. package/dist/design-system/p-e39687d0.entry.js +1 -0
  174. package/dist/design-system/p-f91f4fcc.entry.js +1 -0
  175. package/dist/design-system/{p-f9075737.entry.js → p-f9cf0d6f.entry.js} +1 -1
  176. package/dist/design-system/{p-b79756cc.entry.js → p-fdde3de0.entry.js} +1 -1
  177. package/dist/design-system/p-feb80c2f.entry.js +1 -0
  178. package/dist/design-system/{p-BOmBg3kj.js → p-o9Ugc4Ua.js} +1 -1
  179. package/dist/esm/component.textinput-CbjDAdZ_.js +39 -0
  180. package/dist/esm/design-system.js +1 -1
  181. package/dist/esm/index.js +0 -9
  182. package/dist/esm/loader.js +1 -1
  183. package/dist/esm/sd-barcode-input.entry.js +160 -0
  184. package/dist/esm/sd-button-v2_2.entry.js +4 -4
  185. package/dist/esm/sd-button_20.entry.js +39 -64
  186. package/dist/esm/sd-card.entry.js +1 -1
  187. package/dist/esm/sd-confirm-modal.entry.js +122 -0
  188. package/dist/esm/sd-date-picker.entry.js +1 -1
  189. package/dist/esm/sd-dropdown-button.entry.js +3 -3
  190. package/dist/esm/sd-file-picker.entry.js +3 -3
  191. package/dist/esm/sd-guide.entry.js +2 -2
  192. package/dist/esm/sd-modal-container.entry.js +17 -73
  193. package/dist/esm/sd-popover.entry.js +10 -2
  194. package/dist/esm/sd-progress.entry.js +2 -2
  195. package/dist/esm/sd-select-group.entry.js +1 -1
  196. package/dist/esm/sd-select-multiple.entry.js +1 -1
  197. package/dist/esm/sd-select-option-group.entry.js +3 -3
  198. package/dist/esm/sd-select-v2-list-item_2.entry.js +7 -16
  199. package/dist/esm/sd-select-v2-listbox_2.entry.js +181 -14
  200. package/dist/esm/{sd-select-v2.config-BOmBg3kj.js → sd-select-v2.config-o9Ugc4Ua.js} +12 -7
  201. package/dist/esm/sd-select-v2.entry.js +13 -21
  202. package/dist/esm/sd-text-link.entry.js +3 -3
  203. package/dist/esm/sd-toast-container.entry.js +1 -1
  204. package/dist/esm/sd-toast.entry.js +2 -2
  205. package/dist/esm/sd-toggle-button.entry.js +1 -1
  206. package/dist/esm/sd-toggle.entry.js +1 -1
  207. package/dist/types/components/sd-barcode-input/sd-barcode-input.config.d.ts +38 -0
  208. package/dist/types/components/sd-barcode-input/sd-barcode-input.d.ts +50 -0
  209. package/dist/types/components/sd-confirm-modal/sd-confirm-modal.config.d.ts +4 -3
  210. package/dist/types/components/sd-confirm-modal/sd-confirm-modal.d.ts +1 -1
  211. package/dist/types/components/sd-modal-container/sd-modal-container.config.d.ts +3 -13
  212. package/dist/types/components/sd-modal-container/sd-modal-container.d.ts +2 -5
  213. package/dist/types/components/sd-popover/sd-popover.d.ts +1 -0
  214. package/dist/types/components/sd-select-v2/sd-select-v2-list-item-search/sd-select-v2-list-item-search.d.ts +0 -1
  215. package/dist/types/components/sd-select-v2/sd-select-v2-listbox/sd-select-v2-listbox.d.ts +44 -2
  216. package/dist/types/components/sd-select-v2/sd-select-v2.config.d.ts +4 -0
  217. package/dist/types/components/sd-select-v2/sd-select-v2.d.ts +0 -1
  218. package/dist/types/components/sd-tooltip/sd-tooltip.d.ts +1 -0
  219. package/dist/types/components.d.ts +249 -130
  220. package/dist/types/index.d.ts +1 -1
  221. package/dist/types/utils/modal.d.ts +3 -4
  222. package/hydrate/index.js +584 -368
  223. package/hydrate/index.mjs +584 -368
  224. package/package.json +1 -1
  225. package/dist/cjs/sd-confirm-modal_2.cjs.entry.js +0 -199
  226. package/dist/collection/components/sd-notice-modal/sd-notice-modal.config.js +0 -3
  227. package/dist/collection/components/sd-notice-modal/sd-notice-modal.css +0 -61
  228. package/dist/collection/components/sd-notice-modal/sd-notice-modal.js +0 -324
  229. package/dist/components/p-BDUKWznE.js +0 -1
  230. package/dist/components/p-BzfvfP0u.js +0 -1
  231. package/dist/components/p-C-AFCWLs.js +0 -1
  232. package/dist/components/p-CN-WKnUJ.js +0 -1
  233. package/dist/components/p-C_L-UaCP.js +0 -1
  234. package/dist/components/p-CrYrMUpQ.js +0 -1
  235. package/dist/components/p-D0PYeSW9.js +0 -1
  236. package/dist/components/p-DLe_Tu-I.js +0 -1
  237. package/dist/components/p-H9Vl4enQ.js +0 -1
  238. package/dist/components/sd-notice-modal.js +0 -1
  239. package/dist/design-system/p-10945e57.entry.js +0 -1
  240. package/dist/design-system/p-342f48ab.entry.js +0 -1
  241. package/dist/design-system/p-3ded14dc.entry.js +0 -1
  242. package/dist/design-system/p-951e5615.entry.js +0 -1
  243. package/dist/design-system/p-9c6fea35.entry.js +0 -1
  244. package/dist/design-system/p-9d431ea6.entry.js +0 -1
  245. package/dist/design-system/p-ba393cc8.entry.js +0 -1
  246. package/dist/design-system/p-df1f9832.entry.js +0 -1
  247. package/dist/esm/sd-confirm-modal_2.entry.js +0 -196
  248. package/dist/types/components/sd-notice-modal/sd-notice-modal.config.d.ts +0 -5
  249. package/dist/types/components/sd-notice-modal/sd-notice-modal.d.ts +0 -28
@@ -96,17 +96,22 @@ export function filterTree(options, keyword) {
96
96
  const lowerKeyword = keyword.toLowerCase();
97
97
  return options.reduce((acc, option) => {
98
98
  const selfMatch = option.label.toLowerCase().includes(lowerKeyword);
99
- if (selfMatch) {
100
- acc.push({
101
- ...option,
102
- children: option.children ? [] : undefined,
103
- });
104
- }
105
- else if (option.children) {
99
+ if (option.children) {
100
+ // 그룹: 자식은 항상 추가로 필터링한다.
101
+ // - 자식 중 일치하는 게 있으면 그 자식들만 노출
102
+ // - 자식 매칭이 없더라도 그룹명이 매칭되면 그룹 헤더는 그대로 노출
103
+ // (이때 children 은 빈 배열로 두고, 선택 동작은 collectVisibleLeaves
104
+ // 의 fallback 이 원본 트리를 사용해 처리한다)
106
105
  const filteredChildren = filterTree(option.children, keyword);
107
106
  if (filteredChildren.length > 0) {
108
107
  acc.push({ ...option, children: filteredChildren });
109
108
  }
109
+ else if (selfMatch) {
110
+ acc.push({ ...option, children: [] });
111
+ }
112
+ }
113
+ else if (selfMatch) {
114
+ acc.push({ ...option });
110
115
  }
111
116
  return acc;
112
117
  }, []);
@@ -71,11 +71,6 @@ export class SdSelectV2 {
71
71
  flattenOptions(options) {
72
72
  return options.flatMap(o => (o.children ? this.flattenOptions(o.children) : [o]));
73
73
  }
74
- collectLeaves(option) {
75
- if (!option.children)
76
- return [option];
77
- return option.children.flatMap(child => this.collectLeaves(child));
78
- }
79
74
  getSelectedOptions() {
80
75
  const val = this.value;
81
76
  if (!val || !Array.isArray(val))
@@ -155,9 +150,10 @@ export class SdSelectV2 {
155
150
  emitUpdate(value) {
156
151
  this.update.emit(value);
157
152
  }
158
- handleOptionSelect = (option) => {
153
+ handleOptionSelect = (detail) => {
154
+ const { option, leaves } = detail;
159
155
  if (this.isMulti) {
160
- this.handleMultiSelect(option);
156
+ this.handleMultiSelect(option, leaves);
161
157
  }
162
158
  else {
163
159
  this.closeDropdown();
@@ -168,14 +164,12 @@ export class SdSelectV2 {
168
164
  });
169
165
  }
170
166
  };
171
- handleMultiSelect(option) {
167
+ handleMultiSelect(option, leaves) {
172
168
  const selected = this.getSelectedOptions();
173
- if (option.children) {
174
- const originalOption = this.findOriginalOption(option.value, this.options);
175
- const targetOption = originalOption ?? option;
176
- const leaves = this.collectLeaves(targetOption);
169
+ const isGroup = !!option.children;
170
+ let newSelected;
171
+ if (isGroup) {
177
172
  const allSelected = leaves.every(l => selected.some(s => s.value === l.value));
178
- let newSelected;
179
173
  if (allSelected) {
180
174
  const leafValues = new Set(leaves.map(l => l.value));
181
175
  newSelected = selected.filter(s => !leafValues.has(s.value));
@@ -185,17 +179,15 @@ export class SdSelectV2 {
185
179
  const toAdd = leaves.filter(l => !existing.has(l.value));
186
180
  newSelected = [...selected, ...toAdd];
187
181
  }
188
- this.value = this.toMultiValue(newSelected);
189
- this.emitUpdate(this.value);
190
182
  }
191
183
  else {
192
184
  const exists = selected.some(s => s.value === option.value);
193
- const newSelected = exists
185
+ newSelected = exists
194
186
  ? selected.filter(s => s.value !== option.value)
195
187
  : [...selected, option];
196
- this.value = this.toMultiValue(newSelected);
197
- this.emitUpdate(this.value);
198
188
  }
189
+ this.value = this.toMultiValue(newSelected);
190
+ this.emitUpdate(this.value);
199
191
  }
200
192
  connectedCallback() {
201
193
  window.addEventListener('resize', this.handleViewportResize);
@@ -214,13 +206,13 @@ export class SdSelectV2 {
214
206
  this.closeDropdown();
215
207
  },
216
208
  };
217
- return (h("sd-field", { key: '9a3a1bd2836d61ffadbe6b256907e060bc2552a6', name: this.fieldName || this.internalName, label: this.label, addonLabel: this.addonLabel, 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: () => {
209
+ return (h("sd-field", { key: 'd9659682ab2e8b46fe24491149b8bc3c19d169c2', name: this.fieldName || this.internalName, label: this.label, addonLabel: this.addonLabel, 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: () => {
218
210
  this.hovered = true;
219
211
  }, onMouseLeave: () => {
220
212
  this.hovered = false;
221
- } }, h("div", { key: '70fcf772f6c38b8f310ccbb20004c80cab4481a9', class: "sd-select-v2", ref: el => {
213
+ } }, h("div", { key: '75a27f70ba737748900efd4a68f8b3885b183f27', class: "sd-select-v2", ref: el => {
222
214
  this.triggerRef = el;
223
- } }, h("sd-select-v2-trigger", { key: 'aef3433f65f6dae8205f8913ac2236aebb8a8013', displayText: this.displayText, placeholder: this.placeholder, disabled: this.disabled, isOpen: this.isOpen, onSdTriggerClick: this.handleTriggerClick })), (this.isOpen || this.isAnimatingOut) && (h("sd-portal", { key: '58e8050281036e4aef645271cc2384f6ba4e50be', ...portalProps }, h("sd-select-v2-listbox", { key: 'ae2d57b4118aae66bd1d0d6090aebb25f773cd58', name: this.name, options: this.options, value: this.value, emitValue: this.emitValue, triggerWidth: this.triggerWidth, maxWidth: this.resolvedMaxDropdownWidth, maxHeight: this.resolvedDropdownHeight, onSdOptionSelect: event => this.handleOptionSelect(event.detail) })))));
215
+ } }, h("sd-select-v2-trigger", { key: 'e639279afd63ec5addbaccd76bf9c73ec3a3da7d', displayText: this.displayText, placeholder: this.placeholder, disabled: this.disabled, isOpen: this.isOpen, onSdTriggerClick: this.handleTriggerClick })), (this.isOpen || this.isAnimatingOut) && (h("sd-portal", { key: '3df82f58ba7bf599694ab1ce6ae7ef1ec3fb6035', ...portalProps }, h("sd-select-v2-listbox", { key: 'a1afe865d25f3afd39e28011dbb036f74604b76f', name: this.name, options: this.options, value: this.value, emitValue: this.emitValue, triggerWidth: this.triggerWidth, maxWidth: this.resolvedMaxDropdownWidth, maxHeight: this.resolvedDropdownHeight, onSdOptionSelect: event => this.handleOptionSelect(event.detail) })))));
224
216
  }
225
217
  static get is() { return "sd-select-v2"; }
226
218
  static get originalStyleUrls() {
@@ -19,7 +19,7 @@ export class SdTag {
19
19
  render() {
20
20
  const config = this.resolvedConfig;
21
21
  const iconNode = this.renderIcon(config.icon, config.iconSize);
22
- return (h("span", { key: '563110f36ada988889d09f1dd40084c3099d00de', class: "sd-tag", style: {
22
+ return (h("span", { key: 'f55a5b3c1aec907d8bc7cf8f52cb3ab33af73801', class: "sd-tag", style: {
23
23
  '--sd-tag-background': config.background,
24
24
  '--sd-tag-content': config.content,
25
25
  '--sd-tag-height': config.height,
@@ -29,7 +29,7 @@ export class SdTag {
29
29
  '--sd-tag-font-weight': config.fontWeight,
30
30
  '--sd-tag-line-height': config.lineHeight,
31
31
  '--sd-tag-radius': config.radius,
32
- }, "aria-label": this.label || 'tag' }, this.icon && this.isLeft && iconNode, h("span", { key: 'b03cc00015123a62af310f5b8c833e04f43538b6', class: "sd-tag__label" }, this.label), this.icon && !this.isLeft && iconNode));
32
+ }, "aria-label": this.label || 'tag' }, this.icon && this.isLeft && iconNode, h("span", { key: 'efb11bdbbb2d82db64d3153255bceab92a5b7a1c', class: "sd-tag__label" }, this.label), this.icon && !this.isLeft && iconNode));
33
33
  }
34
34
  static get is() { return "sd-tag"; }
35
35
  static get originalStyleUrls() {
@@ -26,16 +26,16 @@ export class SdTextLink {
26
26
  '--sd-text-link-text-decoration': typo.textDecoration,
27
27
  '--sd-text-link-color': contentColor,
28
28
  };
29
- return (h("span", { key: '85a81d70f93ced4c094baa972dd4691c5659f341', class: {
29
+ return (h("span", { key: '3345bf7ddd99b9eeca4e8e6014f88e5f4505665e', class: {
30
30
  'sd-text-link': true,
31
31
  'sd-text-link--disabled': this.disabled,
32
- }, style: cssVars, onClick: this.handleClick }, this.icon && (h("sd-icon", { key: 'e9350162c38383610feca59f47a087452e586642', name: this.icon, size: TEXT_LINK_LAYOUT.iconSize, color: iconColor, class: "sd-text-link__icon" })), h("span", { key: '011b7f22e5fe897548b31d883b1c8dc1accab2c9', class: "sd-text-link__label" }, this.label), this.useArrow && (h("span", { key: '578d8532cf1c296a48e27c865f32052494cae5e3', class: "sd-text-link__arrow", style: {
32
+ }, style: cssVars, onClick: this.handleClick }, this.icon && (h("sd-icon", { key: 'e8f1cf6482745bce5856988d5e30702d807335db', name: this.icon, size: TEXT_LINK_LAYOUT.iconSize, color: iconColor, class: "sd-text-link__icon" })), h("span", { key: '09293467bc7289dd587a5ed0fc4b2cedbc1d925a', class: "sd-text-link__label" }, this.label), this.useArrow && (h("span", { key: '10330d4acc1e323997804146629e3397605b9d58', class: "sd-text-link__arrow", style: {
33
33
  width: `${TEXT_LINK_LAYOUT.arrowFrame}px`,
34
34
  height: `${TEXT_LINK_LAYOUT.arrowFrame}px`,
35
35
  display: 'inline-flex',
36
36
  alignItems: 'center',
37
37
  justifyContent: 'center',
38
- } }, h("sd-icon", { key: '33293275c5a68628298af50dafeeb22a544e9469', name: "arrowRight", size: TEXT_LINK_LAYOUT.arrowIconSize, color: arrowColor })))));
38
+ } }, h("sd-icon", { key: '01def7dd04278fce78f9eb49efd857999fa255db', name: "arrowRight", size: TEXT_LINK_LAYOUT.arrowIconSize, color: arrowColor })))));
39
39
  }
40
40
  static get is() { return "sd-text-link"; }
41
41
  static get originalStyleUrls() {
@@ -75,10 +75,10 @@ export class SdTextarea {
75
75
  }
76
76
  render() {
77
77
  const maxLengthCounter = this.getMaxLengthCounter();
78
- return (h("div", { key: '77a42aefa53924e33dd043dccc28fbb123649c85', class: {
78
+ return (h("div", { key: 'abc90981d61632afc86d158283575cd65031e10e', class: {
79
79
  'sd-textarea': true,
80
80
  [this.getTextareaStatus()]: true,
81
- }, onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false) }, h("div", { key: 'aee9a4c587b0a64c6c861734398b17b44e6ccf77', class: "sd-textarea__content" }, h("textarea", { key: 'c606304fe8a2fbc233e1d9a01a91b56b202dbf2e', name: this.name, ref: el => (this.nativeEl = el), class: `sd-textarea__native ${this.textareaClass}`, value: this.internalValue || '', placeholder: this.placeholder, disabled: this.disabled, autofocus: this.autoFocus, maxLength: this.maxLength, onInput: this.handleInput.bind(this), onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event) })), this.hasFooter() && (h("div", { key: 'a00d88133da74f13ca963cc7851139d21ff4a661', class: "sd-textarea__footer" }, this.helpText !== undefined && h("span", { key: 'c1f44be6cd1f015606975e49f76bf5253eb259ef', class: "sd-textarea__help-text" }, this.helpText), maxLengthCounter !== null && h("span", { key: '5e7eb56e43eee626056ae5f4b090d7f565ce4a1d', class: "sd-textarea__counter" }, maxLengthCounter)))));
81
+ }, onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false) }, h("div", { key: 'e2c3599dc763d59df0ba1ed6d80d2b8e6b9846f9', class: "sd-textarea__content" }, h("textarea", { key: 'f6ac448db448ed16eeac15313b3ca8016b51b70f', name: this.name, ref: el => (this.nativeEl = el), class: `sd-textarea__native ${this.textareaClass}`, value: this.internalValue || '', placeholder: this.placeholder, disabled: this.disabled, autofocus: this.autoFocus, maxLength: this.maxLength, onInput: this.handleInput.bind(this), onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event) })), this.hasFooter() && (h("div", { key: 'dfa41f4149b2f8b51c485e2f6306256982c7fdd1', class: "sd-textarea__footer" }, this.helpText !== undefined && h("span", { key: '909c7c59fde0bec3ac398899e9301b2f93fbb0f4', class: "sd-textarea__help-text" }, this.helpText), maxLengthCounter !== null && h("span", { key: 'a0907c3745f7b07ddc5458e5f822bf87873a5316', class: "sd-textarea__counter" }, maxLengthCounter)))));
82
82
  }
83
83
  static get is() { return "sd-textarea"; }
84
84
  static get originalStyleUrls() {
@@ -11,10 +11,10 @@ export class SdToast {
11
11
  render() {
12
12
  const typeConfig = TOAST_TYPE_CONFIG[this.type] ?? TOAST_TYPE_CONFIG.default;
13
13
  const iconSize = Number(TOAST_LAYOUT.iconSize);
14
- return (h("div", { key: 'a557c0c6b78e07eeec74dd14aa86507a8b9f37ae', style: {
14
+ return (h("div", { key: 'd8e1a82c9daebbe6b262bedcecd3fcdb5d9cdff6', style: {
15
15
  '--sd-toast-bg': typeConfig.bg,
16
16
  '--sd-toast-text': typeConfig.content,
17
- } }, h("div", { key: '027041528a39f35035c2ced8b1aa2e20e48a82bc', class: "sd-toast", role: "status", "aria-live": "polite", "aria-atomic": "true" }, this.icon && (h("div", { key: '324df178ebcae7cf429c356bc8866e03b02a5ebc', class: "sd-toast__icon" }, h("sd-icon", { key: '62b9b6f38ed3b62e01a71388295aa6e73eb9b934', name: this.icon, size: iconSize, color: typeConfig.content }))), h("div", { key: '475d4b8f5021b1d7661138abd97288697fe332c3', class: "sd-toast__content" }, h("span", { key: '1b7469e1f46a576cc4f8ef6d363080f020ec2c70', class: "sd-toast__message" }, this.message)), this.link && (h("a", { key: '3a6ed7ff07d2fb50c8178d3260ed6ef50bf0a4c8', href: this.link, class: "sd-toast__link", target: "_blank", rel: "noopener noreferrer" }, this.linkLabel || this.link)), this.useClose && (h("button", { key: 'f05e512d165a54cb14b716548b4677321e32478a', type: "button", class: "sd-toast__close", onClick: () => this.close.emit(), "aria-label": "Close", title: "Close" }, h("sd-icon", { key: 'd914147a9a74287878597579f94dda8ddd453cf7', name: "close", size: iconSize, color: typeConfig.content }))))));
17
+ } }, h("div", { key: 'ef1c9243616c34947bd03a8de734b28fd7d32bd4', class: "sd-toast", role: "status", "aria-live": "polite", "aria-atomic": "true" }, this.icon && (h("div", { key: 'ef4ff52c084175eb34f1e88b69258b72966af947', class: "sd-toast__icon" }, h("sd-icon", { key: '7c8f49358fb158807f09855c169ec99f3dcd9469', name: this.icon, size: iconSize, color: typeConfig.content }))), h("div", { key: 'b229d53142ab92037b8c409da478305bba954710', class: "sd-toast__content" }, h("span", { key: '1c623880c6e6e7d5d5a0fbaab980774cc494ab82', class: "sd-toast__message" }, this.message)), this.link && (h("a", { key: '9ff007a2436fd16519e22f024486a40a3c9f6ff9', href: this.link, class: "sd-toast__link", target: "_blank", rel: "noopener noreferrer" }, this.linkLabel || this.link)), this.useClose && (h("button", { key: '4b2371414437c7f3c9c70ec3b44879d0b6bbc212', type: "button", class: "sd-toast__close", onClick: () => this.close.emit(), "aria-label": "Close", title: "Close" }, h("sd-icon", { key: '3aed44c8b9bf783445cb49d4fc513b086f5fc428', name: "close", size: iconSize, color: typeConfig.content }))))));
18
18
  }
19
19
  static get is() { return "sd-toast"; }
20
20
  static get originalStyleUrls() {
@@ -216,7 +216,7 @@ export class SdToastContainer {
216
216
  const activeToasts = toasts.filter(t => t.state !== 'exiting').reverse();
217
217
  const indexMap = new Map();
218
218
  activeToasts.forEach((t, i) => indexMap.set(t.id, i));
219
- return (h("div", { key: 'd4bb037ee2e46d4f32e45a7d0cdde98a61634a5c', class: "sd-toast-container", style: this.getContainerStyles(), onMouseEnter: () => {
219
+ return (h("div", { key: 'ea70acd97b25230c2c2ae74504381fe00d458043', class: "sd-toast-container", style: this.getContainerStyles(), onMouseEnter: () => {
220
220
  this.expanded = true;
221
221
  this.pauseTimers();
222
222
  }, onMouseLeave: () => {
@@ -28,7 +28,7 @@ export class SdToggle {
28
28
  this.change.emit(newValue);
29
29
  };
30
30
  render() {
31
- return (h("label", { key: '820b6e47f94d777c0540871ea1ea0b400bbd26de', "aria-label": this.label || 'toggle', class: this.toggleClasses }, h("input", { key: '880fd48071d635ca229c073ee3f3b60212c00a68', type: "checkbox", checked: this.value, disabled: this.disabled, onInput: this.handleChange }), this.label && h("span", { key: 'c3b8652c7347b2703d4725f543c9faa7e4143d6b', class: "sd-toggle__label" }, this.label), h("div", { key: '90ea67512ab0b1e6d44f02a4d12d0f4fb44b850b', class: "sd-toggle__track" }, h("div", { key: 'ffc0074e1f3e683cc324537957235f0bf4b80c40', class: "sd-toggle__thumb" }))));
31
+ return (h("label", { key: '60d9d2c1feca4256b7a279bc64e52da8e9f81995', "aria-label": this.label || 'toggle', class: this.toggleClasses }, h("input", { key: 'd25f6af7f9c6ea95e423a39ff44c394ad9624fe6', type: "checkbox", checked: this.value, disabled: this.disabled, onInput: this.handleChange }), this.label && h("span", { key: '52383a1ca0f17666fdc386beed30512e7349b470', class: "sd-toggle__label" }, this.label), h("div", { key: '32c76872e30e2d8b1b06e096c394ee1d3dfc4381', class: "sd-toggle__track" }, h("div", { key: '0ec405309e322492ed7af4e0ddf115da87d03150', class: "sd-toggle__thumb" }))));
32
32
  }
33
33
  static get is() { return "sd-toggle"; }
34
34
  static get originalStyleUrls() {
@@ -32,7 +32,7 @@ export class SdToggleButton {
32
32
  this.change.emit(newValue);
33
33
  };
34
34
  render() {
35
- return (h("label", { key: 'd1570ff6c0a69dfa6ba4bd135328d93641ca6483', class: this.buttonClasses, "aria-label": this.label || 'toggle button' }, this.label, h("input", { key: '53224a02ab3cd75dc0685c0f11616dcfe714285a', style: { display: 'none' }, type: "checkbox", onInput: this.handleChange })));
35
+ return (h("label", { key: 'c8e3adb9201066f7e39ff49df97e80cd4a716345', class: this.buttonClasses, "aria-label": this.label || 'toggle button' }, this.label, h("input", { key: '8fb523287f4d593a455a2366632797098401398e', style: { display: 'none' }, type: "checkbox", onInput: this.handleChange })));
36
36
  }
37
37
  static get is() { return "sd-toggle-button"; }
38
38
  static get originalStyleUrls() {
@@ -16,6 +16,14 @@ export class SdTooltip {
16
16
  showTooltip = false;
17
17
  slotContentHTML = '';
18
18
  buttonEl;
19
+ get tooltipOffset() {
20
+ switch (this.placement) {
21
+ case 'top': return [0, -4];
22
+ case 'bottom': return [0, 4];
23
+ case 'left': return [4, 0];
24
+ case 'right': return [4, 0];
25
+ }
26
+ }
19
27
  handleClose = () => {
20
28
  this.showTooltip = false;
21
29
  };
@@ -42,14 +50,14 @@ export class SdTooltip {
42
50
  : {
43
51
  onSdClick: () => (this.showTooltip = !this.showTooltip),
44
52
  };
45
- return (h(Fragment, { key: '0285bd3138a01e99e0827289f8dba327af0c12a6' }, this.label ? (h("sd-button", { ref: el => (this.buttonEl = el), label: this.label, icon: this.icon, size: this.buttonSize, color: this.color, variant: this.buttonVariant, class: "sd-tooltip", ...buttonTrigger })) : (h("sd-icon", { ref: el => (this.buttonEl = el), name: this.icon, size: this.iconSize, color: this.color, class: "sd-tooltip", ...handleTrigger })), this.showTooltip && (h("sd-floating-portal", { key: 'e15b204793854bf7acbba1cda3da761bd32650c4', parentRef: this.buttonEl, onSdClose: this.handleClose.bind(this), placement: this.placement }, h("div", { key: '4b1359e07d819ad86a7be93f90832fd31af5302d', class: {
53
+ return (h(Fragment, { key: '2890811dd681299b155d191d6d6023441db6debc' }, this.label ? (h("sd-button", { ref: el => (this.buttonEl = el), label: this.label, icon: this.icon, size: this.buttonSize, color: this.color, variant: this.buttonVariant, class: "sd-tooltip", ...buttonTrigger })) : (h("sd-icon", { ref: el => (this.buttonEl = el), name: this.icon, size: this.iconSize, color: this.color, class: "sd-tooltip", ...handleTrigger })), this.showTooltip && (h("sd-floating-portal", { key: '666cf59e0548af92eff225cd91b485824b82249d', parentRef: this.buttonEl, onSdClose: this.handleClose.bind(this), placement: this.placement, offset: this.tooltipOffset }, h("div", { key: 'ad5285750f95fdb0829372dd3b45d96035a02315', class: {
46
54
  'sd-floating-menu': true,
47
55
  [`sd-floating-menu--${this.tooltipType}`]: true,
48
56
  [`sd-floating-menu--${this.placement}`]: true,
49
57
  }, style: {
50
58
  '--sd-floating-bg': typeConfig.bg,
51
59
  '--sd-floating-content': typeConfig.content,
52
- } }, h("i", { key: '53f069a3923f1b729cc36072b8a26d50f909793e', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${this.placement}` }, h(TooltipArrow, { key: '569020e29c37c1f0c1c49faa48374c400aa562db' })), h("div", { key: 'a04f7d4b60eddab1ea2a14a8fc813436fd07d53c', class: "sd-floating-menu__content", innerHTML: this.slotContentHTML }))))));
60
+ } }, h("i", { key: 'ee92f004dbd17de84a3410bd555da735c5fcb4ca', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${this.placement}` }, h(TooltipArrow, { key: '04ccadfa1de8bcf3b64218e6e048fcbf09ff3301' })), h("div", { key: '0534c8cec5c79c8b0df3950d554a1b62d1e3b32b', class: "sd-floating-menu__content", innerHTML: this.slotContentHTML }))))));
53
61
  }
54
62
  static get is() { return "sd-tooltip"; }
55
63
  static get originalStyleUrls() {
@@ -88,15 +88,6 @@ export const sdModal = {
88
88
  });
89
89
  return chain;
90
90
  },
91
- notice(options) {
92
- const container = getContainer();
93
- const chain = new ModalDialogChainImpl('', container);
94
- whenReady(container).then(async () => {
95
- const id = await container.openNotice(options, chain);
96
- chain._setId(id);
97
- });
98
- return chain;
99
- },
100
91
  configure(options) {
101
92
  getContainer(options);
102
93
  },
@@ -1 +1 @@
1
- export{g as getAssetPath,r as render,s as setAssetPath,a as setNonce,b as setPlatformOptions}from"./p-B1vJXa29.js";function n(n,t,e){return(n||"")+(t?" "+t:"")+(e?" "+e:"")}let t=null;function e(n,t){t&&(t.position&&n.setAttribute("position",t.position),null!=t.maxVisible&&n.setAttribute("max-visible",t.maxVisible+""),null!=t.defaultDuration&&n.setAttribute("default-duration",t.defaultDuration+""),null!=t.zIndex&&n.setAttribute("z-index",t.zIndex+""))}function o(n){return t&&document.body.contains(t)?(e(t,n),t):(t=document.createElement("sd-toast-container"),e(t,n),document.body.appendChild(t),t)}function i(n){return"function"==typeof n.create?Promise.resolve():new Promise((t=>{const e=()=>{"function"==typeof n.create?t():requestAnimationFrame(e)};requestAnimationFrame(e)}))}const u={async create(n,t,e){const{globalOptions:s,...r}=e??{},a=o(s);return await i(a),a.create({message:n,type:t,...r})},async dismiss(n){if(t)return await i(t),t.dismiss(n)},async dismissAll(){if(t)return await i(t),t.dismissAll()},configure(n){o(n)}},c="sd-modal-container";class d{modalId;okFn;cancelFn;containerRef;pendingActions=[];constructor(n,t){this.modalId=n,this.containerRef=t}onOk(n){return this.okFn=n,this}onCancel(n){return this.cancelFn=n,this}update(n){return this.runOrQueue((()=>{this.containerRef.update?.(this.modalId,n)})),this}_triggerOk(){this.okFn?.()}_triggerCancel(){this.cancelFn?.()}_setId(n){this.modalId=n;const t=[...this.pendingActions];this.pendingActions=[],t.forEach((n=>n()))}runOrQueue(n){this.modalId?n():this.pendingActions.push(n)}}let l=null;function f(n,t){t&&null!=t.zIndex&&n.style.setProperty("--sd-modal-container-z-index",t.zIndex+"")}function m(n){return function(){if("undefined"==typeof window||"undefined"==typeof document||"undefined"==typeof customElements)throw Error("[sdModal] Browser APIs are unavailable. Use `sdModal` only on the client.")}(),function(){if(!customElements.get(c))throw Error("[sdModal] `sd-modal-container` is not registered. Call `defineCustomElements(window)` before using `sdModal`.")}(),l&&document.body.contains(l)?(f(l,n),l):(l=document.createElement(c),f(l,n),document.body.appendChild(l),l)}async function h(n){if(await customElements.whenDefined(c),"function"==typeof n.open)return Promise.resolve();throw Error("[sdModal] `sd-modal-container` is registered but not ready to open dialogs.")}const w={confirm(n){const t=m(),e=new d("",t);return h(t).then((async()=>{const o=await t.open(n,e);e._setId(o)})),e},notice(n){const t=m(),e=new d("",t);return h(t).then((async()=>{const o=await t.openNotice(n,e);e._setId(o)})),e},configure(n){m(n)}};export{n as format,w as sdModal,u as sdToast}
1
+ export{g as getAssetPath,r as render,s as setAssetPath,a as setNonce,b as setPlatformOptions}from"./p-B1vJXa29.js";function t(t,n,e){return(t||"")+(n?" "+n:"")+(e?" "+e:"")}let n=null;function e(t,n){n&&(n.position&&t.setAttribute("position",n.position),null!=n.maxVisible&&t.setAttribute("max-visible",n.maxVisible+""),null!=n.defaultDuration&&t.setAttribute("default-duration",n.defaultDuration+""),null!=n.zIndex&&t.setAttribute("z-index",n.zIndex+""))}function o(t){return n&&document.body.contains(n)?(e(n,t),n):(n=document.createElement("sd-toast-container"),e(n,t),document.body.appendChild(n),n)}function i(t){return"function"==typeof t.create?Promise.resolve():new Promise((n=>{const e=()=>{"function"==typeof t.create?n():requestAnimationFrame(e)};requestAnimationFrame(e)}))}const u={async create(t,n,e){const{globalOptions:s,...r}=e??{},a=o(s);return await i(a),a.create({message:t,type:n,...r})},async dismiss(t){if(n)return await i(n),n.dismiss(t)},async dismissAll(){if(n)return await i(n),n.dismissAll()},configure(t){o(t)}},c="sd-modal-container";class d{modalId;okFn;cancelFn;containerRef;pendingActions=[];constructor(t,n){this.modalId=t,this.containerRef=n}onOk(t){return this.okFn=t,this}onCancel(t){return this.cancelFn=t,this}update(t){return this.runOrQueue((()=>{this.containerRef.update?.(this.modalId,t)})),this}_triggerOk(){this.okFn?.()}_triggerCancel(){this.cancelFn?.()}_setId(t){this.modalId=t;const n=[...this.pendingActions];this.pendingActions=[],n.forEach((t=>t()))}runOrQueue(t){this.modalId?t():this.pendingActions.push(t)}}let l=null;function f(t,n){n&&null!=n.zIndex&&t.style.setProperty("--sd-modal-container-z-index",n.zIndex+"")}function m(t){return function(){if("undefined"==typeof window||"undefined"==typeof document||"undefined"==typeof customElements)throw Error("[sdModal] Browser APIs are unavailable. Use `sdModal` only on the client.")}(),function(){if(!customElements.get(c))throw Error("[sdModal] `sd-modal-container` is not registered. Call `defineCustomElements(window)` before using `sdModal`.")}(),l&&document.body.contains(l)?(f(l,t),l):(l=document.createElement(c),f(l,t),document.body.appendChild(l),l)}const h={confirm(t){const n=m(),e=new d("",n);return async function(t){if(await customElements.whenDefined(c),"function"==typeof t.open)return Promise.resolve();throw Error("[sdModal] `sd-modal-container` is registered but not ready to open dialogs.")}(n).then((async()=>{const o=await n.open(t,e);e._setId(o)})),e},configure(t){m(t)}};export{t as format,h as sdModal,u as sdToast}
@@ -1 +1 @@
1
- import{p as e,H as s,c as t,h as o,t as i}from"./p-B1vJXa29.js";import{d as c}from"./p-BNNjhCQc.js";import{d}from"./p-VztCEgcN.js";const n=e(class extends s{constructor(e){super(),!1!==e&&this.__registerHost(),this.optionClick=t(this,"optionClick")}get el(){return this}option;index;isSelected=!1;isFocused=!1;optionStyle;disabled=!1;useCheckbox=!1;isHovered=!1;async sdIsDisabled(){return!!this.option.disabled}optionClick;handleClick=e=>{e.stopPropagation(),this.option.disabled||this.disabled||this.optionClick.emit({option:this.option,index:this.index,event:e})};render(){return o("div",{key:"e28519019fa39af328fe7f5a25f18bb227e4d622",class:{"sd-select__option":!0,"sd-select__option--selected":this.isSelected,"sd-select__option--disabled":!!this.option.disabled,"sd-select__option--focused":this.isFocused,"sd-select__option--use-checkbox":this.useCheckbox},onMouseEnter:()=>this.isHovered=!0,onMouseLeave:()=>this.isHovered=!1,style:this.optionStyle,"data-index":this.index,onClick:this.handleClick},this.useCheckbox?o("div",{class:"sd-select__option__checkbox-wrapper"},o("sd-checkbox",{value:this.isSelected,disabled:this.option.disabled,onClick:e=>{e.preventDefault(),this.handleClick(e)}}),o("span",{class:"sd-select__option-label"},this.option.label)):this.option.label)}static get style(){return"sd-select-option{display:block;height:fit-content;line-height:0}sd-select-option .sd-select__option{display:flex;padding:4px 12px;font-size:12px;line-height:20px;cursor:pointer}sd-select-option .sd-select__option__checkbox-wrapper{display:flex;width:100%;column-gap:8px;align-items:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}sd-select-option .sd-select__option--focused{background-color:#E6F1FF}sd-select-option .sd-select__option--selected:not(:hover):not(.sd-select__option--use-checkbox),sd-select-option .sd-select__option--focused:not(:hover):not(.sd-select__option--use-checkbox){color:#0075FF;font-weight:700}sd-select-option .sd-select__option--disabled{color:#AAAAAA;cursor:not-allowed}sd-select-option .sd-select__option:hover:not(.sd-select__option--disabled){background-color:#0075FF;color:white}"}},[512,"sd-select-option",{option:[16],index:[2],isSelected:[4,"is-selected"],isFocused:[4,"is-focused"],optionStyle:[16],disabled:[4],useCheckbox:[4,"use-checkbox"],isHovered:[32],sdIsDisabled:[64]}]);function l(){"undefined"!=typeof customElements&&["sd-select-option","sd-checkbox","sd-icon"].forEach((e=>{switch(e){case"sd-select-option":customElements.get(i(e))||customElements.define(i(e),n);break;case"sd-checkbox":customElements.get(i(e))||c();break;case"sd-icon":customElements.get(i(e))||d()}}))}export{n as S,l as d}
1
+ import{p as e,H as s,c as t,h as o,t as i}from"./p-B1vJXa29.js";import{d as c}from"./p-DgDoP1wQ.js";import{d}from"./p-C7dgr7sG.js";const n=e(class extends s{constructor(e){super(),!1!==e&&this.__registerHost(),this.optionClick=t(this,"optionClick")}get el(){return this}option;index;isSelected=!1;isFocused=!1;optionStyle;disabled=!1;useCheckbox=!1;isHovered=!1;async sdIsDisabled(){return!!this.option.disabled}optionClick;handleClick=e=>{e.stopPropagation(),this.option.disabled||this.disabled||this.optionClick.emit({option:this.option,index:this.index,event:e})};render(){return o("div",{key:"2e04258ee26b376794a5ebe76503875e48dd3ff2",class:{"sd-select__option":!0,"sd-select__option--selected":this.isSelected,"sd-select__option--disabled":!!this.option.disabled,"sd-select__option--focused":this.isFocused,"sd-select__option--use-checkbox":this.useCheckbox},onMouseEnter:()=>this.isHovered=!0,onMouseLeave:()=>this.isHovered=!1,style:this.optionStyle,"data-index":this.index,onClick:this.handleClick},this.useCheckbox?o("div",{class:"sd-select__option__checkbox-wrapper"},o("sd-checkbox",{value:this.isSelected,disabled:this.option.disabled,onClick:e=>{e.preventDefault(),this.handleClick(e)}}),o("span",{class:"sd-select__option-label"},this.option.label)):this.option.label)}static get style(){return"sd-select-option{display:block;height:fit-content;line-height:0}sd-select-option .sd-select__option{display:flex;padding:4px 12px;font-size:12px;line-height:20px;cursor:pointer}sd-select-option .sd-select__option__checkbox-wrapper{display:flex;width:100%;column-gap:8px;align-items:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}sd-select-option .sd-select__option--focused{background-color:#E6F1FF}sd-select-option .sd-select__option--selected:not(:hover):not(.sd-select__option--use-checkbox),sd-select-option .sd-select__option--focused:not(:hover):not(.sd-select__option--use-checkbox){color:#0075FF;font-weight:700}sd-select-option .sd-select__option--disabled{color:#AAAAAA;cursor:not-allowed}sd-select-option .sd-select__option:hover:not(.sd-select__option--disabled){background-color:#0075FF;color:white}"}},[512,"sd-select-option",{option:[16],index:[2],isSelected:[4,"is-selected"],isFocused:[4,"is-focused"],optionStyle:[16],disabled:[4],useCheckbox:[4,"use-checkbox"],isHovered:[32],sdIsDisabled:[64]}]);function l(){"undefined"!=typeof customElements&&["sd-select-option","sd-checkbox","sd-icon"].forEach((e=>{switch(e){case"sd-select-option":customElements.get(i(e))||customElements.define(i(e),n);break;case"sd-checkbox":customElements.get(i(e))||c();break;case"sd-icon":customElements.get(i(e))||d()}}))}export{n as S,l as d}
@@ -0,0 +1 @@
1
+ import{p as e,H as d,h as s,t as i}from"./p-B1vJXa29.js";import{d as t}from"./p-BKtAiyh0.js";import{d as l}from"./p-BfqA9RSe.js";import{d as o}from"./p-C7dgr7sG.js";import{d as r}from"./p-CArAuWdh.js";var a={paddingX:"12",typography:{fontWeight:"500",fontSize:"12",lineHeight:"20"},bg:"#F6F6F6",border:{default:"#AAAAAA",disabled:"#CCCCCC"}};const n=["sd-select","sd-select-multiple","sd-select-multiple-group","sd-input","sd-barcode-input","sd-textarea","sd-number-input","sd-select-v2"],f=e(class extends d{constructor(e){super(),!1!==e&&this.__registerHost()}get el(){return this}name="";rules=[];error=!1;disabled=!1;hovered=!1;focused=!1;status;hint="";errorMessage="";width="";label="";addonLabel="";icon=void 0;labelTooltip="";labelTooltipProps=null;errorMsg="";hostElement=null;get value(){return this.hostElement?.value??null}get fieldStatus(){let e="";return this.disabled?(e="disabled",`sd-field--${e}`):this.focused?(e="focus",`sd-field--${e}`):(this.hovered&&(e="hover"),this.status&&(e=this.status),this.error&&(e="error"),e?`sd-field--${e}`:"")}componentDidLoad(){this.hostElement=this.findHostElement(),this.registerToForm()}disconnectedCallback(){this.unregisterFromForm()}findHostElement(){for(const e of n){const d=this.el.closest(e);if(d&&"value"in d)return d}return null}registerToForm(){const e=this.el.closest("sd-form");e&&"function"==typeof e.componentOnReady&&e.componentOnReady().then((e=>{e.sdRegisterField(this)}))}unregisterFromForm(){if(!this.name)return;const e=this.el.closest("sd-form");e?.componentOnReady().then((e=>{e.sdUnregisterField(this.name)}))}async sdValidate(){if(!this.rules||0===this.rules.length)return!0;for(const e of this.rules){const d=e(this.value??"");if(!0!==d)return this.setError(!0,d),!1}return this.setError(!1,""),!0}async sdReset(){this.hostElement&&(this.hostElement.value=null),this.setError(!1,"")}async sdResetValidation(){this.setError(!1,"")}async sdFocus(){this.hostElement?.focus?.(),this.hostElement?.scrollIntoView({behavior:"smooth",block:"center"})}setError(e,d){this.errorMsg=d,this.hostElement&&(this.hostElement.error=e)}render(){const e=this.addonLabel,d=e?{"--sd-field-addon-padding-x":`${a.paddingX}px`,"--sd-field-addon-font-size":`${a.typography.fontSize}px`,"--sd-field-addon-line-height":`${a.typography.lineHeight}px`,"--sd-field-addon-font-weight":a.typography.fontWeight,"--sd-field-addon-bg":a.bg,"--sd-field-addon-border-color":this.disabled?a.border.disabled:a.border.default}:{};return s("div",{key:"1badb3752c758c30995188f73505d912f4318ba3",class:{"sd-field":!0,"sd-field--has-label":!!this.label,"sd-field--has-addon":!!e,[this.fieldStatus]:!!this.fieldStatus},style:d},s("div",{key:"b8c08b4783eb7035cc28e6ffb1d541871cd25616",class:"sd-field__wrapper"},this.renderLabel(this.label),s("div",{key:"31efca0604479d2fa9bed06aaaeb9ca9930c62fb",class:{"sd-field__control":!0,"sd-field__control--has-addon":!!e},style:this.width?{width:"number"==typeof this.width?`${this.width}px`:this.width,flex:"none"}:{}},e&&s("div",{key:"159191a432603cbfa4b1755fc7f4c784868b3749",class:"sd-field__addon"},e),s("slot",{key:"58918e5af7dc2564af8d86b24cb5972cb9d0d67f"}))),this.errorMsg||this.errorMessage?s("div",{class:"sd-field__error-message"},this.errorMsg||this.errorMessage):this.hint&&s("div",{class:"sd-field__hint"},this.hint))}renderLabel(e){return e?s("label",{class:"sd-field__label"},this.icon&&s("sd-icon",{name:this.icon.name,size:this.icon.size??10,color:this.icon.color,rotate:this.icon.rotate,class:"sd-field__label__icon"}),s("div",{class:"sd-field__label__text"},e),this.labelTooltip&&s("sd-tooltip",{class:"sd-field__label__tooltip",...this.labelTooltipProps},s("div",{slot:"content"},this.labelTooltip))):null}static get style(){return"sd-field{display:inline-flex;flex-flow:column nowrap;height:fit-content;width:100%}sd-field .sd-field *:focus,sd-field .sd-field *:focus-visible,sd-field .sd-field *:focus-within{outline:none !important}sd-field .sd-field:not(.sd-field--disabled):hover .sd-field__control{border:1px solid var(--sd-system-color-field-border-hover) !important;box-shadow:0px 0px 4px 0px rgba(0, 113, 255, 0.4)}sd-field .sd-field.sd-field--disabled{cursor:not-allowed}sd-field .sd-field.sd-field--disabled .sd-field__wrapper{cursor:not-allowed !important}sd-field .sd-field.sd-field--disabled .sd-field__wrapper .sd-field__label-inside{border-color:#CCCCCC;color:#888888;cursor:not-allowed !important}sd-field .sd-field.sd-field--disabled .sd-field__wrapper .sd-field__control{background-color:#E1E1E1;border-color:#CCCCCC;color:#888888;cursor:not-allowed !important}sd-field .sd-field--has-label .sd-field__wrapper .sd-field__label{display:flex;align-items:center;margin-right:var(--sd-system-space-field-sm-gap)}sd-field .sd-field--has-label .sd-field__wrapper .sd-field__label__icon{margin-right:6px}sd-field .sd-field--has-label .sd-field__wrapper .sd-field__label__text{font-size:12px;line-height:20px;color:var(--sd-system-color-field-text-default);white-space:nowrap}sd-field .sd-field--has-label .sd-field__wrapper .sd-field__label__tooltip{margin-left:2px}sd-field .sd-field--has-addon .sd-field__control .sd-field__addon{display:flex;align-items:center;white-space:nowrap;padding:0 var(--sd-field-addon-padding-x);font-size:var(--sd-field-addon-font-size);line-height:var(--sd-field-addon-line-height);font-weight:var(--sd-field-addon-font-weight);background:var(--sd-field-addon-bg);border-right:1px solid var(--sd-field-addon-border-color);border-radius:calc(var(--sd-system-radius-field-sm) - 1px) 0 0 calc(var(--sd-system-radius-field-sm) - 1px)}sd-field .sd-field__wrapper{width:100%;height:var(--sd-system-size-field-sm-height);display:flex;align-items:center;flex-flow:row nowrap;position:relative;color:var(--sd-system-color-field-text-default);cursor:pointer;-webkit-user-select:none;user-select:none}sd-field .sd-field__wrapper .sd-field__control{position:relative;height:100%;display:flex;flex:1;min-width:0;border:1px solid var(--sd-system-color-field-border-default);border-radius:var(--sd-system-radius-field-sm);background:var(--sd-system-color-field-bg-default)}sd-field .sd-field--error:not(:hover) .sd-field__wrapper .sd-field__control{border:1px solid var(--sd-system-color-field-border-danger) !important}sd-field .sd-field.sd-field--focus .sd-field__wrapper .sd-field__control,sd-field .sd-field.sd-field--hover .sd-field__wrapper .sd-field__control{border:1px solid var(--sd-system-color-field-border-focus) !important;box-shadow:0px 0px 4px 0px rgba(0, 113, 255, 0.4)}sd-field .sd-field.sd-field--pass .sd-field__wrapper .sd-field__control{border:1px solid #2BCE6C !important}sd-field .sd-field .sd-field__error-message{color:var(--sd-textinput-input-text-error-message);font-size:var(--sd-textinput-input-error-message-typography-font-size);line-height:var(--sd-textinput-input-error-message-typography-line-height);margin-top:var(--sd-textinput-input-contents-gap)}sd-field .sd-field .sd-field__hint{color:var(--sd-textinput-input-text-hint);font-size:var(--sd-textinput-input-hint-typography-font-size);line-height:var(--sd-textinput-input-hint-typography-line-height);margin-top:var(--sd-textinput-input-contents-gap)}"}},[772,"sd-field",{name:[1],rules:[16],error:[1028],disabled:[1028],hovered:[1028],focused:[1028],status:[1],hint:[1],errorMessage:[1,"error-message"],width:[8],label:[1],addonLabel:[1,"addon-label"],icon:[16],labelTooltip:[1,"label-tooltip"],labelTooltipProps:[16],errorMsg:[32],sdValidate:[64],sdReset:[64],sdResetValidation:[64],sdFocus:[64]}]);function p(){"undefined"!=typeof customElements&&["sd-field","sd-button","sd-floating-portal","sd-icon","sd-tooltip"].forEach((e=>{switch(e){case"sd-field":customElements.get(i(e))||customElements.define(i(e),f);break;case"sd-button":customElements.get(i(e))||t();break;case"sd-floating-portal":customElements.get(i(e))||l();break;case"sd-icon":customElements.get(i(e))||o();break;case"sd-tooltip":customElements.get(i(e))||r()}}))}export{f as S,p as d}
@@ -1 +1 @@
1
- import{p as e,c as s,h as t,t as i}from"./p-B1vJXa29.js";import{B as o}from"./p-BNuWMSR_.js";import{S as l}from"./p-Cy6HMEsK.js";import{n as d}from"./p-CCwNgVmC.js";import{d as r}from"./p-A5atk1St.js";import{d as n}from"./p-BNNjhCQc.js";import{d as a}from"./p-BDUKWznE.js";import{d as c}from"./p-CKi7RueC.js";import{d as h}from"./p-VztCEgcN.js";import{d as p}from"./p-DLe_Tu-I.js";import{d as m}from"./p-DEBuE-pW.js";import{d as u}from"./p-CZN_I4v-.js";import{d as f}from"./p-8oyZJ0FK.js";import{d as b}from"./p-Ese2dRYD.js";import{d as w}from"./p-CrYrMUpQ.js";const g=e(class extends o{constructor(e){super(!1),!1!==e&&this.__registerHost(),this.update=s(this,"sdUpdate"),this.dropDownShow=s(this,"sdDropDownShow")}get el(){return this}value=null;options=[];placeholder="선택";optionPlaceholder="선택지가 없습니다.";width="200px";dropdownHeight="260px";autoFocus=!1;disabled=!1;clearable=!1;searchable=!1;label="";addonLabel="";icon=void 0;labelTooltip="";labelTooltipProps=null;rules=[];error=!1;optionRenderer;isOpen=!1;itemIndex=-1;isScrolled=!1;update;dropDownShow;selectRef;triggerRef;formField;filteredOptions=[];dropDownWidth="200px";name=d();async sdOpen(){this.isOpen=!0}async sdValidate(){this.formField?.sdValidate()}async sdReset(){this.formField?.sdReset()}async sdResetValidate(){this.formField?.sdResetValidation()}async sdFocus(){this.formField?.sdFocus()}async isOpenChanged(){this.onDropdownToggle(this.isOpen),this.dropDownShow?.emit({isOpen:this.isOpen}),!1===this.isOpen&&await(this.formField?.sdValidate())}componentWillLoad(){this.filteredOptions=this.options,this.dropDownWidth=this.width,this.initializeEvent()}componentDidLoad(){this.autoFocus&&this.selectRef?.focus()}componentDidRender(){const e=this.triggerRef,s=e?.getBoundingClientRect();this.dropDownWidth=s?.width?`${s.width}px`:this.width}disconnectedCallback(){this.cleanupEvent()}handleDocumentClick(e){this.selectRef?.contains(e.target)||(this.isOpen=!1)}handleDocumentKeydown(e){if(e.stopPropagation(),["ArrowDown","ArrowUp","Enter","Escape"].includes(e.key))switch(e.preventDefault(),e.key){case"ArrowDown":case"ArrowUp":const s=new l(this.searchable,this.filteredOptions).getNextIndex(this.itemIndex,e.key);this.itemIndex=s;break;case"Enter":const t=this.filteredOptions[this.itemIndex];t&&!t.disabled&&(this.value=t.value,this.isOpen=!1);break;case"Escape":this.isOpen=!1}}getSelectedOption(){return this.options.find((e=>e.value===this.value))}closeDropdown(){this.isOpen=!1}handleTriggerClick=e=>{e.stopPropagation(),this.disabled||(this.isOpen=!this.isOpen,this.dropDownShow?.emit({isOpen:this.isOpen}))};handleOptionClick=e=>{const{option:s,event:t}=e;if(t.stopPropagation(),!s.disabled){this.value=s.value,this.isOpen=!1;const e=this.getSelectedOption();this.update?.emit({value:e?.value||null,option:e||null})}};render(){return t("sd-field",{key:"f7cd0c34188712a30389d07bde7edc7875e9923b",label:this.label,name:this.name,rules:this.rules,error:this.error,disabled:this.disabled,icon:this.icon,addonLabel:this.addonLabel,labelTooltip:this.labelTooltip,labelTooltipProps:this.labelTooltipProps,ref:e=>this.formField=e},t("div",{key:"460a8a23247e24a02bd25470105598914029e205",class:{"sd-select":!0,"sd-select--disabled":this.disabled,"sd-select--error":!!this.error,"sd-select--label":!!this.label},ref:e=>this.selectRef=e},this.renderTrigger(),this.renderDropdown()))}renderTrigger(){const e=this.getSelectedOption();return t("div",{class:"sd-select__trigger",tabindex:this.disabled?-1:0,onClick:this.handleTriggerClick,ref:e=>this.triggerRef=e},t("span",{class:"sd-select__value"},e?e.label:this.placeholder),this.clearable&&e&&!this.disabled&&t("sd-icon",{key:"clear-icon",name:"close",size:10,color:"#888",class:"sd-select__clear",onClick:async e=>{e.stopPropagation(),this.value=null,await(this.formField?.sdValidate())}}),t("sd-icon",{key:"arrow-icon",name:"arrowDown",color:"#888",class:{"sd-select__arrow":!0,"sd-select__arrow--open":this.isOpen}}))}renderDropdown(){if(!1===this.isOpen)return null;const e=this.selectRef?.querySelector(".sd-select__trigger")||this.selectRef;return t("sd-portal",{open:this.isOpen,parentRef:e,onSdClose:this.closeDropdown},t("sd-select-dropdown",{value:this.value,options:this.options,itemIndex:this.itemIndex,width:this.dropDownWidth,dropdownHeight:this.dropdownHeight,searchable:this.searchable,optionPlaceholder:this.optionPlaceholder,onSdOptionClick:({detail:e})=>this.handleOptionClick(e),onSdOptionFiltered:({detail:e})=>this.filteredOptions=e}))}static get watchers(){return{isOpen:[{isOpenChanged:0}]}}static get style(){return"sd-select{display:inline-flex;flex-flow:column nowrap;height:fit-content}sd-select *:focus,sd-select *:focus-visible,sd-select *:focus-within{outline:none !important}sd-select .sd-select{width:100%}sd-select .sd-select .sd-select__trigger{padding:4px 28px 4px 12px;display:flex;width:100%;height:100%;align-items:center}sd-select .sd-select .sd-select__trigger .sd-select__value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:20px;font-size:12px;font-weight:400;text-align:left}sd-select .sd-select .sd-select__trigger .sd-select__clear{margin:0 4px;width:8px;height:8px;background-color:transparent;outline:none;border:none}sd-select .sd-select .sd-select__arrow{position:absolute;top:8px;right:8px;width:12px;height:12px;color:#888888;transition:transform 0.3s ease;margin-left:8px}sd-select .sd-select .sd-select__arrow--open{transform:rotate(180deg)}"}},[512,"sd-select",{value:[1032],options:[1040],placeholder:[1],optionPlaceholder:[1,"option-placeholder"],width:[1],dropdownHeight:[1,"dropdown-height"],autoFocus:[4,"auto-focus"],disabled:[4],clearable:[4],searchable:[4],label:[1],addonLabel:[1,"addon-label"],icon:[16],labelTooltip:[1,"label-tooltip"],labelTooltipProps:[16],rules:[16],error:[4],optionRenderer:[16],isOpen:[32],itemIndex:[32],isScrolled:[32],sdOpen:[64],sdValidate:[64],sdReset:[64],sdResetValidate:[64],sdFocus:[64]},void 0,{isOpen:[{isOpenChanged:0}]}]);function x(){"undefined"!=typeof customElements&&["sd-select","sd-button","sd-checkbox","sd-field","sd-floating-portal","sd-icon","sd-input","sd-portal","sd-select-dropdown","sd-select-option","sd-select-search-input","sd-tooltip"].forEach((e=>{switch(e){case"sd-select":customElements.get(i(e))||customElements.define(i(e),g);break;case"sd-button":customElements.get(i(e))||r();break;case"sd-checkbox":customElements.get(i(e))||n();break;case"sd-field":customElements.get(i(e))||a();break;case"sd-floating-portal":customElements.get(i(e))||c();break;case"sd-icon":customElements.get(i(e))||h();break;case"sd-input":customElements.get(i(e))||p();break;case"sd-portal":customElements.get(i(e))||m();break;case"sd-select-dropdown":customElements.get(i(e))||u();break;case"sd-select-option":customElements.get(i(e))||f();break;case"sd-select-search-input":customElements.get(i(e))||b();break;case"sd-tooltip":customElements.get(i(e))||w()}}))}export{g as S,x as d}
1
+ import{p as s,c as e,h as t,t as i}from"./p-B1vJXa29.js";import{B as o}from"./p-BNuWMSR_.js";import{S as l}from"./p-Cy6HMEsK.js";import{n as d}from"./p-CCwNgVmC.js";import{d as r}from"./p-BKtAiyh0.js";import{d as n}from"./p-DgDoP1wQ.js";import{d as a}from"./p-AfdVu7_V.js";import{d as c}from"./p-BfqA9RSe.js";import{d as h}from"./p-C7dgr7sG.js";import{d as p}from"./p-jaHdAlr9.js";import{d as m}from"./p-CV1qJByG.js";import{d as u}from"./p-BZJDhQ6h.js";import{d as f}from"./p-6FZWkn3V.js";import{d as w}from"./p-jk3tAdJg.js";import{d as b}from"./p-CArAuWdh.js";const g=s(class extends o{constructor(s){super(!1),!1!==s&&this.__registerHost(),this.update=e(this,"sdUpdate"),this.dropDownShow=e(this,"sdDropDownShow")}get el(){return this}value=null;options=[];placeholder="선택";optionPlaceholder="선택지가 없습니다.";width="200px";dropdownHeight="260px";autoFocus=!1;disabled=!1;clearable=!1;searchable=!1;label="";addonLabel="";icon=void 0;labelTooltip="";labelTooltipProps=null;rules=[];error=!1;optionRenderer;isOpen=!1;itemIndex=-1;isScrolled=!1;update;dropDownShow;selectRef;triggerRef;formField;filteredOptions=[];dropDownWidth="200px";name=d();async sdOpen(){this.isOpen=!0}async sdValidate(){this.formField?.sdValidate()}async sdReset(){this.formField?.sdReset()}async sdResetValidate(){this.formField?.sdResetValidation()}async sdFocus(){this.formField?.sdFocus()}async isOpenChanged(){this.onDropdownToggle(this.isOpen),this.dropDownShow?.emit({isOpen:this.isOpen}),!1===this.isOpen&&await(this.formField?.sdValidate())}componentWillLoad(){this.filteredOptions=this.options,this.dropDownWidth=this.width,this.initializeEvent()}componentDidLoad(){this.autoFocus&&this.selectRef?.focus()}componentDidRender(){const s=this.triggerRef,e=s?.getBoundingClientRect();this.dropDownWidth=e?.width?`${e.width}px`:this.width}disconnectedCallback(){this.cleanupEvent()}handleDocumentClick(s){this.selectRef?.contains(s.target)||(this.isOpen=!1)}handleDocumentKeydown(s){if(s.stopPropagation(),["ArrowDown","ArrowUp","Enter","Escape"].includes(s.key))switch(s.preventDefault(),s.key){case"ArrowDown":case"ArrowUp":const e=new l(this.searchable,this.filteredOptions).getNextIndex(this.itemIndex,s.key);this.itemIndex=e;break;case"Enter":const t=this.filteredOptions[this.itemIndex];t&&!t.disabled&&(this.value=t.value,this.isOpen=!1);break;case"Escape":this.isOpen=!1}}getSelectedOption(){return this.options.find((s=>s.value===this.value))}closeDropdown(){this.isOpen=!1}handleTriggerClick=s=>{s.stopPropagation(),this.disabled||(this.isOpen=!this.isOpen,this.dropDownShow?.emit({isOpen:this.isOpen}))};handleOptionClick=s=>{const{option:e,event:t}=s;if(t.stopPropagation(),!e.disabled){this.value=e.value,this.isOpen=!1;const s=this.getSelectedOption();this.update?.emit({value:s?.value||null,option:s||null})}};render(){return t("sd-field",{key:"f7cd0c34188712a30389d07bde7edc7875e9923b",label:this.label,name:this.name,rules:this.rules,error:this.error,disabled:this.disabled,icon:this.icon,addonLabel:this.addonLabel,labelTooltip:this.labelTooltip,labelTooltipProps:this.labelTooltipProps,ref:s=>this.formField=s},t("div",{key:"460a8a23247e24a02bd25470105598914029e205",class:{"sd-select":!0,"sd-select--disabled":this.disabled,"sd-select--error":!!this.error,"sd-select--label":!!this.label},ref:s=>this.selectRef=s},this.renderTrigger(),this.renderDropdown()))}renderTrigger(){const s=this.getSelectedOption();return t("div",{class:"sd-select__trigger",tabindex:this.disabled?-1:0,onClick:this.handleTriggerClick,ref:s=>this.triggerRef=s},t("span",{class:"sd-select__value"},s?s.label:this.placeholder),this.clearable&&s&&!this.disabled&&t("sd-icon",{key:"clear-icon",name:"close",size:10,color:"#888",class:"sd-select__clear",onClick:async s=>{s.stopPropagation(),this.value=null,await(this.formField?.sdValidate())}}),t("sd-icon",{key:"arrow-icon",name:"arrowDown",color:"#888",class:{"sd-select__arrow":!0,"sd-select__arrow--open":this.isOpen}}))}renderDropdown(){if(!1===this.isOpen)return null;const s=this.selectRef?.querySelector(".sd-select__trigger")||this.selectRef;return t("sd-portal",{open:this.isOpen,parentRef:s,onSdClose:this.closeDropdown},t("sd-select-dropdown",{value:this.value,options:this.options,itemIndex:this.itemIndex,width:this.dropDownWidth,dropdownHeight:this.dropdownHeight,searchable:this.searchable,optionPlaceholder:this.optionPlaceholder,onSdOptionClick:({detail:s})=>this.handleOptionClick(s),onSdOptionFiltered:({detail:s})=>this.filteredOptions=s}))}static get watchers(){return{isOpen:[{isOpenChanged:0}]}}static get style(){return"sd-select{display:inline-flex;flex-flow:column nowrap;height:fit-content}sd-select *:focus,sd-select *:focus-visible,sd-select *:focus-within{outline:none !important}sd-select .sd-select{width:100%}sd-select .sd-select .sd-select__trigger{padding:4px 28px 4px 12px;display:flex;width:100%;height:100%;align-items:center}sd-select .sd-select .sd-select__trigger .sd-select__value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:20px;font-size:12px;font-weight:400;text-align:left}sd-select .sd-select .sd-select__trigger .sd-select__clear{margin:0 4px;width:8px;height:8px;background-color:transparent;outline:none;border:none}sd-select .sd-select .sd-select__arrow{position:absolute;top:8px;right:8px;width:12px;height:12px;color:#888888;transition:transform 0.3s ease;margin-left:8px}sd-select .sd-select .sd-select__arrow--open{transform:rotate(180deg)}"}},[512,"sd-select",{value:[1032],options:[1040],placeholder:[1],optionPlaceholder:[1,"option-placeholder"],width:[1],dropdownHeight:[1,"dropdown-height"],autoFocus:[4,"auto-focus"],disabled:[4],clearable:[4],searchable:[4],label:[1],addonLabel:[1,"addon-label"],icon:[16],labelTooltip:[1,"label-tooltip"],labelTooltipProps:[16],rules:[16],error:[4],optionRenderer:[16],isOpen:[32],itemIndex:[32],isScrolled:[32],sdOpen:[64],sdValidate:[64],sdReset:[64],sdResetValidate:[64],sdFocus:[64]},void 0,{isOpen:[{isOpenChanged:0}]}]);function x(){"undefined"!=typeof customElements&&["sd-select","sd-button","sd-checkbox","sd-field","sd-floating-portal","sd-icon","sd-input","sd-portal","sd-select-dropdown","sd-select-option","sd-select-search-input","sd-tooltip"].forEach((s=>{switch(s){case"sd-select":customElements.get(i(s))||customElements.define(i(s),g);break;case"sd-button":customElements.get(i(s))||r();break;case"sd-checkbox":customElements.get(i(s))||n();break;case"sd-field":customElements.get(i(s))||a();break;case"sd-floating-portal":customElements.get(i(s))||c();break;case"sd-icon":customElements.get(i(s))||h();break;case"sd-input":customElements.get(i(s))||p();break;case"sd-portal":customElements.get(i(s))||m();break;case"sd-select-dropdown":customElements.get(i(s))||u();break;case"sd-select-option":customElements.get(i(s))||f();break;case"sd-select-search-input":customElements.get(i(s))||w();break;case"sd-tooltip":customElements.get(i(s))||b()}}))}export{g as S,x as d}
@@ -1 +1 @@
1
- import{p as e,H as s,h as t,F as n,t as r}from"./p-B1vJXa29.js";import{r as a}from"./p-CquSJNHV.js";const o=e(class extends s{constructor(e){super(),!1!==e&&this.__registerHost()}color="#0075ff";get resolvedColor(){return a(this.color)}render(){return t(n,{key:"463ab22264fafc013af7a602066eb8ebed10ac05"},t("svg",{key:"6b90c0c3448c309813038fb8281b4ed73b1145d3",class:"sd-loading-spinner",width:"72px",height:"72px",viewBox:"25 25 50 50",style:{color:this.resolvedColor}},t("circle",{key:"aa553d712b98c3316c98b7e52b955b7185eaee20",class:"path",cx:"50",cy:"50",r:"20",fill:"none",stroke:"currentColor","stroke-width":"5","stroke-miterlimit":"10"})))}static get style(){return"sd-loading-spinner{display:inline-flex;width:fit-content;height:fit-content;align-items:center}sd-loading-spinner .sd-loading-spinner{animation:sd-loading-spin 2s linear infinite;transform-origin:center center}sd-loading-spinner .sd-loading-spinner .path{animation:sd-loading-spin-path 1.5s ease-in-out infinite}@keyframes sd-loading-spin{0%{transform:rotate3d(0, 0, 1, 0deg)}25%{transform:rotate3d(0, 0, 1, 90deg)}50%{transform:rotate3d(0, 0, 1, 180deg)}75%{transform:rotate3d(0, 0, 1, 270deg)}100%{transform:rotate3d(0, 0, 1, 359deg)}}@keyframes sd-loading-spin-path{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35px}100%{stroke-dasharray:89, 200;stroke-dashoffset:-124px}}"}},[512,"sd-loading-spinner",{color:[1]}]);function i(){"undefined"!=typeof customElements&&["sd-loading-spinner"].forEach((e=>{"sd-loading-spinner"===e&&(customElements.get(r(e))||customElements.define(r(e),o))}))}export{o as S,i as d}
1
+ import{p as e,H as s,h as t,F as n,t as r}from"./p-B1vJXa29.js";import{r as a}from"./p-CquSJNHV.js";const o=e(class extends s{constructor(e){super(),!1!==e&&this.__registerHost()}color="#0075ff";get resolvedColor(){return a(this.color)}render(){return t(n,{key:"debc93482bd2c47f317457fd97ee2bf40b6f3e59"},t("svg",{key:"915a8e743e9286e32c81b1bf49714da01ba9a1c3",class:"sd-loading-spinner",width:"72px",height:"72px",viewBox:"25 25 50 50",style:{color:this.resolvedColor}},t("circle",{key:"04abf57521d77d5492a0e5553a7f64017fe0d1a3",class:"path",cx:"50",cy:"50",r:"20",fill:"none",stroke:"currentColor","stroke-width":"5","stroke-miterlimit":"10"})))}static get style(){return"sd-loading-spinner{display:inline-flex;width:fit-content;height:fit-content;align-items:center}sd-loading-spinner .sd-loading-spinner{animation:sd-loading-spin 2s linear infinite;transform-origin:center center}sd-loading-spinner .sd-loading-spinner .path{animation:sd-loading-spin-path 1.5s ease-in-out infinite}@keyframes sd-loading-spin{0%{transform:rotate3d(0, 0, 1, 0deg)}25%{transform:rotate3d(0, 0, 1, 90deg)}50%{transform:rotate3d(0, 0, 1, 180deg)}75%{transform:rotate3d(0, 0, 1, 270deg)}100%{transform:rotate3d(0, 0, 1, 359deg)}}@keyframes sd-loading-spin-path{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35px}100%{stroke-dasharray:89, 200;stroke-dashoffset:-124px}}"}},[512,"sd-loading-spinner",{color:[1]}]);function i(){"undefined"!=typeof customElements&&["sd-loading-spinner"].forEach((e=>{"sd-loading-spinner"===e&&(customElements.get(r(e))||customElements.define(r(e),o))}))}export{o as S,i as d}
@@ -1 +1 @@
1
- import{p as t,H as o,c as n,h as s,t as i}from"./p-B1vJXa29.js";import{b as d}from"./p-KOzU1j2w.js";import{r as e}from"./p-CquSJNHV.js";import{d as a}from"./p-VztCEgcN.js";const b={xs:Number(d.size.xs.icon),sm:Number(d.size.sm.icon),md:Number(d.size.md.icon),lg:Number(d.size.lg.icon)},r=t(class extends o{constructor(t){super(),!1!==t&&this.__registerHost(),this.click=n(this,"sdClick")}get el(){return this}variant="primary";size="sm";color="#025497";label="";disabled=!1;type="button";icon;iconColor;iconSize;iconRight;noHover=!1;sdClass="";click;handleClick=t=>{this.disabled||this.click.emit(t)};getButtonClasses(){const t=["sd-button"];return t.push(`sd-button--${this.variant}`),t.push(`sd-button--${this.size}`),t.push(`sd-button--color-${this.color}`),this.disabled&&t.push("sd-button--disabled"),this.label&&t.push("sd-button--has-label"),this.label||!this.icon&&!this.iconRight||t.push("sd-button--icon-only"),this.noHover&&t.push("sd-button--no-hover"),t.join(" ")}render(){const t=this.getButtonClasses(),o=e(this.color);return s("button",{key:"b1436c0cdf0267446df9cd022df68a8a6c349ca5",class:`${t} ${this.sdClass}`,type:this.type,disabled:this.disabled,style:{"--button-color":o},onClick:this.handleClick},s("div",{key:"70f9450410dbc7b2603679cda397bc8f211928b1",class:"sd-button__content"},this.icon&&s("sd-icon",{key:"ab09632262d175e8dc9a31df4e673470d128b274",class:"sd-button__icon sd-button__icon--left",name:this.icon,size:this.iconSize??b[this.size],color:this.iconColor??("primary"===this.variant?"#fff":o)}),this.label&&s("div",{key:"c33e565c9108996ab4a3d84b5beaf1d8acbd5700",class:"sd-button__label"},this.label),this.iconRight&&s("sd-icon",{key:"112a9649b77e7eb67198d0bf7bf407e9f7f71cd5",class:"sd-button__icon sd-button__icon--right",name:this.iconRight,size:b[this.size],color:"primary"===this.variant?"#fff":o})))}static get style(){return'sd-button{display:inline-flex;width:fit-content;height:fit-content}.sd-button{--sd-button-height:34px;--sd-button-padding-x:20px;--sd-button-gap:8px;--sd-button-font-family:inherit;--sd-button-font-size:16px;--sd-button-font-weight:500;--sd-button-text-decoration:none;--sd-button-label-min-width:auto;--sd-button-icon-only-size:var(--sd-button-height);text-decoration:none;cursor:pointer;border-radius:var(--sd-button-radius-default, 4px);transition:all 0.2s ease-in-out;position:relative;overflow:hidden;white-space:nowrap;-webkit-user-select:none;user-select:none;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;border:none;padding:0 var(--sd-button-padding-x);min-width:var(--sd-button-min-width, auto);min-height:var(--sd-button-height);font-family:var(--sd-button-font-family);font-size:var(--sd-button-font-size);font-weight:var(--sd-button-font-weight);text-decoration:var(--sd-button-text-decoration)}.sd-button--xs{--sd-button-height:var(--sd-button-xs-height, 24px);--sd-button-padding-x:var(--sd-button-xs-padding-x, 8px);--sd-button-gap:var(--sd-button-xs-gap, 4px);--sd-button-font-family:var(--sd-button-xs-typography-font-family, inherit);--sd-button-font-size:var(--sd-button-xs-typography-font-size, 12px);--sd-button-font-weight:var(--sd-button-xs-typography-font-weight, 500);--sd-button-text-decoration:var(--sd-button-xs-typography-text-decoration, none);--sd-button-label-min-width:var(--sd-button-label-xs-min-width, auto);--sd-button-icon-only-size:var(--sd-button-icon-only-xs-width, var(--sd-button-height));line-height:20px}.sd-button--sm{--sd-button-height:var(--sd-button-sm-height, 28px);--sd-button-padding-x:var(--sd-button-sm-padding-x, 12px);--sd-button-gap:var(--sd-button-sm-gap, 6px);--sd-button-font-family:var(--sd-button-sm-typography-font-family, inherit);--sd-button-font-size:var(--sd-button-sm-typography-font-size, 12px);--sd-button-font-weight:var(--sd-button-sm-typography-font-weight, 500);--sd-button-text-decoration:var(--sd-button-sm-typography-text-decoration, none);--sd-button-label-min-width:var(--sd-button-label-sm-min-width, auto);--sd-button-icon-only-size:var(--sd-button-icon-only-sm-width, var(--sd-button-height));line-height:20px}.sd-button--md{--sd-button-height:var(--sd-button-md-height, 34px);--sd-button-padding-x:var(--sd-button-md-padding-x, 20px);--sd-button-gap:var(--sd-button-md-gap, 8px);--sd-button-font-family:var(--sd-button-md-typography-font-family, inherit);--sd-button-font-size:var(--sd-button-md-typography-font-size, 16px);--sd-button-font-weight:var(--sd-button-md-typography-font-weight, 500);--sd-button-text-decoration:var(--sd-button-md-typography-text-decoration, none);--sd-button-label-min-width:var(--sd-button-label-md-min-width, auto);--sd-button-icon-only-size:var(--sd-button-icon-only-md-width, var(--sd-button-height));line-height:26px}.sd-button--lg{--sd-button-height:var(--sd-button-lg-height, 62px);--sd-button-padding-x:var(--sd-button-lg-padding-x, 28px);--sd-button-gap:var(--sd-button-lg-gap, 12px);--sd-button-font-family:var(--sd-button-lg-typography-font-family, inherit);--sd-button-font-size:var(--sd-button-lg-typography-font-size, 18px);--sd-button-font-weight:var(--sd-button-lg-typography-font-weight, 500);--sd-button-text-decoration:var(--sd-button-lg-typography-text-decoration, none);--sd-button-label-min-width:var(--sd-button-label-lg-min-width, auto);--sd-button-icon-only-size:var(--sd-button-icon-only-lg-width, var(--sd-button-height));line-height:30px}.sd-button--has-label{--sd-button-min-width:var(--sd-button-label-min-width, auto)}.sd-button--primary{background-color:var(--button-color);color:white;transition:filter 0.2s ease}.sd-button--primary::before{content:"";position:absolute;inset:0;background:#000000;opacity:0;transition:opacity 0.2s ease;z-index:0}.sd-button--primary:hover:not(.sd-button--disabled):not(.sd-button--loading)::before{opacity:0.25}.sd-button--outline{background:white;border:var(--sd-button-border-width-default, 1px) solid var(--button-color);color:var(--button-color)}.sd-button--outline::before{content:"";position:absolute;inset:0;background:var(--button-color);opacity:0;transition:opacity 0.2s ease;z-index:0}.sd-button--outline:hover:not(.sd-button--disabled):not(.sd-button--loading)::before{opacity:0.15}.sd-button--outline .sd-button__content{position:relative;z-index:1}.sd-button--ghost{background-color:transparent;color:var(--button-color);border-color:transparent}.sd-button--ghost::before{content:"";position:absolute;inset:0;background:var(--button-color);opacity:0;transition:opacity 0.2s ease;z-index:0}.sd-button--ghost:hover:not(.sd-button--disabled):not(.sd-button--loading)::before{opacity:0.15}.sd-button--ghost .sd-button__content{position:relative;z-index:1}.sd-button--disabled{border:var(--sd-button-border-width-default, 1px) solid var(--sd-button-border-disabled, #CCCCCC);background:var(--sd-button-bg-disabled, #E1E1E1);color:var(--sd-button-content-disabled, #888888);cursor:not-allowed !important}.sd-button--icon-only{padding:0;width:var(--sd-button-icon-only-size, var(--sd-button-height));min-width:var(--sd-button-icon-only-size, var(--sd-button-height));height:var(--sd-button-icon-only-size, var(--sd-button-height))}.sd-button--no-hover:hover::before{opacity:0 !important}.sd-button .sd-button__content{display:inline-flex;align-items:center;justify-content:center;gap:var(--sd-button-gap);z-index:1;font-weight:inherit}'}},[512,"sd-button",{variant:[1],size:[1],color:[1],label:[1],disabled:[4],type:[1],icon:[1],iconColor:[1,"icon-color"],iconSize:[2,"icon-size"],iconRight:[1,"icon-right"],noHover:[4,"no-hover"],sdClass:[1,"sd-class"]}]);function u(){"undefined"!=typeof customElements&&["sd-button","sd-icon"].forEach((t=>{switch(t){case"sd-button":customElements.get(i(t))||customElements.define(i(t),r);break;case"sd-icon":customElements.get(i(t))||a()}}))}export{r as S,u as d}
1
+ import{p as t,H as o,c as n,h as s,t as i}from"./p-B1vJXa29.js";import{b as d}from"./p-KOzU1j2w.js";import{r as e}from"./p-CquSJNHV.js";import{d as a}from"./p-C7dgr7sG.js";const b={xs:Number(d.size.xs.icon),sm:Number(d.size.sm.icon),md:Number(d.size.md.icon),lg:Number(d.size.lg.icon)},r=t(class extends o{constructor(t){super(),!1!==t&&this.__registerHost(),this.click=n(this,"sdClick")}get el(){return this}variant="primary";size="sm";color="#025497";label="";disabled=!1;type="button";icon;iconColor;iconSize;iconRight;noHover=!1;sdClass="";click;handleClick=t=>{this.disabled||this.click.emit(t)};getButtonClasses(){const t=["sd-button"];return t.push(`sd-button--${this.variant}`),t.push(`sd-button--${this.size}`),t.push(`sd-button--color-${this.color}`),this.disabled&&t.push("sd-button--disabled"),this.label&&t.push("sd-button--has-label"),this.label||!this.icon&&!this.iconRight||t.push("sd-button--icon-only"),this.noHover&&t.push("sd-button--no-hover"),t.join(" ")}render(){const t=this.getButtonClasses(),o=e(this.color);return s("button",{key:"b1436c0cdf0267446df9cd022df68a8a6c349ca5",class:`${t} ${this.sdClass}`,type:this.type,disabled:this.disabled,style:{"--button-color":o},onClick:this.handleClick},s("div",{key:"70f9450410dbc7b2603679cda397bc8f211928b1",class:"sd-button__content"},this.icon&&s("sd-icon",{key:"ab09632262d175e8dc9a31df4e673470d128b274",class:"sd-button__icon sd-button__icon--left",name:this.icon,size:this.iconSize??b[this.size],color:this.iconColor??("primary"===this.variant?"#fff":o)}),this.label&&s("div",{key:"c33e565c9108996ab4a3d84b5beaf1d8acbd5700",class:"sd-button__label"},this.label),this.iconRight&&s("sd-icon",{key:"112a9649b77e7eb67198d0bf7bf407e9f7f71cd5",class:"sd-button__icon sd-button__icon--right",name:this.iconRight,size:b[this.size],color:"primary"===this.variant?"#fff":o})))}static get style(){return'sd-button{display:inline-flex;width:fit-content;height:fit-content}.sd-button{--sd-button-height:34px;--sd-button-padding-x:20px;--sd-button-gap:8px;--sd-button-font-family:inherit;--sd-button-font-size:16px;--sd-button-font-weight:500;--sd-button-text-decoration:none;--sd-button-label-min-width:auto;--sd-button-icon-only-size:var(--sd-button-height);text-decoration:none;cursor:pointer;border-radius:var(--sd-button-radius-default, 4px);transition:all 0.2s ease-in-out;position:relative;overflow:hidden;white-space:nowrap;-webkit-user-select:none;user-select:none;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;border:none;padding:0 var(--sd-button-padding-x);min-width:var(--sd-button-min-width, auto);min-height:var(--sd-button-height);font-family:var(--sd-button-font-family);font-size:var(--sd-button-font-size);font-weight:var(--sd-button-font-weight);text-decoration:var(--sd-button-text-decoration)}.sd-button--xs{--sd-button-height:var(--sd-button-xs-height, 24px);--sd-button-padding-x:var(--sd-button-xs-padding-x, 8px);--sd-button-gap:var(--sd-button-xs-gap, 4px);--sd-button-font-family:var(--sd-button-xs-typography-font-family, inherit);--sd-button-font-size:var(--sd-button-xs-typography-font-size, 12px);--sd-button-font-weight:var(--sd-button-xs-typography-font-weight, 500);--sd-button-text-decoration:var(--sd-button-xs-typography-text-decoration, none);--sd-button-label-min-width:var(--sd-button-label-xs-min-width, auto);--sd-button-icon-only-size:var(--sd-button-icon-only-xs-width, var(--sd-button-height));line-height:20px}.sd-button--sm{--sd-button-height:var(--sd-button-sm-height, 28px);--sd-button-padding-x:var(--sd-button-sm-padding-x, 12px);--sd-button-gap:var(--sd-button-sm-gap, 6px);--sd-button-font-family:var(--sd-button-sm-typography-font-family, inherit);--sd-button-font-size:var(--sd-button-sm-typography-font-size, 12px);--sd-button-font-weight:var(--sd-button-sm-typography-font-weight, 500);--sd-button-text-decoration:var(--sd-button-sm-typography-text-decoration, none);--sd-button-label-min-width:var(--sd-button-label-sm-min-width, auto);--sd-button-icon-only-size:var(--sd-button-icon-only-sm-width, var(--sd-button-height));line-height:20px}.sd-button--md{--sd-button-height:var(--sd-button-md-height, 34px);--sd-button-padding-x:var(--sd-button-md-padding-x, 20px);--sd-button-gap:var(--sd-button-md-gap, 8px);--sd-button-font-family:var(--sd-button-md-typography-font-family, inherit);--sd-button-font-size:var(--sd-button-md-typography-font-size, 16px);--sd-button-font-weight:var(--sd-button-md-typography-font-weight, 500);--sd-button-text-decoration:var(--sd-button-md-typography-text-decoration, none);--sd-button-label-min-width:var(--sd-button-label-md-min-width, auto);--sd-button-icon-only-size:var(--sd-button-icon-only-md-width, var(--sd-button-height));line-height:26px}.sd-button--lg{--sd-button-height:var(--sd-button-lg-height, 62px);--sd-button-padding-x:var(--sd-button-lg-padding-x, 28px);--sd-button-gap:var(--sd-button-lg-gap, 12px);--sd-button-font-family:var(--sd-button-lg-typography-font-family, inherit);--sd-button-font-size:var(--sd-button-lg-typography-font-size, 18px);--sd-button-font-weight:var(--sd-button-lg-typography-font-weight, 500);--sd-button-text-decoration:var(--sd-button-lg-typography-text-decoration, none);--sd-button-label-min-width:var(--sd-button-label-lg-min-width, auto);--sd-button-icon-only-size:var(--sd-button-icon-only-lg-width, var(--sd-button-height));line-height:30px}.sd-button--has-label{--sd-button-min-width:var(--sd-button-label-min-width, auto)}.sd-button--primary{background-color:var(--button-color);color:white;transition:filter 0.2s ease}.sd-button--primary::before{content:"";position:absolute;inset:0;background:#000000;opacity:0;transition:opacity 0.2s ease;z-index:0}.sd-button--primary:hover:not(.sd-button--disabled):not(.sd-button--loading)::before{opacity:0.25}.sd-button--outline{background:white;border:var(--sd-button-border-width-default, 1px) solid var(--button-color);color:var(--button-color)}.sd-button--outline::before{content:"";position:absolute;inset:0;background:var(--button-color);opacity:0;transition:opacity 0.2s ease;z-index:0}.sd-button--outline:hover:not(.sd-button--disabled):not(.sd-button--loading)::before{opacity:0.15}.sd-button--outline .sd-button__content{position:relative;z-index:1}.sd-button--ghost{background-color:transparent;color:var(--button-color);border-color:transparent}.sd-button--ghost::before{content:"";position:absolute;inset:0;background:var(--button-color);opacity:0;transition:opacity 0.2s ease;z-index:0}.sd-button--ghost:hover:not(.sd-button--disabled):not(.sd-button--loading)::before{opacity:0.15}.sd-button--ghost .sd-button__content{position:relative;z-index:1}.sd-button--disabled{border:var(--sd-button-border-width-default, 1px) solid var(--sd-button-border-disabled, #CCCCCC);background:var(--sd-button-bg-disabled, #E1E1E1);color:var(--sd-button-content-disabled, #888888);cursor:not-allowed !important}.sd-button--icon-only{padding:0;width:var(--sd-button-icon-only-size, var(--sd-button-height));min-width:var(--sd-button-icon-only-size, var(--sd-button-height));height:var(--sd-button-icon-only-size, var(--sd-button-height))}.sd-button--no-hover:hover::before{opacity:0 !important}.sd-button .sd-button__content{display:inline-flex;align-items:center;justify-content:center;gap:var(--sd-button-gap);z-index:1;font-weight:inherit}'}},[512,"sd-button",{variant:[1],size:[1],color:[1],label:[1],disabled:[4],type:[1],icon:[1],iconColor:[1,"icon-color"],iconSize:[2,"icon-size"],iconRight:[1,"icon-right"],noHover:[4,"no-hover"],sdClass:[1,"sd-class"]}]);function u(){"undefined"!=typeof customElements&&["sd-button","sd-icon"].forEach((t=>{switch(t){case"sd-button":customElements.get(i(t))||customElements.define(i(t),r);break;case"sd-icon":customElements.get(i(t))||a()}}))}export{r as S,u as d}
@@ -1 +1 @@
1
- var e={default:"#888888",disabled:"#BBBBBB"},t={fontWeight:"400",fontSize:"12",lineHeight:"20"},d={default:"#222222",disabled:"#888888"},i={depth1:"12",depth2:"20",depth3:"28"},a={fontWeight:"400",fontSize:"12",lineHeight:"20"},n={default:"#FFFFFF",hover:"#0075FF"},o={default:"#222222",hover:"#FFFFFF",disabled:"#888888"},h={bg:{default:"#EFF6FF"},border:{color:"#E1E1E1",width:"1"}};const l={paddingX:"12",gap:"8"},f={fontSize:t.fontSize,lineHeight:t.lineHeight,fontWeight:t.fontWeight},s={icon:{default:e.default,disabled:e.disabled},text:{default:d.default,disabled:d.disabled}},g={paddingY:"4",paddingRight:"12",paddingLeft:{depth1:i.depth1,depth2:i.depth2,depth3:i.depth3},gap:"8"},r={fontSize:a.fontSize,lineHeight:a.lineHeight,fontWeight:a.fontWeight},F={bg:{default:n.default,hover:n.hover},content:{default:o.default,hover:o.hover,disabled:o.disabled},depth1:{bg:h.bg.default,border:h.border.color,borderWidth:h.border.width},depth2:{bg:{middle:{bg:"#F6F6F6"}}.middle.bg}},p={radius:"4",paddingBottom:"4"},b=11,u=1e3,c="표시할 항목이 없습니다.";function B(e){return e.reduce(((e,t)=>t.children?e+B(t.children):e+1),0)}function v(e,t){const d=t.toLowerCase();return e.reduce(((e,i)=>{if(i.label.toLowerCase().includes(d))e.push({...i,children:i.children?[]:void 0});else if(i.children){const d=v(i.children,t);d.length>0&&e.push({...i,children:d})}return e}),[])}export{c as E,g as L,u as S,F as a,r as b,B as c,b as d,p as e,v as f,s as g,f as h,l as i}
1
+ var e={default:"#888888",disabled:"#BBBBBB"},t={fontWeight:"400",fontSize:"12",lineHeight:"20"},d={default:"#222222",disabled:"#888888"},i={depth1:"12",depth2:"20",depth3:"28"},a={fontWeight:"400",fontSize:"12",lineHeight:"20"},n={default:"#FFFFFF",hover:"#0075FF"},o={default:"#222222",hover:"#FFFFFF",disabled:"#888888"},h={bg:{default:"#EFF6FF"},border:{color:"#E1E1E1",width:"1"}};const l={paddingX:"12",gap:"8"},s={fontSize:t.fontSize,lineHeight:t.lineHeight,fontWeight:t.fontWeight},f={icon:{default:e.default,disabled:e.disabled},text:{default:d.default,disabled:d.disabled}},g={paddingY:"4",paddingRight:"12",paddingLeft:{depth1:i.depth1,depth2:i.depth2,depth3:i.depth3},gap:"8"},r={fontSize:a.fontSize,lineHeight:a.lineHeight,fontWeight:a.fontWeight},F={bg:{default:n.default,hover:n.hover},content:{default:o.default,hover:o.hover,disabled:o.disabled},depth1:{bg:h.bg.default,border:h.border.color,borderWidth:h.border.width},depth2:{bg:{middle:{bg:"#F6F6F6"}}.middle.bg}},p={radius:"4",paddingBottom:"4"},b=11,u=1e3,c="표시할 항목이 없습니다.";function B(e){return e.reduce(((e,t)=>t.children?e+B(t.children):e+1),0)}function v(e,t){const d=t.toLowerCase();return e.reduce(((e,i)=>{const a=i.label.toLowerCase().includes(d);if(i.children){const d=v(i.children,t);d.length>0?e.push({...i,children:d}):a&&e.push({...i,children:[]})}else a&&e.push({...i});return e}),[])}export{c as E,g as L,u as S,F as a,r as b,B as c,b as d,p as e,v as f,f as g,s as h,l as i}
@@ -1 +1 @@
1
- import{p as t,H as e,c as s,h as o,t as i}from"./p-B1vJXa29.js";import{d}from"./p-A5atk1St.js";import{d as n}from"./p-BNNjhCQc.js";import{d as r}from"./p-BDUKWznE.js";import{d as a}from"./p-CKi7RueC.js";import{d as c}from"./p-VztCEgcN.js";import{d as h}from"./p-DLe_Tu-I.js";import{d as l}from"./p-8oyZJ0FK.js";import{d as p}from"./p-Ese2dRYD.js";import{d as m}from"./p-CrYrMUpQ.js";const u=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.optionClick=s(this,"sdOptionClick"),this.optionFiltered=s(this,"sdOptionFiltered"),this.scroll=s(this,"sdScroll")}itemIndex;value=null;options;width;dropdownHeight;searchable;optionPlaceholder;useCheckbox=!1;useAll=!1;filteredOptions=[];searchText=null;isScrolled=!1;isDropdownReady=!1;optionClick;optionFiltered;scroll;filteredOptionsChanged(t){this.optionFiltered.emit(t)}searchTextChanged(){this.filterOptions()}async itemIndexChanged(t,e){if(this.searchable){const t=await this.getNativeInputElement();if(-1===this.itemIndex)return void t?.focus({preventScroll:!0});t?.matches(":focus")&&t?.blur()}const s=this.dropdownRef?.querySelectorAll(".sd-select-dropdown sd-select-option")||[],o=s?.[this.itemIndex];o&&(this.optionRef=o,await this.optionRef.sdIsDisabled()?t>e?this.itemIndex++:this.itemIndex--:this.scrollToOption(o))}componentWillLoad(){this.filteredOptions=this.options,requestAnimationFrame((()=>{requestAnimationFrame((async()=>{const t=this.getSelectedOption();if(t){const e=Array.isArray(t)?this.options.indexOf(t[0]):this.options.indexOf(t),s=Array.from(this.dropdownRef?.querySelectorAll("sd-select-option")||[]),o=Math.min((this.useAll?e+1:e)+4,s.length-1),i=s?.[o];i&&this.scrollToOption(i,"instant")}if(this.isDropdownReady=!0,this.searchable){const t=await this.getNativeInputElement();t&&requestAnimationFrame((()=>{t.focus({preventScroll:!0})}))}}))}))}dropdownRef;searchRef;optionRef;get dropdownSize(){return{"--select-dropdown-width":this.width||"200px","--select-dropdown-height":this.dropdownHeight||"260px"}}filterOptions(){this.filteredOptions=this.searchText&&""!==this.searchText.trim()?this.options.filter((t=>t.label.toLowerCase().includes(this.searchText.toLowerCase()))):this.options}getSelectedOption(){return"object"!=typeof this.value?this.options.find((t=>t.value===this.value)):this.options.filter((t=>this.value?.includes(t)))}isOptionSelected(t){return Array.isArray(this.value)?this.value.some((e=>e.value===t)):t===this.value}async getNativeInputElement(){return this.searchRef?this.searchRef.sdGetNativeElement():null}scrollToOption(t,e="smooth"){if(!this.dropdownRef||!t)return;const s=this.dropdownRef,o=t.offsetTop,i=t.offsetHeight,d=s.scrollTop,n=s.clientHeight,r=s.querySelector(".sd-select-search-input"),a=r?r.offsetHeight:0,c=d+n;o<d+a?s.scrollTo({top:o-a,behavior:e}):o+i>c&&s.scrollTo({top:o+i-n+a,behavior:e})}handleDropdownScroll=t=>{this.isScrolled=t.target.scrollTop>0};render(){return o("div",{key:"aca6d4044905863975c944afb44f92df0d6f1568",class:{"sd-select-dropdown":!0,"sd-select-dropdown--ready":this.isDropdownReady},style:this.dropdownSize,onScroll:this.handleDropdownScroll,ref:t=>this.dropdownRef=t},this.searchable&&o("sd-select-search-input",{key:"c87e4d9a391bf7b583bca1cda8930f977a1aec2c",ref:t=>this.searchRef=t,isScrolled:this.isScrolled,searchText:this.searchText,onSdSearchInput:t=>this.searchText=t.detail||"",onSdSearchFocus:()=>this.itemIndex=-1}),this.filteredOptions.length>0?this.filteredOptions.map(((t,e)=>o("slot",{name:`option-${t.value}`},o("sd-select-option",{option:t,index:e,isSelected:this.isOptionSelected(t.value),isFocused:e===this.itemIndex,onOptionClick:({detail:t})=>this.optionClick.emit(t),useCheckbox:this.useCheckbox})))):o("slot",{name:"option-placeholder"},o("div",{class:"sd-select-option-placeholder"},this.optionPlaceholder)))}static get watchers(){return{filteredOptions:[{filteredOptionsChanged:0}],searchText:[{searchTextChanged:0}],itemIndex:[{itemIndexChanged:0}]}}static get style(){return".sd-select-dropdown .sd-select-option-placeholder{height:48px;display:flex;align-items:center;padding:8px 16px;font-size:12px;line-height:0;text-align:left;color:#888888}.sd-select-dropdown{overflow:auto;min-width:fit-content;width:var(--select-dropdown-width, 200px);max-height:var(--select-dropdown-height, 260px);padding-bottom:2px;background-color:white;box-shadow:2px 2px 12px 2px rgba(0, 0, 0, 0.1);border-radius:4px;overflow-y:auto;color:#333333;display:flex;flex-direction:column;opacity:0.5;transition:opacity 0.15s ease-in}.sd-select-dropdown--ready{opacity:1}"}},[772,"sd-select-dropdown",{itemIndex:[1026,"item-index"],value:[8],options:[16],width:[1],dropdownHeight:[1,"dropdown-height"],searchable:[4],optionPlaceholder:[1,"option-placeholder"],useCheckbox:[4,"use-checkbox"],useAll:[4,"use-all"],filteredOptions:[32],searchText:[32],isScrolled:[32],isDropdownReady:[32]},void 0,{filteredOptions:[{filteredOptionsChanged:0}],searchText:[{searchTextChanged:0}],itemIndex:[{itemIndexChanged:0}]}]);function f(){"undefined"!=typeof customElements&&["sd-select-dropdown","sd-button","sd-checkbox","sd-field","sd-floating-portal","sd-icon","sd-input","sd-select-option","sd-select-search-input","sd-tooltip"].forEach((t=>{switch(t){case"sd-select-dropdown":customElements.get(i(t))||customElements.define(i(t),u);break;case"sd-button":customElements.get(i(t))||d();break;case"sd-checkbox":customElements.get(i(t))||n();break;case"sd-field":customElements.get(i(t))||r();break;case"sd-floating-portal":customElements.get(i(t))||a();break;case"sd-icon":customElements.get(i(t))||c();break;case"sd-input":customElements.get(i(t))||h();break;case"sd-select-option":customElements.get(i(t))||l();break;case"sd-select-search-input":customElements.get(i(t))||p();break;case"sd-tooltip":customElements.get(i(t))||m()}}))}export{u as S,f as d}
1
+ import{p as t,H as e,c as s,h as o,t as i}from"./p-B1vJXa29.js";import{d}from"./p-BKtAiyh0.js";import{d as n}from"./p-DgDoP1wQ.js";import{d as r}from"./p-AfdVu7_V.js";import{d as a}from"./p-BfqA9RSe.js";import{d as c}from"./p-C7dgr7sG.js";import{d as h}from"./p-jaHdAlr9.js";import{d as l}from"./p-6FZWkn3V.js";import{d as p}from"./p-jk3tAdJg.js";import{d as m}from"./p-CArAuWdh.js";const u=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.optionClick=s(this,"sdOptionClick"),this.optionFiltered=s(this,"sdOptionFiltered"),this.scroll=s(this,"sdScroll")}itemIndex;value=null;options;width;dropdownHeight;searchable;optionPlaceholder;useCheckbox=!1;useAll=!1;filteredOptions=[];searchText=null;isScrolled=!1;isDropdownReady=!1;optionClick;optionFiltered;scroll;filteredOptionsChanged(t){this.optionFiltered.emit(t)}searchTextChanged(){this.filterOptions()}async itemIndexChanged(t,e){if(this.searchable){const t=await this.getNativeInputElement();if(-1===this.itemIndex)return void t?.focus({preventScroll:!0});t?.matches(":focus")&&t?.blur()}const s=this.dropdownRef?.querySelectorAll(".sd-select-dropdown sd-select-option")||[],o=s?.[this.itemIndex];o&&(this.optionRef=o,await this.optionRef.sdIsDisabled()?t>e?this.itemIndex++:this.itemIndex--:this.scrollToOption(o))}componentWillLoad(){this.filteredOptions=this.options,requestAnimationFrame((()=>{requestAnimationFrame((async()=>{const t=this.getSelectedOption();if(t){const e=Array.isArray(t)?this.options.indexOf(t[0]):this.options.indexOf(t),s=Array.from(this.dropdownRef?.querySelectorAll("sd-select-option")||[]),o=Math.min((this.useAll?e+1:e)+4,s.length-1),i=s?.[o];i&&this.scrollToOption(i,"instant")}if(this.isDropdownReady=!0,this.searchable){const t=await this.getNativeInputElement();t&&requestAnimationFrame((()=>{t.focus({preventScroll:!0})}))}}))}))}dropdownRef;searchRef;optionRef;get dropdownSize(){return{"--select-dropdown-width":this.width||"200px","--select-dropdown-height":this.dropdownHeight||"260px"}}filterOptions(){this.filteredOptions=this.searchText&&""!==this.searchText.trim()?this.options.filter((t=>t.label.toLowerCase().includes(this.searchText.toLowerCase()))):this.options}getSelectedOption(){return"object"!=typeof this.value?this.options.find((t=>t.value===this.value)):this.options.filter((t=>this.value?.includes(t)))}isOptionSelected(t){return Array.isArray(this.value)?this.value.some((e=>e.value===t)):t===this.value}async getNativeInputElement(){return this.searchRef?this.searchRef.sdGetNativeElement():null}scrollToOption(t,e="smooth"){if(!this.dropdownRef||!t)return;const s=this.dropdownRef,o=t.offsetTop,i=t.offsetHeight,d=s.scrollTop,n=s.clientHeight,r=s.querySelector(".sd-select-search-input"),a=r?r.offsetHeight:0,c=d+n;o<d+a?s.scrollTo({top:o-a,behavior:e}):o+i>c&&s.scrollTo({top:o+i-n+a,behavior:e})}handleDropdownScroll=t=>{this.isScrolled=t.target.scrollTop>0};render(){return o("div",{key:"70bea150872ff4b70b70d358972b14bf0ad2bdf2",class:{"sd-select-dropdown":!0,"sd-select-dropdown--ready":this.isDropdownReady},style:this.dropdownSize,onScroll:this.handleDropdownScroll,ref:t=>this.dropdownRef=t},this.searchable&&o("sd-select-search-input",{key:"79ebdc72ca4a905f700dc6293d8033a5ec22d679",ref:t=>this.searchRef=t,isScrolled:this.isScrolled,searchText:this.searchText,onSdSearchInput:t=>this.searchText=t.detail||"",onSdSearchFocus:()=>this.itemIndex=-1}),this.filteredOptions.length>0?this.filteredOptions.map(((t,e)=>o("slot",{name:`option-${t.value}`},o("sd-select-option",{option:t,index:e,isSelected:this.isOptionSelected(t.value),isFocused:e===this.itemIndex,onOptionClick:({detail:t})=>this.optionClick.emit(t),useCheckbox:this.useCheckbox})))):o("slot",{name:"option-placeholder"},o("div",{class:"sd-select-option-placeholder"},this.optionPlaceholder)))}static get watchers(){return{filteredOptions:[{filteredOptionsChanged:0}],searchText:[{searchTextChanged:0}],itemIndex:[{itemIndexChanged:0}]}}static get style(){return".sd-select-dropdown .sd-select-option-placeholder{height:48px;display:flex;align-items:center;padding:8px 16px;font-size:12px;line-height:0;text-align:left;color:#888888}.sd-select-dropdown{overflow:auto;min-width:fit-content;width:var(--select-dropdown-width, 200px);max-height:var(--select-dropdown-height, 260px);padding-bottom:2px;background-color:white;box-shadow:2px 2px 12px 2px rgba(0, 0, 0, 0.1);border-radius:4px;overflow-y:auto;color:#333333;display:flex;flex-direction:column;opacity:0.5;transition:opacity 0.15s ease-in}.sd-select-dropdown--ready{opacity:1}"}},[772,"sd-select-dropdown",{itemIndex:[1026,"item-index"],value:[8],options:[16],width:[1],dropdownHeight:[1,"dropdown-height"],searchable:[4],optionPlaceholder:[1,"option-placeholder"],useCheckbox:[4,"use-checkbox"],useAll:[4,"use-all"],filteredOptions:[32],searchText:[32],isScrolled:[32],isDropdownReady:[32]},void 0,{filteredOptions:[{filteredOptionsChanged:0}],searchText:[{searchTextChanged:0}],itemIndex:[{itemIndexChanged:0}]}]);function f(){"undefined"!=typeof customElements&&["sd-select-dropdown","sd-button","sd-checkbox","sd-field","sd-floating-portal","sd-icon","sd-input","sd-select-option","sd-select-search-input","sd-tooltip"].forEach((t=>{switch(t){case"sd-select-dropdown":customElements.get(i(t))||customElements.define(i(t),u);break;case"sd-button":customElements.get(i(t))||d();break;case"sd-checkbox":customElements.get(i(t))||n();break;case"sd-field":customElements.get(i(t))||r();break;case"sd-floating-portal":customElements.get(i(t))||a();break;case"sd-icon":customElements.get(i(t))||c();break;case"sd-input":customElements.get(i(t))||h();break;case"sd-select-option":customElements.get(i(t))||l();break;case"sd-select-search-input":customElements.get(i(t))||p();break;case"sd-tooltip":customElements.get(i(t))||m()}}))}export{u as S,f as d}
@@ -1 +1 @@
1
- import{p as t,H as n,c as e,h as o,t as i}from"./p-B1vJXa29.js";const s=t(class t extends n{constructor(t){super(),!1!==t&&this.__registerHost(),this.close=e(this,"sdClose")}get el(){return this}to="body";parentRef=null;offset=[0,0];zIndex=9999;placement="bottom";open=!1;close;container;wrapper;rafId;isInsideClick=!1;resizeObserver;mutationObserver;static ARROW_SIZE=11.2;componentDidLoad(){this.container=this.resolveContainer(),this.createWrapper(),this.moveSlotContent(),requestAnimationFrame((()=>{this.updatePosition(),this.wrapper&&(this.wrapper.style.visibility="visible")})),this.observeParent()}componentDidRender(){this.wrapper&&(this.open?(this.wrapper.style.display="block",requestAnimationFrame((()=>{this.updatePosition(),this.wrapper&&(this.wrapper.style.visibility="visible")}))):(this.wrapper.style.display="none",this.wrapper.style.visibility="hidden"))}disconnectedCallback(){this.rafId&&cancelAnimationFrame(this.rafId),this.unobserveParent(),this.wrapper?.remove()}resolveContainer(){const t="string"==typeof this.to?document.querySelector(this.to):this.to;return t instanceof n?t:document.body}createWrapper(){this.wrapper=document.createElement("div"),Object.assign(this.wrapper.style,{position:"absolute",zIndex:this.zIndex.toString(),transition:"opacity 0.4s",top:"-9999px",left:"-9999px"}),this.container.appendChild(this.wrapper)}moveSlotContent(){this.wrapper&&Array.from(this.el.childNodes).filter((t=>t.nodeType!==Node.COMMENT_NODE)).forEach((t=>this.wrapper.appendChild(t)))}updatePosition(){this.rafId&&cancelAnimationFrame(this.rafId),this.rafId=requestAnimationFrame((()=>{if(!this.parentRef||!this.wrapper)return;const n=this.parentRef.getBoundingClientRect();if(!n.width&&!n.height)return;const[e,o]=this.offset,i=t.ARROW_SIZE;let s=0,a=0;switch(this.placement){case"top":s=n.top+window.scrollY-this.wrapper.offsetHeight+o-i,a=n.left+window.scrollX+n.width/2-this.wrapper.offsetWidth/2+e;break;case"bottom":s=n.bottom+window.scrollY+o+i,a=n.left+window.scrollX+n.width/2-this.wrapper.offsetWidth/2+e;break;case"left":s=n.top+window.scrollY+n.height/2-this.wrapper.offsetHeight/2+o,a=n.left+window.scrollX-this.wrapper.offsetWidth-e-i;break;case"right":s=n.top+window.scrollY+n.height/2-this.wrapper.offsetHeight/2+o,a=n.right+window.scrollX+e+i}Object.assign(this.wrapper.style,{top:`${s}px`,left:`${a}px`})}))}observeParent(){this.parentRef&&(this.resizeObserver=new ResizeObserver((()=>this.updatePosition())),this.resizeObserver.observe(this.parentRef),this.mutationObserver=new MutationObserver((()=>this.updatePosition())),this.mutationObserver.observe(document.body,{childList:!0,subtree:!0}))}unobserveParent(){this.resizeObserver?.disconnect(),this.mutationObserver?.disconnect()}handleMouseDown(t){this.isInsideClick=!!(this.wrapper&&this.wrapper.contains(t.target)||this.parentRef&&this.parentRef.contains(t.target))}handleWindowClick(t){this.isInsideClick?this.isInsideClick=!1:this.wrapper?.contains(t.target)||this.close.emit()}render(){return o("slot",{key:"f2000891d7d3bd71982f591bf953d1421f67fb5e"})}static get style(){return".sd-floating-menu{width:fit-content;padding:12px 16px;border-radius:6px;font-size:12px;font-weight:500;line-height:20px;position:relative;box-sizing:border-box;background:var(--sd-floating-bg, #07284A);color:var(--sd-floating-content, #FFFFFF)}.sd-floating-menu .sd-floating-menu__arrow{color:var(--sd-floating-bg, #07284A)}.sd-floating-menu--default{background:var(--sd-floating-bg, #07284A);color:var(--sd-floating-content, #FFFFFF);font-weight:500}.sd-floating-menu--default .sd-floating-menu__arrow{color:var(--sd-floating-bg, #07284A)}.sd-floating-menu--danger{background:var(--sd-floating-bg, #FCE6E6);color:var(--sd-floating-content, #FB4444);font-weight:700}.sd-floating-menu--danger .sd-floating-menu__arrow{color:var(--sd-floating-bg, #FCE6E6)}.sd-floating-menu--warning{background:var(--sd-floating-bg, #FEF1EA);color:var(--sd-floating-content, #FF6B00);font-weight:700}.sd-floating-menu--warning .sd-floating-menu__arrow{color:var(--sd-floating-bg, #FEF1EA)}.sd-floating-menu--accent{background:var(--sd-floating-bg, #E6F1FF);color:var(--sd-floating-content, #0075FF);font-weight:700}.sd-floating-menu--accent .sd-floating-menu__arrow{color:var(--sd-floating-bg, #E6F1FF)}.sd-floating-menu__arrow{position:absolute;display:flex;width:16px;height:12px}.sd-floating-menu__arrow svg{width:100%;height:100%}.sd-floating-menu__arrow--top{bottom:-12px;left:50%;transform:translateX(-50%)}.sd-floating-menu__arrow--bottom{top:-12px;left:50%;transform:translateX(-50%) rotate(180deg)}.sd-floating-menu__arrow--left{right:-12px;top:50%;transform:translateY(-50%) rotate(-90deg)}.sd-floating-menu__arrow--right{left:-12px;top:50%;transform:translateY(-50%) rotate(90deg)}.sd-floating-menu__content{font-size:12px;line-height:20px}.sd-floating-menu__content .sd-floating-menu__title{font-size:14px;font-weight:700;line-height:24px;margin-bottom:4px}.sd-floating-menu__content .sd-floating-menu__messages{font-weight:500}.sd-floating-menu__content .sd-floating-menu__buttons{margin-top:12px;display:flex;gap:8px;align-items:center}.sd-floating-menu__content .sd-floating-menu__buttons--1{justify-content:flex-end}.sd-floating-menu__content .sd-floating-menu__buttons--2{justify-content:space-between}.sd-floating-menu--popover{padding:16px 20px}.sd-floating-menu--popover .sd-floating-menu__content{gap:4px}.sd-floating-menu--popover .sd-floating-menu__title{font-size:14px;font-weight:700;line-height:24px}.sd-floating-menu--popover .sd-floating-menu__messages{font-size:12px;font-weight:500;line-height:20px}.sd-floating-menu__close-button{position:absolute;top:12px;right:12px;padding:0;background:none;border:none;cursor:pointer}"}},[772,"sd-floating-portal",{to:[1],parentRef:[16],offset:[16],zIndex:[2,"z-index"],placement:[1],open:[4]},[[9,"scroll","updatePosition"],[9,"resize","updatePosition"],[9,"mousedown","handleMouseDown"],[8,"click","handleWindowClick"]]]);function a(){"undefined"!=typeof customElements&&["sd-floating-portal"].forEach((t=>{"sd-floating-portal"===t&&(customElements.get(i(t))||customElements.define(i(t),s))}))}export{s as S,a as d}
1
+ import{p as t,H as n,c as e,h as o,t as i}from"./p-B1vJXa29.js";const s=t(class t extends n{constructor(t){super(),!1!==t&&this.__registerHost(),this.close=e(this,"sdClose")}get el(){return this}to="body";parentRef=null;offset=[0,0];zIndex=9999;placement="bottom";open=!1;close;container;wrapper;rafId;isInsideClick=!1;resizeObserver;mutationObserver;static ARROW_SIZE=11.2;componentDidLoad(){this.container=this.resolveContainer(),this.createWrapper(),this.moveSlotContent(),requestAnimationFrame((()=>{this.updatePosition(),this.wrapper&&(this.wrapper.style.visibility="visible")})),this.observeParent()}componentDidRender(){this.wrapper&&(this.open?(this.wrapper.style.display="block",requestAnimationFrame((()=>{this.updatePosition(),this.wrapper&&(this.wrapper.style.visibility="visible")}))):(this.wrapper.style.display="none",this.wrapper.style.visibility="hidden"))}disconnectedCallback(){this.rafId&&cancelAnimationFrame(this.rafId),this.unobserveParent(),this.wrapper?.remove()}resolveContainer(){const t="string"==typeof this.to?document.querySelector(this.to):this.to;return t instanceof n?t:document.body}createWrapper(){this.wrapper=document.createElement("div"),Object.assign(this.wrapper.style,{position:"absolute",zIndex:this.zIndex.toString(),transition:"opacity 0.4s",top:"-9999px",left:"-9999px"}),this.container.appendChild(this.wrapper)}moveSlotContent(){this.wrapper&&Array.from(this.el.childNodes).filter((t=>t.nodeType!==Node.COMMENT_NODE)).forEach((t=>this.wrapper.appendChild(t)))}updatePosition(){this.rafId&&cancelAnimationFrame(this.rafId),this.rafId=requestAnimationFrame((()=>{if(!this.parentRef||!this.wrapper)return;const n=this.parentRef.getBoundingClientRect();if(!n.width&&!n.height)return;const[e,o]=this.offset,i=t.ARROW_SIZE;let s=0,a=0;switch(this.placement){case"top":s=n.top+window.scrollY-this.wrapper.offsetHeight+o-i,a=n.left+window.scrollX+n.width/2-this.wrapper.offsetWidth/2+e;break;case"bottom":s=n.bottom+window.scrollY+o+i,a=n.left+window.scrollX+n.width/2-this.wrapper.offsetWidth/2+e;break;case"left":s=n.top+window.scrollY+n.height/2-this.wrapper.offsetHeight/2+o,a=n.left+window.scrollX-this.wrapper.offsetWidth-e-i;break;case"right":s=n.top+window.scrollY+n.height/2-this.wrapper.offsetHeight/2+o,a=n.right+window.scrollX+e+i}Object.assign(this.wrapper.style,{top:`${s}px`,left:`${a}px`})}))}observeParent(){this.parentRef&&(this.resizeObserver=new ResizeObserver((()=>this.updatePosition())),this.resizeObserver.observe(this.parentRef),this.mutationObserver=new MutationObserver((()=>this.updatePosition())),this.mutationObserver.observe(document.body,{childList:!0,subtree:!0}))}unobserveParent(){this.resizeObserver?.disconnect(),this.mutationObserver?.disconnect()}handleMouseDown(t){this.isInsideClick=!!(this.wrapper&&this.wrapper.contains(t.target)||this.parentRef&&this.parentRef.contains(t.target))}handleWindowClick(t){this.isInsideClick?this.isInsideClick=!1:this.wrapper?.contains(t.target)||this.close.emit()}render(){return o("slot",{key:"d3ee1daa4b0009285df341cc1d8b892fb2a2fed6"})}static get style(){return".sd-floating-menu{width:fit-content;padding:12px 16px;border-radius:6px;font-size:12px;font-weight:500;line-height:20px;position:relative;box-sizing:border-box;background:var(--sd-floating-bg, #07284A);color:var(--sd-floating-content, #FFFFFF)}.sd-floating-menu .sd-floating-menu__arrow{color:var(--sd-floating-bg, #07284A)}.sd-floating-menu--default{background:var(--sd-floating-bg, #07284A);color:var(--sd-floating-content, #FFFFFF);font-weight:500}.sd-floating-menu--default .sd-floating-menu__arrow{color:var(--sd-floating-bg, #07284A)}.sd-floating-menu--danger{background:var(--sd-floating-bg, #FCE6E6);color:var(--sd-floating-content, #FB4444);font-weight:700}.sd-floating-menu--danger .sd-floating-menu__arrow{color:var(--sd-floating-bg, #FCE6E6)}.sd-floating-menu--warning{background:var(--sd-floating-bg, #FEF1EA);color:var(--sd-floating-content, #FF6B00);font-weight:700}.sd-floating-menu--warning .sd-floating-menu__arrow{color:var(--sd-floating-bg, #FEF1EA)}.sd-floating-menu--accent{background:var(--sd-floating-bg, #E6F1FF);color:var(--sd-floating-content, #0075FF);font-weight:700}.sd-floating-menu--accent .sd-floating-menu__arrow{color:var(--sd-floating-bg, #E6F1FF)}.sd-floating-menu__arrow{position:absolute;display:flex;width:16px;height:12px}.sd-floating-menu__arrow svg{width:100%;height:100%}.sd-floating-menu__arrow--top{bottom:-12px;left:50%;transform:translateX(-50%)}.sd-floating-menu__arrow--bottom{top:-12px;left:50%;transform:translateX(-50%) rotate(180deg)}.sd-floating-menu__arrow--left{right:-12px;top:50%;transform:translateY(-50%) rotate(-90deg)}.sd-floating-menu__arrow--right{left:-12px;top:50%;transform:translateY(-50%) rotate(90deg)}.sd-floating-menu__content{font-size:12px;line-height:20px}.sd-floating-menu__content .sd-floating-menu__title{font-size:14px;font-weight:700;line-height:24px;margin-bottom:4px}.sd-floating-menu__content .sd-floating-menu__messages{font-weight:500}.sd-floating-menu__content .sd-floating-menu__buttons{margin-top:12px;display:flex;gap:8px;align-items:center}.sd-floating-menu__content .sd-floating-menu__buttons--1{justify-content:flex-end}.sd-floating-menu__content .sd-floating-menu__buttons--2{justify-content:space-between}.sd-floating-menu--popover{padding:16px 20px}.sd-floating-menu--popover .sd-floating-menu__content{gap:4px}.sd-floating-menu--popover .sd-floating-menu__title{font-size:14px;font-weight:700;line-height:24px}.sd-floating-menu--popover .sd-floating-menu__messages{font-size:12px;font-weight:500;line-height:20px}.sd-floating-menu__close-button{position:absolute;top:12px;right:12px;padding:0;background:none;border:none;cursor:pointer}"}},[772,"sd-floating-portal",{to:[1],parentRef:[16],offset:[16],zIndex:[2,"z-index"],placement:[1],open:[4]},[[9,"scroll","updatePosition"],[9,"resize","updatePosition"],[9,"mousedown","handleMouseDown"],[8,"click","handleWindowClick"]]]);function a(){"undefined"!=typeof customElements&&["sd-floating-portal"].forEach((t=>{"sd-floating-portal"===t&&(customElements.get(i(t))||customElements.define(i(t),s))}))}export{s as S,a as d}
@@ -1 +1 @@
1
- import{p as e,H as a,c as s,h as d,t as n}from"./p-B1vJXa29.js";import{u as t,t as c}from"./p-DTrMR0rx.js";import{r}from"./p-CquSJNHV.js";import{d as l}from"./p-CxJY5DLb.js";import{d as i}from"./p-VztCEgcN.js";const o=["brilliantblue_75","red_60","green_65","orange_60","steelblue_65","yellow_45","oceanblue_65","olive_55"],h=e(class extends a{constructor(e){super(),!1!==e&&this.__registerHost(),this.select=s(this,"sdSelect"),this.viewChange=s(this,"sdViewChange")}value=null;selectable;events;eventColors;currentYear;currentMonth;eventsRevision=0;select;viewChange;dateUtil=t();componentWillLoad(){this.initCalendar()}handleValueChange(){this.initCalendar()}handleEventsChange(){this.eventsRevision=this.eventsRevision+1}initCalendar(){const e=this.value||c,[a,s]=e.split("-").map(Number);this.currentYear=a,this.currentMonth=s}get calendar(){return this.dateUtil.createCalendar(this.currentYear,this.currentMonth)}handleUpdateMonth(e){const{newYear:a,newMonth:s}=this.dateUtil.calculateYearMonth(this.currentYear,this.currentMonth,e);this.currentYear=a,this.currentMonth=s,this.viewChange.emit({year:a,month:s})}handleDateClick(e){if(!e)return;const a=this.dateUtil.formatDate(this.currentYear,this.currentMonth,e);this.value=a,this.select.emit(a)}isDisabledDate(e){if(!this.selectable)return!1;const[a,s]=this.selectable;return a&&s?e<a||e>s:a?e<a:!!s&&e>s}getEventColor(e){if(this.eventColors?.[e])return r(this.eventColors[e]);const a=this.getAllEventNames().indexOf(e);return r(o[a%o.length])}getAllEventNames(){const e=new Set;if(this.eventColors)for(const a of Object.keys(this.eventColors))e.add(a);if(this.events)for(const a of Object.values(this.events))for(const s of a)e.add(s);return Array.from(e)}getEventsForDate(e){return this.events?.[e]??[]}render(){const e=this.getAllEventNames();return d("div",{key:"149ca9ae588a7bd2d70ecf1bf13cc639c99f7da9",class:"sd-calendar"},d("div",{key:"65f58d53fbaf35cee16007bad0b5e56dd208393e",class:"sd-calendar__header"},d("div",{key:"76709fd094edaece5ede720a983d1103801ba76d",class:"year-nav"},d("button",{key:"6d46cfa4cb1d12507ba7570cb6c0bb88bcba3402",type:"button",name:"prev-year",title:"Previous Year",onClick:()=>{this.currentYear=this.currentYear-1,this.viewChange.emit({year:this.currentYear,month:this.currentMonth})}},d("sd-icon",{key:"1319ec1fa0f2533a5d02853cb7638b1f1c10e050",name:"arrowLeft",size:"12",color:"grey_45"})),d("span",{key:"678b705cd95dc499975e071f1607f26bdd50c36d",class:"year-nav__current"},this.currentYear),d("button",{key:"1f5c3a0cd6108da5ed1beb10bd6af4ea5f22cf4c",type:"button",name:"next-year",title:"Next Year",onClick:()=>{this.currentYear=this.currentYear+1,this.viewChange.emit({year:this.currentYear,month:this.currentMonth})}},d("sd-icon",{key:"9dff93aef0996c3679a6a8c93c0fce1ea390f4aa",name:"arrowRight",size:"12",color:"grey_45"}))),d("div",{key:"9a6840420da580096fbf24d2c4df656114e23e6e",class:"month-nav"},d("button",{key:"94bf7598e5b80d6deb407f607034ed6e9f88151f",type:"button",name:"prev-month",title:"Previous Month",onClick:()=>this.handleUpdateMonth("prev")},d("sd-icon",{key:"4ab19da5f6a12bf37b3c4d9aac4e2283762799e8",name:"arrowLeft",size:"12",color:"grey_45"})),d("span",{key:"c207959595c107cae05a7cbe1d169357b063a29d",class:"month-nav__current"},this.currentMonth,"월"),d("button",{key:"fe319c8b26d9259bcba2b1f251bb827977e6afdc",type:"button",name:"next-month",title:"Next Month",onClick:()=>this.handleUpdateMonth("next")},d("sd-icon",{key:"af5bb1c06058b6ce22c8d7ffacace2f558bdb013",name:"arrowRight",size:"12",color:"grey_45"})))),d("div",{key:"ca66c0d7744970364f7d5e11e61014471df3325b",class:"sd-calendar__days"},["일","월","화","수","목","금","토"].map((e=>d("div",{key:e,class:"day"},e)))),d("div",{key:"9d42c252b8b42754aedc64156ec1dbe45200cef0",class:{"sd-calendar__body":!0,"sd-calendar__body--has-events":!!this.events}},[...this.calendar.prevMonthDays,...this.calendar.days,...this.calendar.afterMonthDays].map(((e,a)=>{const s=this.dateUtil.formatDate(this.currentYear,this.currentMonth,Number(e)),n=e?this.getEventsForDate(s):[],t=[...new Set(n)];return d("div",{class:"sd-calendar__cell",key:`${e}_${a}`},d("sd-date-box",{date:e?Number(e):"",selected:this.value===s,isToday:c===s,disabled:!e||this.isDisabledDate(s),onClick:!this.isDisabledDate(s)&&e?()=>this.handleDateClick(Number(e)):void 0}),this.events&&d("div",{class:"sd-calendar__dots"},t.map((e=>d("span",{key:e,class:"sd-calendar__dot",style:{backgroundColor:this.getEventColor(e)}})))))}))),e.length>0&&d("div",{key:"dac97204484b1def1fd3d73939ef64ef6969bce2",class:"sd-calendar__legend"},e.map((e=>d("div",{key:e,class:"sd-calendar__legend-item"},d("span",{class:"sd-calendar__legend-dot",style:{backgroundColor:this.getEventColor(e)}}),d("span",{class:"sd-calendar__legend-label"},e))))))}static get watchers(){return{value:[{handleValueChange:0}],events:[{handleEventsChange:0}],eventColors:[{handleEventsChange:0}]}}static get style(){return".sd-calendar.sc-sd-calendar{width:304px;box-sizing:border-box;border-radius:8px;padding:24px 19px;background:white}.sd-calendar.sc-sd-calendar .sd-calendar__header.sc-sd-calendar{display:flex;flex-flow:row nowrap;align-items:center;gap:20px;font-size:14px;padding:0 5px;height:24px;line-height:24px}.sd-calendar.sc-sd-calendar .sd-calendar__header.sc-sd-calendar .year-nav.sc-sd-calendar,.sd-calendar.sc-sd-calendar .sd-calendar__header.sc-sd-calendar .month-nav.sc-sd-calendar{display:flex;flex-flow:row nowrap;align-items:center;gap:12px}.sd-calendar.sc-sd-calendar .sd-calendar__header.sc-sd-calendar .year-nav.sc-sd-calendar button.sc-sd-calendar,.sd-calendar.sc-sd-calendar .sd-calendar__header.sc-sd-calendar .month-nav.sc-sd-calendar button.sc-sd-calendar{background:none;border:none;cursor:pointer;margin:0;padding:0}.sd-calendar.sc-sd-calendar .sd-calendar__header.sc-sd-calendar .year-nav__current.sc-sd-calendar{width:40px;text-align:center}.sd-calendar.sc-sd-calendar .sd-calendar__header.sc-sd-calendar .month-nav__current.sc-sd-calendar{width:100px;text-align:center}.sd-calendar.sc-sd-calendar .sd-calendar__days.sc-sd-calendar{margin-top:8px;display:grid;grid-template-columns:repeat(7, minmax(0, 1fr));column-gap:10px;padding:0 5px}.sd-calendar.sc-sd-calendar .sd-calendar__days.sc-sd-calendar .day.sc-sd-calendar{width:28px;height:20px;font-size:12px;line-height:20px;text-align:center;color:#888888}.sd-calendar.sc-sd-calendar .sd-calendar__body.sc-sd-calendar{margin-top:12px;display:grid;grid-template-columns:repeat(7, minmax(0, 1fr));grid-auto-rows:min-content}.sd-calendar.sc-sd-calendar .sd-calendar__cell.sc-sd-calendar{display:flex;flex-direction:column;align-items:center}.sd-calendar.sc-sd-calendar .sd-calendar__dots.sc-sd-calendar{display:flex;flex-wrap:wrap;gap:2px;justify-content:center;align-items:center;min-height:8px;max-width:28px}.sd-calendar.sc-sd-calendar .sd-calendar__dot.sc-sd-calendar{width:5px;height:5px;border-radius:50%;display:inline-block}.sd-calendar.sc-sd-calendar .sd-calendar__legend.sc-sd-calendar{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:16px;padding:12px 5px 0;border-top:1px solid #E5E5E5}.sd-calendar.sc-sd-calendar .sd-calendar__legend-item.sc-sd-calendar{display:flex;align-items:center;gap:4px}.sd-calendar.sc-sd-calendar .sd-calendar__legend-dot.sc-sd-calendar{width:6px;height:6px;border-radius:50%;display:inline-block;flex-shrink:0}.sd-calendar.sc-sd-calendar .sd-calendar__legend-label.sc-sd-calendar{font-size:11px;color:#888888;line-height:1}"}},[514,"sd-calendar",{value:[1537],selectable:[16],events:[16],eventColors:[16],currentYear:[32],currentMonth:[32],eventsRevision:[32]},void 0,{value:[{handleValueChange:0}],events:[{handleEventsChange:0}],eventColors:[{handleEventsChange:0}]}]);function p(){"undefined"!=typeof customElements&&["sd-calendar","sd-date-box","sd-icon"].forEach((e=>{switch(e){case"sd-calendar":customElements.get(n(e))||customElements.define(n(e),h);break;case"sd-date-box":customElements.get(n(e))||l();break;case"sd-icon":customElements.get(n(e))||i()}}))}export{h as S,p as d}
1
+ import{p as e,H as a,c as s,h as d,t as n}from"./p-B1vJXa29.js";import{u as t,t as c}from"./p-DTrMR0rx.js";import{r}from"./p-CquSJNHV.js";import{d as l}from"./p-CxJY5DLb.js";import{d as i}from"./p-C7dgr7sG.js";const o=["brilliantblue_75","red_60","green_65","orange_60","steelblue_65","yellow_45","oceanblue_65","olive_55"],h=e(class extends a{constructor(e){super(),!1!==e&&this.__registerHost(),this.select=s(this,"sdSelect"),this.viewChange=s(this,"sdViewChange")}value=null;selectable;events;eventColors;currentYear;currentMonth;eventsRevision=0;select;viewChange;dateUtil=t();componentWillLoad(){this.initCalendar()}handleValueChange(){this.initCalendar()}handleEventsChange(){this.eventsRevision=this.eventsRevision+1}initCalendar(){const e=this.value||c,[a,s]=e.split("-").map(Number);this.currentYear=a,this.currentMonth=s}get calendar(){return this.dateUtil.createCalendar(this.currentYear,this.currentMonth)}handleUpdateMonth(e){const{newYear:a,newMonth:s}=this.dateUtil.calculateYearMonth(this.currentYear,this.currentMonth,e);this.currentYear=a,this.currentMonth=s,this.viewChange.emit({year:a,month:s})}handleDateClick(e){if(!e)return;const a=this.dateUtil.formatDate(this.currentYear,this.currentMonth,e);this.value=a,this.select.emit(a)}isDisabledDate(e){if(!this.selectable)return!1;const[a,s]=this.selectable;return a&&s?e<a||e>s:a?e<a:!!s&&e>s}getEventColor(e){if(this.eventColors?.[e])return r(this.eventColors[e]);const a=this.getAllEventNames().indexOf(e);return r(o[a%o.length])}getAllEventNames(){const e=new Set;if(this.eventColors)for(const a of Object.keys(this.eventColors))e.add(a);if(this.events)for(const a of Object.values(this.events))for(const s of a)e.add(s);return Array.from(e)}getEventsForDate(e){return this.events?.[e]??[]}render(){const e=this.getAllEventNames();return d("div",{key:"149ca9ae588a7bd2d70ecf1bf13cc639c99f7da9",class:"sd-calendar"},d("div",{key:"65f58d53fbaf35cee16007bad0b5e56dd208393e",class:"sd-calendar__header"},d("div",{key:"76709fd094edaece5ede720a983d1103801ba76d",class:"year-nav"},d("button",{key:"6d46cfa4cb1d12507ba7570cb6c0bb88bcba3402",type:"button",name:"prev-year",title:"Previous Year",onClick:()=>{this.currentYear=this.currentYear-1,this.viewChange.emit({year:this.currentYear,month:this.currentMonth})}},d("sd-icon",{key:"1319ec1fa0f2533a5d02853cb7638b1f1c10e050",name:"arrowLeft",size:"12",color:"grey_45"})),d("span",{key:"678b705cd95dc499975e071f1607f26bdd50c36d",class:"year-nav__current"},this.currentYear),d("button",{key:"1f5c3a0cd6108da5ed1beb10bd6af4ea5f22cf4c",type:"button",name:"next-year",title:"Next Year",onClick:()=>{this.currentYear=this.currentYear+1,this.viewChange.emit({year:this.currentYear,month:this.currentMonth})}},d("sd-icon",{key:"9dff93aef0996c3679a6a8c93c0fce1ea390f4aa",name:"arrowRight",size:"12",color:"grey_45"}))),d("div",{key:"9a6840420da580096fbf24d2c4df656114e23e6e",class:"month-nav"},d("button",{key:"94bf7598e5b80d6deb407f607034ed6e9f88151f",type:"button",name:"prev-month",title:"Previous Month",onClick:()=>this.handleUpdateMonth("prev")},d("sd-icon",{key:"4ab19da5f6a12bf37b3c4d9aac4e2283762799e8",name:"arrowLeft",size:"12",color:"grey_45"})),d("span",{key:"c207959595c107cae05a7cbe1d169357b063a29d",class:"month-nav__current"},this.currentMonth,"월"),d("button",{key:"fe319c8b26d9259bcba2b1f251bb827977e6afdc",type:"button",name:"next-month",title:"Next Month",onClick:()=>this.handleUpdateMonth("next")},d("sd-icon",{key:"af5bb1c06058b6ce22c8d7ffacace2f558bdb013",name:"arrowRight",size:"12",color:"grey_45"})))),d("div",{key:"ca66c0d7744970364f7d5e11e61014471df3325b",class:"sd-calendar__days"},["일","월","화","수","목","금","토"].map((e=>d("div",{key:e,class:"day"},e)))),d("div",{key:"9d42c252b8b42754aedc64156ec1dbe45200cef0",class:{"sd-calendar__body":!0,"sd-calendar__body--has-events":!!this.events}},[...this.calendar.prevMonthDays,...this.calendar.days,...this.calendar.afterMonthDays].map(((e,a)=>{const s=this.dateUtil.formatDate(this.currentYear,this.currentMonth,Number(e)),n=e?this.getEventsForDate(s):[],t=[...new Set(n)];return d("div",{class:"sd-calendar__cell",key:`${e}_${a}`},d("sd-date-box",{date:e?Number(e):"",selected:this.value===s,isToday:c===s,disabled:!e||this.isDisabledDate(s),onClick:!this.isDisabledDate(s)&&e?()=>this.handleDateClick(Number(e)):void 0}),this.events&&d("div",{class:"sd-calendar__dots"},t.map((e=>d("span",{key:e,class:"sd-calendar__dot",style:{backgroundColor:this.getEventColor(e)}})))))}))),e.length>0&&d("div",{key:"dac97204484b1def1fd3d73939ef64ef6969bce2",class:"sd-calendar__legend"},e.map((e=>d("div",{key:e,class:"sd-calendar__legend-item"},d("span",{class:"sd-calendar__legend-dot",style:{backgroundColor:this.getEventColor(e)}}),d("span",{class:"sd-calendar__legend-label"},e))))))}static get watchers(){return{value:[{handleValueChange:0}],events:[{handleEventsChange:0}],eventColors:[{handleEventsChange:0}]}}static get style(){return".sd-calendar.sc-sd-calendar{width:304px;box-sizing:border-box;border-radius:8px;padding:24px 19px;background:white}.sd-calendar.sc-sd-calendar .sd-calendar__header.sc-sd-calendar{display:flex;flex-flow:row nowrap;align-items:center;gap:20px;font-size:14px;padding:0 5px;height:24px;line-height:24px}.sd-calendar.sc-sd-calendar .sd-calendar__header.sc-sd-calendar .year-nav.sc-sd-calendar,.sd-calendar.sc-sd-calendar .sd-calendar__header.sc-sd-calendar .month-nav.sc-sd-calendar{display:flex;flex-flow:row nowrap;align-items:center;gap:12px}.sd-calendar.sc-sd-calendar .sd-calendar__header.sc-sd-calendar .year-nav.sc-sd-calendar button.sc-sd-calendar,.sd-calendar.sc-sd-calendar .sd-calendar__header.sc-sd-calendar .month-nav.sc-sd-calendar button.sc-sd-calendar{background:none;border:none;cursor:pointer;margin:0;padding:0}.sd-calendar.sc-sd-calendar .sd-calendar__header.sc-sd-calendar .year-nav__current.sc-sd-calendar{width:40px;text-align:center}.sd-calendar.sc-sd-calendar .sd-calendar__header.sc-sd-calendar .month-nav__current.sc-sd-calendar{width:100px;text-align:center}.sd-calendar.sc-sd-calendar .sd-calendar__days.sc-sd-calendar{margin-top:8px;display:grid;grid-template-columns:repeat(7, minmax(0, 1fr));column-gap:10px;padding:0 5px}.sd-calendar.sc-sd-calendar .sd-calendar__days.sc-sd-calendar .day.sc-sd-calendar{width:28px;height:20px;font-size:12px;line-height:20px;text-align:center;color:#888888}.sd-calendar.sc-sd-calendar .sd-calendar__body.sc-sd-calendar{margin-top:12px;display:grid;grid-template-columns:repeat(7, minmax(0, 1fr));grid-auto-rows:min-content}.sd-calendar.sc-sd-calendar .sd-calendar__cell.sc-sd-calendar{display:flex;flex-direction:column;align-items:center}.sd-calendar.sc-sd-calendar .sd-calendar__dots.sc-sd-calendar{display:flex;flex-wrap:wrap;gap:2px;justify-content:center;align-items:center;min-height:8px;max-width:28px}.sd-calendar.sc-sd-calendar .sd-calendar__dot.sc-sd-calendar{width:5px;height:5px;border-radius:50%;display:inline-block}.sd-calendar.sc-sd-calendar .sd-calendar__legend.sc-sd-calendar{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:16px;padding:12px 5px 0;border-top:1px solid #E5E5E5}.sd-calendar.sc-sd-calendar .sd-calendar__legend-item.sc-sd-calendar{display:flex;align-items:center;gap:4px}.sd-calendar.sc-sd-calendar .sd-calendar__legend-dot.sc-sd-calendar{width:6px;height:6px;border-radius:50%;display:inline-block;flex-shrink:0}.sd-calendar.sc-sd-calendar .sd-calendar__legend-label.sc-sd-calendar{font-size:11px;color:#888888;line-height:1}"}},[514,"sd-calendar",{value:[1537],selectable:[16],events:[16],eventColors:[16],currentYear:[32],currentMonth:[32],eventsRevision:[32]},void 0,{value:[{handleValueChange:0}],events:[{handleEventsChange:0}],eventColors:[{handleEventsChange:0}]}]);function p(){"undefined"!=typeof customElements&&["sd-calendar","sd-date-box","sd-icon"].forEach((e=>{switch(e){case"sd-calendar":customElements.get(n(e))||customElements.define(n(e),h);break;case"sd-date-box":customElements.get(n(e))||l();break;case"sd-icon":customElements.get(n(e))||i()}}))}export{h as S,p as d}