@momentum-design/components 0.141.2 → 0.141.3
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/browser/index.js +203 -171
- package/dist/browser/index.js.map +3 -3
- package/dist/components/checkbox/checkbox.component.js +5 -0
- package/dist/components/combobox/combobox.component.js +20 -7
- package/dist/components/datepicker/datepicker.component.js +28 -4
- package/dist/components/formfieldwrapper/formfieldwrapper.component.d.ts +4 -0
- package/dist/components/formfieldwrapper/formfieldwrapper.component.js +16 -0
- package/dist/components/input/input.component.js +15 -1
- package/dist/components/numberinput/numberinput.component.js +11 -0
- package/dist/components/password/password.component.js +3 -0
- package/dist/components/radio/radio.component.js +7 -0
- package/dist/components/searchfield/searchfield.component.js +10 -0
- package/dist/components/slider/slider.component.d.ts +1 -5
- package/dist/components/slider/slider.component.js +32 -24
- package/dist/components/textarea/textarea.component.js +14 -5
- package/dist/components/timepicker/timepicker.component.js +28 -0
- package/dist/components/toggle/toggle.component.js +5 -0
- package/dist/custom-elements.json +26 -6
- package/package.json +1 -1
|
@@ -110,7 +110,7 @@ class Textarea extends CharacterLimitMixin(KeyDownHandledMixin(KeyToActionMixin(
|
|
|
110
110
|
* @param event - The pointer event.
|
|
111
111
|
*/
|
|
112
112
|
this.handlePointerDown = (event) => {
|
|
113
|
-
if (this.readonly) {
|
|
113
|
+
if (this.disabled || this.softDisabled || this.readonly) {
|
|
114
114
|
return;
|
|
115
115
|
}
|
|
116
116
|
const resizeButton = event.currentTarget;
|
|
@@ -129,6 +129,8 @@ class Textarea extends CharacterLimitMixin(KeyDownHandledMixin(KeyToActionMixin(
|
|
|
129
129
|
* @param event - The pointer event.
|
|
130
130
|
*/
|
|
131
131
|
this.handlePointerMove = (event) => {
|
|
132
|
+
if (this.disabled || this.softDisabled || this.readonly)
|
|
133
|
+
return;
|
|
132
134
|
if (!this.textarea)
|
|
133
135
|
return;
|
|
134
136
|
const deltaY = event.clientY - this.resizeStartY;
|
|
@@ -241,7 +243,9 @@ class Textarea extends CharacterLimitMixin(KeyDownHandledMixin(KeyToActionMixin(
|
|
|
241
243
|
* Sets the form value.
|
|
242
244
|
* @returns void
|
|
243
245
|
*/
|
|
244
|
-
updateValue() {
|
|
246
|
+
updateValue(event) {
|
|
247
|
+
if (this.preventSoftDisabledChange(event, this.value))
|
|
248
|
+
return;
|
|
245
249
|
this.value = this.textarea.value;
|
|
246
250
|
this.internals.setFormValue(this.textarea.value);
|
|
247
251
|
this.announceCharacterLimitWarning();
|
|
@@ -257,7 +261,9 @@ class Textarea extends CharacterLimitMixin(KeyDownHandledMixin(KeyToActionMixin(
|
|
|
257
261
|
* @param event - Event which contains information about the value change.
|
|
258
262
|
*/
|
|
259
263
|
onChange(event) {
|
|
260
|
-
this.
|
|
264
|
+
if (this.preventSoftDisabledChange(event, this.value))
|
|
265
|
+
return;
|
|
266
|
+
this.updateValue(event);
|
|
261
267
|
const EventConstructor = event.constructor;
|
|
262
268
|
this.dispatchEvent(new EventConstructor(event.type, event));
|
|
263
269
|
}
|
|
@@ -272,7 +278,7 @@ class Textarea extends CharacterLimitMixin(KeyDownHandledMixin(KeyToActionMixin(
|
|
|
272
278
|
* @param event - The keyboard event.
|
|
273
279
|
*/
|
|
274
280
|
handleResizeKeyDown(event) {
|
|
275
|
-
if (this.readonly) {
|
|
281
|
+
if (this.disabled || this.softDisabled || this.readonly) {
|
|
276
282
|
return;
|
|
277
283
|
}
|
|
278
284
|
const currentRows = this.rows || DEFAULTS.ROWS;
|
|
@@ -307,6 +313,7 @@ class Textarea extends CharacterLimitMixin(KeyDownHandledMixin(KeyToActionMixin(
|
|
|
307
313
|
.value="${this.value}"
|
|
308
314
|
?disabled="${this.disabled}"
|
|
309
315
|
?readonly="${this.readonly}"
|
|
316
|
+
aria-disabled="${this.disabled || this.softDisabled}"
|
|
310
317
|
?required="${this.required}"
|
|
311
318
|
placeholder=${ifDefined(this.placeholder)}
|
|
312
319
|
rows=${ifDefined(this.rows)}
|
|
@@ -317,6 +324,7 @@ class Textarea extends CharacterLimitMixin(KeyDownHandledMixin(KeyToActionMixin(
|
|
|
317
324
|
minlength=${ifDefined(this.minlength)}
|
|
318
325
|
maxlength=${ifDefined(this.maxlength)}
|
|
319
326
|
dirname=${ifDefined(this.dirname)}
|
|
327
|
+
@beforeinput=${this.preventSoftDisabledInput}
|
|
320
328
|
@input=${this.updateValue}
|
|
321
329
|
@change=${this.onChange}
|
|
322
330
|
aria-describedby="${ifDefined(this.helpText ? FORMFIELD_DEFAULTS.HELPER_TEXT_ID : '')}"
|
|
@@ -337,7 +345,8 @@ class Textarea extends CharacterLimitMixin(KeyDownHandledMixin(KeyToActionMixin(
|
|
|
337
345
|
size="24"
|
|
338
346
|
prefix-icon="resize-corner-regular"
|
|
339
347
|
aria-label=${(_b = this.resizeButtonAriaLabel) !== null && _b !== void 0 ? _b : ''}
|
|
340
|
-
?disabled="${this.disabled || this.readonly}"
|
|
348
|
+
?disabled="${this.disabled || this.softDisabled || this.readonly}"
|
|
349
|
+
?soft-disabled="${this.softDisabled}"
|
|
341
350
|
@keydown=${this.handleResizeKeyDown}
|
|
342
351
|
@pointerdown=${this.handlePointerDown}
|
|
343
352
|
></mdc-button>
|
|
@@ -191,6 +191,10 @@ class TimePicker extends FormInternalsMixin(DataAriaLabelMixin(FormfieldWrapper)
|
|
|
191
191
|
changedProperties.has('readonly')) {
|
|
192
192
|
if (this.disabled || this.softDisabled || this.readonly) {
|
|
193
193
|
this.displayPopover = false;
|
|
194
|
+
if (this.pendingDigitTimeout)
|
|
195
|
+
clearTimeout(this.pendingDigitTimeout);
|
|
196
|
+
this.pendingDigits = '';
|
|
197
|
+
this.parseValueToInternal();
|
|
194
198
|
}
|
|
195
199
|
}
|
|
196
200
|
}
|
|
@@ -326,6 +330,8 @@ class TimePicker extends FormInternalsMixin(DataAriaLabelMixin(FormfieldWrapper)
|
|
|
326
330
|
* @internal
|
|
327
331
|
*/
|
|
328
332
|
commitValue() {
|
|
333
|
+
if (this.disabled || this.softDisabled || this.readonly)
|
|
334
|
+
return;
|
|
329
335
|
const newValue = this.internalToValue();
|
|
330
336
|
if (newValue && newValue !== this.value) {
|
|
331
337
|
this.value = newValue;
|
|
@@ -380,6 +386,8 @@ class TimePicker extends FormInternalsMixin(DataAriaLabelMixin(FormfieldWrapper)
|
|
|
380
386
|
*/
|
|
381
387
|
handleOptionClick(optionValue) {
|
|
382
388
|
var _a;
|
|
389
|
+
if (this.disabled || this.softDisabled || this.readonly)
|
|
390
|
+
return;
|
|
383
391
|
this.value = optionValue;
|
|
384
392
|
this.parseValueToInternal();
|
|
385
393
|
this.displayPopover = false;
|
|
@@ -510,6 +518,11 @@ class TimePicker extends FormInternalsMixin(DataAriaLabelMixin(FormfieldWrapper)
|
|
|
510
518
|
*/
|
|
511
519
|
handlePeriodKeydown(event) {
|
|
512
520
|
var _a, _b;
|
|
521
|
+
if (this.disabled || this.softDisabled || this.readonly) {
|
|
522
|
+
if (event.key === KEYS.ARROW_UP || event.key === KEYS.ARROW_DOWN)
|
|
523
|
+
event.preventDefault();
|
|
524
|
+
return;
|
|
525
|
+
}
|
|
513
526
|
switch (event.key) {
|
|
514
527
|
case KEYS.ARROW_UP:
|
|
515
528
|
case KEYS.ARROW_DOWN:
|
|
@@ -551,6 +564,11 @@ class TimePicker extends FormInternalsMixin(DataAriaLabelMixin(FormfieldWrapper)
|
|
|
551
564
|
*/
|
|
552
565
|
handleSpinbuttonKeydown(event, field) {
|
|
553
566
|
var _a, _b, _c, _d, _e, _f;
|
|
567
|
+
if (this.disabled || this.softDisabled || this.readonly) {
|
|
568
|
+
if (event.key === KEYS.ARROW_UP || event.key === KEYS.ARROW_DOWN)
|
|
569
|
+
event.preventDefault();
|
|
570
|
+
return;
|
|
571
|
+
}
|
|
554
572
|
const is12h = this.timeFormat === TIME_FORMAT.TWELVE_HOUR;
|
|
555
573
|
let minVal;
|
|
556
574
|
let maxVal;
|
|
@@ -795,7 +813,10 @@ class TimePicker extends FormInternalsMixin(DataAriaLabelMixin(FormfieldWrapper)
|
|
|
795
813
|
placeholder="${this.hoursPlaceholder}"
|
|
796
814
|
?disabled="${this.disabled}"
|
|
797
815
|
?readonly="${this.readonly}"
|
|
816
|
+
aria-disabled="${this.disabled || this.softDisabled}"
|
|
817
|
+
@beforeinput="${this.preventSoftDisabledInput}"
|
|
798
818
|
tabindex="${this.disabled ? '-1' : '0'}"
|
|
819
|
+
@input="${(event) => this.preventSoftDisabledChange(event, this.internalHours)}"
|
|
799
820
|
@keydown="${this.handleHoursKeydown}"
|
|
800
821
|
@focus="${this.handleSpinbuttonFocus}"
|
|
801
822
|
/>
|
|
@@ -813,7 +834,10 @@ class TimePicker extends FormInternalsMixin(DataAriaLabelMixin(FormfieldWrapper)
|
|
|
813
834
|
placeholder="${this.minutesPlaceholder}"
|
|
814
835
|
?disabled="${this.disabled}"
|
|
815
836
|
?readonly="${this.readonly}"
|
|
837
|
+
aria-disabled="${this.disabled || this.softDisabled}"
|
|
838
|
+
@beforeinput="${this.preventSoftDisabledInput}"
|
|
816
839
|
tabindex="${this.disabled ? '-1' : '0'}"
|
|
840
|
+
@input="${(event) => this.preventSoftDisabledChange(event, this.internalMinutes)}"
|
|
817
841
|
@keydown="${this.handleMinutesKeydown}"
|
|
818
842
|
@focus="${this.handleSpinbuttonFocus}"
|
|
819
843
|
/>
|
|
@@ -830,7 +854,10 @@ class TimePicker extends FormInternalsMixin(DataAriaLabelMixin(FormfieldWrapper)
|
|
|
830
854
|
placeholder="${this.periodPlaceholder}"
|
|
831
855
|
?disabled="${this.disabled}"
|
|
832
856
|
?readonly="${this.readonly}"
|
|
857
|
+
aria-disabled="${this.disabled || this.softDisabled}"
|
|
858
|
+
@beforeinput="${this.preventSoftDisabledInput}"
|
|
833
859
|
tabindex="${this.disabled ? '-1' : '0'}"
|
|
860
|
+
@input="${(event) => this.preventSoftDisabledChange(event, this.displayPeriod || '')}"
|
|
834
861
|
@keydown="${this.handlePeriodKeydown}"
|
|
835
862
|
@focus="${this.handleSpinbuttonFocus}"
|
|
836
863
|
/>
|
|
@@ -846,6 +873,7 @@ class TimePicker extends FormInternalsMixin(DataAriaLabelMixin(FormfieldWrapper)
|
|
|
846
873
|
aria-expanded="${this.displayPopover ? 'true' : 'false'}"
|
|
847
874
|
aria-haspopup="true"
|
|
848
875
|
?disabled="${this.disabled}"
|
|
876
|
+
?soft-disabled="${this.softDisabled}"
|
|
849
877
|
size="20"
|
|
850
878
|
@click="${this.handleDropdownClick}"
|
|
851
879
|
></mdc-button>
|
|
@@ -158,6 +158,10 @@ class Toggle extends KeyToActionMixin(ControlTypeMixin(AutoFocusOnMountMixin(For
|
|
|
158
158
|
handleKeyDown(event) {
|
|
159
159
|
var _a;
|
|
160
160
|
const action = this.getActionForKeyEvent(event);
|
|
161
|
+
if (this.softDisabled && action === ACTIONS.ENTER) {
|
|
162
|
+
event.preventDefault();
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
161
165
|
if ((this.readonly || this.softDisabled) && action === ACTIONS.SPACE) {
|
|
162
166
|
event.preventDefault();
|
|
163
167
|
}
|
|
@@ -217,6 +221,7 @@ class Toggle extends KeyToActionMixin(ControlTypeMixin(AutoFocusOnMountMixin(For
|
|
|
217
221
|
value="${ifDefined(this.value)}"
|
|
218
222
|
.checked="${this.checked}"
|
|
219
223
|
aria-checked="${this.checked}"
|
|
224
|
+
aria-disabled="${this.disabled || this.softDisabled}"
|
|
220
225
|
.disabled="${this.disabled}"
|
|
221
226
|
?readonly="${this.readonly}"
|
|
222
227
|
aria-describedby="${ifDefined(this.helpText ? FORMFIELD_DEFAULTS.HELPER_TEXT_ID : '')}"
|
|
@@ -47825,6 +47825,24 @@
|
|
|
47825
47825
|
],
|
|
47826
47826
|
"description": "Prevents default behavior for mouse and keyboard events.\nThis prevents user interaction with the slider when it is soft-disabled."
|
|
47827
47827
|
},
|
|
47828
|
+
{
|
|
47829
|
+
"kind": "method",
|
|
47830
|
+
"name": "preventSoftDisabledChange",
|
|
47831
|
+
"privacy": "private",
|
|
47832
|
+
"return": {
|
|
47833
|
+
"type": {
|
|
47834
|
+
"text": "boolean"
|
|
47835
|
+
}
|
|
47836
|
+
},
|
|
47837
|
+
"parameters": [
|
|
47838
|
+
{
|
|
47839
|
+
"name": "event",
|
|
47840
|
+
"type": {
|
|
47841
|
+
"text": "Event"
|
|
47842
|
+
}
|
|
47843
|
+
}
|
|
47844
|
+
]
|
|
47845
|
+
},
|
|
47828
47846
|
{
|
|
47829
47847
|
"kind": "field",
|
|
47830
47848
|
"name": "range",
|
|
@@ -47841,12 +47859,6 @@
|
|
|
47841
47859
|
"name": "renderTicks",
|
|
47842
47860
|
"privacy": "private"
|
|
47843
47861
|
},
|
|
47844
|
-
{
|
|
47845
|
-
"kind": "method",
|
|
47846
|
-
"name": "setSoftDisabled",
|
|
47847
|
-
"privacy": "private",
|
|
47848
|
-
"description": "Sets the soft-disabled state for the slider.\nApplies the appropriate ARIA attributes."
|
|
47849
|
-
},
|
|
47850
47862
|
{
|
|
47851
47863
|
"kind": "field",
|
|
47852
47864
|
"name": "softDisabled",
|
|
@@ -51924,6 +51936,14 @@
|
|
|
51924
51936
|
"kind": "method",
|
|
51925
51937
|
"name": "updateValue",
|
|
51926
51938
|
"privacy": "private",
|
|
51939
|
+
"parameters": [
|
|
51940
|
+
{
|
|
51941
|
+
"name": "event",
|
|
51942
|
+
"type": {
|
|
51943
|
+
"text": "Event"
|
|
51944
|
+
}
|
|
51945
|
+
}
|
|
51946
|
+
],
|
|
51927
51947
|
"description": "Updates the value of the textarea field.\nSets the form value.",
|
|
51928
51948
|
"return": {
|
|
51929
51949
|
"type": {
|