@fluentui/web-components 3.0.0-beta.99 → 3.0.0-rc.10
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/CHANGELOG.md +408 -2
- package/custom-elements.json +2486 -1727
- package/dist/esm/accordion/accordion.js +3 -5
- package/dist/esm/accordion/accordion.js.map +1 -1
- package/dist/{dts → esm}/accordion-item/accordion-item.d.ts +1 -0
- package/dist/esm/accordion-item/accordion-item.js.map +1 -1
- package/dist/esm/anchor-button/anchor-button.base.js +3 -0
- package/dist/esm/anchor-button/anchor-button.base.js.map +1 -1
- package/dist/{dts → esm}/avatar/avatar.base.d.ts +20 -0
- package/dist/esm/avatar/avatar.base.js +37 -1
- package/dist/esm/avatar/avatar.base.js.map +1 -1
- package/dist/esm/avatar/avatar.js +1 -1
- package/dist/esm/avatar/avatar.js.map +1 -1
- package/dist/esm/avatar/avatar.styles.js +4 -4
- package/dist/esm/avatar/avatar.styles.js.map +1 -1
- package/dist/esm/avatar/avatar.template.js +2 -2
- package/dist/esm/avatar/avatar.template.js.map +1 -1
- package/dist/{dts → esm}/badge/badge.options.d.ts +3 -1
- package/dist/esm/badge/badge.options.js.map +1 -1
- package/dist/{dts → esm}/button/button.base.d.ts +3 -10
- package/dist/esm/button/button.base.js +25 -11
- package/dist/esm/button/button.base.js.map +1 -1
- package/dist/esm/button/button.template.js +0 -1
- package/dist/esm/button/button.template.js.map +1 -1
- package/dist/{dts → esm}/checkbox/checkbox.base.d.ts +10 -1
- package/dist/esm/checkbox/checkbox.base.js +24 -2
- package/dist/esm/checkbox/checkbox.base.js.map +1 -1
- package/dist/esm/checkbox/checkbox.template.js +0 -1
- package/dist/esm/checkbox/checkbox.template.js.map +1 -1
- package/dist/esm/compound-button/compound-button.styles.js +7 -1
- package/dist/esm/compound-button/compound-button.styles.js.map +1 -1
- package/dist/{dts → esm}/counter-badge/counter-badge.d.ts +2 -1
- package/dist/esm/counter-badge/counter-badge.js +2 -1
- package/dist/esm/counter-badge/counter-badge.js.map +1 -1
- package/dist/{dts → esm}/dialog/dialog.d.ts +26 -8
- package/dist/esm/dialog/dialog.js +37 -7
- package/dist/esm/dialog/dialog.js.map +1 -1
- package/dist/esm/dialog/dialog.options.d.ts +21 -0
- package/dist/esm/dialog/dialog.options.js +14 -0
- package/dist/esm/dialog/dialog.options.js.map +1 -1
- package/dist/esm/dialog/dialog.styles.js +7 -1
- package/dist/esm/dialog/dialog.styles.js.map +1 -1
- package/dist/esm/dialog/dialog.template.js +0 -4
- package/dist/esm/dialog/dialog.template.js.map +1 -1
- package/dist/{dts → esm}/dialog/index.d.ts +1 -1
- package/dist/esm/dialog/index.js +1 -1
- package/dist/esm/dialog/index.js.map +1 -1
- package/dist/{dts → esm}/dialog-body/dialog-body.d.ts +5 -3
- package/dist/esm/dialog-body/dialog-body.js +16 -12
- package/dist/esm/dialog-body/dialog-body.js.map +1 -1
- package/dist/esm/dialog-body/dialog-body.styles.js +24 -8
- package/dist/esm/dialog-body/dialog-body.styles.js.map +1 -1
- package/dist/esm/dialog-body/dialog-body.template.js +10 -35
- package/dist/esm/dialog-body/dialog-body.template.js.map +1 -1
- package/dist/{dts → esm}/divider/divider.options.d.ts +1 -4
- package/dist/{dts → esm}/drawer/drawer.d.ts +31 -8
- package/dist/esm/drawer/drawer.js +61 -5
- package/dist/esm/drawer/drawer.js.map +1 -1
- package/dist/esm/drawer/drawer.template.js +1 -4
- package/dist/esm/drawer/drawer.template.js.map +1 -1
- package/dist/{dts → esm}/drawer-body/drawer-body.d.ts +7 -0
- package/dist/esm/drawer-body/drawer-body.js +16 -0
- package/dist/esm/drawer-body/drawer-body.js.map +1 -1
- package/dist/esm/drawer-body/drawer-body.template.js +1 -1
- package/dist/esm/drawer-body/drawer-body.template.js.map +1 -1
- package/dist/{dts → esm}/dropdown/dropdown.base.d.ts +30 -16
- package/dist/esm/dropdown/dropdown.base.js +114 -62
- package/dist/esm/dropdown/dropdown.base.js.map +1 -1
- package/dist/esm/dropdown/dropdown.definition.js +0 -3
- package/dist/esm/dropdown/dropdown.definition.js.map +1 -1
- package/dist/esm/dropdown/dropdown.styles.js +28 -25
- package/dist/esm/dropdown/dropdown.styles.js.map +1 -1
- package/dist/esm/dropdown/dropdown.template.js +4 -2
- package/dist/esm/dropdown/dropdown.template.js.map +1 -1
- package/dist/{dts → esm}/field/field.base.d.ts +3 -0
- package/dist/esm/field/field.base.js +21 -10
- package/dist/esm/field/field.base.js.map +1 -1
- package/dist/esm/field/field.styles.js +13 -15
- package/dist/esm/field/field.styles.js.map +1 -1
- package/dist/esm/field/field.template.js +2 -10
- package/dist/esm/field/field.template.js.map +1 -1
- package/dist/{dts → esm}/index-rollup.d.ts +1 -2
- package/dist/esm/index-rollup.js +1 -2
- package/dist/esm/index-rollup.js.map +1 -1
- package/dist/{dts → esm}/index.d.ts +3 -5
- package/dist/esm/index.js +2 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/label/label.template.js +1 -1
- package/dist/esm/label/label.template.js.map +1 -1
- package/dist/{dts → esm}/listbox/listbox.d.ts +8 -2
- package/dist/esm/listbox/listbox.js +17 -5
- package/dist/esm/listbox/listbox.js.map +1 -1
- package/dist/esm/listbox/listbox.styles.js +38 -2
- package/dist/esm/listbox/listbox.styles.js.map +1 -1
- package/dist/{dts → esm}/listbox/listbox.template.d.ts +1 -2
- package/dist/esm/listbox/listbox.template.js +2 -9
- package/dist/esm/listbox/listbox.template.js.map +1 -1
- package/dist/esm/menu/menu.js +7 -3
- package/dist/esm/menu/menu.js.map +1 -1
- package/dist/{dts → esm}/menu-item/menu-item.options.d.ts +10 -0
- package/dist/esm/menu-item/menu-item.options.js +14 -0
- package/dist/esm/menu-item/menu-item.options.js.map +1 -1
- package/dist/esm/menu-item/menu-item.styles.js +1 -1
- package/dist/esm/menu-list/menu-list.js +6 -10
- package/dist/esm/menu-list/menu-list.js.map +1 -1
- package/dist/{dts → esm}/message-bar/message-bar.d.ts +2 -1
- package/dist/esm/message-bar/message-bar.js +2 -1
- package/dist/esm/message-bar/message-bar.js.map +1 -1
- package/dist/{dts → esm}/message-bar/message-bar.options.d.ts +6 -3
- package/dist/esm/message-bar/message-bar.options.js +6 -3
- package/dist/esm/message-bar/message-bar.options.js.map +1 -1
- package/dist/esm/option/option.js +1 -0
- package/dist/esm/option/option.js.map +1 -1
- package/dist/esm/option/option.styles.js +8 -2
- package/dist/esm/option/option.styles.js.map +1 -1
- package/dist/{dts → esm}/progress-bar/progress-bar.base.d.ts +20 -9
- package/dist/esm/progress-bar/progress-bar.base.js +30 -16
- package/dist/esm/progress-bar/progress-bar.base.js.map +1 -1
- package/dist/{dts → esm}/progress-bar/progress-bar.d.ts +9 -3
- package/dist/esm/progress-bar/progress-bar.js.map +1 -1
- package/dist/esm/progress-bar/progress-bar.styles.js +11 -0
- package/dist/esm/progress-bar/progress-bar.styles.js.map +1 -1
- package/dist/esm/progress-bar/progress-bar.template.js +2 -8
- package/dist/esm/progress-bar/progress-bar.template.js.map +1 -1
- package/dist/{dts → esm}/radio/radio.d.ts +0 -1
- package/dist/esm/radio/radio.js +0 -7
- package/dist/esm/radio/radio.js.map +1 -1
- package/dist/{dts → esm}/radio-group/radio-group.d.ts +15 -0
- package/dist/esm/radio-group/radio-group.js +46 -6
- package/dist/esm/radio-group/radio-group.js.map +1 -1
- package/dist/{dts → esm}/radio-group/radio-group.options.d.ts +1 -4
- package/dist/esm/radio-group/radio-group.styles.js +5 -1
- package/dist/esm/radio-group/radio-group.styles.js.map +1 -1
- package/dist/{dts → esm}/rating-display/rating-display.base.d.ts +20 -32
- package/dist/esm/rating-display/rating-display.base.js +63 -48
- package/dist/esm/rating-display/rating-display.base.js.map +1 -1
- package/dist/{dts → esm}/rating-display/rating-display.d.ts +1 -13
- package/dist/esm/rating-display/rating-display.js +0 -16
- package/dist/esm/rating-display/rating-display.js.map +1 -1
- package/dist/esm/rating-display/rating-display.styles.js +65 -38
- package/dist/esm/rating-display/rating-display.styles.js.map +1 -1
- package/dist/esm/rating-display/rating-display.template.d.ts +17 -0
- package/dist/esm/rating-display/rating-display.template.js +11 -15
- package/dist/esm/rating-display/rating-display.template.js.map +1 -1
- package/dist/esm/slider/slider.js +2 -2
- package/dist/esm/slider/slider.js.map +1 -1
- package/dist/esm/slider/slider.template.js +0 -1
- package/dist/esm/slider/slider.template.js.map +1 -1
- package/dist/{dts → esm}/styles/partials/badge.partials.d.ts +2 -1
- package/dist/esm/styles/partials/badge.partials.js +2 -1
- package/dist/esm/styles/partials/badge.partials.js.map +1 -1
- package/dist/{dts → esm}/styles/states/index.d.ts +5 -0
- package/dist/esm/styles/states/index.js +5 -0
- package/dist/esm/styles/states/index.js.map +1 -1
- package/dist/esm/switch/switch.styles.js +4 -0
- package/dist/esm/switch/switch.styles.js.map +1 -1
- package/dist/esm/switch/switch.template.js +0 -1
- package/dist/esm/switch/switch.template.js.map +1 -1
- package/dist/{dts → esm}/tab/index.d.ts +1 -0
- package/dist/esm/tab/index.js +1 -0
- package/dist/esm/tab/index.js.map +1 -1
- package/dist/esm/tab/tab.options.d.ts +10 -0
- package/dist/esm/tab/tab.options.js +15 -0
- package/dist/esm/tab/tab.options.js.map +1 -0
- package/dist/esm/tab/tab.styles.js +12 -7
- package/dist/esm/tab/tab.styles.js.map +1 -1
- package/dist/{dts → esm}/tablist/tablist.base.d.ts +13 -2
- package/dist/esm/tablist/tablist.base.js +23 -0
- package/dist/esm/tablist/tablist.base.js.map +1 -1
- package/dist/{dts → esm}/tablist/tablist.options.d.ts +1 -4
- package/dist/esm/tablist/tablist.styles.js +2 -2
- package/dist/esm/tablist/tablist.template.js +1 -1
- package/dist/esm/tablist/tablist.template.js.map +1 -1
- package/dist/esm/text/text.styles.js +0 -1
- package/dist/esm/text/text.styles.js.map +1 -1
- package/dist/{dts → esm}/textarea/textarea.base.d.ts +6 -0
- package/dist/esm/textarea/textarea.base.js +18 -7
- package/dist/esm/textarea/textarea.base.js.map +1 -1
- package/dist/esm/textarea/textarea.template.js +3 -15
- package/dist/esm/textarea/textarea.template.js.map +1 -1
- package/dist/{dts → esm}/theme/design-tokens.d.ts +115 -0
- package/dist/esm/theme/design-tokens.js +115 -0
- package/dist/esm/theme/design-tokens.js.map +1 -1
- package/dist/{dts → esm}/theme/set-theme.d.ts +2 -2
- package/dist/esm/theme/set-theme.js +1 -1
- package/dist/{dts → esm}/tree/tree.base.d.ts +7 -1
- package/dist/esm/tree/tree.base.js +10 -1
- package/dist/esm/tree/tree.base.js.map +1 -1
- package/dist/{dts → esm}/tree/tree.d.ts +12 -6
- package/dist/esm/tree/tree.js +10 -4
- package/dist/esm/tree/tree.js.map +1 -1
- package/dist/esm/tree/tree.styles.js +2 -1
- package/dist/esm/tree/tree.styles.js.map +1 -1
- package/dist/esm/tree/tree.template.js +2 -7
- package/dist/esm/tree/tree.template.js.map +1 -1
- package/dist/{dts → esm}/tree-item/tree-item.base.d.ts +16 -3
- package/dist/esm/tree-item/tree-item.base.js +26 -2
- package/dist/esm/tree-item/tree-item.base.js.map +1 -1
- package/dist/{dts → esm}/tree-item/tree-item.d.ts +3 -3
- package/dist/esm/tree-item/tree-item.js +1 -1
- package/dist/esm/tree-item/tree-item.js.map +1 -1
- package/dist/esm/tree-item/tree-item.styles.js +5 -0
- package/dist/esm/tree-item/tree-item.styles.js.map +1 -1
- package/dist/esm/tree-item/tree-item.template.js +5 -13
- package/dist/esm/tree-item/tree-item.template.js.map +1 -1
- package/dist/{dts → esm}/tsdoc-metadata.json +1 -1
- package/dist/esm/utils/element-internals.js +0 -3
- package/dist/esm/utils/element-internals.js.map +1 -1
- package/dist/{dts → esm}/utils/language.d.ts +1 -1
- package/dist/esm/utils/request-idle-callback.d.ts +41 -0
- package/dist/esm/utils/request-idle-callback.js +72 -0
- package/dist/esm/utils/request-idle-callback.js.map +1 -0
- package/dist/web-components.d.ts +431 -387
- package/dist/web-components.js +1468 -1511
- package/dist/web-components.min.js +306 -289
- package/package.json +27 -55
- package/dist/dts/dialog/dialog.options.d.ts +0 -11
- package/dist/dts/rating-display/rating-display.template.d.ts +0 -14
- package/dist/dts/tab-panel/index.d.ts +0 -4
- package/dist/dts/tab-panel/tab-panel.bench.d.ts +0 -3
- package/dist/dts/tab-panel/tab-panel.d.ts +0 -8
- package/dist/dts/tab-panel/tab-panel.definition.d.ts +0 -5
- package/dist/dts/tab-panel/tab-panel.styles.d.ts +0 -1
- package/dist/dts/tab-panel/tab-panel.template.d.ts +0 -7
- package/dist/dts/tabs/index.d.ts +0 -6
- package/dist/dts/tabs/tabs.base.d.ts +0 -90
- package/dist/dts/tabs/tabs.bench.d.ts +0 -3
- package/dist/dts/tabs/tabs.d.ts +0 -100
- package/dist/dts/tabs/tabs.definition.d.ts +0 -5
- package/dist/dts/tabs/tabs.options.d.ts +0 -32
- package/dist/dts/tabs/tabs.styles.d.ts +0 -1
- package/dist/dts/tabs/tabs.template.d.ts +0 -8
- package/dist/dts/tree/define.d.ts +0 -1
- package/dist/dts/tree-item/define.d.ts +0 -1
- package/dist/esm/tab-panel/define.js +0 -7
- package/dist/esm/tab-panel/define.js.map +0 -1
- package/dist/esm/tab-panel/index.js +0 -5
- package/dist/esm/tab-panel/index.js.map +0 -1
- package/dist/esm/tab-panel/tab-panel.bench.js +0 -13
- package/dist/esm/tab-panel/tab-panel.bench.js.map +0 -1
- package/dist/esm/tab-panel/tab-panel.definition.js +0 -13
- package/dist/esm/tab-panel/tab-panel.definition.js.map +0 -1
- package/dist/esm/tab-panel/tab-panel.js +0 -9
- package/dist/esm/tab-panel/tab-panel.js.map +0 -1
- package/dist/esm/tab-panel/tab-panel.styles.js +0 -12
- package/dist/esm/tab-panel/tab-panel.styles.js.map +0 -1
- package/dist/esm/tab-panel/tab-panel.template.js +0 -13
- package/dist/esm/tab-panel/tab-panel.template.js.map +0 -1
- package/dist/esm/tabs/define.js +0 -7
- package/dist/esm/tabs/define.js.map +0 -1
- package/dist/esm/tabs/index.js +0 -6
- package/dist/esm/tabs/index.js.map +0 -1
- package/dist/esm/tabs/tabs.base.js +0 -279
- package/dist/esm/tabs/tabs.base.js.map +0 -1
- package/dist/esm/tabs/tabs.bench.js +0 -32
- package/dist/esm/tabs/tabs.bench.js.map +0 -1
- package/dist/esm/tabs/tabs.definition.js +0 -13
- package/dist/esm/tabs/tabs.definition.js.map +0 -1
- package/dist/esm/tabs/tabs.js +0 -180
- package/dist/esm/tabs/tabs.js.map +0 -1
- package/dist/esm/tabs/tabs.options.js +0 -16
- package/dist/esm/tabs/tabs.options.js.map +0 -1
- package/dist/esm/tabs/tabs.styles.js +0 -230
- package/dist/esm/tabs/tabs.styles.js.map +0 -1
- package/dist/esm/tabs/tabs.template.js +0 -19
- package/dist/esm/tabs/tabs.template.js.map +0 -1
- /package/dist/{dts → esm}/accordion/accordion.bench.d.ts +0 -0
- /package/dist/{dts → esm}/accordion/accordion.d.ts +0 -0
- /package/dist/{dts → esm}/accordion/accordion.definition.d.ts +0 -0
- /package/dist/{dts → esm}/accordion/accordion.options.d.ts +0 -0
- /package/dist/{dts → esm}/accordion/accordion.styles.d.ts +0 -0
- /package/dist/{dts → esm}/accordion/accordion.template.d.ts +0 -0
- /package/dist/{dts → esm}/accordion/define.d.ts +0 -0
- /package/dist/{dts → esm}/accordion/index.d.ts +0 -0
- /package/dist/{dts → esm}/accordion-item/accordion-item.base.d.ts +0 -0
- /package/dist/{dts → esm}/accordion-item/accordion-item.bench.d.ts +0 -0
- /package/dist/{dts → esm}/accordion-item/accordion-item.definition.d.ts +0 -0
- /package/dist/{dts → esm}/accordion-item/accordion-item.options.d.ts +0 -0
- /package/dist/{dts → esm}/accordion-item/accordion-item.styles.d.ts +0 -0
- /package/dist/{dts → esm}/accordion-item/accordion-item.template.d.ts +0 -0
- /package/dist/{dts → esm}/accordion-item/define.d.ts +0 -0
- /package/dist/{dts → esm}/accordion-item/index.d.ts +0 -0
- /package/dist/{dts → esm}/anchor-button/anchor-button.base.d.ts +0 -0
- /package/dist/{dts → esm}/anchor-button/anchor-button.bench.d.ts +0 -0
- /package/dist/{dts → esm}/anchor-button/anchor-button.d.ts +0 -0
- /package/dist/{dts → esm}/anchor-button/anchor-button.definition.d.ts +0 -0
- /package/dist/{dts → esm}/anchor-button/anchor-button.options.d.ts +0 -0
- /package/dist/{dts → esm}/anchor-button/anchor-button.styles.d.ts +0 -0
- /package/dist/{dts → esm}/anchor-button/anchor-button.template.d.ts +0 -0
- /package/dist/{dts → esm}/anchor-button/define.d.ts +0 -0
- /package/dist/{dts → esm}/anchor-button/index.d.ts +0 -0
- /package/dist/{dts → esm}/avatar/avatar.bench.d.ts +0 -0
- /package/dist/{dts → esm}/avatar/avatar.d.ts +0 -0
- /package/dist/{dts → esm}/avatar/avatar.definition.d.ts +0 -0
- /package/dist/{dts → esm}/avatar/avatar.options.d.ts +0 -0
- /package/dist/{dts → esm}/avatar/avatar.styles.d.ts +0 -0
- /package/dist/{dts → esm}/avatar/avatar.template.d.ts +0 -0
- /package/dist/{dts → esm}/avatar/define.d.ts +0 -0
- /package/dist/{dts → esm}/avatar/index.d.ts +0 -0
- /package/dist/{dts → esm}/badge/badge.bench.d.ts +0 -0
- /package/dist/{dts → esm}/badge/badge.d.ts +0 -0
- /package/dist/{dts → esm}/badge/badge.definition.d.ts +0 -0
- /package/dist/{dts → esm}/badge/badge.styles.d.ts +0 -0
- /package/dist/{dts → esm}/badge/badge.template.d.ts +0 -0
- /package/dist/{dts → esm}/badge/define.d.ts +0 -0
- /package/dist/{dts → esm}/badge/index.d.ts +0 -0
- /package/dist/{dts → esm}/button/button.bench.d.ts +0 -0
- /package/dist/{dts → esm}/button/button.d.ts +0 -0
- /package/dist/{dts → esm}/button/button.definition.d.ts +0 -0
- /package/dist/{dts → esm}/button/button.options.d.ts +0 -0
- /package/dist/{dts → esm}/button/button.styles.d.ts +0 -0
- /package/dist/{dts → esm}/button/button.template.d.ts +0 -0
- /package/dist/{dts → esm}/button/define.d.ts +0 -0
- /package/dist/{dts → esm}/button/index.d.ts +0 -0
- /package/dist/{dts → esm}/checkbox/checkbox.bench.d.ts +0 -0
- /package/dist/{dts → esm}/checkbox/checkbox.d.ts +0 -0
- /package/dist/{dts → esm}/checkbox/checkbox.definition.d.ts +0 -0
- /package/dist/{dts → esm}/checkbox/checkbox.options.d.ts +0 -0
- /package/dist/{dts → esm}/checkbox/checkbox.styles.d.ts +0 -0
- /package/dist/{dts → esm}/checkbox/checkbox.template.d.ts +0 -0
- /package/dist/{dts → esm}/checkbox/define.d.ts +0 -0
- /package/dist/{dts → esm}/checkbox/index.d.ts +0 -0
- /package/dist/{dts → esm}/compound-button/compound-button.bench.d.ts +0 -0
- /package/dist/{dts → esm}/compound-button/compound-button.d.ts +0 -0
- /package/dist/{dts → esm}/compound-button/compound-button.definition.d.ts +0 -0
- /package/dist/{dts → esm}/compound-button/compound-button.options.d.ts +0 -0
- /package/dist/{dts → esm}/compound-button/compound-button.styles.d.ts +0 -0
- /package/dist/{dts → esm}/compound-button/compound-button.template.d.ts +0 -0
- /package/dist/{dts → esm}/compound-button/define.d.ts +0 -0
- /package/dist/{dts → esm}/compound-button/index.d.ts +0 -0
- /package/dist/{dts → esm}/counter-badge/counter-badge.bench.d.ts +0 -0
- /package/dist/{dts → esm}/counter-badge/counter-badge.definition.d.ts +0 -0
- /package/dist/{dts → esm}/counter-badge/counter-badge.options.d.ts +0 -0
- /package/dist/{dts → esm}/counter-badge/counter-badge.styles.d.ts +0 -0
- /package/dist/{dts → esm}/counter-badge/counter-badge.template.d.ts +0 -0
- /package/dist/{dts → esm}/counter-badge/define.d.ts +0 -0
- /package/dist/{dts → esm}/counter-badge/index.d.ts +0 -0
- /package/dist/{dts → esm}/dialog/define.d.ts +0 -0
- /package/dist/{dts → esm}/dialog/dialog.bench.d.ts +0 -0
- /package/dist/{dts → esm}/dialog/dialog.definition.d.ts +0 -0
- /package/dist/{dts → esm}/dialog/dialog.styles.d.ts +0 -0
- /package/dist/{dts → esm}/dialog/dialog.template.d.ts +0 -0
- /package/dist/{dts → esm}/dialog-body/define.d.ts +0 -0
- /package/dist/{dts → esm}/dialog-body/dialog-body.bench.d.ts +0 -0
- /package/dist/{dts → esm}/dialog-body/dialog-body.definition.d.ts +0 -0
- /package/dist/{dts → esm}/dialog-body/dialog-body.styles.d.ts +0 -0
- /package/dist/{dts → esm}/dialog-body/dialog-body.template.d.ts +0 -0
- /package/dist/{dts → esm}/dialog-body/index.d.ts +0 -0
- /package/dist/{dts → esm}/divider/define.d.ts +0 -0
- /package/dist/{dts → esm}/divider/divider.base.d.ts +0 -0
- /package/dist/{dts → esm}/divider/divider.bench.d.ts +0 -0
- /package/dist/{dts → esm}/divider/divider.d.ts +0 -0
- /package/dist/{dts → esm}/divider/divider.definition.d.ts +0 -0
- /package/dist/{dts → esm}/divider/divider.styles.d.ts +0 -0
- /package/dist/{dts → esm}/divider/divider.template.d.ts +0 -0
- /package/dist/{dts → esm}/divider/index.d.ts +0 -0
- /package/dist/{dts → esm}/drawer/define.d.ts +0 -0
- /package/dist/{dts → esm}/drawer/drawer.definition.d.ts +0 -0
- /package/dist/{dts → esm}/drawer/drawer.options.d.ts +0 -0
- /package/dist/{dts → esm}/drawer/drawer.styles.d.ts +0 -0
- /package/dist/{dts → esm}/drawer/drawer.template.d.ts +0 -0
- /package/dist/{dts → esm}/drawer/index.d.ts +0 -0
- /package/dist/{dts → esm}/drawer-body/define.d.ts +0 -0
- /package/dist/{dts → esm}/drawer-body/drawer-body.definition.d.ts +0 -0
- /package/dist/{dts → esm}/drawer-body/drawer-body.styles.d.ts +0 -0
- /package/dist/{dts → esm}/drawer-body/drawer-body.template.d.ts +0 -0
- /package/dist/{dts → esm}/drawer-body/index.d.ts +0 -0
- /package/dist/{dts → esm}/dropdown/define.d.ts +0 -0
- /package/dist/{dts → esm}/dropdown/dropdown.d.ts +0 -0
- /package/dist/{dts → esm}/dropdown/dropdown.definition.d.ts +0 -0
- /package/dist/{dts → esm}/dropdown/dropdown.options.d.ts +0 -0
- /package/dist/{dts → esm}/dropdown/dropdown.styles.d.ts +0 -0
- /package/dist/{dts → esm}/dropdown/dropdown.template.d.ts +0 -0
- /package/dist/{dts → esm}/dropdown/index.d.ts +0 -0
- /package/dist/{dts → esm}/field/define.d.ts +0 -0
- /package/dist/{dts → esm}/field/field.bench.d.ts +0 -0
- /package/dist/{dts → esm}/field/field.d.ts +0 -0
- /package/dist/{dts → esm}/field/field.definition.d.ts +0 -0
- /package/dist/{dts → esm}/field/field.options.d.ts +0 -0
- /package/dist/{dts → esm}/field/field.styles.d.ts +0 -0
- /package/dist/{dts → esm}/field/field.template.d.ts +0 -0
- /package/dist/{dts → esm}/field/index.d.ts +0 -0
- /package/dist/{dts → esm}/fluent-design-system.d.ts +0 -0
- /package/dist/{dts → esm}/image/define.d.ts +0 -0
- /package/dist/{dts → esm}/image/image.bench.d.ts +0 -0
- /package/dist/{dts → esm}/image/image.d.ts +0 -0
- /package/dist/{dts → esm}/image/image.definition.d.ts +0 -0
- /package/dist/{dts → esm}/image/image.options.d.ts +0 -0
- /package/dist/{dts → esm}/image/image.styles.d.ts +0 -0
- /package/dist/{dts → esm}/image/image.template.d.ts +0 -0
- /package/dist/{dts → esm}/image/index.d.ts +0 -0
- /package/dist/{dts → esm}/label/define.d.ts +0 -0
- /package/dist/{dts → esm}/label/index.d.ts +0 -0
- /package/dist/{dts → esm}/label/label.bench.d.ts +0 -0
- /package/dist/{dts → esm}/label/label.d.ts +0 -0
- /package/dist/{dts → esm}/label/label.definition.d.ts +0 -0
- /package/dist/{dts → esm}/label/label.options.d.ts +0 -0
- /package/dist/{dts → esm}/label/label.styles.d.ts +0 -0
- /package/dist/{dts → esm}/label/label.template.d.ts +0 -0
- /package/dist/{dts → esm}/link/define.d.ts +0 -0
- /package/dist/{dts → esm}/link/index.d.ts +0 -0
- /package/dist/{dts → esm}/link/link.bench.d.ts +0 -0
- /package/dist/{dts → esm}/link/link.d.ts +0 -0
- /package/dist/{dts → esm}/link/link.definition.d.ts +0 -0
- /package/dist/{dts → esm}/link/link.options.d.ts +0 -0
- /package/dist/{dts → esm}/link/link.styles.d.ts +0 -0
- /package/dist/{dts → esm}/link/link.template.d.ts +0 -0
- /package/dist/{dts → esm}/listbox/define.d.ts +0 -0
- /package/dist/{dts → esm}/listbox/index.d.ts +0 -0
- /package/dist/{dts → esm}/listbox/listbox.definition.d.ts +0 -0
- /package/dist/{dts → esm}/listbox/listbox.options.d.ts +0 -0
- /package/dist/{dts → esm}/listbox/listbox.styles.d.ts +0 -0
- /package/dist/{dts → esm}/menu/define.d.ts +0 -0
- /package/dist/{dts → esm}/menu/index.d.ts +0 -0
- /package/dist/{dts → esm}/menu/menu.bench.d.ts +0 -0
- /package/dist/{dts → esm}/menu/menu.d.ts +0 -0
- /package/dist/{dts → esm}/menu/menu.definition.d.ts +0 -0
- /package/dist/{dts → esm}/menu/menu.styles.d.ts +0 -0
- /package/dist/{dts → esm}/menu/menu.template.d.ts +0 -0
- /package/dist/{dts → esm}/menu-button/define.d.ts +0 -0
- /package/dist/{dts → esm}/menu-button/index.d.ts +0 -0
- /package/dist/{dts → esm}/menu-button/menu-button.bench.d.ts +0 -0
- /package/dist/{dts → esm}/menu-button/menu-button.d.ts +0 -0
- /package/dist/{dts → esm}/menu-button/menu-button.definition.d.ts +0 -0
- /package/dist/{dts → esm}/menu-button/menu-button.options.d.ts +0 -0
- /package/dist/{dts → esm}/menu-button/menu-button.template.d.ts +0 -0
- /package/dist/{dts → esm}/menu-item/define.d.ts +0 -0
- /package/dist/{dts → esm}/menu-item/index.d.ts +0 -0
- /package/dist/{dts → esm}/menu-item/menu-item.bench.d.ts +0 -0
- /package/dist/{dts → esm}/menu-item/menu-item.d.ts +0 -0
- /package/dist/{dts → esm}/menu-item/menu-item.definition.d.ts +0 -0
- /package/dist/{dts → esm}/menu-item/menu-item.styles.d.ts +0 -0
- /package/dist/{dts → esm}/menu-item/menu-item.template.d.ts +0 -0
- /package/dist/{dts → esm}/menu-list/define.d.ts +0 -0
- /package/dist/{dts → esm}/menu-list/index.d.ts +0 -0
- /package/dist/{dts → esm}/menu-list/menu-list.bench.d.ts +0 -0
- /package/dist/{dts → esm}/menu-list/menu-list.d.ts +0 -0
- /package/dist/{dts → esm}/menu-list/menu-list.definition.d.ts +0 -0
- /package/dist/{dts → esm}/menu-list/menu-list.styles.d.ts +0 -0
- /package/dist/{dts → esm}/menu-list/menu-list.template.d.ts +0 -0
- /package/dist/{dts → esm}/message-bar/define.d.ts +0 -0
- /package/dist/{dts → esm}/message-bar/index.d.ts +0 -0
- /package/dist/{dts → esm}/message-bar/message-bar.bench.d.ts +0 -0
- /package/dist/{dts → esm}/message-bar/message-bar.definition.d.ts +0 -0
- /package/dist/{dts → esm}/message-bar/message-bar.styles.d.ts +0 -0
- /package/dist/{dts → esm}/message-bar/message-bar.template.d.ts +0 -0
- /package/dist/{dts → esm}/option/define.d.ts +0 -0
- /package/dist/{dts → esm}/option/index.d.ts +0 -0
- /package/dist/{dts → esm}/option/option.d.ts +0 -0
- /package/dist/{dts → esm}/option/option.definition.d.ts +0 -0
- /package/dist/{dts → esm}/option/option.options.d.ts +0 -0
- /package/dist/{dts → esm}/option/option.styles.d.ts +0 -0
- /package/dist/{dts → esm}/option/option.template.d.ts +0 -0
- /package/dist/{dts → esm}/patterns/aria-globals.d.ts +0 -0
- /package/dist/{dts → esm}/patterns/index.d.ts +0 -0
- /package/dist/{dts → esm}/patterns/start-end.d.ts +0 -0
- /package/dist/{dts → esm}/progress-bar/define.d.ts +0 -0
- /package/dist/{dts → esm}/progress-bar/index.d.ts +0 -0
- /package/dist/{dts → esm}/progress-bar/progress-bar.bench.d.ts +0 -0
- /package/dist/{dts → esm}/progress-bar/progress-bar.definition.d.ts +0 -0
- /package/dist/{dts → esm}/progress-bar/progress-bar.options.d.ts +0 -0
- /package/dist/{dts → esm}/progress-bar/progress-bar.styles.d.ts +0 -0
- /package/dist/{dts → esm}/progress-bar/progress-bar.template.d.ts +0 -0
- /package/dist/{dts → esm}/radio/define.d.ts +0 -0
- /package/dist/{dts → esm}/radio/index.d.ts +0 -0
- /package/dist/{dts → esm}/radio/radio.bench.d.ts +0 -0
- /package/dist/{dts → esm}/radio/radio.definition.d.ts +0 -0
- /package/dist/{dts → esm}/radio/radio.options.d.ts +0 -0
- /package/dist/{dts → esm}/radio/radio.styles.d.ts +0 -0
- /package/dist/{dts → esm}/radio/radio.template.d.ts +0 -0
- /package/dist/{dts → esm}/radio-group/define.d.ts +0 -0
- /package/dist/{dts → esm}/radio-group/index.d.ts +0 -0
- /package/dist/{dts → esm}/radio-group/radio-group.bench.d.ts +0 -0
- /package/dist/{dts → esm}/radio-group/radio-group.definition.d.ts +0 -0
- /package/dist/{dts → esm}/radio-group/radio-group.styles.d.ts +0 -0
- /package/dist/{dts → esm}/radio-group/radio-group.template.d.ts +0 -0
- /package/dist/{dts → esm}/rating-display/define.d.ts +0 -0
- /package/dist/{dts → esm}/rating-display/index.d.ts +0 -0
- /package/dist/{dts → esm}/rating-display/rating-display.definition.d.ts +0 -0
- /package/dist/{dts → esm}/rating-display/rating-display.options.d.ts +0 -0
- /package/dist/{dts → esm}/rating-display/rating-display.styles.d.ts +0 -0
- /package/dist/{dts → esm}/slider/define.d.ts +0 -0
- /package/dist/{dts → esm}/slider/index.d.ts +0 -0
- /package/dist/{dts → esm}/slider/slider-utilities.d.ts +0 -0
- /package/dist/{dts → esm}/slider/slider.bench.d.ts +0 -0
- /package/dist/{dts → esm}/slider/slider.d.ts +0 -0
- /package/dist/{dts → esm}/slider/slider.definition.d.ts +0 -0
- /package/dist/{dts → esm}/slider/slider.options.d.ts +0 -0
- /package/dist/{dts → esm}/slider/slider.styles.d.ts +0 -0
- /package/dist/{dts → esm}/slider/slider.template.d.ts +0 -0
- /package/dist/{dts → esm}/spinner/define.d.ts +0 -0
- /package/dist/{dts → esm}/spinner/index.d.ts +0 -0
- /package/dist/{dts → esm}/spinner/spinner.base.d.ts +0 -0
- /package/dist/{dts → esm}/spinner/spinner.bench.d.ts +0 -0
- /package/dist/{dts → esm}/spinner/spinner.d.ts +0 -0
- /package/dist/{dts → esm}/spinner/spinner.definition.d.ts +0 -0
- /package/dist/{dts → esm}/spinner/spinner.options.d.ts +0 -0
- /package/dist/{dts → esm}/spinner/spinner.styles.d.ts +0 -0
- /package/dist/{dts → esm}/spinner/spinner.template.d.ts +0 -0
- /package/dist/{dts → esm}/styles/index.d.ts +0 -0
- /package/dist/{dts → esm}/styles/partials/index.d.ts +0 -0
- /package/dist/{dts → esm}/styles/partials/typography.partials.d.ts +0 -0
- /package/dist/{dts → esm}/switch/define.d.ts +0 -0
- /package/dist/{dts → esm}/switch/index.d.ts +0 -0
- /package/dist/{dts → esm}/switch/switch.bench.d.ts +0 -0
- /package/dist/{dts → esm}/switch/switch.d.ts +0 -0
- /package/dist/{dts → esm}/switch/switch.definition.d.ts +0 -0
- /package/dist/{dts → esm}/switch/switch.options.d.ts +0 -0
- /package/dist/{dts → esm}/switch/switch.styles.d.ts +0 -0
- /package/dist/{dts → esm}/switch/switch.template.d.ts +0 -0
- /package/dist/{dts/tab-panel → esm/tab}/define.d.ts +0 -0
- /package/dist/{dts → esm}/tab/tab.bench.d.ts +0 -0
- /package/dist/{dts → esm}/tab/tab.d.ts +0 -0
- /package/dist/{dts → esm}/tab/tab.definition.d.ts +0 -0
- /package/dist/{dts → esm}/tab/tab.styles.d.ts +0 -0
- /package/dist/{dts → esm}/tab/tab.template.d.ts +0 -0
- /package/dist/{dts/tab → esm/tablist}/define.d.ts +0 -0
- /package/dist/{dts → esm}/tablist/index.d.ts +0 -0
- /package/dist/{dts → esm}/tablist/tablist.bench.d.ts +0 -0
- /package/dist/{dts → esm}/tablist/tablist.d.ts +0 -0
- /package/dist/{dts → esm}/tablist/tablist.definition.d.ts +0 -0
- /package/dist/{dts → esm}/tablist/tablist.styles.d.ts +0 -0
- /package/dist/{dts → esm}/tablist/tablist.template.d.ts +0 -0
- /package/dist/{dts/tabs → esm/text}/define.d.ts +0 -0
- /package/dist/{dts → esm}/text/index.d.ts +0 -0
- /package/dist/{dts → esm}/text/text.bench.d.ts +0 -0
- /package/dist/{dts → esm}/text/text.d.ts +0 -0
- /package/dist/{dts → esm}/text/text.definition.d.ts +0 -0
- /package/dist/{dts → esm}/text/text.options.d.ts +0 -0
- /package/dist/{dts → esm}/text/text.styles.d.ts +0 -0
- /package/dist/{dts → esm}/text/text.template.d.ts +0 -0
- /package/dist/{dts/tablist → esm/text-input}/define.d.ts +0 -0
- /package/dist/{dts → esm}/text-input/index.d.ts +0 -0
- /package/dist/{dts → esm}/text-input/text-input.base.d.ts +0 -0
- /package/dist/{dts → esm}/text-input/text-input.bench.d.ts +0 -0
- /package/dist/{dts → esm}/text-input/text-input.d.ts +0 -0
- /package/dist/{dts → esm}/text-input/text-input.definition.d.ts +0 -0
- /package/dist/{dts → esm}/text-input/text-input.options.d.ts +0 -0
- /package/dist/{dts → esm}/text-input/text-input.styles.d.ts +0 -0
- /package/dist/{dts → esm}/text-input/text-input.template.d.ts +0 -0
- /package/dist/{dts/text-input → esm/textarea}/define.d.ts +0 -0
- /package/dist/{dts → esm}/textarea/index.d.ts +0 -0
- /package/dist/{dts → esm}/textarea/textarea.bench.d.ts +0 -0
- /package/dist/{dts → esm}/textarea/textarea.d.ts +0 -0
- /package/dist/{dts → esm}/textarea/textarea.definition.d.ts +0 -0
- /package/dist/{dts → esm}/textarea/textarea.options.d.ts +0 -0
- /package/dist/{dts → esm}/textarea/textarea.styles.d.ts +0 -0
- /package/dist/{dts → esm}/textarea/textarea.template.d.ts +0 -0
- /package/dist/{dts → esm}/theme/index.d.ts +0 -0
- /package/dist/{dts → esm}/theme/set-theme.global.bench.d.ts +0 -0
- /package/dist/{dts → esm}/theme/set-theme.local.bench.d.ts +0 -0
- /package/dist/{dts → esm}/theme/set-theme.shadow.bench.d.ts +0 -0
- /package/dist/{dts/text → esm/toggle-button}/define.d.ts +0 -0
- /package/dist/{dts → esm}/toggle-button/index.d.ts +0 -0
- /package/dist/{dts → esm}/toggle-button/toggle-button.bench.d.ts +0 -0
- /package/dist/{dts → esm}/toggle-button/toggle-button.d.ts +0 -0
- /package/dist/{dts → esm}/toggle-button/toggle-button.definition.d.ts +0 -0
- /package/dist/{dts → esm}/toggle-button/toggle-button.options.d.ts +0 -0
- /package/dist/{dts → esm}/toggle-button/toggle-button.styles.d.ts +0 -0
- /package/dist/{dts → esm}/toggle-button/toggle-button.template.d.ts +0 -0
- /package/dist/{dts/textarea → esm/tooltip}/define.d.ts +0 -0
- /package/dist/{dts → esm}/tooltip/index.d.ts +0 -0
- /package/dist/{dts → esm}/tooltip/tooltip.d.ts +0 -0
- /package/dist/{dts → esm}/tooltip/tooltip.definition.d.ts +0 -0
- /package/dist/{dts → esm}/tooltip/tooltip.options.d.ts +0 -0
- /package/dist/{dts → esm}/tooltip/tooltip.styles.d.ts +0 -0
- /package/dist/{dts → esm}/tooltip/tooltip.template.d.ts +0 -0
- /package/dist/{dts/tooltip → esm/tree}/define.d.ts +0 -0
- /package/dist/{dts → esm}/tree/index.d.ts +0 -0
- /package/dist/{dts → esm}/tree/tree.bench.d.ts +0 -0
- /package/dist/{dts → esm}/tree/tree.definition.d.ts +0 -0
- /package/dist/{dts → esm}/tree/tree.styles.d.ts +0 -0
- /package/dist/{dts → esm}/tree/tree.template.d.ts +0 -0
- /package/dist/{dts/toggle-button → esm/tree-item}/define.d.ts +0 -0
- /package/dist/{dts → esm}/tree-item/index.d.ts +0 -0
- /package/dist/{dts → esm}/tree-item/tree-item.bench.d.ts +0 -0
- /package/dist/{dts → esm}/tree-item/tree-item.definition.d.ts +0 -0
- /package/dist/{dts → esm}/tree-item/tree-item.options.d.ts +0 -0
- /package/dist/{dts → esm}/tree-item/tree-item.styles.d.ts +0 -0
- /package/dist/{dts → esm}/tree-item/tree-item.template.d.ts +0 -0
- /package/dist/{dts → esm}/utils/apply-mixins.d.ts +0 -0
- /package/dist/{dts → esm}/utils/behaviors/match-media-stylesheet-behavior.d.ts +0 -0
- /package/dist/{dts → esm}/utils/benchmark-dependencies/tokens.d.ts +0 -0
- /package/dist/{dts → esm}/utils/benchmark-wrapper.d.ts +0 -0
- /package/dist/{dts → esm}/utils/converters.d.ts +0 -0
- /package/dist/{dts → esm}/utils/direction.d.ts +0 -0
- /package/dist/{dts → esm}/utils/display.d.ts +0 -0
- /package/dist/{dts → esm}/utils/element-internals.d.ts +0 -0
- /package/dist/{dts → esm}/utils/focusable-element.d.ts +0 -0
- /package/dist/{dts → esm}/utils/get-initials.d.ts +0 -0
- /package/dist/{dts → esm}/utils/index.d.ts +0 -0
- /package/dist/{dts → esm}/utils/root-active-element.d.ts +0 -0
- /package/dist/{dts → esm}/utils/support.d.ts +0 -0
- /package/dist/{dts → esm}/utils/template-helpers.d.ts +0 -0
- /package/dist/{dts → esm}/utils/typings.d.ts +0 -0
- /package/dist/{dts → esm}/utils/unique-id.d.ts +0 -0
- /package/dist/{dts → esm}/utils/whitespace-filter.d.ts +0 -0
|
@@ -24,6 +24,7 @@ import { DrawerPosition, DrawerSize, DrawerType } from './drawer.options.js';
|
|
|
24
24
|
* @method show - Method to show the drawer.
|
|
25
25
|
* @method hide - Method to hide the drawer.
|
|
26
26
|
* @method clickHandler - Handles click events on the drawer.
|
|
27
|
+
* @method cancelHandler - Handles cancel events on the drawer.
|
|
27
28
|
* @method emitToggle - Emits an event after the dialog's open state changes.
|
|
28
29
|
* @method emitBeforeToggle - Emits an event before the dialog's open state changes.
|
|
29
30
|
*
|
|
@@ -35,9 +36,10 @@ export class Drawer extends FASTElement {
|
|
|
35
36
|
constructor() {
|
|
36
37
|
super(...arguments);
|
|
37
38
|
/**
|
|
38
|
-
* @public
|
|
39
39
|
* Determines whether the drawer should be displayed as modal or non-modal
|
|
40
40
|
* When rendered as a modal, an overlay is applied over the rest of the view.
|
|
41
|
+
*
|
|
42
|
+
* @public
|
|
41
43
|
*/
|
|
42
44
|
this.type = DrawerType.modal;
|
|
43
45
|
/**""
|
|
@@ -53,9 +55,10 @@ export class Drawer extends FASTElement {
|
|
|
53
55
|
*/
|
|
54
56
|
this.size = DrawerSize.medium;
|
|
55
57
|
/**
|
|
56
|
-
* @public
|
|
57
58
|
* Method to emit an event after the dialog's open state changes
|
|
58
59
|
* HTML spec proposal: https://github.com/whatwg/html/issues/9733
|
|
60
|
+
*
|
|
61
|
+
* @public
|
|
59
62
|
*/
|
|
60
63
|
this.emitToggle = () => {
|
|
61
64
|
this.$emit('toggle', {
|
|
@@ -64,9 +67,10 @@ export class Drawer extends FASTElement {
|
|
|
64
67
|
});
|
|
65
68
|
};
|
|
66
69
|
/**
|
|
67
|
-
* @public
|
|
68
70
|
* Method to emit an event before the dialog's open state changes
|
|
69
71
|
* HTML spec proposal: https://github.com/whatwg/html/issues/9733
|
|
72
|
+
*
|
|
73
|
+
* @public
|
|
70
74
|
*/
|
|
71
75
|
this.emitBeforeToggle = () => {
|
|
72
76
|
this.$emit('beforetoggle', {
|
|
@@ -75,9 +79,33 @@ export class Drawer extends FASTElement {
|
|
|
75
79
|
});
|
|
76
80
|
};
|
|
77
81
|
}
|
|
82
|
+
typeChanged() {
|
|
83
|
+
if (!this.dialog) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
this.updateDialogRole();
|
|
87
|
+
if (this.type === DrawerType.modal) {
|
|
88
|
+
this.dialog.setAttribute('aria-modal', 'true');
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
this.dialog.removeAttribute('aria-modal');
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/** @internal */
|
|
95
|
+
connectedCallback() {
|
|
96
|
+
super.connectedCallback();
|
|
97
|
+
this.typeChanged();
|
|
98
|
+
this.observeRoleAttr();
|
|
99
|
+
}
|
|
100
|
+
/** @internal */
|
|
101
|
+
disconnectedCallback() {
|
|
102
|
+
super.disconnectedCallback();
|
|
103
|
+
this.roleAttrObserver.disconnect();
|
|
104
|
+
}
|
|
78
105
|
/**
|
|
79
|
-
* @public
|
|
80
106
|
* Method to show the drawer
|
|
107
|
+
*
|
|
108
|
+
* @public
|
|
81
109
|
*/
|
|
82
110
|
show() {
|
|
83
111
|
Updates.enqueue(() => {
|
|
@@ -92,8 +120,9 @@ export class Drawer extends FASTElement {
|
|
|
92
120
|
});
|
|
93
121
|
}
|
|
94
122
|
/**
|
|
95
|
-
* @public
|
|
96
123
|
* Method to hide the drawer
|
|
124
|
+
*
|
|
125
|
+
* @public
|
|
97
126
|
*/
|
|
98
127
|
hide() {
|
|
99
128
|
this.emitBeforeToggle();
|
|
@@ -113,6 +142,33 @@ export class Drawer extends FASTElement {
|
|
|
113
142
|
}
|
|
114
143
|
return true;
|
|
115
144
|
}
|
|
145
|
+
/**
|
|
146
|
+
* Handles cancel events on the drawer.
|
|
147
|
+
*
|
|
148
|
+
* @public
|
|
149
|
+
*/
|
|
150
|
+
cancelHandler() {
|
|
151
|
+
this.hide();
|
|
152
|
+
}
|
|
153
|
+
observeRoleAttr() {
|
|
154
|
+
if (this.roleAttrObserver) {
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
this.roleAttrObserver = new MutationObserver(() => {
|
|
158
|
+
this.updateDialogRole();
|
|
159
|
+
});
|
|
160
|
+
this.roleAttrObserver.observe(this, {
|
|
161
|
+
attributes: true,
|
|
162
|
+
attributeFilter: ['role'],
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
updateDialogRole() {
|
|
166
|
+
console.log(this.role);
|
|
167
|
+
if (!this.dialog) {
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
this.dialog.role = this.type === DrawerType.modal ? 'dialog' : this.role;
|
|
171
|
+
}
|
|
116
172
|
}
|
|
117
173
|
__decorate([
|
|
118
174
|
attr
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawer.js","sourceRoot":"","sources":["../../../src/drawer/drawer.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7E
|
|
1
|
+
{"version":3,"file":"drawer.js","sourceRoot":"","sources":["../../../src/drawer/drawer.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,16 +8,13 @@ export function drawerTemplate() {
|
|
|
8
8
|
<dialog
|
|
9
9
|
class="dialog"
|
|
10
10
|
part="dialog"
|
|
11
|
-
role="${x => (x.type === 'modal' ? 'dialog' : x.role)}"
|
|
12
|
-
aria-modal="${x => (x.type === 'modal' ? 'true' : void 0)}"
|
|
13
11
|
aria-describedby="${x => x.ariaDescribedby}"
|
|
14
12
|
aria-labelledby="${x => x.ariaLabelledby}"
|
|
15
13
|
aria-label="${x => x.ariaLabel}"
|
|
16
14
|
size="${x => x.size}"
|
|
17
15
|
position="${x => x.position}"
|
|
18
|
-
type="${x => x.type}"
|
|
19
16
|
@click="${(x, c) => x.clickHandler(c.event)}"
|
|
20
|
-
@cancel="${
|
|
17
|
+
@cancel="${x => x.cancelHandler()}"
|
|
21
18
|
${ref('dialog')}
|
|
22
19
|
>
|
|
23
20
|
<slot></slot>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawer.template.js","sourceRoot":"","sources":["../../../src/drawer/drawer.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,IAAI,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAG9E;;;GAGG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,IAAI,CAAG;;;;
|
|
1
|
+
{"version":3,"file":"drawer.template.js","sourceRoot":"","sources":["../../../src/drawer/drawer.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,IAAI,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAG9E;;;GAGG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,IAAI,CAAG;;;;0BAIU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe;yBACvB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;oBAC1B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;cACtB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;kBACP,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;gBACjB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAmB,CAAC;iBAC9C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE;QAC/B,GAAG,CAAC,QAAQ,CAAC;;;;GAIlB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAgC,cAAc,EAAE,CAAC"}
|
|
@@ -20,4 +20,11 @@ import { FASTElement } from '@microsoft/fast-element';
|
|
|
20
20
|
* @tag fluent-drawer-body
|
|
21
21
|
*/
|
|
22
22
|
export declare class DrawerBody extends FASTElement {
|
|
23
|
+
/**
|
|
24
|
+
* Handles click event for the close slot
|
|
25
|
+
*
|
|
26
|
+
* @param e - the click event
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
clickHandler(event: PointerEvent): boolean | void;
|
|
23
30
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { FASTElement } from '@microsoft/fast-element';
|
|
2
|
+
import { isDialog } from '../dialog/dialog.options.js';
|
|
2
3
|
/**
|
|
3
4
|
* A DrawerBody component to layout drawer content
|
|
4
5
|
*
|
|
@@ -20,5 +21,20 @@ import { FASTElement } from '@microsoft/fast-element';
|
|
|
20
21
|
* @tag fluent-drawer-body
|
|
21
22
|
*/
|
|
22
23
|
export class DrawerBody extends FASTElement {
|
|
24
|
+
/**
|
|
25
|
+
* Handles click event for the close slot
|
|
26
|
+
*
|
|
27
|
+
* @param e - the click event
|
|
28
|
+
* @internal
|
|
29
|
+
*/
|
|
30
|
+
clickHandler(event) {
|
|
31
|
+
if (!event.defaultPrevented) {
|
|
32
|
+
const dialog = this.parentElement;
|
|
33
|
+
if (isDialog(dialog, '-drawer')) {
|
|
34
|
+
dialog.hide();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
23
39
|
}
|
|
24
40
|
//# sourceMappingURL=drawer-body.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawer-body.js","sourceRoot":"","sources":["../../../src/drawer-body/drawer-body.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"drawer-body.js","sourceRoot":"","sources":["../../../src/drawer-body/drawer-body.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,UAAW,SAAQ,WAAW;IACzC;;;;;OAKG;IACI,YAAY,CAAC,KAAmB;QACrC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;YAElC,IAAI,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
@@ -7,7 +7,7 @@ export function drawerBodyTemplate() {
|
|
|
7
7
|
return html `
|
|
8
8
|
<div class="header" part="header">
|
|
9
9
|
<slot name="title"></slot>
|
|
10
|
-
<slot name="close"></slot>
|
|
10
|
+
<slot name="close" @click="${(x, c) => x.clickHandler(c.event)}"></slot>
|
|
11
11
|
</div>
|
|
12
12
|
<div class="content" part="content">
|
|
13
13
|
<slot></slot>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawer-body.template.js","sourceRoot":"","sources":["../../../src/drawer-body/drawer-body.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAGzE;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,IAAI,CAAG
|
|
1
|
+
{"version":3,"file":"drawer-body.template.js","sourceRoot":"","sources":["../../../src/drawer-body/drawer-body.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAGzE;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,IAAI,CAAG;;;mCAGmB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAqB,CAAC;;;;;;;;GAQjF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAoC,kBAAkB,EAAE,CAAC"}
|
|
@@ -130,12 +130,6 @@ export declare class BaseDropdown extends FASTElement {
|
|
|
130
130
|
* The listbox element is assigned to the dropdown via the default slot with manual slot assignment.
|
|
131
131
|
*/
|
|
132
132
|
listboxChanged(prev: Listbox | undefined, next: Listbox | undefined): void;
|
|
133
|
-
/**
|
|
134
|
-
* Reference to the listbox slot element.
|
|
135
|
-
*
|
|
136
|
-
* @internal
|
|
137
|
-
*/
|
|
138
|
-
listboxSlot: HTMLSlotElement;
|
|
139
133
|
/**
|
|
140
134
|
* Indicates whether the dropdown allows multiple options to be selected.
|
|
141
135
|
*
|
|
@@ -228,6 +222,20 @@ export declare class BaseDropdown extends FASTElement {
|
|
|
228
222
|
* @internal
|
|
229
223
|
*/
|
|
230
224
|
controlSlot: HTMLSlotElement;
|
|
225
|
+
/**
|
|
226
|
+
* An abort controller to remove scroll and resize event listeners when the dropdown is closed or disconnected. Used
|
|
227
|
+
* when the browser does not support CSS anchor positioning.
|
|
228
|
+
*
|
|
229
|
+
* @internal
|
|
230
|
+
*/
|
|
231
|
+
private debounceController?;
|
|
232
|
+
/**
|
|
233
|
+
* Repositions the listbox to align with the control element. Used when the browser does not support CSS anchor
|
|
234
|
+
* positioning.
|
|
235
|
+
*
|
|
236
|
+
* @internal
|
|
237
|
+
*/
|
|
238
|
+
private repositionListbox;
|
|
231
239
|
/**
|
|
232
240
|
* The internal {@link https://developer.mozilla.org/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.
|
|
233
241
|
*
|
|
@@ -247,11 +255,11 @@ export declare class BaseDropdown extends FASTElement {
|
|
|
247
255
|
*/
|
|
248
256
|
static formAssociated: boolean;
|
|
249
257
|
/**
|
|
250
|
-
*
|
|
258
|
+
* The ID of the frame used for repositioning the listbox when the browser does not support CSS anchor positioning.
|
|
251
259
|
*
|
|
252
260
|
* @internal
|
|
253
261
|
*/
|
|
254
|
-
|
|
262
|
+
private frameId?;
|
|
255
263
|
/**
|
|
256
264
|
* A reference to the first freeform option, if present.
|
|
257
265
|
*
|
|
@@ -387,6 +395,12 @@ export declare class BaseDropdown extends FASTElement {
|
|
|
387
395
|
* @internal
|
|
388
396
|
*/
|
|
389
397
|
focusoutHandler(e: FocusEvent): boolean | void;
|
|
398
|
+
/**
|
|
399
|
+
* Resets the form value to its initial value when the form is reset.
|
|
400
|
+
*
|
|
401
|
+
* @internal
|
|
402
|
+
*/
|
|
403
|
+
formResetCallback(): void;
|
|
390
404
|
/**
|
|
391
405
|
* Ensures the active index is within bounds of the enabled options. Out-of-bounds indices are wrapped to the opposite
|
|
392
406
|
* end of the range.
|
|
@@ -454,21 +468,21 @@ export declare class BaseDropdown extends FASTElement {
|
|
|
454
468
|
*/
|
|
455
469
|
setValidity(flags?: Partial<ValidityState>, message?: string, anchor?: HTMLElement): void;
|
|
456
470
|
/**
|
|
457
|
-
*
|
|
471
|
+
* Handles the `slotchange` event for the dropdown.
|
|
472
|
+
* Sets the `listbox` property when a valid listbox is assigned to the default slot.
|
|
458
473
|
*
|
|
459
|
-
* @param
|
|
474
|
+
* @param e - the slot change event
|
|
460
475
|
* @internal
|
|
461
476
|
*/
|
|
462
|
-
|
|
463
|
-
connectedCallback(): void;
|
|
464
|
-
disconnectedCallback(): void;
|
|
477
|
+
slotchangeHandler(e: Event): boolean | void;
|
|
465
478
|
/**
|
|
466
|
-
*
|
|
479
|
+
* Updates the freeform option with the provided value.
|
|
467
480
|
*
|
|
468
|
-
* @param
|
|
481
|
+
* @param value - the value to update the freeform option with
|
|
469
482
|
* @internal
|
|
470
483
|
*/
|
|
471
|
-
|
|
484
|
+
protected updateFreeformOption(value?: string): void;
|
|
485
|
+
disconnectedCallback(): void;
|
|
472
486
|
/**
|
|
473
487
|
* When anchor positioning isn't supported, an intersection observer is used to flip the listbox when it hits the
|
|
474
488
|
* viewport bounds. One static observer is used for all dropdowns.
|
|
@@ -2,9 +2,12 @@ import { __decorate } from "tslib";
|
|
|
2
2
|
import { attr, FASTElement, Observable, observable, Updates, volatile } from '@microsoft/fast-element';
|
|
3
3
|
import { isListbox } from '../listbox/listbox.options.js';
|
|
4
4
|
import { isDropdownOption } from '../option/option.options.js';
|
|
5
|
+
import { getDirection } from '../utils/direction.js';
|
|
5
6
|
import { toggleState } from '../utils/element-internals.js';
|
|
6
7
|
import { getLanguage } from '../utils/language.js';
|
|
8
|
+
import { AnchorPositioningCSSSupported } from '../utils/support.js';
|
|
7
9
|
import { uniqueId } from '../utils/unique-id.js';
|
|
10
|
+
import { waitForConnectedDescendants } from '../utils/request-idle-callback.js';
|
|
8
11
|
import { DropdownType } from './dropdown.options.js';
|
|
9
12
|
import { dropdownButtonTemplate, dropdownInputTemplate } from './dropdown.template.js';
|
|
10
13
|
/**
|
|
@@ -64,7 +67,6 @@ export class BaseDropdown extends FASTElement {
|
|
|
64
67
|
controlChanged(prev, next) {
|
|
65
68
|
if (next) {
|
|
66
69
|
next.id = next.id || uniqueId('input-');
|
|
67
|
-
this.controlSlot?.assign(next);
|
|
68
70
|
}
|
|
69
71
|
}
|
|
70
72
|
/**
|
|
@@ -121,7 +123,7 @@ export class BaseDropdown extends FASTElement {
|
|
|
121
123
|
if (next) {
|
|
122
124
|
next.dropdown = this;
|
|
123
125
|
next.popover = 'manual';
|
|
124
|
-
|
|
126
|
+
next.tabIndex = -1;
|
|
125
127
|
const notifier = Observable.getNotifier(this);
|
|
126
128
|
notifier.subscribe(next);
|
|
127
129
|
for (const key of ['disabled', 'multiple']) {
|
|
@@ -135,6 +137,13 @@ export class BaseDropdown extends FASTElement {
|
|
|
135
137
|
});
|
|
136
138
|
this.setValidity();
|
|
137
139
|
});
|
|
140
|
+
if (AnchorPositioningCSSSupported) {
|
|
141
|
+
// The `anchor-name` property seems to not be isolated between instances in Safari Technology Preview 220 (18.4).
|
|
142
|
+
// It's unclear if the spec requires the `anchor-name` to be unique when styled on the `:host`.
|
|
143
|
+
const anchorName = uniqueId('--dropdown-anchor-');
|
|
144
|
+
this.style.setProperty('anchor-name', anchorName);
|
|
145
|
+
this.listbox.style.setProperty('position-anchor', anchorName);
|
|
146
|
+
}
|
|
138
147
|
}
|
|
139
148
|
}
|
|
140
149
|
/**
|
|
@@ -174,11 +183,9 @@ export class BaseDropdown extends FASTElement {
|
|
|
174
183
|
toggleState(this.elementInternals, 'open', next);
|
|
175
184
|
this.elementInternals.ariaExpanded = next ? 'true' : 'false';
|
|
176
185
|
this.activeIndex = this.selectedIndex ?? -1;
|
|
177
|
-
if (
|
|
178
|
-
|
|
179
|
-
return;
|
|
186
|
+
if (!AnchorPositioningCSSSupported) {
|
|
187
|
+
this.anchorPositionFallback(next);
|
|
180
188
|
}
|
|
181
|
-
BaseDropdown.AnchorPositionFallbackObserver?.unobserve(this.listbox);
|
|
182
189
|
}
|
|
183
190
|
/**
|
|
184
191
|
* Changes the slotted control element based on the dropdown type.
|
|
@@ -206,25 +213,6 @@ export class BaseDropdown extends FASTElement {
|
|
|
206
213
|
* @public
|
|
207
214
|
*/
|
|
208
215
|
static { this.formAssociated = true; }
|
|
209
|
-
/**
|
|
210
|
-
* Resets the form value to its initial value when the form is reset.
|
|
211
|
-
*
|
|
212
|
-
* @internal
|
|
213
|
-
*/
|
|
214
|
-
formResetCallback() {
|
|
215
|
-
this.enabledOptions.forEach((x, i) => {
|
|
216
|
-
if (this.multiple) {
|
|
217
|
-
x.selected = !!x.defaultSelected;
|
|
218
|
-
return;
|
|
219
|
-
}
|
|
220
|
-
if (!x.defaultSelected) {
|
|
221
|
-
x.selected = false;
|
|
222
|
-
return;
|
|
223
|
-
}
|
|
224
|
-
this.selectOption(i);
|
|
225
|
-
});
|
|
226
|
-
this.setValidity();
|
|
227
|
-
}
|
|
228
216
|
/**
|
|
229
217
|
* A reference to the first freeform option, if present.
|
|
230
218
|
*
|
|
@@ -376,7 +364,7 @@ export class BaseDropdown extends FASTElement {
|
|
|
376
364
|
}
|
|
377
365
|
const target = e.target;
|
|
378
366
|
this.focus();
|
|
379
|
-
if (target === this.control && !this.isCombobox) {
|
|
367
|
+
if ((target === this.control || e.composedPath().includes(this.indicator)) && !this.isCombobox) {
|
|
380
368
|
this.listbox.togglePopover();
|
|
381
369
|
return true;
|
|
382
370
|
}
|
|
@@ -441,6 +429,33 @@ export class BaseDropdown extends FASTElement {
|
|
|
441
429
|
* HTML Attribute: `value`
|
|
442
430
|
*/
|
|
443
431
|
this.valueAttribute = '';
|
|
432
|
+
/**
|
|
433
|
+
* Repositions the listbox to align with the control element. Used when the browser does not support CSS anchor
|
|
434
|
+
* positioning.
|
|
435
|
+
*
|
|
436
|
+
* @internal
|
|
437
|
+
*/
|
|
438
|
+
this.repositionListbox = () => {
|
|
439
|
+
if (this.frameId) {
|
|
440
|
+
cancelAnimationFrame(this.frameId);
|
|
441
|
+
}
|
|
442
|
+
this.frameId = requestAnimationFrame(() => {
|
|
443
|
+
const controlRect = this.getBoundingClientRect();
|
|
444
|
+
const right = window.innerWidth - controlRect.right;
|
|
445
|
+
const left = controlRect.left;
|
|
446
|
+
this.listbox.style.minWidth = `${controlRect.width}px`;
|
|
447
|
+
this.listbox.style.top = `${controlRect.top}px`;
|
|
448
|
+
if (left + controlRect.width > window.innerWidth ||
|
|
449
|
+
(getDirection(this) === 'rtl' && right - controlRect.width > 0)) {
|
|
450
|
+
this.listbox.style.right = `${right}px`;
|
|
451
|
+
this.listbox.style.left = 'unset';
|
|
452
|
+
}
|
|
453
|
+
else {
|
|
454
|
+
this.listbox.style.left = `${left}px`;
|
|
455
|
+
this.listbox.style.right = 'unset';
|
|
456
|
+
}
|
|
457
|
+
});
|
|
458
|
+
};
|
|
444
459
|
/**
|
|
445
460
|
* The internal {@link https://developer.mozilla.org/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.
|
|
446
461
|
*
|
|
@@ -448,7 +463,6 @@ export class BaseDropdown extends FASTElement {
|
|
|
448
463
|
*/
|
|
449
464
|
this.elementInternals = this.attachInternals();
|
|
450
465
|
this.elementInternals.role = 'presentation';
|
|
451
|
-
this.addEventListener('connected', this.listboxConnectedHandler);
|
|
452
466
|
Updates.enqueue(() => {
|
|
453
467
|
this.insertControl();
|
|
454
468
|
});
|
|
@@ -493,6 +507,25 @@ export class BaseDropdown extends FASTElement {
|
|
|
493
507
|
}
|
|
494
508
|
return true;
|
|
495
509
|
}
|
|
510
|
+
/**
|
|
511
|
+
* Resets the form value to its initial value when the form is reset.
|
|
512
|
+
*
|
|
513
|
+
* @internal
|
|
514
|
+
*/
|
|
515
|
+
formResetCallback() {
|
|
516
|
+
this.enabledOptions.forEach((x, i) => {
|
|
517
|
+
if (this.multiple) {
|
|
518
|
+
x.selected = !!x.defaultSelected;
|
|
519
|
+
return;
|
|
520
|
+
}
|
|
521
|
+
if (!x.defaultSelected) {
|
|
522
|
+
x.selected = false;
|
|
523
|
+
return;
|
|
524
|
+
}
|
|
525
|
+
this.selectOption(i);
|
|
526
|
+
});
|
|
527
|
+
this.setValidity();
|
|
528
|
+
}
|
|
496
529
|
/**
|
|
497
530
|
* Ensures the active index is within bounds of the enabled options. Out-of-bounds indices are wrapped to the opposite
|
|
498
531
|
* end of the range.
|
|
@@ -657,6 +690,22 @@ export class BaseDropdown extends FASTElement {
|
|
|
657
690
|
this.elementInternals.setValidity({ valueMissing, ...flags }, message ?? this.validationMessage, anchor ?? this.control);
|
|
658
691
|
}
|
|
659
692
|
}
|
|
693
|
+
/**
|
|
694
|
+
* Handles the `slotchange` event for the dropdown.
|
|
695
|
+
* Sets the `listbox` property when a valid listbox is assigned to the default slot.
|
|
696
|
+
*
|
|
697
|
+
* @param e - the slot change event
|
|
698
|
+
* @internal
|
|
699
|
+
*/
|
|
700
|
+
slotchangeHandler(e) {
|
|
701
|
+
const target = e.target;
|
|
702
|
+
waitForConnectedDescendants(this, () => {
|
|
703
|
+
const listbox = target.assignedElements().find((el) => isListbox(el));
|
|
704
|
+
if (listbox) {
|
|
705
|
+
this.listbox = listbox;
|
|
706
|
+
}
|
|
707
|
+
});
|
|
708
|
+
}
|
|
660
709
|
/**
|
|
661
710
|
* Updates the freeform option with the provided value.
|
|
662
711
|
*
|
|
@@ -677,48 +726,54 @@ export class BaseDropdown extends FASTElement {
|
|
|
677
726
|
this.freeformOption.value = value;
|
|
678
727
|
this.freeformOption.hidden = false;
|
|
679
728
|
}
|
|
680
|
-
connectedCallback() {
|
|
681
|
-
super.connectedCallback();
|
|
682
|
-
this.anchorPositionFallback();
|
|
683
|
-
}
|
|
684
729
|
disconnectedCallback() {
|
|
685
|
-
BaseDropdown.AnchorPositionFallbackObserver?.
|
|
730
|
+
BaseDropdown.AnchorPositionFallbackObserver?.disconnect();
|
|
731
|
+
this.debounceController?.abort();
|
|
686
732
|
super.disconnectedCallback();
|
|
687
733
|
}
|
|
688
|
-
/**
|
|
689
|
-
* Handles the connected event for the listbox.
|
|
690
|
-
*
|
|
691
|
-
* @param e - the event object
|
|
692
|
-
* @internal
|
|
693
|
-
*/
|
|
694
|
-
listboxConnectedHandler(e) {
|
|
695
|
-
const target = e.target;
|
|
696
|
-
if (isListbox(target)) {
|
|
697
|
-
this.listbox = target;
|
|
698
|
-
}
|
|
699
|
-
}
|
|
700
734
|
/**
|
|
701
735
|
* When anchor positioning isn't supported, an intersection observer is used to flip the listbox when it hits the
|
|
702
736
|
* viewport bounds. One static observer is used for all dropdowns.
|
|
703
737
|
*
|
|
704
738
|
* @internal
|
|
705
739
|
*/
|
|
706
|
-
anchorPositionFallback() {
|
|
707
|
-
BaseDropdown.AnchorPositionFallbackObserver
|
|
708
|
-
BaseDropdown.AnchorPositionFallbackObserver
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
if (
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
toggleState(target.dropdown.elementInternals, 'flip-block', false);
|
|
718
|
-
}
|
|
740
|
+
anchorPositionFallback(shouldObserve) {
|
|
741
|
+
if (!BaseDropdown.AnchorPositionFallbackObserver) {
|
|
742
|
+
BaseDropdown.AnchorPositionFallbackObserver = new IntersectionObserver((entries) => {
|
|
743
|
+
entries.forEach(({ boundingClientRect, isIntersecting, target }) => {
|
|
744
|
+
if (isListbox(target)) {
|
|
745
|
+
if (boundingClientRect.bottom > window.innerHeight) {
|
|
746
|
+
toggleState(target.elementInternals, 'flip-block', true);
|
|
747
|
+
return;
|
|
748
|
+
}
|
|
749
|
+
if (boundingClientRect.top < 0) {
|
|
750
|
+
toggleState(target.elementInternals, 'flip-block', false);
|
|
719
751
|
}
|
|
720
|
-
}
|
|
721
|
-
}
|
|
752
|
+
}
|
|
753
|
+
});
|
|
754
|
+
}, { threshold: 1 });
|
|
755
|
+
}
|
|
756
|
+
if (shouldObserve) {
|
|
757
|
+
this.debounceController = new AbortController();
|
|
758
|
+
BaseDropdown.AnchorPositionFallbackObserver.observe(this.listbox);
|
|
759
|
+
window.addEventListener('scroll', this.repositionListbox, {
|
|
760
|
+
passive: true,
|
|
761
|
+
capture: true,
|
|
762
|
+
signal: this.debounceController.signal,
|
|
763
|
+
});
|
|
764
|
+
window.addEventListener('resize', this.repositionListbox, {
|
|
765
|
+
passive: true,
|
|
766
|
+
signal: this.debounceController.signal,
|
|
767
|
+
});
|
|
768
|
+
this.repositionListbox();
|
|
769
|
+
return;
|
|
770
|
+
}
|
|
771
|
+
BaseDropdown.AnchorPositionFallbackObserver.unobserve(this.listbox);
|
|
772
|
+
this.debounceController?.abort();
|
|
773
|
+
if (this.frameId) {
|
|
774
|
+
cancelAnimationFrame(this.frameId);
|
|
775
|
+
this.frameId = undefined;
|
|
776
|
+
}
|
|
722
777
|
}
|
|
723
778
|
}
|
|
724
779
|
__decorate([
|
|
@@ -754,9 +809,6 @@ __decorate([
|
|
|
754
809
|
__decorate([
|
|
755
810
|
observable
|
|
756
811
|
], BaseDropdown.prototype, "listbox", void 0);
|
|
757
|
-
__decorate([
|
|
758
|
-
observable
|
|
759
|
-
], BaseDropdown.prototype, "listboxSlot", void 0);
|
|
760
812
|
__decorate([
|
|
761
813
|
attr({ mode: 'boolean' })
|
|
762
814
|
], BaseDropdown.prototype, "multiple", void 0);
|