@solid-design-system/components 3.4.0 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/dist/components/es/checkbox.js +1 -1
  2. package/dist/components/es/dialog.js +1 -1
  3. package/dist/components/es/input.js +1 -1
  4. package/dist/components/es/interactive.js +1 -1
  5. package/dist/components/es/option.js +1 -1
  6. package/dist/components/es/select.js +1 -1
  7. package/dist/components/es/solid-components2.js +1 -1
  8. package/dist/components/es/solid-element.js +2 -2
  9. package/dist/components/es/step-group.js +1 -0
  10. package/dist/components/es/step.js +1 -0
  11. package/dist/components/es/textarea.js +1 -1
  12. package/dist/components/umd/solid-components.js +21 -21
  13. package/dist/custom-elements.json +1 -1
  14. package/dist/package/components/checkbox/checkbox.js +1 -1
  15. package/dist/package/components/icon/library.system.d.ts +1 -2
  16. package/dist/package/components/icon/library.system.js +2 -7
  17. package/dist/package/components/input/input.js +1 -1
  18. package/dist/package/components/option/option.js +1 -1
  19. package/dist/package/components/select/select.js +1 -1
  20. package/dist/package/components/step/step.d.ts +27 -0
  21. package/dist/package/components/step/step.js +147 -0
  22. package/dist/package/components/step-group/step-group.d.ts +22 -0
  23. package/dist/package/components/step-group/step-group.js +127 -0
  24. package/dist/package/components/textarea/textarea.js +1 -1
  25. package/dist/package/solid-components.d.ts +2 -0
  26. package/dist/package/solid-components.js +24 -20
  27. package/dist/package/styles/headline/headline.css.js +1 -1
  28. package/dist/package/styles/interactive/interactive.css.js +1 -1
  29. package/dist/package/styles/paragraph/paragraph.css.js +4 -0
  30. package/dist/package/styles/tailwind.css.js +1 -1
  31. package/dist/styles/solid-styles.css +1 -1
  32. package/dist/versioned-components/es/accordion-group.js +1 -1
  33. package/dist/versioned-components/es/accordion.js +1 -1
  34. package/dist/versioned-components/es/badge.js +1 -1
  35. package/dist/versioned-components/es/brandshape.js +1 -1
  36. package/dist/versioned-components/es/button.js +1 -1
  37. package/dist/versioned-components/es/carousel-item.js +1 -1
  38. package/dist/versioned-components/es/carousel.js +3 -3
  39. package/dist/versioned-components/es/checkbox-group.js +1 -1
  40. package/dist/versioned-components/es/checkbox.js +1 -1
  41. package/dist/versioned-components/es/dialog.js +1 -1
  42. package/dist/versioned-components/es/divider.js +1 -1
  43. package/dist/versioned-components/es/drawer.js +1 -1
  44. package/dist/versioned-components/es/dropdown.js +1 -1
  45. package/dist/versioned-components/es/form.js +1 -1
  46. package/dist/versioned-components/es/header.js +1 -1
  47. package/dist/versioned-components/es/icon.js +1 -1
  48. package/dist/versioned-components/es/include.js +1 -1
  49. package/dist/versioned-components/es/input.js +1 -1
  50. package/dist/versioned-components/es/interactive.js +1 -1
  51. package/dist/versioned-components/es/link.js +1 -1
  52. package/dist/versioned-components/es/map-marker.js +1 -1
  53. package/dist/versioned-components/es/navigation-item.js +1 -1
  54. package/dist/versioned-components/es/notification.js +1 -1
  55. package/dist/versioned-components/es/option.js +1 -1
  56. package/dist/versioned-components/es/popup.js +1 -1
  57. package/dist/versioned-components/es/radio-button.js +1 -1
  58. package/dist/versioned-components/es/radio-group.js +1 -1
  59. package/dist/versioned-components/es/radio.js +1 -1
  60. package/dist/versioned-components/es/scrollable.js +1 -1
  61. package/dist/versioned-components/es/select.js +3 -3
  62. package/dist/versioned-components/es/solid-components2.js +1 -1
  63. package/dist/versioned-components/es/solid-element.js +2 -2
  64. package/dist/versioned-components/es/spinner.js +1 -1
  65. package/dist/versioned-components/es/step-group.js +1 -0
  66. package/dist/versioned-components/es/step.js +1 -0
  67. package/dist/versioned-components/es/switch.js +1 -1
  68. package/dist/versioned-components/es/tab-group.js +1 -1
  69. package/dist/versioned-components/es/tab-panel.js +1 -1
  70. package/dist/versioned-components/es/tab.js +1 -1
  71. package/dist/versioned-components/es/tag.js +1 -1
  72. package/dist/versioned-components/es/teaser-media.js +1 -1
  73. package/dist/versioned-components/es/teaser.js +1 -1
  74. package/dist/versioned-components/es/textarea.js +1 -1
  75. package/dist/versioned-components/es/tooltip.js +2 -2
  76. package/dist/versioned-components/es/video.js +1 -1
  77. package/dist/versioned-package/_components/button-group/button-group.d.ts +1 -1
  78. package/dist/versioned-package/_components/button-group/button-group.js +11 -11
  79. package/dist/versioned-package/components/accordion/accordion.d.ts +1 -1
  80. package/dist/versioned-package/components/accordion/accordion.js +2 -2
  81. package/dist/versioned-package/components/accordion-group/accordion-group.d.ts +1 -1
  82. package/dist/versioned-package/components/accordion-group/accordion-group.js +3 -3
  83. package/dist/versioned-package/components/badge/badge.d.ts +1 -1
  84. package/dist/versioned-package/components/badge/badge.js +1 -1
  85. package/dist/versioned-package/components/brandshape/brandshape.d.ts +1 -1
  86. package/dist/versioned-package/components/brandshape/brandshape.js +1 -1
  87. package/dist/versioned-package/components/button/button.d.ts +1 -1
  88. package/dist/versioned-package/components/button/button.js +4 -4
  89. package/dist/versioned-package/components/carousel/carousel.d.ts +1 -1
  90. package/dist/versioned-package/components/carousel/carousel.js +6 -6
  91. package/dist/versioned-package/components/carousel-item/carousel-item.d.ts +1 -1
  92. package/dist/versioned-package/components/carousel-item/carousel-item.js +1 -1
  93. package/dist/versioned-package/components/checkbox/checkbox.d.ts +1 -1
  94. package/dist/versioned-package/components/checkbox/checkbox.js +3 -3
  95. package/dist/versioned-package/components/checkbox-group/checkbox-group.d.ts +1 -1
  96. package/dist/versioned-package/components/checkbox-group/checkbox-group.js +5 -5
  97. package/dist/versioned-package/components/dialog/dialog.d.ts +1 -1
  98. package/dist/versioned-package/components/dialog/dialog.js +2 -2
  99. package/dist/versioned-package/components/divider/divider.d.ts +1 -1
  100. package/dist/versioned-package/components/divider/divider.js +2 -2
  101. package/dist/versioned-package/components/drawer/drawer.d.ts +1 -1
  102. package/dist/versioned-package/components/drawer/drawer.js +2 -2
  103. package/dist/versioned-package/components/dropdown/dropdown.d.ts +1 -1
  104. package/dist/versioned-package/components/dropdown/dropdown.js +8 -8
  105. package/dist/versioned-package/components/header/header.d.ts +1 -1
  106. package/dist/versioned-package/components/header/header.js +4 -4
  107. package/dist/versioned-package/components/icon/icon.d.ts +1 -1
  108. package/dist/versioned-package/components/icon/icon.js +1 -1
  109. package/dist/versioned-package/components/icon/library.system.d.ts +1 -2
  110. package/dist/versioned-package/components/icon/library.system.js +2 -7
  111. package/dist/versioned-package/components/include/include.d.ts +1 -1
  112. package/dist/versioned-package/components/include/include.js +1 -1
  113. package/dist/versioned-package/components/input/input.d.ts +1 -1
  114. package/dist/versioned-package/components/input/input.js +2 -2
  115. package/dist/versioned-package/components/link/link.d.ts +1 -1
  116. package/dist/versioned-package/components/link/link.js +2 -2
  117. package/dist/versioned-package/components/map-marker/map-marker.d.ts +1 -1
  118. package/dist/versioned-package/components/map-marker/map-marker.js +1 -1
  119. package/dist/versioned-package/components/navigation-item/navigation-item.d.ts +1 -1
  120. package/dist/versioned-package/components/navigation-item/navigation-item.js +3 -3
  121. package/dist/versioned-package/components/notification/notification.d.ts +1 -1
  122. package/dist/versioned-package/components/notification/notification.js +5 -5
  123. package/dist/versioned-package/components/option/option.d.ts +1 -1
  124. package/dist/versioned-package/components/option/option.js +2 -2
  125. package/dist/versioned-package/components/popup/popup.d.ts +1 -1
  126. package/dist/versioned-package/components/popup/popup.js +1 -1
  127. package/dist/versioned-package/components/radio/radio.d.ts +1 -1
  128. package/dist/versioned-package/components/radio/radio.js +2 -2
  129. package/dist/versioned-package/components/radio-button/radio-button.d.ts +1 -1
  130. package/dist/versioned-package/components/radio-button/radio-button.js +2 -2
  131. package/dist/versioned-package/components/radio-group/radio-group.d.ts +2 -2
  132. package/dist/versioned-package/components/radio-group/radio-group.js +13 -13
  133. package/dist/versioned-package/components/scrollable/scrollable.d.ts +1 -1
  134. package/dist/versioned-package/components/scrollable/scrollable.js +3 -3
  135. package/dist/versioned-package/components/select/select.d.ts +4 -4
  136. package/dist/versioned-package/components/select/select.js +25 -25
  137. package/dist/versioned-package/components/spinner/spinner.d.ts +1 -1
  138. package/dist/versioned-package/components/spinner/spinner.js +1 -1
  139. package/dist/versioned-package/components/step/step.d.ts +27 -0
  140. package/dist/versioned-package/components/step/step.js +147 -0
  141. package/dist/versioned-package/components/step-group/step-group.d.ts +22 -0
  142. package/dist/versioned-package/components/step-group/step-group.js +127 -0
  143. package/dist/versioned-package/components/switch/switch.d.ts +1 -1
  144. package/dist/versioned-package/components/switch/switch.js +1 -1
  145. package/dist/versioned-package/components/tab/tab.d.ts +1 -1
  146. package/dist/versioned-package/components/tab/tab.js +2 -2
  147. package/dist/versioned-package/components/tab-group/tab-group.d.ts +1 -1
  148. package/dist/versioned-package/components/tab-group/tab-group.js +13 -13
  149. package/dist/versioned-package/components/tab-panel/tab-panel.d.ts +1 -1
  150. package/dist/versioned-package/components/tab-panel/tab-panel.js +2 -2
  151. package/dist/versioned-package/components/tag/tag.d.ts +1 -1
  152. package/dist/versioned-package/components/tag/tag.js +2 -2
  153. package/dist/versioned-package/components/teaser/teaser.js +1 -1
  154. package/dist/versioned-package/components/teaser-media/teaser-media.js +1 -1
  155. package/dist/versioned-package/components/textarea/textarea.d.ts +1 -1
  156. package/dist/versioned-package/components/textarea/textarea.js +2 -2
  157. package/dist/versioned-package/components/tooltip/tooltip.d.ts +1 -1
  158. package/dist/versioned-package/components/tooltip/tooltip.js +5 -5
  159. package/dist/versioned-package/components/video/video.d.ts +1 -1
  160. package/dist/versioned-package/components/video/video.js +2 -2
  161. package/dist/versioned-package/internal/form.js +3 -3
  162. package/dist/versioned-package/solid-components.d.ts +2 -0
  163. package/dist/versioned-package/solid-components.js +24 -20
  164. package/dist/versioned-package/styles/headline/headline.css.js +1 -1
  165. package/dist/versioned-package/styles/interactive/interactive.css.js +1 -1
  166. package/dist/versioned-package/styles/paragraph/paragraph.css.js +4 -0
  167. package/dist/versioned-package/styles/tailwind.css.js +1 -1
  168. package/dist/versioned-package/utilities/autocomplete-config.js +4 -4
  169. package/dist/versioned-styles/solid-styles.css +1 -1
  170. package/dist/vscode.html-custom-data.json +263 -39
  171. package/dist/web-types.json +600 -40
  172. package/package.json +3 -3
@@ -32,7 +32,7 @@ let SdSelect = class extends SolidElement {
32
32
  constructor() {
33
33
  super(...arguments);
34
34
  this.formControlController = new FormControlController(this, {
35
- assumeInteractionOn: ["sd-blur", "sd-3-4-0-input"]
35
+ assumeInteractionOn: ["sd-blur", "sd-3-6-0-input"]
36
36
  });
37
37
  this.hasSlotController = new HasSlotController(this, "help-text", "label");
38
38
  this.localize = new LocalizeController(this);
@@ -63,11 +63,11 @@ let SdSelect = class extends SolidElement {
63
63
  this.styleOnValid = false;
64
64
  this.hoist = false;
65
65
  this.getTag = (option) => {
66
- return html`<sd-3-4-0-tag ?disabled="${this.disabled}" part="tag" exportparts="
66
+ return html`<sd-3-6-0-tag ?disabled="${this.disabled}" part="tag" exportparts="
67
67
  base:tag__base,
68
68
  content:tag__content,
69
69
  removable-indicator:tag__removable-indicator,
70
- " size="${this.size === "sm" ? "sm" : "lg"}" removable @sd-remove="${(event) => this.handleTagRemove(event, option)}">${option.getTextLabel()}</sd-3-4-0-tag>`;
70
+ " size="${this.size === "sm" ? "sm" : "lg"}" removable @sd-remove="${(event) => this.handleTagRemove(event, option)}">${option.getTextLabel()}</sd-3-6-0-tag>`;
71
71
  };
72
72
  this.handleDocumentFocusIn = (event) => {
73
73
  const path = event.composedPath();
@@ -78,7 +78,7 @@ let SdSelect = class extends SolidElement {
78
78
  this.handleDocumentKeyDown = (event) => {
79
79
  const target = event.target;
80
80
  const isClearButton = target.closest(".select__clear") !== null;
81
- const isIconButton = target.closest("sd-3-4-0-icon-button") !== null;
81
+ const isIconButton = target.closest("sd-3-6-0-icon-button") !== null;
82
82
  if (isClearButton || isIconButton) {
83
83
  return;
84
84
  }
@@ -241,7 +241,7 @@ let SdSelect = class extends SolidElement {
241
241
  }
242
242
  handleOptionClick(event) {
243
243
  const target = event.target;
244
- const option = target.closest("sd-3-4-0-option");
244
+ const option = target.closest("sd-3-6-0-option");
245
245
  const oldValue = this.value;
246
246
  if (option && !option.disabled) {
247
247
  if (this.multiple) {
@@ -266,7 +266,7 @@ let SdSelect = class extends SolidElement {
266
266
  const allOptions = this.getAllOptions();
267
267
  const value = Array.isArray(this.value) ? this.value : [this.value];
268
268
  const values = [];
269
- if (customElements.get("sd-3-4-0-option")) {
269
+ if (customElements.get("sd-3-6-0-option")) {
270
270
  allOptions.forEach((option) => {
271
271
  if (this.multiple) {
272
272
  option.checkbox = true;
@@ -275,7 +275,7 @@ let SdSelect = class extends SolidElement {
275
275
  });
276
276
  this.setSelectedOptions(allOptions.filter((el) => value.includes(el.value)));
277
277
  } else {
278
- customElements.whenDefined("sd-3-4-0-option").then(() => this.handleDefaultSlotChange());
278
+ customElements.whenDefined("sd-3-6-0-option").then(() => this.handleDefaultSlotChange());
279
279
  }
280
280
  }
281
281
  handleTagRemove(event, option) {
@@ -288,13 +288,13 @@ let SdSelect = class extends SolidElement {
288
288
  });
289
289
  }
290
290
  }
291
- // Gets an array of all <sd-3-4-0-option> elements
291
+ // Gets an array of all <sd-3-6-0-option> elements
292
292
  getAllOptions() {
293
- return [...this.querySelectorAll("sd-3-4-0-option")];
293
+ return [...this.querySelectorAll("sd-3-6-0-option")];
294
294
  }
295
- // Gets the first <sd-3-4-0-option> element
295
+ // Gets the first <sd-3-6-0-option> element
296
296
  getFirstOption() {
297
- return this.querySelector("sd-3-4-0-option");
297
+ return this.querySelector("sd-3-6-0-option");
298
298
  }
299
299
  // Sets the current option, which is the option the user is currently interacting with (e.g. via keyboard). Only one
300
300
  // option may be "current" at a time.
@@ -356,7 +356,7 @@ let SdSelect = class extends SolidElement {
356
356
  const tag = this.getTag(option, index);
357
357
  return html`<div @sd-remove="${(e) => this.handleTagRemove(e, option)}">${typeof tag === "string" ? unsafeHTML(tag) : tag}</div>`;
358
358
  } else if (index === this.maxOptionsVisible) {
359
- return html`<sd-3-4-0-tag size="${this.size === "sm" ? "sm" : "lg"}" ?disabled="${this.disabled}">+${this.selectedOptions.length - index}</sd-3-4-0-tag>`;
359
+ return html`<sd-3-6-0-tag size="${this.size === "sm" ? "sm" : "lg"}" ?disabled="${this.disabled}">+${this.selectedOptions.length - index}</sd-3-6-0-tag>`;
360
360
  }
361
361
  return html``;
362
362
  });
@@ -372,7 +372,7 @@ let SdSelect = class extends SolidElement {
372
372
  handleMouseLeave() {
373
373
  this.hasHover = false;
374
374
  }
375
- /** Receives incoming event detail from sd-3-4-0-popup and updates local state for conditional styling. */
375
+ /** Receives incoming event detail from sd-3-6-0-popup and updates local state for conditional styling. */
376
376
  handleCurrentPlacement(e) {
377
377
  const incomingPlacement = e.detail;
378
378
  if (incomingPlacement) {
@@ -381,7 +381,7 @@ let SdSelect = class extends SolidElement {
381
381
  }
382
382
  handleUseTagsChange() {
383
383
  const allOptions = this.getAllOptions();
384
- if (customElements.get("sd-3-4-0-option")) {
384
+ if (customElements.get("sd-3-6-0-option")) {
385
385
  allOptions.forEach((option) => {
386
386
  option.checkbox = this.multiple;
387
387
  });
@@ -526,7 +526,7 @@ let SdSelect = class extends SolidElement {
526
526
  default: "border-neutral-800"
527
527
  }[selectState],
528
528
  this.open && (this.currentPlacement === "bottom" ? "rounded-bl-none rounded-br-none" : "rounded-tl-none rounded-tr-none")
529
- )}"></div><sd-3-4-0-popup @sd-current-placement="${this.handleCurrentPlacement}" class="${cx(
529
+ )}"></div><sd-3-6-0-popup @sd-current-placement="${this.handleCurrentPlacement}" class="${cx(
530
530
  "inline-flex relative w-full",
531
531
  this.currentPlacement === "bottom" ? "origin-top" : "origin-bottom"
532
532
  )}" placement="${this.placement}" strategy="${this.hoist ? "fixed" : "absolute"}" flip shift sync="width" auto-size="vertical" auto-size-padding="10" exportparts="
@@ -543,33 +543,33 @@ let SdSelect = class extends SolidElement {
543
543
  "appearance-none outline-none flex-grow bg-transparent w-full",
544
544
  cursorStyles,
545
545
  this.multiple && this.useTags && this.value.length > 0 ? "hidden" : ""
546
- )}" type="text" placeholder="${this.placeholder}" .disabled="${this.disabled}" .value="${this.displayLabel}" autocomplete="off" spellcheck="false" autocapitalize="off" readonly="readonly" aria-controls="listbox" aria-expanded="${this.open ? "true" : "false"}" aria-haspopup="listbox" aria-labelledby="label" aria-disabled="${this.disabled ? "true" : "false"}" aria-describedby="help-text" role="combobox" tabindex="0" @focus="${this.handleFocus}" @blur="${this.handleBlur}"> ${this.multiple && this.useTags ? html`<div part="tags" class="flex-grow flex flex-wrap items-center gap-1">${this.tags}</div>` : ""} <input class="${cx("value-input absolute top-0 left-0 w-full h-full opacity-0 -z-10", cursorStyles)}" type="text" ?disabled="${this.disabled}" ?required="${this.required}" .value="${Array.isArray(this.value) ? this.value.join(", ") : this.value}" tabindex="-1" aria-hidden="true" @focus="${() => this.focus()}" @invalid="${this.handleInvalid}"> ${hasClearIcon ? html`<button part="clear-button" class="${cx("select__clear flex justify-center", iconMarginLeft)}" type="button" aria-label="${this.localize.term("clearEntry")}" @mousedown="${this.handleClearMouseDown}" @click="${this.handleClearClick}" tabindex="-1"><slot name="clear-icon"><sd-3-4-0-icon class="${cx("text-neutral-500", iconSize)}" library="system" name="closing-round"></sd-3-4-0-icon></slot></button>` : ""} ${this.showInvalidStyle ? html`<sd-3-4-0-icon part="invalid-icon" class="${cx(iconMarginLeft, iconSize)}" library="system" name="risk"></sd-3-4-0-icon>` : ""} ${this.styleOnValid && this.showValidStyle ? html`<sd-3-4-0-icon part="valid-icon" class="${cx("flex-shrink-0", iconMarginLeft, iconSize)}" library="system" name="confirm"></sd-3-4-0-icon>` : ""}<slot name="expand-icon" part="expand-icon" class="${cx(
546
+ )}" type="text" placeholder="${this.placeholder}" .disabled="${this.disabled}" .value="${this.displayLabel}" autocomplete="off" spellcheck="false" autocapitalize="off" readonly="readonly" aria-controls="listbox" aria-expanded="${this.open ? "true" : "false"}" aria-haspopup="listbox" aria-labelledby="label" aria-disabled="${this.disabled ? "true" : "false"}" aria-describedby="help-text" role="combobox" tabindex="0" @focus="${this.handleFocus}" @blur="${this.handleBlur}"> ${this.multiple && this.useTags ? html`<div part="tags" class="flex-grow flex flex-wrap items-center gap-1">${this.tags}</div>` : ""} <input class="${cx("value-input absolute top-0 left-0 w-full h-full opacity-0 -z-10", cursorStyles)}" type="text" ?disabled="${this.disabled}" ?required="${this.required}" .value="${Array.isArray(this.value) ? this.value.join(", ") : this.value}" tabindex="-1" aria-hidden="true" @focus="${() => this.focus()}" @invalid="${this.handleInvalid}"> ${hasClearIcon ? html`<button part="clear-button" class="${cx("select__clear flex justify-center", iconMarginLeft)}" type="button" aria-label="${this.localize.term("clearEntry")}" @mousedown="${this.handleClearMouseDown}" @click="${this.handleClearClick}" tabindex="-1"><slot name="clear-icon"><sd-3-6-0-icon class="${cx("text-neutral-500", iconSize)}" library="system" name="closing-round"></sd-3-6-0-icon></slot></button>` : ""} ${this.showInvalidStyle ? html`<sd-3-6-0-icon part="invalid-icon" class="${cx(iconMarginLeft, iconSize)}" library="system" name="risk"></sd-3-6-0-icon>` : ""} ${this.styleOnValid && this.showValidStyle ? html`<sd-3-6-0-icon part="valid-icon" class="${cx("flex-shrink-0", iconMarginLeft, iconSize)}" library="system" name="status-check"></sd-3-6-0-icon>` : ""}<slot name="expand-icon" part="expand-icon" class="${cx(
547
547
  "inline-flex ml-2 transition-all",
548
548
  this.open ? "rotate-180" : "rotate-0",
549
549
  this.disabled ? "text-neutral-500" : "text-primary",
550
550
  iconSize
551
- )}"><sd-3-4-0-icon name="chevron-down" part="chevron" library="system" color="currentColor"></sd-3-4-0-icon></slot></div><div id="listbox" role="listbox" aria-expanded="${this.open ? "true" : "false"}" aria-multiselectable="${this.multiple ? "true" : "false"}" aria-labelledby="label" part="listbox" class="${cx(
551
+ )}"><sd-3-6-0-icon name="chevron-down" part="chevron" library="system" color="currentColor"></sd-3-6-0-icon></slot></div><div id="listbox" role="listbox" aria-expanded="${this.open ? "true" : "false"}" aria-multiselectable="${this.multiple ? "true" : "false"}" aria-labelledby="label" part="listbox" class="${cx(
552
552
  "bg-white px-2 py-3 relative border-primary",
553
553
  this.open && "shadow",
554
554
  this.currentPlacement === "bottom" ? "border-r-2 border-b-2 border-l-2 rounded-br-default rounded-bl-default" : "border-r-2 border-t-2 border-l-2 rounded-tr-default rounded-tl-default"
555
- )}" tabindex="-1" @mouseup="${this.handleOptionClick}" @slotchange="${this.handleDefaultSlotChange}"><slot></slot></div></sd-3-4-0-popup></div><div class="text-sm text-neutral-700" part="form-control-help-text" id="help-text" aria-hidden="${hasHelpText ? "false" : "true"}"><slot name="help-text">${this.helpText}</slot></div></div>${this.formControlController.renderInvalidMessage()}`;
555
+ )}" tabindex="-1" @mouseup="${this.handleOptionClick}" @slotchange="${this.handleDefaultSlotChange}"><slot></slot></div></sd-3-6-0-popup></div><div class="text-sm text-neutral-700" part="form-control-help-text" id="help-text" aria-hidden="${hasHelpText ? "false" : "true"}"><slot name="help-text">${this.helpText}</slot></div></div>${this.formControlController.renderInvalidMessage()}`;
556
556
  }
557
557
  };
558
558
  SdSelect.dependencies = {
559
- "sd-3-4-0-icon": SdIcon,
560
- "sd-3-4-0-popup": SdPopup,
561
- "sd-3-4-0-tag": SdTag
559
+ "sd-3-6-0-icon": SdIcon,
560
+ "sd-3-6-0-popup": SdPopup,
561
+ "sd-3-6-0-tag": SdTag
562
562
  };
563
563
  SdSelect.styles = [
564
564
  componentStyles,
565
565
  SolidElement.styles,
566
- css`:host{position:relative;display:block;width:100%}:host([required]) #label::after{content:' *'}sd-3-4-0-popup::part(popup){z-index:var(--sd-z-index-dropdown,900);overflow-y:scroll}sd-3-4-0-tag::part(base){border-radius:var(--sd-border-radius-default,.25rem);padding-left:var(--sd-spacing-1,.25rem);padding-right:var(--sd-spacing-1,.25rem)}sd-3-4-0-tag[size=lg]::part(base){padding-left:var(--sd-spacing-2,.5rem);padding-right:var(--sd-spacing-2,.5rem)}sd-3-4-0-tag[disabled=false]::part(base):hover{--tw-bg-opacity:1;background-color:rgb(var(--sd-color-primary-100,236 240 249) / var(--tw-bg-opacity))}`
566
+ css`:host{position:relative;display:block;width:100%}:host([required]) #label::after{content:' *'}sd-3-6-0-popup::part(popup){z-index:var(--sd-z-index-dropdown,900);overflow-y:scroll}sd-3-6-0-tag::part(base){border-radius:var(--sd-border-radius-default,.25rem);padding-left:var(--sd-spacing-1,.25rem);padding-right:var(--sd-spacing-1,.25rem)}sd-3-6-0-tag[size=lg]::part(base){padding-left:var(--sd-spacing-2,.5rem);padding-right:var(--sd-spacing-2,.5rem)}sd-3-6-0-tag[disabled=false]::part(base):hover{--tw-bg-opacity:1;background-color:rgb(var(--sd-color-primary-100,236 240 249) / var(--tw-bg-opacity))}`
567
567
  ];
568
568
  __decorateClass([
569
- queryAssignedElements({ selector: "sd-3-4-0-option" })
569
+ queryAssignedElements({ selector: "sd-3-6-0-option" })
570
570
  ], SdSelect.prototype, "_optionsInDefaultSlot", 2);
571
571
  __decorateClass([
572
- query("sd-3-4-0-popup")
572
+ query("sd-3-6-0-popup")
573
573
  ], SdSelect.prototype, "popup", 2);
574
574
  __decorateClass([
575
575
  query('[part="combobox"]')
@@ -688,7 +688,7 @@ __decorateClass([
688
688
  watch("value", { waitUntilFirstUpdate: true })
689
689
  ], SdSelect.prototype, "handleValueChange", 1);
690
690
  SdSelect = __decorateClass([
691
- customElement("sd-3-4-0-select")
691
+ customElement("sd-3-6-0-select")
692
692
  ], SdSelect);
693
693
  setDefaultAnimation("select.show", {
694
694
  keyframes: [
@@ -7,6 +7,6 @@ export default class SdSpinner extends SolidElement {
7
7
  }
8
8
  declare global {
9
9
  interface HTMLElementTagNameMap {
10
- 'sd-3-4-0-spinner': SdSpinner;
10
+ 'sd-3-6-0-spinner': SdSpinner;
11
11
  }
12
12
  }
@@ -40,7 +40,7 @@ __decorateClass([
40
40
  property({ reflect: true })
41
41
  ], SdSpinner.prototype, "color", 2);
42
42
  SdSpinner = __decorateClass([
43
- customElement("sd-3-4-0-spinner")
43
+ customElement("sd-3-6-0-spinner")
44
44
  ], SdSpinner);
45
45
  export {
46
46
  SdSpinner as default
@@ -0,0 +1,27 @@
1
+ import SolidElement from '../../internal/solid-element';
2
+ export default class SdStep extends SolidElement {
3
+ size: 'lg' | 'sm';
4
+ orientation: 'horizontal' | 'vertical';
5
+ disabled: boolean;
6
+ current: boolean;
7
+ noTail: boolean;
8
+ notInteractive: boolean;
9
+ label: string;
10
+ description: string;
11
+ index: number;
12
+ href: string;
13
+ connectedCallback(): void;
14
+ private isLink;
15
+ private handleBlur;
16
+ private handleFocus;
17
+ handleCurrentChange(): void;
18
+ handleDisabledChange(): void;
19
+ handleInteractivityChange(): void;
20
+ render(): import("lit-html").TemplateResult;
21
+ static styles: import("lit").CSSResultGroup[];
22
+ }
23
+ declare global {
24
+ interface HTMLElementTagNameMap {
25
+ 'sd-3-6-0-step': SdStep;
26
+ }
27
+ }
@@ -0,0 +1,147 @@
1
+ import { unsafeCSS, css } from "lit";
2
+ import { customElement } from "../../internal/register-custom-element.js";
3
+ import { literal, html } from "lit/static-html.js";
4
+ import { ifDefined } from "lit/directives/if-defined.js";
5
+ import { property } from "lit/decorators.js";
6
+ import { watch } from "../../internal/watch.js";
7
+ import componentStyles from "../../styles/component.styles.js";
8
+ import cx from "classix";
9
+ import ParagraphStyles from "../../styles/paragraph/paragraph.css.js";
10
+ import SolidElement from "../../internal/solid-element.js";
11
+ var __defProp = Object.defineProperty;
12
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
13
+ var __decorateClass = (decorators, target, key, kind) => {
14
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
15
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
16
+ if (decorator = decorators[i])
17
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
18
+ if (kind && result)
19
+ __defProp(target, key, result);
20
+ return result;
21
+ };
22
+ let SdStep = class extends SolidElement {
23
+ constructor() {
24
+ super(...arguments);
25
+ this.size = "lg";
26
+ this.orientation = "horizontal";
27
+ this.disabled = false;
28
+ this.current = false;
29
+ this.noTail = false;
30
+ this.notInteractive = false;
31
+ this.label = "";
32
+ this.description = "";
33
+ this.index = 1;
34
+ this.href = "";
35
+ }
36
+ connectedCallback() {
37
+ super.connectedCallback();
38
+ }
39
+ isLink() {
40
+ return this.href ? true : false;
41
+ }
42
+ handleBlur() {
43
+ this.emit("sd-blur");
44
+ }
45
+ handleFocus() {
46
+ this.emit("sd-focus");
47
+ }
48
+ handleCurrentChange() {
49
+ if (this.current) {
50
+ this.disabled = false;
51
+ }
52
+ }
53
+ handleDisabledChange() {
54
+ if (this.disabled) {
55
+ this.current = false;
56
+ }
57
+ }
58
+ handleInteractivityChange() {
59
+ if (this.notInteractive) {
60
+ this.current = false;
61
+ this.disabled = false;
62
+ }
63
+ }
64
+ render() {
65
+ const isLink = this.isLink();
66
+ const tag = this.notInteractive ? literal`div` : isLink ? literal`a` : literal`button`;
67
+ return html`<div part="base" class="${cx(
68
+ "flex pt-1",
69
+ this.orientation === "horizontal" ? "flex-col w-full" : "flex-row gap-4 items-stretch h-full w-min overflow-hidden",
70
+ !this.disabled && !this.current && !this.notInteractive && "group"
71
+ )}" @focus="${this.handleFocus}" @blur="${this.handleBlur}"><div part="circle-and-tail-container" class="${cx(
72
+ "flex shrink-0 gap-2",
73
+ this.noTail && "w-max",
74
+ this.orientation === "horizontal" ? "flex-row" : "flex-col items-stretch",
75
+ this.orientation === "horizontal" ? this.size === "lg" ? "translateLg" : "translateSm" : this.size === "lg" ? "mt-1" : "mt-3"
76
+ )}"><${tag} part="circle" ?disabled="${this.disabled}" tabindex="${!this.disabled && !this.current ? "0" : "-1"}" href="${ifDefined(isLink ? this.href : void 0)}" aria-current="${this.current ? "step" : void 0}" aria-label="Step ${this.index}" class="${cx(
77
+ "border rounded-full aspect-square circle flex items-center justify-center shrink-0 font-bold select-none",
78
+ !this.disabled && !this.current ? "focus-visible:focus-outline" : "focus-visible:outline-none",
79
+ this.notInteractive ? this.size === "lg" ? "w-[72px]" : "w-12" : this.size === "lg" ? "w-12" : "w-8",
80
+ this.disabled && "border-neutral-400 text-neutral-500",
81
+ !this.disabled && !this.current && !this.notInteractive && "border-primary group-hover:bg-primary-100 group-hover:border-primary-500",
82
+ this.notInteractive ? "border-neutral-400" : "group-hover:cursor-pointer",
83
+ this.current && "bg-accent border-none text-white"
84
+ )}"><slot name="circle-content" class="${cx(
85
+ !this.disabled && !this.current && !this.notInteractive && "text-primary group-hover:text-primary-500 group-hover:fill-primary-500",
86
+ this.notInteractive && "text-primary",
87
+ this.size === "lg" ? "text-lg" : "text-sm"
88
+ )}">${!this.disabled && !this.current && !this.notInteractive ? html`<sd-3-6-0-icon name="status-check" library="system"></sd-3-6-0-icon>` : html`${this.index}`}</slot></${tag}>${this.noTail ? "" : this.orientation === "horizontal" ? html`<sd-3-6-0-divider part="tail" orientation="horizontal" class="${cx(
89
+ "w-full my-auto mr-2",
90
+ !this.disabled && !this.current && !this.notInteractive && "tail-to-primary"
91
+ )}"></sd-3-6-0-divider>` : html`<sd-3-6-0-divider part="tail" orientation="vertical" class="${cx(
92
+ "flex-grow flex-shrink-0 basis-auto h-full w-[1px] mx-auto",
93
+ !this.disabled && !this.current && !this.notInteractive && "tail-to-primary"
94
+ )}"></sd-3-6-0-divider>`}</div><div part="text-container" class="${cx("mt-4 mr-4 break-words flex flex-col gap-2", this.orientation === "horizontal" ? "text-center w-40" : "w-max text-left", this.disabled && "!text-neutral-500")}"><div part="label" class="${cx("!font-bold sd-paragraph", this.disabled && "!text-neutral-500", !this.disabled && !this.current && !this.notInteractive ? "!text-primary group-hover:!text-primary-500 group-hover:cursor-pointer" : "text-black")}"><slot name="label">${this.label}</slot></div><div part="description" class="${cx("sd-paragraph sd-paragraph--size-sm", this.disabled && "!text-neutral-500")}">${this.description || html`<slot></slot>`}</div></div></div>`;
95
+ }
96
+ };
97
+ SdStep.styles = [
98
+ SolidElement.styles,
99
+ componentStyles,
100
+ unsafeCSS(ParagraphStyles),
101
+ css`:host{flex:1 1 0%}[part=base]:not(:has(sd-3-6-0-divider)){height:-moz-max-content;height:max-content}:host([no-tail]){flex-grow:0}.translateLg{transform:translateX(55px)}.translateSm{transform:translateX(64px)}.tail-to-primary::part(main){--tw-border-opacity:1!important;border-color:rgb(var(--sd-color-primary,0 53 142) / var(--tw-border-opacity))!important}.group:hover .tail-to-primary::part(main){--tw-border-opacity:1!important;border-color:rgb(var(--sd-color-primary-500,70 109 175) / var(--tw-border-opacity))!important}sd-3-6-0-divider::part(main){--tw-border-opacity:1!important;border-color:rgb(var(--sd-color-neutral-400,195 195 195) / var(--tw-border-opacity))!important}`
102
+ ];
103
+ __decorateClass([
104
+ property({ reflect: true })
105
+ ], SdStep.prototype, "size", 2);
106
+ __decorateClass([
107
+ property({ reflect: true })
108
+ ], SdStep.prototype, "orientation", 2);
109
+ __decorateClass([
110
+ property({ type: Boolean, reflect: true })
111
+ ], SdStep.prototype, "disabled", 2);
112
+ __decorateClass([
113
+ property({ type: Boolean, reflect: true })
114
+ ], SdStep.prototype, "current", 2);
115
+ __decorateClass([
116
+ property({ reflect: true, type: Boolean, attribute: "no-tail" })
117
+ ], SdStep.prototype, "noTail", 2);
118
+ __decorateClass([
119
+ property({ type: Boolean, reflect: true, attribute: "not-interactive" })
120
+ ], SdStep.prototype, "notInteractive", 2);
121
+ __decorateClass([
122
+ property()
123
+ ], SdStep.prototype, "label", 2);
124
+ __decorateClass([
125
+ property()
126
+ ], SdStep.prototype, "description", 2);
127
+ __decorateClass([
128
+ property({ type: Number, reflect: true, attribute: "index" })
129
+ ], SdStep.prototype, "index", 2);
130
+ __decorateClass([
131
+ property()
132
+ ], SdStep.prototype, "href", 2);
133
+ __decorateClass([
134
+ watch("current")
135
+ ], SdStep.prototype, "handleCurrentChange", 1);
136
+ __decorateClass([
137
+ watch("disabled")
138
+ ], SdStep.prototype, "handleDisabledChange", 1);
139
+ __decorateClass([
140
+ watch("notInteractive")
141
+ ], SdStep.prototype, "handleInteractivityChange", 1);
142
+ SdStep = __decorateClass([
143
+ customElement("sd-3-6-0-step")
144
+ ], SdStep);
145
+ export {
146
+ SdStep as default
147
+ };
@@ -0,0 +1,22 @@
1
+ import SolidElement from '../../internal/solid-element';
2
+ export default class SdStepGroup extends SolidElement {
3
+ private steps;
4
+ body: HTMLSlotElement;
5
+ size: 'lg' | 'sm';
6
+ orientation: 'horizontal' | 'vertical';
7
+ activeStep: number;
8
+ notInteractive: boolean;
9
+ connectedCallback(): void;
10
+ updateSize(): void;
11
+ updateOrientation(): void;
12
+ private getAllSteps;
13
+ setActiveStep(index: number): void;
14
+ handleInteractivityChange(): void;
15
+ render(): import("lit-html").TemplateResult<1>;
16
+ static styles: import("lit").CSSResultGroup[];
17
+ }
18
+ declare global {
19
+ interface HTMLElementTagNameMap {
20
+ 'sd-3-6-0-step-group': SdStepGroup;
21
+ }
22
+ }
@@ -0,0 +1,127 @@
1
+ import { css, html } from "lit";
2
+ import { customElement } from "../../internal/register-custom-element.js";
3
+ import { query, property } from "lit/decorators.js";
4
+ import { watch } from "../../internal/watch.js";
5
+ import componentStyles from "../../styles/component.styles.js";
6
+ import cx from "classix";
7
+ import SolidElement from "../../internal/solid-element.js";
8
+ var __defProp = Object.defineProperty;
9
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
+ var __decorateClass = (decorators, target, key, kind) => {
11
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
12
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
13
+ if (decorator = decorators[i])
14
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
15
+ if (kind && result)
16
+ __defProp(target, key, result);
17
+ return result;
18
+ };
19
+ let SdStepGroup = class extends SolidElement {
20
+ constructor() {
21
+ super(...arguments);
22
+ this.steps = [];
23
+ this.size = "lg";
24
+ this.orientation = "horizontal";
25
+ this.activeStep = 0;
26
+ this.notInteractive = false;
27
+ }
28
+ connectedCallback() {
29
+ super.connectedCallback();
30
+ this.updateComplete.then(() => {
31
+ this.steps = this.getAllSteps();
32
+ this.steps[this.steps.length - 1].noTail = true;
33
+ let activeStep;
34
+ this.steps.forEach((step, index) => {
35
+ step.index = index + 1;
36
+ step.size = this.size;
37
+ step.orientation = this.orientation;
38
+ if (this.notInteractive) {
39
+ step.current = false;
40
+ step.disabled = false;
41
+ step.notInteractive = true;
42
+ } else if (step.current) {
43
+ activeStep = index;
44
+ }
45
+ });
46
+ this.setActiveStep(activeStep || this.activeStep);
47
+ });
48
+ }
49
+ updateSize() {
50
+ this.steps.forEach((step) => {
51
+ step.size = this.size;
52
+ });
53
+ }
54
+ updateOrientation() {
55
+ this.steps.forEach((step) => {
56
+ step.orientation = this.orientation;
57
+ });
58
+ }
59
+ getAllSteps() {
60
+ return [...this.body.assignedElements()].filter((el) => el.tagName.toLowerCase() === "sd-3-6-0-step");
61
+ }
62
+ /**
63
+ * Sets the active step.
64
+ * @param index The index of the step to set as active.
65
+ */
66
+ setActiveStep(index) {
67
+ if (index >= 0 && index < this.steps.length && !this.notInteractive) {
68
+ this.activeStep = index;
69
+ this.steps.forEach((step, i) => {
70
+ if (i === index) {
71
+ step.current = true;
72
+ } else if (i > index) {
73
+ step.disabled = true;
74
+ } else {
75
+ step.current = false;
76
+ }
77
+ });
78
+ }
79
+ }
80
+ handleInteractivityChange() {
81
+ if (this.notInteractive) {
82
+ this.steps.forEach((step) => {
83
+ step.current = false;
84
+ step.disabled = false;
85
+ step.notInteractive = true;
86
+ });
87
+ }
88
+ }
89
+ render() {
90
+ return html`<div part="base" role="${!this.notInteractive ? "navigation" : "group"}" class="${cx("flex", this.orientation === "vertical" && "flex-col h-full")}"><slot part="body"></slot></div>`;
91
+ }
92
+ };
93
+ SdStepGroup.styles = [
94
+ SolidElement.styles,
95
+ componentStyles,
96
+ css`:host{width:-moz-max-content;width:max-content}`
97
+ ];
98
+ __decorateClass([
99
+ query("[part=body]")
100
+ ], SdStepGroup.prototype, "body", 2);
101
+ __decorateClass([
102
+ property({ reflect: true })
103
+ ], SdStepGroup.prototype, "size", 2);
104
+ __decorateClass([
105
+ property({ reflect: true })
106
+ ], SdStepGroup.prototype, "orientation", 2);
107
+ __decorateClass([
108
+ property({ type: Number, reflect: true, attribute: "active-step" })
109
+ ], SdStepGroup.prototype, "activeStep", 2);
110
+ __decorateClass([
111
+ property({ type: Boolean, reflect: true, attribute: "not-interactive" })
112
+ ], SdStepGroup.prototype, "notInteractive", 2);
113
+ __decorateClass([
114
+ watch("size", { waitUntilFirstUpdate: true })
115
+ ], SdStepGroup.prototype, "updateSize", 1);
116
+ __decorateClass([
117
+ watch("orientation", { waitUntilFirstUpdate: true })
118
+ ], SdStepGroup.prototype, "updateOrientation", 1);
119
+ __decorateClass([
120
+ watch("notInteractive")
121
+ ], SdStepGroup.prototype, "handleInteractivityChange", 1);
122
+ SdStepGroup = __decorateClass([
123
+ customElement("sd-3-6-0-step-group")
124
+ ], SdStepGroup);
125
+ export {
126
+ SdStepGroup as default
127
+ };
@@ -34,6 +34,6 @@ export default class SdSwitch extends SolidElement implements SolidFormControl {
34
34
  }
35
35
  declare global {
36
36
  interface HTMLElementTagNameMap {
37
- 'sd-3-4-0-switch': SdSwitch;
37
+ 'sd-3-6-0-switch': SdSwitch;
38
38
  }
39
39
  }
@@ -163,7 +163,7 @@ __decorateClass([
163
163
  watch(["checked"], { waitUntilFirstUpdate: true })
164
164
  ], SdSwitch.prototype, "handleStateChange", 1);
165
165
  SdSwitch = __decorateClass([
166
- customElement("sd-3-4-0-switch")
166
+ customElement("sd-3-6-0-switch")
167
167
  ], SdSwitch);
168
168
  export {
169
169
  SdSwitch as default
@@ -17,6 +17,6 @@ export default class SdTab extends SolidElement {
17
17
  }
18
18
  declare global {
19
19
  interface HTMLElementTagNameMap {
20
- 'sd-3-4-0-tab': SdTab;
20
+ 'sd-3-6-0-tab': SdTab;
21
21
  }
22
22
  }
@@ -21,7 +21,7 @@ let SdTab = class extends SolidElement {
21
21
  constructor() {
22
22
  super(...arguments);
23
23
  this.attrId = ++id;
24
- this.componentId = `sd-3-4-0-tab-${this.attrId}`;
24
+ this.componentId = `sd-3-6-0-tab-${this.attrId}`;
25
25
  this.panel = "";
26
26
  this.variant = "default";
27
27
  this.active = false;
@@ -88,7 +88,7 @@ __decorateClass([
88
88
  watch("disabled")
89
89
  ], SdTab.prototype, "handleDisabledChange", 1);
90
90
  SdTab = __decorateClass([
91
- customElement("sd-3-4-0-tab")
91
+ customElement("sd-3-6-0-tab")
92
92
  ], SdTab);
93
93
  export {
94
94
  SdTab as default
@@ -35,6 +35,6 @@ export default class SdTabGroup extends SolidElement {
35
35
  }
36
36
  declare global {
37
37
  interface HTMLElementTagNameMap {
38
- 'sd-3-4-0-tab-group': SdTabGroup;
38
+ 'sd-3-6-0-tab-group': SdTabGroup;
39
39
  }
40
40
  }