@solid-design-system/components 1.32.0 → 1.33.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 (115) hide show
  1. package/dist/components/es/input.js +1 -1
  2. package/dist/components/es/solid-components2.js +1 -1
  3. package/dist/components/es/textarea.js +1 -0
  4. package/dist/components/umd/solid-components.js +16 -16
  5. package/dist/custom-elements.json +1 -1
  6. package/dist/package/components/input/input.js +2 -2
  7. package/dist/package/components/textarea/textarea.d.ts +67 -0
  8. package/dist/package/components/textarea/textarea.js +315 -0
  9. package/dist/package/solid-components.d.ts +1 -0
  10. package/dist/package/solid-components.js +6 -4
  11. package/dist/versioned-components/es/accordion-group.js +1 -1
  12. package/dist/versioned-components/es/accordion.js +1 -1
  13. package/dist/versioned-components/es/badge.js +1 -1
  14. package/dist/versioned-components/es/brandshape.js +1 -1
  15. package/dist/versioned-components/es/button.js +1 -1
  16. package/dist/versioned-components/es/carousel-item.js +1 -1
  17. package/dist/versioned-components/es/carousel.js +3 -3
  18. package/dist/versioned-components/es/checkbox-group.js +1 -1
  19. package/dist/versioned-components/es/checkbox.js +1 -1
  20. package/dist/versioned-components/es/divider.js +1 -1
  21. package/dist/versioned-components/es/drawer.js +1 -1
  22. package/dist/versioned-components/es/dropdown.js +1 -1
  23. package/dist/versioned-components/es/form-control.styles.js +1 -1
  24. package/dist/versioned-components/es/form.js +1 -1
  25. package/dist/versioned-components/es/header.js +1 -1
  26. package/dist/versioned-components/es/icon.js +1 -1
  27. package/dist/versioned-components/es/include.js +1 -1
  28. package/dist/versioned-components/es/input.js +1 -1
  29. package/dist/versioned-components/es/link.js +1 -1
  30. package/dist/versioned-components/es/navigation-item.js +1 -1
  31. package/dist/versioned-components/es/notification.js +1 -1
  32. package/dist/versioned-components/es/option.js +1 -1
  33. package/dist/versioned-components/es/popup.js +1 -1
  34. package/dist/versioned-components/es/radio-group.js +1 -1
  35. package/dist/versioned-components/es/radio.js +1 -1
  36. package/dist/versioned-components/es/select.js +2 -2
  37. package/dist/versioned-components/es/solid-components2.js +1 -1
  38. package/dist/versioned-components/es/spinner.js +1 -1
  39. package/dist/versioned-components/es/switch.js +1 -1
  40. package/dist/versioned-components/es/tag.js +1 -1
  41. package/dist/versioned-components/es/teaser.js +1 -1
  42. package/dist/versioned-components/es/textarea.js +1 -0
  43. package/dist/versioned-components/es/tooltip.js +2 -2
  44. package/dist/versioned-components/es/video.js +1 -1
  45. package/dist/versioned-package/_components/button-group/button-group.d.ts +1 -1
  46. package/dist/versioned-package/_components/button-group/button-group.js +11 -11
  47. package/dist/versioned-package/components/accordion/accordion.d.ts +1 -1
  48. package/dist/versioned-package/components/accordion/accordion.js +2 -2
  49. package/dist/versioned-package/components/accordion-group/accordion-group.d.ts +1 -1
  50. package/dist/versioned-package/components/accordion-group/accordion-group.js +3 -3
  51. package/dist/versioned-package/components/badge/badge.d.ts +1 -1
  52. package/dist/versioned-package/components/badge/badge.js +1 -1
  53. package/dist/versioned-package/components/brandshape/brandshape.d.ts +1 -1
  54. package/dist/versioned-package/components/brandshape/brandshape.js +1 -1
  55. package/dist/versioned-package/components/button/button.d.ts +1 -1
  56. package/dist/versioned-package/components/button/button.js +4 -4
  57. package/dist/versioned-package/components/carousel/carousel.d.ts +1 -1
  58. package/dist/versioned-package/components/carousel/carousel.js +6 -6
  59. package/dist/versioned-package/components/carousel-item/carousel-item.d.ts +1 -1
  60. package/dist/versioned-package/components/carousel-item/carousel-item.js +1 -1
  61. package/dist/versioned-package/components/checkbox/checkbox.d.ts +1 -1
  62. package/dist/versioned-package/components/checkbox/checkbox.js +4 -4
  63. package/dist/versioned-package/components/checkbox-group/checkbox-group.d.ts +1 -1
  64. package/dist/versioned-package/components/checkbox-group/checkbox-group.js +5 -5
  65. package/dist/versioned-package/components/divider/divider.d.ts +1 -1
  66. package/dist/versioned-package/components/divider/divider.js +2 -2
  67. package/dist/versioned-package/components/drawer/drawer.d.ts +1 -1
  68. package/dist/versioned-package/components/drawer/drawer.js +2 -2
  69. package/dist/versioned-package/components/dropdown/dropdown.d.ts +1 -1
  70. package/dist/versioned-package/components/dropdown/dropdown.js +8 -8
  71. package/dist/versioned-package/components/header/header.d.ts +1 -1
  72. package/dist/versioned-package/components/header/header.js +4 -4
  73. package/dist/versioned-package/components/icon/icon.d.ts +1 -1
  74. package/dist/versioned-package/components/icon/icon.js +1 -1
  75. package/dist/versioned-package/components/include/include.d.ts +1 -1
  76. package/dist/versioned-package/components/include/include.js +1 -1
  77. package/dist/versioned-package/components/input/input.d.ts +1 -1
  78. package/dist/versioned-package/components/input/input.js +6 -6
  79. package/dist/versioned-package/components/link/link.d.ts +1 -1
  80. package/dist/versioned-package/components/link/link.js +2 -2
  81. package/dist/versioned-package/components/navigation-item/navigation-item.d.ts +1 -1
  82. package/dist/versioned-package/components/navigation-item/navigation-item.js +3 -3
  83. package/dist/versioned-package/components/notification/notification.d.ts +1 -1
  84. package/dist/versioned-package/components/notification/notification.js +5 -5
  85. package/dist/versioned-package/components/option/option.d.ts +1 -1
  86. package/dist/versioned-package/components/option/option.js +2 -2
  87. package/dist/versioned-package/components/popup/popup.d.ts +1 -1
  88. package/dist/versioned-package/components/popup/popup.js +1 -1
  89. package/dist/versioned-package/components/radio/radio.d.ts +1 -1
  90. package/dist/versioned-package/components/radio/radio.js +2 -2
  91. package/dist/versioned-package/components/radio-group/radio-group.d.ts +2 -2
  92. package/dist/versioned-package/components/radio-group/radio-group.js +14 -14
  93. package/dist/versioned-package/components/select/select.d.ts +4 -4
  94. package/dist/versioned-package/components/select/select.js +28 -28
  95. package/dist/versioned-package/components/spinner/spinner.d.ts +1 -1
  96. package/dist/versioned-package/components/spinner/spinner.js +1 -1
  97. package/dist/versioned-package/components/switch/switch.d.ts +1 -1
  98. package/dist/versioned-package/components/switch/switch.js +2 -2
  99. package/dist/versioned-package/components/tag/tag.d.ts +1 -1
  100. package/dist/versioned-package/components/tag/tag.js +2 -2
  101. package/dist/versioned-package/components/teaser/teaser.js +1 -1
  102. package/dist/versioned-package/components/textarea/textarea.d.ts +67 -0
  103. package/dist/versioned-package/components/textarea/textarea.js +315 -0
  104. package/dist/versioned-package/components/tooltip/tooltip.d.ts +1 -1
  105. package/dist/versioned-package/components/tooltip/tooltip.js +5 -5
  106. package/dist/versioned-package/components/video/video.d.ts +1 -1
  107. package/dist/versioned-package/components/video/video.js +2 -2
  108. package/dist/versioned-package/internal/form.js +2 -2
  109. package/dist/versioned-package/solid-components.d.ts +1 -0
  110. package/dist/versioned-package/solid-components.js +6 -4
  111. package/dist/versioned-package/styles/form-control.styles.js +1 -1
  112. package/dist/versioned-styles/solid-styles.css +1 -1
  113. package/dist/vscode.html-custom-data.json +384 -30
  114. package/dist/web-types.json +445 -1
  115. package/package.json +3 -3
@@ -50,7 +50,7 @@ let SdSwitch = class extends SolidElement {
50
50
  this.emit("sd-blur");
51
51
  }
52
52
  handleInput() {
53
- this.emit("sd-1-32-0-input");
53
+ this.emit("sd-1-33-0-input");
54
54
  }
55
55
  handleInvalid(event) {
56
56
  this.formControlController.setValidity(false);
@@ -155,7 +155,7 @@ __decorateClass([
155
155
  watch(["checked"], { waitUntilFirstUpdate: true })
156
156
  ], SdSwitch.prototype, "handleStateChange", 1);
157
157
  SdSwitch = __decorateClass([
158
- customElement("sd-1-32-0-switch")
158
+ customElement("sd-1-33-0-switch")
159
159
  ], SdSwitch);
160
160
  export {
161
161
  SdSwitch as default
@@ -20,6 +20,6 @@ export default class SdTag extends SolidElement {
20
20
  }
21
21
  declare global {
22
22
  interface HTMLElementTagNameMap {
23
- 'sd-1-32-0-tag': SdTag;
23
+ 'sd-1-33-0-tag': SdTag;
24
24
  }
25
25
  }
@@ -74,7 +74,7 @@ let SdTag = class extends SolidElement {
74
74
  lg: "text-base",
75
75
  sm: "text-[12px]"
76
76
  }[this.size]
77
- )}"><sd-1-32-0-icon library="system" name="close" label="remove"></sd-1-32-0-icon></slot>` : ""}</${tag}>`;
77
+ )}"><sd-1-33-0-icon library="system" name="close" label="remove"></sd-1-33-0-icon></slot>` : ""}</${tag}>`;
78
78
  }
79
79
  };
80
80
  SdTag.styles = [
@@ -106,7 +106,7 @@ __decorateClass([
106
106
  property()
107
107
  ], SdTag.prototype, "download", 2);
108
108
  SdTag = __decorateClass([
109
- customElement("sd-1-32-0-tag")
109
+ customElement("sd-1-33-0-tag")
110
110
  ], SdTag);
111
111
  export {
112
112
  SdTag as default
@@ -96,7 +96,7 @@ __decorateClass([
96
96
  state()
97
97
  ], SdTeaser.prototype, "_orientation", 2);
98
98
  SdTeaser = __decorateClass([
99
- customElement("sd-1-32-0-teaser")
99
+ customElement("sd-1-33-0-teaser")
100
100
  ], SdTeaser);
101
101
  export {
102
102
  SdTeaser as default
@@ -0,0 +1,67 @@
1
+ import SolidElement from '../../internal/solid-element';
2
+ import type { SolidFormControl } from '../../internal/solid-element';
3
+ export default class SdTextarea extends SolidElement implements SolidFormControl {
4
+ private readonly formControlController;
5
+ private readonly hasSlotController;
6
+ textarea: HTMLTextAreaElement;
7
+ private hasFocus;
8
+ title: string;
9
+ name: string;
10
+ value: string;
11
+ size: 'lg' | 'md' | 'sm';
12
+ label: string;
13
+ helpText: string;
14
+ placeholder: string;
15
+ rows: number;
16
+ disabled: boolean;
17
+ readonly: boolean;
18
+ form: string;
19
+ required: boolean;
20
+ minlength: number;
21
+ maxlength: number;
22
+ autocapitalize: 'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters';
23
+ autocorrect: 'off' | 'on';
24
+ autocomplete: string;
25
+ autofocus: boolean;
26
+ enterkeyhint: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send';
27
+ spellcheck: boolean;
28
+ inputmode: 'none' | 'text';
29
+ defaultValue: string;
30
+ get validity(): ValidityState;
31
+ get validationMessage(): string;
32
+ connectedCallback(): void;
33
+ firstUpdated(): void;
34
+ disconnectedCallback(): void;
35
+ private handleBlur;
36
+ private handleChange;
37
+ private handleFocus;
38
+ private handleInput;
39
+ private handleInvalid;
40
+ private setTextareaHeight;
41
+ handleDisabledChange(): void;
42
+ handleRowsChange(): void;
43
+ handleValueChange(): Promise<void>;
44
+ focus(options?: FocusOptions): void;
45
+ blur(): void;
46
+ select(): void;
47
+ scrollPosition(position?: {
48
+ top?: number;
49
+ left?: number;
50
+ }): {
51
+ top: number;
52
+ left: number;
53
+ } | undefined;
54
+ setSelectionRange(selectionStart: number, selectionEnd: number, selectionDirection?: 'forward' | 'backward' | 'none'): void;
55
+ setRangeText(replacement: string, start?: number, end?: number, selectMode?: 'select' | 'start' | 'end' | 'preserve'): void;
56
+ checkValidity(): boolean;
57
+ getForm(): HTMLFormElement | null;
58
+ reportValidity(): boolean;
59
+ setCustomValidity(message: string): void;
60
+ render(): import("lit-html").TemplateResult<1>;
61
+ static styles: import("lit").CSSResultGroup[];
62
+ }
63
+ declare global {
64
+ interface HTMLElementTagNameMap {
65
+ 'sd-1-33-0-textarea': SdTextarea;
66
+ }
67
+ }
@@ -0,0 +1,315 @@
1
+ import { css, html } from "lit";
2
+ import { customElement } from "../../internal/register-custom-element.js";
3
+ import { defaultValue } from "../../internal/default-value.js";
4
+ import { FormControlController } from "../../internal/form.js";
5
+ import { HasSlotController } from "../../internal/slot.js";
6
+ import { ifDefined } from "lit/directives/if-defined.js";
7
+ import { live } from "lit/directives/live.js";
8
+ import { query, state, property } from "lit/decorators.js";
9
+ import { watch } from "../../internal/watch.js";
10
+ import cx from "classix";
11
+ import formControlStyles from "../../styles/form-control.styles.js";
12
+ import SolidElement from "../../internal/solid-element.js";
13
+ var __defProp = Object.defineProperty;
14
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
15
+ var __decorateClass = (decorators, target, key, kind) => {
16
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
17
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
18
+ if (decorator = decorators[i])
19
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
20
+ if (kind && result)
21
+ __defProp(target, key, result);
22
+ return result;
23
+ };
24
+ let SdTextarea = class extends SolidElement {
25
+ constructor() {
26
+ super(...arguments);
27
+ this.formControlController = new FormControlController(this);
28
+ this.hasSlotController = new HasSlotController(this, "help-text", "label");
29
+ this.hasFocus = false;
30
+ this.title = "";
31
+ this.name = "";
32
+ this.value = "";
33
+ this.size = "lg";
34
+ this.label = "";
35
+ this.helpText = "";
36
+ this.placeholder = "";
37
+ this.rows = 4;
38
+ this.disabled = false;
39
+ this.readonly = false;
40
+ this.form = "";
41
+ this.required = false;
42
+ this.spellcheck = true;
43
+ this.defaultValue = "";
44
+ }
45
+ /** Gets the validity state object */
46
+ get validity() {
47
+ return this.textarea.validity;
48
+ }
49
+ /** Gets the validation message */
50
+ get validationMessage() {
51
+ return this.textarea.validationMessage;
52
+ }
53
+ connectedCallback() {
54
+ super.connectedCallback();
55
+ this.updateComplete.then(() => {
56
+ this.setTextareaHeight();
57
+ });
58
+ }
59
+ firstUpdated() {
60
+ this.formControlController.updateValidity();
61
+ }
62
+ disconnectedCallback() {
63
+ super.disconnectedCallback();
64
+ }
65
+ handleBlur() {
66
+ this.hasFocus = false;
67
+ this.emit("sd-blur");
68
+ }
69
+ handleChange() {
70
+ this.value = this.textarea.value;
71
+ this.setTextareaHeight();
72
+ this.emit("sd-change");
73
+ }
74
+ handleFocus() {
75
+ this.hasFocus = true;
76
+ this.emit("sd-focus");
77
+ }
78
+ handleInput() {
79
+ this.value = this.textarea.value;
80
+ this.formControlController.updateValidity();
81
+ this.emit("sd-1-33-0-input");
82
+ }
83
+ handleInvalid(event) {
84
+ this.formControlController.setValidity(false);
85
+ this.formControlController.emitInvalidEvent(event);
86
+ }
87
+ setTextareaHeight() {
88
+ this.textarea.style.height = void 0;
89
+ }
90
+ handleDisabledChange() {
91
+ this.formControlController.setValidity(this.disabled);
92
+ }
93
+ handleRowsChange() {
94
+ this.setTextareaHeight();
95
+ }
96
+ async handleValueChange() {
97
+ await this.updateComplete;
98
+ this.formControlController.updateValidity();
99
+ this.setTextareaHeight();
100
+ }
101
+ /** Sets focus on the textarea. */
102
+ focus(options) {
103
+ this.textarea.focus(options);
104
+ }
105
+ /** Removes focus from the textarea. */
106
+ blur() {
107
+ this.textarea.blur();
108
+ }
109
+ /** Selects all the text in the textarea. */
110
+ select() {
111
+ this.textarea.select();
112
+ }
113
+ /** Gets or sets the textarea's scroll position. */
114
+ scrollPosition(position) {
115
+ if (position) {
116
+ if (typeof position.top === "number")
117
+ this.textarea.scrollTop = position.top;
118
+ if (typeof position.left === "number")
119
+ this.textarea.scrollLeft = position.left;
120
+ return void 0;
121
+ }
122
+ return {
123
+ top: this.textarea.scrollTop,
124
+ left: this.textarea.scrollTop
125
+ };
126
+ }
127
+ /** Sets the start and end positions of the text selection (0-based). */
128
+ setSelectionRange(selectionStart, selectionEnd, selectionDirection = "none") {
129
+ this.textarea.setSelectionRange(selectionStart, selectionEnd, selectionDirection);
130
+ }
131
+ /** Replaces a range of text with a new string. */
132
+ setRangeText(replacement, start, end, selectMode) {
133
+ this.textarea.setRangeText(replacement, start, end, selectMode);
134
+ if (this.value !== this.textarea.value) {
135
+ this.value = this.textarea.value;
136
+ }
137
+ if (this.value !== this.textarea.value) {
138
+ this.value = this.textarea.value;
139
+ this.setTextareaHeight();
140
+ }
141
+ }
142
+ /** Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid. */
143
+ checkValidity() {
144
+ var _a;
145
+ return (_a = this.textarea) == null ? void 0 : _a.checkValidity();
146
+ }
147
+ /** Gets the associated form, if one exists. */
148
+ getForm() {
149
+ return this.formControlController.getForm();
150
+ }
151
+ /** Checks for validity and shows the browser's validation message if the control is invalid. */
152
+ reportValidity() {
153
+ return this.textarea.reportValidity();
154
+ }
155
+ /** Sets a custom validation message. Pass an empty string to restore validity. */
156
+ setCustomValidity(message) {
157
+ this.textarea.setCustomValidity(message);
158
+ this.formControlController.updateValidity();
159
+ }
160
+ render() {
161
+ const slots = {
162
+ label: this.hasSlotController.test("label"),
163
+ helpText: this.hasSlotController.test("help-text")
164
+ };
165
+ const hasLabel = this.label ? true : !!slots["label"];
166
+ const hasHelpText = this.helpText ? true : !!slots["helpText"];
167
+ const hasValidationAttr = this.required || !!this.minlength || !!this.maxlength;
168
+ const isInvalid = hasValidationAttr && !this.checkValidity();
169
+ const isValid = hasValidationAttr && this.checkValidity();
170
+ const inputState = this.disabled ? "disabled" : this.readonly ? "readonly" : this.hasFocus && isInvalid ? "activeInvalid" : this.hasFocus && isValid ? "activeValid" : this.hasFocus ? "active" : isInvalid ? "invalid" : isValid ? "valid" : "default";
171
+ const textSize = this.size === "sm" ? "text-sm" : "text-base";
172
+ return html`<div part="form-control" class="${cx(
173
+ "form-control text-left",
174
+ hasLabel && "form-control--has-label",
175
+ hasHelpText && "form-control--has-help-text",
176
+ this.disabled && "cursor-not-allowed"
177
+ )}"><label part="form-control-label" id="label" class="${cx("form-control-label mb-2", hasLabel ? "has-label inline-block" : "hidden", textSize)}" for="input" aria-hidden="${hasLabel ? "false" : "true"}"><slot name="label">${this.label}</slot></label><div part="form-control-input" class="form-control-input relative w-full"><div part="border" class="${cx(
178
+ "absolute w-full h-full pointer-events-none border rounded-default",
179
+ {
180
+ disabled: "border-neutral-500",
181
+ readonly: "border-neutral-800",
182
+ activeInvalid: "border-error border-2",
183
+ activeValid: "border-success border-2",
184
+ active: "border-primary border-2",
185
+ invalid: "border-error",
186
+ valid: "border-success",
187
+ default: "border-neutral-800"
188
+ }[inputState]
189
+ )}"></div><div part="base" class="${cx(
190
+ "textarea px-4 flex flex-row items-center rounded-default textarea--resize-none",
191
+ {
192
+ sm: "textarea-sm py-1",
193
+ md: "textarea-md py-1",
194
+ lg: "textarea-lg py-2"
195
+ }[this.size],
196
+ {
197
+ disabled: "text-neutral-500",
198
+ readonly: "text-black",
199
+ activeInvalid: "text-error",
200
+ activeValid: "text-success",
201
+ active: "text-black",
202
+ invalid: "text-error",
203
+ valid: "text-success",
204
+ default: "text-black"
205
+ }[inputState],
206
+ !this.disabled && !this.readonly ? "hover:bg-neutral-200" : "",
207
+ this.readonly && "bg-neutral-100",
208
+ isInvalid && "form-control-input--invalid",
209
+ !this.value && "textarea--empty"
210
+ )}"><textarea part="textarea" id="input" class="${cx(
211
+ 'textarea__control flex-grow focus:outline-none bg-transparent placeholder-neutral-700"',
212
+ textSize
213
+ )}" title="${this.title}" name="${ifDefined(this.name)}" .value="${live(this.value)}" ?disabled="${this.disabled}" ?readonly="${this.readonly}" ?required="${this.required}" placeholder="${ifDefined(this.placeholder)}" minlength="${ifDefined(this.minlength)}" maxlength="${ifDefined(this.maxlength)}" rows="${ifDefined(this.rows)}" autocapitalize="${ifDefined(this.autocapitalize)}" autocorrect="${ifDefined(this.autocorrect)}" ?autofocus="${this.autofocus}" spellcheck="${ifDefined(this.spellcheck)}" enterkeyhint="${ifDefined(this.enterkeyhint)}" inputmode="${ifDefined(this.inputmode)}" aria-describedby="help-text" @change="${this.handleChange}" @input="${this.handleInput}" @invalid="${this.handleInvalid}" @focus="${this.handleFocus}" @blur="${this.handleBlur}"></textarea></div></div><slot name="help-text" part="form-control-help-text" id="help-text" class="${cx("text-sm text-neutral-700", hasHelpText ? "block" : "hidden")}" aria-hidden="${hasHelpText ? "false" : "true"}">${this.helpText}</slot></div>`;
214
+ }
215
+ };
216
+ SdTextarea.styles = [
217
+ // componentStyles,
218
+ formControlStyles,
219
+ SolidElement.styles,
220
+ css`:host{display:block}:host([required]) #label.has-label::after{content:'*';margin-left:2px}:host([disabled]) .textarea__control{cursor:not-allowed}.no-scrollbar::-webkit-scrollbar{display:none}.textarea--resize-none .textarea__control{resize:none}`
221
+ ];
222
+ __decorateClass([
223
+ query(".textarea__control")
224
+ ], SdTextarea.prototype, "textarea", 2);
225
+ __decorateClass([
226
+ state()
227
+ ], SdTextarea.prototype, "hasFocus", 2);
228
+ __decorateClass([
229
+ property()
230
+ ], SdTextarea.prototype, "title", 2);
231
+ __decorateClass([
232
+ property()
233
+ ], SdTextarea.prototype, "name", 2);
234
+ __decorateClass([
235
+ property()
236
+ ], SdTextarea.prototype, "value", 2);
237
+ __decorateClass([
238
+ property({ reflect: true })
239
+ ], SdTextarea.prototype, "size", 2);
240
+ __decorateClass([
241
+ property()
242
+ ], SdTextarea.prototype, "label", 2);
243
+ __decorateClass([
244
+ property({ attribute: "help-text" })
245
+ ], SdTextarea.prototype, "helpText", 2);
246
+ __decorateClass([
247
+ property()
248
+ ], SdTextarea.prototype, "placeholder", 2);
249
+ __decorateClass([
250
+ property({ type: Number })
251
+ ], SdTextarea.prototype, "rows", 2);
252
+ __decorateClass([
253
+ property({ type: Boolean, reflect: true })
254
+ ], SdTextarea.prototype, "disabled", 2);
255
+ __decorateClass([
256
+ property({ type: Boolean, reflect: true })
257
+ ], SdTextarea.prototype, "readonly", 2);
258
+ __decorateClass([
259
+ property({ reflect: true })
260
+ ], SdTextarea.prototype, "form", 2);
261
+ __decorateClass([
262
+ property({ type: Boolean, reflect: true })
263
+ ], SdTextarea.prototype, "required", 2);
264
+ __decorateClass([
265
+ property({ type: Number })
266
+ ], SdTextarea.prototype, "minlength", 2);
267
+ __decorateClass([
268
+ property({ type: Number })
269
+ ], SdTextarea.prototype, "maxlength", 2);
270
+ __decorateClass([
271
+ property()
272
+ ], SdTextarea.prototype, "autocapitalize", 2);
273
+ __decorateClass([
274
+ property()
275
+ ], SdTextarea.prototype, "autocorrect", 2);
276
+ __decorateClass([
277
+ property()
278
+ ], SdTextarea.prototype, "autocomplete", 2);
279
+ __decorateClass([
280
+ property({ type: Boolean })
281
+ ], SdTextarea.prototype, "autofocus", 2);
282
+ __decorateClass([
283
+ property()
284
+ ], SdTextarea.prototype, "enterkeyhint", 2);
285
+ __decorateClass([
286
+ property({
287
+ type: Boolean,
288
+ converter: {
289
+ // Allow "true|false" attribute values but keep the property boolean
290
+ fromAttribute: (value) => !value || value === "false" ? false : true,
291
+ toAttribute: (value) => value ? "true" : "false"
292
+ }
293
+ })
294
+ ], SdTextarea.prototype, "spellcheck", 2);
295
+ __decorateClass([
296
+ property()
297
+ ], SdTextarea.prototype, "inputmode", 2);
298
+ __decorateClass([
299
+ defaultValue()
300
+ ], SdTextarea.prototype, "defaultValue", 2);
301
+ __decorateClass([
302
+ watch("disabled", { waitUntilFirstUpdate: true })
303
+ ], SdTextarea.prototype, "handleDisabledChange", 1);
304
+ __decorateClass([
305
+ watch("rows", { waitUntilFirstUpdate: true })
306
+ ], SdTextarea.prototype, "handleRowsChange", 1);
307
+ __decorateClass([
308
+ watch("value", { waitUntilFirstUpdate: true })
309
+ ], SdTextarea.prototype, "handleValueChange", 1);
310
+ SdTextarea = __decorateClass([
311
+ customElement("sd-1-33-0-textarea")
312
+ ], SdTextarea);
313
+ export {
314
+ SdTextarea as default
315
+ };
@@ -34,6 +34,6 @@ export default class SdTooltip extends SolidElement {
34
34
  }
35
35
  declare global {
36
36
  interface HTMLElementTagNameMap {
37
- 'sd-1-32-0-tooltip': SdTooltip;
37
+ 'sd-1-33-0-tooltip': SdTooltip;
38
38
  }
39
39
  }
@@ -161,16 +161,16 @@ let SdTooltip = class extends SolidElement {
161
161
  render() {
162
162
  const isStart = this.placement.endsWith("-start");
163
163
  const isEnd = this.placement.endsWith("-end");
164
- return html`<sd-1-32-0-popup part="base" exportparts="
164
+ return html`<sd-1-33-0-popup part="base" exportparts="
165
165
  popup:base__popup,
166
166
  arrow:base__arrow
167
- " class="${cx(this.open && "tooltip--open")}" placement="${this.placement}" distance="10" skidding="${{ start: 2, end: -2, default: 0 }[isStart ? "start" : isEnd ? "end" : "default"] * (this.size === "sm" ? -1 : 1)}" strategy="${this.hoist ? "fixed" : "absolute"}" flip shift arrow auto-size="vertical" arrow-padding="0"><slot slot="anchor" aria-describedby="tooltip" class="${cx(this.size === "lg" ? "text-xl" : "text-base")}"><button class="flex sd-interactive rounded-full"><sd-1-32-0-icon library="system" name="info-circle" class="${cx(this.disabled && "sd-interactive--disabled")}"></sd-1-32-0-icon></button></slot><slot name="content" part="body" id="tooltip" class="bg-primary text-white py-3 px-4 block rounded-none text-sm text-left" role="tooltip" aria-label="Tooltip" aria-live="${this.open ? "polite" : "off"}">${this.content}</slot></sd-1-32-0-popup>`;
167
+ " class="${cx(this.open && "tooltip--open")}" placement="${this.placement}" distance="10" skidding="${{ start: 2, end: -2, default: 0 }[isStart ? "start" : isEnd ? "end" : "default"] * (this.size === "sm" ? -1 : 1)}" strategy="${this.hoist ? "fixed" : "absolute"}" flip shift arrow auto-size="vertical" arrow-padding="0"><slot slot="anchor" aria-describedby="tooltip" class="${cx(this.size === "lg" ? "text-xl" : "text-base")}"><button class="flex sd-interactive rounded-full"><sd-1-33-0-icon library="system" name="info-circle" class="${cx(this.disabled && "sd-interactive--disabled")}"></sd-1-33-0-icon></button></slot><slot name="content" part="body" id="tooltip" class="bg-primary text-white py-3 px-4 block rounded-none text-sm text-left" role="tooltip" aria-label="Tooltip" aria-live="${this.open ? "polite" : "off"}">${this.content}</slot></sd-1-33-0-popup>`;
168
168
  }
169
169
  };
170
170
  SdTooltip.styles = [
171
171
  SolidElement.styles,
172
172
  unsafeCSS(InteractiveStyles),
173
- css`:host{--hide-delay:0ms;--show-delay:150ms;display:contents}sd-1-32-0-popup{--arrow-color:rgb(var(--sd-color-primary, 0 53 142) / 1);--arrow-size:10px}sd-1-32-0-popup::part(popup){pointer-events:none;z-index:10;box-shadow:0 1px 3px 0 rgb(81 81 81 / 75%)}sd-1-32-0-popup::part(arrow){--tw-shadow:var(--sd-shadow, 0px 1px 3px 0px rgb(81 81 81 / 75%));--tw-shadow-colored:0px 1px 3px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}sd-1-32-0-popup[placement^=top]::part(popup){transform-origin:bottom}sd-1-32-0-popup[placement^=bottom]::part(popup){transform-origin:top}#tooltip{max-width:var(--max-width)}::slotted([slot=content]){overflow:auto;max-width:var(--auto-size-available-width)!important;max-height:var(--auto-size-available-height)!important}`
173
+ css`:host{--hide-delay:0ms;--show-delay:150ms;display:contents}sd-1-33-0-popup{--arrow-color:rgb(var(--sd-color-primary, 0 53 142) / 1);--arrow-size:10px}sd-1-33-0-popup::part(popup){pointer-events:none;z-index:10;box-shadow:0 1px 3px 0 rgb(81 81 81 / 75%)}sd-1-33-0-popup::part(arrow){--tw-shadow:var(--sd-shadow, 0px 1px 3px 0px rgb(81 81 81 / 75%));--tw-shadow-colored:0px 1px 3px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}sd-1-33-0-popup[placement^=top]::part(popup){transform-origin:bottom}sd-1-33-0-popup[placement^=bottom]::part(popup){transform-origin:top}#tooltip{max-width:var(--max-width)}::slotted([slot=content]){overflow:auto;max-width:var(--auto-size-available-width)!important;max-height:var(--auto-size-available-height)!important}`
174
174
  ];
175
175
  __decorateClass([
176
176
  query("slot:not([name])")
@@ -179,7 +179,7 @@ __decorateClass([
179
179
  query("#tooltip")
180
180
  ], SdTooltip.prototype, "body", 2);
181
181
  __decorateClass([
182
- query("sd-1-32-0-popup")
182
+ query("sd-1-33-0-popup")
183
183
  ], SdTooltip.prototype, "popup", 2);
184
184
  __decorateClass([
185
185
  property()
@@ -212,7 +212,7 @@ __decorateClass([
212
212
  watch("disabled")
213
213
  ], SdTooltip.prototype, "handleDisabledChange", 1);
214
214
  SdTooltip = __decorateClass([
215
- customElement("sd-1-32-0-tooltip")
215
+ customElement("sd-1-33-0-tooltip")
216
216
  ], SdTooltip);
217
217
  setDefaultAnimation("tooltip.show", {
218
218
  keyframes: [
@@ -19,6 +19,6 @@ export default class SdVideo extends SolidElement {
19
19
  }
20
20
  declare global {
21
21
  interface HTMLElementTagNameMap {
22
- 'sd-1-32-0-video': SdVideo;
22
+ 'sd-1-33-0-video': SdVideo;
23
23
  }
24
24
  }
@@ -87,7 +87,7 @@ let SdVideo = class extends SolidElement {
87
87
  this.playing ? "opacity-0" : "opacity-100",
88
88
  this.isBelowBreakpoint ? "w-[48px] h-[48px]" : "w-[96px] h-[96px]",
89
89
  "absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 p-4 bg-white bg-opacity-75 rounded-full play-pause-transition"
90
- )}"><slot name="play-icon" part="play-icon" class="${cx(this.isBelowBreakpoint ? "text-[2rem]" : "text-[4rem]")}"><sd-1-32-0-icon id="default-play-icon" library="system" name="start"></sd-1-32-0-icon></slot></div></button> ${this.hasSlotController.test("poster") ? html`<slot name="poster" role="presentation" @transitionend="${this.hidePoster}"></slot>` : null}<div part="overlay" id="overlay" role="presentation" class="${cx(
90
+ )}"><slot name="play-icon" part="play-icon" class="${cx(this.isBelowBreakpoint ? "text-[2rem]" : "text-[4rem]")}"><sd-1-33-0-icon id="default-play-icon" library="system" name="start"></sd-1-33-0-icon></slot></div></button> ${this.hasSlotController.test("poster") ? html`<slot name="poster" role="presentation" @transitionend="${this.hidePoster}"></slot>` : null}<div part="overlay" id="overlay" role="presentation" class="${cx(
91
91
  this.overlay && !this.playing ? "opacity-100" : "opacity-0",
92
92
  "bg-[rgba(0,0,0,0.65)] w-full h-full absolute top-0 left-0 pointer-events-none z-20 play-pause-transition"
93
93
  )}"></div><slot></slot></div>`;
@@ -110,7 +110,7 @@ __decorateClass([
110
110
  property({ type: Boolean })
111
111
  ], SdVideo.prototype, "isBelowBreakpoint", 2);
112
112
  SdVideo = __decorateClass([
113
- customElement("sd-1-32-0-video")
113
+ customElement("sd-1-33-0-video")
114
114
  ], SdVideo);
115
115
  export {
116
116
  SdVideo as default
@@ -8,7 +8,7 @@ class FormControlController {
8
8
  const disabled = this.options.disabled(this.host);
9
9
  const name = this.options.name(this.host);
10
10
  const value = this.options.value(this.host);
11
- const isButton = this.host.tagName.toLowerCase() === "sd-1-32-0-button";
11
+ const isButton = this.host.tagName.toLowerCase() === "sd-1-33-0-button";
12
12
  if (!disabled && !isButton && typeof name === "string" && name.length > 0 && typeof value !== "undefined") {
13
13
  if (Array.isArray(value)) {
14
14
  value.forEach((val) => {
@@ -65,7 +65,7 @@ class FormControlController {
65
65
  disabled: (input) => input.disabled ?? false,
66
66
  reportValidity: (input) => typeof input.reportValidity === "function" ? input.reportValidity() : true,
67
67
  setValue: (input, value) => input.value = value,
68
- assumeInteractionOn: ["sd-1-32-0-input"],
68
+ assumeInteractionOn: ["sd-1-33-0-input"],
69
69
  ...options
70
70
  };
71
71
  }
@@ -26,6 +26,7 @@ export { default as SdSpinner } from './components/spinner/spinner';
26
26
  export { default as SdSwitch } from './components/switch/switch';
27
27
  export { default as SdTag } from './components/tag/tag';
28
28
  export { default as SdTeaser } from './components/teaser/teaser';
29
+ export { default as SdTextarea } from './components/textarea/textarea';
29
30
  export { default as SdTooltip } from './components/tooltip/tooltip';
30
31
  export { default as SdVideo } from './components/video/video';
31
32
  export * from './utilities/icon-library';
@@ -26,8 +26,9 @@ import { default as default26 } from "./components/spinner/spinner.js";
26
26
  import { default as default27 } from "./components/switch/switch.js";
27
27
  import { default as default28 } from "./components/tag/tag.js";
28
28
  import { default as default29 } from "./components/teaser/teaser.js";
29
- import { default as default30 } from "./components/tooltip/tooltip.js";
30
- import { default as default31 } from "./components/video/video.js";
29
+ import { default as default30 } from "./components/textarea/textarea.js";
30
+ import { default as default31 } from "./components/tooltip/tooltip.js";
31
+ import { default as default32 } from "./components/video/video.js";
31
32
  import { registerIconLibrary, unregisterIconLibrary } from "./components/icon/library.js";
32
33
  import { LocalizeController } from "./utilities/localize.js";
33
34
  export {
@@ -60,8 +61,9 @@ export {
60
61
  default27 as SdSwitch,
61
62
  default28 as SdTag,
62
63
  default29 as SdTeaser,
63
- default30 as SdTooltip,
64
- default31 as SdVideo,
64
+ default30 as SdTextarea,
65
+ default31 as SdTooltip,
66
+ default32 as SdVideo,
65
67
  registerIconLibrary,
66
68
  unregisterIconLibrary
67
69
  };
@@ -1,5 +1,5 @@
1
1
  import { css } from "lit";
2
- const formControlStyles = css`.form-control .form-control__label{display:none}.form-control .form-control__help-text{display:none}.form-control--has-label .form-control__label{display:inline-block;color:var(--sd-1-32-0-input-label-color);margin-bottom:var(--sd-spacing-3x-small)}.form-control--has-label.form-control--small .form-control__label{font-size:var(--sd-1-32-0-input-label-font-size-small)}.form-control--has-label.form-control--medium .form-control__label{font-size:var(--sd-1-32-0-input-label-font-size-medium)}.form-control--has-label.form-control--large .form-control_label{font-size:var(--sd-1-32-0-input-label-font-size-large)}:host([required]) .form-control--has-label .form-control__label::after{content:var(--sd-1-32-0-input-required-content);margin-inline-start:var(--sd-1-32-0-input-required-content-offset);color:var(--sd-1-32-0-input-required-content-color)}.form-control--has-help-text .form-control__help-text{display:block;color:var(--sd-1-32-0-input-help-text-color);margin-top:var(--sd-spacing-3x-small)}.form-control--has-help-text.form-control--small .form-control__help-text{font-size:var(--sd-1-32-0-input-help-text-font-size-small)}.form-control--has-help-text.form-control--medium .form-control__help-text{font-size:var(--sd-1-32-0-input-help-text-font-size-medium)}.form-control--has-help-text.form-control--large .form-control__help-text{font-size:var(--sd-1-32-0-input-help-text-font-size-large)}.form-control--has-help-text.form-control--radio-group .form-control__help-text{margin-top:var(--sd-spacing-2x-small)}`;
2
+ const formControlStyles = css`.form-control .form-control__label{display:none}.form-control .form-control__help-text{display:none}.form-control--has-label .form-control__label{display:inline-block;color:var(--sd-1-33-0-input-label-color);margin-bottom:var(--sd-spacing-3x-small)}.form-control--has-label.form-control--small .form-control__label{font-size:var(--sd-1-33-0-input-label-font-size-small)}.form-control--has-label.form-control--medium .form-control__label{font-size:var(--sd-1-33-0-input-label-font-size-medium)}.form-control--has-label.form-control--large .form-control_label{font-size:var(--sd-1-33-0-input-label-font-size-large)}:host([required]) .form-control--has-label .form-control__label::after{content:var(--sd-1-33-0-input-required-content);margin-inline-start:var(--sd-1-33-0-input-required-content-offset);color:var(--sd-1-33-0-input-required-content-color)}.form-control--has-help-text .form-control__help-text{display:block;color:var(--sd-1-33-0-input-help-text-color);margin-top:var(--sd-spacing-3x-small)}.form-control--has-help-text.form-control--small .form-control__help-text{font-size:var(--sd-1-33-0-input-help-text-font-size-small)}.form-control--has-help-text.form-control--medium .form-control__help-text{font-size:var(--sd-1-33-0-input-help-text-font-size-medium)}.form-control--has-help-text.form-control--large .form-control__help-text{font-size:var(--sd-1-33-0-input-help-text-font-size-large)}.form-control--has-help-text.form-control--radio-group .form-control__help-text{margin-top:var(--sd-spacing-2x-small)}`;
3
3
  export {
4
4
  formControlStyles as default
5
5
  };
@@ -1 +1 @@
1
- .sd-1-32-0-display{font-size:var(--sd-font-size-xl,1.5rem)}.sd-1-32-0-display,.sd-1-32-0-display--size-3xl{--tw-text-opacity:1;color:rgb(var(--sd-color-black,24 24 24)/var(--tw-text-opacity));font-weight:400;line-height:var(--sd-line-height-tight,120%)}.sd-1-32-0-display--size-3xl{font-size:var(--sd-font-size-2xl,1.75rem)}@media (min-width:1024px){.sd-1-32-0-display--size-3xl{font-size:var(--sd-font-size-3xl,2rem)}}.sd-1-32-0-display--size-4xl{--tw-text-opacity:1;color:rgb(var(--sd-color-black,24 24 24)/var(--tw-text-opacity));font-size:var(--sd-font-size-3xl,2rem);font-weight:400;line-height:var(--sd-line-height-tight,120%)}@media (min-width:1024px){.sd-1-32-0-display--size-4xl{font-size:var(--sd-font-size-4xl,2.5rem)}}.sd-1-32-0-display--inverted{--tw-text-opacity:1;color:rgb(var(--sd-color-white,255 255 255)/var(--tw-text-opacity))}.sd-1-32-0-meta{--tw-text-opacity:1;color:rgb(var(--sd-color-black,24 24 24)/var(--tw-text-opacity));font-size:var(--sd-font-size-base,1rem);font-weight:400;line-height:var(--sd-line-height-none,100%)}.sd-1-32-0-meta--size-sm{font-size:var(--sd-font-size-sm,.875rem)}.sd-1-32-0-meta--light{--tw-text-opacity:1;color:rgb(var(--sd-color-neutral-700,104 104 104)/var(--tw-text-opacity))}.sd-1-32-0-meta--inverted{--tw-text-opacity:1;color:rgb(var(--sd-color-white,255 255 255)/var(--tw-text-opacity))}.sd-1-32-0-meta--inverted.sd-1-32-0-meta--light{--tw-text-opacity:1;color:rgb(var(--sd-color-primary-400,153 171 208)/var(--tw-text-opacity))}.sd-1-32-0-meta--pipe:after{content:"|";margin-left:var(--sd-spacing-1,.25rem);margin-right:var(--sd-spacing-1,.25rem)}.sd-1-32-0-meta--pipe.sd-1-32-0-meta--size-sm:after{margin-left:var(--sd-spacing-0-5,.125rem);margin-right:var(--sd-spacing-0-5,.125rem)}.sd-1-32-0-leadtext{font-size:var(--sd-font-size-xl,1.5rem)}.sd-1-32-0-leadtext,.sd-1-32-0-leadtext--size-lg{--tw-text-opacity:1;color:rgb(var(--sd-color-black,24 24 24)/var(--tw-text-opacity));font-weight:400;line-height:var(--sd-line-height-normal,150%)}.sd-1-32-0-leadtext--size-lg{font-size:var(--sd-font-size-lg,1.25rem)}.sd-1-32-0-leadtext--inverted{--tw-text-opacity:1;color:rgb(var(--sd-color-white,255 255 255)/var(--tw-text-opacity))}.sd-1-32-0-paragraph{font-size:var(--sd-font-size-base,1rem)}.sd-1-32-0-paragraph,.sd-1-32-0-paragraph--size-sm{--tw-text-opacity:1;color:rgb(var(--sd-color-black,24 24 24)/var(--tw-text-opacity));font-weight:400;line-height:var(--sd-line-height-normal,150%)}.sd-1-32-0-paragraph--size-sm{font-size:var(--sd-font-size-sm,.875rem)}.sd-1-32-0-paragraph--inverted{--tw-text-opacity:1;color:rgb(var(--sd-color-white,255 255 255)/var(--tw-text-opacity))}mark.sd-1-32-0-mark{--tw-text-opacity:1;background-color:transparent;color:rgb(var(--sd-color-accent,45 157 0)/var(--tw-text-opacity))}.sd-1-32-0-interactive--reset{all:unset;outline:revert}.sd-1-32-0-interactive{--tw-text-opacity:1;color:rgb(var(--sd-color-primary,0 53 142)/var(--tw-text-opacity));cursor:pointer;text-decoration-line:none;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.sd-1-32-0-interactive:hover:not([disabled]){--tw-text-opacity:1;color:rgb(var(--sd-color-primary-500,70 109 175)/var(--tw-text-opacity))}.sd-1-32-0-interactive:active:not([disabled]){--tw-text-opacity:1;color:rgb(var(--sd-color-primary-800,5 21 48)/var(--tw-text-opacity))}.sd-1-32-0-interactive:focus-visible{outline-color:rgb(var(--sd-color-primary,0 53 142)/1);outline-offset:2px;outline-style:solid;outline-width:2px}.sd-1-32-0-interactive--inverted{--tw-text-opacity:1;color:rgb(var(--sd-color-white,255 255 255)/var(--tw-text-opacity))}.sd-1-32-0-interactive--inverted:hover:not([disabled]){--tw-text-opacity:1;color:rgb(var(--sd-color-primary-200,224 233 243)/var(--tw-text-opacity))}.sd-1-32-0-interactive--inverted:active:not([disabled]){--tw-text-opacity:1;color:rgb(var(--sd-color-primary-400,153 171 208)/var(--tw-text-opacity))}.sd-1-32-0-interactive--inverted:focus-visible{outline-color:rgb(var(--sd-color-white,255 255 255)/1);outline-offset:2px;outline-style:solid;outline-width:2px}.sd-1-32-0-interactive--disabled,.sd-1-32-0-interactive[disabled]{cursor:not-allowed}.sd-1-32-0-interactive--disabled,.sd-1-32-0-interactive--disabled:active:not([disabled]),.sd-1-32-0-interactive--disabled:hover:not([disabled]),.sd-1-32-0-interactive[disabled],.sd-1-32-0-interactive[disabled]:active:not([disabled]),.sd-1-32-0-interactive[disabled]:hover:not([disabled]){--tw-text-opacity:1;color:rgb(var(--sd-color-neutral-600,136 136 136)/var(--tw-text-opacity))}.sd-1-32-0-table-cell{--tw-border-opacity:1;--tw-text-opacity:1;background-color:transparent;border-color:rgb(var(--sd-color-neutral-400,195 195 195)/var(--tw-border-opacity));border-style:solid;border-width:1px 0;color:rgb(var(--sd-color-black,24 24 24)/var(--tw-text-opacity));font-size:var(--sd-font-size-sm,.875rem);padding:var(--sd-spacing-4,1rem);text-align:left}.sd-1-32-0-table-cell--divider{border-right-width:1px}.sd-1-32-0-table-cell--bg-white{--tw-bg-opacity:1;background-color:rgb(var(--sd-color-white,255 255 255)/var(--tw-bg-opacity))}.sd-1-32-0-table-cell--bg-primary-100{--tw-bg-opacity:1;background-color:rgb(var(--sd-color-primary-100,236 240 249)/var(--tw-bg-opacity))}.sd-1-32-0-table-cell--bg-neutral-100{--tw-bg-opacity:1;background-color:rgb(var(--sd-color-neutral-100,246 246 246)/var(--tw-bg-opacity))}.sd-1-32-0-table{--tw-border-spacing-x:var(--sd-spacing-0,0px);--tw-border-spacing-y:var(--sd-spacing-0,0px);all:unset;border-collapse:collapse;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y);display:table}.sd-1-32-0-headline{--tw-text-opacity:1;color:rgb(var(--sd-color-primary,0 53 142)/var(--tw-text-opacity));display:flex;font-size:var(--sd-font-size-3xl,2rem);font-weight:700;gap:var(--sd-spacing-4,1rem)}@media (min-width:640px){.sd-1-32-0-headline{font-size:var(--sd-font-size-4xl,2.5rem)}}.sd-1-32-0-headline sd-icon{--tw-text-opacity:1;color:rgb(var(--sd-color-primary,0 53 142)/var(--tw-text-opacity));flex-shrink:0;font-size:3rem}@media (min-width:640px){.sd-1-32-0-headline sd-icon{margin-top:var(--sd-spacing-2,.5rem)}}.sd-1-32-0-headline--size-3xl{font-size:var(--sd-font-size-2xl,1.75rem)}@media (min-width:640px){.sd-1-32-0-headline--size-3xl{font-size:var(--sd-font-size-3xl,2rem)}}.sd-1-32-0-headline--size-3xl sd-icon{margin-top:calc(var(--sd-spacing-1, .25rem)*-1)}@media (min-width:640px){.sd-1-32-0-headline--size-3xl sd-icon{margin-top:var(--sd-spacing-0,0)}}.sd-1-32-0-headline--size-base,.sd-1-32-0-headline--size-lg,.sd-1-32-0-headline--size-xl{--tw-text-opacity:1;color:rgb(var(--sd-color-black,24 24 24)/var(--tw-text-opacity));gap:var(--sd-spacing-2,.5rem)}.sd-1-32-0-headline--size-base sd-icon,.sd-1-32-0-headline--size-lg sd-icon,.sd-1-32-0-headline--size-xl sd-icon{font-size:2rem}.sd-1-32-0-headline--size-xl{font-size:var(--sd-font-size-xl,1.5rem)}.sd-1-32-0-headline--size-xl sd-icon{margin-top:var(--sd-spacing-0-5,.125rem)}@media (min-width:640px){.sd-1-32-0-headline--size-xl sd-icon{margin-top:var(--sd-spacing-0-5,.125rem)}}.sd-1-32-0-headline--size-lg{font-size:var(--sd-font-size-lg,1.25rem)}.sd-1-32-0-headline--size-lg sd-icon{margin-top:var(--sd-spacing-0,0)}@media (min-width:640px){.sd-1-32-0-headline--size-lg sd-icon{margin-top:var(--sd-spacing-0,0)}}.sd-1-32-0-headline--size-base{--tw-text-opacity:1;color:rgb(var(--sd-color-black,24 24 24)/var(--tw-text-opacity));font-size:var(--sd-font-size-base,1rem)}.sd-1-32-0-headline--size-base sd-icon{margin-top:calc(var(--sd-spacing-1, .25rem)*-1)}.sd-1-32-0-headline--size-base mark{color:inherit}.sd-1-32-0-headline--inverted,.sd-1-32-0-headline--inverted sd-icon{--tw-text-opacity:1;color:rgb(var(--sd-color-white,255 255 255)/var(--tw-text-opacity))}.sd-1-32-0-headline--inline{display:inline}.sd-1-32-0-headline--inline sd-icon{margin-right:var(--sd-spacing-2,.5rem);margin-top:calc(var(--sd-spacing-1, .25rem)*-1);vertical-align:middle}.sd-1-32-0-headline--inline.sd-1-32-0-headline--size-base sd-icon,.sd-1-32-0-headline--inline.sd-1-32-0-headline--size-lg sd-icon,.sd-1-32-0-headline--inline.sd-1-32-0-headline--size-xl sd-icon{margin-right:var(--sd-spacing-0-5,.125rem)}.sd-1-32-0-container{--tw-bg-opacity:1;background-color:rgb(var(--sd-color-neutral-100,246 246 246)/var(--tw-bg-opacity));padding:var(--sd-spacing-8,2rem) var(--sd-spacing-10,2.5rem)}.sd-1-32-0-container--variant-primary-100{--tw-bg-opacity:1;background-color:rgb(var(--sd-color-primary-100,236 240 249)/var(--tw-bg-opacity))}.sd-1-32-0-container--variant-primary{--tw-bg-opacity:1;background-color:rgb(var(--sd-color-primary,0 53 142)/var(--tw-bg-opacity))}.sd-1-32-0-container--variant-border-neutral-400{--tw-border-opacity:1;border-color:rgb(var(--sd-color-neutral-400,195 195 195)/var(--tw-border-opacity));border-width:1px}.sd-1-32-0-container--variant-border-neutral-400,.sd-1-32-0-container--variant-white{--tw-bg-opacity:1;background-color:rgb(var(--sd-color-white,255 255 255)/var(--tw-bg-opacity))}.sd-1-32-0-container--padding-sm{padding:var(--sd-spacing-4,1rem) var(--sd-spacing-6,1.5rem)}.sd-1-32-0-chip{--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:rgb(var(--sd-color-primary-200,224 233 243)/var(--tw-bg-opacity));border-radius:var(--sd-border-radius-default,.25rem);color:rgb(var(--sd-color-black,24 24 24)/var(--tw-text-opacity));display:inline-flex;font-size:var(--sd-font-size-sm,.875rem);height:var(--sd-spacing-6,1.5rem);overflow:hidden;padding-left:var(--sd-spacing-2,.5rem);padding-right:var(--sd-spacing-2,.5rem)}.sd-1-32-0-chip--primary-500{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(var(--sd-color-primary-500,70 109 175)/var(--tw-bg-opacity));color:rgb(var(--sd-color-white,255 255 255)/var(--tw-text-opacity))}.sd-1-32-0-chip--primary-300{--tw-bg-opacity:1;background-color:rgb(var(--sd-color-primary-300,200 213 231)/var(--tw-bg-opacity))}.sd-1-32-0-chip--white{--tw-bg-opacity:1;background-color:rgb(var(--sd-color-white,255 255 255)/var(--tw-bg-opacity))}.sd-1-32-0-scroll-lock{overflow:hidden!important;padding-right:var(--sd-scroll-lock-size)!important}.sd-1-32-0-toast-stack{box-sizing:border-box;max-height:100%;max-width:400px;position:fixed;z-index:var(--sd-z-index-alert-group,950)}.sd-1-32-0-toast-stack--top-right{margin-right:var(--sd-spacing-4,1rem);right:var(--sd-spacing-0,0);top:var(--sd-spacing-0,0)}.sd-1-32-0-toast-stack--bottom-center{--tw-translate-x:-50%;bottom:var(--sd-spacing-0,0);inset-inline-start:50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sd-1-32-0-toast-stack sd-notification::part(base){--tw-shadow:var(--sd-shadow,0px 1px 3px 0px rgba(81,81,81,.75));--tw-shadow-colored:0px 1px 3px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sd-1-32-0-toast-stack sd-notification::part(content){--tw-border-opacity:1;border-color:rgb(var(--sd-color-white,255 255 255)/var(--tw-border-opacity))}
1
+ .sd-1-33-0-display{font-size:var(--sd-font-size-xl,1.5rem)}.sd-1-33-0-display,.sd-1-33-0-display--size-3xl{--tw-text-opacity:1;color:rgb(var(--sd-color-black,24 24 24)/var(--tw-text-opacity));font-weight:400;line-height:var(--sd-line-height-tight,120%)}.sd-1-33-0-display--size-3xl{font-size:var(--sd-font-size-2xl,1.75rem)}@media (min-width:1024px){.sd-1-33-0-display--size-3xl{font-size:var(--sd-font-size-3xl,2rem)}}.sd-1-33-0-display--size-4xl{--tw-text-opacity:1;color:rgb(var(--sd-color-black,24 24 24)/var(--tw-text-opacity));font-size:var(--sd-font-size-3xl,2rem);font-weight:400;line-height:var(--sd-line-height-tight,120%)}@media (min-width:1024px){.sd-1-33-0-display--size-4xl{font-size:var(--sd-font-size-4xl,2.5rem)}}.sd-1-33-0-display--inverted{--tw-text-opacity:1;color:rgb(var(--sd-color-white,255 255 255)/var(--tw-text-opacity))}.sd-1-33-0-meta{--tw-text-opacity:1;color:rgb(var(--sd-color-black,24 24 24)/var(--tw-text-opacity));font-size:var(--sd-font-size-base,1rem);font-weight:400;line-height:var(--sd-line-height-none,100%)}.sd-1-33-0-meta--size-sm{font-size:var(--sd-font-size-sm,.875rem)}.sd-1-33-0-meta--light{--tw-text-opacity:1;color:rgb(var(--sd-color-neutral-700,104 104 104)/var(--tw-text-opacity))}.sd-1-33-0-meta--inverted{--tw-text-opacity:1;color:rgb(var(--sd-color-white,255 255 255)/var(--tw-text-opacity))}.sd-1-33-0-meta--inverted.sd-1-33-0-meta--light{--tw-text-opacity:1;color:rgb(var(--sd-color-primary-400,153 171 208)/var(--tw-text-opacity))}.sd-1-33-0-meta--pipe:after{content:"|";margin-left:var(--sd-spacing-1,.25rem);margin-right:var(--sd-spacing-1,.25rem)}.sd-1-33-0-meta--pipe.sd-1-33-0-meta--size-sm:after{margin-left:var(--sd-spacing-0-5,.125rem);margin-right:var(--sd-spacing-0-5,.125rem)}.sd-1-33-0-leadtext{font-size:var(--sd-font-size-xl,1.5rem)}.sd-1-33-0-leadtext,.sd-1-33-0-leadtext--size-lg{--tw-text-opacity:1;color:rgb(var(--sd-color-black,24 24 24)/var(--tw-text-opacity));font-weight:400;line-height:var(--sd-line-height-normal,150%)}.sd-1-33-0-leadtext--size-lg{font-size:var(--sd-font-size-lg,1.25rem)}.sd-1-33-0-leadtext--inverted{--tw-text-opacity:1;color:rgb(var(--sd-color-white,255 255 255)/var(--tw-text-opacity))}.sd-1-33-0-paragraph{font-size:var(--sd-font-size-base,1rem)}.sd-1-33-0-paragraph,.sd-1-33-0-paragraph--size-sm{--tw-text-opacity:1;color:rgb(var(--sd-color-black,24 24 24)/var(--tw-text-opacity));font-weight:400;line-height:var(--sd-line-height-normal,150%)}.sd-1-33-0-paragraph--size-sm{font-size:var(--sd-font-size-sm,.875rem)}.sd-1-33-0-paragraph--inverted{--tw-text-opacity:1;color:rgb(var(--sd-color-white,255 255 255)/var(--tw-text-opacity))}mark.sd-1-33-0-mark{--tw-text-opacity:1;background-color:transparent;color:rgb(var(--sd-color-accent,45 157 0)/var(--tw-text-opacity))}.sd-1-33-0-interactive--reset{all:unset;outline:revert}.sd-1-33-0-interactive{--tw-text-opacity:1;color:rgb(var(--sd-color-primary,0 53 142)/var(--tw-text-opacity));cursor:pointer;text-decoration-line:none;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.sd-1-33-0-interactive:hover:not([disabled]){--tw-text-opacity:1;color:rgb(var(--sd-color-primary-500,70 109 175)/var(--tw-text-opacity))}.sd-1-33-0-interactive:active:not([disabled]){--tw-text-opacity:1;color:rgb(var(--sd-color-primary-800,5 21 48)/var(--tw-text-opacity))}.sd-1-33-0-interactive:focus-visible{outline-color:rgb(var(--sd-color-primary,0 53 142)/1);outline-offset:2px;outline-style:solid;outline-width:2px}.sd-1-33-0-interactive--inverted{--tw-text-opacity:1;color:rgb(var(--sd-color-white,255 255 255)/var(--tw-text-opacity))}.sd-1-33-0-interactive--inverted:hover:not([disabled]){--tw-text-opacity:1;color:rgb(var(--sd-color-primary-200,224 233 243)/var(--tw-text-opacity))}.sd-1-33-0-interactive--inverted:active:not([disabled]){--tw-text-opacity:1;color:rgb(var(--sd-color-primary-400,153 171 208)/var(--tw-text-opacity))}.sd-1-33-0-interactive--inverted:focus-visible{outline-color:rgb(var(--sd-color-white,255 255 255)/1);outline-offset:2px;outline-style:solid;outline-width:2px}.sd-1-33-0-interactive--disabled,.sd-1-33-0-interactive[disabled]{cursor:not-allowed}.sd-1-33-0-interactive--disabled,.sd-1-33-0-interactive--disabled:active:not([disabled]),.sd-1-33-0-interactive--disabled:hover:not([disabled]),.sd-1-33-0-interactive[disabled],.sd-1-33-0-interactive[disabled]:active:not([disabled]),.sd-1-33-0-interactive[disabled]:hover:not([disabled]){--tw-text-opacity:1;color:rgb(var(--sd-color-neutral-600,136 136 136)/var(--tw-text-opacity))}.sd-1-33-0-table-cell{--tw-border-opacity:1;--tw-text-opacity:1;background-color:transparent;border-color:rgb(var(--sd-color-neutral-400,195 195 195)/var(--tw-border-opacity));border-style:solid;border-width:1px 0;color:rgb(var(--sd-color-black,24 24 24)/var(--tw-text-opacity));font-size:var(--sd-font-size-sm,.875rem);padding:var(--sd-spacing-4,1rem);text-align:left}.sd-1-33-0-table-cell--divider{border-right-width:1px}.sd-1-33-0-table-cell--bg-white{--tw-bg-opacity:1;background-color:rgb(var(--sd-color-white,255 255 255)/var(--tw-bg-opacity))}.sd-1-33-0-table-cell--bg-primary-100{--tw-bg-opacity:1;background-color:rgb(var(--sd-color-primary-100,236 240 249)/var(--tw-bg-opacity))}.sd-1-33-0-table-cell--bg-neutral-100{--tw-bg-opacity:1;background-color:rgb(var(--sd-color-neutral-100,246 246 246)/var(--tw-bg-opacity))}.sd-1-33-0-table{--tw-border-spacing-x:var(--sd-spacing-0,0px);--tw-border-spacing-y:var(--sd-spacing-0,0px);all:unset;border-collapse:collapse;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y);display:table}.sd-1-33-0-headline{--tw-text-opacity:1;color:rgb(var(--sd-color-primary,0 53 142)/var(--tw-text-opacity));display:flex;font-size:var(--sd-font-size-3xl,2rem);font-weight:700;gap:var(--sd-spacing-4,1rem)}@media (min-width:640px){.sd-1-33-0-headline{font-size:var(--sd-font-size-4xl,2.5rem)}}.sd-1-33-0-headline sd-icon{--tw-text-opacity:1;color:rgb(var(--sd-color-primary,0 53 142)/var(--tw-text-opacity));flex-shrink:0;font-size:3rem}@media (min-width:640px){.sd-1-33-0-headline sd-icon{margin-top:var(--sd-spacing-2,.5rem)}}.sd-1-33-0-headline--size-3xl{font-size:var(--sd-font-size-2xl,1.75rem)}@media (min-width:640px){.sd-1-33-0-headline--size-3xl{font-size:var(--sd-font-size-3xl,2rem)}}.sd-1-33-0-headline--size-3xl sd-icon{margin-top:calc(var(--sd-spacing-1, .25rem)*-1)}@media (min-width:640px){.sd-1-33-0-headline--size-3xl sd-icon{margin-top:var(--sd-spacing-0,0)}}.sd-1-33-0-headline--size-base,.sd-1-33-0-headline--size-lg,.sd-1-33-0-headline--size-xl{--tw-text-opacity:1;color:rgb(var(--sd-color-black,24 24 24)/var(--tw-text-opacity));gap:var(--sd-spacing-2,.5rem)}.sd-1-33-0-headline--size-base sd-icon,.sd-1-33-0-headline--size-lg sd-icon,.sd-1-33-0-headline--size-xl sd-icon{font-size:2rem}.sd-1-33-0-headline--size-xl{font-size:var(--sd-font-size-xl,1.5rem)}.sd-1-33-0-headline--size-xl sd-icon{margin-top:var(--sd-spacing-0-5,.125rem)}@media (min-width:640px){.sd-1-33-0-headline--size-xl sd-icon{margin-top:var(--sd-spacing-0-5,.125rem)}}.sd-1-33-0-headline--size-lg{font-size:var(--sd-font-size-lg,1.25rem)}.sd-1-33-0-headline--size-lg sd-icon{margin-top:var(--sd-spacing-0,0)}@media (min-width:640px){.sd-1-33-0-headline--size-lg sd-icon{margin-top:var(--sd-spacing-0,0)}}.sd-1-33-0-headline--size-base{--tw-text-opacity:1;color:rgb(var(--sd-color-black,24 24 24)/var(--tw-text-opacity));font-size:var(--sd-font-size-base,1rem)}.sd-1-33-0-headline--size-base sd-icon{margin-top:calc(var(--sd-spacing-1, .25rem)*-1)}.sd-1-33-0-headline--size-base mark{color:inherit}.sd-1-33-0-headline--inverted,.sd-1-33-0-headline--inverted sd-icon{--tw-text-opacity:1;color:rgb(var(--sd-color-white,255 255 255)/var(--tw-text-opacity))}.sd-1-33-0-headline--inline{display:inline}.sd-1-33-0-headline--inline sd-icon{margin-right:var(--sd-spacing-2,.5rem);margin-top:calc(var(--sd-spacing-1, .25rem)*-1);vertical-align:middle}.sd-1-33-0-headline--inline.sd-1-33-0-headline--size-base sd-icon,.sd-1-33-0-headline--inline.sd-1-33-0-headline--size-lg sd-icon,.sd-1-33-0-headline--inline.sd-1-33-0-headline--size-xl sd-icon{margin-right:var(--sd-spacing-0-5,.125rem)}.sd-1-33-0-container{--tw-bg-opacity:1;background-color:rgb(var(--sd-color-neutral-100,246 246 246)/var(--tw-bg-opacity));padding:var(--sd-spacing-8,2rem) var(--sd-spacing-10,2.5rem)}.sd-1-33-0-container--variant-primary-100{--tw-bg-opacity:1;background-color:rgb(var(--sd-color-primary-100,236 240 249)/var(--tw-bg-opacity))}.sd-1-33-0-container--variant-primary{--tw-bg-opacity:1;background-color:rgb(var(--sd-color-primary,0 53 142)/var(--tw-bg-opacity))}.sd-1-33-0-container--variant-border-neutral-400{--tw-border-opacity:1;border-color:rgb(var(--sd-color-neutral-400,195 195 195)/var(--tw-border-opacity));border-width:1px}.sd-1-33-0-container--variant-border-neutral-400,.sd-1-33-0-container--variant-white{--tw-bg-opacity:1;background-color:rgb(var(--sd-color-white,255 255 255)/var(--tw-bg-opacity))}.sd-1-33-0-container--padding-sm{padding:var(--sd-spacing-4,1rem) var(--sd-spacing-6,1.5rem)}.sd-1-33-0-chip{--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:rgb(var(--sd-color-primary-200,224 233 243)/var(--tw-bg-opacity));border-radius:var(--sd-border-radius-default,.25rem);color:rgb(var(--sd-color-black,24 24 24)/var(--tw-text-opacity));display:inline-flex;font-size:var(--sd-font-size-sm,.875rem);height:var(--sd-spacing-6,1.5rem);overflow:hidden;padding-left:var(--sd-spacing-2,.5rem);padding-right:var(--sd-spacing-2,.5rem)}.sd-1-33-0-chip--primary-500{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(var(--sd-color-primary-500,70 109 175)/var(--tw-bg-opacity));color:rgb(var(--sd-color-white,255 255 255)/var(--tw-text-opacity))}.sd-1-33-0-chip--primary-300{--tw-bg-opacity:1;background-color:rgb(var(--sd-color-primary-300,200 213 231)/var(--tw-bg-opacity))}.sd-1-33-0-chip--white{--tw-bg-opacity:1;background-color:rgb(var(--sd-color-white,255 255 255)/var(--tw-bg-opacity))}.sd-1-33-0-scroll-lock{overflow:hidden!important;padding-right:var(--sd-scroll-lock-size)!important}.sd-1-33-0-toast-stack{box-sizing:border-box;max-height:100%;max-width:400px;position:fixed;z-index:var(--sd-z-index-alert-group,950)}.sd-1-33-0-toast-stack--top-right{margin-right:var(--sd-spacing-4,1rem);right:var(--sd-spacing-0,0);top:var(--sd-spacing-0,0)}.sd-1-33-0-toast-stack--bottom-center{--tw-translate-x:-50%;bottom:var(--sd-spacing-0,0);inset-inline-start:50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sd-1-33-0-toast-stack sd-notification::part(base){--tw-shadow:var(--sd-shadow,0px 1px 3px 0px rgba(81,81,81,.75));--tw-shadow-colored:0px 1px 3px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sd-1-33-0-toast-stack sd-notification::part(content){--tw-border-opacity:1;border-color:rgb(var(--sd-color-white,255 255 255)/var(--tw-border-opacity))}