@sellmate/design-system 1.6.0 → 1.7.1

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 (183) 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_2.cjs.entry.js +2 -2
  7. package/dist/cjs/sd-calendar_2.cjs.entry.js +5 -5
  8. package/dist/cjs/sd-callout.cjs.entry.js +1 -1
  9. package/dist/cjs/sd-card.cjs.entry.js +1 -1
  10. package/dist/cjs/sd-chip.cjs.entry.js +4 -4
  11. package/dist/cjs/sd-circle-progress.cjs.entry.js +1 -1
  12. package/dist/cjs/sd-confirm-modal_2.cjs.entry.js +4 -3
  13. package/dist/cjs/sd-date-picker_7.cjs.entry.js +48 -20
  14. package/dist/cjs/sd-date-range-picker-calendar.cjs.entry.js +1 -1
  15. package/dist/cjs/sd-field_3.cjs.entry.js +5 -4
  16. package/dist/cjs/sd-ghost-button.cjs.entry.js +2 -2
  17. package/dist/cjs/sd-guide.cjs.entry.js +2 -2
  18. package/dist/cjs/sd-modal-container.cjs.entry.js +3 -0
  19. package/dist/cjs/sd-popover.cjs.entry.js +8 -5
  20. package/dist/cjs/sd-portal.cjs.entry.js +1 -1
  21. package/dist/cjs/sd-radio-button.cjs.entry.js +1 -1
  22. package/dist/cjs/sd-radio.cjs.entry.js +1 -1
  23. package/dist/cjs/sd-tag.cjs.entry.js +2 -2
  24. package/dist/cjs/sd-text-link.cjs.entry.js +3 -3
  25. package/dist/collection/components/sd-action-modal/sd-action-modal.js +1 -1
  26. package/dist/collection/components/sd-badge/sd-badge.js +1 -1
  27. package/dist/collection/components/sd-barcode-input/sd-barcode-input.js +1 -1
  28. package/dist/collection/components/sd-button/sd-button.js +2 -2
  29. package/dist/collection/components/sd-calendar/sd-calendar.js +3 -3
  30. package/dist/collection/components/sd-callout/sd-callout.js +1 -1
  31. package/dist/collection/components/sd-card/sd-card.js +1 -1
  32. package/dist/collection/components/sd-chip/sd-chip.js +4 -4
  33. package/dist/collection/components/sd-circle-progress/sd-circle-progress.js +1 -1
  34. package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.js +2 -2
  35. package/dist/collection/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.js +2 -2
  36. package/dist/collection/components/sd-date-picker/sd-date-picker.js +2 -2
  37. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.js +1 -1
  38. package/dist/collection/components/sd-field/sd-field.js +5 -4
  39. package/dist/collection/components/sd-file-picker/sd-file-picker.css +15 -1
  40. package/dist/collection/components/sd-file-picker/sd-file-picker.js +44 -16
  41. package/dist/collection/components/sd-ghost-button/sd-ghost-button.js +2 -2
  42. package/dist/collection/components/sd-guide/sd-guide.js +2 -2
  43. package/dist/collection/components/sd-loading-modal/sd-loading-modal.js +21 -1
  44. package/dist/collection/components/sd-modal-container/sd-modal-container.js +3 -0
  45. package/dist/collection/components/sd-popover/sd-popover.js +13 -23
  46. package/dist/collection/components/sd-portal/sd-portal.js +1 -1
  47. package/dist/collection/components/sd-radio/sd-radio.js +1 -1
  48. package/dist/collection/components/sd-radio-button/sd-radio-button.js +1 -1
  49. package/dist/collection/components/sd-radio-group/sd-radio-group.js +1 -1
  50. package/dist/collection/components/sd-tag/sd-tag.js +2 -2
  51. package/dist/collection/components/sd-text-link/sd-text-link.js +3 -3
  52. package/dist/components/{p-BNUsawW7.js → p-2z2c2umH.js} +1 -1
  53. package/dist/components/{p-BDJJQALT.js → p-B45aOf4I.js} +1 -1
  54. package/dist/components/{p-CSbyXQa9.js → p-B6G64i5a.js} +1 -1
  55. package/dist/components/{p-CRq8zgt_.js → p-B6JOxZKP.js} +1 -1
  56. package/dist/components/{p-CAP-9lnL.js → p-B6L3bPm2.js} +1 -1
  57. package/dist/components/{p-z564gmGG.js → p-BWJtQGYo.js} +1 -1
  58. package/dist/components/{p-BqYASycS.js → p-Bhh7ig9Q.js} +1 -1
  59. package/dist/components/p-C8c6MuKQ.js +1 -0
  60. package/dist/components/{p-BYRvYsiC.js → p-CTuKWVTh.js} +1 -1
  61. package/dist/components/{p-CJRGLvgC.js → p-CkR5oiLy.js} +1 -1
  62. package/dist/components/{p-CK6jFkqR.js → p-CwRItc2J.js} +1 -1
  63. package/dist/components/{p-BYU3wOaN.js → p-D6cUtm8p.js} +1 -1
  64. package/dist/components/{p-2aQ4cVXp.js → p-DCFqtVBm.js} +1 -1
  65. package/dist/components/{p-D4mjSR0u.js → p-DISZkQqT.js} +1 -1
  66. package/dist/components/p-DMrXwfmf.js +1 -0
  67. package/dist/components/p-DhmsCQrB.js +1 -0
  68. package/dist/components/{p-DfKa36bs.js → p-DhtKHJ7-.js} +1 -1
  69. package/dist/components/p-DmDGMDzt.js +1 -0
  70. package/dist/components/{p-BZRMoE3E.js → p-I9SoAcVO.js} +1 -1
  71. package/dist/components/{p-DZ_3ZYMC.js → p-ZSGGRCNc.js} +1 -1
  72. package/dist/components/{p-sRzhIrJR.js → p-cX2DD74L.js} +1 -1
  73. package/dist/components/{p-BCeq6-MU.js → p-f10Mw7qM.js} +1 -1
  74. package/dist/components/p-p4bNikji.js +1 -0
  75. package/dist/components/{p-B_2U9h3P.js → p-wLoP3KMv.js} +1 -1
  76. package/dist/components/{p-BE-21GLH.js → p-y_6iWhDy.js} +1 -1
  77. package/dist/components/sd-action-modal.js +1 -1
  78. package/dist/components/sd-badge.js +1 -1
  79. package/dist/components/sd-barcode-input.js +1 -1
  80. package/dist/components/sd-button.js +1 -1
  81. package/dist/components/sd-calendar.js +1 -1
  82. package/dist/components/sd-callout.js +1 -1
  83. package/dist/components/sd-card.js +1 -1
  84. package/dist/components/sd-chip.js +1 -1
  85. package/dist/components/sd-circle-progress.js +1 -1
  86. package/dist/components/sd-confirm-modal.js +1 -1
  87. package/dist/components/sd-date-picker-trigger.js +1 -1
  88. package/dist/components/sd-date-picker.js +1 -1
  89. package/dist/components/sd-date-range-picker-calendar.js +1 -1
  90. package/dist/components/sd-date-range-picker.js +1 -1
  91. package/dist/components/sd-dropdown-button.js +1 -1
  92. package/dist/components/sd-field.js +1 -1
  93. package/dist/components/sd-file-picker.js +1 -1
  94. package/dist/components/sd-ghost-button.js +1 -1
  95. package/dist/components/sd-guide.js +1 -1
  96. package/dist/components/sd-input.js +1 -1
  97. package/dist/components/sd-key-value-table.js +1 -1
  98. package/dist/components/sd-loading-container.js +1 -1
  99. package/dist/components/sd-loading-modal.js +1 -1
  100. package/dist/components/sd-modal-container.js +1 -1
  101. package/dist/components/sd-number-input.js +1 -1
  102. package/dist/components/sd-popover.js +1 -1
  103. package/dist/components/sd-popup.js +1 -1
  104. package/dist/components/sd-portal.js +1 -1
  105. package/dist/components/sd-radio-button.js +1 -1
  106. package/dist/components/sd-radio-group.js +1 -1
  107. package/dist/components/sd-radio.js +1 -1
  108. package/dist/components/sd-select.js +1 -1
  109. package/dist/components/sd-table.js +1 -1
  110. package/dist/components/sd-tabs.js +1 -1
  111. package/dist/components/sd-tag.js +1 -1
  112. package/dist/components/sd-text-link.js +1 -1
  113. package/dist/components/sd-textarea.js +1 -1
  114. package/dist/components/sd-thead.js +1 -1
  115. package/dist/components/sd-toast-container.js +1 -1
  116. package/dist/components/sd-toast.js +1 -1
  117. package/dist/components/sd-tooltip.js +1 -1
  118. package/dist/design-system/design-system.esm.js +1 -1
  119. package/dist/design-system/p-0de5a53b.entry.js +1 -0
  120. package/dist/design-system/{p-ea17a361.entry.js → p-2d3d25bd.entry.js} +1 -1
  121. package/dist/design-system/p-3e2b5e01.entry.js +1 -0
  122. package/dist/design-system/{p-840f592d.entry.js → p-46faa7ed.entry.js} +1 -1
  123. package/dist/design-system/{p-b08ca29b.entry.js → p-4c3ead1b.entry.js} +1 -1
  124. package/dist/design-system/{p-a6c9baa5.entry.js → p-5c4fd9c1.entry.js} +1 -1
  125. package/dist/design-system/{p-eef5f8d7.entry.js → p-5d5d8220.entry.js} +1 -1
  126. package/dist/design-system/p-60b80bf3.entry.js +1 -0
  127. package/dist/design-system/{p-8d2815cf.entry.js → p-74b3e95b.entry.js} +1 -1
  128. package/dist/design-system/{p-0964c79a.entry.js → p-78b0b759.entry.js} +1 -1
  129. package/dist/design-system/p-78c2fd6d.entry.js +1 -0
  130. package/dist/design-system/p-8674d868.entry.js +1 -0
  131. package/dist/design-system/{p-17883b40.entry.js → p-9d34518e.entry.js} +1 -1
  132. package/dist/design-system/{p-696764b0.entry.js → p-9e75a5dc.entry.js} +1 -1
  133. package/dist/design-system/p-bd4e5141.entry.js +1 -0
  134. package/dist/design-system/{p-70f47e43.entry.js → p-c1bac61e.entry.js} +1 -1
  135. package/dist/design-system/{p-7444d475.entry.js → p-cffa6da7.entry.js} +1 -1
  136. package/dist/design-system/{p-1743651a.entry.js → p-e81cb8c9.entry.js} +1 -1
  137. package/dist/design-system/{p-e9079238.entry.js → p-ea586c5e.entry.js} +1 -1
  138. package/dist/design-system/{p-733aa107.entry.js → p-f14962bd.entry.js} +1 -1
  139. package/dist/design-system/{p-521e5d2e.entry.js → p-f3dff8b8.entry.js} +1 -1
  140. package/dist/design-system/{p-afdca5bb.entry.js → p-fc6da22d.entry.js} +1 -1
  141. package/dist/esm/design-system.js +1 -1
  142. package/dist/esm/loader.js +1 -1
  143. package/dist/esm/sd-action-modal.entry.js +1 -1
  144. package/dist/esm/sd-badge.entry.js +1 -1
  145. package/dist/esm/sd-barcode-input.entry.js +1 -1
  146. package/dist/esm/sd-button_2.entry.js +2 -2
  147. package/dist/esm/sd-calendar_2.entry.js +5 -5
  148. package/dist/esm/sd-callout.entry.js +1 -1
  149. package/dist/esm/sd-card.entry.js +1 -1
  150. package/dist/esm/sd-chip.entry.js +4 -4
  151. package/dist/esm/sd-circle-progress.entry.js +1 -1
  152. package/dist/esm/sd-confirm-modal_2.entry.js +4 -3
  153. package/dist/esm/sd-date-picker_7.entry.js +48 -20
  154. package/dist/esm/sd-date-range-picker-calendar.entry.js +1 -1
  155. package/dist/esm/sd-field_3.entry.js +5 -4
  156. package/dist/esm/sd-ghost-button.entry.js +2 -2
  157. package/dist/esm/sd-guide.entry.js +2 -2
  158. package/dist/esm/sd-modal-container.entry.js +3 -0
  159. package/dist/esm/sd-popover.entry.js +8 -5
  160. package/dist/esm/sd-portal.entry.js +1 -1
  161. package/dist/esm/sd-radio-button.entry.js +1 -1
  162. package/dist/esm/sd-radio.entry.js +1 -1
  163. package/dist/esm/sd-tag.entry.js +2 -2
  164. package/dist/esm/sd-text-link.entry.js +3 -3
  165. package/dist/types/components/sd-chip/sd-chip.d.ts +1 -1
  166. package/dist/types/components/sd-file-picker/sd-file-picker.d.ts +3 -0
  167. package/dist/types/components/sd-loading-modal/sd-loading-modal.d.ts +1 -0
  168. package/dist/types/components/sd-modal-container/sd-modal-container.config.d.ts +1 -0
  169. package/dist/types/components/sd-popover/sd-popover.d.ts +2 -1
  170. package/dist/types/components.d.ts +3 -8
  171. package/hydrate/index.js +102 -65
  172. package/hydrate/index.mjs +102 -65
  173. package/package.json +1 -1
  174. package/dist/components/p-BUW6I_d5.js +0 -1
  175. package/dist/components/p-DSIM5Mkt.js +0 -1
  176. package/dist/components/p-Dwko_Bx3.js +0 -1
  177. package/dist/components/p-pTx5xpqU.js +0 -1
  178. package/dist/design-system/p-20a2e0d2.entry.js +0 -1
  179. package/dist/design-system/p-3a848c36.entry.js +0 -1
  180. package/dist/design-system/p-4bd9f005.entry.js +0 -1
  181. package/dist/design-system/p-4cf1c8ae.entry.js +0 -1
  182. package/dist/design-system/p-c5c4a66b.entry.js +0 -1
  183. package/dist/design-system/p-f97b75d3.entry.js +0 -1
@@ -103,9 +103,9 @@ const SdDatePicker = class {
103
103
  '--sd-system-color-field-border-focus': DATEPICKER_COLORS.border.focus,
104
104
  '--sd-system-color-field-bg-default': DATEPICKER_COLORS.bg.default,
105
105
  };
106
- return (h("sd-field", { key: '35d821e9a21a09e4b2dc0d47f9a95d895c4f9dc4', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, size: this.size, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, h("div", { key: '21fe3c0ab5dff10265139111de741216fb06e4e4', class: "sd-date-picker", ref: el => {
106
+ return (h("sd-field", { key: '12d77a181caa4a6a9125db8a5c823149386ee059', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, size: this.size, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, h("div", { key: '2abc775817955caf06dd721d7b91c65d1bfd54de', class: "sd-date-picker", ref: el => {
107
107
  this.triggerRef = el;
108
- } }, h("sd-date-picker-trigger", { key: 'b9fd9b90afa512aefdd4b227c66d0b4660b69318', displayText: this.value ?? '', placeholder: this.placeholder, disabled: this.disabled, size: this.size, onSdTriggerClick: this.handleTriggerClick })), (this.isOpen || this.isAnimatingOut) && (h("sd-portal", { key: 'b6e439d2b507922cc2e345fe1fba856d77441cbc', open: this.isOpen, parentRef: this.triggerRef, onSdClose: () => this.closeDropdown() }, h("sd-calendar", { key: 'ae09060fec5542b9e30d051133f4bca3c772f5d9', elevated: true, value: this.value, selectable: this.selectable, onSdUpdate: this.handleSelect, onSdViewChange: this.handleViewChange })))));
108
+ } }, h("sd-date-picker-trigger", { key: 'c8c041a503785e35ac4a14d902eeef0a20fa2dd7', displayText: this.value ?? '', placeholder: this.placeholder, disabled: this.disabled, size: this.size, onSdTriggerClick: this.handleTriggerClick })), (this.isOpen || this.isAnimatingOut) && (h("sd-portal", { key: '2c3bf831068ca090247fa4494fac6c2ce3b20e81', open: this.isOpen, parentRef: this.triggerRef, onSdClose: () => this.closeDropdown() }, h("sd-calendar", { key: '52df44d23b85540cbca17c352aba5568ff43685d', elevated: true, value: this.value, selectable: this.selectable, onSdUpdate: this.handleSelect, onSdViewChange: this.handleViewChange })))));
109
109
  }
110
110
  static get watchers() { return {
111
111
  "isOpen": [{
@@ -274,7 +274,7 @@ const FILE_PICKER_COLORS = {
274
274
  },
275
275
  };
276
276
 
277
- const sdFilePickerCss = () => `sd-file-picker{display:inline-flex;width:100%}.sd-file-picker__content{width:100%;height:100%;display:flex;align-items:center;padding:0 var(--sd-file-picker-padding-x);gap:var(--sd-file-picker-gap);cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;vertical-align:middle}.sd-file-picker__text{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:var(--sd-file-picker-font-weight);font-size:var(--sd-file-picker-font-size);line-height:var(--sd-file-picker-line-height);color:var(--sd-file-picker-placeholder-color)}.sd-file-picker__text--active{color:var(--sd-file-picker-text-color)}.sd-file-picker__text--placeholder{color:var(--sd-file-picker-placeholder-color)}.sd-file-picker__icon{flex-shrink:0}.sd-file-picker__clear-icon{flex-shrink:0;cursor:pointer;transition:opacity 0.2s ease}.sd-file-picker__clear-icon:hover{opacity:0.7}.sd-file-picker__input{display:none}.sd-file-picker__tooltip{position:absolute;top:calc(100% - 4px);left:50%;transform:translate(-50%);z-index:998;white-space:nowrap;padding:8px 12px;background:rgba(0, 0, 0, 0.8);color:white;font-size:12px;line-height:18px;border-radius:4px;pointer-events:none}.sd-field--disabled .sd-file-picker__content{cursor:not-allowed}.sd-field--disabled .sd-file-picker__text{color:var(--sd-file-picker-disabled-color)}.sd-file-picker--inline .sd-file-picker__content{border:none;background-color:transparent;padding:0;height:auto}.sd-file-picker--inline .sd-file-picker__text{color:var(--sd-file-picker-placeholder-color)}.sd-file-picker--inline:hover:not(.sd-file-picker--inline-disabled) .sd-file-picker__text{color:var(--sd-file-picker-text-color)}.sd-file-picker--inline .sd-file-picker__text--active{color:var(--sd-file-picker-text-color)}.sd-file-picker--inline.sd-file-picker--inline-disabled .sd-file-picker__content{cursor:not-allowed}.sd-file-picker--inline.sd-file-picker--inline-disabled .sd-file-picker__text{color:var(--sd-file-picker-disabled-color)}`;
277
+ const sdFilePickerCss = () => `sd-file-picker{display:flex;flex-direction:column;width:100%}.sd-file-picker__wrapper{display:flex;flex-direction:column;width:100%}.sd-file-picker__chip-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.sd-file-picker__content{width:100%;height:100%;display:flex;align-items:center;padding:0 var(--sd-file-picker-padding-x);gap:var(--sd-file-picker-gap);cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;vertical-align:middle}.sd-file-picker__text{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:var(--sd-file-picker-font-weight);font-size:var(--sd-file-picker-font-size);line-height:var(--sd-file-picker-line-height);color:var(--sd-file-picker-placeholder-color)}.sd-file-picker__text--active{color:var(--sd-file-picker-text-color)}.sd-file-picker__text--placeholder{color:var(--sd-file-picker-placeholder-color)}.sd-file-picker__icon{flex-shrink:0}.sd-file-picker__clear-icon{flex-shrink:0;cursor:pointer;transition:opacity 0.2s ease}.sd-file-picker__clear-icon:hover{opacity:0.7}.sd-file-picker__input{display:none}.sd-file-picker__tooltip{position:absolute;top:calc(100% - 4px);left:50%;transform:translate(-50%);z-index:998;white-space:nowrap;padding:8px 12px;background:rgba(0, 0, 0, 0.8);color:white;font-size:12px;line-height:18px;border-radius:4px;pointer-events:none}.sd-field--disabled .sd-file-picker__content{cursor:not-allowed}.sd-field--disabled .sd-file-picker__text{color:var(--sd-file-picker-disabled-color)}.sd-file-picker--inline .sd-file-picker__content{border:none;background-color:transparent;padding:0;height:auto}.sd-file-picker--inline .sd-file-picker__text{color:var(--sd-file-picker-placeholder-color)}.sd-file-picker--inline:hover:not(.sd-file-picker--inline-disabled) .sd-file-picker__text{color:var(--sd-file-picker-text-color)}.sd-file-picker--inline .sd-file-picker__text--active{color:var(--sd-file-picker-text-color)}.sd-file-picker--inline.sd-file-picker--inline-disabled .sd-file-picker__content{cursor:not-allowed}.sd-file-picker--inline.sd-file-picker--inline-disabled .sd-file-picker__text{color:var(--sd-file-picker-disabled-color)}`;
278
278
 
279
279
  const SdFilePicker = class {
280
280
  constructor(hostRef) {
@@ -345,11 +345,11 @@ const SdFilePicker = class {
345
345
  return undefined;
346
346
  return typeof value === 'string' ? Number(value) : value;
347
347
  }
348
- validateFiles(files) {
348
+ validateFiles(files, existingCount = 0) {
349
349
  const maxFileSize = this.toBytes(this.maxFileSize);
350
350
  const maxTotalSize = this.toBytes(this.maxTotalSize);
351
351
  const maxFiles = this.maxFiles != null ? Number(this.maxFiles) : undefined;
352
- if (maxFiles != null && files.length > maxFiles) {
352
+ if (maxFiles != null && existingCount + files.length > maxFiles) {
353
353
  return { accepted: [], rejected: files, reason: 'max-files' };
354
354
  }
355
355
  if (maxFileSize != null) {
@@ -373,22 +373,34 @@ const SdFilePicker = class {
373
373
  return;
374
374
  }
375
375
  const fileArray = Array.from(files);
376
- const { accepted, rejected, reason } = this.validateFiles(fileArray);
377
- if (reason != null) {
378
- this.reject?.emit({ files: rejected, reason });
376
+ if (this.multiple) {
377
+ const existing = Array.isArray(this.internalValue) ? this.internalValue : [];
378
+ const { accepted, rejected, reason } = this.validateFiles(fileArray, existing.length);
379
379
  if (this.fileInputRef) {
380
380
  this.fileInputRef.value = '';
381
381
  }
382
- return;
383
- }
384
- if (this.multiple) {
385
- this.internalValue = accepted;
382
+ if (reason != null) {
383
+ this.reject?.emit({ files: rejected, reason });
384
+ return;
385
+ }
386
+ const merged = [...existing, ...accepted];
387
+ this.internalValue = merged;
388
+ this.value = merged;
389
+ this.update?.emit(this.value);
386
390
  }
387
391
  else {
392
+ const { accepted, rejected, reason } = this.validateFiles(fileArray);
393
+ if (reason != null) {
394
+ this.reject?.emit({ files: rejected, reason });
395
+ if (this.fileInputRef) {
396
+ this.fileInputRef.value = '';
397
+ }
398
+ return;
399
+ }
388
400
  this.internalValue = accepted[0];
401
+ this.value = this.internalValue;
402
+ this.update?.emit(this.value);
389
403
  }
390
- this.value = this.internalValue;
391
- this.update?.emit(this.value);
392
404
  };
393
405
  handleClear = (event) => {
394
406
  if (this.disabled)
@@ -408,6 +420,8 @@ const SdFilePicker = class {
408
420
  this.fileInputRef?.click();
409
421
  };
410
422
  hasFiles() {
423
+ if (this.multiple)
424
+ return false;
411
425
  if (!this.internalValue)
412
426
  return false;
413
427
  if (Array.isArray(this.internalValue)) {
@@ -415,14 +429,28 @@ const SdFilePicker = class {
415
429
  }
416
430
  return true;
417
431
  }
432
+ hasChips() {
433
+ return Array.isArray(this.internalValue) && this.internalValue.length > 0;
434
+ }
418
435
  getDisplayText() {
419
436
  if (!this.hasFiles())
420
437
  return this.placeholder ?? 'Click to upload';
421
- if (Array.isArray(this.internalValue)) {
422
- return this.internalValue.map(f => f.name).join(', ');
423
- }
424
438
  return this.internalValue?.name || (this.placeholder ?? 'Click to upload');
425
439
  }
440
+ handleChipRemove = (index) => {
441
+ if (!Array.isArray(this.internalValue))
442
+ return;
443
+ const newFiles = [...this.internalValue];
444
+ newFiles.splice(index, 1);
445
+ this.internalValue = newFiles;
446
+ this.value = newFiles;
447
+ this.update?.emit(this.value);
448
+ };
449
+ renderChipList() {
450
+ if (!this.hasChips())
451
+ return null;
452
+ return (h("div", { class: "sd-file-picker__chip-list" }, this.internalValue.map((file, index) => (h("sd-chip", { value: file.name, onSdRemove: () => this.handleChipRemove(index) })))));
453
+ }
426
454
  checkOverflow() {
427
455
  if (!this.fileNamesRef)
428
456
  return;
@@ -462,9 +490,9 @@ const SdFilePicker = class {
462
490
  return (h("div", { class: {
463
491
  'sd-file-picker--inline': true,
464
492
  'sd-file-picker--inline-disabled': this.disabled,
465
- }, style: cssVars, onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false) }, content));
493
+ }, style: cssVars, onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false) }, content, this.renderChipList()));
466
494
  }
467
- return (h("sd-field", { 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, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, content));
495
+ return (h("div", { class: "sd-file-picker__wrapper", style: cssVars }, h("sd-field", { 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, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false) }, content), this.renderChipList()));
468
496
  }
469
497
  static get watchers() { return {
470
498
  "value": [{
@@ -1078,7 +1106,7 @@ const SdRadioGroup = class {
1078
1106
  return classes.join(' ');
1079
1107
  }
1080
1108
  render() {
1081
- return (h("div", { key: '3bb952a72d5bccd1ad4842d9554efe6c69829773', class: this.getGroupClasses(), role: "radiogroup" }, this.options.map(option => {
1109
+ return (h("div", { key: 'd60a7fed2bbe1cd2d577827b10c99627aabbda66', class: this.getGroupClasses(), role: "radiogroup" }, this.options.map(option => {
1082
1110
  return (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) }));
1083
1111
  })));
1084
1112
  }
@@ -265,7 +265,7 @@ const SdDateRangePickerCalendar = class {
265
265
  '--range-panel-gap': `${RANGE_LAYOUT.panelGap}px`,
266
266
  '--range-divider': RANGE_LAYOUT.divider,
267
267
  };
268
- return (h(Fragment, { key: 'b4082936889d6bed77917d9b06aafa3c80d413a7' }, h("div", { key: 'baf10fa376bf32982816258f950edf65d5622a99', class: "sd-date-range-picker-calendar", style: cssVars }, this.renderYearNav(), h("div", { key: 'bacc88f756b64f4382b1c8c648269bb2c233dc54', class: "sd-date-range-picker-calendar__panels" }, this.renderPanel(this.currentYear, this.currentMonth, true), h("span", { key: 'dcebf3cd120e2e606784c365c309d4c48296a5ae', class: "sd-date-range-picker-calendar__divider", "aria-hidden": "true" }), this.renderPanel(this.rightYear, this.rightMonth, false)))));
268
+ return (h(Fragment, { key: 'a9e5bc8198cfda50227069661812341e7a19b21d' }, h("div", { key: 'a2c5bf6ae806fc24f421cb6b52323f4e92bfc255', class: "sd-date-range-picker-calendar", style: cssVars }, this.renderYearNav(), h("div", { key: '2575175fa3537e010e1c7d573428d5c8ebfae488', class: "sd-date-range-picker-calendar__panels" }, this.renderPanel(this.currentYear, this.currentMonth, true), h("span", { key: 'bd43ac98b88665dbe85804c8b6345c19dca7d9fa', class: "sd-date-range-picker-calendar__divider", "aria-hidden": "true" }), this.renderPanel(this.rightYear, this.rightMonth, false)))));
269
269
  }
270
270
  static get watchers() { return {
271
271
  "value": [{
@@ -246,20 +246,21 @@ const SdField = class {
246
246
  : {}),
247
247
  }
248
248
  : {};
249
- return (h("div", { key: '1cc135c77708546f23b699bf337c018f6c4d315e', class: {
249
+ return (h("div", { key: 'c6d4bc9d09982d65c31596319569590df9b994b1', class: {
250
250
  'sd-field': true,
251
251
  'sd-field--has-label': this.label !== '',
252
252
  'sd-field--has-addon': addon !== '',
253
253
  [this.fieldStatus]: this.fieldStatus !== '',
254
- }, style: { ...sizeCssVars, ...labelCssVars, ...addonCssVars } }, h("div", { key: '506ace23aa27ad50a8ad60dcf6c71a0bdf04d7af', class: "sd-field__wrapper" }, this.renderLabel(this.label), h("div", { key: '41b77a52c21eef8c38127362423378f1b9a6cb77', class: "sd-field__main", style: this.width !== '' && this.width !== 0
254
+ }, style: { ...sizeCssVars, ...labelCssVars, ...addonCssVars } }, h("div", { key: '24f3e7702b3d3be42f8236988e1d64e26a31840e', class: "sd-field__wrapper" }, this.renderLabel(this.label), h("div", { key: '7c45edce014adee7e2eb91296779896d9fd9fcc3', class: "sd-field__main", style: this.width !== '' && this.width !== 0
255
255
  ? {
256
256
  width: typeof this.width === 'number' ? `${this.width}px` : this.width,
257
257
  flex: 'none',
258
258
  }
259
- : {} }, h("div", { key: '1f3c5f2009a0d96b8a3544c58b96f7ecc4ddee6b', class: {
259
+ : {} }, h("div", { key: '13c99702bf11e4ff76332141a9eaff93185882d3', class: {
260
260
  'sd-field__control': true,
261
261
  'sd-field__control--has-addon': addon !== '',
262
- } }, addon && h("div", { key: '39a28adaa959b89d3724672910157662e50b35ed', class: "sd-field__addon" }, addon), h("slot", { key: '0c9360e8644df658c389554c13a04bc22985e84d' })), this.errorMsg !== '' || this.errorMessage !== '' ? (h("div", { class: "sd-field__error-message" }, this.errorMsg !== '' ? this.errorMsg : this.errorMessage)) : (this.hint !== '' && h("div", { class: "sd-field__hint" }, this.hint))))));
262
+ } }, addon && (h("div", { key: '461170360e26e24051fab4507a22e932f5a37244', class: "sd-field__addon" }, this.icon && (h("sd-icon", { key: 'c8b63273a253da7911e5d8a6f57143a9cc909853', name: this.icon.name, size: this.icon.size ??
263
+ Number(FIELD_LABEL_SIZE_MAP[(this.size in FIELD_LABEL_SIZE_MAP ? this.size : 'sm')].icon), color: this.icon.color, rotate: this.icon.rotate })), addon)), h("slot", { key: '3c4a72a6152c50d525df972a2a4c4d6840240116' })), this.errorMsg !== '' || this.errorMessage !== '' ? (h("div", { class: "sd-field__error-message" }, this.errorMsg !== '' ? this.errorMsg : this.errorMessage)) : (this.hint !== '' && h("div", { class: "sd-field__hint" }, this.hint))))));
263
264
  }
264
265
  renderLabel(label) {
265
266
  if (label == null || label === '')
@@ -160,7 +160,7 @@ const SdGhostButton = class {
160
160
  ? GHOST_BUTTON_DISABLED_COLORS[intent]
161
161
  : GHOST_BUTTON_CONTENT_COLORS[intent];
162
162
  const accessibleName = (this.ariaLabel ?? '').trim() || undefined;
163
- return (h("button", { key: '0707c0067aded10ea53bffbca0dbddbfdef35dc6', class: {
163
+ return (h("button", { key: '7bf9f8b8d487be0b66a969668308fd451faeb442', class: {
164
164
  'sd-ghost-button': true,
165
165
  'sd-ghost-button--disabled': this.disabled,
166
166
  }, type: "button", disabled: this.disabled, "aria-label": accessibleName, style: {
@@ -169,7 +169,7 @@ const SdGhostButton = class {
169
169
  '--sd-ghost-button-hover-bg': GHOST_BUTTON_HOVER_BG_COLORS[intent],
170
170
  '--sd-ghost-button-hover-opacity': GHOST_BUTTON_HOVER_OPACITY,
171
171
  '--sd-ghost-button-accent': GHOST_BUTTON_FOCUS_RING_COLOR,
172
- }, onClick: this.handleClick }, h("sd-icon", { key: 'c362f7da310fc5b20fbbf0b08da4959b6f4a5374', name: this.icon, size: sizeConfig.icon, color: contentColor })));
172
+ }, onClick: this.handleClick }, h("sd-icon", { key: '4b6b05d186f8c38d2f05415fa24960349dd6c453', name: this.icon, size: sizeConfig.icon, color: contentColor })));
173
173
  }
174
174
  };
175
175
  SdGhostButton.style = sdGhostButtonCss();
@@ -186,10 +186,10 @@ const SdGuide = class {
186
186
  const buttonClasses = ['sd-guide__button', `sd-guide__button--type-${this.type ?? 'tip'}`];
187
187
  if (isActive)
188
188
  buttonClasses.push('sd-guide__button--active');
189
- return (h("div", { key: 'ea4f220faf6165f7650360f74a19d9f781b81489', class: "sd-guide", style: this.guideStyle }, h("sd-button", { key: 'c90eaa6cc42a9a2f20b8fc79db16697db0cf2ff2', ref: el => (this.guideRef = el), class: buttonClasses.join(' '), name: isActive ? 'primary_sm' : 'neutral_outline_sm', label: this.label || defaultLabel, icon: iconName, onSdClick: this.handleClickGuide }), this.popupShow && (h("sd-portal", { key: '21f57a739141ffa36f3b799a2688ca5b3c1bd428', open: this.popupShow, parentRef: this.guideRef, onSdClose: this.closeDropdown, offset: [0, 4] }, h("div", { key: '2a803402b120509ef8b6de361f360a7b5b96e9db', style: { position: 'absolute', width: '0px', height: '0px' } }, h("div", { key: '3e591b85ac24ea1db37bdaaf130f983d70ef2f36', class: "sd-guide__popup", style: {
189
+ return (h("div", { key: 'ea4f220faf6165f7650360f74a19d9f781b81489', class: "sd-guide", style: this.guideStyle }, h("sd-button", { key: 'c90eaa6cc42a9a2f20b8fc79db16697db0cf2ff2', ref: el => (this.guideRef = el), class: buttonClasses.join(' '), name: isActive ? 'primary_sm' : 'neutral_outline_sm', label: this.label || defaultLabel, icon: iconName, onSdClick: this.handleClickGuide }), this.popupShow && (h("sd-portal", { key: '21f57a739141ffa36f3b799a2688ca5b3c1bd428', open: this.popupShow, parentRef: this.guideRef, onSdClose: this.closeDropdown, offset: [0, 4] }, h("div", { key: '94e12fa797748a02334b97e13c5012ab95bc2bce', class: "sd-guide__popup", style: {
190
190
  ...this.guideStyle,
191
191
  width: this.popupWidth != null ? this.popupWidth + 'px' : '426px',
192
- } }, h("sd-ghost-button", { key: '1aa20f7bd3a1ba45c4932a67a8c1e67d6e068702', class: "sd-guide__popup__close", icon: "close", ariaLabel: "close", size: "sm", onSdClick: this.closeDropdown }), h("div", { key: 'e48378d1731e0b9fcd5990cb908ae3af236d0346', class: "sd-guide__popup__header" }, h("sd-icon", { key: 'c8c71c7c2f0fdb25e3741415c1f1fae1a8d4d3d2', name: iconName, size: 24, color: popupIconColor }), h("h3", { key: '4996225c27fbeae4fd9b4d68d6e493d87225d427', class: "sd-guide__popup__title" }, this.popupTitle || defaultLabel)), h("ul", { key: 'edb2d35594b47f19f2e847ba546fac0fc19b21b4', class: "sd-guide__popup__list" }, this.renderListItem(this.message))))))));
192
+ } }, h("sd-ghost-button", { key: '6fc71032016e7a3be0581508ef0ecc6772981185', class: "sd-guide__popup__close", icon: "close", ariaLabel: "close", size: "sm", onSdClick: this.closeDropdown }), h("div", { key: '385c0c18bc888be6a654525dc6f4359a56ad6de9', class: "sd-guide__popup__header" }, h("sd-icon", { key: '34624d2ac3397ba15b2dc7ba23dc460a87cb878b', name: iconName, size: 24, color: popupIconColor }), h("h3", { key: 'dd3527ec329698b0fd1ec82f2a7d0cf5865802c2', class: "sd-guide__popup__title" }, this.popupTitle || defaultLabel)), h("ul", { key: '429357d0203acdf31177353ceb45d9ac41fadae7', class: "sd-guide__popup__list" }, this.renderListItem(this.message)))))));
193
193
  }
194
194
  // 현재 2depth까지만 스타일 적용
195
195
  renderListItem(message, depth = 0) {
@@ -201,6 +201,9 @@ const SdModalContainer = class {
201
201
  if (this.hasOwnProp(options, 'height')) {
202
202
  this.setAttr(el, 'height', options.height != null ? String(options.height) : undefined);
203
203
  }
204
+ if (this.hasOwnProp(options, 'progress')) {
205
+ el.progress = options.progress;
206
+ }
204
207
  }
205
208
  applyProps(el, options) {
206
209
  if (this.hasOwnProp(options, 'type'))
@@ -27,10 +27,10 @@ const SdPopover = class {
27
27
  disabled = false;
28
28
  type = 'button';
29
29
  menuTitle;
30
- messages = [];
31
30
  leftLink;
32
31
  button;
33
32
  menuClass = '';
33
+ slotContentHTML = '';
34
34
  showChange;
35
35
  buttonEl;
36
36
  setShow = (next) => {
@@ -52,27 +52,30 @@ const SdPopover = class {
52
52
  }
53
53
  }
54
54
  handleClose = () => this.setShow(false);
55
+ componentWillLoad() {
56
+ this.slotContentHTML = this.el.innerHTML;
57
+ this.el.innerHTML = '';
58
+ }
55
59
  render() {
56
60
  const placement = this.placement ?? 'bottom';
57
61
  const color = this.color ?? '#01BB4B';
58
62
  const icon = this.icon ?? 'helpOutline';
59
63
  const iconSize = this.iconSize ?? 12;
60
64
  const menuClass = this.menuClass ?? '';
61
- const messages = Array.isArray(this.messages) ? this.messages : [];
62
65
  const leftLink = this.leftLink;
63
66
  const button = this.button;
64
67
  const hasFooter = !!leftLink || !!button;
65
- return (h(Fragment, { key: '7bf954f334ae12586a02b799139dc29421a86551' }, this.label !== '' ? (h("sd-button", { ref: el => (this.buttonEl = el), name: this.name ?? 'primary_sm', label: this.label, icon: icon, rightIcon: this.rightIcon, ariaLabel: this.ariaLabel, disabled: this.disabled, type: this.type ?? 'button', class: "sd-popover", onSdClick: () => this.setShow(!this.show) })) : (h("sd-icon", { ref: el => (this.buttonEl = el), name: icon, size: iconSize, color: color, class: "sd-popover", onClick: () => this.setShow(!this.show) })), this.show && (h("sd-floating-portal", { key: 'f785e5851cf126052d2c016220d9ff2376f2a9f3', parentRef: this.buttonEl, onSdClose: this.handleClose, placement: placement, offset: this.popoverOffset }, h("div", { key: '5eb30ad12f0f1cb3f23ae90e6b51e9c545dee8fd', class: {
68
+ return (h(Fragment, { key: 'f0b7cc015ab688e21d6df2a797c3964808965934' }, this.label !== '' ? (h("sd-button", { ref: el => (this.buttonEl = el), name: this.name ?? 'primary_sm', label: this.label, icon: icon, rightIcon: this.rightIcon, ariaLabel: this.ariaLabel || this.label || icon || 'Open popover', disabled: this.disabled, type: this.type ?? 'button', class: "sd-popover", onSdClick: () => this.setShow(!this.show) })) : (h("sd-icon", { ref: el => (this.buttonEl = el), name: icon, size: iconSize, color: color, class: "sd-popover", onClick: () => this.setShow(!this.show) })), this.show && (h("sd-floating-portal", { key: '3b8ad8010a7d74fb519f0ad9ff504c0c0fa32941', parentRef: this.buttonEl, onSdClose: this.handleClose, placement: placement, offset: this.popoverOffset }, h("div", { key: '8fba73c8cf2718258a176dac2033fb3b33a8a618', class: {
66
69
  'sd-floating-menu': true,
67
70
  'sd-floating-menu--popover': true,
68
71
  [`sd-floating-menu--${placement}`]: true,
69
72
  [menuClass]: menuClass !== '',
70
73
  }, style: {
71
74
  '--sd-floating-bg': popoverTokens.popover.bg,
72
- } }, h("i", { key: '632639d52731fe47baf2860464013a4d0fd3c3d8', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${placement}` }, h(TooltipArrow, { key: '1f963e1a52b09803fd9f2d1f1ce7a07023951fc9' })), h("div", { key: '1c90735369085c465321e398775c4ce484190479', class: "sd-floating-menu__content" }, this.menuTitle && h("div", { key: '29584cd7bcb244c3fb6b0cb895a5c4b55093418a', class: "sd-floating-menu__title" }, this.menuTitle), messages.length > 0 && (h("div", { key: '2c7a9671cbec98f0fb393b1d049bfecc1e8b8013', class: "sd-floating-menu__messages" }, messages.map((message, i) => (h("div", { key: `msg-${i}` }, message))))), hasFooter && (h("div", { key: '18667a0a8eaf8f022513b048095c24487dd4ae98', class: {
75
+ } }, h("i", { key: '1cef252c66b1c350ea43849e552faced5a53fec0', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${placement}` }, h(TooltipArrow, { key: '755246fe5fbf9b203509f8d45d2bcbeead0c02c6' })), h("div", { key: 'cbefa421598f83f692533d4abf8cfc584b4e02e1', class: "sd-floating-menu__content" }, this.menuTitle && h("div", { key: '0f1dfbaf65236416ba00e5f87cb60e2e98971995', class: "sd-floating-menu__title" }, this.menuTitle), this.slotContentHTML && (h("div", { key: '38ef67a38921e3fbd1e8bee95892655fc57d124c', class: "sd-floating-menu__messages", innerHTML: this.slotContentHTML })), hasFooter && (h("div", { key: '6b3f297563e3b7aa17ace0e20c4423d09b528b32', class: {
73
76
  'sd-floating-menu__buttons': true,
74
77
  'sd-floating-menu__buttons--with-link': !!leftLink,
75
- } }, leftLink && (h("sd-text-link", { key: 'efbeb3047ea9eb62eba2f5940ec4f71f46d1c479', class: "sd-floating-menu__left-link", label: leftLink.label, icon: leftLink.icon ?? '', iconColor: leftLink.iconColor ?? '', useArrow: !!leftLink.useArrow, underline: !!leftLink.underline, disabled: !!leftLink.disabled, onSdClick: leftLink.onClick })), button && (h("sd-button", { key: '9044ee54225a7b441c85d1acf3355e2d3688f942', name: button.name ?? 'secondary_xs', label: button.label, icon: button.icon, rightIcon: button.rightIcon, ariaLabel: button.ariaLabel, disabled: button.disabled, type: button.type, onSdClick: button.onClick }))))), h("sd-ghost-button", { key: '4f37394444b692ff5a2b736fe3514e51eb49b601', class: "sd-floating-menu__close-button", icon: "close", ariaLabel: "close", size: "xs", onClick: this.handleClose }))))));
78
+ } }, leftLink && (h("sd-text-link", { key: '6ff83b0aefa24ac3bbae7f1399fdaaa1028b4e75', class: "sd-floating-menu__left-link", label: leftLink.label, icon: leftLink.icon ?? '', iconColor: leftLink.iconColor ?? '', useArrow: !!leftLink.useArrow, underline: !!leftLink.underline, disabled: !!leftLink.disabled, onSdClick: leftLink.onClick })), button && (h("sd-button", { key: 'b8b75cd68c55b16b5eb0e4635c16b784381ced78', name: button.name ?? 'secondary_xs', label: button.label, icon: button.icon, rightIcon: button.rightIcon, ariaLabel: button.ariaLabel || button.label || button.icon || 'Open popover', disabled: button.disabled, type: button.type, onSdClick: button.onClick }))))), h("sd-ghost-button", { key: '246ab053d1109d7b999e63c3aa5a1048d6096583', class: "sd-floating-menu__close-button", icon: "close", ariaLabel: "close", size: "xs", onClick: this.handleClose }))))));
76
79
  }
77
80
  };
78
81
  SdPopover.style = sdPopoverCss();
@@ -225,7 +225,7 @@ const SdPortal = class {
225
225
  this.close.emit();
226
226
  }
227
227
  render() {
228
- return h("slot", { key: 'a227fa8a0639de7fd3a014762998692151284f87' });
228
+ return h("slot", { key: '87fb9bf3f15d09321c6c02a1f7b4ed9084516a04' });
229
229
  }
230
230
  static get watchers() { return {
231
231
  "open": [{
@@ -176,7 +176,7 @@ const SdRadioButton = class {
176
176
  '--sd-radio-button-content-select': RADIO_BUTTON_COLORS.content.select,
177
177
  '--sd-radio-button-content-disabled': RADIO_BUTTON_COLORS.content.disabled,
178
178
  };
179
- return (h("div", { key: 'd1f572315ee66c5defebc4386e815fb21928b548', class: this.getGroupClasses(), style: cssVars, role: "radiogroup", "aria-disabled": this.disabled.toString() }, this.options.map(option => {
179
+ return (h("div", { key: 'b916d790862409f8b8e1da566f049daadfc4e5e2', class: this.getGroupClasses(), style: cssVars, role: "radiogroup", "aria-disabled": this.disabled.toString() }, this.options.map(option => {
180
180
  const isSelected = this.isOptionSelected(option);
181
181
  const isDisabled = this.isOptionDisabled(option);
182
182
  return (h("label", { key: `radio-${option.value}`, class: this.getButtonClasses(option), "aria-label": option.label || 'radio option', "data-label": option.label }, h("input", { type: "radio", name: this.groupName, value: option.value.toString(), checked: isSelected, disabled: isDisabled, onInput: () => this.handleRadioChange(option.value, option.disabled) }), option.label && h("span", { class: "sd-radio-button__label" }, option.label)));
@@ -116,7 +116,7 @@ const SdRadio = class {
116
116
  '--sd-radio-disabled-dot': RADIO_COLORS.disabled.dot,
117
117
  '--sd-radio-label-color': RADIO_COLORS.label,
118
118
  };
119
- return (h("label", { key: '2b7819249e5070a22b626530011db4a8e56194f1', class: this.radioClasses, style: cssVars, "aria-checked": this.isSelected ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false' }, 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 }), h("span", { key: 'eb665c5f8c6202b66b65b6b120f144970fba0a38', class: "sd-radio__circle" }), this.label && h("span", { key: '3d0db13e083bacb4cb7ace9129fcfcd61f18dfc7', class: "sd-radio__label" }, this.label)));
119
+ return (h("label", { key: '68f1b169f2a7b072a92a64286fa88eff99313faf', class: this.radioClasses, style: cssVars, "aria-checked": this.isSelected ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false' }, h("input", { key: 'fa2474cc359ef4f5480a68d9b5d0b6f151e7eec8', 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 }), h("span", { key: '345f286e2f87e5dd0687fb94a59f6886eac25f24', class: "sd-radio__circle" }), this.label && h("span", { key: 'e8bd76682569820121c9469984f0054386d9b117', class: "sd-radio__label" }, this.label)));
120
120
  }
121
121
  static get watchers() { return {
122
122
  "value": [{
@@ -207,7 +207,7 @@ const SdTag = class {
207
207
  render() {
208
208
  const config = this.resolvedConfig;
209
209
  const iconNode = this.renderIcon(config.icon, config.iconSize);
210
- return (h("span", { key: 'c8b8b88e2c83401bb9d3e05004b0517d7e4a3a6a', class: "sd-tag", style: {
210
+ return (h("span", { key: '945a8a13f4891b5174e48e262b2a108674da7198', class: "sd-tag", style: {
211
211
  '--sd-tag-background': config.background,
212
212
  '--sd-tag-content': config.content,
213
213
  '--sd-tag-height': config.height,
@@ -217,7 +217,7 @@ const SdTag = class {
217
217
  '--sd-tag-font-weight': config.fontWeight,
218
218
  '--sd-tag-line-height': config.lineHeight,
219
219
  '--sd-tag-radius': config.radius,
220
- }, "aria-label": this.label || 'tag' }, this.icon && this.isLeft && iconNode, h("span", { key: '67094b09ab1d7b7e865c9f6b8017f8c5c3f8274a', class: "sd-tag__label" }, this.label), this.icon && !this.isLeft && iconNode));
220
+ }, "aria-label": this.label || 'tag' }, this.icon && this.isLeft && iconNode, h("span", { key: '441932c2eb85eea471838db541fb95302527df23', class: "sd-tag__label" }, this.label), this.icon && !this.isLeft && iconNode));
221
221
  }
222
222
  };
223
223
  SdTag.style = sdTagCss();
@@ -74,7 +74,7 @@ const SdTextLink = class {
74
74
  '--sd-text-link-text-decoration': typo.textDecoration,
75
75
  ...(this.disabled ? { '--sd-text-link-color': TEXT_LINK_COLORS.content.disabled } : {}),
76
76
  };
77
- return (h("span", { key: '11d2153cc91818c1214e21ffa14bd08249ad1116', role: "button", tabindex: this.disabled ? -1 : 0, class: {
77
+ return (h("span", { key: '23ddcce86220acc4e6c8a585e4240ecb7baee9f8', role: "button", tabindex: this.disabled ? -1 : 0, class: {
78
78
  'sd-text-link': true,
79
79
  'sd-text-link--disabled': this.disabled,
80
80
  }, style: cssVars, onClick: this.handleClick, onKeyDown: e => {
@@ -82,13 +82,13 @@ const SdTextLink = class {
82
82
  e.preventDefault();
83
83
  this.handleClick();
84
84
  }
85
- } }, this.icon && (h("sd-icon", { key: '23972d53b4968c9bdef9b54dfa785e658ba117ef', name: this.icon, size: TEXT_LINK_LAYOUT.iconSize, color: iconColor, class: "sd-text-link__icon" })), h("span", { key: '5e99a6c1151093929086ec4398b93d7db590d959', class: labelClassName }, this.label), this.useArrow && (h("span", { key: 'b814759278cefe229a5321556374438f281ce0f3', class: "sd-text-link__arrow", style: {
85
+ } }, this.icon && (h("sd-icon", { key: 'd265458a74db086efa270fd165fa5fa9855b708b', name: this.icon, size: TEXT_LINK_LAYOUT.iconSize, color: iconColor, class: "sd-text-link__icon" })), h("span", { key: '9cb7e5909036aea5b70496fbe5ca69ce10ab3035', class: labelClassName }, this.label), this.useArrow && (h("span", { key: '5ebe27c5929095d1799d81e930b2efa8d616f5bd', class: "sd-text-link__arrow", style: {
86
86
  width: `${TEXT_LINK_LAYOUT.arrowFrame}px`,
87
87
  height: `${TEXT_LINK_LAYOUT.arrowFrame}px`,
88
88
  display: 'inline-flex',
89
89
  alignItems: 'center',
90
90
  justifyContent: 'center',
91
- } }, h("sd-icon", { key: 'dfe3286eaeef9a176f5ff1a69950713e2712a550', name: "chevronRight", size: TEXT_LINK_LAYOUT.arrowIconSize, color: arrowColor })))));
91
+ } }, h("sd-icon", { key: '5fc735391386ac733b77bfac6947cccc61fad198', name: "chevronRight", size: TEXT_LINK_LAYOUT.arrowIconSize, color: arrowColor })))));
92
92
  }
93
93
  };
94
94
  SdTextLink.style = sdTextLinkCss();
@@ -12,7 +12,7 @@ export declare class SdChip implements ValidatableField {
12
12
  internalValue: string;
13
13
  isEditing: boolean;
14
14
  update: EventEmitter<string>;
15
- remove: EventEmitter<void>;
15
+ delete: EventEmitter<void>;
16
16
  focus: EventEmitter<void>;
17
17
  blur: EventEmitter<void>;
18
18
  private inputEl?;
@@ -51,7 +51,10 @@ export declare class SdFilePicker implements ComponentInterface {
51
51
  private handleClear;
52
52
  private handleClick;
53
53
  private hasFiles;
54
+ private hasChips;
54
55
  private getDisplayText;
56
+ private handleChipRemove;
57
+ private renderChipList;
55
58
  private checkOverflow;
56
59
  private getIconColor;
57
60
  render(): any;
@@ -7,6 +7,7 @@ export declare class SdLoadingModal {
7
7
  buttonLabel: string;
8
8
  width?: string | number;
9
9
  height?: string | number;
10
+ progress?: number;
10
11
  click: EventEmitter<void>;
11
12
  private get resolvedState();
12
13
  private get resolvedMessage();
@@ -24,6 +24,7 @@ export interface LoadingModalOptions {
24
24
  width?: string | number;
25
25
  height?: string | number;
26
26
  persistent?: boolean;
27
+ progress?: number;
27
28
  }
28
29
  export interface ModalEntry {
29
30
  id: string;
@@ -24,14 +24,15 @@ export declare class SdPopover {
24
24
  disabled: boolean;
25
25
  type: ButtonType;
26
26
  menuTitle?: string;
27
- messages: string[];
28
27
  leftLink?: PopoverLink;
29
28
  button?: PopoverButton;
30
29
  menuClass: string;
30
+ slotContentHTML: string;
31
31
  showChange: EventEmitter<boolean>;
32
32
  private buttonEl?;
33
33
  private setShow;
34
34
  private get popoverOffset();
35
35
  private handleClose;
36
+ componentWillLoad(): void;
36
37
  render(): any;
37
38
  }
@@ -1053,6 +1053,7 @@ export namespace Components {
1053
1053
  * @default ''
1054
1054
  */
1055
1055
  "message": string | string[];
1056
+ "progress"?: number;
1056
1057
  /**
1057
1058
  * @default 'loading'
1058
1059
  */
@@ -1242,10 +1243,6 @@ export namespace Components {
1242
1243
  */
1243
1244
  "menuClass": string;
1244
1245
  "menuTitle"?: string;
1245
- /**
1246
- * @default []
1247
- */
1248
- "messages": string[];
1249
1246
  /**
1250
1247
  * @default 'primary_sm'
1251
1248
  */
@@ -4027,6 +4024,7 @@ declare namespace LocalJSX {
4027
4024
  */
4028
4025
  "message"?: string | string[];
4029
4026
  "onSdClick"?: (event: SdLoadingModalCustomEvent<void>) => void;
4027
+ "progress"?: number;
4030
4028
  /**
4031
4029
  * @default 'loading'
4032
4030
  */
@@ -4210,10 +4208,6 @@ declare namespace LocalJSX {
4210
4208
  */
4211
4209
  "menuClass"?: string;
4212
4210
  "menuTitle"?: string;
4213
- /**
4214
- * @default []
4215
- */
4216
- "messages"?: string[];
4217
4211
  /**
4218
4212
  * @default 'primary_sm'
4219
4213
  */
@@ -5204,6 +5198,7 @@ declare namespace LocalJSX {
5204
5198
  "buttonLabel": string;
5205
5199
  "width": string;
5206
5200
  "height": string;
5201
+ "progress": number;
5207
5202
  }
5208
5203
  interface SdModalContainerAttributes {
5209
5204
  "autoRemove": boolean;