@vonage/vivid 5.15.1 → 5.16.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/definition.cjs +7 -207
- package/accordion/definition.js +2 -199
- package/accordion/index.cjs +4 -4
- package/accordion/index.js +93 -127
- package/accordion-item/definition.cjs +6 -146
- package/accordion-item/definition.js +2 -139
- package/accordion-item/index.cjs +1 -1
- package/accordion-item/index.js +6 -2
- package/action-group/definition.cjs +5 -69
- package/action-group/definition.js +1 -62
- package/action-group/index.cjs +4 -4
- package/action-group/index.js +16 -46
- package/alert/definition.cjs +6 -201
- package/alert/definition.js +2 -194
- package/alert/index.cjs +15 -15
- package/alert/index.js +90 -136
- package/audio-player/definition.cjs +6 -459
- package/audio-player/definition.js +2 -452
- package/audio-player/index.cjs +49 -49
- package/audio-player/index.js +234 -302
- package/avatar/definition.cjs +6 -117
- package/avatar/definition.js +2 -110
- package/avatar/index.cjs +14 -14
- package/avatar/index.js +44 -84
- package/badge/definition.cjs +6 -85
- package/badge/definition.js +2 -78
- package/badge/index.cjs +4 -4
- package/badge/index.js +21 -65
- package/banner/definition.cjs +6 -160
- package/banner/definition.js +2 -153
- package/banner/index.cjs +13 -13
- package/banner/index.js +76 -109
- package/breadcrumb/definition.cjs +5 -97
- package/breadcrumb/definition.js +1 -90
- package/breadcrumb/index.cjs +4 -4
- package/breadcrumb/index.js +33 -59
- package/breadcrumb-item/definition.cjs +7 -47
- package/breadcrumb-item/definition.js +3 -40
- package/breadcrumb-item/index.cjs +5 -5
- package/breadcrumb-item/index.js +20 -32
- package/bundled/affix.cjs +10 -10
- package/bundled/affix.js +44 -57
- package/bundled/anchored.cjs +3 -3
- package/bundled/anchored.js +47 -65
- package/bundled/aria.cjs +1 -1
- package/bundled/aria.js +6 -6
- package/bundled/attribute-binding-behaviour.cjs +1 -1
- package/bundled/attribute-binding-behaviour.js +17 -28
- package/bundled/base-color-picker.cjs +10 -10
- package/bundled/base-color-picker.js +115 -197
- package/bundled/base-progress.cjs +1 -1
- package/bundled/base-progress.js +29 -56
- package/bundled/breadcrumb-item.cjs +1 -1
- package/bundled/breadcrumb-item.js +11 -20
- package/bundled/button.cjs +1 -1
- package/bundled/button.js +65 -100
- package/bundled/calendar-event.cjs +1 -1
- package/bundled/calendar-event.js +11 -34
- package/bundled/calendar-picker.template.cjs +77 -77
- package/bundled/calendar-picker.template.js +2881 -3345
- package/bundled/char-count.cjs +7 -7
- package/bundled/char-count.js +31 -46
- package/bundled/children.cjs +1 -1
- package/bundled/children.js +27 -45
- package/bundled/class-names.cjs +1 -1
- package/bundled/class-names.js +8 -8
- package/bundled/data-grid.options.cjs +1 -1
- package/bundled/data-grid.options.js +22 -26
- package/bundled/decorate.cjs +1 -0
- package/bundled/decorate.js +9 -0
- package/bundled/definition.cjs +1 -39
- package/bundled/definition.js +5 -122
- package/bundled/definition10.cjs +27 -69
- package/bundled/definition10.js +173 -352
- package/bundled/definition11.cjs +19 -12
- package/bundled/definition11.js +77 -92
- package/bundled/definition12.cjs +11 -11
- package/bundled/definition12.js +122 -216
- package/bundled/definition13.cjs +18 -9
- package/bundled/definition13.js +76 -42
- package/bundled/definition14.cjs +10 -1
- package/bundled/definition14.js +28 -19
- package/bundled/definition15.cjs +73 -5
- package/bundled/definition15.js +194 -28
- package/bundled/definition16.cjs +5 -30
- package/bundled/definition16.js +16 -79
- package/bundled/definition17.cjs +13 -19
- package/bundled/definition17.js +81 -102
- package/bundled/definition18.cjs +12 -13
- package/bundled/definition18.js +67 -135
- package/bundled/definition19.cjs +48 -48
- package/bundled/definition19.js +365 -683
- package/bundled/definition2.cjs +8 -8
- package/bundled/definition2.js +79 -122
- package/bundled/definition20.cjs +5 -20
- package/bundled/definition20.js +11 -106
- package/bundled/definition21.cjs +20 -5
- package/bundled/definition21.js +57 -18
- package/bundled/definition22.cjs +16 -16
- package/bundled/definition22.js +79 -140
- package/bundled/definition3.cjs +1 -29
- package/bundled/definition3.js +183 -194
- package/bundled/definition4.cjs +39 -6
- package/bundled/definition4.js +71 -41
- package/bundled/definition5.cjs +30 -1
- package/bundled/definition5.js +48 -346
- package/bundled/definition6.cjs +28 -30
- package/bundled/definition6.js +110 -264
- package/bundled/definition7.cjs +6 -30
- package/bundled/definition7.js +22 -288
- package/bundled/definition8.cjs +13 -18
- package/bundled/definition8.js +150 -132
- package/bundled/definition9.cjs +29 -13
- package/bundled/definition9.js +157 -232
- package/bundled/delegates-aria.cjs +1 -1
- package/bundled/delegates-aria.js +56 -88
- package/bundled/dialog.cjs +1 -0
- package/bundled/dialog.js +6 -0
- package/bundled/divider.cjs +1 -1
- package/bundled/divider.js +16 -33
- package/bundled/dom.cjs +1 -1
- package/bundled/dom.js +5 -5
- package/bundled/enums.cjs +1 -1
- package/bundled/enums.js +16 -9
- package/bundled/floating-ui.dom.cjs +1 -1
- package/bundled/floating-ui.dom.js +953 -1238
- package/bundled/form-associated.cjs +1 -1
- package/bundled/form-associated.js +165 -318
- package/bundled/form-element.cjs +1 -1
- package/bundled/form-element.js +33 -55
- package/bundled/host-semantics.cjs +1 -1
- package/bundled/host-semantics.js +46 -69
- package/bundled/key-codes.cjs +1 -1
- package/bundled/key-codes.js +4 -16
- package/bundled/linkable.cjs +6 -6
- package/bundled/linkable.js +25 -45
- package/bundled/listbox.cjs +1 -1
- package/bundled/listbox.js +176 -351
- package/bundled/localized.cjs +1 -1
- package/bundled/localized.js +451 -564
- package/bundled/mixins.cjs +20 -20
- package/bundled/mixins.js +162 -210
- package/bundled/normalize.cjs +1 -1
- package/bundled/normalize.js +6 -6
- package/bundled/numbers.cjs +1 -1
- package/bundled/numbers.js +9 -11
- package/bundled/picker-field.template.cjs +23 -23
- package/bundled/picker-field.template.js +108 -171
- package/bundled/playbackRates.cjs +1 -1
- package/bundled/playbackRates.js +10 -10
- package/bundled/ref.cjs +1 -1
- package/bundled/ref.js +10 -14
- package/bundled/repeat.cjs +1 -1
- package/bundled/repeat.js +421 -552
- package/bundled/scrollIntoView.cjs +1 -1
- package/bundled/scrollIntoView.js +26 -29
- package/bundled/single-date-picker.cjs +1 -1
- package/bundled/single-date-picker.js +23 -38
- package/bundled/single-value-picker.cjs +1 -1
- package/bundled/single-value-picker.js +58 -86
- package/bundled/slider.template.cjs +13 -13
- package/bundled/slider.template.js +67 -78
- package/bundled/slottable-request.cjs +4 -4
- package/bundled/slottable-request.js +1937 -2904
- package/bundled/slotted.cjs +1 -1
- package/bundled/slotted.js +47 -97
- package/bundled/strings.cjs +1 -1
- package/bundled/strings.js +6 -6
- package/bundled/text-field.cjs +1 -1
- package/bundled/text-field.js +4 -4
- package/bundled/time-selection-picker.template.cjs +26 -26
- package/bundled/time-selection-picker.template.js +355 -552
- package/bundled/trapped-focus.cjs +1 -1
- package/bundled/trapped-focus.js +18 -25
- package/bundled/vivid-element.cjs +4 -5
- package/bundled/vivid-element.js +1781 -2806
- package/bundled/when.cjs +1 -1
- package/bundled/when.js +10 -10
- package/bundled/with-contextual-help.cjs +1 -1
- package/bundled/with-contextual-help.js +15 -31
- package/bundled/with-error-text.cjs +1 -1
- package/bundled/with-error-text.js +25 -38
- package/bundled/with-success-text.cjs +1 -1
- package/bundled/with-success-text.js +8 -15
- package/button/definition.cjs +6 -14
- package/button/definition.js +3 -4
- package/button/index.cjs +1 -1
- package/button/index.js +6 -2
- package/calendar/definition.cjs +5 -358
- package/calendar/definition.js +1 -351
- package/calendar/index.cjs +20 -20
- package/calendar/index.js +346 -401
- package/calendar-event/definition.cjs +6 -58
- package/calendar-event/definition.js +2 -51
- package/calendar-event/index.cjs +7 -7
- package/calendar-event/index.js +25 -41
- package/card/definition.cjs +6 -194
- package/card/definition.js +2 -187
- package/card/index.cjs +34 -34
- package/card/index.js +80 -133
- package/checkbox/definition.cjs +6 -209
- package/checkbox/definition.js +2 -202
- package/checkbox/index.cjs +1 -1
- package/checkbox/index.js +6 -2
- package/color-picker/definition.cjs +6 -1175
- package/color-picker/definition.js +2 -1168
- package/color-picker/index.cjs +94 -94
- package/color-picker/index.js +605 -737
- package/combobox/definition.cjs +6 -647
- package/combobox/definition.js +2 -640
- package/combobox/index.cjs +37 -37
- package/combobox/index.js +254 -458
- package/contextual-help/definition.cjs +6 -63
- package/contextual-help/definition.js +2 -56
- package/contextual-help/index.cjs +1 -1
- package/contextual-help/index.js +6 -2
- package/country/definition.cjs +6 -340
- package/country/definition.js +2 -333
- package/country/index.cjs +6 -6
- package/country/index.js +1209 -308
- package/custom-elements.json +513 -851
- package/data-grid/definition.cjs +10 -2350
- package/data-grid/definition.js +2 -2339
- package/data-grid/index.cjs +61 -61
- package/data-grid/index.js +642 -992
- package/date-picker/definition.cjs +6 -152
- package/date-picker/definition.js +2 -145
- package/date-picker/index.cjs +1 -1
- package/date-picker/index.js +66 -114
- package/date-range-picker/definition.cjs +6 -467
- package/date-range-picker/definition.js +2 -460
- package/date-range-picker/index.cjs +1 -1
- package/date-range-picker/index.js +218 -334
- package/date-time-picker/definition.cjs +6 -285
- package/date-time-picker/definition.js +2 -278
- package/date-time-picker/index.cjs +4 -4
- package/date-time-picker/index.js +116 -211
- package/dial-pad/definition.cjs +6 -460
- package/dial-pad/definition.js +2 -453
- package/dial-pad/index.cjs +42 -42
- package/dial-pad/index.js +195 -287
- package/dialog/definition.cjs +6 -349
- package/dialog/definition.js +2 -342
- package/dialog/index.cjs +28 -28
- package/dialog/index.js +148 -229
- package/divider/definition.cjs +6 -42
- package/divider/definition.js +2 -35
- package/divider/index.cjs +1 -1
- package/divider/index.js +5 -2
- package/elevation/definition.cjs +4 -11
- package/elevation/definition.js +2 -2
- package/elevation/index.cjs +1 -1
- package/elevation/index.js +5 -2
- package/empty-state/definition.cjs +6 -86
- package/empty-state/definition.js +2 -79
- package/empty-state/index.cjs +9 -9
- package/empty-state/index.js +28 -60
- package/fab/definition.cjs +6 -105
- package/fab/definition.js +2 -98
- package/fab/index.cjs +17 -17
- package/fab/index.js +46 -81
- package/file-picker/definition.cjs +6 -523
- package/file-picker/definition.js +2 -516
- package/file-picker/index.cjs +25 -25
- package/file-picker/index.js +246 -351
- package/header/definition.cjs +5 -78
- package/header/definition.js +1 -71
- package/header/index.cjs +5 -5
- package/header/index.js +28 -42
- package/icon/definition.cjs +5 -202
- package/icon/definition.js +1 -195
- package/icon/index.cjs +1 -1
- package/icon/index.js +5 -2
- package/index.cjs +350 -356
- package/index.js +79 -78
- package/layout/definition.cjs +5 -72
- package/layout/definition.js +1 -65
- package/layout/index.cjs +2 -2
- package/layout/index.js +10 -51
- package/lib/alert/alert.d.ts +0 -1
- package/lib/audio-player/audio-player.d.ts +0 -1
- package/lib/banner/banner.d.ts +0 -2
- package/lib/button/button.d.ts +0 -1
- package/lib/calendar/calendar.d.ts +0 -1
- package/lib/data-grid/data-grid-cell.d.ts +0 -3
- package/lib/data-grid/data-grid-row.d.ts +0 -3
- package/lib/data-grid/data-grid.d.ts +0 -1
- package/lib/fab/fab.d.ts +0 -1
- package/lib/file-picker/file-picker.d.ts +1 -1
- package/lib/icon/icon.d.ts +0 -1
- package/lib/option/option.d.ts +4 -0
- package/lib/pagination/pagination.d.ts +0 -4
- package/lib/popover/popover.d.ts +0 -5
- package/lib/split-button/split-button.d.ts +0 -2
- package/lib/tab/tab.d.ts +0 -2
- package/lib/tag/tag.d.ts +0 -2
- package/lib/toggletip/toggletip.d.ts +0 -1
- package/lib/tree-item/tree-item.d.ts +0 -2
- package/lib/tree-view/tree-view.d.ts +0 -1
- package/locales/de-DE.cjs +439 -549
- package/locales/de-DE.js +440 -547
- package/locales/en-GB.cjs +271 -382
- package/locales/en-GB.js +272 -380
- package/locales/en-US.cjs +2 -552
- package/locales/en-US.js +1 -549
- package/locales/ja-JP.cjs +432 -548
- package/locales/ja-JP.js +433 -546
- package/locales/zh-CN.cjs +433 -550
- package/locales/zh-CN.js +434 -548
- package/menu/definition.cjs +6 -393
- package/menu/definition.js +2 -386
- package/menu/index.cjs +1 -1
- package/menu/index.js +6 -2
- package/menu-item/definition.cjs +7 -14
- package/menu-item/definition.js +3 -3
- package/menu-item/index.cjs +1 -1
- package/menu-item/index.js +6 -2
- package/nav/definition.cjs +5 -27
- package/nav/definition.js +1 -20
- package/nav/index.cjs +3 -3
- package/nav/index.js +7 -10
- package/nav-disclosure/definition.cjs +6 -122
- package/nav-disclosure/definition.js +2 -115
- package/nav-disclosure/index.cjs +8 -8
- package/nav-disclosure/index.js +49 -86
- package/nav-item/definition.cjs +6 -79
- package/nav-item/definition.js +2 -72
- package/nav-item/index.cjs +2 -2
- package/nav-item/index.js +33 -58
- package/note/definition.cjs +6 -61
- package/note/definition.js +2 -54
- package/note/index.cjs +5 -5
- package/note/index.js +24 -38
- package/number-field/definition.cjs +6 -440
- package/number-field/definition.js +2 -433
- package/number-field/index.cjs +31 -31
- package/number-field/index.js +160 -328
- package/option/definition.cjs +6 -13
- package/option/definition.js +3 -3
- package/option/index.cjs +1 -1
- package/option/index.js +6 -2
- package/package.json +15 -16
- package/pagination/definition.cjs +6 -254
- package/pagination/definition.js +2 -247
- package/pagination/index.cjs +37 -37
- package/pagination/index.js +148 -186
- package/popover/definition.cjs +6 -356
- package/popover/definition.js +2 -349
- package/popover/index.cjs +16 -16
- package/popover/index.js +161 -239
- package/popup/definition.cjs +5 -13
- package/popup/definition.js +3 -4
- package/popup/index.cjs +1 -1
- package/popup/index.js +6 -2
- package/progress/definition.cjs +5 -87
- package/progress/definition.js +1 -80
- package/progress/index.cjs +9 -9
- package/progress/index.js +33 -55
- package/progress-ring/definition.cjs +5 -95
- package/progress-ring/definition.js +1 -88
- package/progress-ring/index.cjs +1 -1
- package/progress-ring/index.js +5 -2
- package/radio/definition.cjs +5 -227
- package/radio/definition.js +1 -220
- package/radio/index.cjs +1 -1
- package/radio/index.js +5 -2
- package/radio-group/definition.cjs +6 -361
- package/radio-group/definition.js +2 -354
- package/radio-group/index.cjs +10 -10
- package/radio-group/index.js +160 -242
- package/range-slider/definition.cjs +6 -632
- package/range-slider/definition.js +2 -625
- package/range-slider/index.cjs +41 -41
- package/range-slider/index.js +259 -429
- package/rich-text-editor/definition.cjs +32 -15694
- package/rich-text-editor/definition.js +2 -15661
- package/rich-text-editor/index.cjs +17 -17
- package/rich-text-editor/index.js +9061 -11464
- package/rich-text-view/definition.cjs +5 -171
- package/rich-text-view/definition.js +1 -164
- package/rich-text-view/index.cjs +1 -1
- package/rich-text-view/index.js +68 -102
- package/searchable-select/definition.cjs +5 -1401
- package/searchable-select/definition.js +2 -1395
- package/searchable-select/index.cjs +94 -94
- package/searchable-select/index.js +600 -1015
- package/select/definition.cjs +6 -1002
- package/select/definition.js +2 -995
- package/select/index.cjs +1 -1
- package/select/index.js +6 -2
- package/selectable-box/definition.cjs +6 -174
- package/selectable-box/definition.js +2 -167
- package/selectable-box/index.cjs +18 -18
- package/selectable-box/index.js +66 -127
- package/side-drawer/definition.cjs +5 -130
- package/side-drawer/definition.js +1 -123
- package/side-drawer/index.cjs +7 -7
- package/side-drawer/index.js +47 -89
- package/simple-color-picker/definition.cjs +6 -225
- package/simple-color-picker/definition.js +2 -218
- package/simple-color-picker/index.cjs +15 -15
- package/simple-color-picker/index.js +98 -135
- package/slider/definition.cjs +6 -499
- package/slider/definition.js +2 -492
- package/slider/index.cjs +1 -1
- package/slider/index.js +6 -2
- package/split-button/definition.cjs +6 -176
- package/split-button/definition.js +2 -169
- package/split-button/index.cjs +15 -15
- package/split-button/index.js +74 -135
- package/status/definition.cjs +6 -82
- package/status/definition.js +2 -75
- package/status/index.cjs +7 -7
- package/status/index.js +35 -52
- package/switch/definition.cjs +6 -148
- package/switch/definition.js +2 -141
- package/switch/index.cjs +8 -8
- package/switch/index.js +48 -92
- package/tab/definition.cjs +6 -127
- package/tab/definition.js +2 -120
- package/tab/index.cjs +1 -1
- package/tab/index.js +6 -2
- package/tab-panel/definition.cjs +5 -29
- package/tab-panel/definition.js +1 -22
- package/tab-panel/index.cjs +1 -1
- package/tab-panel/index.js +5 -2
- package/table/definition.cjs +15 -174
- package/table/definition.js +1 -157
- package/table/index.cjs +10 -10
- package/table/index.js +26 -82
- package/tabs/definition.cjs +7 -467
- package/tabs/definition.js +2 -459
- package/tabs/index.cjs +11 -11
- package/tabs/index.js +169 -296
- package/tag/definition.cjs +6 -176
- package/tag/definition.js +2 -169
- package/tag/index.cjs +26 -26
- package/tag/index.js +65 -126
- package/tag-group/definition.cjs +5 -40
- package/tag-group/definition.js +1 -33
- package/tag-group/index.cjs +4 -4
- package/tag-group/index.js +10 -21
- package/text-area/definition.cjs +6 -355
- package/text-area/definition.js +2 -348
- package/text-area/index.cjs +11 -11
- package/text-area/index.js +153 -260
- package/text-field/definition.cjs +6 -423
- package/text-field/definition.js +2 -416
- package/text-field/index.cjs +1 -1
- package/text-field/index.js +6 -2
- package/time-picker/definition.cjs +7 -43
- package/time-picker/definition.js +3 -36
- package/time-picker/index.cjs +1 -1
- package/time-picker/index.js +24 -29
- package/toggletip/definition.cjs +6 -159
- package/toggletip/definition.js +2 -152
- package/toggletip/index.cjs +1 -1
- package/toggletip/index.js +6 -2
- package/tooltip/definition.cjs +6 -139
- package/tooltip/definition.js +2 -132
- package/tooltip/index.cjs +1 -1
- package/tooltip/index.js +6 -2
- package/tree-item/definition.cjs +6 -13
- package/tree-item/definition.js +3 -3
- package/tree-item/index.cjs +1 -1
- package/tree-item/index.js +6 -2
- package/tree-view/definition.cjs +6 -302
- package/tree-view/definition.js +2 -295
- package/tree-view/index.cjs +11 -11
- package/tree-view/index.js +145 -174
- package/unbundled/affix.cjs +89 -62
- package/unbundled/affix.js +58 -55
- package/unbundled/anchored.cjs +87 -94
- package/unbundled/anchored.js +74 -90
- package/unbundled/attribute-binding-behaviour.cjs +37 -42
- package/unbundled/attribute-binding-behaviour.js +31 -40
- package/unbundled/base-color-picker.cjs +226 -275
- package/unbundled/base-color-picker.js +214 -272
- package/unbundled/base-progress.cjs +63 -78
- package/unbundled/base-progress.js +57 -76
- package/unbundled/breadcrumb-item.cjs +24 -28
- package/unbundled/breadcrumb-item.js +18 -26
- package/unbundled/button.cjs +115 -166
- package/unbundled/button.js +109 -164
- package/unbundled/calendar-event.cjs +28 -41
- package/unbundled/calendar-event.js +22 -39
- package/unbundled/calendar-picker.template.cjs +620 -783
- package/unbundled/calendar-picker.template.js +560 -772
- package/unbundled/char-count.cjs +50 -80
- package/unbundled/char-count.js +44 -78
- package/unbundled/chunk.cjs +50 -0
- package/unbundled/chunk.js +33 -0
- package/unbundled/data-grid.options.cjs +80 -29
- package/unbundled/data-grid.options.js +51 -23
- package/unbundled/decorate.cjs +14 -0
- package/unbundled/decorate.js +9 -0
- package/unbundled/definition.cjs +42 -405
- package/unbundled/definition.js +24 -399
- package/unbundled/definition10.cjs +253 -0
- package/unbundled/definition10.js +229 -0
- package/unbundled/definition11.cjs +397 -0
- package/unbundled/definition11.js +379 -0
- package/unbundled/definition12.cjs +317 -0
- package/unbundled/definition12.js +287 -0
- package/unbundled/definition13.cjs +328 -0
- package/unbundled/definition13.js +310 -0
- package/unbundled/definition14.cjs +406 -0
- package/unbundled/definition14.js +388 -0
- package/unbundled/definition15.cjs +107 -0
- package/unbundled/definition15.js +89 -0
- package/unbundled/definition16.cjs +63 -0
- package/unbundled/definition16.js +45 -0
- package/unbundled/definition17.cjs +151 -0
- package/unbundled/definition17.js +133 -0
- package/unbundled/definition18.cjs +47 -0
- package/unbundled/definition18.js +35 -0
- package/unbundled/definition19.cjs +98 -0
- package/unbundled/definition19.js +80 -0
- package/unbundled/definition2.cjs +180 -220
- package/unbundled/definition2.js +162 -215
- package/unbundled/definition20.cjs +56 -0
- package/unbundled/definition20.js +43 -0
- package/unbundled/definition21.cjs +305 -0
- package/unbundled/definition21.js +286 -0
- package/unbundled/definition22.cjs +174 -0
- package/unbundled/definition22.js +156 -0
- package/unbundled/definition23.cjs +161 -0
- package/unbundled/definition23.js +143 -0
- package/unbundled/definition24.cjs +1038 -0
- package/unbundled/definition24.js +1020 -0
- package/unbundled/definition25.cjs +360 -0
- package/unbundled/definition25.js +342 -0
- package/unbundled/definition26.cjs +137 -0
- package/unbundled/definition26.js +119 -0
- package/unbundled/definition27.cjs +235 -0
- package/unbundled/definition27.js +211 -0
- package/unbundled/definition28.cjs +546 -0
- package/unbundled/definition28.js +528 -0
- package/unbundled/definition29.cjs +157 -0
- package/unbundled/definition29.js +139 -0
- package/unbundled/definition3.cjs +131 -284
- package/unbundled/definition3.js +113 -279
- package/unbundled/definition30.cjs +75 -0
- package/unbundled/definition30.js +57 -0
- package/unbundled/definition31.cjs +1265 -0
- package/unbundled/definition31.js +1247 -0
- package/unbundled/definition32.cjs +1908 -0
- package/unbundled/definition32.js +1866 -0
- package/unbundled/definition33.cjs +261 -0
- package/unbundled/definition33.js +183 -0
- package/unbundled/definition34.cjs +46 -0
- package/unbundled/definition34.js +33 -0
- package/unbundled/definition35.cjs +152 -0
- package/unbundled/definition35.js +134 -0
- package/unbundled/definition36.cjs +426 -0
- package/unbundled/definition36.js +408 -0
- package/unbundled/definition37.cjs +243 -0
- package/unbundled/definition37.js +225 -0
- package/unbundled/definition38.cjs +409 -0
- package/unbundled/definition38.js +391 -0
- package/unbundled/definition39.cjs +298 -0
- package/unbundled/definition39.js +280 -0
- package/unbundled/definition4.cjs +186 -205
- package/unbundled/definition4.js +162 -200
- package/unbundled/definition40.cjs +81 -0
- package/unbundled/definition40.js +63 -0
- package/unbundled/definition41.cjs +100 -0
- package/unbundled/definition41.js +82 -0
- package/unbundled/definition42.cjs +457 -0
- package/unbundled/definition42.js +439 -0
- package/unbundled/definition43.cjs +86 -0
- package/unbundled/definition43.js +68 -0
- package/unbundled/definition44.cjs +60 -0
- package/unbundled/definition44.js +41 -0
- package/unbundled/definition45.cjs +124 -0
- package/unbundled/definition45.js +106 -0
- package/unbundled/definition46.cjs +85 -0
- package/unbundled/definition46.js +67 -0
- package/unbundled/definition47.cjs +52 -0
- package/unbundled/definition47.js +31 -0
- package/unbundled/definition48.cjs +69 -0
- package/unbundled/definition48.js +51 -0
- package/unbundled/definition49.cjs +377 -0
- package/unbundled/definition49.js +359 -0
- package/unbundled/definition5.cjs +69 -298
- package/unbundled/definition5.js +44 -293
- package/unbundled/definition50.cjs +246 -0
- package/unbundled/definition50.js +228 -0
- package/unbundled/definition51.cjs +337 -0
- package/unbundled/definition51.js +319 -0
- package/unbundled/definition52.cjs +86 -0
- package/unbundled/definition52.js +67 -0
- package/unbundled/definition53.cjs +193 -0
- package/unbundled/definition53.js +174 -0
- package/unbundled/definition54.cjs +297 -0
- package/unbundled/definition54.js +279 -0
- package/unbundled/definition55.cjs +510 -0
- package/unbundled/definition55.js +492 -0
- package/unbundled/definition56.cjs +12728 -0
- package/unbundled/definition56.js +12553 -0
- package/unbundled/definition57.cjs +837 -0
- package/unbundled/definition57.js +819 -0
- package/unbundled/definition58.cjs +146 -0
- package/unbundled/definition58.js +128 -0
- package/unbundled/definition59.cjs +1080 -0
- package/unbundled/definition59.js +1062 -0
- package/unbundled/definition6.cjs +88 -56
- package/unbundled/definition6.js +69 -52
- package/unbundled/definition60.cjs +149 -0
- package/unbundled/definition60.js +131 -0
- package/unbundled/definition61.cjs +116 -0
- package/unbundled/definition61.js +97 -0
- package/unbundled/definition62.cjs +213 -0
- package/unbundled/definition62.js +195 -0
- package/unbundled/definition63.cjs +159 -0
- package/unbundled/definition63.js +141 -0
- package/unbundled/definition64.cjs +86 -0
- package/unbundled/definition64.js +68 -0
- package/unbundled/definition65.cjs +126 -0
- package/unbundled/definition65.js +107 -0
- package/unbundled/definition66.cjs +49 -0
- package/unbundled/definition66.js +28 -0
- package/unbundled/definition67.cjs +119 -0
- package/unbundled/definition67.js +101 -0
- package/unbundled/definition68.cjs +374 -0
- package/unbundled/definition68.js +349 -0
- package/unbundled/definition69.cjs +57 -0
- package/unbundled/definition69.js +38 -0
- package/unbundled/definition7.cjs +190 -0
- package/unbundled/definition7.js +166 -0
- package/unbundled/definition70.cjs +155 -0
- package/unbundled/definition70.js +137 -0
- package/unbundled/definition71.cjs +302 -0
- package/unbundled/definition71.js +284 -0
- package/unbundled/definition72.cjs +49 -0
- package/unbundled/definition72.js +38 -0
- package/unbundled/definition73.cjs +171 -0
- package/unbundled/definition73.js +147 -0
- package/unbundled/definition74.cjs +232 -0
- package/unbundled/definition74.js +213 -0
- package/unbundled/definition75.cjs +52241 -0
- package/unbundled/definition75.js +52223 -0
- package/unbundled/definition8.cjs +63 -0
- package/unbundled/definition8.js +44 -0
- package/unbundled/definition9.cjs +183 -0
- package/unbundled/definition9.js +165 -0
- package/unbundled/delegates-aria.cjs +90 -131
- package/unbundled/delegates-aria.js +77 -127
- package/unbundled/dialog.cjs +15 -0
- package/unbundled/dialog.js +10 -0
- package/unbundled/divider.cjs +42 -50
- package/unbundled/divider.js +30 -47
- package/unbundled/en-US.cjs +447 -0
- package/unbundled/en-US.js +443 -0
- package/unbundled/enums.cjs +166 -107
- package/unbundled/enums.js +95 -94
- package/unbundled/form-associated.cjs +408 -463
- package/unbundled/form-associated.js +396 -460
- package/unbundled/form-element.cjs +74 -83
- package/unbundled/form-element.js +68 -81
- package/unbundled/host-semantics.cjs +70 -89
- package/unbundled/host-semantics.js +57 -85
- package/unbundled/key-codes.cjs +16 -10
- package/unbundled/key-codes.js +5 -7
- package/unbundled/linkable.cjs +35 -56
- package/unbundled/linkable.js +27 -52
- package/unbundled/listbox.cjs +363 -465
- package/unbundled/listbox.js +357 -463
- package/unbundled/localized.cjs +79 -74
- package/unbundled/localized.js +61 -70
- package/unbundled/mixins.cjs +222 -223
- package/unbundled/mixins.js +186 -211
- package/unbundled/picker-field.template.cjs +188 -217
- package/unbundled/picker-field.template.js +165 -208
- package/unbundled/playbackRates.cjs +18 -11
- package/unbundled/playbackRates.js +13 -9
- package/unbundled/scrollIntoView.cjs +38 -43
- package/unbundled/scrollIntoView.js +33 -41
- package/unbundled/single-date-picker.cjs +48 -45
- package/unbundled/single-date-picker.js +43 -43
- package/unbundled/single-value-picker.cjs +106 -114
- package/unbundled/single-value-picker.js +101 -112
- package/unbundled/slider.template.cjs +107 -73
- package/unbundled/slider.template.js +67 -62
- package/unbundled/slottable-request.cjs +3114 -3503
- package/unbundled/slottable-request.js +2995 -3484
- package/unbundled/text-field.cjs +9 -5
- package/unbundled/text-field.js +4 -3
- package/unbundled/time-selection-picker.template.cjs +611 -755
- package/unbundled/time-selection-picker.template.js +554 -742
- package/unbundled/trapped-focus.cjs +45 -35
- package/unbundled/trapped-focus.js +34 -32
- package/unbundled/vivid-element.cjs +281 -274
- package/unbundled/vivid-element.js +239 -266
- package/unbundled/with-contextual-help.cjs +35 -39
- package/unbundled/with-contextual-help.js +29 -37
- package/unbundled/with-error-text.cjs +45 -55
- package/unbundled/with-error-text.js +39 -53
- package/unbundled/with-success-text.cjs +18 -22
- package/unbundled/with-success-text.js +12 -20
- package/video-player/definition.cjs +5 -69835
- package/video-player/definition.js +1 -69828
- package/video-player/index.cjs +44 -39
- package/video-player/index.js +23517 -35507
- package/visually-hidden/definition.cjs +5 -30
- package/visually-hidden/definition.js +1 -23
- package/visually-hidden/index.cjs +1 -1
- package/visually-hidden/index.js +5 -2
- package/vivid.api.json +150 -1631
- package/bundled/index.cjs +0 -1
- package/bundled/index.js +0 -6
- package/unbundled/_commonjsHelpers.cjs +0 -40
- package/unbundled/_commonjsHelpers.js +0 -36
- package/unbundled/index.cjs +0 -11
- package/unbundled/index.js +0 -9
package/unbundled/listbox.js
CHANGED
|
@@ -1,464 +1,358 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { i as isListboxOption } from
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
import { t as VividElement } from "./vivid-element.js";
|
|
2
|
+
import { t as __decorate } from "./decorate.js";
|
|
3
|
+
import { i as isListboxOption } from "./definition27.js";
|
|
4
|
+
import { Observable, attr, observable } from "@microsoft/fast-element";
|
|
5
|
+
import { findLastIndex, keyArrowDown, keyArrowUp, keyEnd, keyEnter, keyEscape, keyHome, keySpace, keyTab, uniqueId } from "@microsoft/fast-web-utilities";
|
|
6
|
+
//#region src/shared/foundation/listbox/listbox.ts
|
|
7
|
+
var Listbox = class Listbox extends VividElement {
|
|
8
|
+
constructor(..._args) {
|
|
9
|
+
super(..._args);
|
|
10
|
+
this._options = [];
|
|
11
|
+
this.selectedIndex = -1;
|
|
12
|
+
this.selectedOptions = [];
|
|
13
|
+
this.shouldSkipFocus = false;
|
|
14
|
+
this.typeaheadBuffer = "";
|
|
15
|
+
this.typeaheadExpired = true;
|
|
16
|
+
this.typeaheadTimeout = -1;
|
|
17
|
+
this._activeDescendant = null;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* The first selected option.
|
|
21
|
+
*
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
get firstSelectedOption() {
|
|
25
|
+
return this.selectedOptions[0] ?? null;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The number of options.
|
|
29
|
+
*
|
|
30
|
+
* @public
|
|
31
|
+
*/
|
|
32
|
+
get length() {
|
|
33
|
+
return this.options.length;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* The list of options.
|
|
37
|
+
*
|
|
38
|
+
* @public
|
|
39
|
+
*/
|
|
40
|
+
get options() {
|
|
41
|
+
Observable.track(this, "options");
|
|
42
|
+
return this._options;
|
|
43
|
+
}
|
|
44
|
+
set options(value) {
|
|
45
|
+
const prev = this._options;
|
|
46
|
+
this._options = value;
|
|
47
|
+
Observable.notify(this, "options");
|
|
48
|
+
if (this.$fastController.isConnected) {
|
|
49
|
+
const newSelectedIndex = this._newDefaultSelectedIndex(prev, value, this.selectedIndex);
|
|
50
|
+
if (newSelectedIndex !== null) this.selectedIndex = newSelectedIndex;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
static {
|
|
54
|
+
this.slottedOptionFilter = (n) => isListboxOption(n) && !n.hidden;
|
|
55
|
+
}
|
|
56
|
+
static {
|
|
57
|
+
this.TYPE_AHEAD_TIMEOUT_MS = 1e3;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Handle click events for listbox options.
|
|
61
|
+
*
|
|
62
|
+
* @internal
|
|
63
|
+
*/
|
|
64
|
+
clickHandler(e) {
|
|
65
|
+
const captured = e.target.closest(`option,[role=option],[data-vvd-component=option]`);
|
|
66
|
+
if (captured && !captured.disabled) {
|
|
67
|
+
this.selectedIndex = this.options.indexOf(captured);
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Ensures that the provided option is focused and scrolled into view.
|
|
73
|
+
*
|
|
74
|
+
* @param optionToFocus - The option to focus
|
|
75
|
+
* @internal
|
|
76
|
+
*/
|
|
77
|
+
focusAndScrollOptionIntoView(optionToFocus = this.firstSelectedOption) {
|
|
78
|
+
if (this.contains(document.activeElement) && optionToFocus !== null) {
|
|
79
|
+
optionToFocus.focus();
|
|
80
|
+
requestAnimationFrame(() => {
|
|
81
|
+
optionToFocus.scrollIntoView({ block: "nearest" });
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Handles `focusin` actions for the component. When the component receives focus,
|
|
87
|
+
* the list of selected options is refreshed and the first selected option is scrolled
|
|
88
|
+
* into view.
|
|
89
|
+
*
|
|
90
|
+
* @internal
|
|
91
|
+
*/
|
|
92
|
+
focusinHandler(e) {
|
|
93
|
+
if (!this.shouldSkipFocus && e.target === e.currentTarget) {
|
|
94
|
+
this.setSelectedOptions();
|
|
95
|
+
this.focusAndScrollOptionIntoView();
|
|
96
|
+
}
|
|
97
|
+
this.shouldSkipFocus = false;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Returns the options which match the current typeahead buffer.
|
|
101
|
+
*
|
|
102
|
+
* @internal
|
|
103
|
+
*/
|
|
104
|
+
getTypeaheadMatches() {
|
|
105
|
+
const pattern = this.typeaheadBuffer.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&");
|
|
106
|
+
const re = new RegExp(`^${pattern}`, "gi");
|
|
107
|
+
return this.options.filter((o) => o.text.trim().match(re));
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Finds the index of the next non-disabled option starting from the given index.
|
|
111
|
+
*
|
|
112
|
+
* @param fromIndex - The index to start searching from (inclusive)
|
|
113
|
+
* @returns The index of the next selectable option, or -1 if none found
|
|
114
|
+
* @internal
|
|
115
|
+
*/
|
|
116
|
+
getNextSelectableIndex(fromIndex) {
|
|
117
|
+
const nextSelectableOption = this.options.reduce((nextSelectableOption, thisOption, index) => !nextSelectableOption && !thisOption.disabled && index >= fromIndex ? thisOption : nextSelectableOption, null);
|
|
118
|
+
return this.options.indexOf(nextSelectableOption);
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Finds the index of the previous non-disabled option starting from the given index.
|
|
122
|
+
*
|
|
123
|
+
* @param fromIndex - The index to start searching from (inclusive)
|
|
124
|
+
* @returns The index of the previous selectable option, or -1 if none found
|
|
125
|
+
* @internal
|
|
126
|
+
*/
|
|
127
|
+
getPreviousSelectableIndex(fromIndex) {
|
|
128
|
+
const previousSelectableOption = this.options.reduceRight((previousSelectableOption, thisOption, index) => !previousSelectableOption && !thisOption.disabled && index <= fromIndex ? thisOption : previousSelectableOption, null);
|
|
129
|
+
return this.options.indexOf(previousSelectableOption);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Handles external changes to child options.
|
|
133
|
+
*
|
|
134
|
+
* @param source - the source object
|
|
135
|
+
* @param propertyName - the property
|
|
136
|
+
*
|
|
137
|
+
* @internal
|
|
138
|
+
*/
|
|
139
|
+
handleChange(source, propertyName) {
|
|
140
|
+
switch (propertyName) {
|
|
141
|
+
case "selected":
|
|
142
|
+
/* v8 ignore else -- @preserve */
|
|
143
|
+
if (Listbox.slottedOptionFilter(source)) this.selectedIndex = this.options.indexOf(source);
|
|
144
|
+
this.setSelectedOptions();
|
|
145
|
+
break;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Moves focus to an option whose label matches characters typed by the user.
|
|
150
|
+
* Consecutive keystrokes are batched into a buffer of search text used
|
|
151
|
+
* to match against the set of options. If `TYPE_AHEAD_TIMEOUT_MS` passes
|
|
152
|
+
* between consecutive keystrokes, the search restarts.
|
|
153
|
+
*
|
|
154
|
+
* @param key - the key to be evaluated
|
|
155
|
+
*
|
|
156
|
+
* @internal
|
|
157
|
+
*/
|
|
158
|
+
handleTypeAhead(key) {
|
|
159
|
+
/* v8 ignore else -- @preserve */
|
|
160
|
+
if (this.typeaheadTimeout) window.clearTimeout(this.typeaheadTimeout);
|
|
161
|
+
this.typeaheadTimeout = window.setTimeout(() => this.typeaheadExpired = true, Listbox.TYPE_AHEAD_TIMEOUT_MS);
|
|
162
|
+
this.typeaheadBuffer = `${this.typeaheadExpired ? "" : this.typeaheadBuffer}${key}`;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Handles `keydown` actions for listbox navigation and typeahead.
|
|
166
|
+
*
|
|
167
|
+
* @internal
|
|
168
|
+
*/
|
|
169
|
+
keydownHandler(e) {
|
|
170
|
+
if (this.disabled) return true;
|
|
171
|
+
this.shouldSkipFocus = false;
|
|
172
|
+
const key = e.key;
|
|
173
|
+
switch (key) {
|
|
174
|
+
case keyHome:
|
|
175
|
+
/* v8 ignore else -- @preserve */
|
|
176
|
+
if (!e.shiftKey) {
|
|
177
|
+
e.preventDefault();
|
|
178
|
+
this.selectFirstOption();
|
|
179
|
+
}
|
|
180
|
+
break;
|
|
181
|
+
case keyArrowDown:
|
|
182
|
+
/* v8 ignore else -- @preserve */
|
|
183
|
+
if (!e.shiftKey) {
|
|
184
|
+
e.preventDefault();
|
|
185
|
+
this.selectNextOption();
|
|
186
|
+
}
|
|
187
|
+
break;
|
|
188
|
+
case keyArrowUp:
|
|
189
|
+
/* v8 ignore else -- @preserve */
|
|
190
|
+
if (!e.shiftKey) {
|
|
191
|
+
e.preventDefault();
|
|
192
|
+
this.selectPreviousOption();
|
|
193
|
+
}
|
|
194
|
+
break;
|
|
195
|
+
case keyEnd:
|
|
196
|
+
e.preventDefault();
|
|
197
|
+
this.selectLastOption();
|
|
198
|
+
break;
|
|
199
|
+
case keyTab:
|
|
200
|
+
this.focusAndScrollOptionIntoView();
|
|
201
|
+
return true;
|
|
202
|
+
case keyEnter:
|
|
203
|
+
case keyEscape: return true;
|
|
204
|
+
case keySpace:
|
|
205
|
+
/* v8 ignore else -- @preserve */
|
|
206
|
+
if (this.typeaheadExpired) return true;
|
|
207
|
+
default:
|
|
208
|
+
/* v8 ignore else -- @preserve */
|
|
209
|
+
if (key.length === 1) this.handleTypeAhead(`${key}`);
|
|
210
|
+
return true;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Prevents `focusin` events from firing before `click` events when the
|
|
215
|
+
* element is unfocused.
|
|
216
|
+
*
|
|
217
|
+
* @internal
|
|
218
|
+
*/
|
|
219
|
+
mousedownHandler(_) {
|
|
220
|
+
this.shouldSkipFocus = !this.contains(document.activeElement);
|
|
221
|
+
return true;
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Updates the list of selected options when the `selectedIndex` changes.
|
|
225
|
+
*
|
|
226
|
+
* @param prev - the previous selected index value
|
|
227
|
+
* @param next - the current selected index value
|
|
228
|
+
*
|
|
229
|
+
* @internal
|
|
230
|
+
*/
|
|
231
|
+
selectedIndexChanged(prev, next) {
|
|
232
|
+
const validNext = this._validSelectedIndex(next);
|
|
233
|
+
if (next !== validNext) {
|
|
234
|
+
this.selectedIndex = validNext;
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
237
|
+
this.setSelectedOptions();
|
|
238
|
+
}
|
|
239
|
+
_validSelectedIndex(index) {
|
|
240
|
+
return index > this.options.length - 1 || index < -1 ? -1 : index;
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Updates the selectedness of each option when the list of selected options changes.
|
|
244
|
+
*
|
|
245
|
+
* @internal
|
|
246
|
+
*/
|
|
247
|
+
selectedOptionsChanged(_, next) {
|
|
248
|
+
const filteredNext = next.filter(Listbox.slottedOptionFilter);
|
|
249
|
+
this.options.forEach((o) => {
|
|
250
|
+
const notifier = Observable.getNotifier(o);
|
|
251
|
+
notifier.unsubscribe(this, "selected");
|
|
252
|
+
o.selected = filteredNext.includes(o);
|
|
253
|
+
notifier.subscribe(this, "selected");
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Moves focus to the first selectable option.
|
|
258
|
+
*
|
|
259
|
+
* @public
|
|
260
|
+
*/
|
|
261
|
+
selectFirstOption() {
|
|
262
|
+
/* v8 ignore else -- @preserve */
|
|
263
|
+
if (!this.disabled) this.selectedIndex = this.options.findIndex((o) => !o.disabled);
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Moves focus to the last selectable option.
|
|
267
|
+
*
|
|
268
|
+
* @internal
|
|
269
|
+
*/
|
|
270
|
+
selectLastOption() {
|
|
271
|
+
/* v8 ignore else -- @preserve */
|
|
272
|
+
if (!this.disabled) this.selectedIndex = findLastIndex(this.options, (o) => !o.disabled);
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Moves focus to the next selectable option.
|
|
276
|
+
*
|
|
277
|
+
* @internal
|
|
278
|
+
*/
|
|
279
|
+
selectNextOption() {
|
|
280
|
+
/* v8 ignore else -- @preserve */
|
|
281
|
+
if (!this.disabled && this.selectedIndex < this.options.length - 1) {
|
|
282
|
+
const nextIndex = this.getNextSelectableIndex(this.selectedIndex + 1);
|
|
283
|
+
if (nextIndex !== -1) this.selectedIndex = nextIndex;
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Moves focus to the previous selectable option.
|
|
288
|
+
*
|
|
289
|
+
* @internal
|
|
290
|
+
*/
|
|
291
|
+
selectPreviousOption() {
|
|
292
|
+
/* v8 ignore else -- @preserve */
|
|
293
|
+
if (!this.disabled && this.selectedIndex > 0) {
|
|
294
|
+
const prevIndex = this.getPreviousSelectableIndex(this.selectedIndex - 1);
|
|
295
|
+
if (prevIndex !== -1) this.selectedIndex = prevIndex;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
_newDefaultSelectedIndex(prev, next, currentSelectedIndex) {
|
|
299
|
+
for (const [index, newOption] of next.entries()) if (this._isDefaultSelected(newOption) && !prev.includes(newOption)) return index;
|
|
300
|
+
return null;
|
|
301
|
+
}
|
|
302
|
+
_isDefaultSelected(option) {
|
|
303
|
+
return option.defaultSelected;
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Sets an option as selected and gives it focus.
|
|
307
|
+
*
|
|
308
|
+
* @public
|
|
309
|
+
*/
|
|
310
|
+
setSelectedOptions() {
|
|
311
|
+
this.selectedOptions = this.selectedIndex !== -1 ? [this.options[this.selectedIndex]] : [];
|
|
312
|
+
this._activeDescendant = this.firstSelectedOption?.id ?? "";
|
|
313
|
+
this.focusAndScrollOptionIntoView();
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Updates the list of options and resets the selected option when the slotted option content changes.
|
|
317
|
+
*
|
|
318
|
+
* @internal
|
|
319
|
+
*/
|
|
320
|
+
slottedOptionsChanged(_, next) {
|
|
321
|
+
this.options = next.reduce((options, item) => {
|
|
322
|
+
/* v8 ignore else -- @preserve */
|
|
323
|
+
if (isListboxOption(item)) options.push(item);
|
|
324
|
+
return options;
|
|
325
|
+
}, []);
|
|
326
|
+
const setSize = `${this.options.length}`;
|
|
327
|
+
this.options.forEach((option, index) => {
|
|
328
|
+
if (!option.id) option.id = uniqueId("option-");
|
|
329
|
+
option.ariaPosInSet = `${index + 1}`;
|
|
330
|
+
option.ariaSetSize = setSize;
|
|
331
|
+
});
|
|
332
|
+
}
|
|
333
|
+
/**
|
|
334
|
+
* Updates the filtered list of options when the typeahead buffer changes.
|
|
335
|
+
*
|
|
336
|
+
* @internal
|
|
337
|
+
*/
|
|
338
|
+
typeaheadBufferChanged(_prev, _next) {
|
|
339
|
+
if (this.$fastController.isConnected) {
|
|
340
|
+
const typeaheadMatches = this.getTypeaheadMatches();
|
|
341
|
+
/* v8 ignore else -- @preserve */
|
|
342
|
+
if (typeaheadMatches.length) {
|
|
343
|
+
const selectedIndex = this.options.indexOf(typeaheadMatches[0]);
|
|
344
|
+
/* v8 ignore else -- @preserve */
|
|
345
|
+
if (selectedIndex > -1) this.selectedIndex = selectedIndex;
|
|
346
|
+
}
|
|
347
|
+
this.typeaheadExpired = false;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
14
350
|
};
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
this._options = [];
|
|
24
|
-
this.selectedIndex = -1;
|
|
25
|
-
this.selectedOptions = [];
|
|
26
|
-
/**
|
|
27
|
-
* A standard `click` event creates a `focus` event before firing, so a
|
|
28
|
-
* `mousedown` event is used to skip that initial focus.
|
|
29
|
-
*
|
|
30
|
-
* @internal
|
|
31
|
-
*/
|
|
32
|
-
this.shouldSkipFocus = false;
|
|
33
|
-
this.typeaheadBuffer = "";
|
|
34
|
-
/**
|
|
35
|
-
* Flag for the typeahead timeout expiration.
|
|
36
|
-
*
|
|
37
|
-
* @internal
|
|
38
|
-
*/
|
|
39
|
-
this.typeaheadExpired = true;
|
|
40
|
-
/**
|
|
41
|
-
* The timeout ID for the typeahead handler.
|
|
42
|
-
*
|
|
43
|
-
* @internal
|
|
44
|
-
*/
|
|
45
|
-
this.typeaheadTimeout = -1;
|
|
46
|
-
this._activeDescendant = null;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* The first selected option.
|
|
50
|
-
*
|
|
51
|
-
* @internal
|
|
52
|
-
*/
|
|
53
|
-
get firstSelectedOption() {
|
|
54
|
-
return this.selectedOptions[0] ?? null;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* The number of options.
|
|
58
|
-
*
|
|
59
|
-
* @public
|
|
60
|
-
*/
|
|
61
|
-
get length() {
|
|
62
|
-
return this.options.length;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* The list of options.
|
|
66
|
-
*
|
|
67
|
-
* @public
|
|
68
|
-
*/
|
|
69
|
-
get options() {
|
|
70
|
-
Observable.track(this, "options");
|
|
71
|
-
return this._options;
|
|
72
|
-
}
|
|
73
|
-
set options(value) {
|
|
74
|
-
const prev = this._options;
|
|
75
|
-
this._options = value;
|
|
76
|
-
Observable.notify(this, "options");
|
|
77
|
-
if (this.$fastController.isConnected) {
|
|
78
|
-
const newSelectedIndex = this._newDefaultSelectedIndex(
|
|
79
|
-
prev,
|
|
80
|
-
value,
|
|
81
|
-
this.selectedIndex
|
|
82
|
-
);
|
|
83
|
-
if (newSelectedIndex !== null) {
|
|
84
|
-
this.selectedIndex = newSelectedIndex;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
static {
|
|
89
|
-
/**
|
|
90
|
-
* A static filter to include only selectable options.
|
|
91
|
-
*
|
|
92
|
-
* @param n - element to filter
|
|
93
|
-
* @public
|
|
94
|
-
*/
|
|
95
|
-
this.slottedOptionFilter = (n) => isListboxOption(n) && !n.hidden;
|
|
96
|
-
}
|
|
97
|
-
static {
|
|
98
|
-
/**
|
|
99
|
-
* Typeahead timeout in milliseconds.
|
|
100
|
-
*
|
|
101
|
-
* @internal
|
|
102
|
-
*/
|
|
103
|
-
this.TYPE_AHEAD_TIMEOUT_MS = 1e3;
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Handle click events for listbox options.
|
|
107
|
-
*
|
|
108
|
-
* @internal
|
|
109
|
-
*/
|
|
110
|
-
clickHandler(e) {
|
|
111
|
-
const captured = e.target.closest(
|
|
112
|
-
`option,[role=option],[data-vvd-component=option]`
|
|
113
|
-
);
|
|
114
|
-
if (captured && !captured.disabled) {
|
|
115
|
-
this.selectedIndex = this.options.indexOf(captured);
|
|
116
|
-
return true;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Ensures that the provided option is focused and scrolled into view.
|
|
121
|
-
*
|
|
122
|
-
* @param optionToFocus - The option to focus
|
|
123
|
-
* @internal
|
|
124
|
-
*/
|
|
125
|
-
focusAndScrollOptionIntoView(optionToFocus = this.firstSelectedOption) {
|
|
126
|
-
if (this.contains(document.activeElement) && optionToFocus !== null) {
|
|
127
|
-
optionToFocus.focus();
|
|
128
|
-
requestAnimationFrame(() => {
|
|
129
|
-
optionToFocus.scrollIntoView({ block: "nearest" });
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Handles `focusin` actions for the component. When the component receives focus,
|
|
135
|
-
* the list of selected options is refreshed and the first selected option is scrolled
|
|
136
|
-
* into view.
|
|
137
|
-
*
|
|
138
|
-
* @internal
|
|
139
|
-
*/
|
|
140
|
-
focusinHandler(e) {
|
|
141
|
-
if (!this.shouldSkipFocus && e.target === e.currentTarget) {
|
|
142
|
-
this.setSelectedOptions();
|
|
143
|
-
this.focusAndScrollOptionIntoView();
|
|
144
|
-
}
|
|
145
|
-
this.shouldSkipFocus = false;
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Returns the options which match the current typeahead buffer.
|
|
149
|
-
*
|
|
150
|
-
* @internal
|
|
151
|
-
*/
|
|
152
|
-
getTypeaheadMatches() {
|
|
153
|
-
const pattern = this.typeaheadBuffer.replace(
|
|
154
|
-
/[.*+\-?^${}()|[\]\\]/g,
|
|
155
|
-
"\\$&"
|
|
156
|
-
);
|
|
157
|
-
const re = new RegExp(`^${pattern}`, "gi");
|
|
158
|
-
return this.options.filter((o) => o.text.trim().match(re));
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Finds the index of the next non-disabled option starting from the given index.
|
|
162
|
-
*
|
|
163
|
-
* @param fromIndex - The index to start searching from (inclusive)
|
|
164
|
-
* @returns The index of the next selectable option, or -1 if none found
|
|
165
|
-
* @internal
|
|
166
|
-
*/
|
|
167
|
-
getNextSelectableIndex(fromIndex) {
|
|
168
|
-
const nextSelectableOption = this.options.reduce(
|
|
169
|
-
(nextSelectableOption2, thisOption, index) => !nextSelectableOption2 && !thisOption.disabled && index >= fromIndex ? thisOption : nextSelectableOption2,
|
|
170
|
-
null
|
|
171
|
-
);
|
|
172
|
-
return this.options.indexOf(nextSelectableOption);
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Finds the index of the previous non-disabled option starting from the given index.
|
|
176
|
-
*
|
|
177
|
-
* @param fromIndex - The index to start searching from (inclusive)
|
|
178
|
-
* @returns The index of the previous selectable option, or -1 if none found
|
|
179
|
-
* @internal
|
|
180
|
-
*/
|
|
181
|
-
getPreviousSelectableIndex(fromIndex) {
|
|
182
|
-
const previousSelectableOption = this.options.reduceRight(
|
|
183
|
-
(previousSelectableOption2, thisOption, index) => !previousSelectableOption2 && !thisOption.disabled && index <= fromIndex ? thisOption : previousSelectableOption2,
|
|
184
|
-
null
|
|
185
|
-
);
|
|
186
|
-
return this.options.indexOf(previousSelectableOption);
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Handles external changes to child options.
|
|
190
|
-
*
|
|
191
|
-
* @param source - the source object
|
|
192
|
-
* @param propertyName - the property
|
|
193
|
-
*
|
|
194
|
-
* @internal
|
|
195
|
-
*/
|
|
196
|
-
handleChange(source, propertyName) {
|
|
197
|
-
switch (propertyName) {
|
|
198
|
-
case "selected": {
|
|
199
|
-
if (_Listbox.slottedOptionFilter(source)) {
|
|
200
|
-
this.selectedIndex = this.options.indexOf(source);
|
|
201
|
-
}
|
|
202
|
-
this.setSelectedOptions();
|
|
203
|
-
break;
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
/**
|
|
208
|
-
* Moves focus to an option whose label matches characters typed by the user.
|
|
209
|
-
* Consecutive keystrokes are batched into a buffer of search text used
|
|
210
|
-
* to match against the set of options. If `TYPE_AHEAD_TIMEOUT_MS` passes
|
|
211
|
-
* between consecutive keystrokes, the search restarts.
|
|
212
|
-
*
|
|
213
|
-
* @param key - the key to be evaluated
|
|
214
|
-
*
|
|
215
|
-
* @internal
|
|
216
|
-
*/
|
|
217
|
-
handleTypeAhead(key) {
|
|
218
|
-
if (this.typeaheadTimeout) {
|
|
219
|
-
window.clearTimeout(this.typeaheadTimeout);
|
|
220
|
-
}
|
|
221
|
-
this.typeaheadTimeout = window.setTimeout(
|
|
222
|
-
() => this.typeaheadExpired = true,
|
|
223
|
-
_Listbox.TYPE_AHEAD_TIMEOUT_MS
|
|
224
|
-
);
|
|
225
|
-
this.typeaheadBuffer = `${this.typeaheadExpired ? "" : this.typeaheadBuffer}${key}`;
|
|
226
|
-
}
|
|
227
|
-
/**
|
|
228
|
-
* Handles `keydown` actions for listbox navigation and typeahead.
|
|
229
|
-
*
|
|
230
|
-
* @internal
|
|
231
|
-
*/
|
|
232
|
-
keydownHandler(e) {
|
|
233
|
-
if (this.disabled) {
|
|
234
|
-
return true;
|
|
235
|
-
}
|
|
236
|
-
this.shouldSkipFocus = false;
|
|
237
|
-
const key = e.key;
|
|
238
|
-
switch (key) {
|
|
239
|
-
// Select the first available option
|
|
240
|
-
case keyHome: {
|
|
241
|
-
if (!e.shiftKey) {
|
|
242
|
-
e.preventDefault();
|
|
243
|
-
this.selectFirstOption();
|
|
244
|
-
}
|
|
245
|
-
break;
|
|
246
|
-
}
|
|
247
|
-
// Select the next selectable option
|
|
248
|
-
case keyArrowDown: {
|
|
249
|
-
if (!e.shiftKey) {
|
|
250
|
-
e.preventDefault();
|
|
251
|
-
this.selectNextOption();
|
|
252
|
-
}
|
|
253
|
-
break;
|
|
254
|
-
}
|
|
255
|
-
// Select the previous selectable option
|
|
256
|
-
case keyArrowUp: {
|
|
257
|
-
if (!e.shiftKey) {
|
|
258
|
-
e.preventDefault();
|
|
259
|
-
this.selectPreviousOption();
|
|
260
|
-
}
|
|
261
|
-
break;
|
|
262
|
-
}
|
|
263
|
-
// Select the last available option
|
|
264
|
-
case keyEnd: {
|
|
265
|
-
e.preventDefault();
|
|
266
|
-
this.selectLastOption();
|
|
267
|
-
break;
|
|
268
|
-
}
|
|
269
|
-
case keyTab: {
|
|
270
|
-
this.focusAndScrollOptionIntoView();
|
|
271
|
-
return true;
|
|
272
|
-
}
|
|
273
|
-
case keyEnter:
|
|
274
|
-
case keyEscape:
|
|
275
|
-
return true;
|
|
276
|
-
// @ts-expect-error - fallthrough case
|
|
277
|
-
case keySpace: {
|
|
278
|
-
if (this.typeaheadExpired) {
|
|
279
|
-
return true;
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
// fallthrough:
|
|
283
|
-
default: {
|
|
284
|
-
if (key.length === 1) {
|
|
285
|
-
this.handleTypeAhead(`${key}`);
|
|
286
|
-
}
|
|
287
|
-
return true;
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
/**
|
|
292
|
-
* Prevents `focusin` events from firing before `click` events when the
|
|
293
|
-
* element is unfocused.
|
|
294
|
-
*
|
|
295
|
-
* @internal
|
|
296
|
-
*/
|
|
297
|
-
mousedownHandler(_) {
|
|
298
|
-
this.shouldSkipFocus = !this.contains(document.activeElement);
|
|
299
|
-
return true;
|
|
300
|
-
}
|
|
301
|
-
/**
|
|
302
|
-
* Updates the list of selected options when the `selectedIndex` changes.
|
|
303
|
-
*
|
|
304
|
-
* @param prev - the previous selected index value
|
|
305
|
-
* @param next - the current selected index value
|
|
306
|
-
*
|
|
307
|
-
* @internal
|
|
308
|
-
*/
|
|
309
|
-
selectedIndexChanged(prev, next) {
|
|
310
|
-
const validNext = this._validSelectedIndex(next);
|
|
311
|
-
if (next !== validNext) {
|
|
312
|
-
this.selectedIndex = validNext;
|
|
313
|
-
return;
|
|
314
|
-
}
|
|
315
|
-
this.setSelectedOptions();
|
|
316
|
-
}
|
|
317
|
-
_validSelectedIndex(index) {
|
|
318
|
-
const outOfRange = index > this.options.length - 1 || index < -1;
|
|
319
|
-
return outOfRange ? -1 : index;
|
|
320
|
-
}
|
|
321
|
-
/**
|
|
322
|
-
* Updates the selectedness of each option when the list of selected options changes.
|
|
323
|
-
*
|
|
324
|
-
* @internal
|
|
325
|
-
*/
|
|
326
|
-
selectedOptionsChanged(_, next) {
|
|
327
|
-
const filteredNext = next.filter(_Listbox.slottedOptionFilter);
|
|
328
|
-
this.options.forEach((o) => {
|
|
329
|
-
const notifier = Observable.getNotifier(o);
|
|
330
|
-
notifier.unsubscribe(this, "selected");
|
|
331
|
-
o.selected = filteredNext.includes(o);
|
|
332
|
-
notifier.subscribe(this, "selected");
|
|
333
|
-
});
|
|
334
|
-
}
|
|
335
|
-
/**
|
|
336
|
-
* Moves focus to the first selectable option.
|
|
337
|
-
*
|
|
338
|
-
* @public
|
|
339
|
-
*/
|
|
340
|
-
selectFirstOption() {
|
|
341
|
-
if (!this.disabled) {
|
|
342
|
-
this.selectedIndex = this.options.findIndex((o) => !o.disabled);
|
|
343
|
-
}
|
|
344
|
-
}
|
|
345
|
-
/**
|
|
346
|
-
* Moves focus to the last selectable option.
|
|
347
|
-
*
|
|
348
|
-
* @internal
|
|
349
|
-
*/
|
|
350
|
-
selectLastOption() {
|
|
351
|
-
if (!this.disabled) {
|
|
352
|
-
this.selectedIndex = findLastIndex(this.options, (o) => !o.disabled);
|
|
353
|
-
}
|
|
354
|
-
}
|
|
355
|
-
/**
|
|
356
|
-
* Moves focus to the next selectable option.
|
|
357
|
-
*
|
|
358
|
-
* @internal
|
|
359
|
-
*/
|
|
360
|
-
selectNextOption() {
|
|
361
|
-
if (!this.disabled && this.selectedIndex < this.options.length - 1) {
|
|
362
|
-
const nextIndex = this.getNextSelectableIndex(this.selectedIndex + 1);
|
|
363
|
-
if (nextIndex !== -1) {
|
|
364
|
-
this.selectedIndex = nextIndex;
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
/**
|
|
369
|
-
* Moves focus to the previous selectable option.
|
|
370
|
-
*
|
|
371
|
-
* @internal
|
|
372
|
-
*/
|
|
373
|
-
selectPreviousOption() {
|
|
374
|
-
if (!this.disabled && this.selectedIndex > 0) {
|
|
375
|
-
const prevIndex = this.getPreviousSelectableIndex(this.selectedIndex - 1);
|
|
376
|
-
if (prevIndex !== -1) {
|
|
377
|
-
this.selectedIndex = prevIndex;
|
|
378
|
-
}
|
|
379
|
-
}
|
|
380
|
-
}
|
|
381
|
-
/// For this options change, determine if selectedIndex should change based on defaultSelected. Otherwise, returns null.
|
|
382
|
-
_newDefaultSelectedIndex(prev, next, currentSelectedIndex) {
|
|
383
|
-
for (const [index, newOption] of next.entries()) {
|
|
384
|
-
if (this._isDefaultSelected(newOption) && !prev.includes(newOption)) {
|
|
385
|
-
return index;
|
|
386
|
-
}
|
|
387
|
-
}
|
|
388
|
-
return null;
|
|
389
|
-
}
|
|
390
|
-
/// Whether an option should be considered defaultSelected
|
|
391
|
-
_isDefaultSelected(option) {
|
|
392
|
-
return option.defaultSelected;
|
|
393
|
-
}
|
|
394
|
-
/**
|
|
395
|
-
* Sets an option as selected and gives it focus.
|
|
396
|
-
*
|
|
397
|
-
* @public
|
|
398
|
-
*/
|
|
399
|
-
setSelectedOptions() {
|
|
400
|
-
this.selectedOptions = this.selectedIndex !== -1 ? [this.options[this.selectedIndex]] : [];
|
|
401
|
-
this._activeDescendant = this.firstSelectedOption?.id ?? "";
|
|
402
|
-
this.focusAndScrollOptionIntoView();
|
|
403
|
-
}
|
|
404
|
-
/**
|
|
405
|
-
* Updates the list of options and resets the selected option when the slotted option content changes.
|
|
406
|
-
*
|
|
407
|
-
* @internal
|
|
408
|
-
*/
|
|
409
|
-
slottedOptionsChanged(_, next) {
|
|
410
|
-
this.options = next.reduce((options, item) => {
|
|
411
|
-
if (isListboxOption(item)) {
|
|
412
|
-
options.push(item);
|
|
413
|
-
}
|
|
414
|
-
return options;
|
|
415
|
-
}, []);
|
|
416
|
-
const setSize = `${this.options.length}`;
|
|
417
|
-
this.options.forEach((option, index) => {
|
|
418
|
-
if (!option.id) {
|
|
419
|
-
option.id = uniqueId("option-");
|
|
420
|
-
}
|
|
421
|
-
option.ariaPosInSet = `${index + 1}`;
|
|
422
|
-
option.ariaSetSize = setSize;
|
|
423
|
-
});
|
|
424
|
-
}
|
|
425
|
-
/**
|
|
426
|
-
* Updates the filtered list of options when the typeahead buffer changes.
|
|
427
|
-
*
|
|
428
|
-
* @internal
|
|
429
|
-
*/
|
|
430
|
-
typeaheadBufferChanged(_prev, _next) {
|
|
431
|
-
if (this.$fastController.isConnected) {
|
|
432
|
-
const typeaheadMatches = this.getTypeaheadMatches();
|
|
433
|
-
if (typeaheadMatches.length) {
|
|
434
|
-
const selectedIndex = this.options.indexOf(typeaheadMatches[0]);
|
|
435
|
-
if (selectedIndex > -1) {
|
|
436
|
-
this.selectedIndex = selectedIndex;
|
|
437
|
-
}
|
|
438
|
-
}
|
|
439
|
-
this.typeaheadExpired = false;
|
|
440
|
-
}
|
|
441
|
-
}
|
|
442
|
-
};
|
|
443
|
-
// @ts-expect-error Type is incorrectly non-optional
|
|
444
|
-
__decorateClass([
|
|
445
|
-
attr({ mode: "boolean" })
|
|
446
|
-
], _Listbox.prototype, "disabled");
|
|
447
|
-
__decorateClass([
|
|
448
|
-
observable
|
|
449
|
-
], _Listbox.prototype, "selectedIndex");
|
|
450
|
-
__decorateClass([
|
|
451
|
-
observable
|
|
452
|
-
], _Listbox.prototype, "selectedOptions");
|
|
453
|
-
__decorateClass([
|
|
454
|
-
observable
|
|
455
|
-
], _Listbox.prototype, "slottedOptions");
|
|
456
|
-
__decorateClass([
|
|
457
|
-
observable
|
|
458
|
-
], _Listbox.prototype, "typeaheadBuffer");
|
|
459
|
-
__decorateClass([
|
|
460
|
-
observable
|
|
461
|
-
], _Listbox.prototype, "_activeDescendant");
|
|
462
|
-
let Listbox = _Listbox;
|
|
463
|
-
|
|
464
|
-
export { Listbox as L };
|
|
351
|
+
__decorate([attr({ mode: "boolean" })], Listbox.prototype, "disabled", void 0);
|
|
352
|
+
__decorate([observable], Listbox.prototype, "selectedIndex", void 0);
|
|
353
|
+
__decorate([observable], Listbox.prototype, "selectedOptions", void 0);
|
|
354
|
+
__decorate([observable], Listbox.prototype, "slottedOptions", void 0);
|
|
355
|
+
__decorate([observable], Listbox.prototype, "typeaheadBuffer", void 0);
|
|
356
|
+
__decorate([observable], Listbox.prototype, "_activeDescendant", void 0);
|
|
357
|
+
//#endregion
|
|
358
|
+
export { Listbox as t };
|