@vonage/vivid 5.2.0 → 5.4.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/accordion-item/definition.cjs +2 -1
- package/accordion-item/definition.js +3 -2
- package/alert/definition.cjs +1 -1
- package/alert/definition.js +2 -2
- package/alert/index.cjs +1 -1
- package/alert/index.js +1 -1
- package/audio-player/definition.cjs +4 -2
- package/audio-player/definition.js +4 -2
- package/audio-player/index.cjs +5 -3
- package/audio-player/index.js +5 -3
- package/badge/definition.js +1 -1
- package/badge/index.cjs +2 -2
- package/badge/index.js +4 -4
- package/banner/definition.js +1 -1
- package/banner/index.cjs +3 -3
- package/banner/index.js +6 -6
- package/breadcrumb-item/index.cjs +1 -1
- package/breadcrumb-item/index.js +1 -1
- package/bundled/affix.cjs +7 -7
- package/bundled/affix.js +5 -5
- package/bundled/anchored.cjs +1 -1
- package/bundled/anchored.js +6 -6
- package/bundled/attribute-binding-behaviour.cjs +1 -1
- package/bundled/attribute-binding-behaviour.js +15 -13
- package/bundled/base-color-picker.cjs +13 -0
- package/bundled/base-color-picker.js +194 -0
- package/bundled/button.cjs +1 -1
- package/bundled/button.js +2 -2
- package/bundled/calendar-picker.template.cjs +7 -7
- package/bundled/calendar-picker.template.js +118 -118
- package/bundled/char-count.cjs +1 -1
- package/bundled/char-count.js +1 -1
- package/bundled/children.cjs +1 -1
- package/bundled/children.js +28 -20
- package/bundled/definition.cjs +3 -3
- package/bundled/definition.js +38 -38
- package/bundled/definition10.cjs +72 -18
- package/bundled/definition10.js +351 -65
- package/bundled/definition11.cjs +19 -10
- package/bundled/definition11.js +217 -36
- package/bundled/definition12.cjs +10 -1
- package/bundled/definition12.js +38 -14
- package/bundled/definition13.cjs +1 -73
- package/bundled/definition13.js +15 -354
- package/bundled/definition15.cjs +1 -1
- package/bundled/definition15.js +1 -1
- package/bundled/definition16.cjs +2 -2
- package/bundled/definition16.js +8 -8
- package/bundled/definition17.cjs +7 -7
- package/bundled/definition17.js +17 -17
- package/bundled/definition19.cjs +23 -24
- package/bundled/definition19.js +151 -163
- package/bundled/definition2.cjs +9 -5
- package/bundled/definition2.js +21 -17
- package/bundled/definition22.cjs +9 -9
- package/bundled/definition22.js +31 -31
- package/bundled/definition3.cjs +1 -1
- package/bundled/definition3.js +1 -1
- package/bundled/definition6.cjs +3 -3
- package/bundled/definition6.js +28 -28
- package/bundled/definition7.cjs +1 -1
- package/bundled/definition7.js +6 -6
- package/bundled/definition8.cjs +2 -2
- package/bundled/definition8.js +4 -4
- package/bundled/definition9.cjs +5 -5
- package/bundled/definition9.js +394 -392
- package/bundled/delegates-aria.cjs +1 -1
- package/bundled/delegates-aria.js +59 -46
- package/bundled/form-associated.cjs +1 -1
- package/bundled/form-associated.js +3 -3
- package/bundled/host-semantics.cjs +1 -1
- package/bundled/host-semantics.js +48 -34
- package/bundled/listbox.cjs +1 -1
- package/bundled/listbox.js +82 -102
- package/bundled/localized.cjs +1 -1
- package/bundled/localized.js +51 -36
- package/bundled/mixins.cjs +18 -18
- package/bundled/mixins.js +99 -93
- package/bundled/normalize.cjs +1 -0
- package/bundled/normalize.js +7 -0
- package/bundled/picker-field.template.cjs +1 -1
- package/bundled/picker-field.template.js +4 -4
- package/bundled/ref.cjs +1 -1
- package/bundled/ref.js +8 -25
- package/bundled/repeat.cjs +1 -1
- package/bundled/repeat.js +459 -233
- package/bundled/slider.template.cjs +1 -1
- package/bundled/slider.template.js +2 -2
- package/bundled/slotted.cjs +1 -1
- package/bundled/slotted.js +62 -45
- package/bundled/time-selection-picker.template.cjs +1 -1
- package/bundled/time-selection-picker.template.js +5 -5
- package/bundled/vivid-element.cjs +5 -1
- package/bundled/vivid-element.js +2159 -1162
- package/bundled/when.cjs +1 -1
- package/bundled/when.js +8 -7
- package/calendar/definition.cjs +1 -1
- package/calendar/definition.js +2 -2
- package/calendar/index.cjs +1 -1
- package/calendar/index.js +15 -15
- package/calendar-event/index.cjs +1 -1
- package/calendar-event/index.js +1 -1
- package/card/definition.cjs +11 -3
- package/card/definition.js +11 -3
- package/card/index.cjs +19 -11
- package/card/index.js +35 -27
- package/color-picker/definition.cjs +1079 -0
- package/color-picker/definition.js +1073 -0
- package/color-picker/index.cjs +127 -0
- package/color-picker/index.js +726 -0
- package/combobox/definition.cjs +8 -28
- package/combobox/definition.js +10 -30
- package/combobox/index.cjs +7 -7
- package/combobox/index.js +60 -74
- package/contextual-help/index.cjs +1 -1
- package/contextual-help/index.js +1 -1
- package/custom-elements.json +1670 -163
- package/data-grid/definition.cjs +862 -27
- package/data-grid/definition.js +863 -28
- package/data-grid/index.cjs +25 -25
- package/data-grid/index.js +175 -168
- package/date-picker/definition.cjs +1 -1
- package/date-picker/definition.js +1 -1
- package/date-picker/index.cjs +1 -1
- package/date-picker/index.js +2 -2
- package/date-range-picker/definition.cjs +1 -1
- package/date-range-picker/definition.js +1 -1
- package/date-range-picker/index.cjs +1 -1
- package/date-range-picker/index.js +2 -2
- package/date-time-picker/definition.cjs +1 -1
- package/date-time-picker/definition.js +1 -1
- package/date-time-picker/index.cjs +1 -1
- package/date-time-picker/index.js +2 -2
- package/dial-pad/definition.cjs +4 -0
- package/dial-pad/definition.js +4 -0
- package/dial-pad/index.cjs +3 -3
- package/dial-pad/index.js +42 -39
- package/dialog/definition.cjs +6 -3
- package/dialog/definition.js +6 -3
- package/dialog/index.cjs +22 -19
- package/dialog/index.js +48 -45
- package/elevation/definition.cjs +1 -1
- package/elevation/definition.js +1 -1
- package/empty-state/definition.cjs +7 -2
- package/empty-state/definition.js +7 -2
- package/empty-state/index.cjs +10 -5
- package/empty-state/index.js +18 -13
- package/fab/definition.js +1 -1
- package/fab/index.cjs +2 -2
- package/fab/index.js +4 -4
- package/file-picker/definition.cjs +2 -2
- package/file-picker/definition.js +3 -3
- package/file-picker/index.cjs +1 -1
- package/file-picker/index.js +4 -4
- package/header/definition.cjs +1 -1
- package/header/definition.js +1 -1
- package/icon/definition.cjs +10 -6
- package/icon/definition.js +10 -6
- package/index.cjs +7 -4
- package/index.js +3 -3
- package/lib/accordion/accordion.d.ts +1 -1
- package/lib/accordion/definition.d.ts +1 -1
- package/lib/accordion-item/accordion-item.d.ts +2 -2
- package/lib/action-group/action-group.d.ts +2 -2
- package/lib/alert/alert.d.ts +4 -4
- package/lib/audio-player/audio-player.d.ts +3 -3
- package/lib/avatar/avatar.d.ts +2 -2
- package/lib/badge/badge.d.ts +2 -2
- package/lib/banner/banner.d.ts +6 -6
- package/lib/breadcrumb/breadcrumb.d.ts +2 -2
- package/lib/breadcrumb-item/breadcrumb-item.d.ts +2 -2
- package/lib/button/button.d.ts +6 -6
- package/lib/button/button.template.d.ts +2 -1
- package/lib/calendar/calendar.d.ts +1 -1
- package/lib/calendar-event/calendar-event.d.ts +2 -2
- package/lib/card/card.d.ts +2 -2
- package/lib/checkbox/checkbox.d.ts +12 -12
- package/lib/color-picker/color-picker.d.ts +2420 -0
- package/lib/color-picker/color-picker.template.d.ts +3 -0
- package/lib/color-picker/definition.d.ts +4 -0
- package/lib/color-picker/locale.d.ts +9 -0
- package/lib/combobox/combobox.d.ts +15 -14
- package/lib/combobox/combobox.options.d.ts +1 -1
- package/lib/components.d.ts +1 -0
- package/lib/data-grid/data-grid-cell.d.ts +4 -4
- package/lib/data-grid/data-grid-row.d.ts +3 -4
- package/lib/data-grid/data-grid.d.ts +1 -2
- package/lib/date-picker/date-picker.d.ts +54 -54
- package/lib/date-range-picker/date-range-picker.d.ts +28 -28
- package/lib/date-time-picker/date-time-picker.d.ts +56 -56
- package/lib/dial-pad/dial-pad.d.ts +3 -2
- package/lib/dialog/dialog.d.ts +4 -4
- package/lib/divider/divider.d.ts +3 -3
- package/lib/fab/fab.d.ts +2 -2
- package/lib/file-picker/file-picker.d.ts +14 -14
- package/lib/header/header.d.ts +2 -2
- package/lib/menu/menu.d.ts +4 -4
- package/lib/menu-item/menu-item-role.d.ts +1 -1
- package/lib/menu-item/menu-item.d.ts +4 -4
- package/lib/nav/nav.d.ts +2 -2
- package/lib/nav-disclosure/nav-disclosure.d.ts +4 -4
- package/lib/nav-item/nav-item.d.ts +4 -4
- package/lib/note/note.d.ts +2 -2
- package/lib/number-field/number-field.d.ts +18 -18
- package/lib/option/option.d.ts +4 -4
- package/lib/pagination/pagination.d.ts +2 -2
- package/lib/popup/popup.d.ts +1 -1
- package/lib/progress/progress.d.ts +2 -2
- package/lib/progress-ring/progress-ring.d.ts +2 -2
- package/lib/radio/radio.d.ts +6 -6
- package/lib/radio-group/radio-group.d.ts +2 -2
- package/lib/range-slider/range-slider.d.ts +6 -6
- package/lib/rich-text-editor/menubar/menubar.d.ts +2 -2
- package/lib/rich-text-editor/rich-text-editor.d.ts +2 -2
- package/lib/searchable-select/locale.d.ts +4 -0
- package/lib/searchable-select/option-tag.d.ts +2 -2
- package/lib/searchable-select/searchable-select.d.ts +21 -18
- package/lib/select/select.d.ts +19 -17
- package/lib/selectable-box/selectable-box.d.ts +2 -2
- package/lib/simple-color-picker/locale.d.ts +0 -1
- package/lib/simple-color-picker/simple-color-picker.d.ts +47 -821
- package/lib/slider/slider.d.ts +7 -7
- package/lib/split-button/split-button.d.ts +6 -6
- package/lib/switch/switch.d.ts +4 -4
- package/lib/tab/tab.d.ts +6 -6
- package/lib/tab-panel/tab-panel.d.ts +2 -2
- package/lib/tabs/tabs.d.ts +2 -2
- package/lib/tag/tag.d.ts +6 -6
- package/lib/tag-group/tag-group.d.ts +2 -2
- package/lib/tag-name-map.d.ts +2 -1
- package/lib/text-area/text-area.d.ts +17 -17
- package/lib/text-field/text-field.d.ts +19 -19
- package/lib/time-picker/time-picker.d.ts +28 -28
- package/lib/toggletip/toggletip.d.ts +4 -4
- package/lib/tooltip/tooltip.d.ts +2 -2
- package/lib/tree-item/tree-item.d.ts +4 -4
- package/lib/tree-view/tree-view.d.ts +2 -2
- package/lib/video-player/video-player.d.ts +2 -2
- package/locales/de-DE.cjs +17 -2
- package/locales/de-DE.js +17 -2
- package/locales/en-GB.cjs +17 -2
- package/locales/en-GB.js +17 -2
- package/locales/en-US.cjs +17 -2
- package/locales/en-US.js +17 -2
- package/locales/ja-JP.cjs +17 -2
- package/locales/ja-JP.js +17 -2
- package/locales/zh-CN.cjs +17 -2
- package/locales/zh-CN.js +17 -2
- package/menu/definition.cjs +6 -6
- package/menu/definition.js +7 -7
- package/nav-disclosure/definition.js +1 -1
- package/nav-item/definition.js +1 -1
- package/note/definition.js +1 -1
- package/note/index.cjs +2 -2
- package/note/index.js +4 -4
- package/number-field/definition.cjs +1 -1
- package/number-field/definition.js +3 -3
- package/number-field/index.cjs +5 -5
- package/number-field/index.js +21 -21
- package/option/definition.cjs +6 -77
- package/option/definition.js +3 -78
- package/option/index.cjs +1 -1
- package/option/index.js +1 -1
- package/package.json +34 -8
- package/pagination/definition.cjs +2 -1
- package/pagination/definition.js +2 -1
- package/pagination/index.cjs +12 -12
- package/pagination/index.js +59 -59
- package/popup/definition.cjs +2 -2
- package/popup/definition.js +2 -2
- package/progress/index.cjs +1 -1
- package/progress/index.js +1 -1
- package/radio/definition.cjs +9 -9
- package/radio/definition.js +10 -10
- package/radio-group/definition.cjs +2 -1
- package/radio-group/definition.js +2 -1
- package/radio-group/index.cjs +5 -5
- package/radio-group/index.js +80 -77
- package/range-slider/definition.cjs +1 -1
- package/range-slider/definition.js +1 -1
- package/range-slider/index.cjs +1 -1
- package/range-slider/index.js +1 -1
- package/rich-text-editor/definition.cjs +3 -4
- package/rich-text-editor/definition.js +3 -4
- package/rich-text-editor/index.cjs +27 -27
- package/rich-text-editor/index.js +1208 -1198
- package/searchable-select/definition.cjs +106 -14
- package/searchable-select/definition.js +107 -15
- package/searchable-select/index.cjs +81 -69
- package/searchable-select/index.js +362 -276
- package/select/definition.cjs +25 -42
- package/select/definition.js +26 -43
- package/selectable-box/definition.cjs +1 -1
- package/selectable-box/definition.js +1 -1
- package/selectable-box/index.cjs +3 -3
- package/selectable-box/index.js +20 -20
- package/shared/aria/aria-change-subscription.d.ts +0 -1
- package/shared/aria/aria-mixin.d.ts +3 -3
- package/shared/aria/delegate-aria-behavior.d.ts +5 -10
- package/shared/aria/delegates-aria.d.ts +3 -3
- package/shared/aria/host-semantics-behavior.d.ts +5 -8
- package/shared/aria/host-semantics.d.ts +3 -3
- package/shared/color-picker/base-color-picker.d.ts +436 -0
- package/shared/color-picker/index.d.ts +1 -0
- package/shared/color-picker/locale.d.ts +3 -0
- package/shared/color-picker/utils.d.ts +1 -0
- package/shared/deprecation/replaced-props.d.ts +317 -2
- package/shared/design-system/defineVividComponent.d.ts +2 -2
- package/shared/feedback/feedback-message.d.ts +2 -2
- package/shared/feedback/mixins.d.ts +4 -4
- package/shared/foundation/button/button.d.ts +4 -4
- package/shared/foundation/form-associated/form-associated.d.ts +4 -4
- package/shared/foundation/listbox/listbox.d.ts +4 -0
- package/shared/foundation/vivid-element/vivid-element.d.ts +335 -8
- package/shared/localization/Locale.d.ts +4 -0
- package/shared/patterns/affix.d.ts +4 -4
- package/shared/patterns/anchored.d.ts +4 -4
- package/shared/patterns/char-count/char-count.d.ts +2 -2
- package/shared/patterns/form-elements/form-element.d.ts +4 -4
- package/shared/patterns/form-elements/with-contextual-help.d.ts +6 -6
- package/shared/patterns/form-elements/with-error-text.d.ts +6 -6
- package/shared/patterns/form-elements/with-success-text.d.ts +2 -2
- package/shared/patterns/linkable.d.ts +2 -2
- package/shared/patterns/localized.d.ts +2 -2
- package/shared/patterns/trapped-focus.d.ts +2 -2
- package/shared/picker-field/mixins/calendar-picker.d.ts +14 -14
- package/shared/picker-field/mixins/calendar-picker.template.d.ts +14 -14
- package/shared/picker-field/mixins/inline-time-picker/inline-time-picker.d.ts +2 -2
- package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +28 -28
- package/shared/picker-field/mixins/single-date-picker.d.ts +40 -40
- package/shared/picker-field/mixins/single-value-picker.d.ts +12 -12
- package/shared/picker-field/mixins/time-selection-picker.d.ts +29 -29
- package/shared/picker-field/mixins/time-selection-picker.template.d.ts +28 -28
- package/shared/picker-field/picker-field.d.ts +14 -14
- package/shared/templating/attribute-binding-behaviour.d.ts +3 -4
- package/shared/templating/render-in-light-dom.d.ts +13 -12
- package/side-drawer/index.cjs +1 -1
- package/side-drawer/index.js +1 -1
- package/simple-color-picker/definition.cjs +29 -216
- package/simple-color-picker/definition.js +30 -217
- package/simple-color-picker/index.cjs +9 -21
- package/simple-color-picker/index.js +71 -185
- package/slider/definition.cjs +1 -1
- package/slider/definition.js +1 -1
- package/split-button/definition.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 +2 -2
- package/switch/index.js +4 -4
- package/tab/definition.js +1 -1
- package/tabs/definition.cjs +1 -1
- package/tabs/definition.js +2 -2
- package/tabs/index.cjs +2 -2
- package/tabs/index.js +16 -16
- package/tag/definition.js +1 -1
- package/tag/index.cjs +1 -1
- package/tag/index.js +1 -1
- package/text-area/index.cjs +3 -3
- package/text-area/index.js +8 -8
- package/text-field/definition.cjs +2 -2
- package/text-field/definition.js +4 -4
- package/text-field/index.cjs +1 -1
- package/text-field/index.js +1 -1
- package/time-picker/definition.cjs +1 -1
- package/time-picker/definition.js +1 -1
- package/time-picker/index.cjs +1 -1
- package/time-picker/index.js +2 -2
- package/toggletip/definition.cjs +2 -2
- package/toggletip/definition.js +3 -3
- package/tooltip/definition.cjs +1 -1
- package/tooltip/definition.js +1 -1
- package/tree-item/definition.cjs +1 -1
- package/tree-item/definition.js +1 -1
- package/tree-view/definition.cjs +2 -2
- package/tree-view/definition.js +3 -3
- package/tree-view/index.cjs +2 -2
- package/tree-view/index.js +6 -6
- package/unbundled/_commonjsHelpers.cjs +36 -0
- package/unbundled/_commonjsHelpers.js +32 -0
- package/unbundled/affix.cjs +1 -1
- package/unbundled/affix.js +2 -2
- package/unbundled/attribute-binding-behaviour.cjs +11 -10
- package/unbundled/attribute-binding-behaviour.js +11 -10
- package/unbundled/base-color-picker.cjs +278 -0
- package/unbundled/base-color-picker.js +275 -0
- package/unbundled/button.cjs +1 -1
- package/unbundled/button.js +2 -2
- package/unbundled/calendar-picker.template.cjs +4 -4
- package/unbundled/calendar-picker.template.js +5 -5
- package/unbundled/definition.js +1 -1
- package/unbundled/definition2.cjs +1 -1
- package/unbundled/definition2.js +3 -3
- package/unbundled/definition3.cjs +222 -140
- package/unbundled/definition3.js +220 -138
- package/unbundled/definition4.cjs +145 -235
- package/unbundled/definition4.js +143 -233
- package/unbundled/definition5.cjs +269 -27
- package/unbundled/definition5.js +267 -26
- package/unbundled/definition6.cjs +56 -0
- package/unbundled/definition6.js +52 -0
- package/unbundled/delegates-aria.cjs +67 -33
- package/unbundled/delegates-aria.js +69 -35
- package/unbundled/form-associated.cjs +2 -2
- package/unbundled/form-associated.js +3 -3
- package/unbundled/host-semantics.cjs +47 -22
- package/unbundled/host-semantics.js +48 -23
- package/unbundled/listbox.cjs +41 -63
- package/unbundled/listbox.js +39 -61
- package/unbundled/mixins.cjs +34 -27
- package/unbundled/mixins.js +35 -28
- package/unbundled/picker-field.template.cjs +3 -3
- package/unbundled/picker-field.template.js +4 -4
- package/unbundled/slider.template.cjs +1 -1
- package/unbundled/slider.template.js +1 -1
- package/unbundled/time-selection-picker.template.cjs +4 -4
- package/unbundled/time-selection-picker.template.js +5 -5
- package/unbundled/vivid-element.cjs +22 -15
- package/unbundled/vivid-element.js +23 -15
- package/video-player/definition.cjs +69047 -1
- package/video-player/definition.js +69047 -1
- package/video-player/index.cjs +36 -36
- package/video-player/index.js +1895 -1905
- package/visually-hidden/index.cjs +1 -1
- package/visually-hidden/index.js +1 -1
- package/vivid.api.json +719 -224
- package/bundled/option.cjs +0 -1
- package/bundled/option.js +0 -158
- package/unbundled/option.cjs +0 -217
- package/unbundled/option.js +0 -214
package/select/definition.cjs
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
|
|
5
|
-
const popup_definition = require('../unbundled/
|
|
5
|
+
const popup_definition = require('../unbundled/definition5.cjs');
|
|
6
6
|
const icon_definition = require('../icon/definition.cjs');
|
|
7
|
-
const option_definition = require('../
|
|
7
|
+
const option_definition = require('../unbundled/definition3.cjs');
|
|
8
8
|
const vividElement = require('../unbundled/vivid-element.cjs');
|
|
9
9
|
const mixins = require('../unbundled/mixins.cjs');
|
|
10
10
|
const fastElement = require('@microsoft/fast-element');
|
|
@@ -17,7 +17,6 @@ const withErrorText = require('../unbundled/with-error-text.cjs');
|
|
|
17
17
|
const withSuccessText = require('../unbundled/with-success-text.cjs');
|
|
18
18
|
const formElement = require('../unbundled/form-element.cjs');
|
|
19
19
|
const affix = require('../unbundled/affix.cjs');
|
|
20
|
-
const option = require('../unbundled/option.cjs');
|
|
21
20
|
const button_definition = require('../unbundled/definition.cjs');
|
|
22
21
|
const index = require('../unbundled/index.cjs');
|
|
23
22
|
|
|
@@ -66,7 +65,6 @@ class Select extends mixins.WithLightDOMFeedback(
|
|
|
66
65
|
this.listboxId = fastWebUtilities.uniqueId("listbox-");
|
|
67
66
|
this.maxHeight = 0;
|
|
68
67
|
this.fixedDropdown = false;
|
|
69
|
-
this.placeholderOption = null;
|
|
70
68
|
this._feedbackWrapper = null;
|
|
71
69
|
}
|
|
72
70
|
/**
|
|
@@ -325,7 +323,7 @@ class Select extends mixins.WithLightDOMFeedback(
|
|
|
325
323
|
if (this.open) {
|
|
326
324
|
this.focusAndScrollOptionIntoView();
|
|
327
325
|
this.indexWhenOpened = this.selectedIndex;
|
|
328
|
-
fastElement.
|
|
326
|
+
fastElement.Updates.enqueue(() => this.focus());
|
|
329
327
|
return;
|
|
330
328
|
}
|
|
331
329
|
const didClose = prev === true && next === false;
|
|
@@ -341,19 +339,13 @@ class Select extends mixins.WithLightDOMFeedback(
|
|
|
341
339
|
* @internal
|
|
342
340
|
*/
|
|
343
341
|
valueChanged(prev, next) {
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
if (selectedIndex === -1 || prevSelectedValue !== nextSelectedValue) {
|
|
350
|
-
nextValue = "";
|
|
351
|
-
this.selectedIndex = selectedIndex;
|
|
352
|
-
}
|
|
353
|
-
nextValue = this.firstSelectedOption?.value ?? nextValue;
|
|
342
|
+
const nextSelectedIndex = this.options.findIndex((el) => el.value === next);
|
|
343
|
+
const validNextSelectedIndex = this._validSelectedIndex(nextSelectedIndex);
|
|
344
|
+
const nextValue = this.options[validNextSelectedIndex]?.value ?? "";
|
|
345
|
+
if (this.selectedIndex !== validNextSelectedIndex) {
|
|
346
|
+
this.selectedIndex = validNextSelectedIndex;
|
|
354
347
|
}
|
|
355
348
|
if (next !== nextValue) {
|
|
356
|
-
this.value = nextValue;
|
|
357
349
|
return;
|
|
358
350
|
}
|
|
359
351
|
super.valueChanged(prev, next);
|
|
@@ -643,21 +635,22 @@ class Select extends mixins.WithLightDOMFeedback(
|
|
|
643
635
|
fastElement.Observable.track(this, "displayValue");
|
|
644
636
|
return this.firstSelectedOption?.getAttribute("label") ?? this.firstSelectedOption?.text ?? this.placeholder ?? "";
|
|
645
637
|
}
|
|
646
|
-
|
|
647
|
-
const
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
(el) => el.hasAttribute("selected") || el.selected || el.value === this.value
|
|
638
|
+
_newDefaultSelectedIndex(prev, next, currentSelectIndex) {
|
|
639
|
+
const defaultSelectedIndex = super._newDefaultSelectedIndex(
|
|
640
|
+
prev,
|
|
641
|
+
next,
|
|
642
|
+
currentSelectIndex
|
|
652
643
|
);
|
|
653
|
-
if (
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
this.selectedIndex = selectedIndex;
|
|
659
|
-
return;
|
|
644
|
+
if (defaultSelectedIndex === null && currentSelectIndex === -1 && !this.placeholder) {
|
|
645
|
+
const firstSelectableIndex = this.getNextSelectableIndex(0);
|
|
646
|
+
if (firstSelectableIndex !== -1) {
|
|
647
|
+
return firstSelectableIndex;
|
|
648
|
+
}
|
|
660
649
|
}
|
|
650
|
+
return defaultSelectedIndex;
|
|
651
|
+
}
|
|
652
|
+
_isDefaultSelected(option) {
|
|
653
|
+
return super._isDefaultSelected(option) || option.value === this.initialValue;
|
|
661
654
|
}
|
|
662
655
|
/*
|
|
663
656
|
* @internal
|
|
@@ -686,13 +679,7 @@ class Select extends mixins.WithLightDOMFeedback(
|
|
|
686
679
|
}
|
|
687
680
|
formResetCallback() {
|
|
688
681
|
this.setProxyOptions();
|
|
689
|
-
|
|
690
|
-
if (this.selectedIndex === -1) {
|
|
691
|
-
this.selectedIndex = 0;
|
|
692
|
-
}
|
|
693
|
-
if (this.placeholder) {
|
|
694
|
-
this.selectedIndex = -1;
|
|
695
|
-
}
|
|
682
|
+
this.selectedIndex = this._newDefaultSelectedIndex([], this.options, -1) ?? -1;
|
|
696
683
|
}
|
|
697
684
|
}
|
|
698
685
|
__decorateClass([
|
|
@@ -732,9 +719,6 @@ __decorateClass([
|
|
|
732
719
|
__decorateClass([
|
|
733
720
|
fastElement.attr
|
|
734
721
|
], Select.prototype, "placeholder", 2);
|
|
735
|
-
__decorateClass([
|
|
736
|
-
fastElement.observable
|
|
737
|
-
], Select.prototype, "placeholderOption", 2);
|
|
738
722
|
__decorateClass([
|
|
739
723
|
fastElement.observable
|
|
740
724
|
], Select.prototype, "_feedbackWrapper", 2);
|
|
@@ -772,10 +756,9 @@ function renderLabel() {
|
|
|
772
756
|
</label>`;
|
|
773
757
|
}
|
|
774
758
|
function renderPlaceholder(context) {
|
|
775
|
-
const optionTag = context.tagFor(
|
|
759
|
+
const optionTag = context.tagFor(option_definition.ListboxOption);
|
|
776
760
|
return fastElement.html`
|
|
777
|
-
<${optionTag} ${
|
|
778
|
-
text="${(x) => x.placeholder}" hidden disabled>
|
|
761
|
+
<${optionTag} text="${(x) => x.placeholder}" hidden disabled>
|
|
779
762
|
</${optionTag}>`;
|
|
780
763
|
}
|
|
781
764
|
function selectValue(context) {
|
package/select/definition.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { P as Popup, p as popupDefinition } from '../unbundled/
|
|
1
|
+
import { P as Popup, p as popupDefinition } from '../unbundled/definition5.js';
|
|
2
2
|
import { iconDefinition } from '../icon/definition.js';
|
|
3
|
-
import { listboxOptionDefinition } from '../
|
|
3
|
+
import { L as ListboxOption, l as listboxOptionDefinition } from '../unbundled/definition3.js';
|
|
4
4
|
import { d as defineVividComponent, c as createRegisterFunction } from '../unbundled/vivid-element.js';
|
|
5
5
|
import { W as WithLightDOMFeedback, f as feedbackMessageDefinition } from '../unbundled/mixins.js';
|
|
6
|
-
import {
|
|
6
|
+
import { Updates, Observable, observable, attr, volatile, ref, html, when, slotted } from '@microsoft/fast-element';
|
|
7
7
|
import { uniqueId, inRange, keySpace, keyEscape, keyTab, keyEnd, keyArrowUp, keyArrowDown, keyHome, keyEnter, classNames } from '@microsoft/fast-web-utilities';
|
|
8
8
|
import { L as Listbox } from '../unbundled/listbox.js';
|
|
9
9
|
import { H as HostSemantics, a as applyHostSemantics } from '../unbundled/host-semantics.js';
|
|
@@ -12,8 +12,7 @@ import { W as WithContextualHelp } from '../unbundled/with-contextual-help.js';
|
|
|
12
12
|
import { W as WithErrorText } from '../unbundled/with-error-text.js';
|
|
13
13
|
import { W as WithSuccessText } from '../unbundled/with-success-text.js';
|
|
14
14
|
import { F as FormElement } from '../unbundled/form-element.js';
|
|
15
|
-
import {
|
|
16
|
-
import { L as ListboxOption } from '../unbundled/option.js';
|
|
15
|
+
import { b as AffixIconWithTrailing, a as affixIconTemplateFactory, I as IconWrapper } from '../unbundled/affix.js';
|
|
17
16
|
import { c as chevronTemplateFactory } from '../unbundled/definition.js';
|
|
18
17
|
import { h as handleEscapeKeyAndStopPropogation } from '../unbundled/index.js';
|
|
19
18
|
|
|
@@ -62,7 +61,6 @@ class Select extends WithLightDOMFeedback(
|
|
|
62
61
|
this.listboxId = uniqueId("listbox-");
|
|
63
62
|
this.maxHeight = 0;
|
|
64
63
|
this.fixedDropdown = false;
|
|
65
|
-
this.placeholderOption = null;
|
|
66
64
|
this._feedbackWrapper = null;
|
|
67
65
|
}
|
|
68
66
|
/**
|
|
@@ -321,7 +319,7 @@ class Select extends WithLightDOMFeedback(
|
|
|
321
319
|
if (this.open) {
|
|
322
320
|
this.focusAndScrollOptionIntoView();
|
|
323
321
|
this.indexWhenOpened = this.selectedIndex;
|
|
324
|
-
|
|
322
|
+
Updates.enqueue(() => this.focus());
|
|
325
323
|
return;
|
|
326
324
|
}
|
|
327
325
|
const didClose = prev === true && next === false;
|
|
@@ -337,19 +335,13 @@ class Select extends WithLightDOMFeedback(
|
|
|
337
335
|
* @internal
|
|
338
336
|
*/
|
|
339
337
|
valueChanged(prev, next) {
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
if (selectedIndex === -1 || prevSelectedValue !== nextSelectedValue) {
|
|
346
|
-
nextValue = "";
|
|
347
|
-
this.selectedIndex = selectedIndex;
|
|
348
|
-
}
|
|
349
|
-
nextValue = this.firstSelectedOption?.value ?? nextValue;
|
|
338
|
+
const nextSelectedIndex = this.options.findIndex((el) => el.value === next);
|
|
339
|
+
const validNextSelectedIndex = this._validSelectedIndex(nextSelectedIndex);
|
|
340
|
+
const nextValue = this.options[validNextSelectedIndex]?.value ?? "";
|
|
341
|
+
if (this.selectedIndex !== validNextSelectedIndex) {
|
|
342
|
+
this.selectedIndex = validNextSelectedIndex;
|
|
350
343
|
}
|
|
351
344
|
if (next !== nextValue) {
|
|
352
|
-
this.value = nextValue;
|
|
353
345
|
return;
|
|
354
346
|
}
|
|
355
347
|
super.valueChanged(prev, next);
|
|
@@ -639,21 +631,22 @@ class Select extends WithLightDOMFeedback(
|
|
|
639
631
|
Observable.track(this, "displayValue");
|
|
640
632
|
return this.firstSelectedOption?.getAttribute("label") ?? this.firstSelectedOption?.text ?? this.placeholder ?? "";
|
|
641
633
|
}
|
|
642
|
-
|
|
643
|
-
const
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
(el) => el.hasAttribute("selected") || el.selected || el.value === this.value
|
|
634
|
+
_newDefaultSelectedIndex(prev, next, currentSelectIndex) {
|
|
635
|
+
const defaultSelectedIndex = super._newDefaultSelectedIndex(
|
|
636
|
+
prev,
|
|
637
|
+
next,
|
|
638
|
+
currentSelectIndex
|
|
648
639
|
);
|
|
649
|
-
if (
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
this.selectedIndex = selectedIndex;
|
|
655
|
-
return;
|
|
640
|
+
if (defaultSelectedIndex === null && currentSelectIndex === -1 && !this.placeholder) {
|
|
641
|
+
const firstSelectableIndex = this.getNextSelectableIndex(0);
|
|
642
|
+
if (firstSelectableIndex !== -1) {
|
|
643
|
+
return firstSelectableIndex;
|
|
644
|
+
}
|
|
656
645
|
}
|
|
646
|
+
return defaultSelectedIndex;
|
|
647
|
+
}
|
|
648
|
+
_isDefaultSelected(option) {
|
|
649
|
+
return super._isDefaultSelected(option) || option.value === this.initialValue;
|
|
657
650
|
}
|
|
658
651
|
/*
|
|
659
652
|
* @internal
|
|
@@ -682,13 +675,7 @@ class Select extends WithLightDOMFeedback(
|
|
|
682
675
|
}
|
|
683
676
|
formResetCallback() {
|
|
684
677
|
this.setProxyOptions();
|
|
685
|
-
|
|
686
|
-
if (this.selectedIndex === -1) {
|
|
687
|
-
this.selectedIndex = 0;
|
|
688
|
-
}
|
|
689
|
-
if (this.placeholder) {
|
|
690
|
-
this.selectedIndex = -1;
|
|
691
|
-
}
|
|
678
|
+
this.selectedIndex = this._newDefaultSelectedIndex([], this.options, -1) ?? -1;
|
|
692
679
|
}
|
|
693
680
|
}
|
|
694
681
|
__decorateClass([
|
|
@@ -728,9 +715,6 @@ __decorateClass([
|
|
|
728
715
|
__decorateClass([
|
|
729
716
|
attr
|
|
730
717
|
], Select.prototype, "placeholder", 2);
|
|
731
|
-
__decorateClass([
|
|
732
|
-
observable
|
|
733
|
-
], Select.prototype, "placeholderOption", 2);
|
|
734
718
|
__decorateClass([
|
|
735
719
|
observable
|
|
736
720
|
], Select.prototype, "_feedbackWrapper", 2);
|
|
@@ -770,8 +754,7 @@ function renderLabel() {
|
|
|
770
754
|
function renderPlaceholder(context) {
|
|
771
755
|
const optionTag = context.tagFor(ListboxOption);
|
|
772
756
|
return html`
|
|
773
|
-
<${optionTag} ${
|
|
774
|
-
text="${(x) => x.placeholder}" hidden disabled>
|
|
757
|
+
<${optionTag} text="${(x) => x.placeholder}" hidden disabled>
|
|
775
758
|
</${optionTag}>`;
|
|
776
759
|
}
|
|
777
760
|
function selectValue(context) {
|
|
@@ -10,7 +10,7 @@ const delegatesAria = require('../unbundled/delegates-aria.cjs');
|
|
|
10
10
|
const fastWebUtilities = require('@microsoft/fast-web-utilities');
|
|
11
11
|
const enums = require('../unbundled/enums.cjs');
|
|
12
12
|
|
|
13
|
-
const styles = ":host{display:flex}.base
|
|
13
|
+
const styles = ":host{display:flex}.base.connotation-cta{--_connotation-color-firm-all: var(--vvd-selectable-box-cta-firm-all, var(--vvd-color-cta-600));--_connotation-color-pale: var(--vvd-selectable-box-cta-pale, var(--vvd-color-cta-300));--_connotation-color-fierce: var(--vvd-selectable-box-cta-fierce, var(--vvd-color-cta-700));--_connotation-color-faint: var(--vvd-selectable-box-cta-faint, var(--vvd-color-cta-50));--_connotation-color-soft: var(--vvd-selectable-box-cta-soft, var(--vvd-color-cta-100))}.base:not(.connotation-cta){--_connotation-color-firm-all: var(--vvd-selectable-box-accent-firm-all, var(--vvd-color-neutral-600));--_connotation-color-pale: var(--vvd-selectable-box-accent-pale, var(--vvd-color-neutral-300));--_connotation-color-fierce: var(--vvd-selectable-box-accent-fierce, var(--vvd-color-neutral-700));--_connotation-color-faint: var(--vvd-selectable-box-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-selectable-box-accent-soft, var(--vvd-color-neutral-100))}.base{--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: transparent;--_appearance-color-outline: var(--_connotation-color-pale)}@media (hover: hover){.base:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: transparent;--_appearance-color-outline: var(--_connotation-color-firm-all)}}.base.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: transparent;--_appearance-color-outline: var(--_connotation-color-firm-all)}.base.selected:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: var(--_connotation-color-pale)}@media (hover: hover){.base.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: var(--_connotation-color-firm-all)}}.base.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: var(--_connotation-color-firm-all)}.base{--control-offset: calc(var(--selectable-box-spacing, 16px) + 36px)}.base{position:relative;padding:var(--selectable-box-spacing, 16px);border:1px solid var(--_appearance-color-outline);border-radius:8px;background-color:var(--_appearance-color-fill);inline-size:100%;text-align:start}.base.control-placement-end-stacked,.base.control-placement-start-stacked{padding-block-start:var(--control-offset)}.base.control-placement-start{padding-inline-start:var(--control-offset)}.base.control-placement-end{padding-inline-end:var(--control-offset)}.base:focus-visible{--focus-stroke-gap-color: transparent;box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px))}.base.tight{overflow:hidden;min-height:calc(var(--selectable-box-spacing, 16px) * 2 + 22px);padding:0}.base.selected{background-color:var(--selectable-box-checked-bg, var(--_appearance-color-fill))}.base.clickable{cursor:pointer}.control{position:absolute;inset-block-start:var(--selectable-box-spacing, 16px)}.control.start-stacked,.control.start{inset-inline-start:var(--selectable-box-spacing, 16px)}.control.end-stacked,.control.end{inset-inline-end:var(--selectable-box-spacing, 16px)}";
|
|
14
14
|
|
|
15
15
|
var __defProp = Object.defineProperty;
|
|
16
16
|
var __decorateClass = (decorators, target, key, kind) => {
|
|
@@ -6,7 +6,7 @@ import { D as DelegatesAria, d as delegateAria } from '../unbundled/delegates-ar
|
|
|
6
6
|
import { classNames } from '@microsoft/fast-web-utilities';
|
|
7
7
|
import { C as Connotation } from '../unbundled/enums.js';
|
|
8
8
|
|
|
9
|
-
const styles = ":host{display:flex}.base
|
|
9
|
+
const styles = ":host{display:flex}.base.connotation-cta{--_connotation-color-firm-all: var(--vvd-selectable-box-cta-firm-all, var(--vvd-color-cta-600));--_connotation-color-pale: var(--vvd-selectable-box-cta-pale, var(--vvd-color-cta-300));--_connotation-color-fierce: var(--vvd-selectable-box-cta-fierce, var(--vvd-color-cta-700));--_connotation-color-faint: var(--vvd-selectable-box-cta-faint, var(--vvd-color-cta-50));--_connotation-color-soft: var(--vvd-selectable-box-cta-soft, var(--vvd-color-cta-100))}.base:not(.connotation-cta){--_connotation-color-firm-all: var(--vvd-selectable-box-accent-firm-all, var(--vvd-color-neutral-600));--_connotation-color-pale: var(--vvd-selectable-box-accent-pale, var(--vvd-color-neutral-300));--_connotation-color-fierce: var(--vvd-selectable-box-accent-fierce, var(--vvd-color-neutral-700));--_connotation-color-faint: var(--vvd-selectable-box-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-selectable-box-accent-soft, var(--vvd-color-neutral-100))}.base{--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: transparent;--_appearance-color-outline: var(--_connotation-color-pale)}@media (hover: hover){.base:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: transparent;--_appearance-color-outline: var(--_connotation-color-firm-all)}}.base.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: transparent;--_appearance-color-outline: var(--_connotation-color-firm-all)}.base.selected:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: var(--_connotation-color-pale)}@media (hover: hover){.base.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: var(--_connotation-color-firm-all)}}.base.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: var(--_connotation-color-firm-all)}.base{--control-offset: calc(var(--selectable-box-spacing, 16px) + 36px)}.base{position:relative;padding:var(--selectable-box-spacing, 16px);border:1px solid var(--_appearance-color-outline);border-radius:8px;background-color:var(--_appearance-color-fill);inline-size:100%;text-align:start}.base.control-placement-end-stacked,.base.control-placement-start-stacked{padding-block-start:var(--control-offset)}.base.control-placement-start{padding-inline-start:var(--control-offset)}.base.control-placement-end{padding-inline-end:var(--control-offset)}.base:focus-visible{--focus-stroke-gap-color: transparent;box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px))}.base.tight{overflow:hidden;min-height:calc(var(--selectable-box-spacing, 16px) * 2 + 22px);padding:0}.base.selected{background-color:var(--selectable-box-checked-bg, var(--_appearance-color-fill))}.base.clickable{cursor:pointer}.control{position:absolute;inset-block-start:var(--selectable-box-spacing, 16px)}.control.start-stacked,.control.start{inset-inline-start:var(--selectable-box-spacing, 16px)}.control.end-stacked,.control.end{inset-inline-end:var(--selectable-box-spacing, 16px)}";
|
|
10
10
|
|
|
11
11
|
var __defProp = Object.defineProperty;
|
|
12
12
|
var __decorateClass = (decorators, target, key, kind) => {
|
package/selectable-box/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const
|
|
1
|
+
"use strict";const p=require("../bundled/definition8.cjs"),v=require("../bundled/definition17.cjs"),t=require("../bundled/vivid-element.cjs"),i=require("../bundled/delegates-aria.cjs"),r=require("../bundled/enums.cjs"),f=require("../bundled/when.cjs"),u=require("../bundled/class-names.cjs"),x=":host{display:flex}.base.connotation-cta{--_connotation-color-firm-all: var(--vvd-selectable-box-cta-firm-all, var(--vvd-color-cta-600));--_connotation-color-pale: var(--vvd-selectable-box-cta-pale, var(--vvd-color-cta-300));--_connotation-color-fierce: var(--vvd-selectable-box-cta-fierce, var(--vvd-color-cta-700));--_connotation-color-faint: var(--vvd-selectable-box-cta-faint, var(--vvd-color-cta-50));--_connotation-color-soft: var(--vvd-selectable-box-cta-soft, var(--vvd-color-cta-100))}.base:not(.connotation-cta){--_connotation-color-firm-all: var(--vvd-selectable-box-accent-firm-all, var(--vvd-color-neutral-600));--_connotation-color-pale: var(--vvd-selectable-box-accent-pale, var(--vvd-color-neutral-300));--_connotation-color-fierce: var(--vvd-selectable-box-accent-fierce, var(--vvd-color-neutral-700));--_connotation-color-faint: var(--vvd-selectable-box-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-selectable-box-accent-soft, var(--vvd-color-neutral-100))}.base{--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: transparent;--_appearance-color-outline: var(--_connotation-color-pale)}@media (hover: hover){.base:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: transparent;--_appearance-color-outline: var(--_connotation-color-firm-all)}}.base.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: transparent;--_appearance-color-outline: var(--_connotation-color-firm-all)}.base.selected:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: var(--_connotation-color-pale)}@media (hover: hover){.base.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: var(--_connotation-color-firm-all)}}.base.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: var(--_connotation-color-firm-all)}.base{--control-offset: calc(var(--selectable-box-spacing, 16px) + 36px)}.base{position:relative;padding:var(--selectable-box-spacing, 16px);border:1px solid var(--_appearance-color-outline);border-radius:8px;background-color:var(--_appearance-color-fill);inline-size:100%;text-align:start}.base.control-placement-end-stacked,.base.control-placement-start-stacked{padding-block-start:var(--control-offset)}.base.control-placement-start{padding-inline-start:var(--control-offset)}.base.control-placement-end{padding-inline-end:var(--control-offset)}.base:focus-visible{--focus-stroke-gap-color: transparent;box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px))}.base.tight{overflow:hidden;min-height:calc(var(--selectable-box-spacing, 16px) * 2 + 22px);padding:0}.base.selected{background-color:var(--selectable-box-checked-bg, var(--_appearance-color-fill))}.base.clickable{cursor:pointer}.control{position:absolute;inset-block-start:var(--selectable-box-spacing, 16px)}.control.start-stacked,.control.start{inset-inline-start:var(--selectable-box-spacing, 16px)}.control.end-stacked,.control.end{inset-inline-end:var(--selectable-box-spacing, 16px)}";var _=Object.defineProperty,c=(a,o,e,s)=>{for(var l=void 0,d=a.length-1,b;d>=0;d--)(b=a[d])&&(l=b(o,e,l)||l);return l&&_(o,e,l),l};class n extends i.DelegatesAria(t.VividElement){constructor(){super(...arguments),this.checked=!1,this.clickableBox=!1,this.controlPlacement="end-stacked",this.tight=!1}_handleCheckedChange(){this.controlType==="radio"&&this.checked||(this.checked=!this.checked,this.clickableBox&&this.$emit("change"))}_handleKeydown(o){return(o.code==="Space"||o.code==="Enter")&&this.clickableBox?this._handleCheckedChange():!0}}c([t.attr({mode:"boolean"})],n.prototype,"checked");c([t.attr({attribute:"clickable-box",mode:"boolean"})],n.prototype,"clickableBox");c([t.attr],n.prototype,"connotation");c([t.attr({attribute:"control-type"})],n.prototype,"controlType");c([t.attr({attribute:"control-placement",mode:"fromView"})],n.prototype,"controlPlacement");c([t.attr({mode:"boolean"})],n.prototype,"tight");const k=({connotation:a,tight:o,checked:e,clickableBox:s,controlPlacement:l})=>u.classNames("base",[`connotation-${a}`,!!a],["tight",o],["selected",e],["clickable",s],["readonly",!s],[`control-placement-${l}`,!!l]);function h(a){a.clickableBox||a._handleCheckedChange()}function m(a){const o=a.tagFor(p.Checkbox);return t.html`${f.when(e=>e.controlType!=="radio",t.html`
|
|
2
2
|
<${o}
|
|
3
3
|
${i.delegateAria({ariaLabel:e=>!e.clickableBox&&e.ariaLabel?e.ariaLabel:null},{onlySpecified:!0})}
|
|
4
4
|
@change="${e=>h(e)}"
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
connotation="${e=>e.connotation==="cta"?r.Connotation.CTA:r.Connotation.Accent}"
|
|
7
7
|
:checked="${e=>e.checked}"
|
|
8
8
|
inert="${e=>e.clickableBox?!0:null}"
|
|
9
|
-
></${o}>`)} `}function g(a){const o=a.tagFor(
|
|
9
|
+
></${o}>`)} `}function g(a){const o=a.tagFor(v.Radio);return t.html`${f.when(e=>e.controlType==="radio",t.html`
|
|
10
10
|
<${o}
|
|
11
11
|
${i.delegateAria({ariaLabel:e=>!e.clickableBox&&e.ariaLabel?e.ariaLabel:null},{onlySpecified:!0})}
|
|
12
12
|
@change="${e=>h(e)}"
|
|
@@ -25,4 +25,4 @@
|
|
|
25
25
|
${m(a)} ${g(a)}
|
|
26
26
|
<slot></slot>
|
|
27
27
|
</div>
|
|
28
|
-
</template>`,y=t.defineVividComponent("selectable-box",n,$,[
|
|
28
|
+
</template>`,y=t.defineVividComponent("selectable-box",n,$,[p.checkboxDefinition,v.radioDefinition],{styles:x,shadowOptions:{delegatesFocus:!0}}),C=t.createRegisterFunction(y);C();
|
package/selectable-box/index.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { C as h, c as u } from "../bundled/definition8.js";
|
|
2
|
-
import { R as x, a as
|
|
3
|
-
import { V as
|
|
2
|
+
import { R as x, a as _ } from "../bundled/definition17.js";
|
|
3
|
+
import { V as m, a as c, h as n, c as k, d as g } from "../bundled/vivid-element.js";
|
|
4
4
|
import { D as $, d as p } from "../bundled/delegates-aria.js";
|
|
5
5
|
import { C as i } from "../bundled/enums.js";
|
|
6
|
+
import { w as v } from "../bundled/when.js";
|
|
6
7
|
import { c as y } from "../bundled/class-names.js";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var
|
|
10
|
-
|
|
11
|
-
(v = a[d]) && (t = v(e, o, t) || t);
|
|
8
|
+
const C = ":host{display:flex}.base.connotation-cta{--_connotation-color-firm-all: var(--vvd-selectable-box-cta-firm-all, var(--vvd-color-cta-600));--_connotation-color-pale: var(--vvd-selectable-box-cta-pale, var(--vvd-color-cta-300));--_connotation-color-fierce: var(--vvd-selectable-box-cta-fierce, var(--vvd-color-cta-700));--_connotation-color-faint: var(--vvd-selectable-box-cta-faint, var(--vvd-color-cta-50));--_connotation-color-soft: var(--vvd-selectable-box-cta-soft, var(--vvd-color-cta-100))}.base:not(.connotation-cta){--_connotation-color-firm-all: var(--vvd-selectable-box-accent-firm-all, var(--vvd-color-neutral-600));--_connotation-color-pale: var(--vvd-selectable-box-accent-pale, var(--vvd-color-neutral-300));--_connotation-color-fierce: var(--vvd-selectable-box-accent-fierce, var(--vvd-color-neutral-700));--_connotation-color-faint: var(--vvd-selectable-box-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-selectable-box-accent-soft, var(--vvd-color-neutral-100))}.base{--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: transparent;--_appearance-color-outline: var(--_connotation-color-pale)}@media (hover: hover){.base:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: transparent;--_appearance-color-outline: var(--_connotation-color-firm-all)}}.base.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: transparent;--_appearance-color-outline: var(--_connotation-color-firm-all)}.base.selected:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: var(--_connotation-color-pale)}@media (hover: hover){.base.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: var(--_connotation-color-firm-all)}}.base.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm-all);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: var(--_connotation-color-firm-all)}.base{--control-offset: calc(var(--selectable-box-spacing, 16px) + 36px)}.base{position:relative;padding:var(--selectable-box-spacing, 16px);border:1px solid var(--_appearance-color-outline);border-radius:8px;background-color:var(--_appearance-color-fill);inline-size:100%;text-align:start}.base.control-placement-end-stacked,.base.control-placement-start-stacked{padding-block-start:var(--control-offset)}.base.control-placement-start{padding-inline-start:var(--control-offset)}.base.control-placement-end{padding-inline-end:var(--control-offset)}.base:focus-visible{--focus-stroke-gap-color: transparent;box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px))}.base.tight{overflow:hidden;min-height:calc(var(--selectable-box-spacing, 16px) * 2 + 22px);padding:0}.base.selected{background-color:var(--selectable-box-checked-bg, var(--_appearance-color-fill))}.base.clickable{cursor:pointer}.control{position:absolute;inset-block-start:var(--selectable-box-spacing, 16px)}.control.start-stacked,.control.start{inset-inline-start:var(--selectable-box-spacing, 16px)}.control.end-stacked,.control.end{inset-inline-end:var(--selectable-box-spacing, 16px)}";
|
|
9
|
+
var B = Object.defineProperty, r = (a, e, o, s) => {
|
|
10
|
+
for (var t = void 0, d = a.length - 1, b; d >= 0; d--)
|
|
11
|
+
(b = a[d]) && (t = b(e, o, t) || t);
|
|
12
12
|
return t && B(e, o, t), t;
|
|
13
13
|
};
|
|
14
|
-
class l extends $(
|
|
14
|
+
class l extends $(m) {
|
|
15
15
|
constructor() {
|
|
16
16
|
super(...arguments), this.checked = !1, this.clickableBox = !1, this.controlPlacement = "end-stacked", this.tight = !1;
|
|
17
17
|
}
|
|
@@ -28,22 +28,22 @@ class l extends $(_) {
|
|
|
28
28
|
return (e.code === "Space" || e.code === "Enter") && this.clickableBox ? this._handleCheckedChange() : !0;
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
|
|
31
|
+
r([
|
|
32
32
|
c({ mode: "boolean" })
|
|
33
33
|
], l.prototype, "checked");
|
|
34
|
-
|
|
34
|
+
r([
|
|
35
35
|
c({ attribute: "clickable-box", mode: "boolean" })
|
|
36
36
|
], l.prototype, "clickableBox");
|
|
37
|
-
|
|
37
|
+
r([
|
|
38
38
|
c
|
|
39
39
|
], l.prototype, "connotation");
|
|
40
|
-
|
|
40
|
+
r([
|
|
41
41
|
c({ attribute: "control-type" })
|
|
42
42
|
], l.prototype, "controlType");
|
|
43
|
-
|
|
43
|
+
r([
|
|
44
44
|
c({ attribute: "control-placement", mode: "fromView" })
|
|
45
45
|
], l.prototype, "controlPlacement");
|
|
46
|
-
|
|
46
|
+
r([
|
|
47
47
|
c({ mode: "boolean" })
|
|
48
48
|
], l.prototype, "tight");
|
|
49
49
|
const w = ({
|
|
@@ -66,9 +66,9 @@ function f(a) {
|
|
|
66
66
|
}
|
|
67
67
|
function T(a) {
|
|
68
68
|
const e = a.tagFor(h);
|
|
69
|
-
return
|
|
69
|
+
return n`${v(
|
|
70
70
|
(o) => o.controlType !== "radio",
|
|
71
|
-
|
|
71
|
+
n`
|
|
72
72
|
<${e}
|
|
73
73
|
${p(
|
|
74
74
|
{
|
|
@@ -86,9 +86,9 @@ function T(a) {
|
|
|
86
86
|
}
|
|
87
87
|
function L(a) {
|
|
88
88
|
const e = a.tagFor(x);
|
|
89
|
-
return
|
|
89
|
+
return n`${v(
|
|
90
90
|
(o) => o.controlType === "radio",
|
|
91
|
-
|
|
91
|
+
n`
|
|
92
92
|
<${e}
|
|
93
93
|
${p(
|
|
94
94
|
{
|
|
@@ -104,7 +104,7 @@ function L(a) {
|
|
|
104
104
|
></${e}>`
|
|
105
105
|
)} `;
|
|
106
106
|
}
|
|
107
|
-
const A = (a) =>
|
|
107
|
+
const A = (a) => n`<template>
|
|
108
108
|
<div
|
|
109
109
|
class="${w}"
|
|
110
110
|
tabindex="${(e) => e.clickableBox ? "0" : null}"
|
|
@@ -123,7 +123,7 @@ const A = (a) => r`<template>
|
|
|
123
123
|
"selectable-box",
|
|
124
124
|
l,
|
|
125
125
|
A,
|
|
126
|
-
[u,
|
|
126
|
+
[u, _],
|
|
127
127
|
{
|
|
128
128
|
styles: C,
|
|
129
129
|
shadowOptions: {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { AriaMixinElement, AriaPropertyName } from './aria-mixin';
|
|
2
2
|
type AriaChangeSubscriber = (source: AriaMixinElement, changedAriaProperty: AriaPropertyName) => void;
|
|
3
3
|
export declare const subscribeToAriaPropertyChanges: (source: AriaMixinElement, listener: AriaChangeSubscriber) => void;
|
|
4
|
-
export declare const unsubscribeFromAriaPropertyChanges: (source: AriaMixinElement, listener: AriaChangeSubscriber) => void;
|
|
5
4
|
export declare const publishAriaPropertyChange: (source: AriaMixinElement, changedAriaProperty: AriaPropertyName) => void;
|
|
6
5
|
export {};
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { type FASTElement } from '@microsoft/fast-element';
|
|
2
2
|
import type { Constructor, MixinType } from '../utils/mixins';
|
|
3
3
|
export declare const ariaMixinProperties: readonly ["role", "ariaAtomic", "ariaAutoComplete", "ariaBusy", "ariaChecked", "ariaColCount", "ariaColIndex", "ariaColIndexText", "ariaColSpan", "ariaCurrent", "ariaDescription", "ariaDisabled", "ariaExpanded", "ariaHasPopup", "ariaHidden", "ariaInvalid", "ariaKeyShortcuts", "ariaLabel", "ariaLevel", "ariaLive", "ariaModal", "ariaMultiLine", "ariaMultiSelectable", "ariaOrientation", "ariaPlaceholder", "ariaPosInSet", "ariaPressed", "ariaReadOnly", "ariaRequired", "ariaRoleDescription", "ariaRowCount", "ariaRowIndex", "ariaRowIndexText", "ariaRowSpan", "ariaSelected", "ariaSetSize", "ariaSort", "ariaValueMax", "ariaValueMin", "ariaValueNow", "ariaValueText", "ariaRelevant"];
|
|
4
|
-
export type AriaPropertyName = typeof ariaMixinProperties[number];
|
|
4
|
+
export type AriaPropertyName = (typeof ariaMixinProperties)[number];
|
|
5
5
|
export declare const ariaAttributeName: (ariaPropertyName: AriaPropertyName) => string;
|
|
6
6
|
export type VividAriaBehaviour = 'default' | 'delegate' | 'host';
|
|
7
7
|
export declare const AriaMixin: <T extends Constructor<FASTElement & HTMLElement>>(Base: T) => {
|
|
8
8
|
new (...args: any[]): {
|
|
9
9
|
_vividAriaBehaviour: VividAriaBehaviour;
|
|
10
10
|
connectedCallback(): void;
|
|
11
|
-
readonly $fastController: import("@microsoft/fast-element").
|
|
11
|
+
readonly $fastController: import("@microsoft/fast-element").ElementController<HTMLElement>;
|
|
12
12
|
$emit(type: string, detail?: any, options?: Omit<CustomEventInit<any>, "detail"> | undefined): boolean | void;
|
|
13
13
|
disconnectedCallback(): void;
|
|
14
|
-
attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
|
|
14
|
+
attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
|
|
15
15
|
accessKey: string;
|
|
16
16
|
readonly accessKeyLabel: string;
|
|
17
17
|
autocapitalize: string;
|
|
@@ -1,27 +1,22 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { DelegatesAriaElement } from './delegates-aria';
|
|
1
|
+
import type { ViewBehavior, ViewController } from '@microsoft/fast-element';
|
|
3
2
|
import { type AriaPropertyName } from './aria-mixin';
|
|
4
3
|
type BoundValue = string | null | undefined | boolean | number;
|
|
5
4
|
type AriaBinding<T> = BoundValue | ((x: T) => BoundValue);
|
|
6
5
|
export type BoundAriaProperties<T> = Partial<{
|
|
7
6
|
[Property in AriaPropertyName]: AriaBinding<T>;
|
|
8
7
|
}>;
|
|
9
|
-
export declare class DelegateAriaBehavior<T> implements
|
|
10
|
-
private target;
|
|
8
|
+
export declare class DelegateAriaBehavior<T> implements ViewBehavior {
|
|
11
9
|
private readonly boundProperties;
|
|
12
10
|
private readonly forwardedProperties;
|
|
13
|
-
|
|
11
|
+
private target;
|
|
12
|
+
constructor(target: HTMLElement | null, params: {
|
|
14
13
|
boundProperties: BoundAriaProperties<T>;
|
|
15
14
|
forwardedProperties: Set<AriaPropertyName>;
|
|
16
15
|
});
|
|
17
|
-
|
|
18
|
-
bind(source: DelegatesAriaElement): void;
|
|
19
|
-
unbind(): void;
|
|
16
|
+
bind(controller: ViewController): void;
|
|
20
17
|
private bindingBehaviours;
|
|
21
18
|
private bindPropertiesToTarget;
|
|
22
|
-
private releasePropertyBindings;
|
|
23
19
|
private startForwardingPropertiesToTarget;
|
|
24
|
-
private stopForwardingPropertiesToTarget;
|
|
25
20
|
private onSourceAriaPropertyChanged;
|
|
26
21
|
private forwardPropertyToTarget;
|
|
27
22
|
}
|
|
@@ -5,15 +5,15 @@ import { type BoundAriaProperties } from './delegate-aria-behavior';
|
|
|
5
5
|
type DelegateAriaOptions = {
|
|
6
6
|
onlySpecified?: boolean;
|
|
7
7
|
};
|
|
8
|
-
export declare function delegateAria<T>(boundProperties?: BoundAriaProperties<T>, options?: DelegateAriaOptions): CaptureType<T>;
|
|
8
|
+
export declare function delegateAria<T>(boundProperties?: BoundAriaProperties<T>, options?: DelegateAriaOptions): CaptureType<T, any>;
|
|
9
9
|
export declare const DelegatesAria: <T extends Constructor<VividElement>>(Base: T) => {
|
|
10
10
|
new (...args: any[]): {
|
|
11
11
|
_vividAriaBehaviour: "delegate";
|
|
12
12
|
connectedCallback(): void;
|
|
13
|
-
readonly $fastController: import("@microsoft/fast-element").
|
|
13
|
+
readonly $fastController: import("@microsoft/fast-element").ElementController<HTMLElement>;
|
|
14
14
|
$emit(type: string, detail?: any, options?: Omit<CustomEventInit<any>, "detail"> | undefined): boolean | void;
|
|
15
15
|
disconnectedCallback(): void;
|
|
16
|
-
attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
|
|
16
|
+
attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
|
|
17
17
|
accessKey: string;
|
|
18
18
|
readonly accessKeyLabel: string;
|
|
19
19
|
autocapitalize: string;
|
|
@@ -1,22 +1,19 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ViewBehavior, ViewController } from '@microsoft/fast-element';
|
|
2
2
|
import { type AriaPropertyName } from './aria-mixin';
|
|
3
|
-
import type { HostSemanticsElement } from './host-semantics';
|
|
4
3
|
type BoundValue = string | null | undefined | boolean | number;
|
|
5
4
|
type AriaBinding<T> = BoundValue | ((x: T) => BoundValue);
|
|
6
5
|
export type BoundAriaProperties<T> = Partial<{
|
|
7
6
|
[Property in AriaPropertyName]: AriaBinding<T>;
|
|
8
7
|
}>;
|
|
9
|
-
export declare class HostSemanticsBehavior<T> implements
|
|
10
|
-
private target;
|
|
8
|
+
export declare class HostSemanticsBehavior<T> implements ViewBehavior {
|
|
11
9
|
private readonly boundProperties;
|
|
12
|
-
|
|
10
|
+
private target;
|
|
11
|
+
constructor(target: HTMLElement | null, params: {
|
|
13
12
|
boundProperties: BoundAriaProperties<T>;
|
|
14
13
|
forwardedProperties: Set<AriaPropertyName>;
|
|
15
14
|
});
|
|
16
|
-
bind(
|
|
17
|
-
unbind(source: HostSemanticsElement): void;
|
|
15
|
+
bind(controller: ViewController): void;
|
|
18
16
|
private bindingBehaviours;
|
|
19
17
|
private bindPropertiesToTarget;
|
|
20
|
-
private releasePropertyBindings;
|
|
21
18
|
}
|
|
22
19
|
export {};
|
|
@@ -2,15 +2,15 @@ import { type CaptureType } from '@microsoft/fast-element';
|
|
|
2
2
|
import type { Constructor, MixinType } from '../utils/mixins';
|
|
3
3
|
import type { VividElement } from '../foundation/vivid-element/vivid-element';
|
|
4
4
|
import { type BoundAriaProperties } from './host-semantics-behavior';
|
|
5
|
-
export declare function applyHostSemantics<T>(boundProperties?: BoundAriaProperties<T>): CaptureType<T>;
|
|
5
|
+
export declare function applyHostSemantics<T>(boundProperties?: BoundAriaProperties<T>): CaptureType<T, any>;
|
|
6
6
|
export declare const HostSemantics: <T extends Constructor<VividElement>>(Base: T) => {
|
|
7
7
|
new (...args: any[]): {
|
|
8
8
|
_vividAriaBehaviour: "host";
|
|
9
9
|
connectedCallback(): void;
|
|
10
|
-
readonly $fastController: import("@microsoft/fast-element").
|
|
10
|
+
readonly $fastController: import("@microsoft/fast-element").ElementController<HTMLElement>;
|
|
11
11
|
$emit(type: string, detail?: any, options?: Omit<CustomEventInit<any>, "detail"> | undefined): boolean | void;
|
|
12
12
|
disconnectedCallback(): void;
|
|
13
|
-
attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
|
|
13
|
+
attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
|
|
14
14
|
accessKey: string;
|
|
15
15
|
readonly accessKeyLabel: string;
|
|
16
16
|
autocapitalize: string;
|