@sellmate/design-system 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (247) hide show
  1. package/dist/cjs/design-system.cjs.js +1 -1
  2. package/dist/cjs/index.cjs.js +2 -2
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/sanitize-inline-html-BZCCwH_U.js +65 -0
  5. package/dist/cjs/sd-calendar_2.cjs.entry.js +7 -6
  6. package/dist/cjs/sd-callout.cjs.entry.js +152 -0
  7. package/dist/cjs/sd-card.cjs.entry.js +1 -1
  8. package/dist/cjs/sd-checkbox.cjs.entry.js +9 -4
  9. package/dist/cjs/sd-chip.cjs.entry.js +1 -1
  10. package/dist/cjs/sd-circle-progress.cjs.entry.js +2 -2
  11. package/dist/cjs/sd-confirm-modal_2.cjs.entry.js +4 -3
  12. package/dist/cjs/sd-date-picker_7.cjs.entry.js +9 -9
  13. package/dist/cjs/sd-date-range-picker-calendar.cjs.entry.js +1 -1
  14. package/dist/cjs/sd-dropdown-button.cjs.entry.js +6 -5
  15. package/dist/cjs/sd-field_3.cjs.entry.js +7 -7
  16. package/dist/cjs/sd-guide.cjs.entry.js +5 -4
  17. package/dist/cjs/sd-key-value-table.cjs.entry.js +1 -1
  18. package/dist/cjs/sd-linear-progress.cjs.entry.js +2 -2
  19. package/dist/cjs/sd-loading-container.cjs.entry.js +2 -2
  20. package/dist/cjs/sd-pagination_4.cjs.entry.js +10 -10
  21. package/dist/cjs/sd-popup.cjs.entry.js +6 -5
  22. package/dist/cjs/sd-portal.cjs.entry.js +1 -1
  23. package/dist/cjs/sd-select-list-item_2.cjs.entry.js +6 -6
  24. package/dist/cjs/sd-select_3.cjs.entry.js +8 -8
  25. package/dist/cjs/sd-switch.cjs.entry.js +1 -1
  26. package/dist/cjs/sd-table.cjs.entry.js +19 -16
  27. package/dist/cjs/{sd-table.config-B7psrvV4.js → sd-table.config-DqgNOdXO.js} +1 -1
  28. package/dist/cjs/sd-tabs.cjs.entry.js +1 -1
  29. package/dist/cjs/sd-tag.cjs.entry.js +4 -2
  30. package/dist/cjs/sd-td.cjs.entry.js +1 -1
  31. package/dist/cjs/sd-toast-container.cjs.entry.js +1 -1
  32. package/dist/cjs/sd-toast.cjs.entry.js +2 -2
  33. package/dist/cjs/sd-toggle.cjs.entry.js +1 -1
  34. package/dist/cjs/{system-VmZRYp6V.js → system-wrt-tcOq.js} +12 -1
  35. package/dist/collection/collection-manifest.json +2 -1
  36. package/dist/collection/components/sd-calendar/sd-calendar.css +3 -1
  37. package/dist/collection/components/sd-calendar/sd-calendar.js +24 -3
  38. package/dist/collection/components/sd-callout/sd-callout.config.js +45 -0
  39. package/dist/collection/components/sd-callout/sd-callout.css +87 -0
  40. package/dist/collection/components/sd-callout/sd-callout.js +114 -0
  41. package/dist/collection/components/sd-card/sd-card.js +1 -1
  42. package/dist/collection/components/sd-checkbox/sd-checkbox.js +9 -4
  43. package/dist/collection/components/sd-chip/sd-chip.js +1 -1
  44. package/dist/collection/components/sd-circle-progress/sd-circle-progress.js +1 -1
  45. package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.js +3 -2
  46. package/dist/collection/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.js +2 -2
  47. package/dist/collection/components/sd-date-picker/sd-date-picker.js +2 -2
  48. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.js +1 -1
  49. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.js +5 -4
  50. package/dist/collection/components/sd-field/sd-field.js +4 -4
  51. package/dist/collection/components/sd-floating-portal/sd-floating-portal.js +1 -1
  52. package/dist/collection/components/sd-guide/sd-guide.js +4 -3
  53. package/dist/collection/components/sd-input/sd-input.js +2 -2
  54. package/dist/collection/components/sd-linear-progress/sd-linear-progress.js +1 -1
  55. package/dist/collection/components/sd-loading-container/sd-loading-container.js +2 -2
  56. package/dist/collection/components/sd-loading-modal/sd-loading-modal.js +1 -1
  57. package/dist/collection/components/sd-modal-container/sd-modal-container.js +8 -0
  58. package/dist/collection/components/sd-number-input/sd-number-input.js +4 -4
  59. package/dist/collection/components/sd-pagination/sd-pagination.js +3 -3
  60. package/dist/collection/components/sd-popup/sd-popup.config.js +3 -4
  61. package/dist/collection/components/sd-popup/sd-popup.js +4 -2
  62. package/dist/collection/components/sd-portal/sd-portal.js +1 -1
  63. package/dist/collection/components/sd-select/sd-select-list-item/sd-select-list-item.js +2 -2
  64. package/dist/collection/components/sd-select/sd-select-list-item-search/sd-select-list-item-search.js +4 -4
  65. package/dist/collection/components/sd-select/sd-select-listbox/sd-select-listbox.js +2 -2
  66. package/dist/collection/components/sd-select/sd-select-trigger/sd-select-trigger.js +2 -2
  67. package/dist/collection/components/sd-select/sd-select.js +4 -4
  68. package/dist/collection/components/sd-switch/sd-switch.js +1 -1
  69. package/dist/collection/components/sd-table/sd-table.js +17 -14
  70. package/dist/collection/components/sd-table/sd-tbody/sd-tbody.js +2 -2
  71. package/dist/collection/components/sd-table/sd-td/sd-td.js +1 -1
  72. package/dist/collection/components/sd-table/sd-thead/sd-thead.js +3 -3
  73. package/dist/collection/components/sd-tabs/sd-tabs.js +1 -1
  74. package/dist/collection/components/sd-tag/sd-tag.js +4 -2
  75. package/dist/collection/components/sd-textarea/sd-textarea.js +1 -1
  76. package/dist/collection/components/sd-toast/sd-toast.js +2 -2
  77. package/dist/collection/components/sd-toast-container/sd-toast-container.js +1 -1
  78. package/dist/collection/components/sd-toggle/sd-toggle.js +1 -1
  79. package/dist/collection/components/sd-tooltip/sd-tooltip.js +2 -2
  80. package/dist/collection/utils/html/sanitize-inline-html.js +61 -0
  81. package/dist/collection/utils/modal.js +2 -2
  82. package/dist/components/index.js +1 -1
  83. package/dist/components/{p-Da5i_Sa6.js → p-AO2RGdjH.js} +1 -1
  84. package/dist/components/{p-X-8I-A3g.js → p-B3sb3aIX.js} +1 -1
  85. package/dist/components/{p-CIUE4qr7.js → p-BGb86o0p.js} +1 -1
  86. package/dist/components/{p-C3fqSH7A.js → p-BLhu2So8.js} +1 -1
  87. package/dist/components/{p-INdVvadB.js → p-BSQsJHnV.js} +1 -1
  88. package/dist/components/{p-xX3QT-8K.js → p-BZCvsLRf.js} +1 -1
  89. package/dist/components/{p-BFC3Etk2.js → p-BqrZA_Nl.js} +1 -1
  90. package/dist/components/{p-DS7Ypvt5.js → p-C54v30vB.js} +1 -1
  91. package/dist/components/{p-DlREBZ-C.js → p-CJ-QHG0F.js} +1 -1
  92. package/dist/components/{p-kSfaCwf1.js → p-CbXb6ylI.js} +1 -1
  93. package/dist/components/{p-BRxXhFqt.js → p-CgYjGJEh.js} +1 -1
  94. package/dist/components/{p-CLxVZFEG.js → p-Co3H5873.js} +1 -1
  95. package/dist/components/{p-BRk9YZBe.js → p-Cvk-Luhs.js} +1 -1
  96. package/dist/components/{p-BeBiPTbd.js → p-D5inekTL.js} +1 -1
  97. package/dist/components/{p-Bs1Z5QtN.js → p-DChOBMCc.js} +1 -1
  98. package/dist/components/p-DGlmvjGc.js +1 -0
  99. package/dist/components/{p-DwgaMhOM.js → p-DUcbofDO.js} +1 -1
  100. package/dist/components/{p-DykVq5VY.js → p-DZbc1mgp.js} +1 -1
  101. package/dist/components/{p-t161LJqb.js → p-DeK3og10.js} +1 -1
  102. package/dist/components/{p-BjpbUGud.js → p-DmaopssQ.js} +1 -1
  103. package/dist/components/p-DopVneZA.js +1 -0
  104. package/dist/components/p-DrrsZftV.js +1 -0
  105. package/dist/components/{p-CpgTSxf0.js → p-DyZNk1VT.js} +1 -1
  106. package/dist/components/{p-oyZgWRnC.js → p-HK6Bwtz8.js} +1 -1
  107. package/dist/components/{p-Z5Vk33zf.js → p-IThoLpLs.js} +1 -1
  108. package/dist/components/{p-JlZdKw4C.js → p-J3eT660D.js} +1 -1
  109. package/dist/components/p-fpzgqVv1.js +1 -0
  110. package/dist/components/{p-DiP0LJGq.js → p-iCuIUhaK.js} +1 -1
  111. package/dist/components/p-m_OtjUs1.js +1 -0
  112. package/dist/components/{p-BwPmM1Pm.js → p-uHITnW_J.js} +1 -1
  113. package/dist/components/{p-Cx_d5vsS.js → p-yH47DvUh.js} +1 -1
  114. package/dist/components/sd-barcode-input.js +1 -1
  115. package/dist/components/sd-calendar.js +1 -1
  116. package/dist/components/sd-callout.d.ts +11 -0
  117. package/dist/components/sd-callout.js +1 -0
  118. package/dist/components/sd-card.js +1 -1
  119. package/dist/components/sd-checkbox.js +1 -1
  120. package/dist/components/sd-chip.js +1 -1
  121. package/dist/components/sd-circle-progress.js +1 -1
  122. package/dist/components/sd-confirm-modal.js +1 -1
  123. package/dist/components/sd-date-picker-trigger.js +1 -1
  124. package/dist/components/sd-date-picker.js +1 -1
  125. package/dist/components/sd-date-range-picker-calendar.js +1 -1
  126. package/dist/components/sd-date-range-picker.js +1 -1
  127. package/dist/components/sd-dropdown-button.js +1 -1
  128. package/dist/components/sd-field.js +1 -1
  129. package/dist/components/sd-file-picker.js +1 -1
  130. package/dist/components/sd-floating-portal.js +1 -1
  131. package/dist/components/sd-guide.js +1 -1
  132. package/dist/components/sd-input.js +1 -1
  133. package/dist/components/sd-key-value-table.js +1 -1
  134. package/dist/components/sd-linear-progress.js +1 -1
  135. package/dist/components/sd-loading-container.js +1 -1
  136. package/dist/components/sd-loading-modal.js +1 -1
  137. package/dist/components/sd-modal-container.js +1 -1
  138. package/dist/components/sd-number-input.js +1 -1
  139. package/dist/components/sd-pagination.js +1 -1
  140. package/dist/components/sd-popover.js +1 -1
  141. package/dist/components/sd-popup.js +1 -1
  142. package/dist/components/sd-portal.js +1 -1
  143. package/dist/components/sd-select-list-item-search.js +1 -1
  144. package/dist/components/sd-select-list-item.js +1 -1
  145. package/dist/components/sd-select-listbox.js +1 -1
  146. package/dist/components/sd-select-trigger.js +1 -1
  147. package/dist/components/sd-select.js +1 -1
  148. package/dist/components/sd-switch.js +1 -1
  149. package/dist/components/sd-table.js +1 -1
  150. package/dist/components/sd-tabs.js +1 -1
  151. package/dist/components/sd-tag.js +1 -1
  152. package/dist/components/sd-tbody.js +1 -1
  153. package/dist/components/sd-td.js +1 -1
  154. package/dist/components/sd-textarea.js +1 -1
  155. package/dist/components/sd-thead.js +1 -1
  156. package/dist/components/sd-toast-container.js +1 -1
  157. package/dist/components/sd-toast.js +1 -1
  158. package/dist/components/sd-toggle.js +1 -1
  159. package/dist/components/sd-tooltip.js +1 -1
  160. package/dist/components/sd-tr.js +1 -1
  161. package/dist/design-system/design-system.esm.js +1 -1
  162. package/dist/design-system/index.esm.js +1 -1
  163. package/dist/design-system/{p-74bf0ed9.entry.js → p-06a6798d.entry.js} +1 -1
  164. package/dist/design-system/{p-e611dcd4.entry.js → p-0894c492.entry.js} +1 -1
  165. package/dist/design-system/p-14e30f67.entry.js +1 -0
  166. package/dist/design-system/{p-9b9bf9db.entry.js → p-1e530c87.entry.js} +1 -1
  167. package/dist/design-system/{p-84a94775.entry.js → p-2bdceecb.entry.js} +1 -1
  168. package/dist/design-system/{p-a98f9a29.entry.js → p-339cb954.entry.js} +1 -1
  169. package/dist/design-system/{p-a7ea1cf0.entry.js → p-352c68ae.entry.js} +1 -1
  170. package/dist/design-system/p-3d61e68f.entry.js +1 -0
  171. package/dist/design-system/{p-fe3ae346.entry.js → p-3f4a281f.entry.js} +1 -1
  172. package/dist/design-system/p-40bdbe5a.entry.js +1 -0
  173. package/dist/design-system/{p-481e6934.entry.js → p-435ae69e.entry.js} +1 -1
  174. package/dist/design-system/p-4473c051.entry.js +1 -0
  175. package/dist/design-system/p-61f4238b.entry.js +1 -0
  176. package/dist/design-system/p-786c72e9.entry.js +1 -0
  177. package/dist/design-system/{p-d890a680.entry.js → p-78de36f2.entry.js} +1 -1
  178. package/dist/design-system/p-795bae4c.entry.js +1 -0
  179. package/dist/design-system/{p-522d1481.entry.js → p-819e28fe.entry.js} +1 -1
  180. package/dist/design-system/{p-32e2d71e.entry.js → p-843d4b16.entry.js} +1 -1
  181. package/dist/design-system/{p-cc97f4b4.entry.js → p-8ee990bd.entry.js} +1 -1
  182. package/dist/design-system/{p-42f7febe.entry.js → p-9404ab06.entry.js} +1 -1
  183. package/dist/design-system/p-DGlmvjGc.js +1 -0
  184. package/dist/design-system/{p-DykVq5VY.js → p-DZbc1mgp.js} +1 -1
  185. package/dist/design-system/p-DopVneZA.js +1 -0
  186. package/dist/design-system/{p-e8e64511.entry.js → p-aac84d22.entry.js} +1 -1
  187. package/dist/design-system/{p-f7074386.entry.js → p-b868d747.entry.js} +1 -1
  188. package/dist/design-system/{p-3b8954d9.entry.js → p-b8e34533.entry.js} +1 -1
  189. package/dist/design-system/p-c3e4853c.entry.js +1 -0
  190. package/dist/design-system/{p-11b904a3.entry.js → p-d226bd61.entry.js} +1 -1
  191. package/dist/design-system/{p-dbeaeb31.entry.js → p-d3cc8538.entry.js} +1 -1
  192. package/dist/design-system/{p-ae117afa.entry.js → p-eae21a79.entry.js} +1 -1
  193. package/dist/design-system/{p-e23dac79.entry.js → p-fa670cc4.entry.js} +1 -1
  194. package/dist/esm/design-system.js +1 -1
  195. package/dist/esm/index.js +2 -2
  196. package/dist/esm/loader.js +1 -1
  197. package/dist/esm/sanitize-inline-html-DopVneZA.js +63 -0
  198. package/dist/esm/sd-calendar_2.entry.js +7 -6
  199. package/dist/esm/sd-callout.entry.js +150 -0
  200. package/dist/esm/sd-card.entry.js +1 -1
  201. package/dist/esm/sd-checkbox.entry.js +9 -4
  202. package/dist/esm/sd-chip.entry.js +1 -1
  203. package/dist/esm/sd-circle-progress.entry.js +2 -2
  204. package/dist/esm/sd-confirm-modal_2.entry.js +4 -3
  205. package/dist/esm/sd-date-picker_7.entry.js +9 -9
  206. package/dist/esm/sd-date-range-picker-calendar.entry.js +1 -1
  207. package/dist/esm/sd-dropdown-button.entry.js +6 -5
  208. package/dist/esm/sd-field_3.entry.js +7 -7
  209. package/dist/esm/sd-guide.entry.js +5 -4
  210. package/dist/esm/sd-key-value-table.entry.js +1 -1
  211. package/dist/esm/sd-linear-progress.entry.js +2 -2
  212. package/dist/esm/sd-loading-container.entry.js +2 -2
  213. package/dist/esm/sd-pagination_4.entry.js +10 -10
  214. package/dist/esm/sd-popup.entry.js +6 -5
  215. package/dist/esm/sd-portal.entry.js +1 -1
  216. package/dist/esm/sd-select-list-item_2.entry.js +6 -6
  217. package/dist/esm/sd-select_3.entry.js +8 -8
  218. package/dist/esm/sd-switch.entry.js +1 -1
  219. package/dist/esm/{sd-table.config-DU7Pc6YH.js → sd-table.config-CFHtQ8LX.js} +1 -1
  220. package/dist/esm/sd-table.entry.js +19 -16
  221. package/dist/esm/sd-tabs.entry.js +1 -1
  222. package/dist/esm/sd-tag.entry.js +4 -2
  223. package/dist/esm/sd-td.entry.js +1 -1
  224. package/dist/esm/sd-toast-container.entry.js +1 -1
  225. package/dist/esm/sd-toast.entry.js +2 -2
  226. package/dist/esm/sd-toggle.entry.js +1 -1
  227. package/dist/esm/{system-GBlVDmy4.js → system-DGlmvjGc.js} +12 -1
  228. package/dist/types/components/sd-calendar/sd-calendar.d.ts +1 -0
  229. package/dist/types/components/sd-callout/sd-callout.config.d.ts +34 -0
  230. package/dist/types/components/sd-callout/sd-callout.d.ts +11 -0
  231. package/dist/types/components.d.ts +43 -0
  232. package/dist/types/utils/html/sanitize-inline-html.d.ts +1 -0
  233. package/hydrate/index.js +338 -95
  234. package/hydrate/index.mjs +338 -95
  235. package/package.json +1 -1
  236. package/dist/components/p-BDVrZ5mV.js +0 -1
  237. package/dist/components/p-CETxX4-M.js +0 -1
  238. package/dist/components/p-CyObYB-g.js +0 -1
  239. package/dist/components/p-GBlVDmy4.js +0 -1
  240. package/dist/design-system/p-29fd86d8.entry.js +0 -1
  241. package/dist/design-system/p-36d744fb.entry.js +0 -1
  242. package/dist/design-system/p-8f4ccae4.entry.js +0 -1
  243. package/dist/design-system/p-9f7f1b8b.entry.js +0 -1
  244. package/dist/design-system/p-GBlVDmy4.js +0 -1
  245. package/dist/design-system/p-a640e509.entry.js +0 -1
  246. package/dist/design-system/p-a97033a2.entry.js +0 -1
  247. package/dist/design-system/p-fc5c4f85.entry.js +0 -1
@@ -265,15 +265,15 @@ const SdSelect = class {
265
265
  this.closeDropdown();
266
266
  },
267
267
  };
268
- return (index.h("sd-field", { key: 'c433e21047632ae1e7901e11f6f9d83070f8d83c', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, onMouseEnter: () => {
268
+ return (index.h("sd-field", { key: '21849c194994f51c36b2fa5eafd606230b21e365', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, onMouseEnter: () => {
269
269
  this.hovered = true;
270
270
  }, onMouseLeave: () => {
271
271
  this.hovered = false;
272
- } }, index.h("div", { key: 'f04f2f331c27745035c35d96d5262398065589a8', class: "sd-select", ref: el => {
272
+ } }, index.h("div", { key: 'bcba54ed8d325a540d14af14c9b3bf332f631ce8', class: "sd-select", ref: el => {
273
273
  this.triggerRef = el;
274
- } }, index.h("sd-select-trigger", { key: 'b66e83ff248618c815b155f27445f3da9e91361b', ref: el => {
274
+ } }, index.h("sd-select-trigger", { key: '72e361ca6e162eee56b82398902e89226e980d3d', ref: el => {
275
275
  this.triggerComponentRef = el;
276
- }, displayText: this.displayText, placeholder: this.placeholder ?? '선택', disabled: this.disabled, isOpen: this.isOpen, onSdTriggerClick: this.handleTriggerClick, onSdTriggerFocus: this.handleTriggerFocus, onSdTriggerBlur: this.handleTriggerBlur })), (this.isOpen || this.isAnimatingOut) && (index.h("sd-portal", { key: 'bd5b46d8e4849d235e39a9d9cfc549fdbe260076', ...portalProps }, index.h("sd-select-listbox", { key: '81266da14ee4e59b4cedd4b364c18fea4d3c4f7f', type: this.type, options: this.options, value: this.value, emitValue: this.emitValue, useSearch: this.useSearch, useSelectAll: this.useSelectAll, triggerWidth: this.triggerWidth, maxWidth: this.resolvedMaxDropdownWidth, maxHeight: this.resolvedDropdownHeight, onSdOptionSelect: event => this.handleOptionSelect(event.detail) })))));
276
+ }, displayText: this.displayText, placeholder: this.placeholder ?? '선택', disabled: this.disabled, isOpen: this.isOpen, onSdTriggerClick: this.handleTriggerClick, onSdTriggerFocus: this.handleTriggerFocus, onSdTriggerBlur: this.handleTriggerBlur })), (this.isOpen || this.isAnimatingOut) && (index.h("sd-portal", { key: '0ff55857cbc146db57caa53d560752d0fae8413b', ...portalProps }, index.h("sd-select-listbox", { key: '20c103309dc7f2eaf4bee6abae271606b64ace8b', type: this.type, options: this.options, value: this.value, emitValue: this.emitValue, useSearch: this.useSearch, useSelectAll: this.useSelectAll, triggerWidth: this.triggerWidth, maxWidth: this.resolvedMaxDropdownWidth, maxHeight: this.resolvedDropdownHeight, onSdOptionSelect: event => this.handleOptionSelect(event.detail) })))));
277
277
  }
278
278
  static get watchers() { return {
279
279
  "isOpen": [{
@@ -637,9 +637,9 @@ const SdSelectListbox = class {
637
637
  '--listbox-max-height': this.maxHeight ?? '260px',
638
638
  '--listbox-radius': `${sdSelect_config.LIST_BOX_LAYOUT.radius}px`,
639
639
  };
640
- return (index.h("div", { key: '4173255a866459bf0aeb98d517263d12f1c39fa5', class: "sd-select-listbox", style: cssVars }, this.showSearch && (index.h("sd-select-list-item-search", { key: '79e7d48d7234ebfd32d3cd242822dfa93a73c151', isScrolled: this.isScrolled, onSdSearchFilter: this.handleSearchFilter })), index.h("div", { key: '22981c1e049d0d526af06bb5b563de5130c14477', class: "sd-select-listbox__list", onScroll: this.handleScroll, ref: el => {
640
+ return (index.h("div", { key: '1834dbfee219988e78ad47d3640ebafb9983298c', class: "sd-select-listbox", style: cssVars }, this.showSearch && (index.h("sd-select-list-item-search", { key: '28fbfce57184f2a8c090d628c5b33cecf9337c3c', isScrolled: this.isScrolled, onSdSearchFilter: this.handleSearchFilter })), index.h("div", { key: 'b7430d72cdb26cad59b226af8cf98d796645390c', class: "sd-select-listbox__list", onScroll: this.handleScroll, ref: el => {
641
641
  this.listEl = el;
642
- } }, this.showSelectAll && (index.h("sd-select-list-item", { key: '7acd37c5663bb101d6853cbd6629a78d402d6cde', option: SdSelectListbox.SELECT_ALL_OPTION, depth: 1, isSelected: this.selectAllState, isFocused: this.isOptionFocused(SdSelectListbox.SELECT_ALL_OPTION), useCheckbox: true, onSdListItemClick: this.handleSelectAllClick, onMouseEnter: () => this.handleOptionHover(SdSelectListbox.SELECT_ALL_OPTION) })), this.isEmpty ? (index.h("div", { class: "sd-select-listbox__empty" }, sdSelect_config.EMPTY_MESSAGE)) : this.isDepth ? (this.renderOptions(this.filteredOptions)) : (this.filteredOptions.map(option => (index.h("sd-select-list-item", { option: option, depth: 1, isSelected: this.isOptionSelected(option), isFocused: this.isOptionFocused(option), useCheckbox: this.isMulti, onSdListItemClick: this.handleOptionClick, onMouseEnter: () => this.handleOptionHover(option) })))))));
642
+ } }, this.showSelectAll && (index.h("sd-select-list-item", { key: '8f159cdef838c0f39bb7aad1717a88c04c75dbda', option: SdSelectListbox.SELECT_ALL_OPTION, depth: 1, isSelected: this.selectAllState, isFocused: this.isOptionFocused(SdSelectListbox.SELECT_ALL_OPTION), useCheckbox: true, onSdListItemClick: this.handleSelectAllClick, onMouseEnter: () => this.handleOptionHover(SdSelectListbox.SELECT_ALL_OPTION) })), this.isEmpty ? (index.h("div", { class: "sd-select-listbox__empty" }, sdSelect_config.EMPTY_MESSAGE)) : this.isDepth ? (this.renderOptions(this.filteredOptions)) : (this.filteredOptions.map(option => (index.h("sd-select-list-item", { option: option, depth: 1, isSelected: this.isOptionSelected(option), isFocused: this.isOptionFocused(option), useCheckbox: this.isMulti, onSdListItemClick: this.handleOptionClick, onMouseEnter: () => this.handleOptionHover(option) })))))));
643
643
  }
644
644
  static get watchers() { return {
645
645
  "searchKeyword": [{
@@ -699,7 +699,7 @@ const SdSelectTrigger = class {
699
699
  ? sdSelect_config.SELECT_COLORS.icon.disabled
700
700
  : sdSelect_config.SELECT_COLORS.icon.default,
701
701
  };
702
- return (index.h("div", { key: '6694f35a396f368d5df9860db30d817beddb8bec', ref: el => {
702
+ return (index.h("div", { key: '645d8e7ff5065664a3510b127628cb54d97fb613', ref: el => {
703
703
  this.triggerEl = el;
704
704
  }, role: "button", "aria-haspopup": "listbox", "aria-expanded": this.isOpen ? 'true' : 'false', tabindex: this.disabled ? -1 : 0, class: {
705
705
  'sd-select-trigger': true,
@@ -710,7 +710,7 @@ const SdSelectTrigger = class {
710
710
  e.preventDefault();
711
711
  this.handleClick();
712
712
  }
713
- }, onFocus: this.handleFocus, onBlur: this.handleBlur }, index.h("div", { key: 'd8ff247ca362a8fc3677d9803261343a1e891298', class: "sd-select-trigger__content" }, index.h("span", { key: 'cd81a7c7c135372aad80fa9391b160337632643c', class: "sd-select-trigger__text" }, hasValue ? this.displayText : (this.placeholder ?? '선택')), index.h("sd-icon", { key: '838c12e2a9ce06036eee766ffd2f88f3215b8420', name: "chevronDown", size: 12, color: "var(--trigger-icon-color)", class: {
713
+ }, onFocus: this.handleFocus, onBlur: this.handleBlur }, index.h("div", { key: '515dda6d98ad09b0854e0ef0e04f0bf8c9592d1a', class: "sd-select-trigger__content" }, index.h("span", { key: '9d92577675d0c7e6ba32174ae0cdd754788dbccb', class: "sd-select-trigger__text" }, hasValue ? this.displayText : (this.placeholder ?? '선택')), index.h("sd-icon", { key: '347532a73d9ff2929d9f716fb8d2e314af7d7069', name: "chevronDown", size: 12, color: "var(--trigger-icon-color)", class: {
714
714
  'sd-select-trigger__icon': true,
715
715
  'sd-select-trigger__icon--open': this.isOpen,
716
716
  } }))));
@@ -102,7 +102,7 @@ const SdSwitch = class {
102
102
  '--sd-switch-line-height': `${SWITCH_TYPOGRAPHY.lineHeight}px`,
103
103
  '--sd-switch-text-decoration': SWITCH_TYPOGRAPHY.textDecoration,
104
104
  };
105
- return (index.h("label", { key: 'ebb195a1bb93ae476b4bf3e697623809d626eed6', "aria-label": this.label || 'switch', class: this.switchClasses, style: cssVars }, index.h("input", { key: 'a6de6298d35c54ad83dc6285b90e67c8d3564d15', type: "checkbox", checked: this.value, disabled: this.disabled, onInput: this.handleChange }), index.h("div", { key: '7881f46be572edcfc82888564a7f85ad4207dd8e', class: "sd-switch__track" }, index.h("div", { key: 'c08c9d5894a6f9ddf3ecdaaa9253628478479043', class: "sd-switch__knob" })), this.label && index.h("span", { key: '4e01b185502829d8fb647d3eafaaf6565489b2f3', class: "sd-switch__label" }, this.label)));
105
+ return (index.h("label", { key: '3d9449733d73dcbd2d7a95505b6afd930a43a114', "aria-label": this.label || 'switch', class: this.switchClasses, style: cssVars }, index.h("input", { key: 'f8d35ea743b5f85697d9d4de8fe915ce2d8f7b56', type: "checkbox", checked: this.value, disabled: this.disabled, onInput: this.handleChange }), index.h("div", { key: 'b62a6bfa60c488270184698610337926b688baff', class: "sd-switch__track" }, index.h("div", { key: 'da7764fe4a4202366fe0a922de687ece121eb73f', class: "sd-switch__knob" })), this.label && index.h("span", { key: '924c2939f0cb2196ff69be560e1c7f113590c73b', class: "sd-switch__label" }, this.label)));
106
106
  }
107
107
  };
108
108
  SdSwitch.style = sdSwitchCss();
@@ -2,9 +2,9 @@
2
2
 
3
3
  var index = require('./index-Cw-78mnC.js');
4
4
  var constants = require('./constants-DJRV1upE.js');
5
- var sdTable_config = require('./sd-table.config-B7psrvV4.js');
5
+ var sdTable_config = require('./sd-table.config-DqgNOdXO.js');
6
6
  require('./component.table-qOFez3z3.js');
7
- require('./system-VmZRYp6V.js');
7
+ require('./system-wrt-tcOq.js');
8
8
 
9
9
  let urlAlphabet =
10
10
  'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict';
@@ -236,6 +236,10 @@ const SdTable = class {
236
236
  if (this.pagination?.rowsPerPage != null) {
237
237
  this.innerRowsPerPage = this.pagination.rowsPerPage;
238
238
  }
239
+ // host element 에 자식 컴포넌트(sd-thead/sd-tbody/sd-tr) 가 직접 접근하는 internal sync helpers 를 monkey-patch.
240
+ // 28개 메서드 전체를 typed interface 로 노출하면 코드 비용이 크고, 어차피 internal 이라 외부 사용자가 호출하지 않는다.
241
+ // 정식 @Method 노출로 옮기는 작업은 별도 이슈로 분리.
242
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
239
243
  const el = this.el;
240
244
  el.isRowSelectedSync = this.isRowSelectedSync.bind(this);
241
245
  el.updateRowSelectSync = this.updateRowSelectSync.bind(this);
@@ -352,7 +356,6 @@ const SdTable = class {
352
356
  }
353
357
  });
354
358
  }
355
- // light DOM(manual mode 자식)과 shadow DOM(autoThead/autoTbody fallback) 양쪽 모두에서 자식을 찾는다.
356
359
  queryChildEl(selector) {
357
360
  return (this.el.querySelector(selector) ??
358
361
  this.el.shadowRoot?.querySelector(selector) ??
@@ -380,12 +383,12 @@ const SdTable = class {
380
383
  refreshChildrenSelection() {
381
384
  const thead = this.queryChildEl('sd-thead');
382
385
  thead?.refreshSelection?.();
383
- this.queryAllTr().forEach(tr => tr?.refreshSelection?.());
386
+ this.queryAllTr().forEach(tr => tr.refreshSelection?.());
384
387
  }
385
388
  refreshChildrenConfig() {
386
389
  const thead = this.queryChildEl('sd-thead');
387
390
  thead?.refreshConfig?.();
388
- this.queryAllTr().forEach(tr => tr?.refreshConfig?.());
391
+ this.queryAllTr().forEach(tr => tr.refreshConfig?.());
389
392
  }
390
393
  maybeEmitVirtualReachEnd(start, end) {
391
394
  const threshold = Math.max(1, this.virtualEndThreshold);
@@ -417,6 +420,7 @@ const SdTable = class {
417
420
  this.vsEnd = end;
418
421
  const topHeight = start * this.effectiveRowHeight;
419
422
  const bottomHeight = Math.max(0, (this.rowCount - end) * this.effectiveRowHeight);
423
+ // setSpacersSync 는 sd-tbody 가 host element 에 monkey-patch 하는 internal sync helper.
420
424
  const tbody = this.queryChildEl('sd-tbody');
421
425
  tbody?.setSpacersSync?.(topHeight, bottomHeight);
422
426
  if (rangeChanged) {
@@ -537,7 +541,7 @@ const SdTable = class {
537
541
  this.updateRowsVisibility();
538
542
  }
539
543
  updateRowsVisibility() {
540
- this.queryAllTr().forEach(tr => tr?.updateVisibility?.());
544
+ this.queryAllTr().forEach(tr => tr.updateVisibility?.());
541
545
  }
542
546
  changeRowsPerPage(perPage) {
543
547
  const changedRowsPerPage = perPage != null && perPage !== '' ? Number(perPage) : 0;
@@ -576,7 +580,7 @@ const SdTable = class {
576
580
  this.columnWidths = this.columnWidths.map((width, idx) => (idx === index ? newWidth : width));
577
581
  const thead = this.queryChildEl('sd-thead');
578
582
  thead?.setColumnWidths?.(this.columnWidths);
579
- this.queryAllTr().forEach(tr => tr?.setColumnWidths?.(this.columnWidths));
583
+ this.queryAllTr().forEach(tr => tr.setColumnWidths?.(this.columnWidths));
580
584
  const stickyRightCount = this.stickyColumn?.right || 0;
581
585
  const visibleColCount = this.columns.filter(c => c.visible !== false).length;
582
586
  const isRightStickyEdgeResizer = stickyRightCount > 0 && index === visibleColCount - stickyRightCount;
@@ -631,9 +635,8 @@ const SdTable = class {
631
635
  // 경우가 있어, sd-tr의 @State (spansVersion)을 통해 재렌더를 강제한다.
632
636
  requestAllTrUpdate() {
633
637
  this.queryAllTr().forEach(tr => {
634
- const trAny = tr;
635
- if (typeof trAny.bumpSpansVersion === 'function') {
636
- trAny.bumpSpansVersion();
638
+ if (typeof tr.bumpSpansVersion === 'function') {
639
+ tr.bumpSpansVersion();
637
640
  }
638
641
  else {
639
642
  index.forceUpdate(tr);
@@ -873,25 +876,25 @@ const SdTable = class {
873
876
  '--table-body-line-height': `${sdTable_config.TABLE_BODY_TYPOGRAPHY.lineHeight}px`,
874
877
  '--table-body-text-decoration': sdTable_config.TABLE_BODY_TYPOGRAPHY.textDecoration,
875
878
  };
876
- return (index.h(index.Host, { key: '2b7c1eaf862c45c73751af6035a022e8ce0314b4', style: hostStyle }, index.h("div", { key: '35851e539eef8ff69ff03bd31f5d55d95eb8bf7a', class: "sd-table__container", style: {
879
+ return (index.h(index.Host, { key: '9ee5b528b330f9edf406ff40ec089136c0807653', style: hostStyle }, index.h("div", { key: '9ac6cbba84b7ef7d0897474168748811fb15af92', class: "sd-table__container", style: {
877
880
  '--table-width': this.width,
878
881
  '--table-height': effectiveTableHeight,
879
882
  '--table-container-height': `calc(${effectiveTableHeight} - ${paginationHeight}px)`,
880
- } }, index.h("div", { key: 'e3bf5576fd1b1ee9ffab5d240de904204f4288d5', class: {
883
+ } }, index.h("div", { key: '11f916debfd443e1d243bfa2335dbb0a3cb094bc', class: {
881
884
  'sd-table__wrapper': true,
882
885
  'sd-table__wrapper--radius-use-top': this.radius === 'useTop',
883
- } }, index.h("div", { key: 'a67ebcb802a3ed443cca1fc33a00787642e08e84', class: {
886
+ } }, index.h("div", { key: '3cad3d86f731a3edc0d2b5a680bcaf6ad6be7399', class: {
884
887
  'sd-table__scroll-container': true,
885
888
  'sd-table__scroll-container--loading': this.isLoading,
886
889
  'sd-table__scroll-container--no-data': isNoData,
887
- } }, this.isLoading && (index.h("div", { key: '2cdaff94dab50598c05364930dd3e763a6f2f79a', class: "sd-table__loading", style: { top: `${this.loadingScrollTop}px` } }, index.h("sd-circle-progress", { key: '49211d7555a38996d3fd9cfce0df50bb626fa1d6', indeterminate: true }))), isNoData && (index.h(index.h.Fragment, null, index.h("div", { key: '3da9d42ecedbdc63858a06040f0e22d265a8183b', class: "sd-table__no-data-header-overlay" }), index.h("div", { key: '20b5d8be682572a4ddbce21b6cd265894d014499', class: "sd-table__no-data" }, index.h("div", { key: 'a024fa084f4a137a70fe176cee6918b4f701fd42', class: "sd-table__no-data-content", ref: el => {
890
+ } }, this.isLoading && (index.h("div", { key: '6f0aac84dcb3d9ca721ed82cd45214b3956d3f94', class: "sd-table__loading", style: { top: `${this.loadingScrollTop}px` } }, index.h("sd-circle-progress", { key: '8bb6b8025fceee6ef856efd9cafefe925fc95272', indeterminate: true }))), isNoData && (index.h(index.h.Fragment, null, index.h("div", { key: '69e6e22b68261832a299de470c8ca7f5a16205dd', class: "sd-table__no-data-header-overlay" }), index.h("div", { key: 'c797a2d41c752698bed1f034beefddc4bf8b951d', class: "sd-table__no-data" }, index.h("div", { key: '0f0306bc89b5d9046de2aec935822eab0c3ca36c', class: "sd-table__no-data-content", ref: el => {
888
891
  this.noDataContentEl = el;
889
892
  if (el)
890
893
  this.syncNoDataContentObserver();
891
- } }, index.h("slot", { key: '9603eefa63fd5bc05dfa132c6be2302497d4c228', name: "no-data" }, index.h("span", { key: '0dad4e143d8251e375f748d1e5e1a77909fab164' }, this.resolvedNoDataLabel)))))), index.h("table", { key: '83325a8970f18bb9cf7a78dc665d16a24edc18da', class: this.tableClasses }, this.autoThead ? (index.h("slot", { name: `${resolvedTableId}-head`, onSlotchange: this.handleStructureSlotChange }, index.h("sd-thead", { rows: this.rows ?? [] }))) : (index.h("slot", { name: `${resolvedTableId}-head`, onSlotchange: this.handleStructureSlotChange })), this.autoTbody ? (index.h("slot", { name: `${resolvedTableId}-body`, onSlotchange: this.handleStructureSlotChange }, index.h("sd-tbody", { rows: this.rows ?? [] }, this.renderAutoRows()))) : (index.h("slot", { name: `${resolvedTableId}-body`, onSlotchange: this.handleStructureSlotChange }))))), this.pagination &&
894
+ } }, index.h("slot", { key: '042671d4c65c4031a756da386ed010146c17f736', name: "no-data" }, index.h("span", { key: '5994f656dbea3fd1dea69c105907b188658f8c41' }, this.resolvedNoDataLabel)))))), index.h("table", { key: '16bb3a7c6b32e5312eda79015cd7d90bef37bdff', class: this.tableClasses }, this.autoThead ? (index.h("slot", { name: `${resolvedTableId}-head`, onSlotchange: this.handleStructureSlotChange }, index.h("sd-thead", { rows: this.rows ?? [] }))) : (index.h("slot", { name: `${resolvedTableId}-head`, onSlotchange: this.handleStructureSlotChange })), this.autoTbody ? (index.h("slot", { name: `${resolvedTableId}-body`, onSlotchange: this.handleStructureSlotChange }, index.h("sd-tbody", { rows: this.rows ?? [] }, this.renderAutoRows()))) : (index.h("slot", { name: `${resolvedTableId}-body`, onSlotchange: this.handleStructureSlotChange }))))), this.pagination &&
892
895
  this.pagination.rowsPerPage > 0 &&
893
896
  this.rowCount > 0 &&
894
- !this.useVirtualScroll && (index.h("div", { key: '935b0f916cbc1de29a7f6b3805a5a3c25eaba467', class: "sd-table__pagination" }, index.h("sd-pagination", { key: '7faad5d0b2efe652a9ed989910551aa8bc5592ec', currentPage: !this.useInternalPagination ? this.pagination.page : this.currentPage, lastPage: !this.useInternalPagination ? this.pagination.lastPage : this.lastPageNumber, onSdPageChange: (e) => this.changePage(e.detail) }), this.useRowsPerPageSelect && (index.h("sd-select", { key: 'd514c41459a60ac47ffcd476a635c47386232c50', value: this.useInternalPagination
897
+ !this.useVirtualScroll && (index.h("div", { key: '6c3ee5d93fb395154c4c42c914669af535c1a5bc', class: "sd-table__pagination" }, index.h("sd-pagination", { key: '46053012374e1255037706a8fa4d068dbc60f2d9', currentPage: !this.useInternalPagination ? this.pagination.page : this.currentPage, lastPage: !this.useInternalPagination ? this.pagination.lastPage : this.lastPageNumber, onSdPageChange: (e) => this.changePage(e.detail) }), this.useRowsPerPageSelect && (index.h("sd-select", { key: 'df04b19e857e823be8237148d84456d492575ce3', value: this.useInternalPagination
895
898
  ? this.innerRowsPerPage
896
899
  : this.pagination.rowsPerPage, options: this.rowsPerPageOption, width: "128px", emitValue: true, onSdUpdate: e => {
897
900
  if (!this.isRowsPerPageValue(e.detail))
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var component_table = require('./component.table-qOFez3z3.js');
4
- var system = require('./system-VmZRYp6V.js');
4
+ var system = require('./system-wrt-tcOq.js');
5
5
 
6
6
  // ── Header Tokens ──
7
7
  const TABLE_HEADER_LAYOUT = {
@@ -188,7 +188,7 @@ const SdTabs = class {
188
188
  };
189
189
  }
190
190
  render() {
191
- return (index.h("div", { key: '880f1aa80c29f2d578ffe2d5e5e5e0c008c898d3', class: this.getContainerClasses(), style: this.buildCssVars() }, this.tabs.map((tab, index$1) => {
191
+ return (index.h("div", { key: '181916a72512a6802a06dc56fca418a806d18a0e', class: this.getContainerClasses(), style: this.buildCssVars() }, this.tabs.map((tab, index$1) => {
192
192
  const badgeName = this.getBadgeName(tab);
193
193
  return (index.h("div", { key: `tab-${index$1}`, role: "tab", tabindex: 0, "aria-selected": tab.value === this.value ? 'true' : 'false', class: this.getTabClasses(tab), "aria-label": tab.label || 'tab', onClick: () => this.handleTabClick(tab), onKeyDown: e => {
194
194
  if (e.key === 'Enter' || e.key === ' ') {
@@ -186,6 +186,8 @@ const SdTag = class {
186
186
  name = 'square_sm_grey';
187
187
  label = '';
188
188
  icon;
189
+ // 아이콘이 좌측 배치되는 게 자연스러운 default. prop 이름 변경(isRight 등)은 public API breaking 이라 별도 이슈로 분리.
190
+ // eslint-disable-next-line stencil/ban-default-true
189
191
  isLeft = true;
190
192
  componentWillLoad() {
191
193
  this.name = this.name ?? 'square_sm_grey';
@@ -207,7 +209,7 @@ const SdTag = class {
207
209
  render() {
208
210
  const config = this.resolvedConfig;
209
211
  const iconNode = this.renderIcon(config.icon, config.iconSize);
210
- return (index.h("span", { key: '57f3c3f9ad53059fabff205cb44ffa3d1da9a711', class: "sd-tag", style: {
212
+ return (index.h("span", { key: 'c8b8b88e2c83401bb9d3e05004b0517d7e4a3a6a', class: "sd-tag", style: {
211
213
  '--sd-tag-background': config.background,
212
214
  '--sd-tag-content': config.content,
213
215
  '--sd-tag-height': config.height,
@@ -217,7 +219,7 @@ const SdTag = class {
217
219
  '--sd-tag-font-weight': config.fontWeight,
218
220
  '--sd-tag-line-height': config.lineHeight,
219
221
  '--sd-tag-radius': config.radius,
220
- }, "aria-label": this.label || 'tag' }, this.icon && this.isLeft && iconNode, index.h("span", { key: '3360f36d18f073cd24699b6b8db2e731fda351ac', class: "sd-tag__label" }, this.label), this.icon && !this.isLeft && iconNode));
222
+ }, "aria-label": this.label || 'tag' }, this.icon && this.isLeft && iconNode, index.h("span", { key: '67094b09ab1d7b7e865c9f6b8017f8c5c3f8274a', class: "sd-tag__label" }, this.label), this.icon && !this.isLeft && iconNode));
221
223
  }
222
224
  };
223
225
  SdTag.style = sdTagCss();
@@ -158,7 +158,7 @@ const SdTd = class {
158
158
  }
159
159
  }
160
160
  render() {
161
- return (index.h(index.Host, { key: '505b602b609050870e7e80df9157dbc50d0cb8c1', class: { [`align-${this.align}`]: Boolean(this.align) } }, index.h("slot", { key: '9910f02d98ce5e115b2a380954dd0a994f9f1c12' })));
161
+ return (index.h(index.Host, { key: '91c033a0c4c3a6c3c9b29c0be99912c5ac1283ee', class: { [`align-${this.align}`]: Boolean(this.align) } }, index.h("slot", { key: 'abfbc911c707012bc7d924e328ba07d71b96f9a9' })));
162
162
  }
163
163
  static get watchers() { return {
164
164
  "field": [{
@@ -234,7 +234,7 @@ const SdToastContainer = class {
234
234
  const activeToasts = toasts.filter(t => t.state !== 'exiting').reverse();
235
235
  const indexMap = new Map();
236
236
  activeToasts.forEach((t, i) => indexMap.set(t.id, i));
237
- return (index.h("div", { key: 'bc3c9591b6453eed7df462841e29784c29b3aeef', class: "sd-toast-container", style: this.getContainerStyles(), onMouseEnter: () => {
237
+ return (index.h("div", { key: 'c80d46b63f50591d4d92b810c0625701e4741e3a', class: "sd-toast-container", style: this.getContainerStyles(), onMouseEnter: () => {
238
238
  this.expanded = true;
239
239
  this.pauseTimers();
240
240
  }, onMouseLeave: () => {
@@ -84,12 +84,12 @@ const SdToast = class {
84
84
  const linkColor = typeConfig.linkColor ?? typeConfig.content;
85
85
  const useDefaultCloseIntent = ['default', 'caution', 'info'].includes(this.type);
86
86
  const buttonName = TOAST_BUTTON_NAME_BY_TYPE[this.type] ?? TOAST_BUTTON_NAME_BY_TYPE.default;
87
- return (index.h("div", { key: 'db3ffaf51dc96c39c05558017f25929c679a59df', style: {
87
+ return (index.h("div", { key: '82579581897d7845b95456ccb5e2a1745c84bcc5', style: {
88
88
  '--sd-toast-bg': typeConfig.bg,
89
89
  '--sd-toast-text': typeConfig.content,
90
90
  '--sd-toast-icon': iconColor,
91
91
  '--sd-toast-link': linkColor,
92
- } }, index.h("div", { key: '92344f5bb95b0d4787591207f2e017d7dd177091', class: "sd-toast", role: "status", "aria-live": "polite", "aria-atomic": "true" }, this.icon && (index.h("div", { key: '991db58b2cb019dd3a787e000e9d8813014bbb09', class: "sd-toast__icon" }, index.h("sd-icon", { key: '24d53cd77fdea82ec07663a8968493ec2b794751', name: this.icon, size: iconSize, color: iconColor }))), index.h("div", { key: '70cfad4ef389cca798be9baeac99bfc41efcc615', class: "sd-toast__content" }, index.h("span", { key: '5927023435b17dc25ee07630fc4ae4568aadd9b9', class: "sd-toast__message" }, this.message)), this.link && (index.h("a", { key: '410c024fd81ebcc78175c1855a86f590566d1a81', href: this.link, class: "sd-toast__link", target: "_blank", rel: "noopener noreferrer" }, this.linkLabel || this.link)), this.buttonLabel && (index.h("sd-button", { key: 'd85287e7ef796a11f850a0ce5cde87f5881fa5c9', class: "sd-toast__button", name: buttonName, label: this.buttonLabel, onSdClick: (event) => this.buttonClick.emit(event.detail) })), this.useClose && (index.h("sd-ghost-button", { key: '55a6bf6457bd89254f6eb01072d46a0edbb8b510', class: "sd-toast__close", icon: "close", intent: useDefaultCloseIntent ? 'default' : 'inverse', ariaLabel: "close", size: "xs", onClick: () => this.close.emit() })))));
92
+ } }, index.h("div", { key: '5f41392a25dee4e53917255453c97c2203940f21', class: "sd-toast", role: "status", "aria-live": "polite", "aria-atomic": "true" }, this.icon && (index.h("div", { key: '8f38f7c9842ec295510135589a63994011a856f4', class: "sd-toast__icon" }, index.h("sd-icon", { key: '62ef897ddfc3b47fe7b640d430d0baf95bdb5b51', name: this.icon, size: iconSize, color: iconColor }))), index.h("div", { key: 'f6db6cb9776cb41400c9a9052cdea94990245298', class: "sd-toast__content" }, index.h("span", { key: 'fbd7cdd72422e9ad08f99302b4dcd607d058926f', class: "sd-toast__message" }, this.message)), this.link && (index.h("a", { key: 'f599928ad9d0d7536086d7dd2d1ce65b429fd8f4', href: this.link, class: "sd-toast__link", target: "_blank", rel: "noopener noreferrer" }, this.linkLabel || this.link)), this.buttonLabel && (index.h("sd-button", { key: '2be68a412c4b6b9dac64dbd89447c4905fa7512f', class: "sd-toast__button", name: buttonName, label: this.buttonLabel, onSdClick: (event) => this.buttonClick.emit(event.detail) })), this.useClose && (index.h("sd-ghost-button", { key: '065030362b37383ee7ae31e9b8a771b160427cbe', class: "sd-toast__close", icon: "close", intent: useDefaultCloseIntent ? 'default' : 'inverse', ariaLabel: "close", size: "xs", onClick: () => this.close.emit() })))));
93
93
  }
94
94
  };
95
95
  SdToast.style = sdToastCss();
@@ -120,7 +120,7 @@ const SdToggle = class {
120
120
  '--sd-toggle-content-select': TOGGLE_COLORS.content.select,
121
121
  '--sd-toggle-content-disabled': TOGGLE_COLORS.content.disabled,
122
122
  };
123
- return (index.h("label", { key: 'b16577aa25863a9dc337314d9059328799c1cd1e', class: this.toggleClasses, style: cssVars, "aria-label": this.label || 'toggle' }, this.label, index.h("input", { key: '6130825b74df8a573f4e062671fd694508759e82', style: { display: 'none' }, type: "checkbox", onInput: this.handleChange })));
123
+ return (index.h("label", { key: 'c5c8b9448dabb6619e80fd55b11f94bf78706994', class: this.toggleClasses, style: cssVars, "aria-label": this.label || 'toggle' }, this.label, index.h("input", { key: 'bd43e7f286da217653461ec3128998c5f5a821d9', style: { display: 'none' }, type: "checkbox", onInput: this.handleChange })));
124
124
  }
125
125
  };
126
126
  SdToggle.style = sdToggleCss();
@@ -19,7 +19,18 @@ const color = {
19
19
  strong: "#006AC1"},
20
20
  grey: {
21
21
  strong: "#737373"}};
22
+ const shadow = {
23
+ spread: {
24
+ md: {
25
+ x: "0",
26
+ y: "0",
27
+ blur: "24",
28
+ spread: "0",
29
+ color: "rgba(34,34,34,0.2)"}
30
+ }};
22
31
  var systemTokens = {
23
- color: color};
32
+ color: color,
33
+ shadow: shadow
34
+ };
24
35
 
25
36
  exports.systemTokens = systemTokens;
@@ -16,11 +16,12 @@
16
16
  "components/sd-badge/sd-badge.js",
17
17
  "components/sd-barcode-input/sd-barcode-input.js",
18
18
  "components/sd-calendar/sd-calendar.js",
19
+ "components/sd-callout/sd-callout.js",
20
+ "components/sd-icon/sd-icon.js",
19
21
  "components/sd-card/sd-card.js",
20
22
  "components/sd-chip/sd-chip.js",
21
23
  "components/sd-circle-progress/sd-circle-progress.js",
22
24
  "components/sd-confirm-modal/sd-confirm-modal.js",
23
- "components/sd-icon/sd-icon.js",
24
25
  "components/sd-tag/sd-tag.js",
25
26
  "components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.js",
26
27
  "components/sd-date-picker/sd-date-picker.js",
@@ -10,9 +10,11 @@ sd-calendar .sd-calendar {
10
10
  padding: var(--calendar-padding);
11
11
  background: var(--calendar-bg);
12
12
  border-radius: var(--calendar-radius);
13
- box-shadow: 2px 2px 12px 2px rgba(0, 0, 0, 0.2);
14
13
  user-select: none;
15
14
  }
15
+ sd-calendar .sd-calendar--elevated {
16
+ box-shadow: 2px 2px 12px 2px rgba(0, 0, 0, 0.2);
17
+ }
16
18
  sd-calendar .sd-calendar__header {
17
19
  display: flex;
18
20
  align-items: center;
@@ -6,6 +6,7 @@ export class SdCalendar {
6
6
  value = null;
7
7
  selectable;
8
8
  events;
9
+ elevated = false;
9
10
  currentYear;
10
11
  currentMonth;
11
12
  update;
@@ -172,7 +173,7 @@ export class SdCalendar {
172
173
  const eventMap = this.eventMap;
173
174
  const legend = this.legendItems;
174
175
  const hasEvents = (this.events?.length ?? 0) > 0;
175
- return (h("div", { key: '79cfdb58f8d44085c87cfea6458e60654bfa09bb', class: "sd-calendar", style: cssVars }, h("div", { key: '065620bcd155de11ef2272720de57ef6fcd9fd20', class: "sd-calendar__header" }, h("div", { key: 'ae27c8fe51c44137932b18cc83b64dcce7e2bbaa', class: "sd-calendar__nav-group" }, h("sd-ghost-button", { key: '8207f6d77705999419f451db032c059564ea0c17', ariaLabel: "prevYear", size: "xxs", icon: "chevronLeft", onClick: this.goPrevYear }), h("span", { key: 'b5bf63784dd06c3ce5a4d4c5514fea22efb08793', class: "sd-calendar__label" }, this.currentYear), h("sd-ghost-button", { key: '14512de68825e3b158704c3084306029ade8fcc1', ariaLabel: "nextYear", size: "xxs", icon: "chevronRight", onClick: this.goNextYear })), h("span", { key: 'e37eb90d72c2e64b8ebb1da4ddf3fccb7ff18cc3', class: "sd-calendar__divider", "aria-hidden": "true" }), h("div", { key: '07b1696b663ddb992e5a8d8b5ab98205ba136d9d', class: "sd-calendar__nav-group sd-calendar__nav-group-month" }, h("sd-ghost-button", { key: 'b742889a44643d3e4d3b6da90784923c40e5a07f', ariaLabel: "prevMonth", size: "xxs", icon: "chevronLeft", onClick: this.goPrevMonth }), h("span", { key: 'c97402106312c3a6eb220798263ba818419e7d27', class: "sd-calendar__label sd-calendar__label-month" }, this.currentMonth, "\uC6D4"), h("sd-ghost-button", { key: '55411b1328acb781d71a7a84996d2a29886612cd', ariaLabel: "nextMonth", size: "xxs", icon: "chevronRight", onClick: this.goNextMonth }))), h("div", { key: 'd10b03d31be412b545999d7e70bd9a349e5f1880', class: "sd-calendar__week" }, WEEK_LABELS.map(label => (h("span", { key: label, class: "sd-calendar__week-cell" }, label)))), h("div", { key: '0b8f82db3753fe08435b07dee695d49a192786c0', class: "sd-calendar__grid" }, this.cells.map(cell => {
176
+ return (h("div", { key: '0ed0317b3cecffea4015de8688888e0ab2a38586', class: { 'sd-calendar': true, 'sd-calendar--elevated': this.elevated }, style: cssVars }, h("div", { key: 'b915f275a31617711d06d98c8a4d9369ddd36af5', class: "sd-calendar__header" }, h("div", { key: 'cd3b625e4e26af4b11f6af8b22c02099e8ab68a5', class: "sd-calendar__nav-group" }, h("sd-ghost-button", { key: 'e0ebfed48a7fdb61fd082371e7247176c02a8fb1', ariaLabel: "prevYear", size: "xxs", icon: "chevronLeft", onClick: this.goPrevYear }), h("span", { key: '6bfebc94dce54ca472ad5b3e03a7630e32676c3f', class: "sd-calendar__label" }, this.currentYear), h("sd-ghost-button", { key: '2e42ad52cd7d1b5d3502d578347c997910f3efc3', ariaLabel: "nextYear", size: "xxs", icon: "chevronRight", onClick: this.goNextYear })), h("span", { key: '95be4ab5e03d7378e82006221f190ffd55659cf1', class: "sd-calendar__divider", "aria-hidden": "true" }), h("div", { key: 'edce7cf91a873cdaeed68e50372bdfa20af7507d', class: "sd-calendar__nav-group sd-calendar__nav-group-month" }, h("sd-ghost-button", { key: '9ba274e9db32177d30d8c218303384855b7a3f60', ariaLabel: "prevMonth", size: "xxs", icon: "chevronLeft", onClick: this.goPrevMonth }), h("span", { key: 'bc113063e769fe12c2a39732cd82060752b7d9eb', class: "sd-calendar__label sd-calendar__label-month" }, this.currentMonth, "\uC6D4"), h("sd-ghost-button", { key: '52cfde203e06334c5eee85abc9d82d6889bf511c', ariaLabel: "nextMonth", size: "xxs", icon: "chevronRight", onClick: this.goNextMonth }))), h("div", { key: '9ae80aee03a4e6392a1d9a4ef28e565db20faea3', class: "sd-calendar__week" }, WEEK_LABELS.map(label => (h("span", { key: label, class: "sd-calendar__week-cell" }, label)))), h("div", { key: '7c47907311ea24f1af030931b8efd11955e55436', class: "sd-calendar__grid" }, this.cells.map(cell => {
176
177
  const isSelected = cell.inCurrentMonth && this.value !== '' && this.value === cell.date;
177
178
  const isToday = cell.inCurrentMonth && today === cell.date;
178
179
  const isDisabled = cell.inCurrentMonth && this.isDisabled(cell.date);
@@ -185,8 +186,8 @@ export class SdCalendar {
185
186
  'sd-calendar__day--disabled': isDisabled,
186
187
  }, disabled: !cell.inCurrentMonth || isDisabled, tabindex: !cell.inCurrentMonth ? -1 : undefined, "aria-hidden": !cell.inCurrentMonth ? 'true' : undefined, onClick: () => cell.inCurrentMonth && this.handleDayClick(cell) }, h("span", { class: "sd-calendar__day-circle" }, cell.inCurrentMonth ? cell.day : ''), hasEvents && (h("span", { class: "sd-calendar__dot-row", "aria-hidden": "true" }, dayEvents?.map((ev, i) => (h("span", { key: `${ev.color}|${ev.label}|${i}`, class: "sd-calendar__dot", style: { backgroundColor: ev.color } })))))));
187
188
  })), legend.length > 0 && [
188
- h("span", { key: 'a837c5956da658561fcbd2e646b0abbb0fa84a20', class: "sd-calendar__divider-bottom", "aria-hidden": "true" }),
189
- h("div", { key: '190b9947e5ecd627fad03b40c58c2e0c8719daaa', class: "sd-calendar__legend" }, legend.map(item => (h("span", { key: `${item.color}|${item.label}`, class: "sd-calendar__legend-item" }, h("span", { class: "sd-calendar__legend-dot", style: { backgroundColor: item.color }, "aria-hidden": "true" }), h("span", { class: "sd-calendar__legend-label" }, item.label))))),
189
+ h("span", { key: '4ba064cad3188db8342f51ca017e4bf5af8aa460', class: "sd-calendar__divider-bottom", "aria-hidden": "true" }),
190
+ h("div", { key: 'ac132a1f1f948e618ee75d4c01a1c99a0dfc2c0a', class: "sd-calendar__legend" }, legend.map(item => (h("span", { key: `${item.color}|${item.label}`, class: "sd-calendar__legend-item" }, h("span", { class: "sd-calendar__legend-dot", style: { backgroundColor: item.color }, "aria-hidden": "true" }), h("span", { class: "sd-calendar__legend-label" }, item.label))))),
190
191
  ]));
191
192
  }
192
193
  static get is() { return "sd-calendar"; }
@@ -262,6 +263,26 @@ export class SdCalendar {
262
263
  },
263
264
  "getter": false,
264
265
  "setter": false
266
+ },
267
+ "elevated": {
268
+ "type": "boolean",
269
+ "mutable": false,
270
+ "complexType": {
271
+ "original": "boolean",
272
+ "resolved": "boolean",
273
+ "references": {}
274
+ },
275
+ "required": false,
276
+ "optional": false,
277
+ "docs": {
278
+ "tags": [],
279
+ "text": ""
280
+ },
281
+ "getter": false,
282
+ "setter": false,
283
+ "reflect": false,
284
+ "attribute": "elevated",
285
+ "defaultValue": "false"
265
286
  }
266
287
  };
267
288
  }
@@ -0,0 +1,45 @@
1
+ import calloutTokens from "../../tokens/generated/component.callout.json";
2
+ const { callout } = calloutTokens;
3
+ export const CALLOUT_LAYOUT = {
4
+ radius: `${callout.radius}px`,
5
+ borderWidth: `${callout.border.width}px`,
6
+ bodyPaddingX: `${callout.body.paddingX}px`,
7
+ bodyPaddingY: `${callout.body.paddingY}px`,
8
+ bodyGap: `${callout.body.gap}px`,
9
+ titlePaddingX: `${callout.danger.title.paddingX}px`,
10
+ titleGap: `${callout.danger.title.gap}px`,
11
+ titleIconSize: Number(callout.danger.title.icon),
12
+ };
13
+ export const CALLOUT_TYPOGRAPHY = {
14
+ body: {
15
+ fontFamily: callout.body.typography.fontFamily,
16
+ fontSize: `${callout.body.typography.fontSize}px`,
17
+ fontWeight: callout.body.typography.fontWeight,
18
+ lineHeight: `${callout.body.typography.lineHeight}px`,
19
+ },
20
+ title: {
21
+ fontFamily: callout.danger.title.typography.fontFamily,
22
+ fontSize: `${callout.danger.title.typography.fontSize}px`,
23
+ fontWeight: callout.danger.title.typography.fontWeight,
24
+ lineHeight: `${callout.danger.title.typography.lineHeight}px`,
25
+ },
26
+ };
27
+ export const CALLOUT_TYPE_CONFIG = {
28
+ default: {
29
+ bg: callout.default.bg,
30
+ border: callout.default.border,
31
+ content: callout.default.content,
32
+ },
33
+ danger: {
34
+ bg: callout.danger.bg,
35
+ border: callout.danger.border,
36
+ content: callout.danger.content,
37
+ titleBg: callout.danger.title.bg,
38
+ titleColor: callout.danger.title.color,
39
+ },
40
+ };
41
+ export const DANGER_TITLE_LABEL = '주의사항';
42
+ export const TYPE_ICON = {
43
+ default: undefined,
44
+ danger: 'warningFill',
45
+ };
@@ -0,0 +1,87 @@
1
+ @charset "UTF-8";
2
+ sd-callout {
3
+ display: block;
4
+ width: fit-content;
5
+ }
6
+ sd-callout .sd-callout {
7
+ display: inline-flex;
8
+ align-items: stretch;
9
+ width: fit-content;
10
+ border: var(--sd-callout-border-width) solid var(--sd-callout-border);
11
+ border-radius: var(--sd-callout-radius);
12
+ background-color: var(--sd-callout-bg);
13
+ color: var(--sd-callout-content);
14
+ overflow: hidden;
15
+ }
16
+ sd-callout .sd-callout__title {
17
+ display: flex;
18
+ flex-flow: column nowrap;
19
+ align-items: center;
20
+ justify-content: center;
21
+ gap: var(--sd-callout-title-gap);
22
+ padding: 8px var(--sd-callout-title-padding-x);
23
+ background-color: var(--sd-callout-title-bg);
24
+ color: var(--sd-callout-title-color);
25
+ font-family: var(--sd-callout-title-font-family);
26
+ font-size: var(--sd-callout-title-font-size);
27
+ font-weight: var(--sd-callout-title-font-weight);
28
+ line-height: var(--sd-callout-title-line-height);
29
+ flex-shrink: 0;
30
+ }
31
+ sd-callout .sd-callout__title-text {
32
+ white-space: nowrap;
33
+ }
34
+ sd-callout .sd-callout__body {
35
+ flex: 1;
36
+ min-width: 0;
37
+ display: flex;
38
+ flex-direction: column;
39
+ justify-content: center;
40
+ gap: var(--sd-callout-body-gap);
41
+ padding: var(--sd-callout-body-padding-y) var(--sd-callout-body-padding-x);
42
+ font-family: var(--sd-callout-body-font-family);
43
+ font-size: var(--sd-callout-body-font-size);
44
+ font-weight: var(--sd-callout-body-font-weight);
45
+ line-height: var(--sd-callout-body-line-height);
46
+ }
47
+ sd-callout .sd-callout__list {
48
+ margin: 0;
49
+ padding: 0;
50
+ list-style: none;
51
+ display: flex;
52
+ flex-direction: column;
53
+ justify-content: center;
54
+ gap: var(--sd-callout-body-gap);
55
+ }
56
+ sd-callout .sd-callout__list__item {
57
+ display: flex;
58
+ align-items: flex-start;
59
+ color: var(--sd-callout-content);
60
+ }
61
+ sd-callout .sd-callout__list__item p {
62
+ margin: 0;
63
+ padding: 0;
64
+ flex: 1;
65
+ min-width: 0;
66
+ word-break: break-word;
67
+ }
68
+ sd-callout .sd-callout__list__item::before {
69
+ display: block;
70
+ flex-shrink: 0;
71
+ text-align: center;
72
+ color: var(--sd-callout-content);
73
+ font-size: var(--sd-callout-body-font-size);
74
+ font-weight: var(--sd-callout-body-font-weight);
75
+ line-height: var(--sd-callout-body-line-height);
76
+ }
77
+ sd-callout .sd-callout__list__item--depth-1::before {
78
+ content: "-";
79
+ width: 24px;
80
+ }
81
+ sd-callout .sd-callout__list__item--depth-2 {
82
+ padding-left: 32px;
83
+ }
84
+ sd-callout .sd-callout__list__item--depth-2::before {
85
+ content: "•";
86
+ width: 24px;
87
+ }