@leavittsoftware/web 1.12.0 → 1.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/titanium/date-input/date-input.d.ts +134 -0
- package/titanium/date-input/date-input.js +484 -0
- package/titanium/date-input/date-input.js.map +1 -0
- package/titanium/date-range-selector/date-range-selector.d.ts +29 -17
- package/titanium/date-range-selector/date-range-selector.js +322 -117
- package/titanium/date-range-selector/date-range-selector.js.map +1 -1
- package/titanium/date-range-selector/types/date-ranges.js +9 -9
- package/titanium/date-range-selector/types/date-ranges.js.map +1 -1
- package/titanium/date-range-selector/types/range-label.d.ts +3 -1
- package/titanium/date-range-selector/types/range-label.js +11 -0
- package/titanium/date-range-selector/types/range-label.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@leavittsoftware/web",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.14.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"description": "",
|
|
6
6
|
"files": [
|
|
@@ -39,5 +39,5 @@
|
|
|
39
39
|
"url": "https://github.com/LeavittSoftware/titanium-elements/issues"
|
|
40
40
|
},
|
|
41
41
|
"homepage": "https://github.com/LeavittSoftware/titanium-elements/#readme",
|
|
42
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "f8fe8f55f3eec42748528d02fcbe8efe387ae1cc"
|
|
43
43
|
}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
import '@material/web/field/outlined-field';
|
|
3
|
+
import '@material/web/icon/icon';
|
|
4
|
+
import '@material/web/iconbutton/icon-button';
|
|
5
|
+
/**
|
|
6
|
+
* A date input the works in Firefox, Safari and Chrome
|
|
7
|
+
*
|
|
8
|
+
* @element titanium-date-input
|
|
9
|
+
*
|
|
10
|
+
*/
|
|
11
|
+
export declare class TitaniumDateInput extends LitElement {
|
|
12
|
+
constructor();
|
|
13
|
+
static readonly formAssociated = true;
|
|
14
|
+
private readonly onInvalid;
|
|
15
|
+
attributeChangedCallback(attribute: string, newValue: string | null, oldValue: string | null): void;
|
|
16
|
+
connectedCallback(): void;
|
|
17
|
+
disconnectedCallback(): void;
|
|
18
|
+
/**
|
|
19
|
+
* Whether or not the input should be disabled
|
|
20
|
+
*/
|
|
21
|
+
accessor disabled: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Gets or sets whether or not the text field is in a visually invalid state.
|
|
24
|
+
*
|
|
25
|
+
* This error state overrides the error state controlled by
|
|
26
|
+
* `reportValidity()`.
|
|
27
|
+
*/
|
|
28
|
+
accessor error: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* The error message that replaces supporting text when `error` is true. If
|
|
31
|
+
* `errorText` is an empty string, then the supporting text will continue to
|
|
32
|
+
* show.
|
|
33
|
+
*
|
|
34
|
+
* This error message overrides the error message displayed by
|
|
35
|
+
* `reportValidity()`.
|
|
36
|
+
*/
|
|
37
|
+
accessor errorText: string;
|
|
38
|
+
accessor label: string;
|
|
39
|
+
accessor required: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* The current value of the text field. It is always a string.
|
|
42
|
+
*/
|
|
43
|
+
accessor value: string;
|
|
44
|
+
/**
|
|
45
|
+
* An optional prefix to display before the input value.
|
|
46
|
+
*/
|
|
47
|
+
accessor prefixText: string;
|
|
48
|
+
/**
|
|
49
|
+
* An optional suffix to display after the input value.
|
|
50
|
+
*/
|
|
51
|
+
accessor suffixText: string;
|
|
52
|
+
/**
|
|
53
|
+
* Whether or not the text field has a leading icon. Used for SSR.
|
|
54
|
+
*/
|
|
55
|
+
accessor hasLeadingIcon: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Whether or not the text field has a trailing icon. Used for SSR.
|
|
58
|
+
*/
|
|
59
|
+
accessor hasTrailingIcon: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Defines the greatest value in the range of permitted values.
|
|
62
|
+
*
|
|
63
|
+
* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#max
|
|
64
|
+
*/
|
|
65
|
+
accessor max: string;
|
|
66
|
+
/**
|
|
67
|
+
* The maximum number of characters a user can enter into the text field. Set
|
|
68
|
+
* to -1 for none.
|
|
69
|
+
*
|
|
70
|
+
* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#maxlength
|
|
71
|
+
*/
|
|
72
|
+
accessor maxLength: number;
|
|
73
|
+
/**
|
|
74
|
+
* Defines the most negative value in the range of permitted values.
|
|
75
|
+
*
|
|
76
|
+
* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#min
|
|
77
|
+
*/
|
|
78
|
+
accessor min: string;
|
|
79
|
+
/**
|
|
80
|
+
* Conveys additional information below the text field, such as how it should
|
|
81
|
+
* be used.
|
|
82
|
+
*/
|
|
83
|
+
accessor supportingText: string;
|
|
84
|
+
accessor placeholder: string;
|
|
85
|
+
accessor type: 'date' | 'datetime-local';
|
|
86
|
+
/**
|
|
87
|
+
* Returns true when the text field has been interacted with. Native
|
|
88
|
+
* validation errors only display in response to user interactions.
|
|
89
|
+
*/
|
|
90
|
+
private accessor dirty;
|
|
91
|
+
private accessor focused;
|
|
92
|
+
/**
|
|
93
|
+
* Whether or not a native error has been reported via `reportValidity()`.
|
|
94
|
+
*/
|
|
95
|
+
private accessor nativeError;
|
|
96
|
+
/**
|
|
97
|
+
* The validation message displayed from a native error via
|
|
98
|
+
* `reportValidity()`.
|
|
99
|
+
*/
|
|
100
|
+
private accessor nativeErrorText;
|
|
101
|
+
private accessor input;
|
|
102
|
+
private accessor field;
|
|
103
|
+
private accessor leadingIcons;
|
|
104
|
+
private accessor trailingIcons;
|
|
105
|
+
private isCheckingValidity;
|
|
106
|
+
private isReportingValidity;
|
|
107
|
+
private hasCustomValidityError;
|
|
108
|
+
private internals_;
|
|
109
|
+
checkValidity(): boolean;
|
|
110
|
+
reportValidity(): boolean;
|
|
111
|
+
get validationMessage(): string;
|
|
112
|
+
/**
|
|
113
|
+
* Returns a `ValidityState` object that represents the validity states of the
|
|
114
|
+
* text field.
|
|
115
|
+
*
|
|
116
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/ValidityState
|
|
117
|
+
*/
|
|
118
|
+
get validity(): ValidityState;
|
|
119
|
+
private syncValidity;
|
|
120
|
+
private handleIconChange;
|
|
121
|
+
private getErrorText;
|
|
122
|
+
private showErrorMessage;
|
|
123
|
+
/**
|
|
124
|
+
* Selects all the text in the text field.
|
|
125
|
+
*
|
|
126
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/select
|
|
127
|
+
*/
|
|
128
|
+
select(): void;
|
|
129
|
+
setCustomValidity(error: string): void;
|
|
130
|
+
reset(): void;
|
|
131
|
+
static styles: import("lit").CSSResult;
|
|
132
|
+
protected render(): import("lit-html").TemplateResult<1>;
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=date-input.d.ts.map
|
|
@@ -0,0 +1,484 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { LitElement, css, html } from 'lit';
|
|
3
|
+
import { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js';
|
|
4
|
+
import { live } from 'lit/directives/live.js';
|
|
5
|
+
import { redispatchEvent } from '@material/web/internal/controller/events';
|
|
6
|
+
import { stringConverter } from '@material/web/internal/controller/string-converter';
|
|
7
|
+
import '@material/web/field/outlined-field';
|
|
8
|
+
import '@material/web/icon/icon';
|
|
9
|
+
import '@material/web/iconbutton/icon-button';
|
|
10
|
+
/**
|
|
11
|
+
* A date input the works in Firefox, Safari and Chrome
|
|
12
|
+
*
|
|
13
|
+
* @element titanium-date-input
|
|
14
|
+
*
|
|
15
|
+
*/
|
|
16
|
+
let TitaniumDateInput = class TitaniumDateInput extends LitElement {
|
|
17
|
+
constructor() {
|
|
18
|
+
super();
|
|
19
|
+
this.onInvalid = (invalidEvent) => {
|
|
20
|
+
if (this.isCheckingValidity || this.isReportingValidity) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
this.showErrorMessage(false, invalidEvent);
|
|
24
|
+
};
|
|
25
|
+
this.#disabled_accessor_storage = false;
|
|
26
|
+
this.#error_accessor_storage = false;
|
|
27
|
+
this.#errorText_accessor_storage = '';
|
|
28
|
+
this.#label_accessor_storage = '';
|
|
29
|
+
this.#required_accessor_storage = false;
|
|
30
|
+
this.#value_accessor_storage = '';
|
|
31
|
+
this.#prefixText_accessor_storage = '';
|
|
32
|
+
this.#suffixText_accessor_storage = '';
|
|
33
|
+
this.#hasLeadingIcon_accessor_storage = false;
|
|
34
|
+
this.#hasTrailingIcon_accessor_storage = false;
|
|
35
|
+
this.#max_accessor_storage = '';
|
|
36
|
+
this.#maxLength_accessor_storage = -1;
|
|
37
|
+
this.#min_accessor_storage = '';
|
|
38
|
+
this.#supportingText_accessor_storage = '';
|
|
39
|
+
this.#placeholder_accessor_storage = '';
|
|
40
|
+
this.#type_accessor_storage = 'date';
|
|
41
|
+
this.#dirty_accessor_storage = false;
|
|
42
|
+
this.#focused_accessor_storage = false;
|
|
43
|
+
this.#nativeError_accessor_storage = false;
|
|
44
|
+
this.#nativeErrorText_accessor_storage = '';
|
|
45
|
+
this.isCheckingValidity = false;
|
|
46
|
+
this.isReportingValidity = false;
|
|
47
|
+
// Needed for Safari, see https://bugs.webkit.org/show_bug.cgi?id=261432
|
|
48
|
+
// Replace with this[internals].validity.customError when resolved.
|
|
49
|
+
this.hasCustomValidityError = false;
|
|
50
|
+
this.internals_ = this.attachInternals();
|
|
51
|
+
}
|
|
52
|
+
static { this.formAssociated = true; }
|
|
53
|
+
attributeChangedCallback(attribute, newValue, oldValue) {
|
|
54
|
+
if (attribute === 'value' && this.dirty) {
|
|
55
|
+
// After user input, changing the value attribute no longer updates the
|
|
56
|
+
// text field's value (until reset). This matches native <input> behavior.
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
super.attributeChangedCallback(attribute, newValue, oldValue);
|
|
60
|
+
}
|
|
61
|
+
connectedCallback() {
|
|
62
|
+
super.connectedCallback();
|
|
63
|
+
// Handles the case where the user submits the form and native validation
|
|
64
|
+
// error pops up. We want the error styles to show.
|
|
65
|
+
this.addEventListener('invalid', this.onInvalid);
|
|
66
|
+
}
|
|
67
|
+
disconnectedCallback() {
|
|
68
|
+
super.disconnectedCallback();
|
|
69
|
+
this.removeEventListener('invalid', this.onInvalid);
|
|
70
|
+
}
|
|
71
|
+
#disabled_accessor_storage;
|
|
72
|
+
/**
|
|
73
|
+
* Whether or not the input should be disabled
|
|
74
|
+
*/
|
|
75
|
+
get disabled() { return this.#disabled_accessor_storage; }
|
|
76
|
+
set disabled(value) { this.#disabled_accessor_storage = value; }
|
|
77
|
+
#error_accessor_storage;
|
|
78
|
+
/**
|
|
79
|
+
* Gets or sets whether or not the text field is in a visually invalid state.
|
|
80
|
+
*
|
|
81
|
+
* This error state overrides the error state controlled by
|
|
82
|
+
* `reportValidity()`.
|
|
83
|
+
*/
|
|
84
|
+
get error() { return this.#error_accessor_storage; }
|
|
85
|
+
set error(value) { this.#error_accessor_storage = value; }
|
|
86
|
+
#errorText_accessor_storage;
|
|
87
|
+
/**
|
|
88
|
+
* The error message that replaces supporting text when `error` is true. If
|
|
89
|
+
* `errorText` is an empty string, then the supporting text will continue to
|
|
90
|
+
* show.
|
|
91
|
+
*
|
|
92
|
+
* This error message overrides the error message displayed by
|
|
93
|
+
* `reportValidity()`.
|
|
94
|
+
*/
|
|
95
|
+
get errorText() { return this.#errorText_accessor_storage; }
|
|
96
|
+
set errorText(value) { this.#errorText_accessor_storage = value; }
|
|
97
|
+
#label_accessor_storage;
|
|
98
|
+
get label() { return this.#label_accessor_storage; }
|
|
99
|
+
set label(value) { this.#label_accessor_storage = value; }
|
|
100
|
+
#required_accessor_storage;
|
|
101
|
+
get required() { return this.#required_accessor_storage; }
|
|
102
|
+
set required(value) { this.#required_accessor_storage = value; }
|
|
103
|
+
#value_accessor_storage;
|
|
104
|
+
/**
|
|
105
|
+
* The current value of the text field. It is always a string.
|
|
106
|
+
*/
|
|
107
|
+
get value() { return this.#value_accessor_storage; }
|
|
108
|
+
set value(value) { this.#value_accessor_storage = value; }
|
|
109
|
+
#prefixText_accessor_storage;
|
|
110
|
+
/**
|
|
111
|
+
* An optional prefix to display before the input value.
|
|
112
|
+
*/
|
|
113
|
+
get prefixText() { return this.#prefixText_accessor_storage; }
|
|
114
|
+
set prefixText(value) { this.#prefixText_accessor_storage = value; }
|
|
115
|
+
#suffixText_accessor_storage;
|
|
116
|
+
/**
|
|
117
|
+
* An optional suffix to display after the input value.
|
|
118
|
+
*/
|
|
119
|
+
get suffixText() { return this.#suffixText_accessor_storage; }
|
|
120
|
+
set suffixText(value) { this.#suffixText_accessor_storage = value; }
|
|
121
|
+
#hasLeadingIcon_accessor_storage;
|
|
122
|
+
/**
|
|
123
|
+
* Whether or not the text field has a leading icon. Used for SSR.
|
|
124
|
+
*/
|
|
125
|
+
get hasLeadingIcon() { return this.#hasLeadingIcon_accessor_storage; }
|
|
126
|
+
set hasLeadingIcon(value) { this.#hasLeadingIcon_accessor_storage = value; }
|
|
127
|
+
#hasTrailingIcon_accessor_storage;
|
|
128
|
+
/**
|
|
129
|
+
* Whether or not the text field has a trailing icon. Used for SSR.
|
|
130
|
+
*/
|
|
131
|
+
get hasTrailingIcon() { return this.#hasTrailingIcon_accessor_storage; }
|
|
132
|
+
set hasTrailingIcon(value) { this.#hasTrailingIcon_accessor_storage = value; }
|
|
133
|
+
#max_accessor_storage;
|
|
134
|
+
/**
|
|
135
|
+
* Defines the greatest value in the range of permitted values.
|
|
136
|
+
*
|
|
137
|
+
* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#max
|
|
138
|
+
*/
|
|
139
|
+
get max() { return this.#max_accessor_storage; }
|
|
140
|
+
set max(value) { this.#max_accessor_storage = value; }
|
|
141
|
+
#maxLength_accessor_storage;
|
|
142
|
+
/**
|
|
143
|
+
* The maximum number of characters a user can enter into the text field. Set
|
|
144
|
+
* to -1 for none.
|
|
145
|
+
*
|
|
146
|
+
* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#maxlength
|
|
147
|
+
*/
|
|
148
|
+
get maxLength() { return this.#maxLength_accessor_storage; }
|
|
149
|
+
set maxLength(value) { this.#maxLength_accessor_storage = value; }
|
|
150
|
+
#min_accessor_storage;
|
|
151
|
+
/**
|
|
152
|
+
* Defines the most negative value in the range of permitted values.
|
|
153
|
+
*
|
|
154
|
+
* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#min
|
|
155
|
+
*/
|
|
156
|
+
get min() { return this.#min_accessor_storage; }
|
|
157
|
+
set min(value) { this.#min_accessor_storage = value; }
|
|
158
|
+
#supportingText_accessor_storage;
|
|
159
|
+
/**
|
|
160
|
+
* Conveys additional information below the text field, such as how it should
|
|
161
|
+
* be used.
|
|
162
|
+
*/
|
|
163
|
+
get supportingText() { return this.#supportingText_accessor_storage; }
|
|
164
|
+
set supportingText(value) { this.#supportingText_accessor_storage = value; }
|
|
165
|
+
#placeholder_accessor_storage;
|
|
166
|
+
get placeholder() { return this.#placeholder_accessor_storage; }
|
|
167
|
+
set placeholder(value) { this.#placeholder_accessor_storage = value; }
|
|
168
|
+
#type_accessor_storage;
|
|
169
|
+
get type() { return this.#type_accessor_storage; }
|
|
170
|
+
set type(value) { this.#type_accessor_storage = value; }
|
|
171
|
+
#dirty_accessor_storage;
|
|
172
|
+
/**
|
|
173
|
+
* Returns true when the text field has been interacted with. Native
|
|
174
|
+
* validation errors only display in response to user interactions.
|
|
175
|
+
*/
|
|
176
|
+
get dirty() { return this.#dirty_accessor_storage; }
|
|
177
|
+
set dirty(value) { this.#dirty_accessor_storage = value; }
|
|
178
|
+
#focused_accessor_storage;
|
|
179
|
+
get focused() { return this.#focused_accessor_storage; }
|
|
180
|
+
set focused(value) { this.#focused_accessor_storage = value; }
|
|
181
|
+
#nativeError_accessor_storage;
|
|
182
|
+
/**
|
|
183
|
+
* Whether or not a native error has been reported via `reportValidity()`.
|
|
184
|
+
*/
|
|
185
|
+
get nativeError() { return this.#nativeError_accessor_storage; }
|
|
186
|
+
set nativeError(value) { this.#nativeError_accessor_storage = value; }
|
|
187
|
+
#nativeErrorText_accessor_storage;
|
|
188
|
+
/**
|
|
189
|
+
* The validation message displayed from a native error via
|
|
190
|
+
* `reportValidity()`.
|
|
191
|
+
*/
|
|
192
|
+
get nativeErrorText() { return this.#nativeErrorText_accessor_storage; }
|
|
193
|
+
set nativeErrorText(value) { this.#nativeErrorText_accessor_storage = value; }
|
|
194
|
+
#input_accessor_storage;
|
|
195
|
+
get input() { return this.#input_accessor_storage; }
|
|
196
|
+
set input(value) { this.#input_accessor_storage = value; }
|
|
197
|
+
#field_accessor_storage;
|
|
198
|
+
get field() { return this.#field_accessor_storage; }
|
|
199
|
+
set field(value) { this.#field_accessor_storage = value; }
|
|
200
|
+
#leadingIcons_accessor_storage;
|
|
201
|
+
get leadingIcons() { return this.#leadingIcons_accessor_storage; }
|
|
202
|
+
set leadingIcons(value) { this.#leadingIcons_accessor_storage = value; }
|
|
203
|
+
#trailingIcons_accessor_storage;
|
|
204
|
+
get trailingIcons() { return this.#trailingIcons_accessor_storage; }
|
|
205
|
+
set trailingIcons(value) { this.#trailingIcons_accessor_storage = value; }
|
|
206
|
+
checkValidity() {
|
|
207
|
+
this.isCheckingValidity = true;
|
|
208
|
+
this.syncValidity();
|
|
209
|
+
const isValid = this.internals_.checkValidity();
|
|
210
|
+
this.isCheckingValidity = false;
|
|
211
|
+
return isValid;
|
|
212
|
+
}
|
|
213
|
+
reportValidity() {
|
|
214
|
+
this.isReportingValidity = true;
|
|
215
|
+
let invalidEvent;
|
|
216
|
+
this.addEventListener('invalid', (event) => {
|
|
217
|
+
invalidEvent = event;
|
|
218
|
+
}, { once: true });
|
|
219
|
+
const valid = this.checkValidity();
|
|
220
|
+
this.showErrorMessage(valid, invalidEvent);
|
|
221
|
+
this.isReportingValidity = false;
|
|
222
|
+
return valid;
|
|
223
|
+
}
|
|
224
|
+
get validationMessage() {
|
|
225
|
+
this.syncValidity();
|
|
226
|
+
return this.internals_.validationMessage;
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Returns a `ValidityState` object that represents the validity states of the
|
|
230
|
+
* text field.
|
|
231
|
+
*
|
|
232
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/ValidityState
|
|
233
|
+
*/
|
|
234
|
+
get validity() {
|
|
235
|
+
this.syncValidity();
|
|
236
|
+
return this.internals_.validity;
|
|
237
|
+
}
|
|
238
|
+
syncValidity() {
|
|
239
|
+
// Sync the internal <input>'s validity and the host's ElementInternals
|
|
240
|
+
// validity. We do this to re-use native `<input>` validation messages.
|
|
241
|
+
const input = this.input;
|
|
242
|
+
if (this.hasCustomValidityError) {
|
|
243
|
+
input.setCustomValidity(this.internals_.validationMessage);
|
|
244
|
+
}
|
|
245
|
+
else {
|
|
246
|
+
input.setCustomValidity('');
|
|
247
|
+
}
|
|
248
|
+
this.internals_.setValidity(input.validity, input.validationMessage, this.input);
|
|
249
|
+
}
|
|
250
|
+
handleIconChange() {
|
|
251
|
+
this.hasLeadingIcon = this.leadingIcons.length > 0;
|
|
252
|
+
this.hasTrailingIcon = this.trailingIcons.length > 0;
|
|
253
|
+
}
|
|
254
|
+
getErrorText() {
|
|
255
|
+
return this.error ? this.errorText : this.nativeErrorText;
|
|
256
|
+
}
|
|
257
|
+
showErrorMessage(valid, invalidEvent) {
|
|
258
|
+
if (invalidEvent?.defaultPrevented) {
|
|
259
|
+
return valid;
|
|
260
|
+
}
|
|
261
|
+
const prevMessage = this.getErrorText();
|
|
262
|
+
this.nativeError = !valid;
|
|
263
|
+
this.nativeErrorText = this.validationMessage;
|
|
264
|
+
if (prevMessage === this.getErrorText()) {
|
|
265
|
+
this.field?.reannounceError();
|
|
266
|
+
}
|
|
267
|
+
return valid;
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Selects all the text in the text field.
|
|
271
|
+
*
|
|
272
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/select
|
|
273
|
+
*/
|
|
274
|
+
select() {
|
|
275
|
+
this.input.select();
|
|
276
|
+
}
|
|
277
|
+
setCustomValidity(error) {
|
|
278
|
+
this.hasCustomValidityError = !!error;
|
|
279
|
+
this.internals_.setValidity({ customError: !!error }, error, this.input);
|
|
280
|
+
}
|
|
281
|
+
reset() {
|
|
282
|
+
this.dirty = false;
|
|
283
|
+
this.value = this.getAttribute('value') ?? '';
|
|
284
|
+
this.nativeError = false;
|
|
285
|
+
this.nativeErrorText = '';
|
|
286
|
+
this.error = false;
|
|
287
|
+
}
|
|
288
|
+
static { this.styles = css `
|
|
289
|
+
:host {
|
|
290
|
+
display: block;
|
|
291
|
+
/* Adjust chrome default to match height of other text inputs */
|
|
292
|
+
--md-outlined-field-top-space: 15px;
|
|
293
|
+
--md-outlined-field-bottom-space: 15px;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
md-outlined-field {
|
|
297
|
+
width: 100%;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
input::-webkit-calendar-picker-indicator {
|
|
301
|
+
display: none;
|
|
302
|
+
-webkit-appearance: none;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
md-icon-button {
|
|
306
|
+
margin-right: 8px;
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
/* Safari Only */
|
|
310
|
+
_::-webkit-full-page-media,
|
|
311
|
+
_:future,
|
|
312
|
+
input {
|
|
313
|
+
padding-top: 14px;
|
|
314
|
+
padding-bottom: 7px;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
_::-webkit-full-page-media,
|
|
318
|
+
_:future,
|
|
319
|
+
md-icon-button[open-picker] {
|
|
320
|
+
display: none;
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
@supports (-webkit-touch-callout: none) {
|
|
324
|
+
/* CSS specific to iOS devices */
|
|
325
|
+
input::-webkit-date-and-time-value {
|
|
326
|
+
text-align: left;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
input {
|
|
330
|
+
height: 35px;
|
|
331
|
+
padding-top: 16px;
|
|
332
|
+
padding-bottom: 6px;
|
|
333
|
+
min-width: 100px;
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
/* FireFox specific hacks! */
|
|
338
|
+
@-moz-document url-prefix() {
|
|
339
|
+
input {
|
|
340
|
+
min-width: 186px;
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
input[type='datetime-local'] {
|
|
344
|
+
min-width: 285px;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
md-icon-button[open-picker] {
|
|
348
|
+
display: none;
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
input {
|
|
352
|
+
padding-top: 3px;
|
|
353
|
+
padding-bottom: 3px;
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
`; }
|
|
357
|
+
render() {
|
|
358
|
+
return html `
|
|
359
|
+
<md-outlined-field
|
|
360
|
+
?disabled=${this.disabled}
|
|
361
|
+
?error=${this.error || this.nativeError}
|
|
362
|
+
error-text=${this.getErrorText()}
|
|
363
|
+
?focused=${this.focused}
|
|
364
|
+
?has-end=${this.hasTrailingIcon}
|
|
365
|
+
?has-start=${this.hasLeadingIcon}
|
|
366
|
+
label=${this.label}
|
|
367
|
+
?populated=${!!this.value}
|
|
368
|
+
?required=${this.required}
|
|
369
|
+
supporting-text=${this.supportingText}
|
|
370
|
+
>
|
|
371
|
+
<span class="icon leading" slot="start">
|
|
372
|
+
<slot name="leading-icon" @slotchange=${this.handleIconChange}></slot>
|
|
373
|
+
</span>
|
|
374
|
+
<input
|
|
375
|
+
type=${this.type}
|
|
376
|
+
?disabled=${this.disabled}
|
|
377
|
+
aria-describedby="description"
|
|
378
|
+
aria-invalid=${this.error || this.nativeError}
|
|
379
|
+
aria-label=${this.label}
|
|
380
|
+
placeholder=${this.placeholder || ''}
|
|
381
|
+
?required=${this.required}
|
|
382
|
+
.value=${live(this.value)}
|
|
383
|
+
@change=${(e) => redispatchEvent(this, e)}
|
|
384
|
+
@focusin=${() => (this.focused = true)}
|
|
385
|
+
@focusout=${() => (this.focused = false)}
|
|
386
|
+
max=${this.max}
|
|
387
|
+
min=${this.min}
|
|
388
|
+
@blur=${(e) => redispatchEvent(this, e)}
|
|
389
|
+
@input=${(event) => {
|
|
390
|
+
this.dirty = true;
|
|
391
|
+
this.value = event.target.value;
|
|
392
|
+
// Sync validity so that clients can check validity on input.
|
|
393
|
+
this.syncValidity();
|
|
394
|
+
}}
|
|
395
|
+
@select=${(e) => redispatchEvent(this, e)}
|
|
396
|
+
/>
|
|
397
|
+
<span class="icon trailing" slot="end">
|
|
398
|
+
<slot name="trailing-icon" @slotchange=${this.handleIconChange}>
|
|
399
|
+
<md-icon-button open-picker @click=${() => this.input?.showPicker()}>
|
|
400
|
+
<md-icon>calendar_today</md-icon>
|
|
401
|
+
</md-icon-button>
|
|
402
|
+
</slot>
|
|
403
|
+
</span>
|
|
404
|
+
</md-outlined-field>
|
|
405
|
+
`;
|
|
406
|
+
}
|
|
407
|
+
};
|
|
408
|
+
__decorate([
|
|
409
|
+
property({ type: Boolean, reflect: true })
|
|
410
|
+
], TitaniumDateInput.prototype, "disabled", null);
|
|
411
|
+
__decorate([
|
|
412
|
+
property({ type: Boolean, reflect: true })
|
|
413
|
+
], TitaniumDateInput.prototype, "error", null);
|
|
414
|
+
__decorate([
|
|
415
|
+
property({ attribute: 'error-text' })
|
|
416
|
+
], TitaniumDateInput.prototype, "errorText", null);
|
|
417
|
+
__decorate([
|
|
418
|
+
property()
|
|
419
|
+
], TitaniumDateInput.prototype, "label", null);
|
|
420
|
+
__decorate([
|
|
421
|
+
property({ type: Boolean, reflect: true })
|
|
422
|
+
], TitaniumDateInput.prototype, "required", null);
|
|
423
|
+
__decorate([
|
|
424
|
+
property()
|
|
425
|
+
], TitaniumDateInput.prototype, "value", null);
|
|
426
|
+
__decorate([
|
|
427
|
+
property({ attribute: 'prefix-text' })
|
|
428
|
+
], TitaniumDateInput.prototype, "prefixText", null);
|
|
429
|
+
__decorate([
|
|
430
|
+
property({ attribute: 'suffix-text' })
|
|
431
|
+
], TitaniumDateInput.prototype, "suffixText", null);
|
|
432
|
+
__decorate([
|
|
433
|
+
property({ type: Boolean, attribute: 'has-leading-icon' })
|
|
434
|
+
], TitaniumDateInput.prototype, "hasLeadingIcon", null);
|
|
435
|
+
__decorate([
|
|
436
|
+
property({ type: Boolean, attribute: 'has-trailing-icon' })
|
|
437
|
+
], TitaniumDateInput.prototype, "hasTrailingIcon", null);
|
|
438
|
+
__decorate([
|
|
439
|
+
property()
|
|
440
|
+
], TitaniumDateInput.prototype, "max", null);
|
|
441
|
+
__decorate([
|
|
442
|
+
property({ type: Number })
|
|
443
|
+
], TitaniumDateInput.prototype, "maxLength", null);
|
|
444
|
+
__decorate([
|
|
445
|
+
property()
|
|
446
|
+
], TitaniumDateInput.prototype, "min", null);
|
|
447
|
+
__decorate([
|
|
448
|
+
property({ attribute: 'supporting-text' })
|
|
449
|
+
], TitaniumDateInput.prototype, "supportingText", null);
|
|
450
|
+
__decorate([
|
|
451
|
+
property({ reflect: true, converter: stringConverter })
|
|
452
|
+
], TitaniumDateInput.prototype, "placeholder", null);
|
|
453
|
+
__decorate([
|
|
454
|
+
property({ reflect: true })
|
|
455
|
+
], TitaniumDateInput.prototype, "type", null);
|
|
456
|
+
__decorate([
|
|
457
|
+
state()
|
|
458
|
+
], TitaniumDateInput.prototype, "dirty", null);
|
|
459
|
+
__decorate([
|
|
460
|
+
state()
|
|
461
|
+
], TitaniumDateInput.prototype, "focused", null);
|
|
462
|
+
__decorate([
|
|
463
|
+
state()
|
|
464
|
+
], TitaniumDateInput.prototype, "nativeError", null);
|
|
465
|
+
__decorate([
|
|
466
|
+
state()
|
|
467
|
+
], TitaniumDateInput.prototype, "nativeErrorText", null);
|
|
468
|
+
__decorate([
|
|
469
|
+
query('input')
|
|
470
|
+
], TitaniumDateInput.prototype, "input", null);
|
|
471
|
+
__decorate([
|
|
472
|
+
query('md-outlined-field')
|
|
473
|
+
], TitaniumDateInput.prototype, "field", null);
|
|
474
|
+
__decorate([
|
|
475
|
+
queryAssignedElements({ slot: 'leading-icon' })
|
|
476
|
+
], TitaniumDateInput.prototype, "leadingIcons", null);
|
|
477
|
+
__decorate([
|
|
478
|
+
queryAssignedElements({ slot: 'trailing-icon' })
|
|
479
|
+
], TitaniumDateInput.prototype, "trailingIcons", null);
|
|
480
|
+
TitaniumDateInput = __decorate([
|
|
481
|
+
customElement('titanium-date-input')
|
|
482
|
+
], TitaniumDateInput);
|
|
483
|
+
export { TitaniumDateInput };
|
|
484
|
+
//# sourceMappingURL=date-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-input.js","sourceRoot":"","sources":["date-input.ts"],"names":[],"mappings":"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"}
|