@spectrum-web-components/textfield 0.11.9 → 0.11.11-devmode.7
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/package.json +26 -13
- package/sp-textfield.dev.js +3 -0
- package/sp-textfield.dev.js.map +7 -0
- package/sp-textfield.js +3 -14
- package/sp-textfield.js.map +7 -1
- package/src/Textfield.dev.js +291 -0
- package/src/Textfield.dev.js.map +7 -0
- package/src/Textfield.js +230 -249
- package/src/Textfield.js.map +7 -1
- package/src/index.dev.js +2 -0
- package/src/index.dev.js.map +7 -0
- package/src/index.js +2 -13
- package/src/index.js.map +7 -1
- package/src/spectrum-textfield.css.dev.js +252 -0
- package/src/spectrum-textfield.css.dev.js.map +7 -0
- package/src/spectrum-textfield.css.js +3 -14
- package/src/spectrum-textfield.css.js.map +7 -1
- package/src/textfield.css.dev.js +259 -0
- package/src/textfield.css.dev.js.map +7 -0
- package/src/textfield.css.js +3 -14
- package/src/textfield.css.js.map +7 -1
- package/stories/textarea.stories.js +15 -26
- package/stories/textarea.stories.js.map +7 -1
- package/stories/textfield.stories.js +15 -26
- package/stories/textfield.stories.js.map +7 -1
- package/test/benchmark/test-basic.js +5 -16
- package/test/benchmark/test-basic.js.map +7 -1
- package/test/textarea.test-vrt.js +4 -15
- package/test/textarea.test-vrt.js.map +7 -1
- package/test/textfield.test-vrt.js +4 -15
- package/test/textfield.test-vrt.js.map +7 -1
- package/test/textfield.test.js +460 -516
- package/test/textfield.test.js.map +7 -1
package/src/Textfield.js
CHANGED
|
@@ -1,153 +1,141 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
import {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
import {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
import
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
4
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
5
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
6
|
+
if (decorator = decorators[i])
|
|
7
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
8
|
+
if (kind && result)
|
|
9
|
+
__defProp(target, key, result);
|
|
10
|
+
return result;
|
|
11
|
+
};
|
|
12
|
+
import {
|
|
13
|
+
html,
|
|
14
|
+
nothing
|
|
15
|
+
} from "@spectrum-web-components/base";
|
|
16
|
+
import {
|
|
17
|
+
ifDefined,
|
|
18
|
+
live
|
|
19
|
+
} from "@spectrum-web-components/base/src/directives.js";
|
|
20
|
+
import {
|
|
21
|
+
property,
|
|
22
|
+
query,
|
|
23
|
+
state
|
|
24
|
+
} from "@spectrum-web-components/base/src/decorators.js";
|
|
25
|
+
import { ManageHelpText } from "@spectrum-web-components/help-text/src/manage-help-text.js";
|
|
26
|
+
import { Focusable } from "@spectrum-web-components/shared/src/focusable.js";
|
|
27
|
+
import "@spectrum-web-components/icons-ui/icons/sp-icon-checkmark100.js";
|
|
28
|
+
import "@spectrum-web-components/icons-workflow/icons/sp-icon-alert.js";
|
|
29
|
+
import textfieldStyles from "./textfield.css.js";
|
|
30
|
+
import checkmarkStyles from "@spectrum-web-components/icon/src/spectrum-icon-checkmark.css.js";
|
|
31
|
+
const textfieldTypes = ["text", "url", "tel", "email", "password"];
|
|
27
32
|
export class TextfieldBase extends ManageHelpText(Focusable) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
33
|
+
constructor() {
|
|
34
|
+
super(...arguments);
|
|
35
|
+
this.allowedKeys = "";
|
|
36
|
+
this.focused = false;
|
|
37
|
+
this.invalid = false;
|
|
38
|
+
this.label = "";
|
|
39
|
+
this.placeholder = "";
|
|
40
|
+
this._type = "text";
|
|
41
|
+
this.grows = false;
|
|
42
|
+
this.maxlength = -1;
|
|
43
|
+
this.minlength = -1;
|
|
44
|
+
this.multiline = false;
|
|
45
|
+
this.readonly = false;
|
|
46
|
+
this.valid = false;
|
|
47
|
+
this._value = "";
|
|
48
|
+
this.quiet = false;
|
|
49
|
+
this.required = false;
|
|
50
|
+
}
|
|
51
|
+
static get styles() {
|
|
52
|
+
return [textfieldStyles, checkmarkStyles];
|
|
53
|
+
}
|
|
54
|
+
get type() {
|
|
55
|
+
var _a;
|
|
56
|
+
return (_a = textfieldTypes.find((t) => t === this._type)) != null ? _a : "text";
|
|
57
|
+
}
|
|
58
|
+
set type(val) {
|
|
59
|
+
const prev = this._type;
|
|
60
|
+
this._type = val;
|
|
61
|
+
this.requestUpdate("type", prev);
|
|
62
|
+
}
|
|
63
|
+
set value(value) {
|
|
64
|
+
if (value === this.value) {
|
|
65
|
+
return;
|
|
45
66
|
}
|
|
46
|
-
|
|
47
|
-
|
|
67
|
+
const oldValue = this._value;
|
|
68
|
+
this._value = value;
|
|
69
|
+
this.requestUpdate("value", oldValue);
|
|
70
|
+
}
|
|
71
|
+
get value() {
|
|
72
|
+
return this._value;
|
|
73
|
+
}
|
|
74
|
+
get focusElement() {
|
|
75
|
+
return this.inputElement;
|
|
76
|
+
}
|
|
77
|
+
setSelectionRange(selectionStart, selectionEnd, selectionDirection = "none") {
|
|
78
|
+
this.inputElement.setSelectionRange(selectionStart, selectionEnd, selectionDirection);
|
|
79
|
+
}
|
|
80
|
+
select() {
|
|
81
|
+
this.inputElement.select();
|
|
82
|
+
}
|
|
83
|
+
handleInput() {
|
|
84
|
+
if (this.allowedKeys && this.inputElement.value) {
|
|
85
|
+
const regExp = new RegExp(`^[${this.allowedKeys}]*$`, "u");
|
|
86
|
+
if (!regExp.test(this.inputElement.value)) {
|
|
87
|
+
const selectionStart = this.inputElement.selectionStart;
|
|
88
|
+
const nextSelectStart = selectionStart - 1;
|
|
89
|
+
this.inputElement.value = this.value.toString();
|
|
90
|
+
this.inputElement.setSelectionRange(nextSelectStart, nextSelectStart);
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
48
93
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
get value() {
|
|
67
|
-
return this._value;
|
|
68
|
-
}
|
|
69
|
-
get focusElement() {
|
|
70
|
-
return this.inputElement;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Sets the start and end positions of the current selection.
|
|
74
|
-
*
|
|
75
|
-
* @param selectionStart The 0-based index of the first selected character. An index greater than the length of the
|
|
76
|
-
* element's value is treated as pointing to the end of the value.
|
|
77
|
-
* @param selectionEnd The 0-based index of the character after the last selected character. An index greater than
|
|
78
|
-
* the length of the element's value is treated as pointing to the end of the value.
|
|
79
|
-
* @param [selectionDirection="none"] A string indicating the direction in which the selection is considered to
|
|
80
|
-
* have been performed.
|
|
81
|
-
*/
|
|
82
|
-
setSelectionRange(selectionStart, selectionEnd, selectionDirection = 'none') {
|
|
83
|
-
this.inputElement.setSelectionRange(selectionStart, selectionEnd, selectionDirection);
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Selects all the text.
|
|
87
|
-
*/
|
|
88
|
-
select() {
|
|
89
|
-
this.inputElement.select();
|
|
90
|
-
}
|
|
91
|
-
handleInput() {
|
|
92
|
-
if (this.allowedKeys && this.inputElement.value) {
|
|
93
|
-
const regExp = new RegExp(`^[${this.allowedKeys}]*$`, 'u');
|
|
94
|
-
if (!regExp.test(this.inputElement.value)) {
|
|
95
|
-
const selectionStart = this.inputElement
|
|
96
|
-
.selectionStart;
|
|
97
|
-
const nextSelectStart = selectionStart - 1;
|
|
98
|
-
this.inputElement.value = this.value.toString();
|
|
99
|
-
this.inputElement.setSelectionRange(nextSelectStart, nextSelectStart);
|
|
100
|
-
return;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
this.value = this.inputElement.value;
|
|
104
|
-
}
|
|
105
|
-
handleChange() {
|
|
106
|
-
this.dispatchEvent(new Event('change', {
|
|
107
|
-
bubbles: true,
|
|
108
|
-
composed: true,
|
|
109
|
-
}));
|
|
110
|
-
}
|
|
111
|
-
onFocus() {
|
|
112
|
-
this.focused = !this.readonly && true;
|
|
113
|
-
}
|
|
114
|
-
onBlur() {
|
|
115
|
-
this.focused = !this.readonly && false;
|
|
116
|
-
}
|
|
117
|
-
renderStateIcons() {
|
|
118
|
-
if (this.invalid) {
|
|
119
|
-
return html `
|
|
94
|
+
this.value = this.inputElement.value;
|
|
95
|
+
}
|
|
96
|
+
handleChange() {
|
|
97
|
+
this.dispatchEvent(new Event("change", {
|
|
98
|
+
bubbles: true,
|
|
99
|
+
composed: true
|
|
100
|
+
}));
|
|
101
|
+
}
|
|
102
|
+
onFocus() {
|
|
103
|
+
this.focused = !this.readonly && true;
|
|
104
|
+
}
|
|
105
|
+
onBlur() {
|
|
106
|
+
this.focused = !this.readonly && false;
|
|
107
|
+
}
|
|
108
|
+
renderStateIcons() {
|
|
109
|
+
if (this.invalid) {
|
|
110
|
+
return html`
|
|
120
111
|
<sp-icon-alert id="invalid" class="icon"></sp-icon-alert>
|
|
121
112
|
`;
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
return html `
|
|
113
|
+
} else if (this.valid) {
|
|
114
|
+
return html`
|
|
125
115
|
<sp-icon-checkmark100
|
|
126
116
|
id="valid"
|
|
127
117
|
class="icon spectrum-UIIcon-Checkmark100"
|
|
128
118
|
></sp-icon-checkmark100>
|
|
129
119
|
`;
|
|
130
|
-
}
|
|
131
|
-
return nothing;
|
|
132
|
-
}
|
|
133
|
-
get displayValue() {
|
|
134
|
-
return this.value.toString();
|
|
135
120
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
121
|
+
return nothing;
|
|
122
|
+
}
|
|
123
|
+
get displayValue() {
|
|
124
|
+
return this.value.toString();
|
|
125
|
+
}
|
|
126
|
+
get renderMultiline() {
|
|
127
|
+
return html`
|
|
128
|
+
${this.grows && !this.quiet ? html`
|
|
140
129
|
<div id="sizer">${this.value}​</div>
|
|
141
|
-
`
|
|
142
|
-
: nothing}
|
|
130
|
+
` : nothing}
|
|
143
131
|
<!-- @ts-ignore -->
|
|
144
132
|
<textarea
|
|
145
133
|
aria-describedby=${this.helpTextId}
|
|
146
134
|
aria-label=${this.label || this.placeholder}
|
|
147
|
-
aria-invalid=${ifDefined(this.invalid ||
|
|
135
|
+
aria-invalid=${ifDefined(this.invalid || void 0)}
|
|
148
136
|
class="input"
|
|
149
|
-
maxlength=${ifDefined(this.maxlength > -1 ? this.maxlength :
|
|
150
|
-
minlength=${ifDefined(this.minlength > -1 ? this.minlength :
|
|
137
|
+
maxlength=${ifDefined(this.maxlength > -1 ? this.maxlength : void 0)}
|
|
138
|
+
minlength=${ifDefined(this.minlength > -1 ? this.minlength : void 0)}
|
|
151
139
|
pattern=${ifDefined(this.pattern)}
|
|
152
140
|
placeholder=${this.placeholder}
|
|
153
141
|
.value=${this.displayValue}
|
|
@@ -161,18 +149,18 @@ export class TextfieldBase extends ManageHelpText(Focusable) {
|
|
|
161
149
|
autocomplete=${ifDefined(this.autocomplete)}
|
|
162
150
|
></textarea>
|
|
163
151
|
`;
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
152
|
+
}
|
|
153
|
+
get renderInput() {
|
|
154
|
+
return html`
|
|
167
155
|
<!-- @ts-ignore -->
|
|
168
156
|
<input
|
|
169
157
|
type=${this.type}
|
|
170
158
|
aria-describedby=${this.helpTextId}
|
|
171
159
|
aria-label=${this.label || this.placeholder}
|
|
172
|
-
aria-invalid=${ifDefined(this.invalid ||
|
|
160
|
+
aria-invalid=${ifDefined(this.invalid || void 0)}
|
|
173
161
|
class="input"
|
|
174
|
-
maxlength=${ifDefined(this.maxlength > -1 ? this.maxlength :
|
|
175
|
-
minlength=${ifDefined(this.minlength > -1 ? this.minlength :
|
|
162
|
+
maxlength=${ifDefined(this.maxlength > -1 ? this.maxlength : void 0)}
|
|
163
|
+
minlength=${ifDefined(this.minlength > -1 ? this.minlength : void 0)}
|
|
176
164
|
pattern=${ifDefined(this.pattern)}
|
|
177
165
|
placeholder=${this.placeholder}
|
|
178
166
|
.value=${live(this.displayValue)}
|
|
@@ -186,125 +174,118 @@ export class TextfieldBase extends ManageHelpText(Focusable) {
|
|
|
186
174
|
autocomplete=${ifDefined(this.autocomplete)}
|
|
187
175
|
/>
|
|
188
176
|
`;
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
177
|
+
}
|
|
178
|
+
renderField() {
|
|
179
|
+
return html`
|
|
192
180
|
${this.renderStateIcons()}
|
|
193
181
|
${this.multiline ? this.renderMultiline : this.renderInput}
|
|
194
182
|
`;
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
183
|
+
}
|
|
184
|
+
render() {
|
|
185
|
+
return html`
|
|
198
186
|
<div id="textfield">${this.renderField()}</div>
|
|
199
187
|
${this.renderHelpText(this.invalid)}
|
|
200
188
|
`;
|
|
189
|
+
}
|
|
190
|
+
update(changedProperties) {
|
|
191
|
+
if (changedProperties.has("value") || changedProperties.has("required") && this.required) {
|
|
192
|
+
this.updateComplete.then(() => {
|
|
193
|
+
this.checkValidity();
|
|
194
|
+
});
|
|
201
195
|
}
|
|
202
|
-
update(changedProperties)
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
validity = regex.test(this.value.toString());
|
|
217
|
-
}
|
|
218
|
-
if (typeof this.minlength !== 'undefined') {
|
|
219
|
-
validity =
|
|
220
|
-
validity && this.value.toString().length > this.minlength;
|
|
221
|
-
}
|
|
222
|
-
this.valid = validity;
|
|
223
|
-
this.invalid = !validity;
|
|
224
|
-
}
|
|
225
|
-
return validity;
|
|
196
|
+
super.update(changedProperties);
|
|
197
|
+
}
|
|
198
|
+
checkValidity() {
|
|
199
|
+
let validity = this.inputElement.checkValidity();
|
|
200
|
+
if (this.required || this.value && this.pattern) {
|
|
201
|
+
if ((this.disabled || this.multiline) && this.pattern) {
|
|
202
|
+
const regex = new RegExp(`^${this.pattern}$`, "u");
|
|
203
|
+
validity = regex.test(this.value.toString());
|
|
204
|
+
}
|
|
205
|
+
if (typeof this.minlength !== "undefined") {
|
|
206
|
+
validity = validity && this.value.toString().length > this.minlength;
|
|
207
|
+
}
|
|
208
|
+
this.valid = validity;
|
|
209
|
+
this.invalid = !validity;
|
|
226
210
|
}
|
|
211
|
+
return validity;
|
|
212
|
+
}
|
|
227
213
|
}
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
], TextfieldBase.prototype, "allowedKeys",
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
], TextfieldBase.prototype, "focused",
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
], TextfieldBase.prototype, "inputElement",
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
], TextfieldBase.prototype, "invalid",
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
], TextfieldBase.prototype, "label",
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
], TextfieldBase.prototype, "placeholder",
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
], TextfieldBase.prototype, "_type",
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
], TextfieldBase.prototype, "type",
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
], TextfieldBase.prototype, "pattern",
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
], TextfieldBase.prototype, "grows",
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
], TextfieldBase.prototype, "maxlength",
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
], TextfieldBase.prototype, "minlength",
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
], TextfieldBase.prototype, "multiline",
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
], TextfieldBase.prototype, "readonly",
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
], TextfieldBase.prototype, "valid",
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
], TextfieldBase.prototype, "value",
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
], TextfieldBase.prototype, "quiet",
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
], TextfieldBase.prototype, "required",
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
], TextfieldBase.prototype, "autocomplete",
|
|
285
|
-
/**
|
|
286
|
-
* @element sp-textfield
|
|
287
|
-
* @slot help-text - default or non-negative help text to associate to your form element
|
|
288
|
-
* @slot negative-help-text - negative help text to associate to your form element when `invalid`
|
|
289
|
-
*/
|
|
214
|
+
__decorateClass([
|
|
215
|
+
property({ attribute: "allowed-keys" })
|
|
216
|
+
], TextfieldBase.prototype, "allowedKeys", 2);
|
|
217
|
+
__decorateClass([
|
|
218
|
+
property({ type: Boolean, reflect: true })
|
|
219
|
+
], TextfieldBase.prototype, "focused", 2);
|
|
220
|
+
__decorateClass([
|
|
221
|
+
query(".input")
|
|
222
|
+
], TextfieldBase.prototype, "inputElement", 2);
|
|
223
|
+
__decorateClass([
|
|
224
|
+
property({ type: Boolean, reflect: true })
|
|
225
|
+
], TextfieldBase.prototype, "invalid", 2);
|
|
226
|
+
__decorateClass([
|
|
227
|
+
property()
|
|
228
|
+
], TextfieldBase.prototype, "label", 2);
|
|
229
|
+
__decorateClass([
|
|
230
|
+
property()
|
|
231
|
+
], TextfieldBase.prototype, "placeholder", 2);
|
|
232
|
+
__decorateClass([
|
|
233
|
+
property({ attribute: "type", reflect: true })
|
|
234
|
+
], TextfieldBase.prototype, "_type", 2);
|
|
235
|
+
__decorateClass([
|
|
236
|
+
state()
|
|
237
|
+
], TextfieldBase.prototype, "type", 1);
|
|
238
|
+
__decorateClass([
|
|
239
|
+
property()
|
|
240
|
+
], TextfieldBase.prototype, "pattern", 2);
|
|
241
|
+
__decorateClass([
|
|
242
|
+
property({ type: Boolean, reflect: true })
|
|
243
|
+
], TextfieldBase.prototype, "grows", 2);
|
|
244
|
+
__decorateClass([
|
|
245
|
+
property({ type: Number })
|
|
246
|
+
], TextfieldBase.prototype, "maxlength", 2);
|
|
247
|
+
__decorateClass([
|
|
248
|
+
property({ type: Number })
|
|
249
|
+
], TextfieldBase.prototype, "minlength", 2);
|
|
250
|
+
__decorateClass([
|
|
251
|
+
property({ type: Boolean, reflect: true })
|
|
252
|
+
], TextfieldBase.prototype, "multiline", 2);
|
|
253
|
+
__decorateClass([
|
|
254
|
+
property({ type: Boolean, reflect: true })
|
|
255
|
+
], TextfieldBase.prototype, "readonly", 2);
|
|
256
|
+
__decorateClass([
|
|
257
|
+
property({ type: Boolean, reflect: true })
|
|
258
|
+
], TextfieldBase.prototype, "valid", 2);
|
|
259
|
+
__decorateClass([
|
|
260
|
+
property({ type: String })
|
|
261
|
+
], TextfieldBase.prototype, "value", 1);
|
|
262
|
+
__decorateClass([
|
|
263
|
+
property({ type: Boolean, reflect: true })
|
|
264
|
+
], TextfieldBase.prototype, "quiet", 2);
|
|
265
|
+
__decorateClass([
|
|
266
|
+
property({ type: Boolean, reflect: true })
|
|
267
|
+
], TextfieldBase.prototype, "required", 2);
|
|
268
|
+
__decorateClass([
|
|
269
|
+
property({ type: String, reflect: true })
|
|
270
|
+
], TextfieldBase.prototype, "autocomplete", 2);
|
|
290
271
|
export class Textfield extends TextfieldBase {
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
}
|
|
299
|
-
const oldValue = this._value;
|
|
300
|
-
this._value = value;
|
|
301
|
-
this.requestUpdate('value', oldValue);
|
|
302
|
-
}
|
|
303
|
-
get value() {
|
|
304
|
-
return this._value;
|
|
272
|
+
constructor() {
|
|
273
|
+
super(...arguments);
|
|
274
|
+
this._value = "";
|
|
275
|
+
}
|
|
276
|
+
set value(value) {
|
|
277
|
+
if (value === this.value) {
|
|
278
|
+
return;
|
|
305
279
|
}
|
|
280
|
+
const oldValue = this._value;
|
|
281
|
+
this._value = value;
|
|
282
|
+
this.requestUpdate("value", oldValue);
|
|
283
|
+
}
|
|
284
|
+
get value() {
|
|
285
|
+
return this._value;
|
|
286
|
+
}
|
|
306
287
|
}
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
], Textfield.prototype, "value",
|
|
310
|
-
//# sourceMappingURL=Textfield.js.map
|
|
288
|
+
__decorateClass([
|
|
289
|
+
property({ type: String })
|
|
290
|
+
], Textfield.prototype, "value", 1);
|
|
291
|
+
//# sourceMappingURL=Textfield.js.map
|
package/src/Textfield.js.map
CHANGED
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{"version":3,"file":"Textfield.js","sourceRoot":"","sources":["Textfield.ts"],"names":[],"mappings":"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","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport {\n CSSResultArray,\n html,\n nothing,\n PropertyValues,\n TemplateResult,\n} from '@spectrum-web-components/base';\nimport {\n ifDefined,\n live,\n} from '@spectrum-web-components/base/src/directives.js';\nimport {\n property,\n query,\n state,\n} from '@spectrum-web-components/base/src/decorators.js';\n\nimport { ManageHelpText } from '@spectrum-web-components/help-text/src/manage-help-text.js';\nimport { Focusable } from '@spectrum-web-components/shared/src/focusable.js';\nimport '@spectrum-web-components/icons-ui/icons/sp-icon-checkmark100.js';\nimport '@spectrum-web-components/icons-workflow/icons/sp-icon-alert.js';\n\nimport textfieldStyles from './textfield.css.js';\nimport checkmarkStyles from '@spectrum-web-components/icon/src/spectrum-icon-checkmark.css.js';\n\nconst textfieldTypes = ['text', 'url', 'tel', 'email', 'password'] as const;\nexport type TextfieldType = typeof textfieldTypes[number];\n\n/**\n * @fires input - The value of the element has changed.\n * @fires change - An alteration to the value of the element has been committed by the user.\n */\nexport class TextfieldBase extends ManageHelpText(Focusable) {\n public static override get styles(): CSSResultArray {\n return [textfieldStyles, checkmarkStyles];\n }\n\n @property({ attribute: 'allowed-keys' })\n allowedKeys = '';\n\n @property({ type: Boolean, reflect: true })\n public focused = false;\n\n @query('.input')\n protected inputElement!: HTMLInputElement | HTMLTextAreaElement;\n\n @property({ type: Boolean, reflect: true })\n public invalid = false;\n\n @property()\n public label = '';\n\n @property()\n public placeholder = '';\n\n @property({ attribute: 'type', reflect: true })\n private _type: TextfieldType = 'text';\n\n @state()\n get type(): TextfieldType {\n return textfieldTypes.find((t) => t === this._type) ?? 'text';\n }\n\n set type(val: TextfieldType) {\n const prev = this._type;\n this._type = val;\n this.requestUpdate('type', prev);\n }\n\n @property()\n public pattern?: string;\n\n @property({ type: Boolean, reflect: true })\n public grows = false;\n\n @property({ type: Number })\n public maxlength = -1;\n\n @property({ type: Number })\n public minlength = -1;\n\n @property({ type: Boolean, reflect: true })\n public multiline = false;\n\n @property({ type: Boolean, reflect: true })\n public readonly = false;\n\n @property({ type: Boolean, reflect: true })\n public valid = false;\n\n @property({ type: String })\n public set value(value: string | number) {\n if (value === this.value) {\n return;\n }\n const oldValue = this._value;\n this._value = value;\n this.requestUpdate('value', oldValue);\n }\n\n public get value(): string | number {\n return this._value;\n }\n\n protected _value: string | number = '';\n\n @property({ type: Boolean, reflect: true })\n public quiet = false;\n\n @property({ type: Boolean, reflect: true })\n public required = false;\n\n @property({ type: String, reflect: true })\n public autocomplete?:\n | HTMLInputElement['autocomplete']\n | HTMLTextAreaElement['autocomplete'];\n\n public override get focusElement(): HTMLInputElement | HTMLTextAreaElement {\n return this.inputElement;\n }\n\n /**\n * Sets the start and end positions of the current selection.\n *\n * @param selectionStart The 0-based index of the first selected character. An index greater than the length of the\n * element's value is treated as pointing to the end of the value.\n * @param selectionEnd The 0-based index of the character after the last selected character. An index greater than\n * the length of the element's value is treated as pointing to the end of the value.\n * @param [selectionDirection=\"none\"] A string indicating the direction in which the selection is considered to\n * have been performed.\n */\n public setSelectionRange(\n selectionStart: number,\n selectionEnd: number,\n selectionDirection: 'forward' | 'backward' | 'none' = 'none'\n ): void {\n this.inputElement.setSelectionRange(\n selectionStart,\n selectionEnd,\n selectionDirection\n );\n }\n\n /**\n * Selects all the text.\n */\n public select(): void {\n this.inputElement.select();\n }\n\n protected handleInput(): void {\n if (this.allowedKeys && this.inputElement.value) {\n const regExp = new RegExp(`^[${this.allowedKeys}]*$`, 'u');\n if (!regExp.test(this.inputElement.value)) {\n const selectionStart = this.inputElement\n .selectionStart as number;\n const nextSelectStart = selectionStart - 1;\n this.inputElement.value = this.value.toString();\n this.inputElement.setSelectionRange(\n nextSelectStart,\n nextSelectStart\n );\n return;\n }\n }\n this.value = this.inputElement.value;\n }\n\n protected handleChange(): void {\n this.dispatchEvent(\n new Event('change', {\n bubbles: true,\n composed: true,\n })\n );\n }\n\n protected onFocus(): void {\n this.focused = !this.readonly && true;\n }\n\n protected onBlur(): void {\n this.focused = !this.readonly && false;\n }\n\n protected renderStateIcons(): TemplateResult | typeof nothing {\n if (this.invalid) {\n return html`\n <sp-icon-alert id=\"invalid\" class=\"icon\"></sp-icon-alert>\n `;\n } else if (this.valid) {\n return html`\n <sp-icon-checkmark100\n id=\"valid\"\n class=\"icon spectrum-UIIcon-Checkmark100\"\n ></sp-icon-checkmark100>\n `;\n }\n return nothing;\n }\n\n protected get displayValue(): string {\n return this.value.toString();\n }\n\n private get renderMultiline(): TemplateResult {\n return html`\n ${this.grows && !this.quiet\n ? html`\n <div id=\"sizer\">${this.value}​</div>\n `\n : nothing}\n <!-- @ts-ignore -->\n <textarea\n aria-describedby=${this.helpTextId}\n aria-label=${this.label || this.placeholder}\n aria-invalid=${ifDefined(this.invalid || undefined)}\n class=\"input\"\n maxlength=${ifDefined(\n this.maxlength > -1 ? this.maxlength : undefined\n )}\n minlength=${ifDefined(\n this.minlength > -1 ? this.minlength : undefined\n )}\n pattern=${ifDefined(this.pattern)}\n placeholder=${this.placeholder}\n .value=${this.displayValue}\n @change=${this.handleChange}\n @input=${this.handleInput}\n @focus=${this.onFocus}\n @blur=${this.onBlur}\n ?disabled=${this.disabled}\n ?required=${this.required}\n ?readonly=${this.readonly}\n autocomplete=${ifDefined(this.autocomplete)}\n ></textarea>\n `;\n }\n\n private get renderInput(): TemplateResult {\n return html`\n <!-- @ts-ignore -->\n <input\n type=${this.type}\n aria-describedby=${this.helpTextId}\n aria-label=${this.label || this.placeholder}\n aria-invalid=${ifDefined(this.invalid || undefined)}\n class=\"input\"\n maxlength=${ifDefined(\n this.maxlength > -1 ? this.maxlength : undefined\n )}\n minlength=${ifDefined(\n this.minlength > -1 ? this.minlength : undefined\n )}\n pattern=${ifDefined(this.pattern)}\n placeholder=${this.placeholder}\n .value=${live(this.displayValue)}\n @change=${this.handleChange}\n @input=${this.handleInput}\n @focus=${this.onFocus}\n @blur=${this.onBlur}\n ?disabled=${this.disabled}\n ?required=${this.required}\n ?readonly=${this.readonly}\n autocomplete=${ifDefined(this.autocomplete)}\n />\n `;\n }\n\n protected renderField(): TemplateResult {\n return html`\n ${this.renderStateIcons()}\n ${this.multiline ? this.renderMultiline : this.renderInput}\n `;\n }\n\n protected override render(): TemplateResult {\n return html`\n <div id=\"textfield\">${this.renderField()}</div>\n ${this.renderHelpText(this.invalid)}\n `;\n }\n\n protected override update(changedProperties: PropertyValues): void {\n if (\n changedProperties.has('value') ||\n (changedProperties.has('required') && this.required)\n ) {\n this.updateComplete.then(() => {\n this.checkValidity();\n });\n }\n super.update(changedProperties);\n }\n\n public checkValidity(): boolean {\n let validity = this.inputElement.checkValidity();\n if (this.required || (this.value && this.pattern)) {\n if ((this.disabled || this.multiline) && this.pattern) {\n const regex = new RegExp(`^${this.pattern}$`, 'u');\n validity = regex.test(this.value.toString());\n }\n if (typeof this.minlength !== 'undefined') {\n validity =\n validity && this.value.toString().length > this.minlength;\n }\n this.valid = validity;\n this.invalid = !validity;\n }\n return validity;\n }\n}\n\n/**\n * @element sp-textfield\n * @slot help-text - default or non-negative help text to associate to your form element\n * @slot negative-help-text - negative help text to associate to your form element when `invalid`\n */\nexport class Textfield extends TextfieldBase {\n @property({ type: String })\n public override set value(value: string) {\n if (value === this.value) {\n return;\n }\n const oldValue = this._value;\n this._value = value;\n this.requestUpdate('value', oldValue);\n }\n\n public override get value(): string {\n return this._value;\n }\n\n protected override _value = '';\n}\n"]}
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["Textfield.ts"],
|
|
4
|
+
"sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport {\n CSSResultArray,\n html,\n nothing,\n PropertyValues,\n TemplateResult,\n} from '@spectrum-web-components/base';\nimport {\n ifDefined,\n live,\n} from '@spectrum-web-components/base/src/directives.js';\nimport {\n property,\n query,\n state,\n} from '@spectrum-web-components/base/src/decorators.js';\n\nimport { ManageHelpText } from '@spectrum-web-components/help-text/src/manage-help-text.js';\nimport { Focusable } from '@spectrum-web-components/shared/src/focusable.js';\nimport '@spectrum-web-components/icons-ui/icons/sp-icon-checkmark100.js';\nimport '@spectrum-web-components/icons-workflow/icons/sp-icon-alert.js';\n\nimport textfieldStyles from './textfield.css.js';\nimport checkmarkStyles from '@spectrum-web-components/icon/src/spectrum-icon-checkmark.css.js';\n\nconst textfieldTypes = ['text', 'url', 'tel', 'email', 'password'] as const;\nexport type TextfieldType = typeof textfieldTypes[number];\n\n/**\n * @fires input - The value of the element has changed.\n * @fires change - An alteration to the value of the element has been committed by the user.\n */\nexport class TextfieldBase extends ManageHelpText(Focusable) {\n public static override get styles(): CSSResultArray {\n return [textfieldStyles, checkmarkStyles];\n }\n\n @property({ attribute: 'allowed-keys' })\n allowedKeys = '';\n\n @property({ type: Boolean, reflect: true })\n public focused = false;\n\n @query('.input')\n protected inputElement!: HTMLInputElement | HTMLTextAreaElement;\n\n @property({ type: Boolean, reflect: true })\n public invalid = false;\n\n @property()\n public label = '';\n\n @property()\n public placeholder = '';\n\n @property({ attribute: 'type', reflect: true })\n private _type: TextfieldType = 'text';\n\n @state()\n get type(): TextfieldType {\n return textfieldTypes.find((t) => t === this._type) ?? 'text';\n }\n\n set type(val: TextfieldType) {\n const prev = this._type;\n this._type = val;\n this.requestUpdate('type', prev);\n }\n\n @property()\n public pattern?: string;\n\n @property({ type: Boolean, reflect: true })\n public grows = false;\n\n @property({ type: Number })\n public maxlength = -1;\n\n @property({ type: Number })\n public minlength = -1;\n\n @property({ type: Boolean, reflect: true })\n public multiline = false;\n\n @property({ type: Boolean, reflect: true })\n public readonly = false;\n\n @property({ type: Boolean, reflect: true })\n public valid = false;\n\n @property({ type: String })\n public set value(value: string | number) {\n if (value === this.value) {\n return;\n }\n const oldValue = this._value;\n this._value = value;\n this.requestUpdate('value', oldValue);\n }\n\n public get value(): string | number {\n return this._value;\n }\n\n protected _value: string | number = '';\n\n @property({ type: Boolean, reflect: true })\n public quiet = false;\n\n @property({ type: Boolean, reflect: true })\n public required = false;\n\n @property({ type: String, reflect: true })\n public autocomplete?:\n | HTMLInputElement['autocomplete']\n | HTMLTextAreaElement['autocomplete'];\n\n public override get focusElement(): HTMLInputElement | HTMLTextAreaElement {\n return this.inputElement;\n }\n\n /**\n * Sets the start and end positions of the current selection.\n *\n * @param selectionStart The 0-based index of the first selected character. An index greater than the length of the\n * element's value is treated as pointing to the end of the value.\n * @param selectionEnd The 0-based index of the character after the last selected character. An index greater than\n * the length of the element's value is treated as pointing to the end of the value.\n * @param [selectionDirection=\"none\"] A string indicating the direction in which the selection is considered to\n * have been performed.\n */\n public setSelectionRange(\n selectionStart: number,\n selectionEnd: number,\n selectionDirection: 'forward' | 'backward' | 'none' = 'none'\n ): void {\n this.inputElement.setSelectionRange(\n selectionStart,\n selectionEnd,\n selectionDirection\n );\n }\n\n /**\n * Selects all the text.\n */\n public select(): void {\n this.inputElement.select();\n }\n\n protected handleInput(): void {\n if (this.allowedKeys && this.inputElement.value) {\n const regExp = new RegExp(`^[${this.allowedKeys}]*$`, 'u');\n if (!regExp.test(this.inputElement.value)) {\n const selectionStart = this.inputElement\n .selectionStart as number;\n const nextSelectStart = selectionStart - 1;\n this.inputElement.value = this.value.toString();\n this.inputElement.setSelectionRange(\n nextSelectStart,\n nextSelectStart\n );\n return;\n }\n }\n this.value = this.inputElement.value;\n }\n\n protected handleChange(): void {\n this.dispatchEvent(\n new Event('change', {\n bubbles: true,\n composed: true,\n })\n );\n }\n\n protected onFocus(): void {\n this.focused = !this.readonly && true;\n }\n\n protected onBlur(): void {\n this.focused = !this.readonly && false;\n }\n\n protected renderStateIcons(): TemplateResult | typeof nothing {\n if (this.invalid) {\n return html`\n <sp-icon-alert id=\"invalid\" class=\"icon\"></sp-icon-alert>\n `;\n } else if (this.valid) {\n return html`\n <sp-icon-checkmark100\n id=\"valid\"\n class=\"icon spectrum-UIIcon-Checkmark100\"\n ></sp-icon-checkmark100>\n `;\n }\n return nothing;\n }\n\n protected get displayValue(): string {\n return this.value.toString();\n }\n\n private get renderMultiline(): TemplateResult {\n return html`\n ${this.grows && !this.quiet\n ? html`\n <div id=\"sizer\">${this.value}​</div>\n `\n : nothing}\n <!-- @ts-ignore -->\n <textarea\n aria-describedby=${this.helpTextId}\n aria-label=${this.label || this.placeholder}\n aria-invalid=${ifDefined(this.invalid || undefined)}\n class=\"input\"\n maxlength=${ifDefined(\n this.maxlength > -1 ? this.maxlength : undefined\n )}\n minlength=${ifDefined(\n this.minlength > -1 ? this.minlength : undefined\n )}\n pattern=${ifDefined(this.pattern)}\n placeholder=${this.placeholder}\n .value=${this.displayValue}\n @change=${this.handleChange}\n @input=${this.handleInput}\n @focus=${this.onFocus}\n @blur=${this.onBlur}\n ?disabled=${this.disabled}\n ?required=${this.required}\n ?readonly=${this.readonly}\n autocomplete=${ifDefined(this.autocomplete)}\n ></textarea>\n `;\n }\n\n private get renderInput(): TemplateResult {\n return html`\n <!-- @ts-ignore -->\n <input\n type=${this.type}\n aria-describedby=${this.helpTextId}\n aria-label=${this.label || this.placeholder}\n aria-invalid=${ifDefined(this.invalid || undefined)}\n class=\"input\"\n maxlength=${ifDefined(\n this.maxlength > -1 ? this.maxlength : undefined\n )}\n minlength=${ifDefined(\n this.minlength > -1 ? this.minlength : undefined\n )}\n pattern=${ifDefined(this.pattern)}\n placeholder=${this.placeholder}\n .value=${live(this.displayValue)}\n @change=${this.handleChange}\n @input=${this.handleInput}\n @focus=${this.onFocus}\n @blur=${this.onBlur}\n ?disabled=${this.disabled}\n ?required=${this.required}\n ?readonly=${this.readonly}\n autocomplete=${ifDefined(this.autocomplete)}\n />\n `;\n }\n\n protected renderField(): TemplateResult {\n return html`\n ${this.renderStateIcons()}\n ${this.multiline ? this.renderMultiline : this.renderInput}\n `;\n }\n\n protected override render(): TemplateResult {\n return html`\n <div id=\"textfield\">${this.renderField()}</div>\n ${this.renderHelpText(this.invalid)}\n `;\n }\n\n protected override update(changedProperties: PropertyValues): void {\n if (\n changedProperties.has('value') ||\n (changedProperties.has('required') && this.required)\n ) {\n this.updateComplete.then(() => {\n this.checkValidity();\n });\n }\n super.update(changedProperties);\n }\n\n public checkValidity(): boolean {\n let validity = this.inputElement.checkValidity();\n if (this.required || (this.value && this.pattern)) {\n if ((this.disabled || this.multiline) && this.pattern) {\n const regex = new RegExp(`^${this.pattern}$`, 'u');\n validity = regex.test(this.value.toString());\n }\n if (typeof this.minlength !== 'undefined') {\n validity =\n validity && this.value.toString().length > this.minlength;\n }\n this.valid = validity;\n this.invalid = !validity;\n }\n return validity;\n }\n}\n\n/**\n * @element sp-textfield\n * @slot help-text - default or non-negative help text to associate to your form element\n * @slot negative-help-text - negative help text to associate to your form element when `invalid`\n */\nexport class Textfield extends TextfieldBase {\n @property({ type: String })\n public override set value(value: string) {\n if (value === this.value) {\n return;\n }\n const oldValue = this._value;\n this._value = value;\n this.requestUpdate('value', oldValue);\n }\n\n public override get value(): string {\n return this._value;\n }\n\n protected override _value = '';\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/src/index.dev.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["index.ts"],
|
|
4
|
+
"sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\nexport * from './Textfield.dev.js'\n"],
|
|
5
|
+
"mappings": "AAWA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/src/index.js
CHANGED
|
@@ -1,13 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
-
of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
-
|
|
7
|
-
Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
-
the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
-
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
-
governing permissions and limitations under the License.
|
|
11
|
-
*/
|
|
12
|
-
export * from './Textfield.js';
|
|
13
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
export * from "./Textfield.js";
|
|
2
|
+
//# sourceMappingURL=index.js.map
|