@vonage/vivid 4.23.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 +21830 -14295
- 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 +1510 -32
- package/lib/file-picker/locale.d.ts +1 -0
- 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 +10 -0
- package/lib/rich-text-editor/menubar/menubar.d.ts +340 -1
- package/lib/rich-text-editor/rich-text-editor.d.ts +352 -2
- package/lib/searchable-select/locale.d.ts +1 -0
- package/lib/searchable-select/option-tag.d.ts +6 -0
- package/lib/searchable-select/searchable-select.d.ts +1857 -35
- 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/tabs/tabs.d.ts +5 -21
- 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 +47 -1
- package/locales/de-DE.js +47 -1
- package/locales/en-GB.cjs +47 -1
- package/locales/en-GB.js +47 -1
- package/locales/en-US.cjs +47 -1
- package/locales/en-US.js +47 -1
- package/locales/ja-JP.cjs +47 -1
- package/locales/ja-JP.js +47 -1
- package/locales/zh-CN.cjs +47 -1
- package/locales/zh-CN.js +47 -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 +19 -14
- package/shared/button.js +19 -14
- 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.cjs +1 -1
- package/shared/definition12.js +2 -2
- 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 +12 -5
- package/shared/definition17.js +12 -5
- 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 +12 -6
- package/shared/definition22.js +13 -7
- 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 +160 -163
- package/shared/definition26.js +159 -163
- 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 +557 -14317
- package/shared/definition43.js +556 -14316
- package/shared/definition44.cjs +14418 -1085
- package/shared/definition44.js +14416 -1085
- package/shared/definition45.cjs +1049 -671
- package/shared/definition45.js +1050 -672
- 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 -490
- package/shared/definition53.js +77 -488
- 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 +16 -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 +762 -1478
- 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
|
@@ -1,24 +1,28 @@
|
|
|
1
|
-
import { a as attr,
|
|
1
|
+
import { a as attr, e as emptyArray, D as DOM } from './vivid-element.js';
|
|
2
2
|
import { k as keyEnter } from './key-codes.js';
|
|
3
3
|
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
6
|
+
var result = void 0 ;
|
|
7
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
8
|
+
if (decorator = decorators[i])
|
|
9
|
+
result = (decorator(target, key, result) ) || result;
|
|
10
|
+
if (result) __defProp(target, key, result);
|
|
11
|
+
return result;
|
|
12
|
+
};
|
|
4
13
|
const proxySlotName = "form-associated-proxy";
|
|
5
14
|
const ElementInternalsKey = "ElementInternals";
|
|
6
15
|
const supportsElementInternals = ElementInternalsKey in window && "setFormValue" in window[ElementInternalsKey].prototype;
|
|
7
16
|
const InternalsMap = /* @__PURE__ */ new WeakMap();
|
|
8
|
-
|
|
9
|
-
|
|
17
|
+
const FormAssociated = (Base) => {
|
|
18
|
+
class FormAssociatedElement extends Base {
|
|
10
19
|
constructor(...args) {
|
|
11
20
|
super(...args);
|
|
12
21
|
/**
|
|
13
22
|
* Track whether the value has been changed from the initial value
|
|
23
|
+
* @internal
|
|
14
24
|
*/
|
|
15
25
|
this.dirtyValue = false;
|
|
16
|
-
/**
|
|
17
|
-
* Sets the element's disabled state. A disabled element will not be included during form submission.
|
|
18
|
-
*
|
|
19
|
-
* @remarks
|
|
20
|
-
* HTML Attribute: disabled
|
|
21
|
-
*/
|
|
22
26
|
this.disabled = false;
|
|
23
27
|
/**
|
|
24
28
|
* These are events that are still fired by the proxy
|
|
@@ -26,8 +30,12 @@ function FormAssociated(BaseCtor) {
|
|
|
26
30
|
*
|
|
27
31
|
* The proxy implementation should be transparent to
|
|
28
32
|
* the app author, so block these events from emitting.
|
|
33
|
+
* @internal
|
|
29
34
|
*/
|
|
30
35
|
this.proxyEventsToBlock = ["change", "click"];
|
|
36
|
+
/**
|
|
37
|
+
* @internal
|
|
38
|
+
*/
|
|
31
39
|
this.proxyInitialized = false;
|
|
32
40
|
this.required = false;
|
|
33
41
|
this.initialValue = this.initialValue || "";
|
|
@@ -46,8 +54,6 @@ function FormAssociated(BaseCtor) {
|
|
|
46
54
|
}
|
|
47
55
|
/**
|
|
48
56
|
* Returns the validity state of the element
|
|
49
|
-
*
|
|
50
|
-
* @alpha
|
|
51
57
|
*/
|
|
52
58
|
get validity() {
|
|
53
59
|
return this.elementInternals ? this.elementInternals.validity : this.proxy.validity;
|
|
@@ -55,8 +61,6 @@ function FormAssociated(BaseCtor) {
|
|
|
55
61
|
/**
|
|
56
62
|
* Retrieve a reference to the associated form.
|
|
57
63
|
* Returns null if not associated to any form.
|
|
58
|
-
*
|
|
59
|
-
* @alpha
|
|
60
64
|
*/
|
|
61
65
|
get form() {
|
|
62
66
|
return this.elementInternals ? this.elementInternals.form : this.proxy.form;
|
|
@@ -64,8 +68,6 @@ function FormAssociated(BaseCtor) {
|
|
|
64
68
|
/**
|
|
65
69
|
* Retrieve the localized validation message,
|
|
66
70
|
* or custom validation message if set.
|
|
67
|
-
*
|
|
68
|
-
* @alpha
|
|
69
71
|
*/
|
|
70
72
|
get validationMessage() {
|
|
71
73
|
return this.elementInternals ? this.elementInternals.validationMessage : this.proxy.validationMessage;
|
|
@@ -94,32 +96,27 @@ function FormAssociated(BaseCtor) {
|
|
|
94
96
|
}
|
|
95
97
|
}
|
|
96
98
|
/**
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
* @remarks
|
|
100
|
-
* If elements extending `FormAssociated` implement a `valueChanged` method
|
|
101
|
-
* They must be sure to invoke `super.valueChanged(previous, next)` to ensure
|
|
102
|
-
* proper functioning of `FormAssociated`
|
|
99
|
+
* @internal
|
|
103
100
|
*/
|
|
104
101
|
valueChanged(_previous, _next) {
|
|
105
102
|
this.dirtyValue = true;
|
|
106
103
|
if (this.proxy instanceof HTMLElement) {
|
|
107
104
|
this.proxy.value = this.value;
|
|
108
105
|
}
|
|
109
|
-
this.currentValue = this.value;
|
|
110
106
|
this.setFormValue(this.value);
|
|
111
107
|
this.validate();
|
|
112
108
|
}
|
|
113
|
-
|
|
114
|
-
|
|
109
|
+
/**
|
|
110
|
+
* @deprecated Use `value` instead.
|
|
111
|
+
*/
|
|
112
|
+
get currentValue() {
|
|
113
|
+
return this.value;
|
|
114
|
+
}
|
|
115
|
+
set currentValue(value) {
|
|
116
|
+
this.value = value;
|
|
115
117
|
}
|
|
116
118
|
/**
|
|
117
|
-
*
|
|
118
|
-
*
|
|
119
|
-
* @remarks
|
|
120
|
-
* If elements extending `FormAssociated` implement a `initialValueChanged` method
|
|
121
|
-
* They must be sure to invoke `super.initialValueChanged(previous, next)` to ensure
|
|
122
|
-
* proper functioning of `FormAssociated`
|
|
119
|
+
* @internal
|
|
123
120
|
*/
|
|
124
121
|
initialValueChanged(_previous, _next) {
|
|
125
122
|
if (!this.dirtyValue) {
|
|
@@ -128,12 +125,7 @@ function FormAssociated(BaseCtor) {
|
|
|
128
125
|
}
|
|
129
126
|
}
|
|
130
127
|
/**
|
|
131
|
-
*
|
|
132
|
-
*
|
|
133
|
-
* @remarks
|
|
134
|
-
* If elements extending `FormAssociated` implement a `disabledChanged` method
|
|
135
|
-
* They must be sure to invoke `super.disabledChanged(previous, next)` to ensure
|
|
136
|
-
* proper functioning of `FormAssociated`
|
|
128
|
+
* @internal
|
|
137
129
|
*/
|
|
138
130
|
disabledChanged(_previous, _next) {
|
|
139
131
|
if (this.proxy instanceof HTMLElement) {
|
|
@@ -142,12 +134,7 @@ function FormAssociated(BaseCtor) {
|
|
|
142
134
|
DOM.queueUpdate(() => this.classList.toggle("disabled", this.disabled));
|
|
143
135
|
}
|
|
144
136
|
/**
|
|
145
|
-
*
|
|
146
|
-
*
|
|
147
|
-
* @remarks
|
|
148
|
-
* If elements extending `FormAssociated` implement a `nameChanged` method
|
|
149
|
-
* They must be sure to invoke `super.nameChanged(previous, next)` to ensure
|
|
150
|
-
* proper functioning of `FormAssociated`
|
|
137
|
+
* @internal
|
|
151
138
|
*/
|
|
152
139
|
nameChanged(_previous, _next) {
|
|
153
140
|
if (this.proxy instanceof HTMLElement) {
|
|
@@ -155,12 +142,7 @@ function FormAssociated(BaseCtor) {
|
|
|
155
142
|
}
|
|
156
143
|
}
|
|
157
144
|
/**
|
|
158
|
-
*
|
|
159
|
-
*
|
|
160
|
-
* @remarks
|
|
161
|
-
* If elements extending `FormAssociated` implement a `requiredChanged` method
|
|
162
|
-
* They must be sure to invoke `super.requiredChanged(previous, next)` to ensure
|
|
163
|
-
* proper functioning of `FormAssociated`
|
|
145
|
+
* @internal
|
|
164
146
|
*/
|
|
165
147
|
requiredChanged(_previous, _next) {
|
|
166
148
|
if (this.proxy instanceof HTMLElement) {
|
|
@@ -172,6 +154,7 @@ function FormAssociated(BaseCtor) {
|
|
|
172
154
|
/**
|
|
173
155
|
* The element internals object. Will only exist
|
|
174
156
|
* in browsers supporting the attachInternals API
|
|
157
|
+
* @internal
|
|
175
158
|
*/
|
|
176
159
|
get elementInternals() {
|
|
177
160
|
if (!supportsElementInternals) {
|
|
@@ -234,6 +217,7 @@ function FormAssociated(BaseCtor) {
|
|
|
234
217
|
* @param flags - Validity flags
|
|
235
218
|
* @param message - Optional message to supply
|
|
236
219
|
* @param anchor - Optional element used by UA to display an interactive validation UI
|
|
220
|
+
* @internal
|
|
237
221
|
*/
|
|
238
222
|
setValidity(flags, message, anchor) {
|
|
239
223
|
if (this.elementInternals) {
|
|
@@ -246,16 +230,21 @@ function FormAssociated(BaseCtor) {
|
|
|
246
230
|
* Invoked when a connected component's form or fieldset has its disabled
|
|
247
231
|
* state changed.
|
|
248
232
|
* @param disabled - the disabled value of the form / fieldset
|
|
233
|
+
* @internal
|
|
249
234
|
*/
|
|
250
235
|
formDisabledCallback(disabled) {
|
|
251
236
|
this.disabled = disabled;
|
|
252
237
|
}
|
|
238
|
+
/**
|
|
239
|
+
* @internal
|
|
240
|
+
*/
|
|
253
241
|
formResetCallback() {
|
|
254
242
|
this.value = this.initialValue;
|
|
255
243
|
this.dirtyValue = false;
|
|
256
244
|
}
|
|
257
245
|
/**
|
|
258
246
|
* Attach the proxy element to the DOM
|
|
247
|
+
* @internal
|
|
259
248
|
*/
|
|
260
249
|
attachProxy() {
|
|
261
250
|
if (!this.proxyInitialized) {
|
|
@@ -281,12 +270,19 @@ function FormAssociated(BaseCtor) {
|
|
|
281
270
|
}
|
|
282
271
|
/**
|
|
283
272
|
* Detach the proxy element from the DOM
|
|
273
|
+
* @internal
|
|
284
274
|
*/
|
|
285
275
|
detachProxy() {
|
|
286
276
|
this.removeChild(this.proxy);
|
|
287
277
|
this.shadowRoot.removeChild(this.proxySlot);
|
|
288
278
|
}
|
|
289
|
-
/**
|
|
279
|
+
/**
|
|
280
|
+
* Sets the validity of the custom element. By default this uses the proxy element to determine
|
|
281
|
+
* validity, but this can be extended or replaced in implementation.
|
|
282
|
+
*
|
|
283
|
+
* @param anchor - The anchor element to provide to ElementInternals.setValidity for surfacing the browser's constraint validation UI
|
|
284
|
+
* @internal
|
|
285
|
+
*/
|
|
290
286
|
validate(anchor) {
|
|
291
287
|
if (this.proxy instanceof HTMLElement && this.elementInternals) {
|
|
292
288
|
const isValid = this.proxy.validity.valid;
|
|
@@ -307,12 +303,16 @@ function FormAssociated(BaseCtor) {
|
|
|
307
303
|
* Associates the provided value (and optional state) with the parent form.
|
|
308
304
|
* @param value - The value to set
|
|
309
305
|
* @param state - The state object provided to during session restores and when autofilling.
|
|
306
|
+
* @internal
|
|
310
307
|
*/
|
|
311
308
|
setFormValue(value, state) {
|
|
312
309
|
if (this.elementInternals) {
|
|
313
310
|
this.elementInternals.setFormValue(value, state || value);
|
|
314
311
|
}
|
|
315
312
|
}
|
|
313
|
+
/**
|
|
314
|
+
* @internal
|
|
315
|
+
*/
|
|
316
316
|
_keypressHandler(e) {
|
|
317
317
|
switch (e.key) {
|
|
318
318
|
case keyEnter:
|
|
@@ -328,53 +328,52 @@ function FormAssociated(BaseCtor) {
|
|
|
328
328
|
/**
|
|
329
329
|
* Used to stop propagation of proxy element events
|
|
330
330
|
* @param e - Event object
|
|
331
|
+
* @internal
|
|
331
332
|
*/
|
|
332
333
|
stopPropagation(e) {
|
|
333
334
|
e.stopPropagation();
|
|
334
335
|
}
|
|
335
|
-
};
|
|
336
|
-
attr({ mode: "boolean" })(C.prototype, "disabled");
|
|
337
|
-
attr({ mode: "fromView", attribute: "value" })(C.prototype, "initialValue");
|
|
338
|
-
attr({ attribute: "current-value" })(C.prototype, "currentValue");
|
|
339
|
-
attr(C.prototype, "name");
|
|
340
|
-
attr({ mode: "boolean" })(C.prototype, "required");
|
|
341
|
-
observable(C.prototype, "value");
|
|
342
|
-
return C;
|
|
343
|
-
}
|
|
344
|
-
function CheckableFormAssociated(BaseCtor) {
|
|
345
|
-
class C extends FormAssociated(BaseCtor) {
|
|
346
336
|
}
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
337
|
+
__decorateClass([
|
|
338
|
+
attr({ attribute: "current-value" })
|
|
339
|
+
], FormAssociatedElement.prototype, "value");
|
|
340
|
+
__decorateClass([
|
|
341
|
+
attr({ mode: "fromView", attribute: "value" })
|
|
342
|
+
], FormAssociatedElement.prototype, "initialValue");
|
|
343
|
+
__decorateClass([
|
|
344
|
+
attr({ mode: "boolean" })
|
|
345
|
+
], FormAssociatedElement.prototype, "disabled");
|
|
346
|
+
__decorateClass([
|
|
347
|
+
attr
|
|
348
|
+
], FormAssociatedElement.prototype, "name");
|
|
349
|
+
__decorateClass([
|
|
350
|
+
attr({ mode: "boolean" })
|
|
351
|
+
], FormAssociatedElement.prototype, "required");
|
|
352
|
+
return FormAssociatedElement;
|
|
353
|
+
};
|
|
354
|
+
const currentCheckedConverter = {
|
|
355
|
+
fromView(value) {
|
|
356
|
+
if (typeof value === "string") {
|
|
357
|
+
return value.toLowerCase() === "true";
|
|
358
|
+
}
|
|
359
|
+
return !!value;
|
|
360
|
+
},
|
|
361
|
+
toView(value) {
|
|
362
|
+
return value ? "true" : "false";
|
|
363
|
+
}
|
|
364
|
+
};
|
|
365
|
+
const CheckableFormAssociated = (Base) => {
|
|
366
|
+
class CheckableFormAssociatedElement extends FormAssociated(Base) {
|
|
367
|
+
constructor() {
|
|
368
|
+
super(...arguments);
|
|
350
369
|
/**
|
|
351
370
|
* Tracks whether the "checked" property has been changed.
|
|
352
371
|
* This is necessary to provide consistent behavior with
|
|
353
372
|
* normal input checkboxes
|
|
373
|
+
* @internal
|
|
354
374
|
*/
|
|
355
375
|
this.dirtyChecked = false;
|
|
356
|
-
|
|
357
|
-
* Provides the default checkedness of the input element
|
|
358
|
-
* Passed down to proxy
|
|
359
|
-
*
|
|
360
|
-
* @public
|
|
361
|
-
* @remarks
|
|
362
|
-
* HTML Attribute: checked
|
|
363
|
-
*/
|
|
364
|
-
this.checkedAttribute = false;
|
|
365
|
-
/**
|
|
366
|
-
* The checked state of the control.
|
|
367
|
-
*
|
|
368
|
-
* @public
|
|
369
|
-
*/
|
|
370
|
-
this.checked = false;
|
|
371
|
-
this.dirtyChecked = false;
|
|
372
|
-
}
|
|
373
|
-
/**
|
|
374
|
-
* @internal
|
|
375
|
-
*/
|
|
376
|
-
checkedAttributeChanged() {
|
|
377
|
-
this.defaultChecked = this.checkedAttribute;
|
|
376
|
+
this.defaultChecked = false;
|
|
378
377
|
}
|
|
379
378
|
/**
|
|
380
379
|
* @internal
|
|
@@ -385,11 +384,13 @@ function CheckableFormAssociated(BaseCtor) {
|
|
|
385
384
|
this.dirtyChecked = false;
|
|
386
385
|
}
|
|
387
386
|
}
|
|
387
|
+
/**
|
|
388
|
+
* @internal
|
|
389
|
+
*/
|
|
388
390
|
checkedChanged(prev, _next) {
|
|
389
391
|
if (!this.dirtyChecked) {
|
|
390
392
|
this.dirtyChecked = true;
|
|
391
393
|
}
|
|
392
|
-
this.currentChecked = this.checked;
|
|
393
394
|
this.updateForm();
|
|
394
395
|
if (this.proxy instanceof HTMLInputElement) {
|
|
395
396
|
this.proxy.checked = this.checked;
|
|
@@ -399,34 +400,57 @@ function CheckableFormAssociated(BaseCtor) {
|
|
|
399
400
|
}
|
|
400
401
|
this.validate();
|
|
401
402
|
}
|
|
402
|
-
|
|
403
|
-
|
|
403
|
+
/**
|
|
404
|
+
* @deprecated Use `defaultChecked` instead.
|
|
405
|
+
*/
|
|
406
|
+
get checkedAttribute() {
|
|
407
|
+
return this.defaultChecked;
|
|
404
408
|
}
|
|
409
|
+
set checkedAttribute(value) {
|
|
410
|
+
this.defaultChecked = value;
|
|
411
|
+
}
|
|
412
|
+
/**
|
|
413
|
+
* @deprecated Use `checked` instead.
|
|
414
|
+
*/
|
|
415
|
+
get currentChecked() {
|
|
416
|
+
return this.checked;
|
|
417
|
+
}
|
|
418
|
+
set currentChecked(value) {
|
|
419
|
+
this.checked = value;
|
|
420
|
+
}
|
|
421
|
+
/**
|
|
422
|
+
* @internal
|
|
423
|
+
*/
|
|
405
424
|
updateForm() {
|
|
406
425
|
const value = this.checked ? this.value : null;
|
|
407
426
|
this.setFormValue(value, value);
|
|
408
427
|
}
|
|
428
|
+
/**
|
|
429
|
+
* @internal
|
|
430
|
+
*/
|
|
409
431
|
connectedCallback() {
|
|
410
432
|
super.connectedCallback();
|
|
411
433
|
this.updateForm();
|
|
412
434
|
}
|
|
435
|
+
/**
|
|
436
|
+
* @internal
|
|
437
|
+
*/
|
|
413
438
|
formResetCallback() {
|
|
414
439
|
super.formResetCallback();
|
|
415
|
-
this.checked = !!this.
|
|
440
|
+
this.checked = !!this.defaultChecked;
|
|
416
441
|
this.dirtyChecked = false;
|
|
417
442
|
}
|
|
418
443
|
}
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
}
|
|
444
|
+
__decorateClass([
|
|
445
|
+
attr({
|
|
446
|
+
attribute: "checked",
|
|
447
|
+
mode: "boolean"
|
|
448
|
+
})
|
|
449
|
+
], CheckableFormAssociatedElement.prototype, "defaultChecked");
|
|
450
|
+
__decorateClass([
|
|
451
|
+
attr({ attribute: "current-checked", converter: currentCheckedConverter })
|
|
452
|
+
], CheckableFormAssociatedElement.prototype, "checked");
|
|
453
|
+
return CheckableFormAssociatedElement;
|
|
454
|
+
};
|
|
431
455
|
|
|
432
456
|
export { CheckableFormAssociated as C, FormAssociated as F };
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const vividElement = require('./vivid-element.cjs');
|
|
4
|
+
|
|
5
|
+
var __defProp = Object.defineProperty;
|
|
6
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
7
|
+
var result = void 0 ;
|
|
8
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
9
|
+
if (decorator = decorators[i])
|
|
10
|
+
result = (decorator(target, key, result) ) || result;
|
|
11
|
+
if (result) __defProp(target, key, result);
|
|
12
|
+
return result;
|
|
13
|
+
};
|
|
14
|
+
const FormElement = (Base) => {
|
|
15
|
+
class FormElementElement extends Base {
|
|
16
|
+
constructor(...args) {
|
|
17
|
+
super(...args);
|
|
18
|
+
this.errorValidationMessage = "";
|
|
19
|
+
/**
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
this.forceErrorDisplay = false;
|
|
23
|
+
/**
|
|
24
|
+
* @internal
|
|
25
|
+
*/
|
|
26
|
+
this.hasBeenTouched = false;
|
|
27
|
+
this.#handleInvalidEvent = () => {
|
|
28
|
+
this.forceErrorDisplay = true;
|
|
29
|
+
this.validate();
|
|
30
|
+
};
|
|
31
|
+
this.addEventListener("blur", () => {
|
|
32
|
+
this.hasBeenTouched = true;
|
|
33
|
+
this.forceErrorDisplay = false;
|
|
34
|
+
this.validate();
|
|
35
|
+
});
|
|
36
|
+
this.addEventListener("focus", () => {
|
|
37
|
+
this.hasBeenTouched = false;
|
|
38
|
+
});
|
|
39
|
+
this.addEventListener("invalid", () => {
|
|
40
|
+
this.proxy.dispatchEvent(new Event("invalid"));
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* @internal
|
|
45
|
+
*/
|
|
46
|
+
connectedCallback() {
|
|
47
|
+
super.connectedCallback();
|
|
48
|
+
this.proxy.addEventListener("invalid", this.#handleInvalidEvent);
|
|
49
|
+
}
|
|
50
|
+
#handleInvalidEvent;
|
|
51
|
+
/**
|
|
52
|
+
* @internal
|
|
53
|
+
*/
|
|
54
|
+
disconnectedCallback() {
|
|
55
|
+
super.disconnectedCallback();
|
|
56
|
+
this.proxy.removeEventListener("invalid", this.#handleInvalidEvent);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* @internal
|
|
60
|
+
*/
|
|
61
|
+
formResetCallback() {
|
|
62
|
+
this.forceErrorDisplay = false;
|
|
63
|
+
super.formResetCallback();
|
|
64
|
+
this.validate();
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* @internal
|
|
68
|
+
*/
|
|
69
|
+
validate() {
|
|
70
|
+
super.validate();
|
|
71
|
+
const shouldShowValidationError = this.forceErrorDisplay || this.hasBeenTouched && this.dirtyValue;
|
|
72
|
+
this.errorValidationMessage = shouldShowValidationError ? this.validationMessage : "";
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
__decorateClass([
|
|
76
|
+
vividElement.attr
|
|
77
|
+
], FormElementElement.prototype, "label");
|
|
78
|
+
__decorateClass([
|
|
79
|
+
vividElement.observable
|
|
80
|
+
], FormElementElement.prototype, "errorValidationMessage");
|
|
81
|
+
return FormElementElement;
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
exports.FormElement = FormElement;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { a as attr, o as observable } from './vivid-element.js';
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
5
|
+
var result = void 0 ;
|
|
6
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
7
|
+
if (decorator = decorators[i])
|
|
8
|
+
result = (decorator(target, key, result) ) || result;
|
|
9
|
+
if (result) __defProp(target, key, result);
|
|
10
|
+
return result;
|
|
11
|
+
};
|
|
12
|
+
const FormElement = (Base) => {
|
|
13
|
+
class FormElementElement extends Base {
|
|
14
|
+
constructor(...args) {
|
|
15
|
+
super(...args);
|
|
16
|
+
this.errorValidationMessage = "";
|
|
17
|
+
/**
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
this.forceErrorDisplay = false;
|
|
21
|
+
/**
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
this.hasBeenTouched = false;
|
|
25
|
+
this.#handleInvalidEvent = () => {
|
|
26
|
+
this.forceErrorDisplay = true;
|
|
27
|
+
this.validate();
|
|
28
|
+
};
|
|
29
|
+
this.addEventListener("blur", () => {
|
|
30
|
+
this.hasBeenTouched = true;
|
|
31
|
+
this.forceErrorDisplay = false;
|
|
32
|
+
this.validate();
|
|
33
|
+
});
|
|
34
|
+
this.addEventListener("focus", () => {
|
|
35
|
+
this.hasBeenTouched = false;
|
|
36
|
+
});
|
|
37
|
+
this.addEventListener("invalid", () => {
|
|
38
|
+
this.proxy.dispatchEvent(new Event("invalid"));
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* @internal
|
|
43
|
+
*/
|
|
44
|
+
connectedCallback() {
|
|
45
|
+
super.connectedCallback();
|
|
46
|
+
this.proxy.addEventListener("invalid", this.#handleInvalidEvent);
|
|
47
|
+
}
|
|
48
|
+
#handleInvalidEvent;
|
|
49
|
+
/**
|
|
50
|
+
* @internal
|
|
51
|
+
*/
|
|
52
|
+
disconnectedCallback() {
|
|
53
|
+
super.disconnectedCallback();
|
|
54
|
+
this.proxy.removeEventListener("invalid", this.#handleInvalidEvent);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* @internal
|
|
58
|
+
*/
|
|
59
|
+
formResetCallback() {
|
|
60
|
+
this.forceErrorDisplay = false;
|
|
61
|
+
super.formResetCallback();
|
|
62
|
+
this.validate();
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* @internal
|
|
66
|
+
*/
|
|
67
|
+
validate() {
|
|
68
|
+
super.validate();
|
|
69
|
+
const shouldShowValidationError = this.forceErrorDisplay || this.hasBeenTouched && this.dirtyValue;
|
|
70
|
+
this.errorValidationMessage = shouldShowValidationError ? this.validationMessage : "";
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
__decorateClass([
|
|
74
|
+
attr
|
|
75
|
+
], FormElementElement.prototype, "label");
|
|
76
|
+
__decorateClass([
|
|
77
|
+
observable
|
|
78
|
+
], FormElementElement.prototype, "errorValidationMessage");
|
|
79
|
+
return FormElementElement;
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
export { FormElement as F };
|