@vonage/vivid 4.24.0 → 4.26.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 +23176 -14463
- 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 +7 -1
- package/lib/action-group/action-group.d.ts +7 -1
- package/lib/alert/alert.d.ts +22 -2
- package/lib/audio-player/audio-player.d.ts +7 -1
- package/lib/badge/badge.d.ts +10 -2
- package/lib/banner/banner.d.ts +28 -3
- package/lib/breadcrumb/breadcrumb.d.ts +7 -1
- package/lib/breadcrumb-item/breadcrumb-item.d.ts +64 -8
- package/lib/button/button.d.ts +733 -8
- package/lib/button/locale.d.ts +3 -0
- package/lib/calendar/calendar.d.ts +2 -0
- package/lib/calendar-event/calendar-event.d.ts +7 -1
- package/lib/card/card.d.ts +394 -2
- package/lib/card/card.template.d.ts +2 -1
- package/lib/checkbox/checkbox.d.ts +1830 -13
- package/lib/combobox/combobox.d.ts +1827 -20
- package/lib/data-grid/data-grid-cell.d.ts +342 -2
- package/lib/data-grid/data-grid-row.d.ts +1 -0
- package/lib/data-grid/data-grid.d.ts +1 -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 +9 -1
- package/lib/dialog/dialog.d.ts +15 -2
- package/lib/divider/divider.d.ts +7 -1
- package/lib/fab/fab.d.ts +7 -1
- package/lib/file-picker/file-picker.d.ts +1509 -31
- package/lib/header/header.d.ts +7 -1
- package/lib/icon/icon.d.ts +1 -0
- package/lib/icon/icon.template.d.ts +2 -1
- package/lib/menu/menu.d.ts +17 -8
- package/lib/menu/name.d.ts +1 -0
- package/lib/menu-item/menu-item.d.ts +16 -4
- package/lib/nav/nav.d.ts +7 -1
- package/lib/nav-disclosure/nav-disclosure.d.ts +15 -2
- package/lib/nav-item/nav-item.d.ts +406 -4
- package/lib/note/note.d.ts +7 -1
- package/lib/number-field/locale.d.ts +3 -2
- package/lib/number-field/number-field.d.ts +1859 -38
- package/lib/option/option.d.ts +14 -2
- package/lib/pagination/locale.d.ts +5 -0
- package/lib/pagination/pagination.d.ts +341 -2
- package/lib/popup/popup.d.ts +1 -0
- package/lib/progress/progress.d.ts +7 -1
- package/lib/progress-ring/progress-ring.d.ts +7 -1
- package/lib/radio/radio.d.ts +1137 -4
- package/lib/radio-group/radio-group.d.ts +21 -3
- package/lib/range-slider/range-slider.d.ts +765 -18
- 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 +7 -1
- package/lib/rich-text-editor/rich-text-editor.d.ts +352 -2
- package/lib/searchable-select/option-tag.d.ts +7 -1
- package/lib/searchable-select/searchable-select.d.ts +1859 -38
- package/lib/select/select.d.ts +1844 -29
- package/lib/selectable-box/selectable-box.d.ts +7 -1
- package/lib/slider/slider.d.ts +386 -4
- package/lib/split-button/split-button.d.ts +21 -3
- package/lib/switch/switch.d.ts +387 -4
- package/lib/tab/tab.d.ts +21 -4
- package/lib/tab-panel/tab-panel.d.ts +7 -1
- package/lib/tag/tag.d.ts +14 -2
- package/lib/tag-group/tag-group.d.ts +7 -1
- package/lib/text-area/text-area.d.ts +2174 -19
- package/lib/text-field/text-field.d.ts +2197 -33
- 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 +14 -2
- package/lib/tree-view/tree-view.d.ts +7 -1
- package/lib/video-player/video-player.d.ts +7 -1
- 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 +54 -4
- package/locales/de-DE.js +54 -4
- package/locales/en-GB.cjs +54 -4
- package/locales/en-GB.js +54 -4
- package/locales/en-US.cjs +54 -4
- package/locales/en-US.js +54 -4
- package/locales/ja-JP.cjs +54 -4
- package/locales/ja-JP.js +54 -4
- package/locales/zh-CN.cjs +54 -4
- package/locales/zh-CN.js +54 -4
- 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 +7 -1
- package/shared/aria/host-semantics.d.ts +7 -1
- 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.cjs +19 -3
- package/shared/definition.js +20 -4
- 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.cjs +25 -0
- package/shared/definition13.js +26 -1
- package/shared/definition14.cjs +53 -22
- package/shared/definition14.js +54 -23
- package/shared/definition15.cjs +32 -37
- package/shared/definition15.js +31 -37
- package/shared/definition16.cjs +44 -64
- package/shared/definition16.js +43 -64
- package/shared/definition17.cjs +608 -524
- package/shared/definition17.js +604 -520
- 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 +24 -5
- package/shared/definition21.js +25 -6
- 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 +157 -171
- package/shared/definition26.js +156 -171
- package/shared/definition27.cjs +1 -1
- package/shared/definition27.js +2 -2
- package/shared/definition28.cjs +33 -18
- package/shared/definition28.js +34 -19
- package/shared/definition29.js +1 -1
- package/shared/definition3.cjs +1 -1
- package/shared/definition3.js +2 -2
- 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 +415 -54
- package/shared/definition36.js +415 -55
- package/shared/definition37.cjs +57 -234
- package/shared/definition37.js +57 -233
- package/shared/definition38.cjs +228 -66
- package/shared/definition38.js +227 -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 +2203 -0
- package/shared/definition67.js +2198 -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} +64 -41
- 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 +379 -3
- 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 +16 -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 +309 -0
- package/shared/mixins.js +303 -0
- package/shared/patterns/affix.d.ts +18 -3
- 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 +7 -1
- package/shared/patterns/trapped-focus.d.ts +7 -1
- 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 +7 -1
- 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 +1492 -16
- package/shared/picker-field.template.cjs +26 -35
- package/shared/picker-field.template.js +27 -36
- 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 +63 -4
- package/shared/vivid-element.js +63 -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 +845 -1503
- 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,13 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
const index = require('./index.cjs');
|
|
4
|
-
const
|
|
4
|
+
const mixins = require('./mixins.cjs');
|
|
5
5
|
const formAssociated = require('./form-associated.cjs');
|
|
6
6
|
const vividElement = require('./vivid-element.cjs');
|
|
7
|
-
const
|
|
7
|
+
const withErrorText = require('./with-error-text.cjs');
|
|
8
|
+
const formElement = require('./form-element.cjs');
|
|
8
9
|
const localized = require('./localized.cjs');
|
|
9
|
-
const definition = require('./
|
|
10
|
-
const definition$1 = require('./
|
|
10
|
+
const definition = require('./definition67.cjs');
|
|
11
|
+
const definition$1 = require('./definition58.cjs');
|
|
11
12
|
const definition$2 = require('./definition11.cjs');
|
|
12
13
|
const ref = require('./ref.cjs');
|
|
13
14
|
const slotted = require('./slotted.cjs');
|
|
@@ -48,15 +49,6 @@ const TrappedFocus = (Base) => {
|
|
|
48
49
|
|
|
49
50
|
const pickerFieldStyles = ":host{display:inline-block}.base{display:inline-block;inline-size:100%}.control{inline-size:100%}.dialog{display:inline-flex;flex-direction:column}.dialog--padded{padding:12px;gap:12px}.dialog .footer{display:flex;align-items:center;justify-content:flex-end;padding:8px;gap:8px}.dialog .footer--with-separator{border-top:1px solid var(--vvd-color-neutral-200)}";
|
|
50
51
|
|
|
51
|
-
class _PickerField extends vividElement.VividElement {
|
|
52
|
-
}
|
|
53
|
-
class FormAssociatedPickerField extends formAssociated.FormAssociated(_PickerField) {
|
|
54
|
-
constructor() {
|
|
55
|
-
super(...arguments);
|
|
56
|
-
this.proxy = document.createElement("input");
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
52
|
var __defProp = Object.defineProperty;
|
|
61
53
|
var __decorateClass = (decorators, target, key, kind) => {
|
|
62
54
|
var result = void 0 ;
|
|
@@ -66,8 +58,10 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
66
58
|
if (result) __defProp(target, key, result);
|
|
67
59
|
return result;
|
|
68
60
|
};
|
|
69
|
-
class PickerField extends
|
|
70
|
-
|
|
61
|
+
class PickerField extends mixins.WithFeedback(
|
|
62
|
+
withErrorText.WithErrorText(
|
|
63
|
+
formElement.FormElement(TrappedFocus(localized.Localized(formAssociated.FormAssociated(vividElement.VividElement))))
|
|
64
|
+
)
|
|
71
65
|
) {
|
|
72
66
|
// --- Core ---
|
|
73
67
|
constructor() {
|
|
@@ -79,6 +73,10 @@ class PickerField extends TrappedFocus(
|
|
|
79
73
|
this.#onFocusOut = () => {
|
|
80
74
|
this.$emit("blur", void 0, { bubbles: false });
|
|
81
75
|
};
|
|
76
|
+
/**
|
|
77
|
+
* @internal
|
|
78
|
+
*/
|
|
79
|
+
this.proxy = document.createElement("input");
|
|
82
80
|
// Reformat the presentation value when the locale changes
|
|
83
81
|
this.#localeChangeHandler = {
|
|
84
82
|
handleChange: () => {
|
|
@@ -215,16 +213,9 @@ class PickerField extends TrappedFocus(
|
|
|
215
213
|
* @internal
|
|
216
214
|
*/
|
|
217
215
|
_onClearClick() {
|
|
218
|
-
this._closePopup();
|
|
219
216
|
this.$emit("clear-click");
|
|
220
217
|
}
|
|
221
218
|
}
|
|
222
|
-
__decorateClass([
|
|
223
|
-
vividElement.attr({ attribute: "value" })
|
|
224
|
-
], PickerField.prototype, "initialValue");
|
|
225
|
-
__decorateClass([
|
|
226
|
-
vividElement.attr({ attribute: "current-value" })
|
|
227
|
-
], PickerField.prototype, "currentValue");
|
|
228
219
|
__decorateClass([
|
|
229
220
|
vividElement.attr({ attribute: "readonly", mode: "boolean" })
|
|
230
221
|
], PickerField.prototype, "readOnly");
|
|
@@ -234,7 +225,6 @@ __decorateClass([
|
|
|
234
225
|
__decorateClass([
|
|
235
226
|
vividElement.observable
|
|
236
227
|
], PickerField.prototype, "_presentationValue");
|
|
237
|
-
applyMixinsWithObservables.applyMixinsWithObservables(PickerField, formElements.FormElementHelperText);
|
|
238
228
|
|
|
239
229
|
const PickerFieldTemplate = (context, popupContentTemplate, { withSeparator, padded }) => {
|
|
240
230
|
const popupTag = context.tagFor(definition.Popup);
|
|
@@ -243,18 +233,18 @@ const PickerFieldTemplate = (context, popupContentTemplate, { withSeparator, pad
|
|
|
243
233
|
return vividElement.html`
|
|
244
234
|
<div class='base' @keydown='${(x, { event }) => x._onBaseKeyDown(event)}'>
|
|
245
235
|
<${textFieldTag} id='text-field'
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
236
|
+
${ref.ref("_textFieldEl")}
|
|
237
|
+
class='control'
|
|
238
|
+
label='${(x) => x.label}'
|
|
239
|
+
helper-text='${(x) => x.helperText}'
|
|
240
|
+
error-text='${(x) => x.errorValidationMessage}'
|
|
241
|
+
placeholder='${(x) => x._textFieldPlaceholder}'
|
|
242
|
+
size='${(x) => x._textFieldSize}'
|
|
243
|
+
current-value='${(x) => x._presentationValue}'
|
|
244
|
+
?disabled='${(x) => x.disabled}'
|
|
245
|
+
?readonly='${(x) => x.readOnly}'
|
|
246
|
+
@input='${(x, c) => x._onTextFieldInput(c.event)}'
|
|
247
|
+
@change='${(x) => x._onTextFieldChange()}'
|
|
258
248
|
>
|
|
259
249
|
<slot
|
|
260
250
|
slot='${(x) => x._helperTextSlottedContent?.length ? "helper-text" : void 0}'
|
|
@@ -276,6 +266,7 @@ const PickerFieldTemplate = (context, popupContentTemplate, { withSeparator, pad
|
|
|
276
266
|
<${popupTag}
|
|
277
267
|
?open='${(x) => x._popupOpen}'
|
|
278
268
|
:anchor='${(x) => x._textFieldEl}'
|
|
269
|
+
offset='${(x) => x._helperTextSlottedContent?.length || x.helperText || x.errorValidationMessage ? 8 : null}'
|
|
279
270
|
placement='bottom-start'
|
|
280
271
|
class='popup'>
|
|
281
272
|
<div class="${() => classNames.classNames("dialog", [
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { h as handleEscapeKeyAndStopPropogation } from './index.js';
|
|
2
|
-
import { a as
|
|
2
|
+
import { a as WithFeedback } from './mixins.js';
|
|
3
3
|
import { F as FormAssociated } from './form-associated.js';
|
|
4
|
-
import { V as VividElement,
|
|
5
|
-
import {
|
|
4
|
+
import { V as VividElement, O as Observable, i as defaultExecutionContext, a as attr, o as observable, h as html } from './vivid-element.js';
|
|
5
|
+
import { W as WithErrorText } from './with-error-text.js';
|
|
6
|
+
import { F as FormElement } from './form-element.js';
|
|
6
7
|
import { L as Localized } from './localized.js';
|
|
7
|
-
import { P as Popup } from './
|
|
8
|
-
import { T as TextField } from './
|
|
8
|
+
import { P as Popup } from './definition67.js';
|
|
9
|
+
import { T as TextField } from './definition58.js';
|
|
9
10
|
import { B as Button } from './definition11.js';
|
|
10
11
|
import { r as ref } from './ref.js';
|
|
11
12
|
import { s as slotted } from './slotted.js';
|
|
@@ -46,15 +47,6 @@ const TrappedFocus = (Base) => {
|
|
|
46
47
|
|
|
47
48
|
const pickerFieldStyles = ":host{display:inline-block}.base{display:inline-block;inline-size:100%}.control{inline-size:100%}.dialog{display:inline-flex;flex-direction:column}.dialog--padded{padding:12px;gap:12px}.dialog .footer{display:flex;align-items:center;justify-content:flex-end;padding:8px;gap:8px}.dialog .footer--with-separator{border-top:1px solid var(--vvd-color-neutral-200)}";
|
|
48
49
|
|
|
49
|
-
class _PickerField extends VividElement {
|
|
50
|
-
}
|
|
51
|
-
class FormAssociatedPickerField extends FormAssociated(_PickerField) {
|
|
52
|
-
constructor() {
|
|
53
|
-
super(...arguments);
|
|
54
|
-
this.proxy = document.createElement("input");
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
|
|
58
50
|
var __defProp = Object.defineProperty;
|
|
59
51
|
var __decorateClass = (decorators, target, key, kind) => {
|
|
60
52
|
var result = void 0 ;
|
|
@@ -64,8 +56,10 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
64
56
|
if (result) __defProp(target, key, result);
|
|
65
57
|
return result;
|
|
66
58
|
};
|
|
67
|
-
class PickerField extends
|
|
68
|
-
|
|
59
|
+
class PickerField extends WithFeedback(
|
|
60
|
+
WithErrorText(
|
|
61
|
+
FormElement(TrappedFocus(Localized(FormAssociated(VividElement))))
|
|
62
|
+
)
|
|
69
63
|
) {
|
|
70
64
|
// --- Core ---
|
|
71
65
|
constructor() {
|
|
@@ -77,6 +71,10 @@ class PickerField extends TrappedFocus(
|
|
|
77
71
|
this.#onFocusOut = () => {
|
|
78
72
|
this.$emit("blur", void 0, { bubbles: false });
|
|
79
73
|
};
|
|
74
|
+
/**
|
|
75
|
+
* @internal
|
|
76
|
+
*/
|
|
77
|
+
this.proxy = document.createElement("input");
|
|
80
78
|
// Reformat the presentation value when the locale changes
|
|
81
79
|
this.#localeChangeHandler = {
|
|
82
80
|
handleChange: () => {
|
|
@@ -213,16 +211,9 @@ class PickerField extends TrappedFocus(
|
|
|
213
211
|
* @internal
|
|
214
212
|
*/
|
|
215
213
|
_onClearClick() {
|
|
216
|
-
this._closePopup();
|
|
217
214
|
this.$emit("clear-click");
|
|
218
215
|
}
|
|
219
216
|
}
|
|
220
|
-
__decorateClass([
|
|
221
|
-
attr({ attribute: "value" })
|
|
222
|
-
], PickerField.prototype, "initialValue");
|
|
223
|
-
__decorateClass([
|
|
224
|
-
attr({ attribute: "current-value" })
|
|
225
|
-
], PickerField.prototype, "currentValue");
|
|
226
217
|
__decorateClass([
|
|
227
218
|
attr({ attribute: "readonly", mode: "boolean" })
|
|
228
219
|
], PickerField.prototype, "readOnly");
|
|
@@ -232,7 +223,6 @@ __decorateClass([
|
|
|
232
223
|
__decorateClass([
|
|
233
224
|
observable
|
|
234
225
|
], PickerField.prototype, "_presentationValue");
|
|
235
|
-
applyMixinsWithObservables(PickerField, FormElementHelperText);
|
|
236
226
|
|
|
237
227
|
const PickerFieldTemplate = (context, popupContentTemplate, { withSeparator, padded }) => {
|
|
238
228
|
const popupTag = context.tagFor(Popup);
|
|
@@ -241,18 +231,18 @@ const PickerFieldTemplate = (context, popupContentTemplate, { withSeparator, pad
|
|
|
241
231
|
return html`
|
|
242
232
|
<div class='base' @keydown='${(x, { event }) => x._onBaseKeyDown(event)}'>
|
|
243
233
|
<${textFieldTag} id='text-field'
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
234
|
+
${ref("_textFieldEl")}
|
|
235
|
+
class='control'
|
|
236
|
+
label='${(x) => x.label}'
|
|
237
|
+
helper-text='${(x) => x.helperText}'
|
|
238
|
+
error-text='${(x) => x.errorValidationMessage}'
|
|
239
|
+
placeholder='${(x) => x._textFieldPlaceholder}'
|
|
240
|
+
size='${(x) => x._textFieldSize}'
|
|
241
|
+
current-value='${(x) => x._presentationValue}'
|
|
242
|
+
?disabled='${(x) => x.disabled}'
|
|
243
|
+
?readonly='${(x) => x.readOnly}'
|
|
244
|
+
@input='${(x, c) => x._onTextFieldInput(c.event)}'
|
|
245
|
+
@change='${(x) => x._onTextFieldChange()}'
|
|
256
246
|
>
|
|
257
247
|
<slot
|
|
258
248
|
slot='${(x) => x._helperTextSlottedContent?.length ? "helper-text" : void 0}'
|
|
@@ -274,6 +264,7 @@ const PickerFieldTemplate = (context, popupContentTemplate, { withSeparator, pad
|
|
|
274
264
|
<${popupTag}
|
|
275
265
|
?open='${(x) => x._popupOpen}'
|
|
276
266
|
:anchor='${(x) => x._textFieldEl}'
|
|
267
|
+
offset='${(x) => x._helperTextSlottedContent?.length || x.helperText || x.errorValidationMessage ? 8 : null}'
|
|
277
268
|
placement='bottom-start'
|
|
278
269
|
class='popup'>
|
|
279
270
|
<div class="${() => classNames("dialog", [
|
package/shared/repeat.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { e as emptyArray, O as Observable, S as SubscriberSet, D as DOM, H as HTMLDirective,
|
|
1
|
+
import { e as emptyArray, O as Observable, S as SubscriberSet, D as DOM, H as HTMLDirective, g as HTMLView } from './vivid-element.js';
|
|
2
2
|
|
|
3
3
|
/** @internal */
|
|
4
4
|
function newSplice(index, removed, addedCount) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
const numbers = require('./numbers.cjs');
|
|
4
|
-
const definition = require('./
|
|
4
|
+
const definition = require('./definition67.cjs');
|
|
5
5
|
const delegatesAria = require('./delegates-aria.cjs');
|
|
6
6
|
const classNames = require('./class-names.cjs');
|
|
7
7
|
const ref = require('./ref.cjs');
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { l as limit } from './numbers.js';
|
|
2
|
-
import { P as Popup, a as PlacementStrategy } from './
|
|
2
|
+
import { P as Popup, a as PlacementStrategy } from './definition67.js';
|
|
3
3
|
import { d as delegateAria } from './delegates-aria.js';
|
|
4
4
|
import { c as classNames } from './class-names.js';
|
|
5
5
|
import { r as ref } from './ref.js';
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
const vividElement = require('./vivid-element.cjs');
|
|
4
4
|
const pickerField_template = require('./picker-field.template.cjs');
|
|
5
5
|
const singleValuePicker = require('./single-value-picker.cjs');
|
|
6
|
-
const formElements = require('./form-elements.cjs');
|
|
7
6
|
const scrollIntoView = require('./scrollIntoView.cjs');
|
|
8
7
|
const when = require('./when.cjs');
|
|
9
8
|
const repeat = require('./repeat.cjs');
|
|
@@ -462,9 +461,9 @@ const parsePresentationTime = (input, use12HourClock) => {
|
|
|
462
461
|
};
|
|
463
462
|
|
|
464
463
|
var __defProp$1 = Object.defineProperty;
|
|
465
|
-
var __getOwnPropDesc
|
|
464
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
466
465
|
var __decorateClass$1 = (decorators, target, key, kind) => {
|
|
467
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc
|
|
466
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
468
467
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
469
468
|
if (decorator = decorators[i])
|
|
470
469
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
@@ -578,13 +577,12 @@ const TimeSelectionPicker = (Base) => {
|
|
|
578
577
|
};
|
|
579
578
|
|
|
580
579
|
var __defProp = Object.defineProperty;
|
|
581
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
582
580
|
var __decorateClass = (decorators, target, key, kind) => {
|
|
583
|
-
var result =
|
|
581
|
+
var result = void 0 ;
|
|
584
582
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
585
583
|
if (decorator = decorators[i])
|
|
586
|
-
result = (
|
|
587
|
-
if (
|
|
584
|
+
result = (decorator(target, key, result) ) || result;
|
|
585
|
+
if (result) __defProp(target, key, result);
|
|
588
586
|
return result;
|
|
589
587
|
};
|
|
590
588
|
const ValidTimeFilter = {
|
|
@@ -598,7 +596,7 @@ const ValidTimeFilter = {
|
|
|
598
596
|
return value;
|
|
599
597
|
}
|
|
600
598
|
};
|
|
601
|
-
|
|
599
|
+
class TimePicker extends TimeSelectionPicker(
|
|
602
600
|
singleValuePicker.SingleValuePicker(pickerField_template.PickerField)
|
|
603
601
|
) {
|
|
604
602
|
// --- Core ---
|
|
@@ -731,17 +729,13 @@ exports.TimePicker = class TimePicker extends TimeSelectionPicker(
|
|
|
731
729
|
}
|
|
732
730
|
return null;
|
|
733
731
|
}
|
|
734
|
-
}
|
|
732
|
+
}
|
|
735
733
|
__decorateClass([
|
|
736
734
|
vividElement.attr({ converter: ValidTimeFilter })
|
|
737
|
-
],
|
|
735
|
+
], TimePicker.prototype, "min");
|
|
738
736
|
__decorateClass([
|
|
739
737
|
vividElement.attr({ converter: ValidTimeFilter })
|
|
740
|
-
],
|
|
741
|
-
exports.TimePicker = __decorateClass([
|
|
742
|
-
formElements.errorText,
|
|
743
|
-
formElements.formElements
|
|
744
|
-
], exports.TimePicker);
|
|
738
|
+
], TimePicker.prototype, "max");
|
|
745
739
|
|
|
746
740
|
const TimeSelectionPickerTemplate = (context, numOptionsVisible) => {
|
|
747
741
|
const inlineTimePickerTag = context.tagFor(InlineTimePicker);
|
|
@@ -764,6 +758,7 @@ const TimeSelectionPickerTemplate = (context, numOptionsVisible) => {
|
|
|
764
758
|
`;
|
|
765
759
|
};
|
|
766
760
|
|
|
761
|
+
exports.TimePicker = TimePicker;
|
|
767
762
|
exports.TimeSelectionPicker = TimeSelectionPicker;
|
|
768
763
|
exports.TimeSelectionPickerTemplate = TimeSelectionPickerTemplate;
|
|
769
764
|
exports.ValidTimeFilter = ValidTimeFilter;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { h as html, V as VividElement, o as observable,
|
|
1
|
+
import { h as html, V as VividElement, o as observable, f as defineVividComponent, a as attr, O as Observable, i as defaultExecutionContext, D as DOM, n as nullableNumberConverter, v as volatile } from './vivid-element.js';
|
|
2
2
|
import { i as ignoreEventInFocusTraps, a as PickerField } from './picker-field.template.js';
|
|
3
3
|
import { S as SingleValuePicker } from './single-value-picker.js';
|
|
4
|
-
import { e as errorText, f as formElements } from './form-elements.js';
|
|
5
4
|
import { s as scrollIntoView } from './scrollIntoView.js';
|
|
6
5
|
import { w as when } from './when.js';
|
|
7
6
|
import { r as repeat } from './repeat.js';
|
|
@@ -460,9 +459,9 @@ const parsePresentationTime = (input, use12HourClock) => {
|
|
|
460
459
|
};
|
|
461
460
|
|
|
462
461
|
var __defProp$1 = Object.defineProperty;
|
|
463
|
-
var __getOwnPropDesc
|
|
462
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
464
463
|
var __decorateClass$1 = (decorators, target, key, kind) => {
|
|
465
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc
|
|
464
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
466
465
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
467
466
|
if (decorator = decorators[i])
|
|
468
467
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
@@ -576,13 +575,12 @@ const TimeSelectionPicker = (Base) => {
|
|
|
576
575
|
};
|
|
577
576
|
|
|
578
577
|
var __defProp = Object.defineProperty;
|
|
579
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
580
578
|
var __decorateClass = (decorators, target, key, kind) => {
|
|
581
|
-
var result =
|
|
579
|
+
var result = void 0 ;
|
|
582
580
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
583
581
|
if (decorator = decorators[i])
|
|
584
|
-
result = (
|
|
585
|
-
if (
|
|
582
|
+
result = (decorator(target, key, result) ) || result;
|
|
583
|
+
if (result) __defProp(target, key, result);
|
|
586
584
|
return result;
|
|
587
585
|
};
|
|
588
586
|
const ValidTimeFilter = {
|
|
@@ -596,7 +594,7 @@ const ValidTimeFilter = {
|
|
|
596
594
|
return value;
|
|
597
595
|
}
|
|
598
596
|
};
|
|
599
|
-
|
|
597
|
+
class TimePicker extends TimeSelectionPicker(
|
|
600
598
|
SingleValuePicker(PickerField)
|
|
601
599
|
) {
|
|
602
600
|
// --- Core ---
|
|
@@ -729,17 +727,13 @@ let TimePicker = class extends TimeSelectionPicker(
|
|
|
729
727
|
}
|
|
730
728
|
return null;
|
|
731
729
|
}
|
|
732
|
-
}
|
|
730
|
+
}
|
|
733
731
|
__decorateClass([
|
|
734
732
|
attr({ converter: ValidTimeFilter })
|
|
735
|
-
], TimePicker.prototype, "min"
|
|
733
|
+
], TimePicker.prototype, "min");
|
|
736
734
|
__decorateClass([
|
|
737
735
|
attr({ converter: ValidTimeFilter })
|
|
738
|
-
], TimePicker.prototype, "max"
|
|
739
|
-
TimePicker = __decorateClass([
|
|
740
|
-
errorText,
|
|
741
|
-
formElements
|
|
742
|
-
], TimePicker);
|
|
736
|
+
], TimePicker.prototype, "max");
|
|
743
737
|
|
|
744
738
|
const TimeSelectionPickerTemplate = (context, numOptionsVisible) => {
|
|
745
739
|
const inlineTimePickerTag = context.tagFor(InlineTimePicker);
|
package/shared/vivid-element.cjs
CHANGED
|
@@ -2541,6 +2541,7 @@ const createRegisterFunction = (definition) => (prefix = "vwc") => {
|
|
|
2541
2541
|
const registerComponent = (componentDefinition) => {
|
|
2542
2542
|
const tag = prefixed(componentDefinition.name);
|
|
2543
2543
|
let type = componentDefinition.type;
|
|
2544
|
+
type.componentName = componentDefinition.name;
|
|
2544
2545
|
if (registeredTags.has(tag)) {
|
|
2545
2546
|
return;
|
|
2546
2547
|
} else if (tagByType.has(type) && tagByType.get(type) !== tag) {
|
|
@@ -2681,14 +2682,72 @@ const AriaMixin = (Base) => {
|
|
|
2681
2682
|
return AriaMixinElement;
|
|
2682
2683
|
};
|
|
2683
2684
|
|
|
2684
|
-
|
|
2685
|
+
const locateReplacedPropMetadata = createMetadataLocator();
|
|
2686
|
+
const replaces = (config) => ($target, $prop) => {
|
|
2687
|
+
locateReplacedPropMetadata($target.constructor).push({
|
|
2688
|
+
newPropertyName: $prop,
|
|
2689
|
+
...config
|
|
2690
|
+
});
|
|
2691
|
+
};
|
|
2692
|
+
const ReplacedPropHandling = (Base) => {
|
|
2693
|
+
class ReplacedPropHandlingElement extends Base {
|
|
2694
|
+
#handleReplacedProp(replacedProp) {
|
|
2695
|
+
let newDirty = false;
|
|
2696
|
+
let deprecatedDirty = false;
|
|
2697
|
+
const changeCouldBeFromDeprecated = (source) => deprecatedDirty && replacedProp.fromDeprecated(
|
|
2698
|
+
source[replacedProp.deprecatedPropertyName]
|
|
2699
|
+
) === source[replacedProp.newPropertyName];
|
|
2700
|
+
const changeCouldBeFromNew = (source) => newDirty && replacedProp.toDeprecated && replacedProp.toDeprecated(source[replacedProp.newPropertyName]) === source[replacedProp.deprecatedPropertyName];
|
|
2701
|
+
const subscriber = {
|
|
2702
|
+
handleChange(source, propertyName) {
|
|
2703
|
+
if (propertyName === replacedProp.newPropertyName) {
|
|
2704
|
+
newDirty = true;
|
|
2705
|
+
if (!replacedProp.toDeprecated || changeCouldBeFromDeprecated(source)) {
|
|
2706
|
+
return;
|
|
2707
|
+
}
|
|
2708
|
+
source[replacedProp.deprecatedPropertyName] = replacedProp.toDeprecated(source[replacedProp.newPropertyName]);
|
|
2709
|
+
}
|
|
2710
|
+
if (propertyName === replacedProp.deprecatedPropertyName) {
|
|
2711
|
+
deprecatedDirty = true;
|
|
2712
|
+
if (changeCouldBeFromNew(source)) {
|
|
2713
|
+
return;
|
|
2714
|
+
}
|
|
2715
|
+
source[replacedProp.newPropertyName] = replacedProp.fromDeprecated(
|
|
2716
|
+
source[replacedProp.deprecatedPropertyName]
|
|
2717
|
+
);
|
|
2718
|
+
}
|
|
2719
|
+
}
|
|
2720
|
+
};
|
|
2721
|
+
const notifier = Observable.getNotifier(this);
|
|
2722
|
+
notifier.subscribe(subscriber, replacedProp.newPropertyName);
|
|
2723
|
+
notifier.subscribe(subscriber, replacedProp.deprecatedPropertyName);
|
|
2724
|
+
}
|
|
2725
|
+
constructor(...args) {
|
|
2726
|
+
super(...args);
|
|
2727
|
+
for (const replacedProp of locateReplacedPropMetadata(this.constructor)) {
|
|
2728
|
+
this.#handleReplacedProp(replacedProp);
|
|
2729
|
+
}
|
|
2730
|
+
}
|
|
2731
|
+
}
|
|
2732
|
+
return ReplacedPropHandlingElement;
|
|
2733
|
+
};
|
|
2734
|
+
|
|
2735
|
+
class VividElement extends AriaMixin(ReplacedPropHandling(FASTElement)) {
|
|
2685
2736
|
static {
|
|
2686
|
-
this.VIVID_VERSION = "4.
|
|
2737
|
+
this.VIVID_VERSION = "4.26.0";
|
|
2738
|
+
}
|
|
2739
|
+
/**
|
|
2740
|
+
* Add data-vvd-component attribute with component name globally,
|
|
2741
|
+
* for referring to the elements in CSS, testing or debugging
|
|
2742
|
+
*/
|
|
2743
|
+
connectedCallback() {
|
|
2744
|
+
super.connectedCallback();
|
|
2745
|
+
const name = this.constructor.componentName;
|
|
2746
|
+
this.setAttribute("data-vvd-component", name);
|
|
2687
2747
|
}
|
|
2688
2748
|
}
|
|
2689
2749
|
|
|
2690
2750
|
exports.AttachedBehaviorHTMLDirective = AttachedBehaviorHTMLDirective;
|
|
2691
|
-
exports.AttributeConfiguration = AttributeConfiguration;
|
|
2692
2751
|
exports.DOM = DOM;
|
|
2693
2752
|
exports.HTMLDirective = HTMLDirective;
|
|
2694
2753
|
exports.HTMLView = HTMLView;
|
|
@@ -2698,7 +2757,6 @@ exports.VividElement = VividElement;
|
|
|
2698
2757
|
exports.ariaAttributeName = ariaAttributeName;
|
|
2699
2758
|
exports.ariaMixinProperties = ariaMixinProperties;
|
|
2700
2759
|
exports.attr = attr;
|
|
2701
|
-
exports.booleanConverter = booleanConverter;
|
|
2702
2760
|
exports.createRegisterFunction = createRegisterFunction;
|
|
2703
2761
|
exports.defaultExecutionContext = defaultExecutionContext;
|
|
2704
2762
|
exports.defineVividComponent = defineVividComponent;
|
|
@@ -2706,6 +2764,7 @@ exports.emptyArray = emptyArray;
|
|
|
2706
2764
|
exports.html = html;
|
|
2707
2765
|
exports.nullableNumberConverter = nullableNumberConverter;
|
|
2708
2766
|
exports.observable = observable;
|
|
2767
|
+
exports.replaces = replaces;
|
|
2709
2768
|
exports.subscribeToAriaPropertyChanges = subscribeToAriaPropertyChanges;
|
|
2710
2769
|
exports.unsubscribeFromAriaPropertyChanges = unsubscribeFromAriaPropertyChanges;
|
|
2711
2770
|
exports.volatile = volatile;
|
package/shared/vivid-element.js
CHANGED
|
@@ -2539,6 +2539,7 @@ const createRegisterFunction = (definition) => (prefix = "vwc") => {
|
|
|
2539
2539
|
const registerComponent = (componentDefinition) => {
|
|
2540
2540
|
const tag = prefixed(componentDefinition.name);
|
|
2541
2541
|
let type = componentDefinition.type;
|
|
2542
|
+
type.componentName = componentDefinition.name;
|
|
2542
2543
|
if (registeredTags.has(tag)) {
|
|
2543
2544
|
return;
|
|
2544
2545
|
} else if (tagByType.has(type) && tagByType.get(type) !== tag) {
|
|
@@ -2679,10 +2680,69 @@ const AriaMixin = (Base) => {
|
|
|
2679
2680
|
return AriaMixinElement;
|
|
2680
2681
|
};
|
|
2681
2682
|
|
|
2682
|
-
|
|
2683
|
+
const locateReplacedPropMetadata = createMetadataLocator();
|
|
2684
|
+
const replaces = (config) => ($target, $prop) => {
|
|
2685
|
+
locateReplacedPropMetadata($target.constructor).push({
|
|
2686
|
+
newPropertyName: $prop,
|
|
2687
|
+
...config
|
|
2688
|
+
});
|
|
2689
|
+
};
|
|
2690
|
+
const ReplacedPropHandling = (Base) => {
|
|
2691
|
+
class ReplacedPropHandlingElement extends Base {
|
|
2692
|
+
#handleReplacedProp(replacedProp) {
|
|
2693
|
+
let newDirty = false;
|
|
2694
|
+
let deprecatedDirty = false;
|
|
2695
|
+
const changeCouldBeFromDeprecated = (source) => deprecatedDirty && replacedProp.fromDeprecated(
|
|
2696
|
+
source[replacedProp.deprecatedPropertyName]
|
|
2697
|
+
) === source[replacedProp.newPropertyName];
|
|
2698
|
+
const changeCouldBeFromNew = (source) => newDirty && replacedProp.toDeprecated && replacedProp.toDeprecated(source[replacedProp.newPropertyName]) === source[replacedProp.deprecatedPropertyName];
|
|
2699
|
+
const subscriber = {
|
|
2700
|
+
handleChange(source, propertyName) {
|
|
2701
|
+
if (propertyName === replacedProp.newPropertyName) {
|
|
2702
|
+
newDirty = true;
|
|
2703
|
+
if (!replacedProp.toDeprecated || changeCouldBeFromDeprecated(source)) {
|
|
2704
|
+
return;
|
|
2705
|
+
}
|
|
2706
|
+
source[replacedProp.deprecatedPropertyName] = replacedProp.toDeprecated(source[replacedProp.newPropertyName]);
|
|
2707
|
+
}
|
|
2708
|
+
if (propertyName === replacedProp.deprecatedPropertyName) {
|
|
2709
|
+
deprecatedDirty = true;
|
|
2710
|
+
if (changeCouldBeFromNew(source)) {
|
|
2711
|
+
return;
|
|
2712
|
+
}
|
|
2713
|
+
source[replacedProp.newPropertyName] = replacedProp.fromDeprecated(
|
|
2714
|
+
source[replacedProp.deprecatedPropertyName]
|
|
2715
|
+
);
|
|
2716
|
+
}
|
|
2717
|
+
}
|
|
2718
|
+
};
|
|
2719
|
+
const notifier = Observable.getNotifier(this);
|
|
2720
|
+
notifier.subscribe(subscriber, replacedProp.newPropertyName);
|
|
2721
|
+
notifier.subscribe(subscriber, replacedProp.deprecatedPropertyName);
|
|
2722
|
+
}
|
|
2723
|
+
constructor(...args) {
|
|
2724
|
+
super(...args);
|
|
2725
|
+
for (const replacedProp of locateReplacedPropMetadata(this.constructor)) {
|
|
2726
|
+
this.#handleReplacedProp(replacedProp);
|
|
2727
|
+
}
|
|
2728
|
+
}
|
|
2729
|
+
}
|
|
2730
|
+
return ReplacedPropHandlingElement;
|
|
2731
|
+
};
|
|
2732
|
+
|
|
2733
|
+
class VividElement extends AriaMixin(ReplacedPropHandling(FASTElement)) {
|
|
2683
2734
|
static {
|
|
2684
|
-
this.VIVID_VERSION = "4.
|
|
2735
|
+
this.VIVID_VERSION = "4.26.0";
|
|
2736
|
+
}
|
|
2737
|
+
/**
|
|
2738
|
+
* Add data-vvd-component attribute with component name globally,
|
|
2739
|
+
* for referring to the elements in CSS, testing or debugging
|
|
2740
|
+
*/
|
|
2741
|
+
connectedCallback() {
|
|
2742
|
+
super.connectedCallback();
|
|
2743
|
+
const name = this.constructor.componentName;
|
|
2744
|
+
this.setAttribute("data-vvd-component", name);
|
|
2685
2745
|
}
|
|
2686
2746
|
}
|
|
2687
2747
|
|
|
2688
|
-
export { AttachedBehaviorHTMLDirective as A, DOM as D, HTMLDirective as H, Observable as O, SubscriberSet as S, VividElement as V, attr as a,
|
|
2748
|
+
export { AttachedBehaviorHTMLDirective as A, DOM as D, HTMLDirective as H, Observable as O, SubscriberSet as S, VividElement as V, attr as a, ariaAttributeName as b, ariaMixinProperties as c, createRegisterFunction as d, emptyArray as e, defineVividComponent as f, HTMLView as g, html as h, defaultExecutionContext as i, nullableNumberConverter as n, observable as o, replaces as r, subscribeToAriaPropertyChanges as s, unsubscribeFromAriaPropertyChanges as u, volatile as v };
|
|
@@ -0,0 +1,56 @@
|
|
|
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 WithErrorText = (Base) => {
|
|
15
|
+
class ElementWithErrorText extends Base {
|
|
16
|
+
/**
|
|
17
|
+
* @internal
|
|
18
|
+
*/
|
|
19
|
+
errorTextChanged(_, newErrorText) {
|
|
20
|
+
if (newErrorText) {
|
|
21
|
+
this.#forceCustomError(newErrorText);
|
|
22
|
+
} else {
|
|
23
|
+
this.#clearCustomErrorAndRevalidate();
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
#blockValidateCalls = false;
|
|
27
|
+
#originalValidateFn;
|
|
28
|
+
constructor(...args) {
|
|
29
|
+
super(...args);
|
|
30
|
+
this.#originalValidateFn = this.validate;
|
|
31
|
+
this.validate = () => {
|
|
32
|
+
if (!this.#blockValidateCalls) this.#originalValidateFn();
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
#forceCustomError(errorMessage) {
|
|
36
|
+
this.setValidity(
|
|
37
|
+
{ customError: true },
|
|
38
|
+
errorMessage,
|
|
39
|
+
this.control
|
|
40
|
+
);
|
|
41
|
+
this.errorValidationMessage = errorMessage;
|
|
42
|
+
this.#blockValidateCalls = true;
|
|
43
|
+
}
|
|
44
|
+
#clearCustomErrorAndRevalidate() {
|
|
45
|
+
this.setValidity({}, "", this.control);
|
|
46
|
+
this.#blockValidateCalls = false;
|
|
47
|
+
this.validate();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
__decorateClass([
|
|
51
|
+
vividElement.attr({ attribute: "error-text" })
|
|
52
|
+
], ElementWithErrorText.prototype, "errorText");
|
|
53
|
+
return ElementWithErrorText;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
exports.WithErrorText = WithErrorText;
|