@synergy-design-system/components 1.0.0-main.10 → 1.0.0-main.12
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.
- package/dist/chunks/chunk.DAJKQKPJ.js +360 -0
- package/dist/chunks/chunk.DAJKQKPJ.js.map +7 -0
- package/dist/chunks/{chunk.Y7DVVKVJ.js → chunk.E6TDVDGF.js} +5 -123
- package/dist/chunks/{chunk.Y7DVVKVJ.js.map → chunk.E6TDVDGF.js.map} +4 -4
- package/dist/chunks/{chunk.IFBY43YE.js → chunk.FVSP4LXX.js} +3 -3
- package/dist/chunks/chunk.FVSP4LXX.js.map +7 -0
- package/dist/chunks/{chunk.OEWBEV4Z.js → chunk.I2ZSSHIT.js} +9 -36
- package/dist/chunks/{chunk.OEWBEV4Z.js.map → chunk.I2ZSSHIT.js.map} +4 -4
- package/dist/chunks/{chunk.5FQRRIZP.js → chunk.ILASEOQC.js} +2 -2
- package/dist/chunks/chunk.J3QXOBMS.js +12 -0
- package/dist/chunks/chunk.J3QXOBMS.js.map +7 -0
- package/dist/chunks/{chunk.N7UUNTQC.js → chunk.JNINAWXW.js} +2 -2
- package/dist/chunks/{chunk.OLZ3GIFL.js → chunk.LHABVDZ7.js} +12 -10
- package/dist/chunks/chunk.LHABVDZ7.js.map +7 -0
- package/dist/chunks/{chunk.R55DOPNK.js → chunk.SMPSHOMU.js} +2 -2
- package/dist/chunks/{chunk.LE4ARJTE.js → chunk.SV25P4HG.js} +2 -2
- package/dist/chunks/{chunk.LE4ARJTE.js.map → chunk.SV25P4HG.js.map} +1 -1
- package/dist/chunks/chunk.VNC7HKGP.js +123 -0
- package/dist/chunks/chunk.VNC7HKGP.js.map +7 -0
- package/dist/chunks/chunk.VZ7S7YYN.js +34 -0
- package/dist/chunks/chunk.VZ7S7YYN.js.map +7 -0
- package/dist/chunks/chunk.WFAJR3FN.js +25 -0
- package/dist/chunks/chunk.WFAJR3FN.js.map +7 -0
- package/dist/chunks/{chunk.RLGMLXIP.js → chunk.Y7LUF2FP.js} +12 -30
- package/dist/chunks/{chunk.RLGMLXIP.js.map → chunk.Y7LUF2FP.js.map} +3 -3
- package/dist/chunks/chunk.YBIBWRKC.js +19 -0
- package/dist/chunks/chunk.YBIBWRKC.js.map +7 -0
- package/dist/chunks/{chunk.GHPQ7ZMD.js → chunk.YTS5TRJZ.js} +2 -2
- package/dist/chunks/{chunk.GHPQ7ZMD.js.map → chunk.YTS5TRJZ.js.map} +1 -1
- package/dist/chunks/chunk.ZHDLZBQY.js +189 -0
- package/dist/chunks/chunk.ZHDLZBQY.js.map +7 -0
- package/dist/components/button/button.component.js +9 -8
- package/dist/components/button/button.custom.styles.js +1 -1
- package/dist/components/button/button.js +10 -9
- package/dist/components/button/button.styles.js +2 -2
- package/dist/components/icon/icon.component.js +4 -3
- package/dist/components/icon/icon.js +4 -3
- package/dist/components/icon/icon.js.map +1 -1
- package/dist/components/input/input.component.js +9 -6
- package/dist/components/input/input.js +10 -7
- package/dist/components/input/input.styles.js +2 -1
- package/dist/components/spinner/spinner.component.js +2 -2
- package/dist/components/textarea/textarea.component.d.ts +131 -0
- package/dist/components/textarea/textarea.component.js +17 -0
- package/dist/components/textarea/textarea.component.js.map +7 -0
- package/dist/components/textarea/textarea.custom.styles.js +3 -6
- package/dist/components/textarea/textarea.custom.styles.js.map +3 -3
- package/dist/components/textarea/textarea.d.ts +8 -0
- package/dist/components/textarea/textarea.js +18 -0
- package/dist/components/textarea/textarea.js.map +7 -0
- package/dist/components/textarea/textarea.styles.d.ts +2 -0
- package/dist/components/textarea/textarea.styles.js +11 -0
- package/dist/components/textarea/textarea.styles.js.map +7 -0
- package/dist/custom-elements.json +758 -3
- package/dist/synergy.d.ts +2 -1
- package/dist/synergy.js +24 -14
- package/dist/vscode.html-custom-data.json +150 -0
- package/dist/web-types.json +297 -2
- package/package.json +2 -2
- package/dist/chunks/chunk.IFBY43YE.js.map +0 -7
- package/dist/chunks/chunk.OLZ3GIFL.js.map +0 -7
- /package/dist/chunks/{chunk.5FQRRIZP.js.map → chunk.ILASEOQC.js.map} +0 -0
- /package/dist/chunks/{chunk.N7UUNTQC.js.map → chunk.JNINAWXW.js.map} +0 -0
- /package/dist/chunks/{chunk.R55DOPNK.js.map → chunk.SMPSHOMU.js.map} +0 -0
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
import {
|
|
2
|
+
textarea_styles_default
|
|
3
|
+
} from "./chunk.ZHDLZBQY.js";
|
|
4
|
+
import {
|
|
5
|
+
defaultValue
|
|
6
|
+
} from "./chunk.WFAJR3FN.js";
|
|
7
|
+
import {
|
|
8
|
+
HasSlotController
|
|
9
|
+
} from "./chunk.XGXFE6IF.js";
|
|
10
|
+
import {
|
|
11
|
+
FormControlController
|
|
12
|
+
} from "./chunk.WDCAHRYG.js";
|
|
13
|
+
import {
|
|
14
|
+
watch
|
|
15
|
+
} from "./chunk.VZ7S7YYN.js";
|
|
16
|
+
import {
|
|
17
|
+
SynergyElement
|
|
18
|
+
} from "./chunk.SV25P4HG.js";
|
|
19
|
+
import {
|
|
20
|
+
__decorateClass
|
|
21
|
+
} from "./chunk.DJOAQ4JU.js";
|
|
22
|
+
|
|
23
|
+
// src/components/textarea/textarea.component.ts
|
|
24
|
+
import { classMap } from "lit/directives/class-map.js";
|
|
25
|
+
import { html } from "lit";
|
|
26
|
+
import { ifDefined } from "lit/directives/if-defined.js";
|
|
27
|
+
import { live } from "lit/directives/live.js";
|
|
28
|
+
import { property, query, state } from "lit/decorators.js";
|
|
29
|
+
var SynTextarea = class extends SynergyElement {
|
|
30
|
+
constructor() {
|
|
31
|
+
super(...arguments);
|
|
32
|
+
this.formControlController = new FormControlController(this, {
|
|
33
|
+
assumeInteractionOn: ["syn-blur", "syn-input"]
|
|
34
|
+
});
|
|
35
|
+
this.hasSlotController = new HasSlotController(this, "help-text", "label", "prefix", "suffix");
|
|
36
|
+
this.hasFocus = false;
|
|
37
|
+
this.title = "";
|
|
38
|
+
this.name = "";
|
|
39
|
+
this.value = "";
|
|
40
|
+
this.size = "medium";
|
|
41
|
+
this.label = "";
|
|
42
|
+
this.helpText = "";
|
|
43
|
+
this.placeholder = "";
|
|
44
|
+
this.rows = 4;
|
|
45
|
+
this.resize = "vertical";
|
|
46
|
+
this.disabled = false;
|
|
47
|
+
this.readonly = false;
|
|
48
|
+
this.form = "";
|
|
49
|
+
this.required = false;
|
|
50
|
+
this.spellcheck = true;
|
|
51
|
+
this.defaultValue = "";
|
|
52
|
+
}
|
|
53
|
+
/** Gets the validity state object */
|
|
54
|
+
get validity() {
|
|
55
|
+
return this.input.validity;
|
|
56
|
+
}
|
|
57
|
+
/** Gets the validation message */
|
|
58
|
+
get validationMessage() {
|
|
59
|
+
return this.input.validationMessage;
|
|
60
|
+
}
|
|
61
|
+
connectedCallback() {
|
|
62
|
+
super.connectedCallback();
|
|
63
|
+
this.resizeObserver = new ResizeObserver(() => this.setTextareaHeight());
|
|
64
|
+
this.updateComplete.then(() => {
|
|
65
|
+
this.setTextareaHeight();
|
|
66
|
+
this.resizeObserver.observe(this.input);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
firstUpdated() {
|
|
70
|
+
this.formControlController.updateValidity();
|
|
71
|
+
}
|
|
72
|
+
disconnectedCallback() {
|
|
73
|
+
super.disconnectedCallback();
|
|
74
|
+
this.resizeObserver.unobserve(this.input);
|
|
75
|
+
}
|
|
76
|
+
handleBlur() {
|
|
77
|
+
this.hasFocus = false;
|
|
78
|
+
this.emit("syn-blur");
|
|
79
|
+
}
|
|
80
|
+
handleChange() {
|
|
81
|
+
this.value = this.input.value;
|
|
82
|
+
this.setTextareaHeight();
|
|
83
|
+
this.emit("syn-change");
|
|
84
|
+
}
|
|
85
|
+
handleFocus() {
|
|
86
|
+
this.hasFocus = true;
|
|
87
|
+
this.emit("syn-focus");
|
|
88
|
+
}
|
|
89
|
+
handleInput() {
|
|
90
|
+
this.value = this.input.value;
|
|
91
|
+
this.emit("syn-input");
|
|
92
|
+
}
|
|
93
|
+
handleInvalid(event) {
|
|
94
|
+
this.formControlController.setValidity(false);
|
|
95
|
+
this.formControlController.emitInvalidEvent(event);
|
|
96
|
+
}
|
|
97
|
+
setTextareaHeight() {
|
|
98
|
+
if (this.resize === "auto") {
|
|
99
|
+
this.input.style.height = "auto";
|
|
100
|
+
this.input.style.height = `${this.input.scrollHeight}px`;
|
|
101
|
+
} else {
|
|
102
|
+
this.input.style.height = void 0;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
handleDisabledChange() {
|
|
106
|
+
this.formControlController.setValidity(this.disabled);
|
|
107
|
+
}
|
|
108
|
+
handleRowsChange() {
|
|
109
|
+
this.setTextareaHeight();
|
|
110
|
+
}
|
|
111
|
+
async handleValueChange() {
|
|
112
|
+
await this.updateComplete;
|
|
113
|
+
this.formControlController.updateValidity();
|
|
114
|
+
this.setTextareaHeight();
|
|
115
|
+
}
|
|
116
|
+
/** Sets focus on the textarea. */
|
|
117
|
+
focus(options) {
|
|
118
|
+
this.input.focus(options);
|
|
119
|
+
}
|
|
120
|
+
/** Removes focus from the textarea. */
|
|
121
|
+
blur() {
|
|
122
|
+
this.input.blur();
|
|
123
|
+
}
|
|
124
|
+
/** Selects all the text in the textarea. */
|
|
125
|
+
select() {
|
|
126
|
+
this.input.select();
|
|
127
|
+
}
|
|
128
|
+
/** Gets or sets the textarea's scroll position. */
|
|
129
|
+
scrollPosition(position) {
|
|
130
|
+
if (position) {
|
|
131
|
+
if (typeof position.top === "number")
|
|
132
|
+
this.input.scrollTop = position.top;
|
|
133
|
+
if (typeof position.left === "number")
|
|
134
|
+
this.input.scrollLeft = position.left;
|
|
135
|
+
return void 0;
|
|
136
|
+
}
|
|
137
|
+
return {
|
|
138
|
+
top: this.input.scrollTop,
|
|
139
|
+
left: this.input.scrollTop
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
/** Sets the start and end positions of the text selection (0-based). */
|
|
143
|
+
setSelectionRange(selectionStart, selectionEnd, selectionDirection = "none") {
|
|
144
|
+
this.input.setSelectionRange(selectionStart, selectionEnd, selectionDirection);
|
|
145
|
+
}
|
|
146
|
+
/** Replaces a range of text with a new string. */
|
|
147
|
+
setRangeText(replacement, start, end, selectMode) {
|
|
148
|
+
this.input.setRangeText(replacement, start, end, selectMode);
|
|
149
|
+
if (this.value !== this.input.value) {
|
|
150
|
+
this.value = this.input.value;
|
|
151
|
+
}
|
|
152
|
+
if (this.value !== this.input.value) {
|
|
153
|
+
this.value = this.input.value;
|
|
154
|
+
this.setTextareaHeight();
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
/** Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid. */
|
|
158
|
+
checkValidity() {
|
|
159
|
+
return this.input.checkValidity();
|
|
160
|
+
}
|
|
161
|
+
/** Gets the associated form, if one exists. */
|
|
162
|
+
getForm() {
|
|
163
|
+
return this.formControlController.getForm();
|
|
164
|
+
}
|
|
165
|
+
/** Checks for validity and shows the browser's validation message if the control is invalid. */
|
|
166
|
+
reportValidity() {
|
|
167
|
+
return this.input.reportValidity();
|
|
168
|
+
}
|
|
169
|
+
/** Sets a custom validation message. Pass an empty string to restore validity. */
|
|
170
|
+
setCustomValidity(message) {
|
|
171
|
+
this.input.setCustomValidity(message);
|
|
172
|
+
this.formControlController.updateValidity();
|
|
173
|
+
}
|
|
174
|
+
render() {
|
|
175
|
+
const hasLabelSlot = this.hasSlotController.test("label");
|
|
176
|
+
const hasHelpTextSlot = this.hasSlotController.test("help-text");
|
|
177
|
+
const hasPrefixSlot = this.hasSlotController.test("prefix");
|
|
178
|
+
const hasSuffixSlot = this.hasSlotController.test("suffix");
|
|
179
|
+
const hasLabel = this.label ? true : !!hasLabelSlot;
|
|
180
|
+
const hasHelpText = this.helpText ? true : !!hasHelpTextSlot;
|
|
181
|
+
return html`
|
|
182
|
+
<div
|
|
183
|
+
part="form-control"
|
|
184
|
+
class=${classMap({
|
|
185
|
+
"form-control": true,
|
|
186
|
+
"form-control--small": this.size === "small",
|
|
187
|
+
"form-control--medium": this.size === "medium",
|
|
188
|
+
"form-control--large": this.size === "large",
|
|
189
|
+
"form-control--has-label": hasLabel,
|
|
190
|
+
"form-control--has-help-text": hasHelpText,
|
|
191
|
+
"form-control--has-prefix": hasPrefixSlot,
|
|
192
|
+
"form-control--has-suffix": hasSuffixSlot
|
|
193
|
+
})}
|
|
194
|
+
>
|
|
195
|
+
<label
|
|
196
|
+
part="form-control-label"
|
|
197
|
+
class="form-control__label"
|
|
198
|
+
for="input"
|
|
199
|
+
aria-hidden=${hasLabel ? "false" : "true"}
|
|
200
|
+
>
|
|
201
|
+
<slot name="label">${this.label}</slot>
|
|
202
|
+
</label>
|
|
203
|
+
|
|
204
|
+
<div part="form-control-input" class="form-control-input">
|
|
205
|
+
<div
|
|
206
|
+
part="base"
|
|
207
|
+
class=${classMap({
|
|
208
|
+
textarea: true,
|
|
209
|
+
"textarea--small": this.size === "small",
|
|
210
|
+
"textarea--medium": this.size === "medium",
|
|
211
|
+
"textarea--large": this.size === "large",
|
|
212
|
+
"textarea--standard": !this.readonly,
|
|
213
|
+
"textarea--readonly": this.readonly,
|
|
214
|
+
"textarea--disabled": this.disabled,
|
|
215
|
+
"textarea--focused": this.hasFocus,
|
|
216
|
+
"textarea--empty": !this.value,
|
|
217
|
+
"textarea--resize-none": this.resize === "none",
|
|
218
|
+
"textarea--resize-vertical": this.resize === "vertical",
|
|
219
|
+
"textarea--resize-auto": this.resize === "auto"
|
|
220
|
+
})}
|
|
221
|
+
>
|
|
222
|
+
<textarea
|
|
223
|
+
part="textarea"
|
|
224
|
+
id="input"
|
|
225
|
+
class="textarea__control"
|
|
226
|
+
title=${this.title}
|
|
227
|
+
name=${ifDefined(this.name)}
|
|
228
|
+
.value=${live(this.value)}
|
|
229
|
+
?disabled=${this.disabled}
|
|
230
|
+
?readonly=${this.readonly}
|
|
231
|
+
?required=${this.required}
|
|
232
|
+
placeholder=${ifDefined(this.placeholder)}
|
|
233
|
+
rows=${ifDefined(this.rows)}
|
|
234
|
+
minlength=${ifDefined(this.minlength)}
|
|
235
|
+
maxlength=${ifDefined(this.maxlength)}
|
|
236
|
+
autocapitalize=${ifDefined(this.autocapitalize)}
|
|
237
|
+
autocorrect=${ifDefined(this.autocorrect)}
|
|
238
|
+
?autofocus=${this.autofocus}
|
|
239
|
+
spellcheck=${ifDefined(this.spellcheck)}
|
|
240
|
+
enterkeyhint=${ifDefined(this.enterkeyhint)}
|
|
241
|
+
inputmode=${ifDefined(this.inputmode)}
|
|
242
|
+
aria-describedby="help-text"
|
|
243
|
+
@change=${this.handleChange}
|
|
244
|
+
@input=${this.handleInput}
|
|
245
|
+
@invalid=${this.handleInvalid}
|
|
246
|
+
@focus=${this.handleFocus}
|
|
247
|
+
@blur=${this.handleBlur}
|
|
248
|
+
></textarea>
|
|
249
|
+
</div>
|
|
250
|
+
</div>
|
|
251
|
+
|
|
252
|
+
<div
|
|
253
|
+
part="form-control-help-text"
|
|
254
|
+
id="help-text"
|
|
255
|
+
class="form-control__help-text"
|
|
256
|
+
aria-hidden=${hasHelpText ? "false" : "true"}
|
|
257
|
+
>
|
|
258
|
+
<slot name="help-text">${this.helpText}</slot>
|
|
259
|
+
</div>
|
|
260
|
+
</div>
|
|
261
|
+
`;
|
|
262
|
+
}
|
|
263
|
+
};
|
|
264
|
+
SynTextarea.styles = textarea_styles_default;
|
|
265
|
+
__decorateClass([
|
|
266
|
+
query(".textarea__control")
|
|
267
|
+
], SynTextarea.prototype, "input", 2);
|
|
268
|
+
__decorateClass([
|
|
269
|
+
state()
|
|
270
|
+
], SynTextarea.prototype, "hasFocus", 2);
|
|
271
|
+
__decorateClass([
|
|
272
|
+
property()
|
|
273
|
+
], SynTextarea.prototype, "title", 2);
|
|
274
|
+
__decorateClass([
|
|
275
|
+
property()
|
|
276
|
+
], SynTextarea.prototype, "name", 2);
|
|
277
|
+
__decorateClass([
|
|
278
|
+
property()
|
|
279
|
+
], SynTextarea.prototype, "value", 2);
|
|
280
|
+
__decorateClass([
|
|
281
|
+
property({ reflect: true })
|
|
282
|
+
], SynTextarea.prototype, "size", 2);
|
|
283
|
+
__decorateClass([
|
|
284
|
+
property()
|
|
285
|
+
], SynTextarea.prototype, "label", 2);
|
|
286
|
+
__decorateClass([
|
|
287
|
+
property({ attribute: "help-text" })
|
|
288
|
+
], SynTextarea.prototype, "helpText", 2);
|
|
289
|
+
__decorateClass([
|
|
290
|
+
property()
|
|
291
|
+
], SynTextarea.prototype, "placeholder", 2);
|
|
292
|
+
__decorateClass([
|
|
293
|
+
property({ type: Number })
|
|
294
|
+
], SynTextarea.prototype, "rows", 2);
|
|
295
|
+
__decorateClass([
|
|
296
|
+
property()
|
|
297
|
+
], SynTextarea.prototype, "resize", 2);
|
|
298
|
+
__decorateClass([
|
|
299
|
+
property({ type: Boolean, reflect: true })
|
|
300
|
+
], SynTextarea.prototype, "disabled", 2);
|
|
301
|
+
__decorateClass([
|
|
302
|
+
property({ type: Boolean, reflect: true })
|
|
303
|
+
], SynTextarea.prototype, "readonly", 2);
|
|
304
|
+
__decorateClass([
|
|
305
|
+
property({ reflect: true })
|
|
306
|
+
], SynTextarea.prototype, "form", 2);
|
|
307
|
+
__decorateClass([
|
|
308
|
+
property({ type: Boolean, reflect: true })
|
|
309
|
+
], SynTextarea.prototype, "required", 2);
|
|
310
|
+
__decorateClass([
|
|
311
|
+
property({ type: Number })
|
|
312
|
+
], SynTextarea.prototype, "minlength", 2);
|
|
313
|
+
__decorateClass([
|
|
314
|
+
property({ type: Number })
|
|
315
|
+
], SynTextarea.prototype, "maxlength", 2);
|
|
316
|
+
__decorateClass([
|
|
317
|
+
property()
|
|
318
|
+
], SynTextarea.prototype, "autocapitalize", 2);
|
|
319
|
+
__decorateClass([
|
|
320
|
+
property()
|
|
321
|
+
], SynTextarea.prototype, "autocorrect", 2);
|
|
322
|
+
__decorateClass([
|
|
323
|
+
property()
|
|
324
|
+
], SynTextarea.prototype, "autocomplete", 2);
|
|
325
|
+
__decorateClass([
|
|
326
|
+
property({ type: Boolean })
|
|
327
|
+
], SynTextarea.prototype, "autofocus", 2);
|
|
328
|
+
__decorateClass([
|
|
329
|
+
property()
|
|
330
|
+
], SynTextarea.prototype, "enterkeyhint", 2);
|
|
331
|
+
__decorateClass([
|
|
332
|
+
property({
|
|
333
|
+
type: Boolean,
|
|
334
|
+
converter: {
|
|
335
|
+
// Allow "true|false" attribute values but keep the property boolean
|
|
336
|
+
fromAttribute: (value) => !value || value === "false" ? false : true,
|
|
337
|
+
toAttribute: (value) => value ? "true" : "false"
|
|
338
|
+
}
|
|
339
|
+
})
|
|
340
|
+
], SynTextarea.prototype, "spellcheck", 2);
|
|
341
|
+
__decorateClass([
|
|
342
|
+
property()
|
|
343
|
+
], SynTextarea.prototype, "inputmode", 2);
|
|
344
|
+
__decorateClass([
|
|
345
|
+
defaultValue()
|
|
346
|
+
], SynTextarea.prototype, "defaultValue", 2);
|
|
347
|
+
__decorateClass([
|
|
348
|
+
watch("disabled", { waitUntilFirstUpdate: true })
|
|
349
|
+
], SynTextarea.prototype, "handleDisabledChange", 1);
|
|
350
|
+
__decorateClass([
|
|
351
|
+
watch("rows", { waitUntilFirstUpdate: true })
|
|
352
|
+
], SynTextarea.prototype, "handleRowsChange", 1);
|
|
353
|
+
__decorateClass([
|
|
354
|
+
watch("value", { waitUntilFirstUpdate: true })
|
|
355
|
+
], SynTextarea.prototype, "handleValueChange", 1);
|
|
356
|
+
|
|
357
|
+
export {
|
|
358
|
+
SynTextarea
|
|
359
|
+
};
|
|
360
|
+
//# sourceMappingURL=chunk.DAJKQKPJ.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/textarea/textarea.component.ts"],
|
|
4
|
+
"sourcesContent": ["// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\n// ---------------------------------------------------------------------\n\n/* eslint-disable */\nimport { classMap } from 'lit/directives/class-map.js';\nimport { defaultValue } from '../../internal/default-value.js';\nimport { FormControlController } from '../../internal/form.js';\nimport { HasSlotController } from '../../internal/slot.js';\nimport { html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\nimport { property, query, state } from 'lit/decorators.js';\nimport { watch } from '../../internal/watch.js';\nimport SynergyElement from '../../internal/synergy-element.js';\nimport styles from './textarea.styles.js';\nimport type { CSSResultGroup } from 'lit';\nimport type { SynergyFormControl } from '../../internal/synergy-element.js';\n\n/**\n * @summary Textareas collect data from the user and allow multiple lines of text.\n * @documentation https://synergy.style/components/textarea\n * @status stable\n * @since 2.0\n *\n * @slot label - The textarea's label. Alternatively, you can use the `label` attribute.\n * @slot help-text - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n *\n * @event syn-blur - Emitted when the control loses focus.\n * @event syn-change - Emitted when an alteration to the control's value is committed by the user.\n * @event syn-focus - Emitted when the control gains focus.\n * @event syn-input - Emitted when the control receives input.\n * @event syn-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart form-control - The form control that wraps the label, input, and help text.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The input's wrapper.\n * @csspart form-control-help-text - The help text's wrapper.\n * @csspart base - The component's base wrapper.\n * @csspart textarea - The internal `<textarea>` control.\n */\nexport default class SynTextarea extends SynergyElement implements SynergyFormControl {\n static styles: CSSResultGroup = styles;\n\n private readonly formControlController = new FormControlController(this, {\n assumeInteractionOn: ['syn-blur', 'syn-input']\n });\n private readonly hasSlotController = new HasSlotController(this, 'help-text', 'label', 'prefix', 'suffix');\n private resizeObserver: ResizeObserver;\n\n @query('.textarea__control') input: HTMLTextAreaElement;\n\n @state() private hasFocus = false;\n @property() title = ''; // make reactive to pass through\n\n /** The name of the textarea, submitted as a name/value pair with form data. */\n @property() name = '';\n\n /** The current value of the textarea, submitted as a name/value pair with form data. */\n @property() value = '';\n\n /** The textarea's size. */\n @property({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';\n\n /** The textarea's label. If you need to display HTML, use the `label` slot instead. */\n @property() label = '';\n\n /** The textarea's help text. If you need to display HTML, use the `help-text` slot instead. */\n @property({ attribute: 'help-text' }) helpText = '';\n\n /** Placeholder text to show as a hint when the input is empty. */\n @property() placeholder = '';\n\n /** The number of rows to display by default. */\n @property({ type: Number }) rows = 4;\n\n /** Controls how the textarea can be resized. */\n @property() resize: 'none' | 'vertical' | 'auto' = 'vertical';\n\n /** Disables the textarea. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Makes the textarea readonly. */\n @property({ type: Boolean, reflect: true }) readonly = false;\n\n /**\n * By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\n * to place the form control outside of a form and associate it with the form that has this `id`. The form must be in\n * the same document or shadow root for this to work.\n */\n @property({ reflect: true }) form = '';\n\n /** Makes the textarea a required field. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n /** The minimum length of input that will be considered valid. */\n @property({ type: Number }) minlength: number;\n\n /** The maximum length of input that will be considered valid. */\n @property({ type: Number }) maxlength: number;\n\n /** Controls whether and how text input is automatically capitalized as it is entered by the user. */\n @property() autocapitalize: 'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters';\n\n /** Indicates whether the browser's autocorrect feature is on or off. */\n @property() autocorrect: string;\n\n /**\n * Specifies what permission the browser has to provide assistance in filling out form field values. Refer to\n * [this page on MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for available values.\n */\n @property() autocomplete: string;\n\n /** Indicates that the input should receive focus on page load. */\n @property({ type: Boolean }) autofocus: boolean;\n\n /** Used to customize the label or icon of the Enter key on virtual keyboards. */\n @property() enterkeyhint: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send';\n\n /** Enables spell checking on the textarea. */\n @property({\n type: Boolean,\n converter: {\n // Allow \"true|false\" attribute values but keep the property boolean\n fromAttribute: value => (!value || value === 'false' ? false : true),\n toAttribute: value => (value ? 'true' : 'false')\n }\n })\n spellcheck = true;\n\n /**\n * Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual\n * keyboard on supportive devices.\n */\n @property() inputmode: 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';\n\n /** The default value of the form control. Primarily used for resetting the form control. */\n @defaultValue() defaultValue = '';\n\n /** Gets the validity state object */\n get validity() {\n return this.input.validity;\n }\n\n /** Gets the validation message */\n get validationMessage() {\n return this.input.validationMessage;\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.resizeObserver = new ResizeObserver(() => this.setTextareaHeight());\n\n this.updateComplete.then(() => {\n this.setTextareaHeight();\n this.resizeObserver.observe(this.input);\n });\n }\n\n firstUpdated() {\n this.formControlController.updateValidity();\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.resizeObserver.unobserve(this.input);\n }\n\n private handleBlur() {\n this.hasFocus = false;\n this.emit('syn-blur');\n }\n\n private handleChange() {\n this.value = this.input.value;\n this.setTextareaHeight();\n this.emit('syn-change');\n }\n\n private handleFocus() {\n this.hasFocus = true;\n this.emit('syn-focus');\n }\n\n private handleInput() {\n this.value = this.input.value;\n this.emit('syn-input');\n }\n\n private handleInvalid(event: Event) {\n this.formControlController.setValidity(false);\n this.formControlController.emitInvalidEvent(event);\n }\n\n private setTextareaHeight() {\n if (this.resize === 'auto') {\n this.input.style.height = 'auto';\n this.input.style.height = `${this.input.scrollHeight}px`;\n } else {\n (this.input.style.height as string | undefined) = undefined;\n }\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n // Disabled form controls are always valid\n this.formControlController.setValidity(this.disabled);\n }\n\n @watch('rows', { waitUntilFirstUpdate: true })\n handleRowsChange() {\n this.setTextareaHeight();\n }\n\n @watch('value', { waitUntilFirstUpdate: true })\n async handleValueChange() {\n await this.updateComplete;\n this.formControlController.updateValidity();\n this.setTextareaHeight();\n }\n\n /** Sets focus on the textarea. */\n focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /** Removes focus from the textarea. */\n blur() {\n this.input.blur();\n }\n\n /** Selects all the text in the textarea. */\n select() {\n this.input.select();\n }\n\n /** Gets or sets the textarea's scroll position. */\n scrollPosition(position?: { top?: number; left?: number }): { top: number; left: number } | undefined {\n if (position) {\n if (typeof position.top === 'number') this.input.scrollTop = position.top;\n if (typeof position.left === 'number') this.input.scrollLeft = position.left;\n return undefined;\n }\n\n return {\n top: this.input.scrollTop,\n left: this.input.scrollTop\n };\n }\n\n /** Sets the start and end positions of the text selection (0-based). */\n setSelectionRange(\n selectionStart: number,\n selectionEnd: number,\n selectionDirection: 'forward' | 'backward' | 'none' = 'none'\n ) {\n this.input.setSelectionRange(selectionStart, selectionEnd, selectionDirection);\n }\n\n /** Replaces a range of text with a new string. */\n setRangeText(\n replacement: string,\n start?: number,\n end?: number,\n selectMode?: 'select' | 'start' | 'end' | 'preserve'\n ) {\n // @ts-expect-error - start, end, and selectMode are optional\n this.input.setRangeText(replacement, start, end, selectMode);\n\n if (this.value !== this.input.value) {\n this.value = this.input.value;\n }\n\n if (this.value !== this.input.value) {\n this.value = this.input.value;\n this.setTextareaHeight();\n }\n }\n\n /** Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid. */\n checkValidity() {\n return this.input.checkValidity();\n }\n\n /** Gets the associated form, if one exists. */\n getForm(): HTMLFormElement | null {\n return this.formControlController.getForm();\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n reportValidity() {\n return this.input.reportValidity();\n }\n\n /** Sets a custom validation message. Pass an empty string to restore validity. */\n setCustomValidity(message: string) {\n this.input.setCustomValidity(message);\n this.formControlController.updateValidity();\n }\n\n render() {\n const hasLabelSlot = this.hasSlotController.test('label');\n const hasHelpTextSlot = this.hasSlotController.test('help-text');\n const hasPrefixSlot = this.hasSlotController.test('prefix');\n const hasSuffixSlot = this.hasSlotController.test('suffix');\n const hasLabel = this.label ? true : !!hasLabelSlot;\n const hasHelpText = this.helpText ? true : !!hasHelpTextSlot;\n\n return html`\n <div\n part=\"form-control\"\n class=${classMap({\n 'form-control': true,\n 'form-control--small': this.size === 'small',\n 'form-control--medium': this.size === 'medium',\n 'form-control--large': this.size === 'large',\n 'form-control--has-label': hasLabel,\n 'form-control--has-help-text': hasHelpText,\n 'form-control--has-prefix': hasPrefixSlot,\n 'form-control--has-suffix': hasSuffixSlot\n })}\n >\n <label\n part=\"form-control-label\"\n class=\"form-control__label\"\n for=\"input\"\n aria-hidden=${hasLabel ? 'false' : 'true'}\n >\n <slot name=\"label\">${this.label}</slot>\n </label>\n\n <div part=\"form-control-input\" class=\"form-control-input\">\n <div\n part=\"base\"\n class=${classMap({\n textarea: true,\n 'textarea--small': this.size === 'small',\n 'textarea--medium': this.size === 'medium',\n 'textarea--large': this.size === 'large',\n 'textarea--standard': !this.readonly,\n 'textarea--readonly': this.readonly,\n 'textarea--disabled': this.disabled,\n 'textarea--focused': this.hasFocus,\n 'textarea--empty': !this.value,\n 'textarea--resize-none': this.resize === 'none',\n 'textarea--resize-vertical': this.resize === 'vertical',\n 'textarea--resize-auto': this.resize === 'auto'\n })}\n >\n <textarea\n part=\"textarea\"\n id=\"input\"\n class=\"textarea__control\"\n title=${this.title /* An empty title prevents browser validation tooltips from appearing on hover */}\n name=${ifDefined(this.name)}\n .value=${live(this.value)}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n ?required=${this.required}\n placeholder=${ifDefined(this.placeholder)}\n rows=${ifDefined(this.rows)}\n minlength=${ifDefined(this.minlength)}\n maxlength=${ifDefined(this.maxlength)}\n autocapitalize=${ifDefined(this.autocapitalize)}\n autocorrect=${ifDefined(this.autocorrect)}\n ?autofocus=${this.autofocus}\n spellcheck=${ifDefined(this.spellcheck)}\n enterkeyhint=${ifDefined(this.enterkeyhint)}\n inputmode=${ifDefined(this.inputmode)}\n aria-describedby=\"help-text\"\n @change=${this.handleChange}\n @input=${this.handleInput}\n @invalid=${this.handleInvalid}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n ></textarea>\n </div>\n </div>\n\n <div\n part=\"form-control-help-text\"\n id=\"help-text\"\n class=\"form-control__help-text\"\n aria-hidden=${hasHelpText ? 'false' : 'true'}\n >\n <slot name=\"help-text\">${this.helpText}</slot>\n </div>\n </div>\n `;\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import {
|
|
2
|
+
form_control_styles_default
|
|
3
|
+
} from "./chunk.VNC7HKGP.js";
|
|
1
4
|
import {
|
|
2
5
|
input_custom_styles_default
|
|
3
6
|
} from "./chunk.W46CFM2R.js";
|
|
@@ -6,129 +9,8 @@ import {
|
|
|
6
9
|
} from "./chunk.O7USYXBT.js";
|
|
7
10
|
|
|
8
11
|
// src/components/input/input.styles.ts
|
|
9
|
-
import { css as css3 } from "lit";
|
|
10
|
-
|
|
11
|
-
// src/styles/form-control.styles.ts
|
|
12
|
-
import { css as css2 } from "lit";
|
|
13
|
-
|
|
14
|
-
// src/styles/form-control.custom.styles.ts
|
|
15
12
|
import { css } from "lit";
|
|
16
|
-
var
|
|
17
|
-
|
|
18
|
-
/* Label */
|
|
19
|
-
.form-control--has-label .form-control__label {
|
|
20
|
-
font-weight: var(--syn-font-weight-semibold);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.form-control--has-label.form-control--small .form-control__label {
|
|
24
|
-
margin-bottom: var(--syn-spacing-x-small);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.form-control--has-label.form-control--medium .form-control__label {
|
|
28
|
-
margin-bottom: var(--syn-input-spacing-small);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.form-control--has-label.form-control--large .form-control__label {
|
|
32
|
-
margin-bottom: var(--syn-input-spacing-medium);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/* Help text */
|
|
36
|
-
.form-control--has-help-text .form-control__help-text {
|
|
37
|
-
margin-top: var(--syn-spacing-2x-small);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
.form-control--small.form-control--has-prefix .input__control {
|
|
41
|
-
padding: var(--syn-spacing-3x-small) 0;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.form-control--has-prefix.form-control--medium .input__control {
|
|
45
|
-
padding: var(--syn-spacing-x-small) 0;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
.form-control--large.form-control--has-prefix .input__control {
|
|
49
|
-
padding: var(--syn-input-spacing-small) 0;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
/* ERROR */
|
|
53
|
-
|
|
54
|
-
:host([data-user-invalid]) .form-control__help-text {
|
|
55
|
-
color: var(--syn-input-help-text-color-error);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/* DISABLED */
|
|
59
|
-
|
|
60
|
-
:host([disabled]) .form-control--has-label .form-control__label,
|
|
61
|
-
:host([disabled]) .form-control--has-help-text .form-control__help-text {
|
|
62
|
-
cursor: not-allowed;
|
|
63
|
-
opacity: 0.5;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
`;
|
|
67
|
-
|
|
68
|
-
// src/styles/form-control.styles.ts
|
|
69
|
-
var form_control_styles_default = css2`
|
|
70
|
-
/* stylelint-disable */
|
|
71
|
-
.form-control .form-control__label {
|
|
72
|
-
display: none;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
.form-control .form-control__help-text {
|
|
76
|
-
display: none;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/* Label */
|
|
80
|
-
.form-control--has-label .form-control__label {
|
|
81
|
-
display: inline-block;
|
|
82
|
-
color: var(--syn-input-label-color);
|
|
83
|
-
margin-bottom: var(--syn-spacing-3x-small);
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
.form-control--has-label.form-control--small .form-control__label {
|
|
87
|
-
font-size: var(--syn-input-label-font-size-small);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
.form-control--has-label.form-control--medium .form-control__label {
|
|
91
|
-
font-size: var(--syn-input-label-font-size-medium);
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
.form-control--has-label.form-control--large .form-control__label {
|
|
95
|
-
font-size: var(--syn-input-label-font-size-large);
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
:host([required]) .form-control--has-label .form-control__label::after {
|
|
99
|
-
content: var(--syn-input-required-content);
|
|
100
|
-
margin-inline-start: var(--syn-input-required-content-offset);
|
|
101
|
-
color: var(--syn-input-required-content-color);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
/* Help text */
|
|
105
|
-
.form-control--has-help-text .form-control__help-text {
|
|
106
|
-
display: block;
|
|
107
|
-
color: var(--syn-input-help-text-color);
|
|
108
|
-
margin-top: var(--syn-spacing-3x-small);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
.form-control--has-help-text.form-control--small .form-control__help-text {
|
|
112
|
-
font-size: var(--syn-input-help-text-font-size-small);
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
.form-control--has-help-text.form-control--medium .form-control__help-text {
|
|
116
|
-
font-size: var(--syn-input-help-text-font-size-medium);
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
.form-control--has-help-text.form-control--large .form-control__help-text {
|
|
120
|
-
font-size: var(--syn-input-help-text-font-size-large);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
.form-control--has-help-text.form-control--radio-group .form-control__help-text {
|
|
124
|
-
margin-top: var(--syn-spacing-2x-small);
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
${form_control_custom_styles_default}
|
|
128
|
-
`;
|
|
129
|
-
|
|
130
|
-
// src/components/input/input.styles.ts
|
|
131
|
-
var input_styles_default = css3`
|
|
13
|
+
var input_styles_default = css`
|
|
132
14
|
/* stylelint-disable */
|
|
133
15
|
${component_styles_default}
|
|
134
16
|
${form_control_styles_default}
|
|
@@ -433,4 +315,4 @@ var input_styles_default = css3`
|
|
|
433
315
|
export {
|
|
434
316
|
input_styles_default
|
|
435
317
|
};
|
|
436
|
-
//# sourceMappingURL=chunk.
|
|
318
|
+
//# sourceMappingURL=chunk.E6TDVDGF.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/components/input/input.styles.ts"
|
|
4
|
-
"sourcesContent": ["// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\n// ---------------------------------------------------------------------\n\n/* eslint-disable */\nimport { css } from 'lit';\nimport customStyles from './input.custom.styles.js';\nimport componentStyles from '../../styles/component.styles.js';\nimport formControlStyles from '../../styles/form-control.styles.js';\n\nexport default css`\n\t/* stylelint-disable */\n ${componentStyles}\n ${formControlStyles}\n\n :host {\n display: block;\n }\n\n .input {\n flex: 1 1 auto;\n display: inline-flex;\n align-items: stretch;\n justify-content: start;\n position: relative;\n width: 100%;\n font-family: var(--syn-input-font-family);\n font-weight: var(--syn-input-font-weight);\n letter-spacing: var(--syn-input-letter-spacing);\n vertical-align: middle;\n overflow: hidden;\n cursor: text;\n transition:\n var(--syn-transition-fast) color,\n var(--syn-transition-fast) border,\n var(--syn-transition-fast) box-shadow,\n var(--syn-transition-fast) background-color;\n }\n\n /* Standard inputs */\n .input--standard {\n background-color: var(--syn-input-background-color);\n border: solid var(--syn-input-border-width) var(--syn-input-border-color);\n }\n\n .input--standard:hover:not(.input--disabled) {\n background-color: var(--syn-input-background-color-hover);\n border-color: var(--syn-input-border-color-hover);\n }\n\n .input--standard.input--focused:not(.input--disabled) {\n background-color: var(--syn-input-background-color-focus);\n border-color: var(--syn-input-border-color-focus);\n box-shadow: 0 0 0 var(--syn-focus-ring-width) var(--syn-input-focus-ring-color);\n }\n\n .input--standard.input--focused:not(.input--disabled) .input__control {\n color: var(--syn-input-color-focus);\n }\n\n .input--standard.input--disabled {\n background-color: var(--syn-input-background-color-disabled);\n border-color: var(--syn-input-border-color-disabled);\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .input--standard.input--disabled .input__control {\n color: var(--syn-input-color-disabled);\n }\n\n .input--standard.input--disabled .input__control::placeholder {\n color: var(--syn-input-placeholder-color-disabled);\n }\n\n /* Readonly inputs */\n .input--readonly {\n border: none;\n background-color: var(--syn-input-readonly-background-color);\n color: var(--syn-input-color);\n }\n\n .input--readonly:hover:not(.input--disabled) {\n background-color: var(--syn-input-readonly-background-color-hover);\n }\n\n .input--readonly.input--focused:not(.input--disabled) {\n background-color: var(--syn-input-readonly-background-color-focus);\n outline: var(--syn-focus-ring);\n outline-offset: var(--syn-focus-ring-offset);\n }\n\n .input--readonly.input--disabled {\n background-color: var(--syn-input-readonly-background-color-disabled);\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .input__control {\n flex: 1 1 auto;\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n min-width: 0;\n height: 100%;\n color: var(--syn-input-color);\n border: none;\n background: inherit;\n box-shadow: none;\n padding: 0;\n margin: 0;\n cursor: inherit;\n -webkit-appearance: none;\n }\n\n .input__control::-webkit-search-decoration,\n .input__control::-webkit-search-cancel-button,\n .input__control::-webkit-search-results-button,\n .input__control::-webkit-search-results-decoration {\n -webkit-appearance: none;\n }\n\n .input__control:-webkit-autofill,\n .input__control:-webkit-autofill:hover,\n .input__control:-webkit-autofill:focus,\n .input__control:-webkit-autofill:active {\n box-shadow: 0 0 0 var(--syn-input-height-large) var(--syn-input-background-color-hover) inset !important;\n -webkit-text-fill-color: var(--syn-color-primary-500);\n caret-color: var(--syn-input-color);\n }\n\n .input--readonly .input__control:-webkit-autofill,\n .input--readonly .input__control:-webkit-autofill:hover,\n .input--readonly .input__control:-webkit-autofill:focus,\n .input--readonly .input__control:-webkit-autofill:active {\n box-shadow: 0 0 0 var(--syn-input-height-large) var(--syn-input-readonly-background-color) inset !important;\n }\n\n .input__control::placeholder {\n color: var(--syn-input-placeholder-color);\n user-select: none;\n -webkit-user-select: none;\n }\n\n .input:hover:not(.input--disabled) .input__control {\n color: var(--syn-input-color-hover);\n }\n\n .input__control:focus {\n outline: none;\n }\n\n .input__prefix,\n .input__suffix {\n display: inline-flex;\n flex: 0 0 auto;\n align-items: center;\n cursor: default;\n }\n\n .input__prefix ::slotted(syn-icon),\n .input__suffix ::slotted(syn-icon) {\n color: var(--syn-input-icon-color);\n }\n\n /*\n * Size modifiers\n */\n\n .input--small {\n border-radius: var(--syn-input-border-radius-small);\n font-size: var(--syn-input-font-size-small);\n height: var(--syn-input-height-small);\n }\n\n .input--small .input__control {\n height: calc(var(--syn-input-height-small) - var(--syn-input-border-width) * 2);\n padding: 0 var(--syn-input-spacing-small);\n }\n\n .input--small .input__clear,\n .input--small .input__password-toggle {\n width: calc(1em + var(--syn-input-spacing-small) * 2);\n }\n\n .input--small .input__prefix ::slotted(*) {\n margin-inline-start: var(--syn-input-spacing-small);\n }\n\n .input--small .input__suffix ::slotted(*) {\n margin-inline-end: var(--syn-input-spacing-small);\n }\n\n .input--medium {\n border-radius: var(--syn-input-border-radius-medium);\n font-size: var(--syn-input-font-size-medium);\n height: var(--syn-input-height-medium);\n }\n\n .input--medium .input__control {\n height: calc(var(--syn-input-height-medium) - var(--syn-input-border-width) * 2);\n padding: 0 var(--syn-input-spacing-medium);\n }\n\n .input--medium .input__clear,\n .input--medium .input__password-toggle {\n width: calc(1em + var(--syn-input-spacing-medium) * 2);\n }\n\n .input--medium .input__prefix ::slotted(*) {\n margin-inline-start: var(--syn-input-spacing-medium);\n }\n\n .input--medium .input__suffix ::slotted(*) {\n margin-inline-end: var(--syn-input-spacing-medium);\n }\n\n .input--large {\n border-radius: var(--syn-input-border-radius-large);\n font-size: var(--syn-input-font-size-large);\n height: var(--syn-input-height-large);\n }\n\n .input--large .input__control {\n height: calc(var(--syn-input-height-large) - var(--syn-input-border-width) * 2);\n padding: 0 var(--syn-input-spacing-large);\n }\n\n .input--large .input__clear,\n .input--large .input__password-toggle {\n width: calc(1em + var(--syn-input-spacing-large) * 2);\n }\n\n .input--large .input__prefix ::slotted(*) {\n margin-inline-start: var(--syn-input-spacing-large);\n }\n\n .input--large .input__suffix ::slotted(*) {\n margin-inline-end: var(--syn-input-spacing-large);\n }\n\n /*\n * Pill modifier\n */\n\n .input--pill.input--small {\n border-radius: var(--syn-input-height-small);\n }\n\n .input--pill.input--medium {\n border-radius: var(--syn-input-height-medium);\n }\n\n .input--pill.input--large {\n border-radius: var(--syn-input-height-large);\n }\n\n /*\n * Clearable + Password Toggle\n */\n\n .input__clear:not(.input__clear--visible) {\n visibility: hidden;\n }\n\n .input__clear,\n .input__password-toggle {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: inherit;\n color: var(--syn-input-icon-color);\n border: none;\n background: none;\n padding: 0;\n transition: var(--syn-transition-fast) color;\n cursor: pointer;\n }\n\n .input__clear:hover,\n .input__password-toggle:hover {\n color: var(--syn-input-icon-color-hover);\n }\n\n .input__clear:focus,\n .input__password-toggle:focus {\n outline: none;\n }\n\n .input--empty .input__clear {\n visibility: hidden;\n }\n\n /* Don't show the browser's password toggle in Edge */\n ::-ms-reveal {\n display: none;\n }\n\n /* Hide the built-in number spinner */\n .input--no-spin-buttons input[type='number']::-webkit-outer-spin-button,\n .input--no-spin-buttons input[type='number']::-webkit-inner-spin-button {\n -webkit-appearance: none;\n display: none;\n }\n\n .input--no-spin-buttons input[type='number'] {\n -moz-appearance: textfield;\n }\n\n ${customStyles}\n`;\n\n", "// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\n// ---------------------------------------------------------------------\n\n/* eslint-disable */\nimport { css } from 'lit';\nimport customStyles from './form-control.custom.styles.js';\n\nexport default css`\n\t/* stylelint-disable */\n .form-control .form-control__label {\n display: none;\n }\n\n .form-control .form-control__help-text {\n display: none;\n }\n\n /* Label */\n .form-control--has-label .form-control__label {\n display: inline-block;\n color: var(--syn-input-label-color);\n margin-bottom: var(--syn-spacing-3x-small);\n }\n\n .form-control--has-label.form-control--small .form-control__label {\n font-size: var(--syn-input-label-font-size-small);\n }\n\n .form-control--has-label.form-control--medium .form-control__label {\n font-size: var(--syn-input-label-font-size-medium);\n }\n\n .form-control--has-label.form-control--large .form-control__label {\n font-size: var(--syn-input-label-font-size-large);\n }\n\n :host([required]) .form-control--has-label .form-control__label::after {\n content: var(--syn-input-required-content);\n margin-inline-start: var(--syn-input-required-content-offset);\n color: var(--syn-input-required-content-color);\n }\n\n /* Help text */\n .form-control--has-help-text .form-control__help-text {\n display: block;\n color: var(--syn-input-help-text-color);\n margin-top: var(--syn-spacing-3x-small);\n }\n\n .form-control--has-help-text.form-control--small .form-control__help-text {\n font-size: var(--syn-input-help-text-font-size-small);\n }\n\n .form-control--has-help-text.form-control--medium .form-control__help-text {\n font-size: var(--syn-input-help-text-font-size-medium);\n }\n\n .form-control--has-help-text.form-control--large .form-control__help-text {\n font-size: var(--syn-input-help-text-font-size-large);\n }\n\n .form-control--has-help-text.form-control--radio-group .form-control__help-text {\n margin-top: var(--syn-spacing-2x-small);\n }\n\n ${customStyles}\n`;\n\n", "import { css } from 'lit';\n\nexport default css` \n\n /* Label */\n .form-control--has-label .form-control__label {\n font-weight: var(--syn-font-weight-semibold);\n }\n\n .form-control--has-label.form-control--small .form-control__label {\n margin-bottom: var(--syn-spacing-x-small);\n }\n \n .form-control--has-label.form-control--medium .form-control__label {\n margin-bottom: var(--syn-input-spacing-small);\n }\n\n .form-control--has-label.form-control--large .form-control__label {\n margin-bottom: var(--syn-input-spacing-medium);\n }\n\n /* Help text */\n .form-control--has-help-text .form-control__help-text {\n margin-top: var(--syn-spacing-2x-small);\n }\n\n .form-control--small.form-control--has-prefix .input__control {\n padding: var(--syn-spacing-3x-small) 0;\n }\n\n .form-control--has-prefix.form-control--medium .input__control {\n padding: var(--syn-spacing-x-small) 0;\n }\n\n .form-control--large.form-control--has-prefix .input__control {\n padding: var(--syn-input-spacing-small) 0;\n }\n\n /* ERROR */\n \n :host([data-user-invalid]) .form-control__help-text {\n color: var(--syn-input-help-text-color-error);\n }\n\n /* DISABLED */\n\n :host([disabled]) .form-control--has-label .form-control__label,\n :host([disabled]) .form-control--has-help-text .form-control__help-text {\n cursor: not-allowed;\n opacity: 0.5;\n }\n\n`;\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": [
|
|
3
|
+
"sources": ["../../src/components/input/input.styles.ts"],
|
|
4
|
+
"sourcesContent": ["// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\n// ---------------------------------------------------------------------\n\n/* eslint-disable */\nimport { css } from 'lit';\nimport customStyles from './input.custom.styles.js';\nimport componentStyles from '../../styles/component.styles.js';\nimport formControlStyles from '../../styles/form-control.styles.js';\n\nexport default css`\n\t/* stylelint-disable */\n ${componentStyles}\n ${formControlStyles}\n\n :host {\n display: block;\n }\n\n .input {\n flex: 1 1 auto;\n display: inline-flex;\n align-items: stretch;\n justify-content: start;\n position: relative;\n width: 100%;\n font-family: var(--syn-input-font-family);\n font-weight: var(--syn-input-font-weight);\n letter-spacing: var(--syn-input-letter-spacing);\n vertical-align: middle;\n overflow: hidden;\n cursor: text;\n transition:\n var(--syn-transition-fast) color,\n var(--syn-transition-fast) border,\n var(--syn-transition-fast) box-shadow,\n var(--syn-transition-fast) background-color;\n }\n\n /* Standard inputs */\n .input--standard {\n background-color: var(--syn-input-background-color);\n border: solid var(--syn-input-border-width) var(--syn-input-border-color);\n }\n\n .input--standard:hover:not(.input--disabled) {\n background-color: var(--syn-input-background-color-hover);\n border-color: var(--syn-input-border-color-hover);\n }\n\n .input--standard.input--focused:not(.input--disabled) {\n background-color: var(--syn-input-background-color-focus);\n border-color: var(--syn-input-border-color-focus);\n box-shadow: 0 0 0 var(--syn-focus-ring-width) var(--syn-input-focus-ring-color);\n }\n\n .input--standard.input--focused:not(.input--disabled) .input__control {\n color: var(--syn-input-color-focus);\n }\n\n .input--standard.input--disabled {\n background-color: var(--syn-input-background-color-disabled);\n border-color: var(--syn-input-border-color-disabled);\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .input--standard.input--disabled .input__control {\n color: var(--syn-input-color-disabled);\n }\n\n .input--standard.input--disabled .input__control::placeholder {\n color: var(--syn-input-placeholder-color-disabled);\n }\n\n /* Readonly inputs */\n .input--readonly {\n border: none;\n background-color: var(--syn-input-readonly-background-color);\n color: var(--syn-input-color);\n }\n\n .input--readonly:hover:not(.input--disabled) {\n background-color: var(--syn-input-readonly-background-color-hover);\n }\n\n .input--readonly.input--focused:not(.input--disabled) {\n background-color: var(--syn-input-readonly-background-color-focus);\n outline: var(--syn-focus-ring);\n outline-offset: var(--syn-focus-ring-offset);\n }\n\n .input--readonly.input--disabled {\n background-color: var(--syn-input-readonly-background-color-disabled);\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .input__control {\n flex: 1 1 auto;\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n min-width: 0;\n height: 100%;\n color: var(--syn-input-color);\n border: none;\n background: inherit;\n box-shadow: none;\n padding: 0;\n margin: 0;\n cursor: inherit;\n -webkit-appearance: none;\n }\n\n .input__control::-webkit-search-decoration,\n .input__control::-webkit-search-cancel-button,\n .input__control::-webkit-search-results-button,\n .input__control::-webkit-search-results-decoration {\n -webkit-appearance: none;\n }\n\n .input__control:-webkit-autofill,\n .input__control:-webkit-autofill:hover,\n .input__control:-webkit-autofill:focus,\n .input__control:-webkit-autofill:active {\n box-shadow: 0 0 0 var(--syn-input-height-large) var(--syn-input-background-color-hover) inset !important;\n -webkit-text-fill-color: var(--syn-color-primary-500);\n caret-color: var(--syn-input-color);\n }\n\n .input--readonly .input__control:-webkit-autofill,\n .input--readonly .input__control:-webkit-autofill:hover,\n .input--readonly .input__control:-webkit-autofill:focus,\n .input--readonly .input__control:-webkit-autofill:active {\n box-shadow: 0 0 0 var(--syn-input-height-large) var(--syn-input-readonly-background-color) inset !important;\n }\n\n .input__control::placeholder {\n color: var(--syn-input-placeholder-color);\n user-select: none;\n -webkit-user-select: none;\n }\n\n .input:hover:not(.input--disabled) .input__control {\n color: var(--syn-input-color-hover);\n }\n\n .input__control:focus {\n outline: none;\n }\n\n .input__prefix,\n .input__suffix {\n display: inline-flex;\n flex: 0 0 auto;\n align-items: center;\n cursor: default;\n }\n\n .input__prefix ::slotted(syn-icon),\n .input__suffix ::slotted(syn-icon) {\n color: var(--syn-input-icon-color);\n }\n\n /*\n * Size modifiers\n */\n\n .input--small {\n border-radius: var(--syn-input-border-radius-small);\n font-size: var(--syn-input-font-size-small);\n height: var(--syn-input-height-small);\n }\n\n .input--small .input__control {\n height: calc(var(--syn-input-height-small) - var(--syn-input-border-width) * 2);\n padding: 0 var(--syn-input-spacing-small);\n }\n\n .input--small .input__clear,\n .input--small .input__password-toggle {\n width: calc(1em + var(--syn-input-spacing-small) * 2);\n }\n\n .input--small .input__prefix ::slotted(*) {\n margin-inline-start: var(--syn-input-spacing-small);\n }\n\n .input--small .input__suffix ::slotted(*) {\n margin-inline-end: var(--syn-input-spacing-small);\n }\n\n .input--medium {\n border-radius: var(--syn-input-border-radius-medium);\n font-size: var(--syn-input-font-size-medium);\n height: var(--syn-input-height-medium);\n }\n\n .input--medium .input__control {\n height: calc(var(--syn-input-height-medium) - var(--syn-input-border-width) * 2);\n padding: 0 var(--syn-input-spacing-medium);\n }\n\n .input--medium .input__clear,\n .input--medium .input__password-toggle {\n width: calc(1em + var(--syn-input-spacing-medium) * 2);\n }\n\n .input--medium .input__prefix ::slotted(*) {\n margin-inline-start: var(--syn-input-spacing-medium);\n }\n\n .input--medium .input__suffix ::slotted(*) {\n margin-inline-end: var(--syn-input-spacing-medium);\n }\n\n .input--large {\n border-radius: var(--syn-input-border-radius-large);\n font-size: var(--syn-input-font-size-large);\n height: var(--syn-input-height-large);\n }\n\n .input--large .input__control {\n height: calc(var(--syn-input-height-large) - var(--syn-input-border-width) * 2);\n padding: 0 var(--syn-input-spacing-large);\n }\n\n .input--large .input__clear,\n .input--large .input__password-toggle {\n width: calc(1em + var(--syn-input-spacing-large) * 2);\n }\n\n .input--large .input__prefix ::slotted(*) {\n margin-inline-start: var(--syn-input-spacing-large);\n }\n\n .input--large .input__suffix ::slotted(*) {\n margin-inline-end: var(--syn-input-spacing-large);\n }\n\n /*\n * Pill modifier\n */\n\n .input--pill.input--small {\n border-radius: var(--syn-input-height-small);\n }\n\n .input--pill.input--medium {\n border-radius: var(--syn-input-height-medium);\n }\n\n .input--pill.input--large {\n border-radius: var(--syn-input-height-large);\n }\n\n /*\n * Clearable + Password Toggle\n */\n\n .input__clear:not(.input__clear--visible) {\n visibility: hidden;\n }\n\n .input__clear,\n .input__password-toggle {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: inherit;\n color: var(--syn-input-icon-color);\n border: none;\n background: none;\n padding: 0;\n transition: var(--syn-transition-fast) color;\n cursor: pointer;\n }\n\n .input__clear:hover,\n .input__password-toggle:hover {\n color: var(--syn-input-icon-color-hover);\n }\n\n .input__clear:focus,\n .input__password-toggle:focus {\n outline: none;\n }\n\n .input--empty .input__clear {\n visibility: hidden;\n }\n\n /* Don't show the browser's password toggle in Edge */\n ::-ms-reveal {\n display: none;\n }\n\n /* Hide the built-in number spinner */\n .input--no-spin-buttons input[type='number']::-webkit-outer-spin-button,\n .input--no-spin-buttons input[type='number']::-webkit-inner-spin-button {\n -webkit-appearance: none;\n display: none;\n }\n\n .input--no-spin-buttons input[type='number'] {\n -moz-appearance: textfield;\n }\n\n ${customStyles}\n`;\n\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;AAMA,SAAS,WAAW;AAKpB,IAAO,uBAAQ;AAAA;AAAA,IAEX,wBAAe;AAAA,IACf,2BAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAwSjB,2BAAY;AAAA;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import { css } from "lit";
|
|
3
3
|
var button_custom_styles_default = css`
|
|
4
4
|
.button:focus-visible {
|
|
5
|
-
outline: var(--syn-focus-ring-color) solid
|
|
6
|
-
outline-offset:
|
|
5
|
+
outline: var(--syn-focus-ring-color) solid var(--syn-focus-ring-width);
|
|
6
|
+
outline-offset: var(--syn-focus-ring-width);
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
/*
|
|
@@ -135,4 +135,4 @@ var button_custom_styles_default = css`
|
|
|
135
135
|
export {
|
|
136
136
|
button_custom_styles_default
|
|
137
137
|
};
|
|
138
|
-
//# sourceMappingURL=chunk.
|
|
138
|
+
//# sourceMappingURL=chunk.FVSP4LXX.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/button/button.custom.styles.ts"],
|
|
4
|
+
"sourcesContent": ["import { css } from 'lit';\n\nexport default css`\n.button:focus-visible {\n outline: var(--syn-focus-ring-color) solid var(--syn-focus-ring-width);\n outline-offset: var(--syn-focus-ring-width);\n }\n\n /*\n * Size modifiers\n */\n\n .button.button--medium.button--has-label .button__label {\n font-size: var(--syn-font-size-medium);\n } \n\n .button.button--large.button--has-label .button__label {\n font-size: var(--syn-font-size-large);\n }\n\n /*\n * Standard buttons\n */\n\n .button--filled.button--primary.button--disabled {\n background-color: var(--syn-color-neutral-400);\n border-color: var(--syn-color-neutral-400);\n color: var(--syn-color-neutral-600);\n }\n\n .button--filled.button--primary:hover:not(.button--disabled) {\n background-color: var(--syn-color-primary-900);\n border-color: var(--syn-color-primary-900);\n color: var(--syn-color-neutral-0);\n }\n\n .button--filled.button--primary:active:not(.button--disabled) {\n background-color: var(--syn-color-primary-950);\n border-color: var(--syn-color-primary-950);\n color: var(--syn-color-neutral-0);\n }\n\n /*\n * Outline buttons\n */\n\n .button--outline.button--primary.button--disabled {\n background: none;\n border-color: var(--syn-color-neutral-400);\n color: var(--syn-color-neutral-400);\n }\n\n .button--outline.button--primary:hover:not(.button--disabled),\n .button--outline.button--primary.button--checked:not(.button--disabled) {\n background: none;\n border-color: var(--syn-color-primary-900);\n color: var(--syn-color-primary-900);\n }\n\n .button--outline.button--primary:active:not(.button--disabled) {\n background: inherit;\n border-color: var(--syn-color-primary-950);\n color: var(--syn-color-primary-950);\n }\n\n /*\n * Text buttons\n */\n \n .button--text:hover:not(.button--disabled) {\n color: var(--syn-color-primary-900);\n }\n\n .button--text.button--primary:active:not(.button--disabled) {\n background: inherit;\n border-color: none;\n color: var(--syn-color-primary-950);\n }\n\n .button--text.button--primary.button--disabled {\n color: var(--syn-color-neutral-400);\n }\n\n /*\n* PADDING\n */\n .button.button--small.button--has-label.button--has-prefix {\n padding-inline-start: var(--syn-spacing-small);\n }\n\n .button.button--small.button--has-label.button--has-suffix {\n padding-inline-end: var(--syn-spacing-small);\n }\n\n .button.button--small.button--has-prefix .button__prefix, \n .button.button--small.button--has-suffix .button__suffix {\n font-size: var(--syn-spacing-medium);\n }\n\n .button.button--medium.button--has-label.button--has-prefix {\n padding-inline-start: var(--syn-spacing-medium);\n } \n\n .button.button--medium.button--has-label.button--has-suffix {\n padding-inline-end: var(--syn-spacing-medium);\n }\n\n .button.button--medium.button--has-prefix .button__prefix, \n .button.button--medium.button--has-suffix .button__suffix {\n font-size: var(--syn-spacing-large);\n }\n\n .button.button--large.button--has-label.button--has-prefix {\n padding-inline-start: var(--syn-spacing-large);\n }\n\n .button.button--large.button--has-label.button--has-prefix .button__label {\n padding-inline-start: var(--syn-spacing-medium);\n }\n\n .button.button--large.button--has-label.button--has-suffix {\n padding-inline-end: var(--syn-spacing-large);\n }\n\n .button.button--large.button--has-label.button--has-suffix .button__label {\n padding-inline-end: var(--syn-spacing-medium);\n }\n\n .button.button--large.button--has-prefix .button__prefix, \n .button.button--large.button--has-suffix .button__suffix {\n font-size: var(--syn-font-size-2x-large);\n }\n `;\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,WAAW;AAEpB,IAAO,+BAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|