@vonage/vivid 4.24.0 → 4.25.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/custom-elements.json +12314 -4711
- package/elevation/index.cjs +1 -1
- package/elevation/index.js +1 -1
- package/index.cjs +112 -150
- package/index.js +37 -35
- package/lib/accordion-item/accordion-item.d.ts +6 -0
- package/lib/action-group/action-group.d.ts +6 -0
- package/lib/alert/alert.d.ts +20 -0
- package/lib/audio-player/audio-player.d.ts +6 -0
- package/lib/badge/badge.d.ts +9 -1
- package/lib/banner/banner.d.ts +25 -0
- package/lib/breadcrumb/breadcrumb.d.ts +6 -0
- package/lib/breadcrumb-item/breadcrumb-item.d.ts +63 -7
- package/lib/button/button.d.ts +732 -7
- package/lib/button/locale.d.ts +3 -0
- package/lib/calendar-event/calendar-event.d.ts +6 -0
- package/lib/card/card.d.ts +394 -2
- package/lib/card/card.template.d.ts +2 -1
- package/lib/checkbox/checkbox.d.ts +1822 -5
- package/lib/combobox/combobox.d.ts +1827 -20
- package/lib/data-grid/data-grid-cell.d.ts +339 -1
- package/lib/data-grid/locale.d.ts +5 -0
- package/lib/date-picker/date-picker.d.ts +1676 -207
- package/lib/date-range-picker/date-range-picker.d.ts +840 -107
- package/lib/date-time-picker/date-time-picker.d.ts +1678 -209
- package/lib/dial-pad/dial-pad.d.ts +8 -0
- package/lib/dialog/dialog.d.ts +12 -0
- package/lib/divider/divider.d.ts +6 -0
- package/lib/fab/fab.d.ts +6 -0
- package/lib/file-picker/file-picker.d.ts +1508 -30
- package/lib/header/header.d.ts +6 -0
- package/lib/icon/icon.d.ts +1 -0
- package/lib/icon/icon.template.d.ts +2 -1
- package/lib/menu/menu.d.ts +16 -7
- package/lib/menu/name.d.ts +1 -0
- package/lib/menu-item/menu-item.d.ts +14 -2
- package/lib/nav/nav.d.ts +6 -0
- package/lib/nav-disclosure/nav-disclosure.d.ts +13 -0
- package/lib/nav-item/nav-item.d.ts +405 -3
- package/lib/note/note.d.ts +6 -0
- package/lib/number-field/number-field.d.ts +1857 -36
- package/lib/option/option.d.ts +12 -0
- package/lib/progress/progress.d.ts +6 -0
- package/lib/progress-ring/progress-ring.d.ts +6 -0
- package/lib/radio/radio.d.ts +1137 -4
- package/lib/radio-group/radio-group.d.ts +20 -2
- package/lib/range-slider/range-slider.d.ts +752 -5
- package/lib/rich-text-editor/definition.d.ts +2 -2
- package/lib/rich-text-editor/facades/vivid-prose-mirror.facade.d.ts +3 -1
- package/lib/rich-text-editor/locale.d.ts +1 -0
- package/lib/rich-text-editor/menubar/menubar.d.ts +6 -0
- package/lib/rich-text-editor/rich-text-editor.d.ts +352 -2
- package/lib/searchable-select/option-tag.d.ts +6 -0
- package/lib/searchable-select/searchable-select.d.ts +1857 -36
- package/lib/select/select.d.ts +1843 -28
- package/lib/selectable-box/selectable-box.d.ts +6 -0
- package/lib/slider/slider.d.ts +384 -2
- package/lib/split-button/split-button.d.ts +18 -0
- package/lib/switch/switch.d.ts +386 -3
- package/lib/tab/tab.d.ts +18 -1
- package/lib/tab-panel/tab-panel.d.ts +6 -0
- package/lib/tag/tag.d.ts +12 -0
- package/lib/tag-group/tag-group.d.ts +6 -0
- package/lib/text-area/text-area.d.ts +2174 -19
- package/lib/text-field/text-field.d.ts +2195 -31
- package/lib/time-picker/time-picker.d.ts +839 -106
- package/lib/toggletip/toggletip.d.ts +10 -4
- package/lib/tooltip/tooltip.d.ts +10 -4
- package/lib/tree-item/tree-item.d.ts +12 -0
- package/lib/tree-view/tree-view.d.ts +6 -0
- package/lib/video-player/video-player.d.ts +6 -0
- package/lib/visually-hidden/definition.d.ts +4 -0
- package/lib/visually-hidden/visually-hidden.d.ts +3 -0
- package/lib/visually-hidden/visually-hidden.template.d.ts +3 -0
- package/locales/de-DE.cjs +33 -1
- package/locales/de-DE.js +33 -1
- package/locales/en-GB.cjs +33 -1
- package/locales/en-GB.js +33 -1
- package/locales/en-US.cjs +33 -1
- package/locales/en-US.js +33 -1
- package/locales/ja-JP.cjs +33 -1
- package/locales/ja-JP.js +33 -1
- package/locales/zh-CN.cjs +33 -1
- package/locales/zh-CN.js +33 -1
- package/menu/index.cjs +1 -1
- package/menu/index.js +1 -1
- package/nav/index.cjs +1 -1
- package/nav/index.js +1 -1
- package/nav-disclosure/index.cjs +1 -1
- package/nav-disclosure/index.js +1 -1
- package/nav-item/index.cjs +1 -1
- package/nav-item/index.js +1 -1
- package/note/index.cjs +1 -1
- package/note/index.js +1 -1
- package/number-field/index.cjs +1 -1
- package/number-field/index.js +1 -1
- package/option/index.cjs +1 -1
- package/option/index.js +1 -1
- package/package.json +1 -1
- package/pagination/index.cjs +1 -1
- package/pagination/index.js +1 -1
- package/popup/index.cjs +1 -1
- package/popup/index.js +1 -1
- package/progress/index.cjs +1 -1
- package/progress/index.js +1 -1
- package/progress-ring/index.cjs +1 -1
- package/progress-ring/index.js +1 -1
- package/radio/index.cjs +1 -1
- package/radio/index.js +1 -1
- package/radio-group/index.cjs +1 -1
- package/radio-group/index.js +1 -1
- package/range-slider/index.cjs +1 -1
- package/range-slider/index.js +1 -1
- package/rich-text-editor/index.cjs +1 -1
- package/rich-text-editor/index.js +1 -1
- package/searchable-select/index.cjs +1 -1
- package/searchable-select/index.js +1 -1
- package/select/index.cjs +1 -1
- package/select/index.js +1 -1
- package/selectable-box/index.cjs +1 -1
- package/selectable-box/index.js +1 -1
- package/shared/affix.cjs +13 -7
- package/shared/affix.js +13 -8
- package/shared/aria/delegates-aria.d.ts +6 -0
- package/shared/aria/host-semantics.d.ts +6 -0
- package/shared/breadcrumb-item.cjs +2 -5
- package/shared/breadcrumb-item.js +2 -5
- package/shared/button.cjs +13 -11
- package/shared/button.js +13 -11
- package/shared/calendar-picker.template.cjs +3 -3
- package/shared/calendar-picker.template.js +1 -1
- package/shared/char-count.cjs +92 -0
- package/shared/char-count.js +90 -0
- package/shared/definition.js +1 -1
- package/shared/definition10.js +1 -1
- package/shared/definition11.cjs +27 -44
- package/shared/definition11.js +28 -45
- package/shared/definition12.js +1 -1
- package/shared/definition13.js +1 -1
- package/shared/definition14.cjs +53 -22
- package/shared/definition14.js +54 -23
- package/shared/definition15.cjs +31 -36
- package/shared/definition15.js +30 -36
- package/shared/definition16.cjs +43 -63
- package/shared/definition16.js +42 -63
- package/shared/definition17.cjs +8 -4
- package/shared/definition17.js +8 -4
- package/shared/definition18.cjs +10 -14
- package/shared/definition18.js +9 -14
- package/shared/definition19.cjs +85 -100
- package/shared/definition19.js +75 -91
- package/shared/definition2.js +1 -1
- package/shared/definition20.cjs +15 -20
- package/shared/definition20.js +14 -20
- package/shared/definition21.cjs +22 -3
- package/shared/definition21.js +23 -4
- package/shared/definition22.cjs +4 -4
- package/shared/definition22.js +5 -5
- package/shared/definition23.cjs +5 -38
- package/shared/definition23.js +5 -37
- package/shared/definition24.cjs +2 -7
- package/shared/definition24.js +3 -8
- package/shared/definition25.js +1 -1
- package/shared/definition26.cjs +157 -171
- package/shared/definition26.js +156 -171
- package/shared/definition27.cjs +1 -1
- package/shared/definition27.js +2 -2
- package/shared/definition28.cjs +32 -17
- package/shared/definition28.js +33 -18
- package/shared/definition29.js +1 -1
- package/shared/definition3.js +1 -1
- package/shared/definition30.cjs +96 -482
- package/shared/definition30.js +99 -482
- package/shared/definition31.cjs +334 -57
- package/shared/definition31.js +333 -56
- package/shared/definition32.cjs +104 -19
- package/shared/definition32.js +105 -20
- package/shared/definition33.cjs +67 -15
- package/shared/definition33.js +66 -14
- package/shared/definition34.cjs +15 -50
- package/shared/definition34.js +14 -49
- package/shared/definition35.cjs +28 -397
- package/shared/definition35.js +27 -397
- package/shared/definition36.cjs +404 -54
- package/shared/definition36.js +404 -55
- package/shared/definition37.cjs +57 -234
- package/shared/definition37.js +57 -233
- package/shared/definition38.cjs +221 -66
- package/shared/definition38.js +220 -65
- package/shared/definition39.cjs +52 -44
- package/shared/definition39.js +51 -43
- package/shared/definition4.cjs +31 -24
- package/shared/definition4.js +33 -26
- package/shared/definition40.cjs +56 -266
- package/shared/definition40.js +55 -265
- package/shared/definition41.cjs +285 -142
- package/shared/definition41.js +285 -142
- package/shared/definition42.cjs +156 -564
- package/shared/definition42.js +156 -565
- package/shared/definition43.cjs +554 -14378
- package/shared/definition43.js +553 -14377
- package/shared/definition44.cjs +14418 -1155
- package/shared/definition44.js +14417 -1156
- package/shared/definition45.cjs +1049 -677
- package/shared/definition45.js +1050 -678
- package/shared/definition46.cjs +848 -113
- package/shared/definition46.js +847 -112
- package/shared/definition47.cjs +125 -90
- package/shared/definition47.js +124 -89
- package/shared/definition48.cjs +88 -455
- package/shared/definition48.js +87 -454
- package/shared/definition49.cjs +466 -109
- package/shared/definition49.js +466 -109
- package/shared/definition5.cjs +8 -7
- package/shared/definition5.js +6 -5
- package/shared/definition50.cjs +106 -106
- package/shared/definition50.js +105 -105
- package/shared/definition51.cjs +136 -15
- package/shared/definition51.js +135 -14
- package/shared/definition52.cjs +16 -115
- package/shared/definition52.js +15 -114
- package/shared/definition53.cjs +78 -412
- package/shared/definition53.js +77 -410
- package/shared/definition54.cjs +445 -23
- package/shared/definition54.js +443 -22
- package/shared/definition55.cjs +22 -136
- package/shared/definition55.js +21 -135
- package/shared/definition56.cjs +95 -291
- package/shared/definition56.js +95 -292
- package/shared/definition57.cjs +192 -480
- package/shared/definition57.js +190 -479
- package/shared/definition58.cjs +411 -24
- package/shared/definition58.js +410 -24
- package/shared/definition59.cjs +27 -144
- package/shared/definition59.js +27 -143
- package/shared/definition6.js +1 -1
- package/shared/definition60.cjs +83 -54
- package/shared/definition60.js +82 -53
- package/shared/definition61.cjs +78 -166
- package/shared/definition61.js +77 -164
- package/shared/definition62.cjs +143 -232
- package/shared/definition62.js +141 -231
- package/shared/definition63.cjs +234 -69417
- package/shared/definition63.js +233 -69416
- package/shared/definition64.cjs +69454 -28
- package/shared/definition64.js +69453 -27
- package/shared/definition65.cjs +28 -2168
- package/shared/definition65.js +27 -2166
- package/shared/definition66.cjs +27 -0
- package/shared/definition66.js +23 -0
- package/shared/definition67.cjs +2195 -0
- package/shared/definition67.js +2190 -0
- package/shared/definition7.cjs +11 -2
- package/shared/definition7.js +12 -3
- package/shared/definition8.cjs +24 -11
- package/shared/definition8.js +26 -13
- package/shared/definition9.cjs +1 -2
- package/shared/definition9.js +2 -3
- package/shared/delegates-aria.js +1 -1
- package/shared/deprecation/replaced-props.d.ts +20 -0
- package/shared/divider.cjs +41 -0
- package/shared/divider.js +38 -0
- package/shared/feedback/feedback-message.d.ts +345 -0
- package/shared/feedback/locale.d.ts +4 -0
- package/{lib/text-anchor/text-anchor.d.ts → shared/feedback/mixins.d.ts} +62 -39
- package/shared/form-associated.cjs +124 -100
- package/shared/form-associated.js +125 -101
- package/shared/form-element.cjs +84 -0
- package/shared/form-element.js +82 -0
- package/shared/foundation/button/button.d.ts +378 -2
- package/shared/foundation/form-associated/form-associated.d.ts +753 -49
- package/shared/foundation/listbox/listbox.d.ts +1 -1
- package/shared/foundation/vivid-element/vivid-element.d.ts +14 -0
- package/shared/host-semantics.js +1 -1
- package/shared/key-codes.js +1 -1
- package/shared/linkable.cjs +70 -0
- package/shared/linkable.js +68 -0
- package/shared/localization/Locale.d.ts +14 -0
- package/shared/mixins.cjs +306 -0
- package/shared/mixins.js +300 -0
- package/shared/patterns/affix.d.ts +16 -1
- package/shared/patterns/anchored.d.ts +20 -8
- package/shared/patterns/char-count/char-count.d.ts +351 -0
- package/shared/patterns/char-count/index.d.ts +1 -0
- package/shared/patterns/char-count/locale.d.ts +4 -0
- package/shared/patterns/form-elements/form-element.d.ts +744 -0
- package/shared/patterns/form-elements/index.d.ts +3 -1
- package/shared/patterns/form-elements/with-error-text.d.ts +1122 -0
- package/shared/patterns/form-elements/with-success-text.d.ts +341 -0
- package/shared/patterns/index.d.ts +2 -0
- package/shared/patterns/linkable.d.ts +394 -0
- package/shared/patterns/localized.d.ts +6 -0
- package/shared/patterns/trapped-focus.d.ts +6 -0
- package/shared/picker-field/mixins/calendar-picker.d.ts +420 -52
- package/shared/picker-field/mixins/calendar-picker.template.d.ts +420 -52
- package/shared/picker-field/mixins/inline-time-picker/inline-time-picker.d.ts +6 -0
- package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +843 -107
- package/shared/picker-field/mixins/single-date-picker.d.ts +1259 -155
- package/shared/picker-field/mixins/single-value-picker.d.ts +417 -49
- package/shared/picker-field/mixins/time-selection-picker.d.ts +842 -106
- package/shared/picker-field/mixins/time-selection-picker.template.d.ts +839 -103
- package/shared/picker-field/picker-field.d.ts +1491 -15
- package/shared/picker-field.template.cjs +13 -22
- package/shared/picker-field.template.js +14 -23
- package/shared/repeat.js +1 -1
- package/shared/slider.template.cjs +1 -1
- package/shared/slider.template.js +1 -1
- package/shared/time-selection-picker.template.cjs +10 -15
- package/shared/time-selection-picker.template.js +10 -16
- package/shared/vivid-element.cjs +53 -4
- package/shared/vivid-element.js +53 -3
- package/shared/with-error-text.cjs +56 -0
- package/shared/with-error-text.js +54 -0
- package/shared/with-success-text.cjs +23 -0
- package/shared/with-success-text.js +21 -0
- package/side-drawer/index.cjs +1 -1
- package/side-drawer/index.js +1 -1
- package/slider/index.cjs +1 -1
- package/slider/index.js +1 -1
- package/split-button/index.cjs +1 -1
- package/split-button/index.js +1 -1
- package/styles/core/all.css +1 -1
- package/styles/core/theme.css +1 -1
- package/styles/core/typography.css +1 -1
- package/styles/tokens/theme-dark.css +4 -4
- package/styles/tokens/theme-light.css +4 -4
- package/styles/tokens/vivid-2-compat.css +1 -1
- package/switch/index.cjs +1 -1
- package/switch/index.js +1 -1
- package/tab/index.cjs +1 -1
- package/tab/index.js +1 -1
- package/tab-panel/index.cjs +1 -1
- package/tab-panel/index.js +1 -1
- package/tabs/index.cjs +1 -1
- package/tabs/index.js +1 -1
- package/tag/index.cjs +1 -1
- package/tag/index.js +1 -1
- package/tag-group/index.cjs +1 -1
- package/tag-group/index.js +1 -1
- package/text-area/index.cjs +1 -1
- package/text-area/index.js +1 -1
- package/text-field/index.cjs +1 -1
- package/text-field/index.js +1 -1
- package/time-picker/index.cjs +1 -1
- package/time-picker/index.js +1 -1
- package/toggletip/index.cjs +1 -1
- package/toggletip/index.js +1 -1
- package/tooltip/index.cjs +1 -1
- package/tooltip/index.js +1 -1
- package/tree-item/index.cjs +1 -1
- package/tree-item/index.js +1 -1
- package/tree-view/index.cjs +1 -1
- package/tree-view/index.js +1 -1
- package/video-player/index.cjs +1 -1
- package/video-player/index.js +1 -1
- package/visually-hidden/index.cjs +5 -0
- package/visually-hidden/index.js +3 -0
- package/vivid.api.json +744 -1490
- package/lib/checkbox/checkbox.form-associated.d.ts +0 -11
- package/lib/file-picker/file-picker.form-associated.d.ts +0 -11
- package/lib/number-field/number-field.form-associated.d.ts +0 -11
- package/lib/radio/radio.form-associated.d.ts +0 -13
- package/lib/range-slider/range-slider.form-associated.d.ts +0 -11
- package/lib/searchable-select/searchable-select.form-associated.d.ts +0 -11
- package/lib/select/select.form-associated.d.ts +0 -11
- package/lib/slider/slider.form-associated.d.ts +0 -11
- package/lib/switch/switch.form-associated.d.ts +0 -11
- package/lib/text-anchor/definition.d.ts +0 -2
- package/lib/text-anchor/text-anchor.template.d.ts +0 -3
- package/lib/text-area/text-area.form-associated.d.ts +0 -11
- package/lib/text-field/text-field.form-associated.d.ts +0 -11
- package/shared/anchor.cjs +0 -49
- package/shared/anchor.js +0 -47
- package/shared/apply-mixins.cjs +0 -23
- package/shared/apply-mixins.js +0 -21
- package/shared/applyMixinsWithObservables.cjs +0 -15
- package/shared/applyMixinsWithObservables.js +0 -13
- package/shared/direction.cjs +0 -17
- package/shared/direction.js +0 -15
- package/shared/form-elements.cjs +0 -209
- package/shared/form-elements.js +0 -202
- package/shared/foundation/anchor/anchor.d.ts +0 -11
- package/shared/foundation/utilities/apply-mixins.d.ts +0 -1
- package/shared/patterns/form-elements/form-elements.d.ts +0 -58
- package/shared/picker-field/picker-field.form-associated.d.ts +0 -11
- package/shared/text-anchor.cjs +0 -38
- package/shared/text-anchor.js +0 -36
- package/shared/text-anchor.template.cjs +0 -35
- package/shared/text-anchor.template.js +0 -33
- package/shared/utils/applyMixinsWithObservables.d.ts +0 -1
- package/text-anchor/index.cjs +0 -17
- package/text-anchor/index.js +0 -15
|
@@ -3,24 +3,28 @@
|
|
|
3
3
|
const vividElement = require('./vivid-element.cjs');
|
|
4
4
|
const keyCodes = require('./key-codes.cjs');
|
|
5
5
|
|
|
6
|
+
var __defProp = Object.defineProperty;
|
|
7
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
8
|
+
var result = void 0 ;
|
|
9
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
10
|
+
if (decorator = decorators[i])
|
|
11
|
+
result = (decorator(target, key, result) ) || result;
|
|
12
|
+
if (result) __defProp(target, key, result);
|
|
13
|
+
return result;
|
|
14
|
+
};
|
|
6
15
|
const proxySlotName = "form-associated-proxy";
|
|
7
16
|
const ElementInternalsKey = "ElementInternals";
|
|
8
17
|
const supportsElementInternals = ElementInternalsKey in window && "setFormValue" in window[ElementInternalsKey].prototype;
|
|
9
18
|
const InternalsMap = /* @__PURE__ */ new WeakMap();
|
|
10
|
-
|
|
11
|
-
|
|
19
|
+
const FormAssociated = (Base) => {
|
|
20
|
+
class FormAssociatedElement extends Base {
|
|
12
21
|
constructor(...args) {
|
|
13
22
|
super(...args);
|
|
14
23
|
/**
|
|
15
24
|
* Track whether the value has been changed from the initial value
|
|
25
|
+
* @internal
|
|
16
26
|
*/
|
|
17
27
|
this.dirtyValue = false;
|
|
18
|
-
/**
|
|
19
|
-
* Sets the element's disabled state. A disabled element will not be included during form submission.
|
|
20
|
-
*
|
|
21
|
-
* @remarks
|
|
22
|
-
* HTML Attribute: disabled
|
|
23
|
-
*/
|
|
24
28
|
this.disabled = false;
|
|
25
29
|
/**
|
|
26
30
|
* These are events that are still fired by the proxy
|
|
@@ -28,8 +32,12 @@ function FormAssociated(BaseCtor) {
|
|
|
28
32
|
*
|
|
29
33
|
* The proxy implementation should be transparent to
|
|
30
34
|
* the app author, so block these events from emitting.
|
|
35
|
+
* @internal
|
|
31
36
|
*/
|
|
32
37
|
this.proxyEventsToBlock = ["change", "click"];
|
|
38
|
+
/**
|
|
39
|
+
* @internal
|
|
40
|
+
*/
|
|
33
41
|
this.proxyInitialized = false;
|
|
34
42
|
this.required = false;
|
|
35
43
|
this.initialValue = this.initialValue || "";
|
|
@@ -48,8 +56,6 @@ function FormAssociated(BaseCtor) {
|
|
|
48
56
|
}
|
|
49
57
|
/**
|
|
50
58
|
* Returns the validity state of the element
|
|
51
|
-
*
|
|
52
|
-
* @alpha
|
|
53
59
|
*/
|
|
54
60
|
get validity() {
|
|
55
61
|
return this.elementInternals ? this.elementInternals.validity : this.proxy.validity;
|
|
@@ -57,8 +63,6 @@ function FormAssociated(BaseCtor) {
|
|
|
57
63
|
/**
|
|
58
64
|
* Retrieve a reference to the associated form.
|
|
59
65
|
* Returns null if not associated to any form.
|
|
60
|
-
*
|
|
61
|
-
* @alpha
|
|
62
66
|
*/
|
|
63
67
|
get form() {
|
|
64
68
|
return this.elementInternals ? this.elementInternals.form : this.proxy.form;
|
|
@@ -66,8 +70,6 @@ function FormAssociated(BaseCtor) {
|
|
|
66
70
|
/**
|
|
67
71
|
* Retrieve the localized validation message,
|
|
68
72
|
* or custom validation message if set.
|
|
69
|
-
*
|
|
70
|
-
* @alpha
|
|
71
73
|
*/
|
|
72
74
|
get validationMessage() {
|
|
73
75
|
return this.elementInternals ? this.elementInternals.validationMessage : this.proxy.validationMessage;
|
|
@@ -96,32 +98,27 @@ function FormAssociated(BaseCtor) {
|
|
|
96
98
|
}
|
|
97
99
|
}
|
|
98
100
|
/**
|
|
99
|
-
*
|
|
100
|
-
*
|
|
101
|
-
* @remarks
|
|
102
|
-
* If elements extending `FormAssociated` implement a `valueChanged` method
|
|
103
|
-
* They must be sure to invoke `super.valueChanged(previous, next)` to ensure
|
|
104
|
-
* proper functioning of `FormAssociated`
|
|
101
|
+
* @internal
|
|
105
102
|
*/
|
|
106
103
|
valueChanged(_previous, _next) {
|
|
107
104
|
this.dirtyValue = true;
|
|
108
105
|
if (this.proxy instanceof HTMLElement) {
|
|
109
106
|
this.proxy.value = this.value;
|
|
110
107
|
}
|
|
111
|
-
this.currentValue = this.value;
|
|
112
108
|
this.setFormValue(this.value);
|
|
113
109
|
this.validate();
|
|
114
110
|
}
|
|
115
|
-
|
|
116
|
-
|
|
111
|
+
/**
|
|
112
|
+
* @deprecated Use `value` instead.
|
|
113
|
+
*/
|
|
114
|
+
get currentValue() {
|
|
115
|
+
return this.value;
|
|
116
|
+
}
|
|
117
|
+
set currentValue(value) {
|
|
118
|
+
this.value = value;
|
|
117
119
|
}
|
|
118
120
|
/**
|
|
119
|
-
*
|
|
120
|
-
*
|
|
121
|
-
* @remarks
|
|
122
|
-
* If elements extending `FormAssociated` implement a `initialValueChanged` method
|
|
123
|
-
* They must be sure to invoke `super.initialValueChanged(previous, next)` to ensure
|
|
124
|
-
* proper functioning of `FormAssociated`
|
|
121
|
+
* @internal
|
|
125
122
|
*/
|
|
126
123
|
initialValueChanged(_previous, _next) {
|
|
127
124
|
if (!this.dirtyValue) {
|
|
@@ -130,12 +127,7 @@ function FormAssociated(BaseCtor) {
|
|
|
130
127
|
}
|
|
131
128
|
}
|
|
132
129
|
/**
|
|
133
|
-
*
|
|
134
|
-
*
|
|
135
|
-
* @remarks
|
|
136
|
-
* If elements extending `FormAssociated` implement a `disabledChanged` method
|
|
137
|
-
* They must be sure to invoke `super.disabledChanged(previous, next)` to ensure
|
|
138
|
-
* proper functioning of `FormAssociated`
|
|
130
|
+
* @internal
|
|
139
131
|
*/
|
|
140
132
|
disabledChanged(_previous, _next) {
|
|
141
133
|
if (this.proxy instanceof HTMLElement) {
|
|
@@ -144,12 +136,7 @@ function FormAssociated(BaseCtor) {
|
|
|
144
136
|
vividElement.DOM.queueUpdate(() => this.classList.toggle("disabled", this.disabled));
|
|
145
137
|
}
|
|
146
138
|
/**
|
|
147
|
-
*
|
|
148
|
-
*
|
|
149
|
-
* @remarks
|
|
150
|
-
* If elements extending `FormAssociated` implement a `nameChanged` method
|
|
151
|
-
* They must be sure to invoke `super.nameChanged(previous, next)` to ensure
|
|
152
|
-
* proper functioning of `FormAssociated`
|
|
139
|
+
* @internal
|
|
153
140
|
*/
|
|
154
141
|
nameChanged(_previous, _next) {
|
|
155
142
|
if (this.proxy instanceof HTMLElement) {
|
|
@@ -157,12 +144,7 @@ function FormAssociated(BaseCtor) {
|
|
|
157
144
|
}
|
|
158
145
|
}
|
|
159
146
|
/**
|
|
160
|
-
*
|
|
161
|
-
*
|
|
162
|
-
* @remarks
|
|
163
|
-
* If elements extending `FormAssociated` implement a `requiredChanged` method
|
|
164
|
-
* They must be sure to invoke `super.requiredChanged(previous, next)` to ensure
|
|
165
|
-
* proper functioning of `FormAssociated`
|
|
147
|
+
* @internal
|
|
166
148
|
*/
|
|
167
149
|
requiredChanged(_previous, _next) {
|
|
168
150
|
if (this.proxy instanceof HTMLElement) {
|
|
@@ -174,6 +156,7 @@ function FormAssociated(BaseCtor) {
|
|
|
174
156
|
/**
|
|
175
157
|
* The element internals object. Will only exist
|
|
176
158
|
* in browsers supporting the attachInternals API
|
|
159
|
+
* @internal
|
|
177
160
|
*/
|
|
178
161
|
get elementInternals() {
|
|
179
162
|
if (!supportsElementInternals) {
|
|
@@ -236,6 +219,7 @@ function FormAssociated(BaseCtor) {
|
|
|
236
219
|
* @param flags - Validity flags
|
|
237
220
|
* @param message - Optional message to supply
|
|
238
221
|
* @param anchor - Optional element used by UA to display an interactive validation UI
|
|
222
|
+
* @internal
|
|
239
223
|
*/
|
|
240
224
|
setValidity(flags, message, anchor) {
|
|
241
225
|
if (this.elementInternals) {
|
|
@@ -248,16 +232,21 @@ function FormAssociated(BaseCtor) {
|
|
|
248
232
|
* Invoked when a connected component's form or fieldset has its disabled
|
|
249
233
|
* state changed.
|
|
250
234
|
* @param disabled - the disabled value of the form / fieldset
|
|
235
|
+
* @internal
|
|
251
236
|
*/
|
|
252
237
|
formDisabledCallback(disabled) {
|
|
253
238
|
this.disabled = disabled;
|
|
254
239
|
}
|
|
240
|
+
/**
|
|
241
|
+
* @internal
|
|
242
|
+
*/
|
|
255
243
|
formResetCallback() {
|
|
256
244
|
this.value = this.initialValue;
|
|
257
245
|
this.dirtyValue = false;
|
|
258
246
|
}
|
|
259
247
|
/**
|
|
260
248
|
* Attach the proxy element to the DOM
|
|
249
|
+
* @internal
|
|
261
250
|
*/
|
|
262
251
|
attachProxy() {
|
|
263
252
|
if (!this.proxyInitialized) {
|
|
@@ -283,12 +272,19 @@ function FormAssociated(BaseCtor) {
|
|
|
283
272
|
}
|
|
284
273
|
/**
|
|
285
274
|
* Detach the proxy element from the DOM
|
|
275
|
+
* @internal
|
|
286
276
|
*/
|
|
287
277
|
detachProxy() {
|
|
288
278
|
this.removeChild(this.proxy);
|
|
289
279
|
this.shadowRoot.removeChild(this.proxySlot);
|
|
290
280
|
}
|
|
291
|
-
/**
|
|
281
|
+
/**
|
|
282
|
+
* Sets the validity of the custom element. By default this uses the proxy element to determine
|
|
283
|
+
* validity, but this can be extended or replaced in implementation.
|
|
284
|
+
*
|
|
285
|
+
* @param anchor - The anchor element to provide to ElementInternals.setValidity for surfacing the browser's constraint validation UI
|
|
286
|
+
* @internal
|
|
287
|
+
*/
|
|
292
288
|
validate(anchor) {
|
|
293
289
|
if (this.proxy instanceof HTMLElement && this.elementInternals) {
|
|
294
290
|
const isValid = this.proxy.validity.valid;
|
|
@@ -309,12 +305,16 @@ function FormAssociated(BaseCtor) {
|
|
|
309
305
|
* Associates the provided value (and optional state) with the parent form.
|
|
310
306
|
* @param value - The value to set
|
|
311
307
|
* @param state - The state object provided to during session restores and when autofilling.
|
|
308
|
+
* @internal
|
|
312
309
|
*/
|
|
313
310
|
setFormValue(value, state) {
|
|
314
311
|
if (this.elementInternals) {
|
|
315
312
|
this.elementInternals.setFormValue(value, state || value);
|
|
316
313
|
}
|
|
317
314
|
}
|
|
315
|
+
/**
|
|
316
|
+
* @internal
|
|
317
|
+
*/
|
|
318
318
|
_keypressHandler(e) {
|
|
319
319
|
switch (e.key) {
|
|
320
320
|
case keyCodes.keyEnter:
|
|
@@ -330,53 +330,52 @@ function FormAssociated(BaseCtor) {
|
|
|
330
330
|
/**
|
|
331
331
|
* Used to stop propagation of proxy element events
|
|
332
332
|
* @param e - Event object
|
|
333
|
+
* @internal
|
|
333
334
|
*/
|
|
334
335
|
stopPropagation(e) {
|
|
335
336
|
e.stopPropagation();
|
|
336
337
|
}
|
|
337
|
-
};
|
|
338
|
-
vividElement.attr({ mode: "boolean" })(C.prototype, "disabled");
|
|
339
|
-
vividElement.attr({ mode: "fromView", attribute: "value" })(C.prototype, "initialValue");
|
|
340
|
-
vividElement.attr({ attribute: "current-value" })(C.prototype, "currentValue");
|
|
341
|
-
vividElement.attr(C.prototype, "name");
|
|
342
|
-
vividElement.attr({ mode: "boolean" })(C.prototype, "required");
|
|
343
|
-
vividElement.observable(C.prototype, "value");
|
|
344
|
-
return C;
|
|
345
|
-
}
|
|
346
|
-
function CheckableFormAssociated(BaseCtor) {
|
|
347
|
-
class C extends FormAssociated(BaseCtor) {
|
|
348
338
|
}
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
339
|
+
__decorateClass([
|
|
340
|
+
vividElement.attr({ attribute: "current-value" })
|
|
341
|
+
], FormAssociatedElement.prototype, "value");
|
|
342
|
+
__decorateClass([
|
|
343
|
+
vividElement.attr({ mode: "fromView", attribute: "value" })
|
|
344
|
+
], FormAssociatedElement.prototype, "initialValue");
|
|
345
|
+
__decorateClass([
|
|
346
|
+
vividElement.attr({ mode: "boolean" })
|
|
347
|
+
], FormAssociatedElement.prototype, "disabled");
|
|
348
|
+
__decorateClass([
|
|
349
|
+
vividElement.attr
|
|
350
|
+
], FormAssociatedElement.prototype, "name");
|
|
351
|
+
__decorateClass([
|
|
352
|
+
vividElement.attr({ mode: "boolean" })
|
|
353
|
+
], FormAssociatedElement.prototype, "required");
|
|
354
|
+
return FormAssociatedElement;
|
|
355
|
+
};
|
|
356
|
+
const currentCheckedConverter = {
|
|
357
|
+
fromView(value) {
|
|
358
|
+
if (typeof value === "string") {
|
|
359
|
+
return value.toLowerCase() === "true";
|
|
360
|
+
}
|
|
361
|
+
return !!value;
|
|
362
|
+
},
|
|
363
|
+
toView(value) {
|
|
364
|
+
return value ? "true" : "false";
|
|
365
|
+
}
|
|
366
|
+
};
|
|
367
|
+
const CheckableFormAssociated = (Base) => {
|
|
368
|
+
class CheckableFormAssociatedElement extends FormAssociated(Base) {
|
|
369
|
+
constructor() {
|
|
370
|
+
super(...arguments);
|
|
352
371
|
/**
|
|
353
372
|
* Tracks whether the "checked" property has been changed.
|
|
354
373
|
* This is necessary to provide consistent behavior with
|
|
355
374
|
* normal input checkboxes
|
|
375
|
+
* @internal
|
|
356
376
|
*/
|
|
357
377
|
this.dirtyChecked = false;
|
|
358
|
-
|
|
359
|
-
* Provides the default checkedness of the input element
|
|
360
|
-
* Passed down to proxy
|
|
361
|
-
*
|
|
362
|
-
* @public
|
|
363
|
-
* @remarks
|
|
364
|
-
* HTML Attribute: checked
|
|
365
|
-
*/
|
|
366
|
-
this.checkedAttribute = false;
|
|
367
|
-
/**
|
|
368
|
-
* The checked state of the control.
|
|
369
|
-
*
|
|
370
|
-
* @public
|
|
371
|
-
*/
|
|
372
|
-
this.checked = false;
|
|
373
|
-
this.dirtyChecked = false;
|
|
374
|
-
}
|
|
375
|
-
/**
|
|
376
|
-
* @internal
|
|
377
|
-
*/
|
|
378
|
-
checkedAttributeChanged() {
|
|
379
|
-
this.defaultChecked = this.checkedAttribute;
|
|
378
|
+
this.defaultChecked = false;
|
|
380
379
|
}
|
|
381
380
|
/**
|
|
382
381
|
* @internal
|
|
@@ -387,11 +386,13 @@ function CheckableFormAssociated(BaseCtor) {
|
|
|
387
386
|
this.dirtyChecked = false;
|
|
388
387
|
}
|
|
389
388
|
}
|
|
389
|
+
/**
|
|
390
|
+
* @internal
|
|
391
|
+
*/
|
|
390
392
|
checkedChanged(prev, _next) {
|
|
391
393
|
if (!this.dirtyChecked) {
|
|
392
394
|
this.dirtyChecked = true;
|
|
393
395
|
}
|
|
394
|
-
this.currentChecked = this.checked;
|
|
395
396
|
this.updateForm();
|
|
396
397
|
if (this.proxy instanceof HTMLInputElement) {
|
|
397
398
|
this.proxy.checked = this.checked;
|
|
@@ -401,35 +402,58 @@ function CheckableFormAssociated(BaseCtor) {
|
|
|
401
402
|
}
|
|
402
403
|
this.validate();
|
|
403
404
|
}
|
|
404
|
-
|
|
405
|
-
|
|
405
|
+
/**
|
|
406
|
+
* @deprecated Use `defaultChecked` instead.
|
|
407
|
+
*/
|
|
408
|
+
get checkedAttribute() {
|
|
409
|
+
return this.defaultChecked;
|
|
406
410
|
}
|
|
411
|
+
set checkedAttribute(value) {
|
|
412
|
+
this.defaultChecked = value;
|
|
413
|
+
}
|
|
414
|
+
/**
|
|
415
|
+
* @deprecated Use `checked` instead.
|
|
416
|
+
*/
|
|
417
|
+
get currentChecked() {
|
|
418
|
+
return this.checked;
|
|
419
|
+
}
|
|
420
|
+
set currentChecked(value) {
|
|
421
|
+
this.checked = value;
|
|
422
|
+
}
|
|
423
|
+
/**
|
|
424
|
+
* @internal
|
|
425
|
+
*/
|
|
407
426
|
updateForm() {
|
|
408
427
|
const value = this.checked ? this.value : null;
|
|
409
428
|
this.setFormValue(value, value);
|
|
410
429
|
}
|
|
430
|
+
/**
|
|
431
|
+
* @internal
|
|
432
|
+
*/
|
|
411
433
|
connectedCallback() {
|
|
412
434
|
super.connectedCallback();
|
|
413
435
|
this.updateForm();
|
|
414
436
|
}
|
|
437
|
+
/**
|
|
438
|
+
* @internal
|
|
439
|
+
*/
|
|
415
440
|
formResetCallback() {
|
|
416
441
|
super.formResetCallback();
|
|
417
|
-
this.checked = !!this.
|
|
442
|
+
this.checked = !!this.defaultChecked;
|
|
418
443
|
this.dirtyChecked = false;
|
|
419
444
|
}
|
|
420
445
|
}
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
}
|
|
446
|
+
__decorateClass([
|
|
447
|
+
vividElement.attr({
|
|
448
|
+
attribute: "checked",
|
|
449
|
+
mode: "boolean"
|
|
450
|
+
})
|
|
451
|
+
], CheckableFormAssociatedElement.prototype, "defaultChecked");
|
|
452
|
+
__decorateClass([
|
|
453
|
+
vividElement.attr({ attribute: "current-checked", converter: currentCheckedConverter })
|
|
454
|
+
], CheckableFormAssociatedElement.prototype, "checked");
|
|
455
|
+
return CheckableFormAssociatedElement;
|
|
456
|
+
};
|
|
433
457
|
|
|
434
458
|
exports.CheckableFormAssociated = CheckableFormAssociated;
|
|
435
459
|
exports.FormAssociated = FormAssociated;
|