@sellmate/design-system 1.0.69 → 1.0.70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/dist/cjs/design-system.cjs.js +1 -1
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/sd-action-modal.cjs.entry.js +1 -1
  4. package/dist/cjs/sd-badge.cjs.entry.js +1 -1
  5. package/dist/cjs/sd-barcode-input.cjs.entry.js +1 -1
  6. package/dist/cjs/sd-button-v2_2.cjs.entry.js +3 -3
  7. package/dist/cjs/sd-button_4.cjs.entry.js +10 -5
  8. package/dist/cjs/sd-card.cjs.entry.js +1 -1
  9. package/dist/cjs/sd-chip.cjs.entry.js +1 -1
  10. package/dist/cjs/sd-circle-progress.cjs.entry.js +1 -1
  11. package/dist/cjs/sd-confirm-modal_2.cjs.entry.js +3 -3
  12. package/dist/cjs/sd-date-picker-calendar.cjs.entry.js +1 -1
  13. package/dist/cjs/sd-date-picker-trigger.cjs.entry.js +2 -2
  14. package/dist/cjs/sd-date-picker.cjs.entry.js +2 -2
  15. package/dist/cjs/sd-date-range-picker-calendar.cjs.entry.js +1 -1
  16. package/dist/cjs/sd-dropdown-button.cjs.entry.js +3 -3
  17. package/dist/cjs/sd-ghost-button.cjs.entry.js +2 -2
  18. package/dist/cjs/sd-input_2.cjs.entry.js +2 -2
  19. package/dist/cjs/sd-loading-container.cjs.entry.js +2 -2
  20. package/dist/cjs/sd-number-input.cjs.entry.js +3 -3
  21. package/dist/cjs/sd-pagination_2.cjs.entry.js +60 -29
  22. package/dist/cjs/sd-popover.cjs.entry.js +23 -23
  23. package/dist/cjs/sd-portal.cjs.entry.js +1 -1
  24. package/dist/cjs/sd-radio-button.cjs.entry.js +1 -1
  25. package/dist/cjs/sd-radio-group.cjs.entry.js +1 -1
  26. package/dist/cjs/sd-radio.cjs.entry.js +1 -1
  27. package/dist/cjs/sd-select-multiple-group.cjs.entry.js +1 -1
  28. package/dist/cjs/sd-select-v2-list-item_4.cjs.entry.js +28 -4
  29. package/dist/cjs/sd-select.cjs.entry.js +1 -1
  30. package/dist/cjs/sd-tabs.cjs.entry.js +1 -1
  31. package/dist/cjs/table-test.cjs.entry.js +1 -1
  32. package/dist/collection/collection-manifest.json +1 -1
  33. package/dist/collection/components/sd-action-modal/sd-action-modal.js +1 -1
  34. package/dist/collection/components/sd-badge/sd-badge.js +1 -1
  35. package/dist/collection/components/sd-barcode-input/sd-barcode-input.js +1 -1
  36. package/dist/collection/components/sd-button-v2/sd-button-v2.js +3 -3
  37. package/dist/collection/components/sd-card/sd-card.js +1 -1
  38. package/dist/collection/components/sd-chip/sd-chip.js +1 -1
  39. package/dist/collection/components/sd-circle-progress/sd-circle-progress.js +1 -1
  40. package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.js +2 -2
  41. package/dist/collection/components/sd-date-picker/sd-date-picker-calendar/sd-date-picker-calendar.js +1 -1
  42. package/dist/collection/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.js +2 -2
  43. package/dist/collection/components/sd-date-picker/sd-date-picker.js +2 -2
  44. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.js +1 -1
  45. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.js +3 -3
  46. package/dist/collection/components/sd-field/sd-field.js +4 -4
  47. package/dist/collection/components/sd-floating-portal/sd-floating-portal.js +12 -1
  48. package/dist/collection/components/sd-ghost-button/sd-ghost-button.js +2 -2
  49. package/dist/collection/components/sd-input/sd-input.js +2 -2
  50. package/dist/collection/components/sd-loading-container/sd-loading-container.js +2 -2
  51. package/dist/collection/components/sd-loading-modal/sd-loading-modal.js +1 -1
  52. package/dist/collection/components/sd-number-input/sd-number-input.js +3 -3
  53. package/dist/collection/components/sd-pagination/sd-pagination.js +3 -3
  54. package/dist/collection/components/sd-popover/sd-popover.js +49 -53
  55. package/dist/collection/components/sd-portal/sd-portal.js +1 -1
  56. package/dist/collection/components/sd-radio/sd-radio.js +1 -1
  57. package/dist/collection/components/sd-radio-button/sd-radio-button.js +1 -1
  58. package/dist/collection/components/sd-radio-group/sd-radio-group.js +1 -1
  59. package/dist/collection/components/sd-select/sd-select.js +1 -1
  60. package/dist/collection/components/sd-select-multiple-group/sd-select-multiple-group.js +1 -1
  61. package/dist/collection/components/sd-select-v2/sd-select-v2-listbox/sd-select-v2-listbox.js +8 -2
  62. package/dist/collection/components/sd-select-v2/sd-select-v2-trigger/sd-select-v2-trigger.js +69 -2
  63. package/dist/collection/components/sd-select-v2/sd-select-v2.js +96 -27
  64. package/dist/collection/components/sd-tabs/sd-tabs.js +1 -1
  65. package/dist/collection/components/table-test/table-test.js +1 -1
  66. package/dist/components/{p-z9MoRjYX.js → p-9HhG23Vy.js} +1 -1
  67. package/dist/components/{p-CEnwrYaY.js → p-B8XV0vD8.js} +1 -1
  68. package/dist/components/{p-DlkxQ9Jn.js → p-BLxwBD2G.js} +1 -1
  69. package/dist/components/{p-B1j9ZWLJ.js → p-BM9Fr6OX.js} +1 -1
  70. package/dist/components/{p-DoSEK0_q.js → p-BfG60atH.js} +1 -1
  71. package/dist/components/p-CU7IOtCw.js +1 -0
  72. package/dist/components/{p-DPCj-bFr.js → p-Cc3bTBBn.js} +1 -1
  73. package/dist/components/{p-CS62OEXf.js → p-CeHRQb7A.js} +1 -1
  74. package/dist/components/{p-D21iKAp7.js → p-CoOl8zeX.js} +1 -1
  75. package/dist/components/{p-D99-lhhk.js → p-CscUxW9p.js} +1 -1
  76. package/dist/components/p-CuiFB2yQ.js +1 -0
  77. package/dist/components/p-D1SaZEYh.js +1 -0
  78. package/dist/components/{p-BJshZele.js → p-DM5vbfxB.js} +1 -1
  79. package/dist/components/{p-T5BGXHZg.js → p-DWJ3CIKO.js} +1 -1
  80. package/dist/components/{p-BFd54Imz.js → p-D_XZAh9v.js} +1 -1
  81. package/dist/components/{p-CtrDZYN5.js → p-DboqT9Do.js} +1 -1
  82. package/dist/components/p-DkHyt3Dz.js +1 -0
  83. package/dist/components/{p-DIro-Wat.js → p-Dmk-f7qn.js} +1 -1
  84. package/dist/components/p-DpBU4AWy.js +1 -0
  85. package/dist/components/p-r8kAA1Su.js +1 -0
  86. package/dist/components/{p-BaHpEtbz.js → p-raiEivQ1.js} +1 -1
  87. package/dist/components/sd-action-modal.js +1 -1
  88. package/dist/components/sd-badge.js +1 -1
  89. package/dist/components/sd-barcode-input.js +1 -1
  90. package/dist/components/sd-button-v2.js +1 -1
  91. package/dist/components/sd-card.js +1 -1
  92. package/dist/components/sd-chip.js +1 -1
  93. package/dist/components/sd-circle-progress.js +1 -1
  94. package/dist/components/sd-confirm-modal.js +1 -1
  95. package/dist/components/sd-date-picker-calendar.js +1 -1
  96. package/dist/components/sd-date-picker-trigger.js +1 -1
  97. package/dist/components/sd-date-picker.js +1 -1
  98. package/dist/components/sd-date-range-picker-calendar.js +1 -1
  99. package/dist/components/sd-date-range-picker.js +1 -1
  100. package/dist/components/sd-dropdown-button.js +1 -1
  101. package/dist/components/sd-field.js +1 -1
  102. package/dist/components/sd-file-picker.js +1 -1
  103. package/dist/components/sd-floating-portal.js +1 -1
  104. package/dist/components/sd-ghost-button.js +1 -1
  105. package/dist/components/sd-guide.js +1 -1
  106. package/dist/components/sd-input.js +1 -1
  107. package/dist/components/sd-loading-container.js +1 -1
  108. package/dist/components/sd-loading-modal.js +1 -1
  109. package/dist/components/sd-modal-container.js +1 -1
  110. package/dist/components/sd-number-input.js +1 -1
  111. package/dist/components/sd-pagination.js +1 -1
  112. package/dist/components/sd-popover.js +1 -1
  113. package/dist/components/sd-portal.js +1 -1
  114. package/dist/components/sd-radio-button.js +1 -1
  115. package/dist/components/sd-radio-group.js +1 -1
  116. package/dist/components/sd-radio.js +1 -1
  117. package/dist/components/sd-select-dropdown.js +1 -1
  118. package/dist/components/sd-select-group.js +1 -1
  119. package/dist/components/sd-select-multiple-group.js +1 -1
  120. package/dist/components/sd-select-multiple.js +1 -1
  121. package/dist/components/sd-select-search-input.js +1 -1
  122. package/dist/components/sd-select-v2-listbox.js +1 -1
  123. package/dist/components/sd-select-v2-trigger.js +1 -1
  124. package/dist/components/sd-select-v2.js +1 -1
  125. package/dist/components/sd-select.js +1 -1
  126. package/dist/components/sd-table.js +1 -1
  127. package/dist/components/sd-tabs.js +1 -1
  128. package/dist/components/sd-textarea.js +1 -1
  129. package/dist/components/sd-thead.js +1 -1
  130. package/dist/components/sd-toast-container.js +1 -1
  131. package/dist/components/sd-toast.js +1 -1
  132. package/dist/components/sd-tooltip.js +1 -1
  133. package/dist/components/table-test.js +1 -1
  134. package/dist/design-system/design-system.esm.js +1 -1
  135. package/dist/design-system/{p-1b8e63a6.entry.js → p-0967ef4b.entry.js} +1 -1
  136. package/dist/design-system/{p-449e58ee.entry.js → p-12f13678.entry.js} +1 -1
  137. package/dist/design-system/{p-23c31074.entry.js → p-132721ad.entry.js} +1 -1
  138. package/dist/design-system/{p-8cd1b533.entry.js → p-1af3c5c5.entry.js} +1 -1
  139. package/dist/design-system/{p-a7ef7465.entry.js → p-2196f439.entry.js} +1 -1
  140. package/dist/design-system/{p-01ac7743.entry.js → p-2319b722.entry.js} +1 -1
  141. package/dist/design-system/{p-0d485537.entry.js → p-27165b31.entry.js} +1 -1
  142. package/dist/design-system/{p-4d434794.entry.js → p-3677b3ce.entry.js} +1 -1
  143. package/dist/design-system/{p-60ece09d.entry.js → p-3c64616c.entry.js} +1 -1
  144. package/dist/design-system/{p-b3d959b0.entry.js → p-4ba03850.entry.js} +1 -1
  145. package/dist/design-system/{p-71897864.entry.js → p-639d237f.entry.js} +1 -1
  146. package/dist/design-system/{p-35b29182.entry.js → p-7232731b.entry.js} +1 -1
  147. package/dist/design-system/{p-1389a68e.entry.js → p-7dc33db0.entry.js} +1 -1
  148. package/dist/design-system/{p-002e10ac.entry.js → p-8cb8444e.entry.js} +1 -1
  149. package/dist/design-system/p-8d65090b.entry.js +1 -0
  150. package/dist/design-system/{p-9f0fe1f6.entry.js → p-9960d880.entry.js} +1 -1
  151. package/dist/design-system/{p-92a52f89.entry.js → p-a4e85dba.entry.js} +1 -1
  152. package/dist/design-system/p-a70ca82b.entry.js +1 -0
  153. package/dist/design-system/{p-48f1f9ff.entry.js → p-a8e7406e.entry.js} +1 -1
  154. package/dist/design-system/{p-1a455448.entry.js → p-ac441e78.entry.js} +1 -1
  155. package/dist/design-system/{p-731429da.entry.js → p-b3b1f25d.entry.js} +1 -1
  156. package/dist/design-system/{p-609b3748.entry.js → p-beb8d3de.entry.js} +1 -1
  157. package/dist/design-system/{p-4f9f25a1.entry.js → p-c290c0e0.entry.js} +1 -1
  158. package/dist/design-system/{p-5442b4b4.entry.js → p-c62ad2f4.entry.js} +1 -1
  159. package/dist/design-system/{p-4de3b6b1.entry.js → p-c67ff78d.entry.js} +1 -1
  160. package/dist/design-system/{p-7dd8beba.entry.js → p-c68e37f2.entry.js} +1 -1
  161. package/dist/design-system/{p-6ef2d08f.entry.js → p-d8a48add.entry.js} +1 -1
  162. package/dist/design-system/{p-cdedac3c.entry.js → p-dc43ebf9.entry.js} +1 -1
  163. package/dist/design-system/{p-6b478f5c.entry.js → p-f6869087.entry.js} +1 -1
  164. package/dist/esm/design-system.js +1 -1
  165. package/dist/esm/loader.js +1 -1
  166. package/dist/esm/sd-action-modal.entry.js +1 -1
  167. package/dist/esm/sd-badge.entry.js +1 -1
  168. package/dist/esm/sd-barcode-input.entry.js +1 -1
  169. package/dist/esm/sd-button-v2_2.entry.js +3 -3
  170. package/dist/esm/sd-button_4.entry.js +10 -5
  171. package/dist/esm/sd-card.entry.js +1 -1
  172. package/dist/esm/sd-chip.entry.js +1 -1
  173. package/dist/esm/sd-circle-progress.entry.js +1 -1
  174. package/dist/esm/sd-confirm-modal_2.entry.js +3 -3
  175. package/dist/esm/sd-date-picker-calendar.entry.js +1 -1
  176. package/dist/esm/sd-date-picker-trigger.entry.js +2 -2
  177. package/dist/esm/sd-date-picker.entry.js +2 -2
  178. package/dist/esm/sd-date-range-picker-calendar.entry.js +1 -1
  179. package/dist/esm/sd-dropdown-button.entry.js +3 -3
  180. package/dist/esm/sd-ghost-button.entry.js +2 -2
  181. package/dist/esm/sd-input_2.entry.js +2 -2
  182. package/dist/esm/sd-loading-container.entry.js +2 -2
  183. package/dist/esm/sd-number-input.entry.js +3 -3
  184. package/dist/esm/sd-pagination_2.entry.js +60 -29
  185. package/dist/esm/sd-popover.entry.js +24 -24
  186. package/dist/esm/sd-portal.entry.js +1 -1
  187. package/dist/esm/sd-radio-button.entry.js +1 -1
  188. package/dist/esm/sd-radio-group.entry.js +1 -1
  189. package/dist/esm/sd-radio.entry.js +1 -1
  190. package/dist/esm/sd-select-multiple-group.entry.js +1 -1
  191. package/dist/esm/sd-select-v2-list-item_4.entry.js +28 -4
  192. package/dist/esm/sd-select.entry.js +1 -1
  193. package/dist/esm/sd-tabs.entry.js +1 -1
  194. package/dist/esm/table-test.entry.js +1 -1
  195. package/dist/types/components/sd-floating-portal/sd-floating-portal.d.ts +1 -0
  196. package/dist/types/components/sd-popover/sd-popover.d.ts +12 -8
  197. package/dist/types/components/sd-select-v2/sd-select-v2-listbox/sd-select-v2-listbox.d.ts +4 -0
  198. package/dist/types/components/sd-select-v2/sd-select-v2-trigger/sd-select-v2-trigger.d.ts +6 -0
  199. package/dist/types/components/sd-select-v2/sd-select-v2.d.ts +8 -0
  200. package/dist/types/components.d.ts +27 -15
  201. package/hydrate/index.js +168 -108
  202. package/hydrate/index.mjs +168 -108
  203. package/package.json +1 -1
  204. package/dist/components/p-Cb1M05mf.js +0 -1
  205. package/dist/components/p-CsPyZohK.js +0 -1
  206. package/dist/components/p-DGPGMB_Z.js +0 -1
  207. package/dist/components/p-D_lyw4rN.js +0 -1
  208. package/dist/components/p-Diis5oCN.js +0 -1
  209. package/dist/components/p-DukibDDA.js +0 -1
  210. package/dist/design-system/p-5a0b0a1b.entry.js +0 -1
  211. package/dist/design-system/p-87222184.entry.js +0 -1
@@ -267,7 +267,7 @@ const SdDateRangePickerCalendar = class {
267
267
  '--range-panel-gap': `${RANGE_LAYOUT.panelGap}px`,
268
268
  '--range-divider': RANGE_LAYOUT.divider,
269
269
  };
270
- return (index.h(index.Fragment, { key: '595c17bc338f96117d87c5ac3c2b26895b9e5283' }, index.h("div", { key: '39ce76545cc612422ab5024a2838fbc9faabb9a8', class: "sd-date-range-picker-calendar", style: cssVars }, this.renderYearNav(), index.h("div", { key: '21764e31a3fbcfa8de22d1f243f5739fc02c38fd', class: "sd-date-range-picker-calendar__panels" }, this.renderPanel(this.currentYear, this.currentMonth, true), index.h("span", { key: '402ea75f3bf8b58d30c34238285eef7099118e28', class: "sd-date-range-picker-calendar__divider", "aria-hidden": "true" }), this.renderPanel(this.rightYear, this.rightMonth, false)))));
270
+ return (index.h(index.Fragment, { key: 'e925fa935f807e22b22a2f65b4af5b2568865781' }, index.h("div", { key: 'be601b16d179d91292b58c3b70ce6a4aa4f5e59a', class: "sd-date-range-picker-calendar", style: cssVars }, this.renderYearNav(), index.h("div", { key: 'e193b983a7eb75a227ea8e1d13839dcc9e875588', class: "sd-date-range-picker-calendar__panels" }, this.renderPanel(this.currentYear, this.currentMonth, true), index.h("span", { key: '6f2ea95c2fd490a46ac40f6a526ca028920bc564', class: "sd-date-range-picker-calendar__divider", "aria-hidden": "true" }), this.renderPanel(this.rightYear, this.rightMonth, false)))));
271
271
  }
272
272
  static get watchers() { return {
273
273
  "value": [{
@@ -246,7 +246,7 @@ const SdDropdownButton = class extends baseDropdownEvent.BaseDropdownEvent {
246
246
  }
247
247
  render() {
248
248
  const { config, preset } = this.resolvedConfig;
249
- return (index.h("div", { key: '5493b94262ecdd20a5fbb7ad2993dd473b1ae9e3', class: "sd-dropdown-button" }, index.h("button", { key: 'a64187dec0d84dce3532f8b3d7112ed6d6ae8e0d', type: "button", class: this.getTriggerClasses(preset, config.size, this.disabled, this.isOpen), disabled: this.disabled, "aria-haspopup": "menu", "aria-expanded": String(this.isOpen), onClick: this.toggleDropdown, ref: el => (this.triggerRef = el), style: {
249
+ return (index.h("div", { key: 'ce06d2b7e13cb234bb6e7393939d2ccd834801a5', class: "sd-dropdown-button" }, index.h("button", { key: '4bd3e86eec90698188a834eb35ff922dee7d1855', type: "button", class: this.getTriggerClasses(preset, config.size, this.disabled, this.isOpen), disabled: this.disabled, "aria-haspopup": "menu", "aria-expanded": String(this.isOpen), onClick: this.toggleDropdown, ref: el => (this.triggerRef = el), style: {
250
250
  '--sd-dropdown-button-bg': config.color,
251
251
  '--sd-dropdown-button-bg-hover': PRESET_HOVER_BACKGROUNDS[preset],
252
252
  '--sd-dropdown-button-border': PRESET_BORDER_COLORS[preset],
@@ -256,10 +256,10 @@ const SdDropdownButton = class extends baseDropdownEvent.BaseDropdownEvent {
256
256
  '--sd-dropdown-button-disabled-bg': DROPDOWN_DISABLED_BACKGROUND,
257
257
  '--sd-dropdown-button-disabled-content': DROPDOWN_DISABLED_TEXT,
258
258
  '--sd-dropdown-button-disabled-border': DROPDOWN_DISABLED_BORDER,
259
- } }, index.h("span", { key: '71ed27650dcb1beb1cfa4864a6449ab190f04829', class: "sd-dropdown-button__trigger-label" }, this.label), index.h("span", { key: '6c34575c0587fb288165cf0e15db52ed6b3f50db', class: "sd-dropdown-button__trigger-divider", "aria-hidden": "true" }), index.h("span", { key: '0544b9d36657a80b5f51b9c1849d55ab7a7dbdc2', class: {
259
+ } }, index.h("span", { key: '2baea4f0777ec766625d4ae1fb14739aa61ca114', class: "sd-dropdown-button__trigger-label" }, this.label), index.h("span", { key: 'b37a94dd23d26a1444ddccc192b2a5ab2388bc64', class: "sd-dropdown-button__trigger-divider", "aria-hidden": "true" }), index.h("span", { key: 'b903ff916c3ae1ab189cd08877a57940e45d8aeb', class: {
260
260
  'sd-dropdown-button__trigger-icon': true,
261
261
  'sd-dropdown-button__trigger-icon--open': this.isOpen,
262
- }, "aria-hidden": "true" }, index.h("sd-icon", { key: 'cd73a4dffbe1fc31c76fea221cd080b455bb3131', name: "chevronDown", size: DROPDOWN_CHEVRON_ICON_SIZE[config.size], color: "var(--sd-dropdown-button-current-content)" }))), this.renderDropdown(preset)));
262
+ }, "aria-hidden": "true" }, index.h("sd-icon", { key: '2eac1eabd2677decb0c1cfe4f518a7da9aca60ff', name: "chevronDown", size: DROPDOWN_CHEVRON_ICON_SIZE[config.size], color: "var(--sd-dropdown-button-current-content)" }))), this.renderDropdown(preset)));
263
263
  }
264
264
  static get watchers() { return {
265
265
  "isOpen": [{
@@ -155,7 +155,7 @@ const SdGhostButton = class {
155
155
  ? GHOST_BUTTON_DISABLED_COLORS[this.intent ?? 'default']
156
156
  : GHOST_BUTTON_CONTENT_COLORS[this.intent ?? 'default'];
157
157
  const accessibleName = this.ariaLabel.trim() || undefined;
158
- return (index.h("button", { key: '690151271d15b4a3e07b47021f368647cc9daf62', class: {
158
+ return (index.h("button", { key: '4d5159cb897b6c468380f18eba1eca218d24920e', class: {
159
159
  'sd-ghost-button': true,
160
160
  'sd-ghost-button--disabled': this.disabled,
161
161
  }, type: "button", disabled: this.disabled, "aria-label": accessibleName, style: {
@@ -164,7 +164,7 @@ const SdGhostButton = class {
164
164
  '--sd-ghost-button-hover-bg': GHOST_BUTTON_HOVER_BG_COLORS[this.intent ?? 'default'],
165
165
  '--sd-ghost-button-hover-opacity': GHOST_BUTTON_HOVER_OPACITY,
166
166
  '--sd-ghost-button-accent': GHOST_BUTTON_FOCUS_RING_COLOR,
167
- }, onClick: this.handleClick }, index.h("sd-icon", { key: '9769fff9f694e7d1fa2cba94fa8e80498d0afe2e', name: this.icon, size: sizeConfig.icon, color: contentColor })));
167
+ }, onClick: this.handleClick }, index.h("sd-icon", { key: '0461580c901aea244a3d0e693fb94fd6354873ab', name: this.icon, size: sizeConfig.icon, color: contentColor })));
168
168
  }
169
169
  };
170
170
  SdGhostButton.style = sdGhostButtonCss();
@@ -150,12 +150,12 @@ const SdInput = class {
150
150
  '--sd-system-size-field-sm-height': `${sizeTokens.height}px`,
151
151
  '--sd-system-radius-field-sm': `${sizeTokens.radius}px`,
152
152
  };
153
- return (index.h("sd-field", { key: '3b607f0075786647d48ce470d40745e4d5fdcdc1', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, status: this.status, size: this.size, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, index.h("label", { key: '02902d50bbc3275860e814a5d354e83eeed72373', class: "sd-input__content" }, index.h("slot", { key: '4fb6e53a98853c67e847cdd38b8ddbb606e3f0a1', name: "prefix" }), index.h("input", { key: '291841a908b8502790f09833f1a30dc56f24ff52', name: this.name, ref: el => (this.nativeEl = el), class: `sd-input__native ${this.inputClass}`, type: this.type === 'password' && this.passwordVisible ? 'text' : this.type, value: this.internalValue || '', placeholder: this.placeholder, disabled: this.disabled, readonly: this.readonly, autofocus: this.autoFocus, autocomplete: this.autocomplete || undefined, maxlength: this.maxlength, minlength: this.minlength, inputmode: this.inputmode, enterkeyhint: this.enterkeyhint, spellcheck: this.spellcheck, onInput: this.handleInput, onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event), style: this.inputStyle }), index.h("slot", { key: '13e21f184a9dcee81a1b6d3c11b9137a0ac7203e', name: "suffix" }), this.clearable && this.internalValue && !this.disabled && (index.h("sd-ghost-button", { key: '4e708928b8465d6e8d5c1b6f4a983a9d8c1c8784', icon: "close", ariaLabel: "clear", size: "xxs", disabled: this.disabled, class: "sd-input__clear-icon", onClick: async () => {
153
+ return (index.h("sd-field", { key: '6270fb99043a06aa9a4c2ead77007e6c03adafef', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, status: this.status, size: this.size, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, index.h("label", { key: 'aaef18c323710235b41d76b26a21380cadcc6e0f', class: "sd-input__content" }, index.h("slot", { key: 'fd5d5845acf9d5351dec5af84e09d91246de8a68', name: "prefix" }), index.h("input", { key: '8b4dd1eab6488a29daec6e6dde5238b319001d5b', name: this.name, ref: el => (this.nativeEl = el), class: `sd-input__native ${this.inputClass}`, type: this.type === 'password' && this.passwordVisible ? 'text' : this.type, value: this.internalValue || '', placeholder: this.placeholder, disabled: this.disabled, readonly: this.readonly, autofocus: this.autoFocus, autocomplete: this.autocomplete || undefined, maxlength: this.maxlength, minlength: this.minlength, inputmode: this.inputmode, enterkeyhint: this.enterkeyhint, spellcheck: this.spellcheck, onInput: this.handleInput, onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event), style: this.inputStyle }), index.h("slot", { key: '79918e68de3045b509a27d8567e095665040689b', name: "suffix" }), this.clearable && this.internalValue && !this.disabled && (index.h("sd-ghost-button", { key: 'f5358346a20830c1fef955a2bb6783156b251178', icon: "close", ariaLabel: "clear", size: "xxs", disabled: this.disabled, class: "sd-input__clear-icon", onClick: async () => {
154
154
  if (this.disabled)
155
155
  return;
156
156
  this.internalValue = '';
157
157
  await this.formField?.sdValidate();
158
- } })), this.type === 'password' && (index.h("sd-ghost-button", { key: 'cc87104d0c9ef69659041fe233b3e432b62ed0b8', icon: this.passwordVisible ? 'visibilityOn' : 'visibilityOff', ariaLabel: "visibility", size: "xxs", disabled: this.disabled, class: "sd-input__password-icon", onClick: () => {
158
+ } })), this.type === 'password' && (index.h("sd-ghost-button", { key: '77108ea21a4b9afc9e9051c98d4d49bcb571cffb', icon: this.passwordVisible ? 'visibilityOn' : 'visibilityOff', ariaLabel: "visibility", size: "xxs", disabled: this.disabled, class: "sd-input__password-icon", onClick: () => {
159
159
  if (this.disabled)
160
160
  return;
161
161
  this.passwordVisible = !this.passwordVisible;
@@ -18,10 +18,10 @@ const SdLoadingContainer = class {
18
18
  this.visible = false;
19
19
  }
20
20
  render() {
21
- return (index.h("div", { key: '8236579ed01f703fb105576c2fd575b157b3aa76', class: {
21
+ return (index.h("div", { key: '7887102a2b03f911fad57784b3b45b12d2265ae2', class: {
22
22
  'sd-loading-container': true,
23
23
  'sd-loading-container--visible': this.visible,
24
- }, "aria-hidden": this.visible ? 'false' : 'true' }, index.h("div", { key: '176473a839add91a86d207544e9cc5862b13d04f', class: "sd-loading-container__backdrop" }), index.h("div", { key: '2776ed326caa6870a79b94079ff6e778ee560b02', class: "sd-loading-container__content" }, index.h("sd-circle-progress", { key: '6977bfd46e06e9c13492a15b5081c98446770de5', indeterminate: true, type: "inverse" }), this.message && (index.h("p", { key: '7cea458c498a4682b1d4d5f07e059ed8e4905df0', class: "sd-loading-container__message" }, this.message)))));
24
+ }, "aria-hidden": this.visible ? 'false' : 'true' }, index.h("div", { key: '0f815029574907643be52b50a6c8be8e66ced072', class: "sd-loading-container__backdrop" }), index.h("div", { key: '9ea0faf8ed4094b3fd93a6e29c55130d58b245fe', class: "sd-loading-container__content" }, index.h("sd-circle-progress", { key: '6e89faad35f282d91098c213879c0ecf8d05a5ed', indeterminate: true, type: "inverse" }), this.message && (index.h("p", { key: '05d3128ecf91a372a426a2508535c7789aff9bc1', class: "sd-loading-container__message" }, this.message)))));
25
25
  }
26
26
  };
27
27
  SdLoadingContainer.style = sdLoadingContainerCss();
@@ -385,12 +385,12 @@ const SdNumberInput = class {
385
385
  '--sd-textinput-input-hint-typography-line-height': `${NUMBER_INPUT_HINT.typography.lineHeight}px`,
386
386
  '--sd-textinput-input-contents-gap': `${NUMBER_INPUT_CONTENTS_GAP}px`,
387
387
  };
388
- return (index.h("sd-field", { key: 'a9512622774c930c8b70b3d739a405e2434f22a7', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, status: this.status, size: this.size, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, index.h("div", { key: 'f068ab7a042a97dfac7aaf160508757306dddc14', class: "sd-number-input__content" }, this.useButton && (index.h("button", { key: '37341e813e7902f07c2731c708e1aadc53411653', type: "button", class: "sd-number-input__stepper sd-number-input__stepper--decrement", disabled: this.isDecrementDisabled(), onClick: this.handleDecrement, tabindex: -1 }, index.h("sd-icon", { key: '740b2715518534b0ece5aa3b3f6dfd0dfafd6368', name: "minus", size: iconSize, color: this.isDecrementDisabled()
388
+ return (index.h("sd-field", { key: '85941d001afd73a10defb7f0728579ce0b8457b1', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, status: this.status, size: this.size, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, index.h("div", { key: '565de4d4a79219bc8d6e9c8f4528ec93a655c376', class: "sd-number-input__content" }, this.useButton && (index.h("button", { key: 'fa27f209b09a03121eb89959164a4a349d525d9a', type: "button", class: "sd-number-input__stepper sd-number-input__stepper--decrement", disabled: this.isDecrementDisabled(), onClick: this.handleDecrement, tabindex: -1 }, index.h("sd-icon", { key: '7f4fe23f4b0eba4a06e0153338228710365ce57f', name: "minus", size: iconSize, color: this.isDecrementDisabled()
389
389
  ? NUMBER_INPUT_STEPPER.icon.disabled
390
- : NUMBER_INPUT_STEPPER.icon.default }))), this.inputPrefix && (index.h("span", { key: '9b16f311a1408dfc84124ec938a98b13635f6dc6', class: "sd-number-input__prefix" }, this.inputPrefix)), index.h("input", { key: '572e2a8a1d7283e3568a85ba6c1bd506c3ec4453', name: this.name, ref: el => (this.nativeEl = el), class: `sd-number-input__native ${this.inputClass}`, type: "text", inputMode: "numeric", value: this.displayValue, placeholder: this.placeholder, disabled: this.disabled, readonly: this.readonly, autofocus: this.autoFocus, onInput: this.handleInput, onKeyDown: this.handleKeyDown, onFocus: this.handleFocus, onBlur: this.handleBlur, style: {
390
+ : NUMBER_INPUT_STEPPER.icon.default }))), this.inputPrefix && (index.h("span", { key: '55a96b32e383cdf8d5b253336130460275373f41', class: "sd-number-input__prefix" }, this.inputPrefix)), index.h("input", { key: 'e25faa5af70d89ae0266bd9dbf35c72276885a9b', name: this.name, ref: el => (this.nativeEl = el), class: `sd-number-input__native ${this.inputClass}`, type: "text", inputMode: "numeric", value: this.displayValue, placeholder: this.placeholder, disabled: this.disabled, readonly: this.readonly, autofocus: this.autoFocus, onInput: this.handleInput, onKeyDown: this.handleKeyDown, onFocus: this.handleFocus, onBlur: this.handleBlur, style: {
391
391
  textAlign: this.useButton ? 'center' : 'right',
392
392
  ...this.inputStyle,
393
- } }), this.inputSuffix && (index.h("span", { key: '13a07217ee34c793669b061c240062805a40db60', class: "sd-number-input__suffix" }, this.inputSuffix)), this.useButton && (index.h("button", { key: 'c3557737be6cc5dc6c5ab171bcc078cf564fb2b0', type: "button", class: "sd-number-input__stepper sd-number-input__stepper--increment", disabled: this.isIncrementDisabled(), onClick: this.handleIncrement, tabindex: -1 }, index.h("sd-icon", { key: '530cf50331768df5be16639e46ce3f7f438ffe02', name: "add", size: iconSize, color: this.isIncrementDisabled()
393
+ } }), this.inputSuffix && (index.h("span", { key: '777730846e62dd03a9193cf582908a059789b329', class: "sd-number-input__suffix" }, this.inputSuffix)), this.useButton && (index.h("button", { key: 'ef8b471cb1d2cbd3a5b350ddbbf856e3bd104567', type: "button", class: "sd-number-input__stepper sd-number-input__stepper--increment", disabled: this.isIncrementDisabled(), onClick: this.handleIncrement, tabindex: -1 }, index.h("sd-icon", { key: 'e2440c5a4571b69dc0e91ab0b10dffdd8242b1d8', name: "add", size: iconSize, color: this.isIncrementDisabled()
394
394
  ? NUMBER_INPUT_STEPPER.icon.disabled
395
395
  : NUMBER_INPUT_STEPPER.icon.default }))))));
396
396
  }
@@ -151,13 +151,13 @@ const SdPagination = class {
151
151
  '--sd-pagination-bg-selected': PAGINATION_COLORS.bgSelected,
152
152
  '--sd-pagination-item-width': `${this.buttonWidth}px`,
153
153
  };
154
- return (index.h("div", { key: '1f6d3909c5c7f17701c405f058bf999020d9424e', class: {
154
+ return (index.h("div", { key: '2b9efc3a0340799a39e7bbfe6f3a270b7cc5f0c7', class: {
155
155
  'sd-pagination': true,
156
156
  'sd-pagination--simple': this.simple,
157
- }, style: cssVars }, index.h("div", { key: '9faaf4f1033e406ecaad7ed593a1610bb7002631', class: "sd-pagination__group sd-pagination__group--prev" }, this.renderPrevButtons()), this.simple ? (index.h("div", { class: "sd-pagination__info" }, index.h("span", { class: "sd-pagination__current" }, this.currentPage), index.h("span", { class: "sd-pagination__divider" }, "/"), index.h("span", { class: "sd-pagination__last" }, this.lastPage))) : (index.h("div", { class: "sd-pagination__numbers" }, this.pageNumbers.map(n => (index.h("button", { type: "button", "aria-current": this.currentPage === n ? 'page' : undefined, class: {
157
+ }, style: cssVars }, index.h("div", { key: 'af585a4e9ad2fc25e47cb42fdcc66850d6210fd1', class: "sd-pagination__group sd-pagination__group--prev" }, this.renderPrevButtons()), this.simple ? (index.h("div", { class: "sd-pagination__info" }, index.h("span", { class: "sd-pagination__current" }, this.currentPage), index.h("span", { class: "sd-pagination__divider" }, "/"), index.h("span", { class: "sd-pagination__last" }, this.lastPage))) : (index.h("div", { class: "sd-pagination__numbers" }, this.pageNumbers.map(n => (index.h("button", { type: "button", "aria-current": this.currentPage === n ? 'page' : undefined, class: {
158
158
  'sd-pagination__item': true,
159
159
  'sd-pagination__item--selected': this.currentPage === n,
160
- }, onClick: () => this.handlePageChange(n) }, n))))), index.h("div", { key: 'c8d21679938032bee223f6dfefff3a87dc5badec', class: "sd-pagination__group sd-pagination__group--next" }, this.renderNextButtons())));
160
+ }, onClick: () => this.handlePageChange(n) }, n))))), index.h("div", { key: '3128e19dee5f2d00fcc5603f96f323afaf2750d4', class: "sd-pagination__group sd-pagination__group--next" }, this.renderNextButtons())));
161
161
  }
162
162
  };
163
163
  SdPagination.style = sdPaginationCss();
@@ -204,11 +204,29 @@ const SdSelectV2 = class {
204
204
  hovered = false;
205
205
  update;
206
206
  dropDownShow;
207
+ async sdFocus() {
208
+ if (this.disabled)
209
+ return;
210
+ await this.triggerComponentRef?.sdFocus();
211
+ }
212
+ async sdOpen() {
213
+ // sdFocus 직후 호출 시 트리거 ref/레이아웃이 안정될 때까지 한 틱 대기
214
+ await new Promise(resolve => setTimeout(resolve, 0));
215
+ if (this.disabled || this.isOpen)
216
+ return;
217
+ this.prepareDropdownGeometry();
218
+ if (this.closeAnimationTimer)
219
+ clearTimeout(this.closeAnimationTimer);
220
+ this.isAnimatingOut = false;
221
+ this.isOpen = true;
222
+ }
207
223
  triggerRef;
224
+ triggerComponentRef;
208
225
  closeAnimationTimer;
209
226
  internalName = index$1.nanoid();
227
+ triggerHasFocus = false;
210
228
  watchIsOpen(newValue) {
211
- this.focused = newValue;
229
+ this.syncFocusedState(newValue);
212
230
  this.dropDownShow.emit({ isOpen: newValue });
213
231
  }
214
232
  get isMulti() {
@@ -216,19 +234,19 @@ const SdSelectV2 = class {
216
234
  }
217
235
  get displayText() {
218
236
  if (this.isMulti) {
219
- if (!this.value || !Array.isArray(this.value))
220
- return '';
221
- if (this.emitValue) {
222
- const flat = this.flattenOptions(this.options);
223
- return this.value
224
- .map(v => flat.find(o => o.value === v)?.label ?? '')
225
- .filter(Boolean)
226
- .join(', ');
227
- }
228
- const selected = this.value;
229
- if (selected.length === 0)
237
+ if (!Array.isArray(this.value) || this.value.length === 0)
230
238
  return '';
231
- return selected.map(s => s.label).join(', ');
239
+ const flat = this.flattenOptions(this.options);
240
+ return this.value
241
+ .map(item => {
242
+ if (item != null && typeof item === 'object') {
243
+ const opt = item;
244
+ return opt.label ?? flat.find(o => o.value === opt.value)?.label ?? '';
245
+ }
246
+ return flat.find(o => o.value === item)?.label ?? '';
247
+ })
248
+ .filter(Boolean)
249
+ .join(', ');
232
250
  }
233
251
  if (this.value == null)
234
252
  return '';
@@ -303,20 +321,33 @@ const SdSelectV2 = class {
303
321
  this.isAnimatingOut = false;
304
322
  }, SdSelectV2.CLOSE_ANIMATION_DURATION);
305
323
  }
306
- handleTriggerClick = () => {
324
+ prepareDropdownGeometry() {
307
325
  if (this.triggerRef) {
308
326
  this.triggerWidth = `${this.triggerRef.offsetWidth}px`;
309
327
  }
310
328
  this.updateDropdownViewportConstraints();
329
+ }
330
+ syncFocusedState(isOpen = this.isOpen) {
331
+ this.focused = isOpen || this.triggerHasFocus;
332
+ }
333
+ handleTriggerFocus = () => {
334
+ this.triggerHasFocus = true;
335
+ this.syncFocusedState();
336
+ };
337
+ handleTriggerBlur = () => {
338
+ this.triggerHasFocus = false;
339
+ this.syncFocusedState();
340
+ };
341
+ handleTriggerClick = () => {
311
342
  if (this.isOpen) {
312
343
  this.closeDropdown();
344
+ return;
313
345
  }
314
- else {
315
- if (this.closeAnimationTimer)
316
- clearTimeout(this.closeAnimationTimer);
317
- this.isAnimatingOut = false;
318
- this.isOpen = true;
319
- }
346
+ this.prepareDropdownGeometry();
347
+ if (this.closeAnimationTimer)
348
+ clearTimeout(this.closeAnimationTimer);
349
+ this.isAnimatingOut = false;
350
+ this.isOpen = true;
320
351
  };
321
352
  emitUpdate(value) {
322
353
  this.update.emit(value);
@@ -353,9 +384,7 @@ const SdSelectV2 = class {
353
384
  }
354
385
  else {
355
386
  const exists = selected.some(s => s.value === option.value);
356
- newSelected = exists
357
- ? selected.filter(s => s.value !== option.value)
358
- : [...selected, option];
387
+ newSelected = exists ? selected.filter(s => s.value !== option.value) : [...selected, option];
359
388
  }
360
389
  this.value = this.toMultiValue(newSelected);
361
390
  this.emitUpdate(this.value);
@@ -377,13 +406,15 @@ const SdSelectV2 = class {
377
406
  this.closeDropdown();
378
407
  },
379
408
  };
380
- return (index.h("sd-field", { key: '6074cfea700e1f3ea03aaedb0146d7dffdaa7101', name: this.fieldName || this.internalName, 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: () => {
409
+ return (index.h("sd-field", { key: '8c9b5a1414bd0bb068acd53e07a61767b6904c62', name: this.fieldName || this.internalName, 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: () => {
381
410
  this.hovered = true;
382
411
  }, onMouseLeave: () => {
383
412
  this.hovered = false;
384
- } }, index.h("div", { key: '4840cfcf19e262903110245f88b73f3f03713624', class: "sd-select-v2", ref: el => {
413
+ } }, index.h("div", { key: '47677529c530f06cb3a35a30dd4cc9f9a34d8759', class: "sd-select-v2", ref: el => {
385
414
  this.triggerRef = el;
386
- } }, index.h("sd-select-v2-trigger", { key: '4b34dd8007864623d17c80b4e5cea02aa4db954a', displayText: this.displayText, placeholder: this.placeholder, disabled: this.disabled, isOpen: this.isOpen, onSdTriggerClick: this.handleTriggerClick })), (this.isOpen || this.isAnimatingOut) && (index.h("sd-portal", { key: '7ec2c4ca8e32f877a894f9f766d3558c10d66596', ...portalProps }, index.h("sd-select-v2-listbox", { key: 'c804a19a142d2978d8fb4eaa33ad2a6a7028e7d3', 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) })))));
415
+ } }, index.h("sd-select-v2-trigger", { key: '3aae441a7ec1a6d8faa0f04f41881f515b641853', ref: el => {
416
+ this.triggerComponentRef = el;
417
+ }, 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: '7c92db46231f4c46ce94668ac220dc7ec14ad118', ...portalProps }, index.h("sd-select-v2-listbox", { key: 'af3fc60a9554573e50145edeb0ea8f412116fd76', 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) })))));
387
418
  }
388
419
  static get watchers() { return {
389
420
  "isOpen": [{
@@ -14,6 +14,7 @@ const sdPopoverCss = () => `sd-popover{position:relative;cursor:pointer;display:
14
14
  const SdPopover = class {
15
15
  constructor(hostRef) {
16
16
  index.registerInstance(this, hostRef);
17
+ this.showChange = index.createEvent(this, "sdShowChange", 7);
17
18
  }
18
19
  get el() { return index.getElement(this); }
19
20
  show = false;
@@ -28,20 +29,17 @@ const SdPopover = class {
28
29
  messages = [];
29
30
  buttons = [];
30
31
  menuClass = '';
31
- noHover = true;
32
32
  useClose = false;
33
- showPopover = false;
34
- slotContent = '';
35
- watchShowHandler(newValue) {
36
- this.showPopover = newValue;
37
- }
38
- componentWillLoad() {
39
- this.showPopover = this.show;
40
- this.slotContent = this.el.innerHTML;
41
- }
33
+ showChange;
42
34
  buttonEl;
35
+ setShow = (next) => {
36
+ if (this.show === next)
37
+ return;
38
+ this.show = next;
39
+ this.showChange.emit(next);
40
+ };
43
41
  get popoverOffset() {
44
- switch (this.placement) {
42
+ switch (this.placement ?? 'bottom') {
45
43
  case 'top':
46
44
  return [0, -4];
47
45
  case 'bottom':
@@ -52,24 +50,26 @@ const SdPopover = class {
52
50
  return [4, 0];
53
51
  }
54
52
  }
55
- handleClose = () => {
56
- this.showPopover = false;
57
- };
53
+ handleClose = () => this.setShow(false);
58
54
  render() {
59
- return (index.h(index.Fragment, { key: '32e3a11baabd4f4fc8c570311b99b2113e4ce3b0' }, this.label ? (index.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-popover", onSdClick: () => (this.showPopover = !this.showPopover) })) : (index.h("sd-icon", { ref: el => (this.buttonEl = el), name: this.icon, size: this.iconSize, color: this.color, class: "sd-popover", onClick: () => (this.showPopover = !this.showPopover) })), this.showPopover && (index.h("sd-floating-portal", { key: '8139e72f293319e4d5ed3fe67d4f47a03743b437', parentRef: this.buttonEl, onSdClose: this.handleClose, placement: this.placement, offset: this.popoverOffset }, index.h("div", { key: 'fdb76f4a9a54be08fdf0d352ff389453840c4789', class: {
55
+ const placement = this.placement ?? 'bottom';
56
+ const color = this.color ?? '#01BB4B';
57
+ const icon = this.icon ?? 'helpOutline';
58
+ const iconSize = this.iconSize ?? 12;
59
+ const buttonSize = this.buttonSize ?? 'sm';
60
+ const buttonVariant = this.buttonVariant ?? 'primary';
61
+ const menuClass = this.menuClass ?? '';
62
+ const messages = Array.isArray(this.messages) ? this.messages : [];
63
+ const buttons = Array.isArray(this.buttons) ? this.buttons : [];
64
+ return (index.h(index.Fragment, { key: 'e576deaacba9395c5aeb76fd13baa0dc1e908d38' }, this.label ? (index.h("sd-button", { ref: el => (this.buttonEl = el), label: this.label, icon: icon, size: buttonSize, color: color, variant: buttonVariant, class: "sd-popover", onSdClick: () => this.setShow(!this.show) })) : (index.h("sd-icon", { ref: el => (this.buttonEl = el), name: icon, size: iconSize, color: color, class: "sd-popover", onClick: () => this.setShow(!this.show) })), this.show && (index.h("sd-floating-portal", { key: '7520067b46527c22108292a659dd7e8fba85397c', parentRef: this.buttonEl, onSdClose: this.handleClose, placement: placement, offset: this.popoverOffset }, index.h("div", { key: 'ba48632dd93359851bd87f4d55f2341653b0caab', class: {
60
65
  'sd-floating-menu': true,
61
66
  'sd-floating-menu--popover': true,
62
- [`sd-floating-menu--${this.placement}`]: true,
63
- [this.menuClass]: !!this.menuClass,
67
+ [`sd-floating-menu--${placement}`]: true,
68
+ [menuClass]: !!menuClass,
64
69
  }, style: {
65
70
  '--sd-floating-bg': popoverTokens.popover.bg,
66
- } }, index.h("i", { key: '94cb19bdf7182cd311800ac4d3fdf49c61db75fb', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${this.placement}` }, index.h(tooltipArrow.TooltipArrow, { key: '67394b2b751c485fc7198a10d54df2659c6f222b' })), index.h("div", { key: '1d6e143a931c24f28ef68afbfe7b84e73d3288db', class: "sd-floating-menu__content" }, this.menuTitle && index.h("div", { key: '33d47a87e6cab23131f360f7ea07809cec942ec0', class: "sd-floating-menu__title" }, this.menuTitle), this.messages.length > 0 && (index.h("div", { key: '28006b8958d1921eefa42c6282b8e735ae3e9367', class: "sd-floating-menu__messages" }, this.messages.map(message => (index.h("div", null, message))))), this.buttons.length > 0 && (index.h("div", { key: '574604775790aa49591848eb5f86ca0c6735558f', class: `sd-floating-menu__buttons sd-floating-menu__buttons--${this.buttons.length}` }, this.buttons.map(button => (index.h("sd-button", { ...button })))))), this.useClose && (index.h("sd-ghost-button", { key: '027260d65fc575f480ce23e081b8b80ac8a1daea', class: "sd-floating-menu__close-button", icon: "close", ariaLabel: "close", size: "xs", onClick: () => this.handleClose() })))))));
71
+ } }, index.h("i", { key: 'fce80e5bc6f49f5dbc1772f910eae0fb9bc09a6b', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${placement}` }, index.h(tooltipArrow.TooltipArrow, { key: '32aaa3b00f7ac77d47fd2bc3c968a7a4c20102c6' })), index.h("div", { key: '29b3240126412070466acee7ee1d061d235ba51e', class: "sd-floating-menu__content" }, this.menuTitle && index.h("div", { key: '6cb5cf4531f573e93146a552b34831dc04851661', class: "sd-floating-menu__title" }, this.menuTitle), messages.length > 0 && (index.h("div", { key: 'ba15bb4efc4af37dd89b0da61539f516cc31a2f3', class: "sd-floating-menu__messages" }, messages.map((message, i) => (index.h("div", { key: `msg-${i}` }, message))))), buttons.length > 0 && (index.h("div", { key: '2656545909634d8c54e9d34155e699041b5512f5', class: `sd-floating-menu__buttons sd-floating-menu__buttons--${buttons.length}` }, buttons.map((button, i) => (index.h("sd-button", { key: `btn-${i}`, ...button })))))), this.useClose && (index.h("sd-ghost-button", { key: '315bf10dde1b7cde5727beb101a1a1ad07966138', class: "sd-floating-menu__close-button", icon: "close", ariaLabel: "close", size: "xs", onClick: this.handleClose })))))));
67
72
  }
68
- static get watchers() { return {
69
- "show": [{
70
- "watchShowHandler": 0
71
- }]
72
- }; }
73
73
  };
74
74
  SdPopover.style = sdPopoverCss();
75
75
 
@@ -227,7 +227,7 @@ const SdPortal = class {
227
227
  this.close.emit();
228
228
  }
229
229
  render() {
230
- return index.h("slot", { key: '394cce939280a171c13e875eaead3fbdd0163d5b' });
230
+ return index.h("slot", { key: 'fa3033a01d6c8f6878c91367b9670206ab5c71d7' });
231
231
  }
232
232
  static get watchers() { return {
233
233
  "open": [{
@@ -170,7 +170,7 @@ const SdRadioButton = class {
170
170
  '--sd-radio-button-content-select': RADIO_BUTTON_COLORS.content.select,
171
171
  '--sd-radio-button-content-disabled': RADIO_BUTTON_COLORS.content.disabled,
172
172
  };
173
- return (index.h("div", { key: 'f4ac83797b2661b0c2a612674911cbb0e41350a6', class: this.getGroupClasses(), style: cssVars, role: "radiogroup", "aria-disabled": this.disabled.toString() }, this.options.map(option => {
173
+ return (index.h("div", { key: '67c8e7ad03fb6ee4cabd06591e3e11e5d38914f0', class: this.getGroupClasses(), style: cssVars, role: "radiogroup", "aria-disabled": this.disabled.toString() }, this.options.map(option => {
174
174
  const isSelected = this.isOptionSelected(option);
175
175
  const isDisabled = this.isOptionDisabled(option);
176
176
  return (index.h("label", { key: `radio-${option.value}`, class: this.getButtonClasses(option), "aria-label": option.label || 'radio option', "data-label": option.label }, index.h("input", { type: "radio", name: this.groupName, value: option.value.toString(), checked: isSelected, disabled: isDisabled, onInput: () => this.handleRadioChange(option.value, option.disabled) }), option.label && index.h("span", { class: "sd-radio-button__label" }, option.label)));
@@ -31,7 +31,7 @@ const SdRadioGroup = class {
31
31
  return classes.join(' ');
32
32
  }
33
33
  render() {
34
- return (index.h("div", { key: '8b01aca15ce9452921f37ba648d2d47728b84f41', class: this.getGroupClasses(), role: "radiogroup" }, this.options.map(option => {
34
+ return (index.h("div", { key: '5f6559df018e48958103d0a84a0f074f81bd255a', class: this.getGroupClasses(), role: "radiogroup" }, this.options.map(option => {
35
35
  return (index.h("sd-radio", { key: `radio-${option.value}`, val: String(option.value), value: String(this.value), label: option.label, disabled: this.disabled || !!option.disabled, onSdUpdate: ({ detail }) => this.handleRadioChange(detail) }));
36
36
  })));
37
37
  }
@@ -118,7 +118,7 @@ const SdRadio = class {
118
118
  '--sd-radio-disabled-dot': RADIO_COLORS.disabled.dot,
119
119
  '--sd-radio-label-color': RADIO_COLORS.label,
120
120
  };
121
- return (index.h("label", { key: '2b7819249e5070a22b626530011db4a8e56194f1', class: this.radioClasses, style: cssVars, "aria-checked": this.isSelected ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false' }, index.h("input", { key: '233699a7c3bc13708d43ca3719f61edf53836c83', type: "radio", name: String(this.val), value: String(this.val), checked: this.isSelected, disabled: this.disabled, "aria-label": this.label || String(this.val), onInput: this.handleRadioChange }), index.h("span", { key: 'eb665c5f8c6202b66b65b6b120f144970fba0a38', class: "sd-radio__circle" }), this.label && index.h("span", { key: '3d0db13e083bacb4cb7ace9129fcfcd61f18dfc7', class: "sd-radio__label" }, this.label)));
121
+ return (index.h("label", { key: '2b809f1f3ce39e6dd2429cf1c48a935500287614', class: this.radioClasses, style: cssVars, "aria-checked": this.isSelected ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false' }, index.h("input", { key: '1f44ab44d741ef40152318ce6fd437bb091c3cfb', type: "radio", name: String(this.val), value: String(this.val), checked: this.isSelected, disabled: this.disabled, "aria-label": this.label || String(this.val), onInput: this.handleRadioChange }), index.h("span", { key: '941fddbb939a46afbe72c642d3b6f6f252f143f1', class: "sd-radio__circle" }), this.label && index.h("span", { key: 'e30139892e82b8da251525e3c717549a2b7522d0', class: "sd-radio__label" }, this.label)));
122
122
  }
123
123
  static get watchers() { return {
124
124
  "value": [{
@@ -398,7 +398,7 @@ const SdSelectMultipleGroup = class extends baseDropdownEvent.BaseDropdownEvent
398
398
  });
399
399
  }
400
400
  render() {
401
- return (index.h("sd-field", { key: '8e0cfc89b55809d3c5b556fc5c59077c2c952ad5', label: this.label, labelWidth: this.labelWidth, name: this.name, rules: this.rules, error: this.error, disabled: this.disabled, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), style: { '--field-width': this.width || '200px' } }, index.h("div", { key: '852a713b4c38c4845c407cb04801d9b0c33f0515', class: {
401
+ return (index.h("sd-field", { key: '4140b6529565f97fa65d81ae1462108476d52bcc', label: this.label, labelWidth: this.labelWidth, name: this.name, rules: this.rules, error: this.error, disabled: this.disabled, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), style: { '--field-width': this.width || '200px' } }, index.h("div", { key: '2dab2697f3e375d214b66464b0f57aa32e77757b', class: {
402
402
  'sd-select-multiple-group': true,
403
403
  'sd-select-multiple-group--open': this.isOpen,
404
404
  'sd-select-multiple-group--disabled': this.disabled,
@@ -426,13 +426,19 @@ const SdSelectV2Listbox = class {
426
426
  * `children` is emptied by `filterTree`; in that case we fall back to the
427
427
  * full original subtree because the user has no way to deselect descendants
428
428
  * individually.
429
+ *
430
+ * disabled 항목은 사용자가 토글할 수 없으므로 leaves 집합에서 제외한다.
431
+ * 호출처(그룹 토글 / 카운트 / indeterminate 판정)가 모두 동일하게 "실제
432
+ * 토글 가능한 leaves" 만 보도록 통일한다.
429
433
  */
430
434
  collectVisibleLeaves(option) {
435
+ if (option.disabled)
436
+ return [];
431
437
  if (!option.children)
432
438
  return [option];
433
439
  if (option.children.length === 0) {
434
440
  const original = this.findOriginalOption(option.value, this.options);
435
- return original ? this.collectLeaves(original) : [];
441
+ return original ? this.collectLeaves(original).filter(l => !l.disabled) : [];
436
442
  }
437
443
  return option.children.flatMap(child => this.collectVisibleLeaves(child));
438
444
  }
@@ -602,7 +608,7 @@ const SdSelectV2Listbox = class {
602
608
  '--listbox-max-height': this.maxHeight,
603
609
  '--listbox-radius': `${LIST_BOX_LAYOUT.radius}px`,
604
610
  };
605
- return (index.h("div", { key: 'ca3d529a4a20f394de1358cc0627c730843a8cf9', class: "sd-select-v2-listbox", style: cssVars }, this.showSearch && (index.h("sd-select-v2-list-item-search", { key: 'e7c421d676c6a94cc31b0df69a489818b26563e3', isScrolled: this.isScrolled, onSdSearchFilter: this.handleSearchFilter })), index.h("div", { key: 'f3f44e6df1fc8faf71c607cc0efb0d891dcbfb3d', class: "sd-select-v2-listbox__list", onScroll: this.handleScroll, ref: el => {
611
+ return (index.h("div", { key: '17ebae1a1589245944d7db5a05f2c011ad13e391', class: "sd-select-v2-listbox", style: cssVars }, this.showSearch && (index.h("sd-select-v2-list-item-search", { key: '181ddd3a11ebe3b81353d66111459c7929c5af0b', isScrolled: this.isScrolled, onSdSearchFilter: this.handleSearchFilter })), index.h("div", { key: '91114e82f60a6bdeb74142d6d7abea2871e6678e', class: "sd-select-v2-listbox__list", onScroll: this.handleScroll, ref: el => {
606
612
  this.listEl = el;
607
613
  } }, this.isEmpty ? (index.h("div", { class: "sd-select-v2-listbox__empty" }, EMPTY_MESSAGE)) : this.isDepth ? (this.renderOptions(this.filteredOptions)) : (this.filteredOptions.map(option => (index.h("sd-select-v2-list-item", { option: option, depth: 1, isSelected: this.isOptionSelected(option), isFocused: this.isOptionFocused(option), useCheckbox: this.isMulti, onSdListItemClick: this.handleOptionClick, onMouseEnter: () => this.handleOptionHover(option) })))))));
608
614
  }
@@ -620,17 +626,33 @@ const SdSelectV2Trigger = class {
620
626
  constructor(hostRef) {
621
627
  index.registerInstance(this, hostRef);
622
628
  this.triggerClick = index.createEvent(this, "sdTriggerClick", 7);
629
+ this.triggerFocus = index.createEvent(this, "sdTriggerFocus", 7);
630
+ this.triggerBlur = index.createEvent(this, "sdTriggerBlur", 7);
623
631
  }
624
632
  displayText = '';
625
633
  placeholder = '선택';
626
634
  disabled = false;
627
635
  isOpen = false;
628
636
  triggerClick;
637
+ triggerFocus;
638
+ triggerBlur;
639
+ triggerEl;
640
+ async sdFocus() {
641
+ if (this.disabled)
642
+ return;
643
+ this.triggerEl?.focus();
644
+ }
629
645
  handleClick = () => {
630
646
  if (this.disabled)
631
647
  return;
632
648
  this.triggerClick.emit();
633
649
  };
650
+ handleFocus = () => {
651
+ this.triggerFocus.emit();
652
+ };
653
+ handleBlur = () => {
654
+ this.triggerBlur.emit();
655
+ };
634
656
  render() {
635
657
  const hasValue = !!this.displayText;
636
658
  const cssVars = {
@@ -648,11 +670,13 @@ const SdSelectV2Trigger = class {
648
670
  ? SELECT_COLORS.icon.disabled
649
671
  : SELECT_COLORS.icon.default,
650
672
  };
651
- return (index.h("div", { key: '4b3f60a4bd00423337ebd472a628bc67f0a5d55c', class: {
673
+ return (index.h("div", { key: 'e5c4db3cfbaa29c0af7efd0376a972dee0e9db56', ref: el => {
674
+ this.triggerEl = el;
675
+ }, tabindex: this.disabled ? -1 : 0, class: {
652
676
  'sd-select-v2-trigger': true,
653
677
  'sd-select-v2-trigger--open': this.isOpen,
654
678
  'sd-select-v2-trigger--disabled': this.disabled,
655
- }, style: cssVars, onClick: this.handleClick }, index.h("div", { key: '8a6f9aa132aa6db4ba9035b3b97f91b4f29fa475', class: "sd-select-v2-trigger__content" }, index.h("span", { key: '3fb8fa054682eefc604623da9ecb906581cf1661', class: "sd-select-v2-trigger__text" }, hasValue ? this.displayText : this.placeholder), index.h("sd-icon", { key: 'c6ae918c442452018513a144a6f14613a49dedd4', name: "chevronDown", size: 12, color: "var(--trigger-icon-color)", class: {
679
+ }, style: cssVars, onClick: this.handleClick, onFocus: this.handleFocus, onBlur: this.handleBlur }, index.h("div", { key: '76a946a587f6245f8a21ecbf25c5a21895f35970', class: "sd-select-v2-trigger__content" }, index.h("span", { key: '3224e13cc49371e7bcd8095a8b08bd62d4f8b295', class: "sd-select-v2-trigger__text" }, hasValue ? this.displayText : this.placeholder), index.h("sd-icon", { key: 'ea81dc671b63b14040292ed2ff4084a9c9fc6fca', name: "chevronDown", size: 12, color: "var(--trigger-icon-color)", class: {
656
680
  'sd-select-v2-trigger__icon': true,
657
681
  'sd-select-v2-trigger__icon--open': this.isOpen,
658
682
  } }))));
@@ -148,7 +148,7 @@ const SdSelect = class extends baseDropdownEvent.BaseDropdownEvent {
148
148
  }
149
149
  };
150
150
  render() {
151
- return (index.h("sd-field", { key: 'bef5ef042c37b3abb97f8f5eafaee24d232132b7', label: this.label, labelWidth: this.labelWidth, name: this.name, rules: this.rules, error: this.error, disabled: this.disabled, icon: this.icon, addonLabel: this.addonLabel, addonAlign: this.addonAlign, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el) }, index.h("div", { key: '9046ecdd771380312e7be3797ccac28d2315cfbe', class: {
151
+ return (index.h("sd-field", { key: '6939161d0edb5eabca307b3883e02a53a29e66c4', label: this.label, labelWidth: this.labelWidth, name: this.name, rules: this.rules, error: this.error, disabled: this.disabled, icon: this.icon, addonLabel: this.addonLabel, addonAlign: this.addonAlign, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el) }, index.h("div", { key: 'a57d17cb3ff775c724f3a6c13025c04e031de45f', class: {
152
152
  'sd-select': true,
153
153
  'sd-select--disabled': this.disabled,
154
154
  'sd-select--error': !!this.error,
@@ -48,7 +48,7 @@ const SdTabs = class {
48
48
  return `square_xs_${color}`;
49
49
  }
50
50
  render() {
51
- return (index.h("div", { key: '62ace36515932f8889fc35121b6a8cf98fd9a314', class: this.getContainerClasses() }, this.tabs.map((tab, index$1) => {
51
+ return (index.h("div", { key: '85326c946694a115b466f07395872429c467d72f', class: this.getContainerClasses() }, this.tabs.map((tab, index$1) => {
52
52
  const badgeName = this.getBadgeName(tab);
53
53
  return (index.h("div", { key: `tab-${index$1}`, class: this.getTabClasses(tab), "aria-label": tab.label || 'tab', onClick: () => this.handleTabClick(tab.value) }, index.h("span", { "data-label": tab.label, class: "sd-tabs__label" }, tab.label), tab.badge && index.h("sd-tag", { name: badgeName, label: tab.badge.toString() })));
54
54
  })));
@@ -80,7 +80,7 @@ const DataTable = class {
80
80
  return el.innerHTML;
81
81
  }
82
82
  render() {
83
- return (index.h("div", { key: 'eb6246d49bb46a1c2b2b9d93cff90e7c0d6788b4', class: "table-wrapper" }, index.h("table", { key: '584d752e51f252f2dd7a29868ae4300b55c47065', class: { 'data-table': true, 'bordered': this.bordered, 'striped': this.striped } }, index.h("thead", { key: 'fd35de9ad1cb79cf77ab9f7a806d2d7258d8b11b' }, index.h("tr", { key: '39a42d9fc76571aa5ef6073ec554471d5fd1b4c1' }, this.columns.map(column => (index.h("th", { key: column.field, style: { width: column.width } }, this.renderHeaderContent(column)))))), index.h("tbody", { key: '5c3a2b5853f619666b20145e0f7a221c75969071' }, this.rows.map((row, rowIndex) => (index.h("tr", { key: rowIndex }, this.columns.map(column => (index.h("td", { key: `${rowIndex}-${column.field}` }, this.renderCellContent(column, row, rowIndex))))))))), index.h("div", { key: 'bbbd15c2d1b517774340dbcdfb59338f260df21b', class: "templates-slot", hidden: true }, index.h("slot", { key: '28733f09dd4a90976d9bb60102039981c736cf87' }))));
83
+ return (index.h("div", { key: '2aaa005ce2516e841fdace352e9d8cf2b98cbde4', class: "table-wrapper" }, index.h("table", { key: '3b13c885dc0cefd1c2b7de3c336d803099009063', class: { 'data-table': true, 'bordered': this.bordered, 'striped': this.striped } }, index.h("thead", { key: 'a866c3ce695250fc6b220044955c6fafa68f5647' }, index.h("tr", { key: '465974d2bd2f39114cabda226aba8645d79b4a68' }, this.columns.map(column => (index.h("th", { key: column.field, style: { width: column.width } }, this.renderHeaderContent(column)))))), index.h("tbody", { key: '4b0a96da5bf54404774fca7bb9136561ddc57170' }, this.rows.map((row, rowIndex) => (index.h("tr", { key: rowIndex }, this.columns.map(column => (index.h("td", { key: `${rowIndex}-${column.field}` }, this.renderCellContent(column, row, rowIndex))))))))), index.h("div", { key: '1deba9664748b1953a65b2d7badc4b2e813ab2eb', class: "templates-slot", hidden: true }, index.h("slot", { key: '782d4ef14b8e6068e1d96a55af5f0b16af33dc0f' }))));
84
84
  }
85
85
  static get watchers() { return {
86
86
  "columns": [{
@@ -7,6 +7,7 @@
7
7
  "components/sd-date-range-picker/sd-date-range-picker.js",
8
8
  "components/sd-form/sd-form.js",
9
9
  "components/sd-guide/sd-guide.js",
10
+ "components/sd-popover/sd-popover.js",
10
11
  "components/sd-radio/sd-radio.js",
11
12
  "components/sd-radio-button/sd-radio-button.js",
12
13
  "components/sd-radio-group/sd-radio-group.js",
@@ -39,7 +40,6 @@
39
40
  "components/sd-modal-container/sd-modal-container.js",
40
41
  "components/sd-number-input/sd-number-input.js",
41
42
  "components/sd-pagination/sd-pagination.js",
42
- "components/sd-popover/sd-popover.js",
43
43
  "components/sd-progress/sd-progress.js",
44
44
  "components/sd-select/sd-select-dropdown/sd-select-dropdown.js",
45
45
  "components/sd-select/sd-select-option/sd-select-option.js",
@@ -39,7 +39,7 @@ export class SdActionModal {
39
39
  if (this.height != null && this.height !== '') {
40
40
  sizeStyle.height = typeof this.height === 'number' ? `${this.height}px` : this.height;
41
41
  }
42
- return (h("div", { key: '85e107137d01ef0a8fd8a839d7223c5163cb1a30', class: "sd-action-modal", style: { ...cssVars, ...sizeStyle } }, h("header", { key: '00d31be3a53866ecb5b72e76550c9501cdf6a106', class: "sd-action-modal__header" }, h("h2", { key: '4e4d000f6261ee2147a3d943d5aedc41afe1b30c', class: "sd-action-modal__title" }, this.modalTitle), h("div", { key: 'f6df02450472e1969f5a96822058d2384af78a8a', class: "sd-action-modal__header-sub" }, h("slot", { key: 'ffb45a725e9e3c8ee56534ba3286897eaf33b844', name: "header-sub-title" })), h("sd-ghost-button", { key: '26f68005c1b1ae18991a4da802cbfbd027af8536', class: "sd-action-modal__close", icon: "close", ariaLabel: "close", onClick: () => this.close.emit() })), h("div", { key: 'ebc57d5a90530acf465fef3866d63d95e8bf8311', class: "sd-action-modal__body" }, h("slot", { key: 'a55744951a9812373adabbb7d3db8c06b25f5c72', name: "body" })), (this.buttonProps != null || this.buttonProps != undefined) && (h("footer", { key: '1aef0ac810ba08682c9b8cea47a48e4679a17ee0', class: "sd-action-modal__footer" }, h("div", { key: 'eeeec98e930aa71fcfdd28a1d76a842083c6a185', class: "sd-action-modal__footer-sub" }, h("slot", { key: '7015d9593c5567824f40ab4c60ca2be8ac5f5989', name: "bottom-sub-content" })), h("sd-button-v2", { key: 'c35ea44b195fd7725cb914cf3f04db9389abdfe3', ...DEFAULT_BUTTON_PROPS, ...this.buttonProps, onSdClick: () => this.ok.emit() })))));
42
+ return (h("div", { key: '45997c9b1e10845c4d04528911147bc1d7192dd6', class: "sd-action-modal", style: { ...cssVars, ...sizeStyle } }, h("header", { key: '838bfdc66c52fffb7f226a2a1eb0bdd4a2a8addc', class: "sd-action-modal__header" }, h("h2", { key: 'e17e9c7954d0217071e2c21aa030f3abcc0a584f', class: "sd-action-modal__title" }, this.modalTitle), h("div", { key: 'e81bbfa0bcabba237be8364a40a71c38a4120af1', class: "sd-action-modal__header-sub" }, h("slot", { key: 'b98817a60a874897acd209e7184690f04678a5ca', name: "header-sub-title" })), h("sd-ghost-button", { key: '3b99fd3a4f3e795e5192fe9b41de8b97a40f80d0', class: "sd-action-modal__close", icon: "close", ariaLabel: "close", onClick: () => this.close.emit() })), h("div", { key: 'f499d92ecc3adeed3da427ae8bbdc0c6d7edf37b', class: "sd-action-modal__body" }, h("slot", { key: 'dd05e8f95be6aa98a84d5752c89dad9a28695601', name: "body" })), (this.buttonProps != null || this.buttonProps != undefined) && (h("footer", { key: '43b2338654d3a56aced7029749b0e03f0427545f', class: "sd-action-modal__footer" }, h("div", { key: '6308a79ed13017ee2c5a71d7dbf49a7da6bd775f', class: "sd-action-modal__footer-sub" }, h("slot", { key: 'f3764684c374d82a31cbd65333bb0f69eb6f2f1b', name: "bottom-sub-content" })), h("sd-button-v2", { key: '42a2b3068574b56172b0138076f49167da8e6625', ...DEFAULT_BUTTON_PROPS, ...this.buttonProps, onSdClick: () => this.ok.emit() })))));
43
43
  }
44
44
  static get is() { return "sd-action-modal"; }
45
45
  static get originalStyleUrls() {
@@ -5,7 +5,7 @@ export class SdBadge {
5
5
  label = '';
6
6
  render() {
7
7
  const resolvedColor = BADGE_COLOR_MAP[this.color] ?? BADGE_COLOR_MAP.blue;
8
- return (h("div", { key: 'a4b84e172a57763fbef2feedaf52c1e8c219250d', class: "sd-badge", style: { '--sd-badge-color': resolvedColor } }, h("div", { key: '723edda0c397241af91ccfc62d14cbfc131456cf', class: "sd-badge__dot" }), h("div", { key: '80415403bea863a62ad5d8139cfcf8951bedee49', class: "sd-badge__label" }, this.label)));
8
+ return (h("div", { key: '25c24499f0474cad07059347491dd38dc4f59025', class: "sd-badge", style: { '--sd-badge-color': resolvedColor } }, h("div", { key: '7580873ce298cf669a198c277bd4e6812e7c4120', class: "sd-badge__dot" }), h("div", { key: '6c2b8e63a490a3f538cd98749283a5decde63ca6', class: "sd-badge__label" }, this.label)));
9
9
  }
10
10
  static get is() { return "sd-badge"; }
11
11
  static get originalStyleUrls() {
@@ -102,7 +102,7 @@ export class SdBarcodeInput {
102
102
  '--sd-system-radius-field-sm': `${sizeTokens.radius}px`,
103
103
  '--sd-system-color-field-bg-default': BARCODE_INPUT_COLORS.bg.barcode,
104
104
  };
105
- return (h("sd-field", { key: '876c4e2cd41e62cd5486b7dec5ca1b34d10704b9', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, status: this.status, size: this.size, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, h("label", { key: 'e01920c2565e1f4487ccd516f864b9f68fa0cfd8', class: "sd-barcode-input__content" }, h("slot", { key: 'd7be8745d6b0f510a11c88e1ca629f78fbc77348', name: "prefix" }), h("input", { key: 'f214f2930fc54a0466a10ce295e46885352e0e88', name: this.name, ref: el => (this.nativeEl = el), class: `sd-barcode-input__native ${this.inputClass}`, type: "text", value: this.internalValue || '', placeholder: this.placeholder, disabled: this.disabled, readonly: this.readonly, autofocus: this.autoFocus, onInput: this.handleInput, onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event), style: this.inputStyle }), h("slot", { key: 'a226a2c7ec43951ab9f048f8da25542784233e65', name: "suffix" }), this.clearable && this.internalValue && (h("sd-ghost-button", { key: 'ff7f8853b43401f3bf4be051e69d8c459ca418aa', icon: "close", ariaLabel: "clear", size: "xxs", disabled: this.disabled, class: "sd-barcode-input__clear-icon", onClick: async () => {
105
+ return (h("sd-field", { key: '5e1e5e5ba201ea743fa83df03f7712d7141332e7', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, status: this.status, size: this.size, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, h("label", { key: '4b8d82acd91c247b148d1b16f3b3c9d4e69c178f', class: "sd-barcode-input__content" }, h("slot", { key: '0fb54ff8ebca25f348f1fdbb7b29f5e391beea9e', name: "prefix" }), h("input", { key: '9c1e3fd1bfa35cc663838dc0dc737497525a8aa6', name: this.name, ref: el => (this.nativeEl = el), class: `sd-barcode-input__native ${this.inputClass}`, type: "text", value: this.internalValue || '', placeholder: this.placeholder, disabled: this.disabled, readonly: this.readonly, autofocus: this.autoFocus, onInput: this.handleInput, onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event), style: this.inputStyle }), h("slot", { key: '6e060c721546d34ce6137986ba7204df90a55f51', name: "suffix" }), this.clearable && this.internalValue && (h("sd-ghost-button", { key: 'ded4ca906d1f25bbc80a7ba8e090eb24f507bb09', icon: "close", ariaLabel: "clear", size: "xxs", disabled: this.disabled, class: "sd-barcode-input__clear-icon", onClick: async () => {
106
106
  if (this.disabled)
107
107
  return;
108
108
  this.internalValue = '';