@vonage/vivid 5.0.0 → 5.2.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/{shared/definition2.cjs → accordion/definition.cjs} +20 -20
- package/{shared/definition2.js → accordion/definition.js} +5 -7
- package/accordion/index.cjs +5 -5
- package/accordion/index.js +129 -3
- package/accordion-item/definition.cjs +145 -0
- package/accordion-item/definition.js +139 -0
- package/accordion-item/index.cjs +1 -5
- package/accordion-item/index.js +2 -3
- package/{shared/definition3.cjs → action-group/definition.cjs} +12 -9
- package/{shared/definition3.js → action-group/definition.js} +5 -4
- package/action-group/index.cjs +6 -5
- package/action-group/index.js +49 -3
- package/{shared/definition4.cjs → alert/definition.cjs} +33 -31
- package/{shared/definition4.js → alert/definition.js} +11 -11
- package/alert/index.cjs +30 -5
- package/alert/index.js +158 -3
- package/{shared/definition5.cjs → audio-player/definition.cjs} +95 -61
- package/{shared/definition5.js → audio-player/definition.js} +48 -16
- package/audio-player/index.cjs +68 -4
- package/audio-player/index.js +333 -2
- package/{shared/definition6.cjs → avatar/definition.cjs} +28 -26
- package/{shared/definition6.js → avatar/definition.js} +7 -7
- package/avatar/index.cjs +18 -5
- package/avatar/index.js +93 -3
- package/{shared/definition7.cjs → badge/definition.cjs} +18 -16
- package/{shared/definition7.js → badge/definition.js} +6 -6
- package/badge/index.cjs +4 -5
- package/badge/index.js +66 -3
- package/{shared/definition8.cjs → banner/definition.cjs} +26 -25
- package/{shared/definition8.js → banner/definition.js} +10 -11
- package/banner/index.cjs +29 -4
- package/banner/index.js +128 -2
- package/{shared/definition10.cjs → breadcrumb/definition.cjs} +11 -9
- package/{shared/definition10.js → breadcrumb/definition.js} +5 -5
- package/breadcrumb/index.cjs +12 -5
- package/breadcrumb/index.js +69 -3
- package/{shared/definition9.cjs → breadcrumb-item/definition.cjs} +18 -15
- package/{shared/definition9.js → breadcrumb-item/definition.js} +7 -7
- package/breadcrumb-item/index.cjs +5 -5
- package/breadcrumb-item/index.js +33 -3
- package/bundled/_has.cjs +1 -0
- package/bundled/_has.js +34 -0
- package/bundled/affix.cjs +13 -0
- package/bundled/affix.js +63 -0
- package/bundled/anchored.cjs +4 -0
- package/bundled/anchored.js +67 -0
- package/bundled/aria.cjs +1 -0
- package/bundled/aria.js +7 -0
- package/bundled/attribute-binding-behaviour.cjs +1 -0
- package/bundled/attribute-binding-behaviour.js +27 -0
- package/bundled/base-progress.cjs +1 -0
- package/bundled/base-progress.js +57 -0
- package/bundled/breadcrumb-item.cjs +1 -0
- package/bundled/breadcrumb-item.js +21 -0
- package/bundled/button.cjs +1 -0
- package/bundled/button.js +106 -0
- package/bundled/calendar-event.cjs +1 -0
- package/bundled/calendar-event.js +34 -0
- package/bundled/calendar-picker.template.cjs +148 -0
- package/bundled/calendar-picker.template.js +3371 -0
- package/bundled/char-count.cjs +13 -0
- package/bundled/char-count.js +54 -0
- package/bundled/children.cjs +1 -0
- package/bundled/children.js +38 -0
- package/bundled/class-names.cjs +1 -0
- package/bundled/class-names.js +9 -0
- package/bundled/definition.cjs +39 -0
- package/bundled/definition.js +122 -0
- package/bundled/definition10.cjs +19 -0
- package/bundled/definition10.js +73 -0
- package/bundled/definition11.cjs +10 -0
- package/bundled/definition11.js +44 -0
- package/bundled/definition12.cjs +1 -0
- package/bundled/definition12.js +20 -0
- package/bundled/definition13.cjs +73 -0
- package/bundled/definition13.js +359 -0
- package/bundled/definition14.cjs +5 -0
- package/bundled/definition14.js +29 -0
- package/bundled/definition15.cjs +30 -0
- package/bundled/definition15.js +80 -0
- package/bundled/definition16.cjs +19 -0
- package/bundled/definition16.js +103 -0
- package/bundled/definition17.cjs +13 -0
- package/bundled/definition17.js +137 -0
- package/bundled/definition18.cjs +12 -0
- package/bundled/definition18.js +94 -0
- package/bundled/definition19.cjs +70 -0
- package/bundled/definition19.js +674 -0
- package/bundled/definition2.cjs +20 -0
- package/bundled/definition2.js +180 -0
- package/bundled/definition20.cjs +20 -0
- package/bundled/definition20.js +106 -0
- package/bundled/definition21.cjs +5 -0
- package/bundled/definition21.js +19 -0
- package/bundled/definition22.cjs +24 -0
- package/bundled/definition22.js +151 -0
- package/bundled/definition3.cjs +29 -0
- package/bundled/definition3.js +195 -0
- package/bundled/definition4.cjs +6 -0
- package/bundled/definition4.js +42 -0
- package/bundled/definition5.cjs +1 -0
- package/bundled/definition5.js +345 -0
- package/bundled/definition6.cjs +31 -0
- package/bundled/definition6.js +268 -0
- package/bundled/definition7.cjs +30 -0
- package/bundled/definition7.js +288 -0
- package/bundled/definition8.cjs +19 -0
- package/bundled/definition8.js +145 -0
- package/bundled/definition9.cjs +14 -0
- package/bundled/definition9.js +1406 -0
- package/bundled/delegates-aria.cjs +1 -0
- package/bundled/delegates-aria.js +77 -0
- package/bundled/divider.cjs +1 -0
- package/bundled/divider.js +34 -0
- package/bundled/dom.cjs +1 -0
- package/bundled/dom.js +6 -0
- package/bundled/enums.cjs +1 -0
- package/bundled/enums.js +9 -0
- package/bundled/form-associated.cjs +1 -0
- package/bundled/form-associated.js +320 -0
- package/bundled/form-element.cjs +1 -0
- package/bundled/form-element.js +56 -0
- package/bundled/host-semantics.cjs +1 -0
- package/bundled/host-semantics.js +57 -0
- package/bundled/index.cjs +1 -0
- package/bundled/index.js +6 -0
- package/bundled/key-codes.cjs +1 -0
- package/bundled/key-codes.js +16 -0
- package/bundled/linkable.cjs +15 -0
- package/bundled/linkable.js +49 -0
- package/bundled/listbox.cjs +1 -0
- package/bundled/listbox.js +345 -0
- package/bundled/localized.cjs +1 -0
- package/bundled/localized.js +460 -0
- package/bundled/mixins.cjs +33 -0
- package/bundled/mixins.js +226 -0
- package/bundled/numbers.cjs +1 -0
- package/bundled/numbers.js +14 -0
- package/bundled/option.cjs +1 -0
- package/bundled/option.js +158 -0
- package/bundled/picker-field.template.cjs +67 -0
- package/bundled/picker-field.template.js +242 -0
- package/bundled/playbackRates.cjs +1 -0
- package/bundled/playbackRates.js +11 -0
- package/bundled/ref.cjs +1 -0
- package/bundled/ref.js +32 -0
- package/bundled/repeat.cjs +1 -0
- package/bundled/repeat.js +341 -0
- package/bundled/scrollIntoView.cjs +1 -0
- package/bundled/scrollIntoView.js +33 -0
- package/bundled/single-date-picker.cjs +1 -0
- package/bundled/single-date-picker.js +39 -0
- package/bundled/single-value-picker.cjs +1 -0
- package/bundled/single-value-picker.js +87 -0
- package/bundled/slider.template.cjs +41 -0
- package/bundled/slider.template.js +100 -0
- package/bundled/slotted.cjs +1 -0
- package/bundled/slotted.js +81 -0
- package/bundled/strings.cjs +1 -0
- package/bundled/strings.js +7 -0
- package/bundled/text-field.cjs +1 -0
- package/bundled/text-field.js +4 -0
- package/bundled/time-selection-picker.template.cjs +46 -0
- package/bundled/time-selection-picker.template.js +575 -0
- package/bundled/vivid-element.cjs +1 -0
- package/bundled/vivid-element.js +1761 -0
- package/bundled/when.cjs +1 -0
- package/bundled/when.js +11 -0
- package/bundled/with-contextual-help.cjs +1 -0
- package/bundled/with-contextual-help.js +32 -0
- package/bundled/with-error-text.cjs +1 -0
- package/bundled/with-error-text.js +39 -0
- package/bundled/with-success-text.cjs +1 -0
- package/bundled/with-success-text.js +16 -0
- package/button/definition.cjs +14 -0
- package/button/definition.js +4 -0
- package/button/index.cjs +1 -5
- package/button/index.js +2 -3
- package/{shared/definition13.cjs → calendar/definition.cjs} +27 -449
- package/{shared/definition13.js → calendar/definition.js} +7 -431
- package/calendar/index.cjs +53 -5
- package/calendar/index.js +431 -3
- package/{shared/definition12.cjs → calendar-event/definition.cjs} +12 -9
- package/{shared/definition12.js → calendar-event/definition.js} +6 -6
- package/calendar-event/index.cjs +9 -5
- package/calendar-event/index.js +43 -3
- package/card/definition.cjs +186 -0
- package/{shared/definition14.js → card/definition.js} +10 -11
- package/card/index.cjs +47 -5
- package/card/index.js +163 -3
- package/{shared/definition15.cjs → checkbox/definition.cjs} +30 -29
- package/{shared/definition15.js → checkbox/definition.js} +12 -13
- package/checkbox/index.cjs +1 -5
- package/checkbox/index.js +2 -3
- package/{shared/definition16.cjs → combobox/definition.cjs} +61 -56
- package/{shared/definition16.js → combobox/definition.js} +30 -27
- package/combobox/index.cjs +69 -5
- package/combobox/index.js +519 -3
- package/contextual-help/definition.cjs +62 -0
- package/contextual-help/definition.js +57 -0
- package/contextual-help/index.cjs +1 -0
- package/contextual-help/index.js +2 -0
- package/custom-elements.json +2504 -335
- package/{shared/definition17.cjs → data-grid/definition.cjs} +111 -121
- package/{shared/definition17.js → data-grid/definition.js} +11 -23
- package/data-grid/index.cjs +81 -5
- package/data-grid/index.js +1011 -3
- package/{shared/definition18.cjs → date-picker/definition.cjs} +20 -17
- package/{shared/definition18.js → date-picker/definition.js} +12 -11
- package/date-picker/index.cjs +1 -5
- package/date-picker/index.js +115 -3
- package/{shared/definition19.cjs → date-range-picker/definition.cjs} +26 -23
- package/{shared/definition19.js → date-range-picker/definition.js} +10 -9
- package/date-range-picker/index.cjs +1 -5
- package/date-range-picker/index.js +335 -3
- package/{shared/definition20.cjs → date-time-picker/definition.cjs} +27 -24
- package/{shared/definition20.js → date-time-picker/definition.js} +13 -12
- package/date-time-picker/index.cjs +8 -5
- package/date-time-picker/index.js +216 -3
- package/{shared/definition21.cjs → dial-pad/definition.cjs} +89 -40
- package/{shared/definition21.js → dial-pad/definition.js} +60 -13
- package/dial-pad/index.cjs +57 -5
- package/dial-pad/index.js +245 -3
- package/{shared/definition22.cjs → dialog/definition.cjs} +48 -47
- package/{shared/definition22.js → dialog/definition.js} +10 -11
- package/dialog/index.cjs +44 -5
- package/dialog/index.js +257 -3
- package/{shared/definition23.cjs → divider/definition.cjs} +10 -6
- package/{shared/definition23.js → divider/definition.js} +6 -5
- package/divider/index.cjs +1 -5
- package/divider/index.js +2 -3
- package/elevation/definition.cjs +11 -0
- package/elevation/definition.js +2 -0
- package/elevation/index.cjs +1 -5
- package/elevation/index.js +2 -3
- package/empty-state/definition.cjs +81 -0
- package/empty-state/definition.js +75 -0
- package/empty-state/index.cjs +14 -5
- package/empty-state/index.js +64 -3
- package/fab/definition.cjs +105 -0
- package/fab/definition.js +99 -0
- package/fab/index.cjs +20 -5
- package/fab/index.js +86 -3
- package/file-picker/definition.cjs +519 -0
- package/file-picker/definition.js +513 -0
- package/file-picker/index.cjs +61 -5
- package/file-picker/index.js +391 -3
- package/{shared/definition27.cjs → header/definition.cjs} +14 -11
- package/{shared/definition27.js → header/definition.js} +6 -5
- package/header/index.cjs +19 -5
- package/header/index.js +57 -3
- package/{shared/definition28.cjs → icon/definition.cjs} +25 -149
- package/{shared/definition28.js → icon/definition.js} +6 -132
- package/icon/index.cjs +1 -5
- package/icon/index.js +2 -3
- package/index.cjs +268 -264
- package/index.js +72 -71
- package/{shared/definition29.cjs → layout/definition.cjs} +13 -10
- package/{shared/definition29.js → layout/definition.js} +4 -3
- package/layout/index.cjs +3 -5
- package/layout/index.js +52 -3
- package/lib/accordion-item/accordion-item.d.ts +0 -1
- package/lib/action-group/action-group.d.ts +0 -1
- package/lib/alert/alert.d.ts +0 -2
- package/lib/audio-player/audio-player.d.ts +4 -1
- package/lib/avatar/avatar.d.ts +0 -1
- package/lib/badge/badge.d.ts +0 -1
- package/lib/banner/banner.d.ts +0 -3
- package/lib/breadcrumb/breadcrumb.d.ts +0 -1
- package/lib/breadcrumb-item/breadcrumb-item.d.ts +0 -1
- package/lib/button/button.d.ts +1 -3
- package/lib/calendar-event/calendar-event.d.ts +0 -1
- package/lib/card/card.d.ts +0 -1
- package/lib/checkbox/checkbox.d.ts +0 -6
- package/lib/combobox/combobox.d.ts +483 -72
- package/lib/components.d.ts +1 -0
- package/lib/contextual-help/contextual-help.d.ts +5 -0
- package/lib/contextual-help/contextual-help.template.d.ts +3 -0
- package/lib/contextual-help/definition.d.ts +1 -0
- package/lib/data-grid/data-grid-cell.d.ts +0 -2
- package/lib/data-grid/data-grid-row.d.ts +0 -1
- package/lib/date-picker/date-picker.d.ts +892 -888
- package/lib/date-range-picker/date-range-picker.d.ts +590 -588
- package/lib/date-time-picker/date-time-picker.d.ts +893 -889
- package/lib/dial-pad/dial-pad.d.ts +0 -1
- package/lib/dial-pad/dial-pad.template.d.ts +1 -1
- package/lib/dial-pad/locale.d.ts +1 -0
- package/lib/dialog/dialog.d.ts +0 -2
- package/lib/divider/divider.d.ts +0 -1
- package/lib/fab/fab.d.ts +1 -1
- package/lib/file-picker/accept.d.ts +1 -0
- package/lib/file-picker/data-transfer.d.ts +1 -0
- package/lib/file-picker/file-picker.d.ts +490 -91
- package/lib/header/header.d.ts +0 -1
- package/lib/menu/menu.d.ts +1 -2
- package/lib/menu-item/menu-item.d.ts +0 -2
- package/lib/nav/nav.d.ts +0 -1
- package/lib/nav-disclosure/nav-disclosure.d.ts +0 -2
- package/lib/nav-item/nav-item.d.ts +0 -2
- package/lib/note/note.d.ts +0 -1
- package/lib/number-field/number-field.d.ts +505 -96
- package/lib/option/option.d.ts +1 -2
- package/lib/pagination/pagination.d.ts +0 -1
- package/lib/progress/progress.d.ts +0 -1
- package/lib/progress-ring/progress-ring.d.ts +0 -1
- package/lib/radio/radio.d.ts +0 -3
- package/lib/radio-group/radio-group.d.ts +0 -1
- package/lib/range-slider/range-slider.d.ts +0 -3
- package/lib/rich-text-editor/menubar/menubar.d.ts +0 -1
- package/lib/rich-text-editor/rich-text-editor.d.ts +0 -1
- package/lib/searchable-select/option-tag.d.ts +0 -1
- package/lib/searchable-select/searchable-select.d.ts +505 -96
- package/lib/select/select.d.ts +470 -60
- package/lib/selectable-box/selectable-box.d.ts +0 -1
- package/lib/simple-color-picker/definition.d.ts +4 -0
- package/lib/simple-color-picker/locale.d.ts +4 -0
- package/lib/simple-color-picker/simple-color-picker.d.ts +1600 -0
- package/lib/simple-color-picker/simple-color-picker.template.d.ts +3 -0
- package/lib/slider/slider.d.ts +0 -3
- package/lib/split-button/split-button.d.ts +2 -3
- package/lib/switch/switch.d.ts +0 -2
- package/lib/tab/tab.d.ts +0 -3
- package/lib/tab-panel/tab-panel.d.ts +0 -1
- package/lib/tag/tag.d.ts +0 -3
- package/lib/tag-group/tag-group.d.ts +0 -1
- package/lib/tag-name-map.d.ts +2 -1
- package/lib/text-area/text-area.d.ts +494 -84
- package/lib/text-field/text-field.d.ts +505 -96
- package/lib/time-picker/time-picker.d.ts +571 -569
- package/lib/toggletip/toggletip.d.ts +0 -2
- package/lib/tooltip/tooltip.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/lib/video-player/video-player.d.ts +0 -1
- package/locales/de-DE.cjs +13 -1
- package/locales/de-DE.js +13 -1
- package/locales/en-GB.cjs +13 -1
- package/locales/en-GB.js +13 -1
- package/locales/en-US.cjs +13 -1
- package/locales/en-US.js +13 -1
- package/locales/ja-JP.cjs +13 -1
- package/locales/ja-JP.js +13 -1
- package/locales/zh-CN.cjs +13 -1
- package/locales/zh-CN.js +13 -1
- package/{shared/definition31.cjs → menu/definition.cjs} +46 -42
- package/{shared/definition31.js → menu/definition.js} +16 -14
- package/menu/index.cjs +1 -5
- package/menu/index.js +2 -3
- package/menu-item/definition.cjs +14 -0
- package/menu-item/definition.js +3 -0
- package/menu-item/index.cjs +1 -5
- package/menu-item/index.js +2 -3
- package/{shared/definition34.cjs → nav/definition.cjs} +7 -4
- package/{shared/definition34.js → nav/definition.js} +4 -3
- package/nav/index.cjs +5 -5
- package/nav/index.js +13 -3
- package/nav-disclosure/definition.cjs +122 -0
- package/nav-disclosure/definition.js +116 -0
- package/nav-disclosure/index.cjs +16 -5
- package/nav-disclosure/index.js +96 -3
- package/{shared/definition33.cjs → nav-item/definition.cjs} +19 -16
- package/{shared/definition33.js → nav-item/definition.js} +9 -8
- package/nav-item/index.cjs +2 -5
- package/nav-item/index.js +59 -3
- package/{shared/definition35.cjs → note/definition.cjs} +15 -13
- package/{shared/definition35.js → note/definition.js} +6 -6
- package/note/index.cjs +9 -5
- package/note/index.js +44 -3
- package/{shared/definition36.cjs → number-field/definition.cjs} +66 -60
- package/{shared/definition36.js → number-field/definition.js} +31 -27
- package/number-field/index.cjs +60 -5
- package/number-field/index.js +370 -3
- package/option/definition.cjs +84 -0
- package/option/definition.js +78 -0
- package/option/index.cjs +1 -5
- package/option/index.js +2 -3
- package/package.json +15 -4
- package/{shared/definition38.cjs → pagination/definition.cjs} +31 -33
- package/{shared/definition38.js → pagination/definition.js} +7 -11
- package/pagination/index.cjs +43 -5
- package/pagination/index.js +194 -3
- package/popup/definition.cjs +13 -0
- package/popup/definition.js +4 -0
- package/popup/index.cjs +1 -5
- package/popup/index.js +2 -3
- package/{shared/definition40.cjs → progress/definition.cjs} +17 -15
- package/{shared/definition40.js → progress/definition.js} +6 -6
- package/progress/index.cjs +17 -5
- package/progress/index.js +69 -3
- package/{shared/definition39.cjs → progress-ring/definition.cjs} +17 -15
- package/{shared/definition39.js → progress-ring/definition.js} +7 -7
- package/progress-ring/index.cjs +1 -5
- package/progress-ring/index.js +2 -3
- package/{shared/definition42.cjs → radio/definition.cjs} +20 -19
- package/{shared/definition42.js → radio/definition.js} +8 -9
- package/radio/index.cjs +1 -5
- package/radio/index.js +2 -3
- package/{shared/definition41.cjs → radio-group/definition.cjs} +31 -30
- package/{shared/definition41.js → radio-group/definition.js} +8 -9
- package/radio-group/index.cjs +23 -5
- package/radio-group/index.js +255 -3
- package/{shared/definition43.cjs → range-slider/definition.cjs} +62 -61
- package/{shared/definition43.js → range-slider/definition.js} +13 -14
- package/range-slider/index.cjs +68 -5
- package/range-slider/index.js +456 -3
- package/rich-text-editor/definition.cjs +1206 -0
- package/rich-text-editor/definition.js +1200 -0
- package/rich-text-editor/index.cjs +133 -4
- package/rich-text-editor/index.js +10386 -2
- package/{shared/definition45.cjs → searchable-select/definition.cjs} +142 -130
- package/{shared/definition45.js → searchable-select/definition.js} +51 -41
- package/searchable-select/index.cjs +167 -5
- package/searchable-select/index.js +1034 -3
- package/{shared/definition46.cjs → select/definition.cjs} +92 -87
- package/{shared/definition46.js → select/definition.js} +32 -29
- package/select/index.cjs +1 -5
- package/select/index.js +2 -3
- package/{shared/definition47.cjs → selectable-box/definition.cjs} +26 -24
- package/{shared/definition47.js → selectable-box/definition.js} +9 -9
- package/selectable-box/index.cjs +28 -5
- package/selectable-box/index.js +136 -3
- package/shared/aria/aria-mixin.d.ts +0 -1
- package/shared/aria/delegates-aria.d.ts +0 -1
- package/shared/aria/host-semantics.d.ts +0 -1
- package/shared/color-picker/index.d.ts +2 -0
- package/shared/color-picker/types.d.ts +4 -0
- package/shared/color-picker/utils.d.ts +3 -0
- package/shared/feedback/feedback-message.d.ts +0 -1
- package/shared/feedback/mixins.d.ts +0 -2
- package/shared/foundation/button/button.d.ts +0 -2
- package/shared/foundation/form-associated/form-associated.d.ts +0 -2
- package/shared/foundation/vivid-element/vivid-element.d.ts +0 -1
- package/shared/localization/Locale.d.ts +2 -0
- package/shared/patterns/affix.d.ts +0 -2
- package/shared/patterns/anchored.d.ts +0 -2
- package/shared/patterns/char-count/char-count.d.ts +0 -1
- package/shared/patterns/form-elements/form-element.d.ts +0 -2
- package/shared/patterns/form-elements/index.d.ts +1 -0
- package/shared/patterns/form-elements/with-contextual-help.d.ts +1239 -0
- package/shared/patterns/form-elements/with-error-text.d.ts +0 -3
- package/shared/patterns/form-elements/with-success-text.d.ts +0 -1
- package/shared/patterns/linkable.d.ts +0 -1
- package/shared/patterns/localized.d.ts +0 -1
- package/shared/patterns/trapped-focus.d.ts +0 -1
- package/shared/picker-field/mixins/calendar-picker.d.ts +452 -451
- package/shared/picker-field/mixins/calendar-picker.template.d.ts +452 -451
- package/shared/picker-field/mixins/inline-time-picker/inline-time-picker.d.ts +0 -1
- package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +594 -592
- package/shared/picker-field/mixins/single-date-picker.d.ts +734 -731
- package/shared/picker-field/mixins/single-value-picker.d.ts +449 -448
- package/shared/picker-field/mixins/time-selection-picker.d.ts +571 -569
- package/shared/picker-field/mixins/time-selection-picker.template.d.ts +571 -569
- package/shared/picker-field/picker-field.d.ts +483 -72
- package/{shared/definition48.cjs → side-drawer/definition.cjs} +16 -14
- package/{shared/definition48.js → side-drawer/definition.js} +5 -5
- package/side-drawer/index.cjs +17 -3
- package/side-drawer/index.js +100 -2
- package/simple-color-picker/definition.cjs +398 -0
- package/simple-color-picker/definition.js +392 -0
- package/simple-color-picker/index.cjs +31 -0
- package/simple-color-picker/index.js +250 -0
- package/{shared/definition49.cjs → slider/definition.cjs} +46 -53
- package/{shared/definition49.js → slider/definition.js} +11 -20
- package/slider/index.cjs +1 -5
- package/slider/index.js +2 -3
- package/split-button/definition.cjs +176 -0
- package/split-button/definition.js +170 -0
- package/split-button/index.cjs +26 -5
- package/split-button/index.js +149 -3
- 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/{shared/definition51.cjs → switch/definition.cjs} +20 -19
- package/{shared/definition51.js → switch/definition.js} +8 -9
- package/switch/index.cjs +16 -5
- package/switch/index.js +102 -3
- package/tab/definition.cjs +127 -0
- package/tab/definition.js +121 -0
- package/tab/index.cjs +1 -5
- package/tab/index.js +2 -3
- package/{shared/definition52.cjs → tab-panel/definition.cjs} +7 -4
- package/{shared/definition52.js → tab-panel/definition.js} +4 -3
- package/tab-panel/index.cjs +1 -5
- package/tab-panel/index.js +2 -3
- package/{shared/definition54.cjs → tabs/definition.cjs} +46 -39
- package/{shared/definition54.js → tabs/definition.js} +18 -13
- package/tabs/index.cjs +31 -5
- package/tabs/index.js +321 -3
- package/tag/definition.cjs +156 -0
- package/tag/definition.js +150 -0
- package/tag/index.cjs +19 -5
- package/tag/index.js +118 -3
- package/{shared/definition55.cjs → tag-group/definition.cjs} +9 -6
- package/{shared/definition55.js → tag-group/definition.js} +5 -4
- package/tag-group/index.cjs +8 -5
- package/tag-group/index.js +26 -3
- package/{shared/definition57.cjs → text-area/definition.cjs} +62 -42
- package/{shared/definition57.js → text-area/definition.js} +38 -20
- package/text-area/index.cjs +41 -5
- package/text-area/index.js +293 -3
- package/{shared/definition58.cjs → text-field/definition.cjs} +70 -52
- package/{shared/definition58.js → text-field/definition.js} +40 -24
- package/text-field/index.cjs +1 -5
- package/text-field/index.js +2 -3
- package/time-picker/definition.cjs +43 -0
- package/{shared/definition59.js → time-picker/definition.js} +9 -8
- package/time-picker/index.cjs +1 -5
- package/time-picker/index.js +29 -3
- package/{shared/definition60.cjs → toggletip/definition.cjs} +20 -18
- package/{shared/definition60.js → toggletip/definition.js} +8 -8
- package/toggletip/index.cjs +1 -5
- package/toggletip/index.js +2 -3
- package/{shared/definition61.cjs → tooltip/definition.cjs} +16 -13
- package/{shared/definition61.js → tooltip/definition.js} +7 -6
- package/tooltip/index.cjs +1 -5
- package/tooltip/index.js +2 -3
- package/tree-item/definition.cjs +13 -0
- package/tree-item/definition.js +3 -0
- package/tree-item/index.cjs +1 -5
- package/tree-item/index.js +2 -3
- package/{shared/definition63.cjs → tree-view/definition.cjs} +41 -42
- package/{shared/definition63.js → tree-view/definition.js} +6 -9
- package/tree-view/index.cjs +13 -5
- package/tree-view/index.js +171 -3
- package/{shared → unbundled}/affix.cjs +10 -11
- package/{shared → unbundled}/affix.js +2 -3
- package/{shared → unbundled}/anchored.cjs +7 -8
- package/{shared → unbundled}/anchored.js +1 -2
- package/{shared → unbundled}/attribute-binding-behaviour.cjs +3 -3
- package/{shared → unbundled}/attribute-binding-behaviour.js +1 -1
- package/{shared → unbundled}/base-progress.cjs +6 -5
- package/{shared → unbundled}/base-progress.js +2 -1
- package/{shared → unbundled}/breadcrumb-item.cjs +3 -2
- package/{shared → unbundled}/breadcrumb-item.js +2 -1
- package/{shared → unbundled}/button.cjs +10 -9
- package/{shared → unbundled}/button.js +2 -1
- package/{shared → unbundled}/calendar-event.cjs +8 -7
- package/{shared → unbundled}/calendar-event.js +2 -1
- package/unbundled/calendar-picker.template.cjs +917 -0
- package/unbundled/calendar-picker.template.js +906 -0
- package/{shared → unbundled}/char-count.cjs +6 -7
- package/{shared → unbundled}/char-count.js +2 -3
- package/unbundled/definition.cjs +225 -0
- package/unbundled/definition.js +220 -0
- package/{shared/definition30.cjs → unbundled/definition2.cjs} +41 -42
- package/{shared/definition30.js → unbundled/definition2.js} +6 -7
- package/unbundled/definition3.cjs +207 -0
- package/{shared/definition62.js → unbundled/definition3.js} +5 -9
- package/unbundled/definition4.cjs +298 -0
- package/unbundled/definition4.js +293 -0
- package/{shared/definition65.cjs → unbundled/definition5.cjs} +7 -6
- package/{shared/definition65.js → unbundled/definition5.js} +3 -2
- package/{shared → unbundled}/delegates-aria.cjs +4 -3
- package/{shared → unbundled}/delegates-aria.js +2 -1
- package/{shared → unbundled}/divider.cjs +5 -4
- package/{shared → unbundled}/divider.js +3 -2
- package/{shared → unbundled}/form-associated.cjs +13 -13
- package/{shared → unbundled}/form-associated.js +2 -2
- package/{shared → unbundled}/form-element.cjs +3 -3
- package/{shared → unbundled}/form-element.js +1 -1
- package/{shared → unbundled}/host-semantics.cjs +2 -1
- package/{shared → unbundled}/host-semantics.js +2 -1
- package/unbundled/key-codes.cjs +10 -0
- package/unbundled/key-codes.js +7 -0
- package/{shared → unbundled}/linkable.cjs +11 -12
- package/{shared → unbundled}/linkable.js +1 -2
- package/{shared → unbundled}/listbox.cjs +21 -37
- package/{shared → unbundled}/listbox.js +3 -19
- package/{shared → unbundled}/localized.cjs +2 -2
- package/{shared → unbundled}/localized.js +1 -1
- package/{shared → unbundled}/mixins.cjs +27 -83
- package/{shared → unbundled}/mixins.js +6 -62
- package/{shared → unbundled}/option.cjs +29 -17
- package/{shared → unbundled}/option.js +14 -2
- package/{shared → unbundled}/picker-field.template.cjs +32 -24
- package/{shared → unbundled}/picker-field.template.js +18 -10
- package/{shared → unbundled}/slider.template.cjs +15 -19
- package/{shared → unbundled}/slider.template.js +3 -7
- package/unbundled/text-field.cjs +5 -0
- package/unbundled/text-field.js +3 -0
- package/{shared → unbundled}/time-selection-picker.template.cjs +28 -30
- package/{shared → unbundled}/time-selection-picker.template.js +4 -6
- package/unbundled/vivid-element.cjs +283 -0
- package/unbundled/vivid-element.js +274 -0
- package/unbundled/with-contextual-help.cjs +40 -0
- package/unbundled/with-contextual-help.js +38 -0
- package/{shared → unbundled}/with-error-text.cjs +2 -2
- package/{shared → unbundled}/with-error-text.js +1 -1
- package/{shared → unbundled}/with-success-text.cjs +2 -2
- package/{shared → unbundled}/with-success-text.js +1 -1
- package/video-player/definition.cjs +536 -0
- package/video-player/definition.js +530 -0
- package/video-player/index.cjs +536 -3
- package/video-player/index.js +35912 -2
- package/{shared/definition66.cjs → visually-hidden/definition.cjs} +6 -3
- package/{shared/definition66.js → visually-hidden/definition.js} +3 -2
- package/visually-hidden/index.cjs +1 -5
- package/visually-hidden/index.js +2 -3
- package/vivid.api.json +722 -799
- package/shared/_has.cjs +0 -58
- package/shared/_has.js +0 -54
- package/shared/aria.cjs +0 -11
- package/shared/aria.js +0 -9
- package/shared/calendar-picker.template.cjs +0 -6377
- package/shared/calendar-picker.template.js +0 -6366
- package/shared/children.cjs +0 -61
- package/shared/children.js +0 -59
- package/shared/class-names.cjs +0 -17
- package/shared/class-names.js +0 -15
- package/shared/definition.cjs +0 -145
- package/shared/definition.js +0 -141
- package/shared/definition11.cjs +0 -220
- package/shared/definition11.js +0 -215
- package/shared/definition14.cjs +0 -185
- package/shared/definition24.cjs +0 -80
- package/shared/definition24.js +0 -76
- package/shared/definition25.cjs +0 -90
- package/shared/definition25.js +0 -86
- package/shared/definition26.cjs +0 -2549
- package/shared/definition26.js +0 -2545
- package/shared/definition32.cjs +0 -120
- package/shared/definition32.js +0 -116
- package/shared/definition37.cjs +0 -71
- package/shared/definition37.js +0 -68
- package/shared/definition44.cjs +0 -14666
- package/shared/definition44.js +0 -14662
- package/shared/definition50.cjs +0 -148
- package/shared/definition50.js +0 -144
- package/shared/definition53.cjs +0 -124
- package/shared/definition53.js +0 -120
- package/shared/definition56.cjs +0 -154
- package/shared/definition56.js +0 -150
- package/shared/definition59.cjs +0 -39
- package/shared/definition62.cjs +0 -211
- package/shared/definition64.cjs +0 -69579
- package/shared/definition64.js +0 -69575
- package/shared/definition67.cjs +0 -2227
- package/shared/definition67.js +0 -2222
- package/shared/dom.cjs +0 -10
- package/shared/dom.js +0 -8
- package/shared/key-codes.cjs +0 -32
- package/shared/key-codes.js +0 -18
- package/shared/numbers.cjs +0 -38
- package/shared/numbers.js +0 -34
- package/shared/ref.cjs +0 -43
- package/shared/ref.js +0 -41
- package/shared/repeat.cjs +0 -767
- package/shared/repeat.js +0 -764
- package/shared/slotted.cjs +0 -123
- package/shared/slotted.js +0 -119
- package/shared/strings.cjs +0 -11
- package/shared/strings.js +0 -9
- package/shared/text-field.cjs +0 -5
- package/shared/text-field.js +0 -3
- package/shared/vivid-element.cjs +0 -2822
- package/shared/vivid-element.js +0 -2799
- package/shared/when.cjs +0 -31
- package/shared/when.js +0 -29
- /package/{shared → unbundled}/enums.cjs +0 -0
- /package/{shared → unbundled}/enums.js +0 -0
- /package/{shared → unbundled}/index.cjs +0 -0
- /package/{shared → unbundled}/index.js +0 -0
- /package/{shared → unbundled}/playbackRates.cjs +0 -0
- /package/{shared → unbundled}/playbackRates.js +0 -0
- /package/{shared → unbundled}/scrollIntoView.cjs +0 -0
- /package/{shared → unbundled}/scrollIntoView.js +0 -0
- /package/{shared → unbundled}/single-date-picker.cjs +0 -0
- /package/{shared → unbundled}/single-date-picker.js +0 -0
- /package/{shared → unbundled}/single-value-picker.cjs +0 -0
- /package/{shared → unbundled}/single-value-picker.js +0 -0
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
import { p as v } from "./definition9.js";
|
|
2
|
+
import { V as b, a, o as s, n as m, v as g, c as k, d as f } from "./vivid-element.js";
|
|
3
|
+
import { a as y, k as _, b as z, h as x, c as w, g as M } from "./key-codes.js";
|
|
4
|
+
import { i as d, l as T, r as D, d as O, S as L } from "./slider.template.js";
|
|
5
|
+
import { D as C } from "./delegates-aria.js";
|
|
6
|
+
import { F as E } from "./form-associated.js";
|
|
7
|
+
import { O as u } from "./aria.js";
|
|
8
|
+
import { L as V } from "./localized.js";
|
|
9
|
+
import { l as N } from "./numbers.js";
|
|
10
|
+
var c;
|
|
11
|
+
(function(l) {
|
|
12
|
+
l.ltr = "ltr", l.rtl = "rtl";
|
|
13
|
+
})(c || (c = {}));
|
|
14
|
+
const F = ':host{display:inline-block}:host(:not([orientation=vertical])){inline-size:100%}:host([orientation=vertical]){block-size:100%;min-block-size:calc(var(--_thumb-interaction-indicator-size) * 5)}:host([disabled]){cursor:not-allowed}.control.connotation-cta{--_connotation-color-primary: var(--vvd-slider-cta-primary, var(--vvd-color-cta-500))}.control:not(.connotation-cta){--_connotation-color-primary: var(--vvd-slider-accent-primary, var(--vvd-color-canvas-text))}.control{--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary);--_appearance-color-outline: transparent}.control{--_thumb-size: 12px;--_thumb-interaction-indicator-size: 36px;--_track-start-inset-inline-start: 0;--_track-start-inset-block-start: 0;cursor:pointer;outline:none;user-select:none}.control .positioning-region{position:relative}.control .track{position:absolute;border-radius:4px;background:var(--_track-background-color)}.control .track-start{position:absolute;border-radius:inherit;background:var(--_track-start-background-color);block-size:100%;inset-inline-start:var(--_track-start-inset-inline-start)}.control.horizontal{block-size:var(--_thumb-interaction-indicator-size);inline-size:calc(100% - var(--_thumb-size));margin-inline-start:calc(var(--_thumb-size) / 2);min-inline-size:var(--_thumb-size)}.control.horizontal .track{top:calc((var(--_thumb-interaction-indicator-size) - 2px) / 2);right:0;left:0;block-size:2px}:host([markers]) .control.horizontal .track-start{--_track-start-inset-inline-start: 1px;border-bottom-left-radius:0;border-top-left-radius:0}.control.horizontal .track .mark{position:absolute;block-size:6px;inline-size:100%;inset-block-start:-2px;inset-inline-start:0}.control.vertical{margin-top:calc(var(--_thumb-interaction-indicator-size) / 2);block-size:calc(100% - var(--_thumb-interaction-indicator-size));inline-size:var(--_thumb-interaction-indicator-size);min-block-size:var(--_thumb-interaction-indicator-size)}.control.vertical .positioning-region{block-size:100%}.control.vertical .track{left:calc((var(--_thumb-interaction-indicator-size) - 2px) / 2);block-size:100%;inline-size:2px}.control.vertical .track .mark{position:absolute;block-size:100%;inline-size:6px;inset-block-start:0;inset-inline-start:-2px}.control.vertical .track-start{block-size:auto;inline-size:100%;inset-block-start:var(--_track-start-inset-block-start)}:host([markers]) .control.vertical .track-start{--_track-start-inset-block-start: 1px;border-radius:0}.control.disabled{--_track-background-color: var(--vvd-color-neutral-100);--_track-start-background-color: var(--vvd-color-neutral-300);pointer-events:none}.control:not(.disabled){--_track-background-color: var(--vvd-color-neutral-300);--_track-start-background-color: var(--_appearance-color-fill)}.control:not(.disabled) .mark{color:var(--vvd-color-neutral-950)}.control.disabled .mark{color:var(--_track-start-background-color)}.thumb-container{position:absolute;border-radius:50%;block-size:var(--_thumb-interaction-indicator-size);cursor:inherit;inline-size:var(--_thumb-interaction-indicator-size);outline:none;touch-action:none}.thumb-container.focus-visible{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));--focus-stroke-gap-color: transparent;--_thumb-interaction-indicator-alpha: .05;border-radius:50%}.control.horizontal .thumb-container{transform:translate(calc(var(--_thumb-interaction-indicator-size) / 2))}.control.vertical .thumb-container{transform:translateY(calc(var(--_thumb-interaction-indicator-size) / 2))}@media (hover: hover){.control:not(.disabled) .thumb-container:hover{--_thumb-interaction-indicator-alpha: .12}}.control:not(.disabled) .thumb-container:active{--_thumb-interaction-indicator-alpha: .25}.thumb-container:before{position:absolute;display:block;border-radius:inherit;background-color:var(--_track-start-background-color);block-size:var(--_thumb-interaction-indicator-size);content:"";inline-size:var(--_thumb-interaction-indicator-size);opacity:var(--_thumb-interaction-indicator-alpha, 0);transition:opacity .2s ease-out 0s}.thumb-container:after{position:absolute;display:block;border-radius:inherit;background-color:var(--_track-start-background-color);block-size:var(--_thumb-size);content:"";inline-size:var(--_thumb-size);inset:calc((var(--_thumb-interaction-indicator-size) - var(--_thumb-size)) / 2)}.popup{pointer-events:none}.tooltip{width:auto;padding:8px 12px;color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base-bold)}:host([internal-part]) .thumb-container{opacity:0;transition:opacity .2s ease}:host([internal-part]) .control.horizontal .track{top:16px;block-size:4px;overflow:hidden}:host([internal-part]) .control:focus .thumb-container{opacity:1}@media (hover: hover){:host([internal-part]) .control:hover .thumb-container{opacity:1}}', S = (l) => {
|
|
15
|
+
const t = l.closest("[dir]");
|
|
16
|
+
return t !== null && t.dir === "rtl" ? c.rtl : c.ltr;
|
|
17
|
+
};
|
|
18
|
+
var P = Object.defineProperty, W = Object.getOwnPropertyDescriptor, o = (l, t, i, r) => {
|
|
19
|
+
for (var n = r > 1 ? void 0 : r ? W(t, i) : t, h = l.length - 1, p; h >= 0; h--)
|
|
20
|
+
(p = l[h]) && (n = (r ? p(t, i, n) : p(n)) || n);
|
|
21
|
+
return r && n && P(t, i, n), n;
|
|
22
|
+
};
|
|
23
|
+
const $ = {
|
|
24
|
+
singleValue: "single-value"
|
|
25
|
+
};
|
|
26
|
+
class e extends V(
|
|
27
|
+
C(E(b))
|
|
28
|
+
) {
|
|
29
|
+
constructor() {
|
|
30
|
+
super(...arguments), this.proxy = document.createElement("input"), this.direction = c.ltr, this.isDragging = !1, this.trackWidth = 0, this.trackMinWidth = 0, this.trackHeight = 0, this.trackLeft = 0, this.trackMinHeight = 0, this.valueTextFormatter = (t) => parseFloat(t).toLocaleString(this.locale.lang), this.min = 0, this.max = 10, this.step = 1, this.orientation = u.horizontal, this.mode = $.singleValue, this.keypressHandler = (t) => {
|
|
31
|
+
if (this._focusVisible = !0, !this.readOnly) {
|
|
32
|
+
if (t.key === y)
|
|
33
|
+
t.preventDefault(), this.value = `${this.min}`;
|
|
34
|
+
else if (t.key === _)
|
|
35
|
+
t.preventDefault(), this.value = `${this.max}`;
|
|
36
|
+
else if (!t.shiftKey)
|
|
37
|
+
switch (t.key) {
|
|
38
|
+
case M:
|
|
39
|
+
case w:
|
|
40
|
+
t.preventDefault(), this.increment();
|
|
41
|
+
break;
|
|
42
|
+
case x:
|
|
43
|
+
case z:
|
|
44
|
+
t.preventDefault(), this.decrement();
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}, this.setupTrackConstraints = () => {
|
|
49
|
+
const t = this.track.getBoundingClientRect();
|
|
50
|
+
this.trackWidth = this.track.clientWidth, this.trackMinWidth = this.track.clientLeft, this.trackHeight = t.bottom, this.trackMinHeight = t.top, this.trackLeft = this.getBoundingClientRect().left, this.trackWidth === 0 && (this.trackWidth = 1);
|
|
51
|
+
}, this.setupListeners = (t = !1) => {
|
|
52
|
+
const i = t ? "removeEventListener" : "addEventListener";
|
|
53
|
+
this[i]("keydown", this.keypressHandler), this[i]("mousedown", this.handleMouseDown), this.thumb[i](
|
|
54
|
+
"mousedown",
|
|
55
|
+
this.handleThumbMouseDown,
|
|
56
|
+
{
|
|
57
|
+
passive: !0
|
|
58
|
+
}
|
|
59
|
+
), this.thumb[i](
|
|
60
|
+
"touchstart",
|
|
61
|
+
this.handleThumbMouseDown,
|
|
62
|
+
{
|
|
63
|
+
passive: !0
|
|
64
|
+
}
|
|
65
|
+
), t && (this.handleMouseDown(null), this.handleThumbMouseDown(null));
|
|
66
|
+
}, this.initialValue = "", this.handleThumbMouseDown = (t) => {
|
|
67
|
+
if (t) {
|
|
68
|
+
if (this.readOnly || this.disabled || t.defaultPrevented)
|
|
69
|
+
return;
|
|
70
|
+
this.#i = !0, t.target.focus(), this.#i = !1;
|
|
71
|
+
}
|
|
72
|
+
const i = t !== null ? "addEventListener" : "removeEventListener";
|
|
73
|
+
window[i]("mouseup", this.handleWindowMouseUp), window[i]("mousemove", this.handleMouseMove, {
|
|
74
|
+
passive: !0
|
|
75
|
+
}), window[i]("touchmove", this.handleMouseMove, {
|
|
76
|
+
passive: !0
|
|
77
|
+
}), window[i]("touchend", this.handleWindowMouseUp), this.isDragging = t !== null;
|
|
78
|
+
}, this.handleMouseMove = (t) => {
|
|
79
|
+
if (this.readOnly || this.disabled || t.defaultPrevented)
|
|
80
|
+
return;
|
|
81
|
+
const i = "TouchEvent" in window && t instanceof TouchEvent ? t.touches[0] : t, r = this.#r(i);
|
|
82
|
+
this.value = `${this.#t(r)}`;
|
|
83
|
+
}, this.handleWindowMouseUp = (t) => {
|
|
84
|
+
this.stopDragging();
|
|
85
|
+
}, this.stopDragging = () => {
|
|
86
|
+
this.isDragging = !1, this.handleMouseDown(null), this.handleThumbMouseDown(null);
|
|
87
|
+
}, this.handleMouseDown = (t) => {
|
|
88
|
+
const i = t !== null ? "addEventListener" : "removeEventListener";
|
|
89
|
+
if ((t === null || !this.disabled && !this.readOnly) && (window[i]("mouseup", this.handleWindowMouseUp), window.document[i](
|
|
90
|
+
"mouseleave",
|
|
91
|
+
this.handleWindowMouseUp
|
|
92
|
+
), window[i]("mousemove", this.handleMouseMove), t)) {
|
|
93
|
+
t.preventDefault(), this.setupTrackConstraints(), this.#i = !0, t.target.focus(), this.#i = !1;
|
|
94
|
+
const r = this.#r(t);
|
|
95
|
+
this.value = `${this.#t(r)}`, this.isDragging = !0;
|
|
96
|
+
}
|
|
97
|
+
}, this.markers = !1, this.pin = !1, this._focusVisible = !1, this._hoveringOnThumb = !1, this.#i = !1, this._onFocusIn = () => {
|
|
98
|
+
this.#i || (this._focusVisible = !0);
|
|
99
|
+
}, this._onFocusOut = () => {
|
|
100
|
+
this._focusVisible = !1;
|
|
101
|
+
}, this.#e = () => {
|
|
102
|
+
this._hoveringOnThumb = !0;
|
|
103
|
+
}, this.#o = () => {
|
|
104
|
+
this._hoveringOnThumb = !1;
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
// Map to proxy element
|
|
108
|
+
/**
|
|
109
|
+
* @internal
|
|
110
|
+
*/
|
|
111
|
+
readOnlyChanged() {
|
|
112
|
+
this.proxy instanceof HTMLInputElement && (this.proxy.readOnly = this.readOnly);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* The value property, typed as a number.
|
|
116
|
+
*
|
|
117
|
+
* @public
|
|
118
|
+
*/
|
|
119
|
+
get valueAsNumber() {
|
|
120
|
+
return parseFloat(this.value);
|
|
121
|
+
}
|
|
122
|
+
set valueAsNumber(t) {
|
|
123
|
+
this.value = t.toString();
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* @internal
|
|
127
|
+
*/
|
|
128
|
+
valueChanged(t, i) {
|
|
129
|
+
if (super.valueChanged(t, i), this.$fastController.isConnected) {
|
|
130
|
+
const r = parseFloat(i), n = this.#t(r).toString();
|
|
131
|
+
if (n !== i) {
|
|
132
|
+
this.value = n;
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
this.setThumbPositionForOrientation(this.direction), this.$emit("change");
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
// Map to proxy element.
|
|
139
|
+
/**
|
|
140
|
+
* @internal
|
|
141
|
+
*/
|
|
142
|
+
minChanged() {
|
|
143
|
+
this.proxy instanceof HTMLInputElement && (this.proxy.min = `${this.min}`), this.validate();
|
|
144
|
+
}
|
|
145
|
+
// Map to proxy element.
|
|
146
|
+
/**
|
|
147
|
+
* @internal
|
|
148
|
+
*/
|
|
149
|
+
maxChanged() {
|
|
150
|
+
this.proxy instanceof HTMLInputElement && (this.proxy.max = `${this.max}`), this.validate();
|
|
151
|
+
}
|
|
152
|
+
// Map to proxy element.
|
|
153
|
+
/**
|
|
154
|
+
* @internal
|
|
155
|
+
*/
|
|
156
|
+
stepChanged() {
|
|
157
|
+
this.proxy instanceof HTMLInputElement && (this.proxy.step = `${this.step}`), this.updateStepMultiplier(), this.validate();
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* @internal
|
|
161
|
+
*/
|
|
162
|
+
orientationChanged() {
|
|
163
|
+
this.$fastController.isConnected && this.setThumbPositionForOrientation(this.direction);
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* @internal
|
|
167
|
+
*/
|
|
168
|
+
connectedCallback() {
|
|
169
|
+
super.connectedCallback(), this.proxy.setAttribute("type", "range"), this.direction = S(this), this.updateStepMultiplier(), this.setupTrackConstraints(), this.setupListeners(), this.setupDefaultValue(), this.setThumbPositionForOrientation(this.direction), this.#s();
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* @internal
|
|
173
|
+
*/
|
|
174
|
+
disconnectedCallback() {
|
|
175
|
+
this.setupListeners(!0), this.#a();
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Increment the value by the step
|
|
179
|
+
*
|
|
180
|
+
* @public
|
|
181
|
+
*/
|
|
182
|
+
increment() {
|
|
183
|
+
const t = this.direction !== c.rtl && this.orientation !== u.vertical ? Number(this.value) + Number(this.step) : Number(this.value) - Number(this.step);
|
|
184
|
+
this.value = this.#t(t).toString();
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Decrement the value by the step
|
|
188
|
+
*
|
|
189
|
+
* @public
|
|
190
|
+
*/
|
|
191
|
+
decrement() {
|
|
192
|
+
const t = this.direction !== c.rtl && this.orientation !== u.vertical ? Number(this.value) - Number(this.step) : Number(this.value) + Number(this.step);
|
|
193
|
+
this.value = this.#t(t).toString();
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Places the thumb based on the current value
|
|
197
|
+
*
|
|
198
|
+
* @public
|
|
199
|
+
* @param direction - writing mode
|
|
200
|
+
*/
|
|
201
|
+
setThumbPositionForOrientation(t) {
|
|
202
|
+
const i = this.#n(this.valueAsNumber);
|
|
203
|
+
this.orientation === u.horizontal ? this.position = this.isDragging ? `right: ${i}%; transition: none;` : `right: ${i}%; transition: right 0.2s ease;` : this.position = this.isDragging ? `bottom: ${i}%; transition: none;` : `bottom: ${i}%; transition: bottom 0.2s ease;`;
|
|
204
|
+
}
|
|
205
|
+
#n(t) {
|
|
206
|
+
return (1 - d(this.min, this.max, t)) * 100;
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Update the step multiplier used to ensure rounding errors from steps that
|
|
210
|
+
* are not whole numbers
|
|
211
|
+
*/
|
|
212
|
+
updateStepMultiplier() {
|
|
213
|
+
const t = this.step + "", i = this.step % 1 ? t.length - t.indexOf(".") - 1 : 0;
|
|
214
|
+
this.stepMultiplier = Math.pow(10, i);
|
|
215
|
+
}
|
|
216
|
+
get midpoint() {
|
|
217
|
+
return `${this.#t((this.max + this.min) / 2)}`;
|
|
218
|
+
}
|
|
219
|
+
setupDefaultValue() {
|
|
220
|
+
if (typeof this.value == "string")
|
|
221
|
+
if (this.value.length === 0)
|
|
222
|
+
this.initialValue = this.midpoint;
|
|
223
|
+
else {
|
|
224
|
+
const t = parseFloat(this.value);
|
|
225
|
+
!Number.isNaN(t) && (t < this.min || t > this.max) && (this.value = this.midpoint);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
#r(t) {
|
|
229
|
+
const i = this.track.getBoundingClientRect(), [r, n, h] = this.orientation === u.horizontal ? [
|
|
230
|
+
this.track.clientLeft,
|
|
231
|
+
this.track.clientWidth,
|
|
232
|
+
t.pageX - document.documentElement.scrollLeft - this.getBoundingClientRect().left
|
|
233
|
+
] : [
|
|
234
|
+
i.top,
|
|
235
|
+
i.bottom,
|
|
236
|
+
t.pageY - document.documentElement.scrollTop
|
|
237
|
+
];
|
|
238
|
+
return T(this.min, this.max, d(r, n, h));
|
|
239
|
+
}
|
|
240
|
+
#t(t) {
|
|
241
|
+
return N(
|
|
242
|
+
this.min,
|
|
243
|
+
this.max,
|
|
244
|
+
D(t - this.min, this.step) + this.min
|
|
245
|
+
);
|
|
246
|
+
}
|
|
247
|
+
get _isThumbPopupOpen() {
|
|
248
|
+
return this._focusVisible || this._hoveringOnThumb || this.isDragging;
|
|
249
|
+
}
|
|
250
|
+
#i;
|
|
251
|
+
#s() {
|
|
252
|
+
this.thumb.addEventListener("mouseover", this.#e, {
|
|
253
|
+
passive: !0
|
|
254
|
+
}), this.thumb.addEventListener("mouseout", this.#o, {
|
|
255
|
+
passive: !0
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
#a() {
|
|
259
|
+
this.thumb.removeEventListener("mouseover", this.#e), this.thumb.removeEventListener("mouseout", this.#o);
|
|
260
|
+
}
|
|
261
|
+
#e;
|
|
262
|
+
#o;
|
|
263
|
+
}
|
|
264
|
+
o([
|
|
265
|
+
a({ attribute: "readonly", mode: "boolean" })
|
|
266
|
+
], e.prototype, "readOnly", 2);
|
|
267
|
+
o([
|
|
268
|
+
s
|
|
269
|
+
], e.prototype, "direction", 2);
|
|
270
|
+
o([
|
|
271
|
+
s
|
|
272
|
+
], e.prototype, "isDragging", 2);
|
|
273
|
+
o([
|
|
274
|
+
s
|
|
275
|
+
], e.prototype, "position", 2);
|
|
276
|
+
o([
|
|
277
|
+
s
|
|
278
|
+
], e.prototype, "trackWidth", 2);
|
|
279
|
+
o([
|
|
280
|
+
s
|
|
281
|
+
], e.prototype, "trackMinWidth", 2);
|
|
282
|
+
o([
|
|
283
|
+
s
|
|
284
|
+
], e.prototype, "trackHeight", 2);
|
|
285
|
+
o([
|
|
286
|
+
s
|
|
287
|
+
], e.prototype, "trackLeft", 2);
|
|
288
|
+
o([
|
|
289
|
+
s
|
|
290
|
+
], e.prototype, "trackMinHeight", 2);
|
|
291
|
+
o([
|
|
292
|
+
s
|
|
293
|
+
], e.prototype, "valueTextFormatter", 2);
|
|
294
|
+
o([
|
|
295
|
+
a({ converter: m })
|
|
296
|
+
], e.prototype, "min", 2);
|
|
297
|
+
o([
|
|
298
|
+
a({ converter: m })
|
|
299
|
+
], e.prototype, "max", 2);
|
|
300
|
+
o([
|
|
301
|
+
a({ converter: O })
|
|
302
|
+
], e.prototype, "step", 2);
|
|
303
|
+
o([
|
|
304
|
+
a
|
|
305
|
+
], e.prototype, "orientation", 2);
|
|
306
|
+
o([
|
|
307
|
+
a
|
|
308
|
+
], e.prototype, "mode", 2);
|
|
309
|
+
o([
|
|
310
|
+
a({
|
|
311
|
+
mode: "boolean"
|
|
312
|
+
})
|
|
313
|
+
], e.prototype, "markers", 2);
|
|
314
|
+
o([
|
|
315
|
+
a({ mode: "boolean" })
|
|
316
|
+
], e.prototype, "pin", 2);
|
|
317
|
+
o([
|
|
318
|
+
a
|
|
319
|
+
], e.prototype, "connotation", 2);
|
|
320
|
+
o([
|
|
321
|
+
s
|
|
322
|
+
], e.prototype, "_focusVisible", 2);
|
|
323
|
+
o([
|
|
324
|
+
s
|
|
325
|
+
], e.prototype, "_hoveringOnThumb", 2);
|
|
326
|
+
o([
|
|
327
|
+
g
|
|
328
|
+
], e.prototype, "_isThumbPopupOpen", 1);
|
|
329
|
+
const A = f(
|
|
330
|
+
"slider",
|
|
331
|
+
e,
|
|
332
|
+
L,
|
|
333
|
+
[v],
|
|
334
|
+
{
|
|
335
|
+
styles: F,
|
|
336
|
+
shadowOptions: {
|
|
337
|
+
delegatesFocus: !0
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
), q = k(A);
|
|
341
|
+
export {
|
|
342
|
+
e as S,
|
|
343
|
+
q as r,
|
|
344
|
+
A as s
|
|
345
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";const f=require("./definition9.cjs"),c=require("./definition7.cjs"),i=require("./vivid-element.cjs"),v=require("./anchored.cjs"),x=require("./delegates-aria.cjs"),b=require("./divider.cjs"),u=require("./key-codes.cjs"),I=require("./index.cjs"),y=require("./ref.cjs"),E=require("./class-names.cjs"),h=require("./slotted.cjs"),C=":host{display:var(--_popup-display, inline)}:host([slotted-anchor]){--_popup-display: contents}.base{display:flex;overflow:hidden auto;box-sizing:border-box;flex-direction:column;padding:4px;gap:8px;inline-size:max-content;max-block-size:var(--menu-block-size, 408px);min-inline-size:var(--menu-min-inline-size)}@media not all and (width >= 600px){.base{max-inline-size:var(--menu-max-inline-size, 300px)}}@media (width >= 600px){.base{max-inline-size:var(--menu-max-inline-size)}}::slotted(a){color:var(--vvd-color-canvas-text);text-decoration:none}::slotted(a[data-vvd-component=menuitem]:focus-visible){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));--focus-stroke-gap-color: transparent;display:block}.header{padding:4px}.hide-header .header{display:none}.body{display:flex;flex-direction:column;row-gap:1px}.hide-body .body{display:none}.action-items{display:flex;justify-content:flex-end;gap:8px;padding-block-end:4px;padding-inline:12px}.hide-actions .action-items{display:none}";var k=Object.defineProperty,d=(o,e,n,r)=>{for(var t=void 0,s=o.length-1,l;s>=0;s--)(l=o[s])&&(t=l(e,n,t)||t);return t&&k(e,n,t),t};const $=o=>o instanceof c.MenuItem&&o.controlType==="checkbox",p=o=>o instanceof c.MenuItem&&o.controlType==="radio",m=o=>o instanceof b.Divider?!0:o.role==="separator",_=o=>o instanceof c.MenuItem?!0:!!(o.role&&o.role in c.MenuItemRole);class a extends v.Anchored(x.DelegatesAria(i.VividElement)){constructor(){super(...arguments),this.offset=null,this.expandedItem=null,this.focusIndex=-1,this.handleFocusOut=e=>{!this.contains(e.relatedTarget)&&this.menuItems!==void 0&&this.menuItems.length&&(this.collapseExpandedItem(),this.menuItems[this.focusIndex].setAttribute("tabindex","-1"),this.menuItems[0].setAttribute("tabindex","0"),this.focusIndex=0)},this.handleItemFocus=e=>{const n=e.target;this.menuItems!==void 0&&n!==this.menuItems[this.focusIndex]&&(this.menuItems[this.focusIndex].setAttribute("tabindex","-1"),this.focusIndex=this.menuItems.indexOf(n),n.setAttribute("tabindex","0"))},this.handleExpandedChanged=e=>{const n=e.target;this.expandedItem!==null&&n===this.expandedItem&&n.expanded===!1&&(this.expandedItem=null),n.expanded&&(this.expandedItem=n)},this.removeItemListeners=()=>{this.menuItems!==void 0&&this.menuItems.forEach(e=>{e.removeEventListener("expanded-change",this.handleExpandedChanged),e.removeEventListener("focus",this.handleItemFocus)})},this.setItems=()=>{const e=this.domChildren();this.removeItemListeners(),this.menuItems=e.filter(_),this.menuItems.length&&(this.focusIndex=0),this.menuItems.forEach((n,r)=>{n instanceof c.MenuItem&&(n._isPresentational=!1),n.setAttribute("tabindex",r===0?"0":"-1"),n.addEventListener("expanded-change",this.handleExpandedChanged),n.addEventListener("focus",this.handleItemFocus)})},this.placement="bottom",this.autoDismiss=!1,this.positionStrategy="fixed",this.open=!1,this.#t=()=>{if(this.#e==="off"||this.#e==="legacy"&&this.open)return;const e=!this.open;i.DOM.queueUpdate(()=>this.open=e)},this._onFocusout=e=>{const n=e.relatedTarget,r=!this.contains(n)&&!this._anchorEl?.contains(n);this.autoDismiss&&r&&(this.open=!1)}}itemsChanged(){this.$fastController.isConnected&&this.menuItems!==void 0&&this.setItems()}connectedCallback(){super.connectedCallback(),i.DOM.queueUpdate(()=>{this.setItems()})}disconnectedCallback(){super.disconnectedCallback(),this.removeItemListeners(),this.menuItems=void 0}focus(){const e=this.querySelector('[autofocus]:not([slot="anchor"])');e instanceof HTMLElement?e.focus():this.setFocus(0)}collapseExpandedItem(){this.expandedItem!==null&&(this.expandedItem.expanded=!1,this.expandedItem=null)}handleMenuKeyDown(e){if(!(e.defaultPrevented||this.menuItems===void 0))switch(e.key){case u.keyArrowDown:this.setFocus(this.focusIndex+1);return;case u.keyArrowUp:this.setFocus(this.focusIndex-1);return;case u.keyEnd:this.setFocus(this.menuItems.length-1);return;case u.keyHome:this.setFocus(0);return;default:return!0}}domChildren(){return Array.from(this.children).filter(e=>!e.hasAttribute("hidden")).filter(e=>!e.hasAttribute("slot"))}setFocus(e){if(this.menuItems!==void 0&&e>=0&&e<this.menuItems.length){const n=this.menuItems[e];this.focusIndex>-1&&this.menuItems.length>=this.focusIndex-1&&this.menuItems[this.focusIndex].setAttribute("tabindex","-1"),this.focusIndex=e,n.setAttribute("tabindex","0"),n.focus()}}get#e(){return this.trigger??"auto"}openChanged(e,n){n&&this._popupEl?.show().then(()=>this.focus()),n?this.$emit("open",void 0,{bubbles:!1}):this.$emit("close",void 0,{bubbles:!1}),this._anchorEl&&this.#n(this._anchorEl)}_anchorElChanged(e,n){e&&this.#o(e),n&&this.#s(n)}#s(e){e.addEventListener("click",this.#t,!0),e.addEventListener("focusout",this._onFocusout),e.ariaHasPopup="menu",this.#n(e)}#n(e){e.ariaExpanded=this.open.toString(),e.dataset.expanded=this.open.toString()}#o(e){e.removeEventListener("click",this.#t,!0),e.removeEventListener("focusout",this._onFocusout),e.ariaHasPopup=null,e.ariaExpanded=null,delete e.dataset.expanded}#t;_onChange(e){if(this.menuItems===void 0||!(e.target instanceof Element))return;this.#e==="auto"&&!$(e.target)&&(this.open=!1);const n=this.domChildren(),r=n.indexOf(e.target);if(r!==-1){if(p(e.target)&&e.target.checked){for(let t=r-1;t>=0;--t){const s=n[t];if(p(s)&&(s.checked=!1),m(s))break}for(let t=r+1;t<=n.length-1;++t){const s=n[t];if(p(s)&&(s.checked=!1),m(s))break}}return!0}}}d([i.attr({attribute:"offset",converter:i.nullableNumberConverter})],a.prototype,"offset");d([i.observable],a.prototype,"items");d([i.attr({mode:"fromView"})],a.prototype,"placement");d([i.attr],a.prototype,"trigger");d([i.attr({mode:"boolean",attribute:"auto-dismiss"})],a.prototype,"autoDismiss");d([i.attr({mode:"fromView",attribute:"position-strategy"})],a.prototype,"positionStrategy");d([i.attr({mode:"boolean"})],a.prototype,"open");d([i.observable],a.prototype,"headerSlottedContent");d([i.observable],a.prototype,"actionItemsSlottedContent");d([i.observable],a.prototype,"_popupOffset");const A=({headerSlottedContent:o,actionItemsSlottedContent:e,items:n})=>E.classNames("base",["hide-header",!o?.length],["hide-actions",!e?.length],["hide-body",n&&!n.length]);function w(o,e){return o.open&&I.handleEscapeKeyAndStopPropogation(e)&&(o.open=!1),!0}const F=o=>{const e=o.tagFor(f.Popup),n=v.anchorSlotTemplateFactory();function r(t,s,l){s.stopPropagation(),t.open=l}return i.html`
|
|
2
|
+
<template @change="${(t,s)=>t._onChange(s.event)}"
|
|
3
|
+
@focusout="${(t,s)=>t._onFocusout(s.event)}">
|
|
4
|
+
${n}
|
|
5
|
+
<${e}
|
|
6
|
+
${y.ref("_popupEl")}
|
|
7
|
+
:placement=${t=>t.placement}
|
|
8
|
+
:open=${t=>t.open}
|
|
9
|
+
:anchor=${t=>t._anchorEl}
|
|
10
|
+
:strategy="${t=>t.positionStrategy}"
|
|
11
|
+
:offset=${t=>t.offset||t._popupOffset}
|
|
12
|
+
@keydown="${(t,s)=>w(t,s.event)}"
|
|
13
|
+
@vwc-popup:open="${(t,s)=>r(t,s.event,!0)}"
|
|
14
|
+
@vwc-popup:close="${(t,s)=>r(t,s.event,!1)}"
|
|
15
|
+
>
|
|
16
|
+
<div class="${A}">
|
|
17
|
+
<div class="header">
|
|
18
|
+
<slot name="header" ${h.slotted("headerSlottedContent")}></slot>
|
|
19
|
+
</div>
|
|
20
|
+
<div
|
|
21
|
+
class="body"
|
|
22
|
+
${x.delegateAria({role:"menu"})}
|
|
23
|
+
@keydown="${(t,s)=>t.handleMenuKeyDown(s.event)}"
|
|
24
|
+
@focusout="${(t,s)=>t.handleFocusOut(s.event)}"
|
|
25
|
+
>
|
|
26
|
+
<slot ${h.slotted("items")}></slot>
|
|
27
|
+
</div>
|
|
28
|
+
<footer class="action-items"><slot name="action-items" ${h.slotted("actionItemsSlottedContent")}></slot></footer>
|
|
29
|
+
</div>
|
|
30
|
+
</${e}>
|
|
31
|
+
</template>`},g=i.defineVividComponent(c.menuName,a,F,[f.popupDefinition,c.menuItemDefinition],{styles:C}),M=i.createRegisterFunction(g);exports.Menu=a;exports.menuDefinition=g;exports.registerMenu=M;
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
import { P as x, p as v } from "./definition9.js";
|
|
2
|
+
import { M as l, a as g, m as I, b } from "./definition7.js";
|
|
3
|
+
import { D as m, V as y, a as d, n as E, o as h, h as k, c as C, d as $ } from "./vivid-element.js";
|
|
4
|
+
import { A as _, a as A } from "./anchored.js";
|
|
5
|
+
import { D as w, d as F } from "./delegates-aria.js";
|
|
6
|
+
import { D } from "./divider.js";
|
|
7
|
+
import { a as S, k as M, c as L, b as P } from "./key-codes.js";
|
|
8
|
+
import { h as z } from "./index.js";
|
|
9
|
+
import { r as T } from "./ref.js";
|
|
10
|
+
import { c as O } from "./class-names.js";
|
|
11
|
+
import { s as u } from "./slotted.js";
|
|
12
|
+
const H = ":host{display:var(--_popup-display, inline)}:host([slotted-anchor]){--_popup-display: contents}.base{display:flex;overflow:hidden auto;box-sizing:border-box;flex-direction:column;padding:4px;gap:8px;inline-size:max-content;max-block-size:var(--menu-block-size, 408px);min-inline-size:var(--menu-min-inline-size)}@media not all and (width >= 600px){.base{max-inline-size:var(--menu-max-inline-size, 300px)}}@media (width >= 600px){.base{max-inline-size:var(--menu-max-inline-size)}}::slotted(a){color:var(--vvd-color-canvas-text);text-decoration:none}::slotted(a[data-vvd-component=menuitem]:focus-visible){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));--focus-stroke-gap-color: transparent;display:block}.header{padding:4px}.hide-header .header{display:none}.body{display:flex;flex-direction:column;row-gap:1px}.hide-body .body{display:none}.action-items{display:flex;justify-content:flex-end;gap:8px;padding-block-end:4px;padding-inline:12px}.hide-actions .action-items{display:none}";
|
|
13
|
+
var K = Object.defineProperty, r = (o, e, s, i) => {
|
|
14
|
+
for (var t = void 0, n = o.length - 1, c; n >= 0; n--)
|
|
15
|
+
(c = o[n]) && (t = c(e, s, t) || t);
|
|
16
|
+
return t && K(e, s, t), t;
|
|
17
|
+
};
|
|
18
|
+
const q = (o) => o instanceof l && o.controlType === "checkbox", p = (o) => o instanceof l && o.controlType === "radio", f = (o) => o instanceof D ? !0 : o.role === "separator", N = (o) => o instanceof l ? !0 : !!(o.role && o.role in g);
|
|
19
|
+
class a extends _(w(y)) {
|
|
20
|
+
constructor() {
|
|
21
|
+
super(...arguments), this.offset = null, this.expandedItem = null, this.focusIndex = -1, this.handleFocusOut = (e) => {
|
|
22
|
+
!this.contains(e.relatedTarget) && this.menuItems !== void 0 && this.menuItems.length && (this.collapseExpandedItem(), this.menuItems[this.focusIndex].setAttribute("tabindex", "-1"), this.menuItems[0].setAttribute("tabindex", "0"), this.focusIndex = 0);
|
|
23
|
+
}, this.handleItemFocus = (e) => {
|
|
24
|
+
const s = e.target;
|
|
25
|
+
this.menuItems !== void 0 && s !== this.menuItems[this.focusIndex] && (this.menuItems[this.focusIndex].setAttribute("tabindex", "-1"), this.focusIndex = this.menuItems.indexOf(s), s.setAttribute("tabindex", "0"));
|
|
26
|
+
}, this.handleExpandedChanged = (e) => {
|
|
27
|
+
const s = e.target;
|
|
28
|
+
this.expandedItem !== null && s === this.expandedItem && s.expanded === !1 && (this.expandedItem = null), s.expanded && (this.expandedItem = s);
|
|
29
|
+
}, this.removeItemListeners = () => {
|
|
30
|
+
this.menuItems !== void 0 && this.menuItems.forEach((e) => {
|
|
31
|
+
e.removeEventListener("expanded-change", this.handleExpandedChanged), e.removeEventListener(
|
|
32
|
+
"focus",
|
|
33
|
+
this.handleItemFocus
|
|
34
|
+
);
|
|
35
|
+
});
|
|
36
|
+
}, this.setItems = () => {
|
|
37
|
+
const e = this.domChildren();
|
|
38
|
+
this.removeItemListeners(), this.menuItems = e.filter(N), this.menuItems.length && (this.focusIndex = 0), this.menuItems.forEach((s, i) => {
|
|
39
|
+
s instanceof l && (s._isPresentational = !1), s.setAttribute("tabindex", i === 0 ? "0" : "-1"), s.addEventListener("expanded-change", this.handleExpandedChanged), s.addEventListener("focus", this.handleItemFocus);
|
|
40
|
+
});
|
|
41
|
+
}, this.placement = "bottom", this.autoDismiss = !1, this.positionStrategy = "fixed", this.open = !1, this.#t = () => {
|
|
42
|
+
if (this.#e === "off" || this.#e === "legacy" && this.open)
|
|
43
|
+
return;
|
|
44
|
+
const e = !this.open;
|
|
45
|
+
m.queueUpdate(() => this.open = e);
|
|
46
|
+
}, this._onFocusout = (e) => {
|
|
47
|
+
const s = e.relatedTarget, i = !this.contains(s) && !this._anchorEl?.contains(s);
|
|
48
|
+
this.autoDismiss && i && (this.open = !1);
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* @internal
|
|
53
|
+
*/
|
|
54
|
+
itemsChanged() {
|
|
55
|
+
this.$fastController.isConnected && this.menuItems !== void 0 && this.setItems();
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* @internal
|
|
59
|
+
*/
|
|
60
|
+
connectedCallback() {
|
|
61
|
+
super.connectedCallback(), m.queueUpdate(() => {
|
|
62
|
+
this.setItems();
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* @internal
|
|
67
|
+
*/
|
|
68
|
+
disconnectedCallback() {
|
|
69
|
+
super.disconnectedCallback(), this.removeItemListeners(), this.menuItems = void 0;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Moves focus into the menu. If there is a child with the `autofocus` attribute, it will be focused.
|
|
73
|
+
* Otherwise, the first focusable child will be focused.
|
|
74
|
+
*
|
|
75
|
+
* @public
|
|
76
|
+
*/
|
|
77
|
+
focus() {
|
|
78
|
+
const e = this.querySelector(
|
|
79
|
+
'[autofocus]:not([slot="anchor"])'
|
|
80
|
+
);
|
|
81
|
+
e instanceof HTMLElement ? e.focus() : this.setFocus(0);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Collapses any expanded Menu Items.
|
|
85
|
+
*
|
|
86
|
+
* @public
|
|
87
|
+
*/
|
|
88
|
+
collapseExpandedItem() {
|
|
89
|
+
this.expandedItem !== null && (this.expandedItem.expanded = !1, this.expandedItem = null);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* @internal
|
|
93
|
+
*/
|
|
94
|
+
handleMenuKeyDown(e) {
|
|
95
|
+
if (!(e.defaultPrevented || this.menuItems === void 0))
|
|
96
|
+
switch (e.key) {
|
|
97
|
+
case P:
|
|
98
|
+
this.setFocus(this.focusIndex + 1);
|
|
99
|
+
return;
|
|
100
|
+
case L:
|
|
101
|
+
this.setFocus(this.focusIndex - 1);
|
|
102
|
+
return;
|
|
103
|
+
case M:
|
|
104
|
+
this.setFocus(this.menuItems.length - 1);
|
|
105
|
+
return;
|
|
106
|
+
case S:
|
|
107
|
+
this.setFocus(0);
|
|
108
|
+
return;
|
|
109
|
+
default:
|
|
110
|
+
return !0;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* get an array of valid DOM children
|
|
115
|
+
*/
|
|
116
|
+
domChildren() {
|
|
117
|
+
return Array.from(this.children).filter((e) => !e.hasAttribute("hidden")).filter((e) => !e.hasAttribute("slot"));
|
|
118
|
+
}
|
|
119
|
+
setFocus(e) {
|
|
120
|
+
if (this.menuItems !== void 0 && e >= 0 && e < this.menuItems.length) {
|
|
121
|
+
const s = this.menuItems[e];
|
|
122
|
+
this.focusIndex > -1 && this.menuItems.length >= this.focusIndex - 1 && this.menuItems[this.focusIndex].setAttribute("tabindex", "-1"), this.focusIndex = e, s.setAttribute("tabindex", "0"), s.focus();
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
get #e() {
|
|
126
|
+
return this.trigger ?? "auto";
|
|
127
|
+
}
|
|
128
|
+
openChanged(e, s) {
|
|
129
|
+
s && this._popupEl?.show().then(() => this.focus()), s ? this.$emit("open", void 0, { bubbles: !1 }) : this.$emit("close", void 0, { bubbles: !1 }), this._anchorEl && this.#s(this._anchorEl);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* @internal
|
|
133
|
+
*/
|
|
134
|
+
_anchorElChanged(e, s) {
|
|
135
|
+
e && this.#o(e), s && this.#n(s);
|
|
136
|
+
}
|
|
137
|
+
#n(e) {
|
|
138
|
+
e.addEventListener("click", this.#t, !0), e.addEventListener("focusout", this._onFocusout), e.ariaHasPopup = "menu", this.#s(e);
|
|
139
|
+
}
|
|
140
|
+
#s(e) {
|
|
141
|
+
e.ariaExpanded = this.open.toString(), e.dataset.expanded = this.open.toString();
|
|
142
|
+
}
|
|
143
|
+
#o(e) {
|
|
144
|
+
e.removeEventListener("click", this.#t, !0), e.removeEventListener("focusout", this._onFocusout), e.ariaHasPopup = null, e.ariaExpanded = null, delete e.dataset.expanded;
|
|
145
|
+
}
|
|
146
|
+
#t;
|
|
147
|
+
/**
|
|
148
|
+
* @internal
|
|
149
|
+
*/
|
|
150
|
+
_onChange(e) {
|
|
151
|
+
if (this.menuItems === void 0 || !(e.target instanceof Element))
|
|
152
|
+
return;
|
|
153
|
+
this.#e === "auto" && !q(e.target) && (this.open = !1);
|
|
154
|
+
const s = this.domChildren(), i = s.indexOf(e.target);
|
|
155
|
+
if (i !== -1) {
|
|
156
|
+
if (p(e.target) && e.target.checked) {
|
|
157
|
+
for (let t = i - 1; t >= 0; --t) {
|
|
158
|
+
const n = s[t];
|
|
159
|
+
if (p(n) && (n.checked = !1), f(n))
|
|
160
|
+
break;
|
|
161
|
+
}
|
|
162
|
+
for (let t = i + 1; t <= s.length - 1; ++t) {
|
|
163
|
+
const n = s[t];
|
|
164
|
+
if (p(n) && (n.checked = !1), f(n))
|
|
165
|
+
break;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
return !0;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
r([
|
|
173
|
+
d({ attribute: "offset", converter: E })
|
|
174
|
+
], a.prototype, "offset");
|
|
175
|
+
r([
|
|
176
|
+
h
|
|
177
|
+
], a.prototype, "items");
|
|
178
|
+
r([
|
|
179
|
+
d({ mode: "fromView" })
|
|
180
|
+
], a.prototype, "placement");
|
|
181
|
+
r([
|
|
182
|
+
d
|
|
183
|
+
], a.prototype, "trigger");
|
|
184
|
+
r([
|
|
185
|
+
d({ mode: "boolean", attribute: "auto-dismiss" })
|
|
186
|
+
], a.prototype, "autoDismiss");
|
|
187
|
+
r([
|
|
188
|
+
d({ mode: "fromView", attribute: "position-strategy" })
|
|
189
|
+
], a.prototype, "positionStrategy");
|
|
190
|
+
r([
|
|
191
|
+
d({ mode: "boolean" })
|
|
192
|
+
], a.prototype, "open");
|
|
193
|
+
r([
|
|
194
|
+
h
|
|
195
|
+
], a.prototype, "headerSlottedContent");
|
|
196
|
+
r([
|
|
197
|
+
h
|
|
198
|
+
], a.prototype, "actionItemsSlottedContent");
|
|
199
|
+
r([
|
|
200
|
+
h
|
|
201
|
+
], a.prototype, "_popupOffset");
|
|
202
|
+
const R = ({
|
|
203
|
+
headerSlottedContent: o,
|
|
204
|
+
actionItemsSlottedContent: e,
|
|
205
|
+
items: s
|
|
206
|
+
}) => O(
|
|
207
|
+
"base",
|
|
208
|
+
["hide-header", !o?.length],
|
|
209
|
+
["hide-actions", !e?.length],
|
|
210
|
+
["hide-body", s && !s.length]
|
|
211
|
+
);
|
|
212
|
+
function U(o, e) {
|
|
213
|
+
return o.open && z(e) && (o.open = !1), !0;
|
|
214
|
+
}
|
|
215
|
+
const V = (o) => {
|
|
216
|
+
const e = o.tagFor(x), s = A();
|
|
217
|
+
function i(t, n, c) {
|
|
218
|
+
n.stopPropagation(), t.open = c;
|
|
219
|
+
}
|
|
220
|
+
return k`
|
|
221
|
+
<template @change="${(t, n) => t._onChange(n.event)}"
|
|
222
|
+
@focusout="${(t, n) => t._onFocusout(n.event)}">
|
|
223
|
+
${s}
|
|
224
|
+
<${e}
|
|
225
|
+
${T("_popupEl")}
|
|
226
|
+
:placement=${(t) => t.placement}
|
|
227
|
+
:open=${(t) => t.open}
|
|
228
|
+
:anchor=${(t) => t._anchorEl}
|
|
229
|
+
:strategy="${(t) => t.positionStrategy}"
|
|
230
|
+
:offset=${(t) => t.offset || t._popupOffset}
|
|
231
|
+
@keydown="${(t, n) => U(t, n.event)}"
|
|
232
|
+
@vwc-popup:open="${(t, n) => i(t, n.event, !0)}"
|
|
233
|
+
@vwc-popup:close="${(t, n) => i(t, n.event, !1)}"
|
|
234
|
+
>
|
|
235
|
+
<div class="${R}">
|
|
236
|
+
<div class="header">
|
|
237
|
+
<slot name="header" ${u("headerSlottedContent")}></slot>
|
|
238
|
+
</div>
|
|
239
|
+
<div
|
|
240
|
+
class="body"
|
|
241
|
+
${F({
|
|
242
|
+
role: "menu"
|
|
243
|
+
})}
|
|
244
|
+
@keydown="${(t, n) => t.handleMenuKeyDown(n.event)}"
|
|
245
|
+
@focusout="${(t, n) => t.handleFocusOut(n.event)}"
|
|
246
|
+
>
|
|
247
|
+
<slot ${u("items")}></slot>
|
|
248
|
+
</div>
|
|
249
|
+
<footer class="action-items"><slot name="action-items" ${u(
|
|
250
|
+
"actionItemsSlottedContent"
|
|
251
|
+
)}></slot></footer>
|
|
252
|
+
</div>
|
|
253
|
+
</${e}>
|
|
254
|
+
</template>`;
|
|
255
|
+
}, j = $(
|
|
256
|
+
b,
|
|
257
|
+
a,
|
|
258
|
+
V,
|
|
259
|
+
[v, I],
|
|
260
|
+
{
|
|
261
|
+
styles: H
|
|
262
|
+
}
|
|
263
|
+
), ne = C(j);
|
|
264
|
+
export {
|
|
265
|
+
a as M,
|
|
266
|
+
j as m,
|
|
267
|
+
ne as r
|
|
268
|
+
};
|