@fluentui/web-components 3.0.0-beta.2 → 3.0.0-beta.21
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 +339 -103
- package/README.md +46 -15
- package/dist/dts/accordion/accordion.d.ts +47 -3
- package/dist/dts/accordion/accordion.definition.d.ts +0 -4
- package/dist/dts/accordion/accordion.options.d.ts +14 -0
- package/dist/dts/accordion/accordion.template.d.ts +4 -0
- package/dist/dts/accordion/index.d.ts +2 -1
- package/dist/dts/accordion-item/accordion-item.d.ts +78 -3
- package/dist/dts/accordion-item/accordion-item.definition.d.ts +0 -3
- package/dist/dts/accordion-item/accordion-item.options.d.ts +1 -1
- package/dist/dts/accordion-item/accordion-item.template.d.ts +2 -1
- package/dist/dts/accordion-item/index.d.ts +2 -2
- package/dist/dts/anchor-button/anchor-button.d.ts +116 -4
- package/dist/dts/anchor-button/anchor-button.definition.d.ts +0 -3
- package/dist/dts/anchor-button/anchor-button.options.d.ts +19 -2
- package/dist/dts/anchor-button/anchor-button.template.d.ts +7 -2
- package/dist/dts/anchor-button/index.d.ts +2 -2
- package/dist/dts/avatar/avatar.options.d.ts +1 -1
- package/dist/dts/avatar/index.d.ts +2 -2
- package/dist/dts/badge/badge.d.ts +1 -1
- package/dist/dts/badge/badge.definition.d.ts +0 -3
- package/dist/dts/badge/badge.options.d.ts +2 -2
- package/dist/dts/badge/index.d.ts +2 -2
- package/dist/dts/button/button.d.ts +243 -22
- package/dist/dts/button/button.definition.d.ts +2 -3
- package/dist/dts/button/button.options.d.ts +39 -3
- package/dist/dts/button/button.styles.d.ts +5 -0
- package/dist/dts/button/button.template.d.ts +8 -0
- package/dist/dts/button/index.d.ts +2 -2
- package/dist/dts/checkbox/checkbox.d.ts +46 -3
- package/dist/dts/checkbox/checkbox.form-associated.d.ts +14 -0
- package/dist/dts/checkbox/checkbox.options.d.ts +1 -1
- package/dist/dts/checkbox/checkbox.template.d.ts +6 -1
- package/dist/dts/checkbox/index.d.ts +2 -2
- package/dist/dts/compound-button/compound-button.definition.d.ts +0 -3
- package/dist/dts/compound-button/compound-button.options.d.ts +6 -6
- package/dist/dts/compound-button/index.d.ts +2 -2
- package/dist/dts/counter-badge/counter-badge.d.ts +1 -1
- package/dist/dts/counter-badge/counter-badge.definition.d.ts +0 -4
- package/dist/dts/counter-badge/counter-badge.options.d.ts +1 -1
- package/dist/dts/counter-badge/index.d.ts +2 -2
- package/dist/dts/dialog/define.d.ts +1 -0
- package/dist/dts/dialog/dialog.d.ts +192 -0
- package/dist/dts/dialog/dialog.definition.d.ts +9 -0
- package/dist/dts/dialog/dialog.options.d.ts +11 -0
- package/dist/dts/dialog/dialog.styles.d.ts +4 -0
- package/dist/dts/dialog/dialog.template.d.ts +7 -0
- package/dist/dts/dialog/index.d.ts +5 -0
- package/dist/dts/divider/divider.d.ts +20 -4
- package/dist/dts/divider/divider.options.d.ts +30 -6
- package/dist/dts/divider/divider.template.d.ts +1 -0
- package/dist/dts/divider/index.d.ts +2 -2
- package/dist/dts/form-associated/form-associated.d.ts +104 -0
- package/dist/dts/image/image.options.d.ts +1 -1
- package/dist/dts/image/index.d.ts +2 -2
- package/dist/dts/index-rollup.d.ts +35 -1
- package/dist/dts/index.d.ts +36 -29
- package/dist/dts/label/index.d.ts +2 -1
- package/dist/dts/label/label.options.d.ts +1 -1
- package/dist/dts/menu/define.d.ts +1 -0
- package/dist/dts/menu/index.d.ts +4 -0
- package/dist/dts/menu/menu.d.ts +194 -0
- package/dist/dts/menu/menu.definition.d.ts +9 -0
- package/dist/dts/menu/menu.styles.d.ts +4 -0
- package/dist/dts/menu/menu.template.d.ts +4 -0
- package/dist/dts/menu-button/index.d.ts +2 -2
- package/dist/dts/menu-button/menu-button.definition.d.ts +0 -3
- package/dist/dts/menu-button/menu-button.options.d.ts +2 -2
- package/dist/dts/menu-item/index.d.ts +2 -1
- package/dist/dts/menu-item/menu-item.d.ts +161 -4
- package/dist/dts/menu-item/menu-item.definition.d.ts +0 -4
- package/dist/dts/menu-item/menu-item.options.d.ts +30 -0
- package/dist/dts/menu-item/menu-item.template.d.ts +2 -1
- package/dist/dts/menu-list/index.d.ts +1 -1
- package/dist/dts/menu-list/menu-list.d.ts +71 -4
- package/dist/dts/menu-list/menu-list.definition.d.ts +0 -4
- package/dist/dts/menu-list/menu-list.template.d.ts +1 -0
- package/dist/dts/patterns/aria-globals.d.ts +189 -0
- package/dist/dts/patterns/index.d.ts +2 -0
- package/dist/dts/patterns/start-end.d.ts +44 -0
- package/dist/dts/progress-bar/base-progress.d.ts +41 -0
- package/dist/dts/progress-bar/index.d.ts +2 -2
- package/dist/dts/progress-bar/progress-bar.d.ts +11 -4
- package/dist/dts/progress-bar/progress-bar.options.d.ts +10 -1
- package/dist/dts/progress-bar/progress-bar.template.d.ts +2 -0
- package/dist/dts/radio/index.d.ts +1 -1
- package/dist/dts/radio/radio.d.ts +54 -3
- package/dist/dts/radio/radio.form-associated.d.ts +14 -0
- package/dist/dts/radio/radio.template.d.ts +2 -1
- package/dist/dts/radio-group/index.d.ts +2 -2
- package/dist/dts/radio-group/radio-group.d.ts +91 -2
- package/dist/dts/radio-group/radio-group.options.d.ts +17 -0
- package/dist/dts/radio-group/radio-group.template.d.ts +1 -0
- package/dist/dts/slider/index.d.ts +2 -2
- package/dist/dts/slider/slider-utilities.d.ts +5 -0
- package/dist/dts/slider/slider.d.ts +195 -5
- package/dist/dts/slider/slider.form-associated.d.ts +14 -0
- package/dist/dts/slider/slider.options.d.ts +43 -2
- package/dist/dts/slider/slider.template.d.ts +4 -2
- package/dist/dts/spinner/index.d.ts +2 -2
- package/dist/dts/spinner/spinner.d.ts +9 -2
- package/dist/dts/spinner/spinner.definition.d.ts +0 -4
- package/dist/dts/spinner/spinner.options.d.ts +1 -1
- package/dist/dts/spinner/spinner.template.d.ts +1 -2
- package/dist/dts/styles/partials/index.d.ts +1 -0
- package/dist/dts/styles/partials/typography.partials.d.ts +18 -0
- package/dist/dts/switch/index.d.ts +2 -2
- package/dist/dts/switch/switch.d.ts +34 -2
- package/dist/dts/switch/switch.form-associated.d.ts +14 -0
- package/dist/dts/switch/switch.options.d.ts +1 -1
- package/dist/dts/switch/switch.template.d.ts +2 -1
- package/dist/dts/tab/index.d.ts +1 -1
- package/dist/dts/tab/tab.d.ts +17 -2
- package/dist/dts/tab/tab.template.d.ts +3 -3
- package/dist/dts/tab-panel/index.d.ts +1 -1
- package/dist/dts/tab-panel/tab-panel.d.ts +2 -2
- package/dist/dts/tab-panel/tab-panel.template.d.ts +4 -1
- package/dist/dts/tabs/index.d.ts +2 -2
- package/dist/dts/tabs/tabs.d.ts +89 -4
- package/dist/dts/tabs/tabs.options.d.ts +21 -3
- package/dist/dts/tabs/tabs.template.d.ts +5 -1
- package/dist/dts/text/index.d.ts +2 -2
- package/dist/dts/text/text.options.d.ts +1 -1
- package/dist/dts/text-input/index.d.ts +5 -5
- package/dist/dts/text-input/text-input.d.ts +355 -10
- package/dist/dts/text-input/text-input.definition.d.ts +2 -3
- package/dist/dts/text-input/text-input.options.d.ts +30 -9
- package/dist/dts/text-input/text-input.styles.d.ts +5 -2
- package/dist/dts/text-input/text-input.template.d.ts +8 -1
- package/dist/dts/theme/design-tokens.d.ts +436 -384
- package/dist/dts/theme/set-theme.d.ts +1 -2
- package/dist/dts/toggle-button/index.d.ts +2 -2
- package/dist/dts/toggle-button/toggle-button.d.ts +29 -26
- package/dist/dts/toggle-button/toggle-button.definition.d.ts +0 -2
- package/dist/dts/toggle-button/toggle-button.options.d.ts +2 -2
- package/dist/dts/toggle-button/toggle-button.styles.d.ts +7 -0
- package/dist/dts/utils/behaviors/match-media-stylesheet-behavior.d.ts +124 -0
- package/dist/dts/utils/benchmark-dependencies/tokens.d.ts +1 -0
- package/dist/dts/utils/benchmark-wrapper.d.ts +2 -0
- package/dist/dts/utils/direction.d.ts +10 -0
- package/dist/dts/utils/display.d.ts +17 -0
- package/dist/dts/utils/index.d.ts +6 -0
- package/dist/dts/utils/template-helpers.d.ts +16 -0
- package/dist/dts/utils/typings.d.ts +6 -0
- package/dist/dts/utils/whitespace-filter.d.ts +12 -0
- package/dist/esm/accordion/accordion.definition.js +0 -4
- package/dist/esm/accordion/accordion.definition.js.map +1 -1
- package/dist/esm/accordion/accordion.js +211 -3
- package/dist/esm/accordion/accordion.js.map +1 -1
- package/dist/esm/accordion/accordion.options.js +9 -0
- package/dist/esm/accordion/accordion.options.js.map +1 -0
- package/dist/esm/accordion/accordion.styles.js +1 -1
- package/dist/esm/accordion/accordion.styles.js.map +1 -1
- package/dist/esm/accordion/accordion.template.js +11 -1
- package/dist/esm/accordion/accordion.template.js.map +1 -1
- package/dist/esm/accordion/index.js +2 -1
- package/dist/esm/accordion/index.js.map +1 -1
- package/dist/esm/accordion-item/accordion-item.definition.js +0 -3
- package/dist/esm/accordion-item/accordion-item.definition.js.map +1 -1
- package/dist/esm/accordion-item/accordion-item.js +81 -10
- package/dist/esm/accordion-item/accordion-item.js.map +1 -1
- package/dist/esm/accordion-item/accordion-item.styles.js +1 -1
- package/dist/esm/accordion-item/accordion-item.styles.js.map +1 -1
- package/dist/esm/accordion-item/accordion-item.template.js +47 -2
- package/dist/esm/accordion-item/accordion-item.template.js.map +1 -1
- package/dist/esm/accordion-item/index.js +2 -2
- package/dist/esm/accordion-item/index.js.map +1 -1
- package/dist/esm/anchor-button/anchor-button.definition.js +0 -3
- package/dist/esm/anchor-button/anchor-button.definition.js.map +1 -1
- package/dist/esm/anchor-button/anchor-button.js +53 -10
- package/dist/esm/anchor-button/anchor-button.js.map +1 -1
- package/dist/esm/anchor-button/anchor-button.options.js +11 -0
- package/dist/esm/anchor-button/anchor-button.options.js.map +1 -1
- package/dist/esm/anchor-button/anchor-button.styles.js +255 -3
- package/dist/esm/anchor-button/anchor-button.styles.js.map +1 -1
- package/dist/esm/anchor-button/anchor-button.template.js +49 -1
- package/dist/esm/anchor-button/anchor-button.template.js.map +1 -1
- package/dist/esm/anchor-button/index.js +2 -2
- package/dist/esm/anchor-button/index.js.map +1 -1
- package/dist/esm/avatar/avatar.js +1 -6
- package/dist/esm/avatar/avatar.js.map +1 -1
- package/dist/esm/avatar/avatar.styles.js +5 -5
- package/dist/esm/avatar/avatar.styles.js.map +1 -1
- package/dist/esm/avatar/index.js +2 -2
- package/dist/esm/avatar/index.js.map +1 -1
- package/dist/esm/badge/badge.definition.js +0 -3
- package/dist/esm/badge/badge.definition.js.map +1 -1
- package/dist/esm/badge/badge.js +2 -7
- package/dist/esm/badge/badge.js.map +1 -1
- package/dist/esm/badge/badge.styles.js +8 -1
- package/dist/esm/badge/badge.styles.js.map +1 -1
- package/dist/esm/badge/badge.template.js +2 -2
- package/dist/esm/badge/badge.template.js.map +1 -1
- package/dist/esm/badge/index.js +2 -2
- package/dist/esm/badge/index.js.map +1 -1
- package/dist/esm/button/button.definition.js +2 -6
- package/dist/esm/button/button.definition.js.map +1 -1
- package/dist/esm/button/button.js +263 -41
- package/dist/esm/button/button.js.map +1 -1
- package/dist/esm/button/button.options.js +20 -0
- package/dist/esm/button/button.options.js.map +1 -1
- package/dist/esm/button/button.styles.js +54 -56
- package/dist/esm/button/button.styles.js.map +1 -1
- package/dist/esm/button/button.template.js +23 -1
- package/dist/esm/button/button.template.js.map +1 -1
- package/dist/esm/button/index.js +2 -2
- package/dist/esm/button/index.js.map +1 -1
- package/dist/esm/checkbox/checkbox.form-associated.js +14 -0
- package/dist/esm/checkbox/checkbox.form-associated.js.map +1 -0
- package/dist/esm/checkbox/checkbox.js +63 -10
- package/dist/esm/checkbox/checkbox.js.map +1 -1
- package/dist/esm/checkbox/checkbox.styles.js +1 -1
- package/dist/esm/checkbox/checkbox.styles.js.map +1 -1
- package/dist/esm/checkbox/checkbox.template.js +35 -7
- package/dist/esm/checkbox/checkbox.template.js.map +1 -1
- package/dist/esm/checkbox/index.js +2 -2
- package/dist/esm/checkbox/index.js.map +1 -1
- package/dist/esm/compound-button/compound-button.definition.js +0 -6
- package/dist/esm/compound-button/compound-button.definition.js.map +1 -1
- package/dist/esm/compound-button/compound-button.options.js.map +1 -1
- package/dist/esm/compound-button/compound-button.styles.js +7 -7
- package/dist/esm/compound-button/compound-button.template.js +4 -40
- package/dist/esm/compound-button/compound-button.template.js.map +1 -1
- package/dist/esm/compound-button/index.js +2 -2
- package/dist/esm/compound-button/index.js.map +1 -1
- package/dist/esm/counter-badge/counter-badge.definition.js +0 -4
- package/dist/esm/counter-badge/counter-badge.definition.js.map +1 -1
- package/dist/esm/counter-badge/counter-badge.js +2 -7
- package/dist/esm/counter-badge/counter-badge.js.map +1 -1
- package/dist/esm/counter-badge/index.js +2 -2
- package/dist/esm/counter-badge/index.js.map +1 -1
- package/dist/esm/dialog/define.js +4 -0
- package/dist/esm/dialog/define.js.map +1 -0
- package/dist/esm/dialog/dialog.definition.js +17 -0
- package/dist/esm/dialog/dialog.definition.js.map +1 -0
- package/dist/esm/dialog/dialog.js +365 -0
- package/dist/esm/dialog/dialog.js.map +1 -0
- package/dist/esm/dialog/dialog.options.js +10 -0
- package/dist/esm/dialog/dialog.options.js.map +1 -0
- package/dist/esm/dialog/dialog.styles.js +102 -0
- package/dist/esm/dialog/dialog.styles.js.map +1 -0
- package/dist/esm/dialog/dialog.template.js +61 -0
- package/dist/esm/dialog/dialog.template.js.map +1 -0
- package/dist/esm/dialog/index.js +6 -0
- package/dist/esm/dialog/index.js.map +1 -0
- package/dist/esm/divider/divider.js +30 -10
- package/dist/esm/divider/divider.js.map +1 -1
- package/dist/esm/divider/divider.options.js +14 -5
- package/dist/esm/divider/divider.options.js.map +1 -1
- package/dist/esm/divider/divider.styles.js +1 -1
- package/dist/esm/divider/divider.styles.js.map +1 -1
- package/dist/esm/divider/divider.template.js +12 -1
- package/dist/esm/divider/divider.template.js.map +1 -1
- package/dist/esm/divider/index.js +2 -2
- package/dist/esm/divider/index.js.map +1 -1
- package/dist/esm/form-associated/form-associated.js +458 -0
- package/dist/esm/form-associated/form-associated.js.map +1 -0
- package/dist/esm/image/image.js +1 -6
- package/dist/esm/image/image.js.map +1 -1
- package/dist/esm/image/index.js +2 -2
- package/dist/esm/image/index.js.map +1 -1
- package/dist/esm/index-rollup.js +35 -1
- package/dist/esm/index-rollup.js.map +1 -1
- package/dist/esm/index.js +36 -29
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/label/index.js +2 -1
- package/dist/esm/label/index.js.map +1 -1
- package/dist/esm/label/label.js +1 -6
- package/dist/esm/label/label.js.map +1 -1
- package/dist/esm/label/label.styles.js +1 -1
- package/dist/esm/label/label.styles.js.map +1 -1
- package/dist/esm/menu/define.js +4 -0
- package/dist/esm/menu/define.js.map +1 -0
- package/dist/esm/menu/index.js +5 -0
- package/dist/esm/menu/index.js.map +1 -0
- package/dist/esm/menu/menu.definition.js +17 -0
- package/dist/esm/menu/menu.definition.js.map +1 -0
- package/dist/esm/menu/menu.js +408 -0
- package/dist/esm/menu/menu.js.map +1 -0
- package/dist/esm/menu/menu.styles.js +17 -0
- package/dist/esm/menu/menu.styles.js.map +1 -0
- package/dist/esm/menu/menu.template.js +24 -0
- package/dist/esm/menu/menu.template.js.map +1 -0
- package/dist/esm/menu-button/index.js +2 -2
- package/dist/esm/menu-button/index.js.map +1 -1
- package/dist/esm/menu-button/menu-button.definition.js +0 -6
- package/dist/esm/menu-button/menu-button.definition.js.map +1 -1
- package/dist/esm/menu-button/menu-button.options.js.map +1 -1
- package/dist/esm/menu-button/menu-button.template.js +6 -2
- package/dist/esm/menu-button/menu-button.template.js.map +1 -1
- package/dist/esm/menu-item/index.js +2 -1
- package/dist/esm/menu-item/index.js.map +1 -1
- package/dist/esm/menu-item/menu-item.definition.js +0 -4
- package/dist/esm/menu-item/menu-item.definition.js.map +1 -1
- package/dist/esm/menu-item/menu-item.js +265 -4
- package/dist/esm/menu-item/menu-item.js.map +1 -1
- package/dist/esm/menu-item/menu-item.options.js +27 -0
- package/dist/esm/menu-item/menu-item.options.js.map +1 -0
- package/dist/esm/menu-item/menu-item.styles.js +1 -1
- package/dist/esm/menu-item/menu-item.styles.js.map +1 -1
- package/dist/esm/menu-item/menu-item.template.js +57 -2
- package/dist/esm/menu-item/menu-item.template.js.map +1 -1
- package/dist/esm/menu-list/index.js +1 -1
- package/dist/esm/menu-list/index.js.map +1 -1
- package/dist/esm/menu-list/menu-list.definition.js +0 -4
- package/dist/esm/menu-list/menu-list.definition.js.map +1 -1
- package/dist/esm/menu-list/menu-list.js +260 -10
- package/dist/esm/menu-list/menu-list.js.map +1 -1
- package/dist/esm/menu-list/menu-list.styles.js +1 -1
- package/dist/esm/menu-list/menu-list.styles.js.map +1 -1
- package/dist/esm/menu-list/menu-list.template.js +13 -1
- package/dist/esm/menu-list/menu-list.template.js.map +1 -1
- package/dist/esm/patterns/aria-globals.js +72 -0
- package/dist/esm/patterns/aria-globals.js.map +1 -0
- package/dist/esm/patterns/index.js +3 -0
- package/dist/esm/patterns/index.js.map +1 -0
- package/dist/esm/patterns/start-end.js +29 -0
- package/dist/esm/patterns/start-end.js.map +1 -0
- package/dist/esm/progress-bar/base-progress.js +56 -0
- package/dist/esm/progress-bar/base-progress.js.map +1 -0
- package/dist/esm/progress-bar/index.js +2 -2
- package/dist/esm/progress-bar/index.js.map +1 -1
- package/dist/esm/progress-bar/progress-bar.js +11 -9
- package/dist/esm/progress-bar/progress-bar.js.map +1 -1
- package/dist/esm/progress-bar/progress-bar.options.js.map +1 -1
- package/dist/esm/progress-bar/progress-bar.styles.js +1 -1
- package/dist/esm/progress-bar/progress-bar.styles.js.map +1 -1
- package/dist/esm/progress-bar/progress-bar.template.js +25 -1
- package/dist/esm/progress-bar/progress-bar.template.js.map +1 -1
- package/dist/esm/radio/index.js +1 -1
- package/dist/esm/radio/index.js.map +1 -1
- package/dist/esm/radio/radio.form-associated.js +14 -0
- package/dist/esm/radio/radio.form-associated.js.map +1 -0
- package/dist/esm/radio/radio.js +91 -3
- package/dist/esm/radio/radio.js.map +1 -1
- package/dist/esm/radio/radio.styles.js +1 -1
- package/dist/esm/radio/radio.styles.js.map +1 -1
- package/dist/esm/radio/radio.template.js +28 -2
- package/dist/esm/radio/radio.template.js.map +1 -1
- package/dist/esm/radio-group/index.js +2 -2
- package/dist/esm/radio-group/index.js.map +1 -1
- package/dist/esm/radio-group/radio-group.js +347 -9
- package/dist/esm/radio-group/radio-group.js.map +1 -1
- package/dist/esm/radio-group/radio-group.options.js +7 -0
- package/dist/esm/radio-group/radio-group.options.js.map +1 -0
- package/dist/esm/radio-group/radio-group.styles.js +1 -1
- package/dist/esm/radio-group/radio-group.styles.js.map +1 -1
- package/dist/esm/radio-group/radio-group.template.js +30 -1
- package/dist/esm/radio-group/radio-group.template.js.map +1 -1
- package/dist/esm/slider/index.js +2 -2
- package/dist/esm/slider/index.js.map +1 -1
- package/dist/esm/slider/slider-utilities.js +12 -0
- package/dist/esm/slider/slider-utilities.js.map +1 -0
- package/dist/esm/slider/slider.form-associated.js +14 -0
- package/dist/esm/slider/slider.form-associated.js.map +1 -0
- package/dist/esm/slider/slider.js +433 -22
- package/dist/esm/slider/slider.js.map +1 -1
- package/dist/esm/slider/slider.options.js +11 -1
- package/dist/esm/slider/slider.options.js.map +1 -1
- package/dist/esm/slider/slider.styles.js +1 -1
- package/dist/esm/slider/slider.styles.js.map +1 -1
- package/dist/esm/slider/slider.template.js +38 -1
- package/dist/esm/slider/slider.template.js.map +1 -1
- package/dist/esm/spinner/index.js +2 -2
- package/dist/esm/spinner/index.js.map +1 -1
- package/dist/esm/spinner/spinner.definition.js +0 -4
- package/dist/esm/spinner/spinner.definition.js.map +1 -1
- package/dist/esm/spinner/spinner.js +13 -9
- package/dist/esm/spinner/spinner.js.map +1 -1
- package/dist/esm/spinner/spinner.styles.js +3 -17
- package/dist/esm/spinner/spinner.styles.js.map +1 -1
- package/dist/esm/spinner/spinner.template.js +8 -21
- package/dist/esm/spinner/spinner.template.js.map +1 -1
- package/dist/esm/styles/partials/badge.partials.js +1 -1
- package/dist/esm/styles/partials/badge.partials.js.map +1 -1
- package/dist/esm/styles/partials/index.js +1 -0
- package/dist/esm/styles/partials/index.js.map +1 -1
- package/dist/esm/styles/partials/typography.partials.js +105 -0
- package/dist/esm/styles/partials/typography.partials.js.map +1 -0
- package/dist/esm/switch/index.js +2 -2
- package/dist/esm/switch/index.js.map +1 -1
- package/dist/esm/switch/switch.form-associated.js +14 -0
- package/dist/esm/switch/switch.form-associated.js.map +1 -0
- package/dist/esm/switch/switch.js +49 -9
- package/dist/esm/switch/switch.js.map +1 -1
- package/dist/esm/switch/switch.styles.js +4 -3
- package/dist/esm/switch/switch.styles.js.map +1 -1
- package/dist/esm/switch/switch.template.js +25 -1
- package/dist/esm/switch/switch.template.js.map +1 -1
- package/dist/esm/tab/index.js +1 -1
- package/dist/esm/tab/index.js.map +1 -1
- package/dist/esm/tab/tab.js +9 -3
- package/dist/esm/tab/tab.js.map +1 -1
- package/dist/esm/tab/tab.styles.js +1 -1
- package/dist/esm/tab/tab.styles.js.map +1 -1
- package/dist/esm/tab/tab.template.js +1 -1
- package/dist/esm/tab/tab.template.js.map +1 -1
- package/dist/esm/tab-panel/index.js +1 -1
- package/dist/esm/tab-panel/index.js.map +1 -1
- package/dist/esm/tab-panel/tab-panel.js +2 -2
- package/dist/esm/tab-panel/tab-panel.js.map +1 -1
- package/dist/esm/tab-panel/tab-panel.styles.js +1 -1
- package/dist/esm/tab-panel/tab-panel.styles.js.map +1 -1
- package/dist/esm/tab-panel/tab-panel.template.js +8 -1
- package/dist/esm/tab-panel/tab-panel.template.js.map +1 -1
- package/dist/esm/tabs/index.js +2 -2
- package/dist/esm/tabs/index.js.map +1 -1
- package/dist/esm/tabs/tabs.js +279 -11
- package/dist/esm/tabs/tabs.js.map +1 -1
- package/dist/esm/tabs/tabs.options.js +6 -2
- package/dist/esm/tabs/tabs.options.js.map +1 -1
- package/dist/esm/tabs/tabs.styles.js +1 -1
- package/dist/esm/tabs/tabs.styles.js.map +1 -1
- package/dist/esm/tabs/tabs.template.js +14 -1
- package/dist/esm/tabs/tabs.template.js.map +1 -1
- package/dist/esm/text/index.js +2 -2
- package/dist/esm/text/index.js.map +1 -1
- package/dist/esm/text/text.js +1 -6
- package/dist/esm/text/text.js.map +1 -1
- package/dist/esm/text/text.styles.js +1 -1
- package/dist/esm/text/text.styles.js.map +1 -1
- package/dist/esm/text-input/index.js +4 -5
- package/dist/esm/text-input/index.js.map +1 -1
- package/dist/esm/text-input/text-input.definition.js +2 -3
- package/dist/esm/text-input/text-input.definition.js.map +1 -1
- package/dist/esm/text-input/text-input.js +340 -11
- package/dist/esm/text-input/text-input.js.map +1 -1
- package/dist/esm/text-input/text-input.options.js +35 -2
- package/dist/esm/text-input/text-input.options.js.map +1 -1
- package/dist/esm/text-input/text-input.styles.js +8 -3
- package/dist/esm/text-input/text-input.styles.js.map +1 -1
- package/dist/esm/text-input/text-input.template.js +49 -2
- package/dist/esm/text-input/text-input.template.js.map +1 -1
- package/dist/esm/theme/design-tokens.js +437 -386
- package/dist/esm/theme/design-tokens.js.map +1 -1
- package/dist/esm/theme/set-theme.js +2 -2
- package/dist/esm/theme/set-theme.js.map +1 -1
- package/dist/esm/toggle-button/index.js +2 -2
- package/dist/esm/toggle-button/index.js.map +1 -1
- package/dist/esm/toggle-button/toggle-button.definition.js +0 -5
- package/dist/esm/toggle-button/toggle-button.definition.js.map +1 -1
- package/dist/esm/toggle-button/toggle-button.js +43 -91
- package/dist/esm/toggle-button/toggle-button.js.map +1 -1
- package/dist/esm/toggle-button/toggle-button.options.js.map +1 -1
- package/dist/esm/toggle-button/toggle-button.styles.js +31 -26
- package/dist/esm/toggle-button/toggle-button.styles.js.map +1 -1
- package/dist/esm/toggle-button/toggle-button.template.js +1 -1
- package/dist/esm/toggle-button/toggle-button.template.js.map +1 -1
- package/dist/esm/utils/behaviors/match-media-stylesheet-behavior.js +142 -0
- package/dist/esm/utils/behaviors/match-media-stylesheet-behavior.js.map +1 -0
- package/dist/esm/utils/benchmark-dependencies/tokens.js +2 -0
- package/dist/esm/utils/benchmark-dependencies/tokens.js.map +1 -0
- package/dist/esm/utils/benchmark-wrapper.js +18 -0
- package/dist/esm/utils/benchmark-wrapper.js.map +1 -0
- package/dist/esm/utils/direction.js +15 -0
- package/dist/esm/utils/direction.js.map +1 -0
- package/dist/esm/utils/display.js +15 -0
- package/dist/esm/utils/display.js.map +1 -0
- package/dist/esm/utils/get-initials.js.map +1 -1
- package/dist/esm/utils/index.js +7 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/template-helpers.js +19 -0
- package/dist/esm/utils/template-helpers.js.map +1 -0
- package/dist/esm/utils/typings.js +3 -0
- package/dist/esm/utils/typings.js.map +1 -0
- package/dist/esm/utils/whitespace-filter.js +13 -0
- package/dist/esm/utils/whitespace-filter.js.map +1 -0
- package/dist/fluent-web-components.api.json +19072 -7994
- package/dist/web-components.d.ts +4130 -1264
- package/dist/web-components.js +3675 -3856
- package/dist/web-components.min.js +340 -190
- package/docs/api-report.md +1352 -527
- package/package.json +20 -11
- package/playwright.config.ts +2 -3
- package/project.json +6 -0
- package/tensile.config.js +22 -0
- package/dist/storybook/108.78b731e00015540915a8.manager.bundle.js +0 -1
- package/dist/storybook/108.b31ec3a1.iframe.bundle.js +0 -1
- package/dist/storybook/316.bc4aabd3.iframe.bundle.js +0 -2
- package/dist/storybook/316.bc4aabd3.iframe.bundle.js.LICENSE.txt +0 -17
- package/dist/storybook/401.7edec720.iframe.bundle.js +0 -2
- package/dist/storybook/401.7edec720.iframe.bundle.js.LICENSE.txt +0 -12
- package/dist/storybook/401.c9bdfaf0dda8b194127f.manager.bundle.js +0 -2
- package/dist/storybook/401.c9bdfaf0dda8b194127f.manager.bundle.js.LICENSE.txt +0 -12
- package/dist/storybook/491.77b24750.iframe.bundle.js +0 -1
- package/dist/storybook/591.f5bf0d78d2f203de19f5.manager.bundle.js +0 -2
- package/dist/storybook/591.f5bf0d78d2f203de19f5.manager.bundle.js.LICENSE.txt +0 -94
- package/dist/storybook/651.e36cf1e8.iframe.bundle.js +0 -462
- package/dist/storybook/651.e36cf1e8.iframe.bundle.js.LICENSE.txt +0 -46
- package/dist/storybook/651.e36cf1e8.iframe.bundle.js.map +0 -1
- package/dist/storybook/709.22096ad4.iframe.bundle.js +0 -2
- package/dist/storybook/709.22096ad4.iframe.bundle.js.LICENSE.txt +0 -8
- package/dist/storybook/709.b131e33993a6b94d7ad8.manager.bundle.js +0 -2
- package/dist/storybook/709.b131e33993a6b94d7ad8.manager.bundle.js.LICENSE.txt +0 -8
- package/dist/storybook/721.46fa9f53.iframe.bundle.js +0 -2
- package/dist/storybook/721.46fa9f53.iframe.bundle.js.LICENSE.txt +0 -31
- package/dist/storybook/721.c225c101a0a55a8f98eb.manager.bundle.js +0 -2
- package/dist/storybook/721.c225c101a0a55a8f98eb.manager.bundle.js.LICENSE.txt +0 -31
- package/dist/storybook/858.da40ed98.iframe.bundle.js +0 -1
- package/dist/storybook/858.e08e25a6901d2e21e9d8.manager.bundle.js +0 -1
- package/dist/storybook/950.674e7934b4a26a022608.manager.bundle.js +0 -1
- package/dist/storybook/954.630c5748.iframe.bundle.js +0 -1
- package/dist/storybook/954.7f985e2fdf9f15a7748b.manager.bundle.js +0 -1
- package/dist/storybook/SegoeUI-VF.ttf +0 -0
- package/dist/storybook/favicon.ico +0 -0
- package/dist/storybook/favicon.png +0 -0
- package/dist/storybook/iframe.html +0 -364
- package/dist/storybook/index.html +0 -165
- package/dist/storybook/main.5d7b916dc1e37293b1d8.manager.bundle.js +0 -1
- package/dist/storybook/main.696937e6.iframe.bundle.js +0 -1
- package/dist/storybook/project.json +0 -1
- package/dist/storybook/runtime~main.5d918fe7.iframe.bundle.js +0 -1
- package/dist/storybook/runtime~main.dbf00b470fe610082919.manager.bundle.js +0 -1
- package/dist/storybook/shell.css +0 -83
- package/dist/storybook/theme-switch.ts +0 -13
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { attr, FASTElement, observable, Updates } from '@microsoft/fast-element';
|
|
3
|
+
import { isTabbable } from 'tabbable';
|
|
4
|
+
import { keyEscape, keyTab } from '@microsoft/fast-web-utilities';
|
|
5
|
+
import { DialogModalType } from './dialog.options.js';
|
|
6
|
+
/**
|
|
7
|
+
* Dialog component that extends the FASTElement class.
|
|
8
|
+
*
|
|
9
|
+
* @public
|
|
10
|
+
* @extends FASTElement
|
|
11
|
+
*/
|
|
12
|
+
export class Dialog extends FASTElement {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments);
|
|
15
|
+
/**
|
|
16
|
+
* @private
|
|
17
|
+
* Indicates whether focus is being trapped within the dialog
|
|
18
|
+
*/
|
|
19
|
+
this.isTrappingFocus = false;
|
|
20
|
+
/**
|
|
21
|
+
* @public
|
|
22
|
+
* The title action elements
|
|
23
|
+
*/
|
|
24
|
+
this.titleAction = [];
|
|
25
|
+
/**
|
|
26
|
+
* @public
|
|
27
|
+
* The type of the dialog modal
|
|
28
|
+
*/
|
|
29
|
+
this.modalType = DialogModalType.modal;
|
|
30
|
+
/**
|
|
31
|
+
* @public
|
|
32
|
+
* Indicates whether the dialog is open
|
|
33
|
+
*/
|
|
34
|
+
this.open = false;
|
|
35
|
+
/**
|
|
36
|
+
* @public
|
|
37
|
+
* Indicates whether the dialog has a title action
|
|
38
|
+
*/
|
|
39
|
+
this.noTitleAction = false;
|
|
40
|
+
/**
|
|
41
|
+
* @private
|
|
42
|
+
* Indicates whether focus should be trapped within the dialog
|
|
43
|
+
*/
|
|
44
|
+
this.trapFocus = false;
|
|
45
|
+
/**
|
|
46
|
+
* @public
|
|
47
|
+
* Method to emit an event when the dialog's open state changes
|
|
48
|
+
* @param dismissed - Indicates whether the dialog was dismissed
|
|
49
|
+
*/
|
|
50
|
+
this.onOpenChangeEvent = (dismissed = false) => {
|
|
51
|
+
this.$emit('onOpenChange', { open: this.dialog.open, dismissed: dismissed });
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* @public
|
|
55
|
+
* Handles keydown events on the dialog
|
|
56
|
+
* @param e - The keydown event
|
|
57
|
+
* @returns boolean | void
|
|
58
|
+
*/
|
|
59
|
+
this.handleKeydown = (e) => {
|
|
60
|
+
if (e.defaultPrevented) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
switch (e.key) {
|
|
64
|
+
case keyEscape:
|
|
65
|
+
if (this.modalType !== DialogModalType.alert) {
|
|
66
|
+
this.hide(true);
|
|
67
|
+
this.$emit('dismiss');
|
|
68
|
+
}
|
|
69
|
+
break;
|
|
70
|
+
default:
|
|
71
|
+
return true;
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* @private
|
|
76
|
+
* Handles keydown events on the document
|
|
77
|
+
* @param e - The keydown event
|
|
78
|
+
*/
|
|
79
|
+
this.handleDocumentKeydown = (e) => {
|
|
80
|
+
if (!e.defaultPrevented && this.dialog.open) {
|
|
81
|
+
switch (e.key) {
|
|
82
|
+
case keyTab:
|
|
83
|
+
this.handleTabKeyDown(e);
|
|
84
|
+
break;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* @private
|
|
90
|
+
* Handles tab keydown events
|
|
91
|
+
* @param e - The keydown event
|
|
92
|
+
*/
|
|
93
|
+
this.handleTabKeyDown = (e) => {
|
|
94
|
+
if (!this.trapFocus || !this.dialog.open) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
const bounds = this.getTabQueueBounds();
|
|
98
|
+
if (bounds.length === 1) {
|
|
99
|
+
bounds[0].focus();
|
|
100
|
+
e.preventDefault();
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
if (e.shiftKey && e.target === bounds[0]) {
|
|
104
|
+
bounds[bounds.length - 1].focus();
|
|
105
|
+
e.preventDefault();
|
|
106
|
+
}
|
|
107
|
+
else if (!e.shiftKey && e.target === bounds[bounds.length - 1]) {
|
|
108
|
+
bounds[0].focus();
|
|
109
|
+
e.preventDefault();
|
|
110
|
+
}
|
|
111
|
+
return;
|
|
112
|
+
};
|
|
113
|
+
/**
|
|
114
|
+
* @private
|
|
115
|
+
* Gets the bounds of the tab queue
|
|
116
|
+
* @returns (HTMLElement | SVGElement)[]
|
|
117
|
+
*/
|
|
118
|
+
this.getTabQueueBounds = () => {
|
|
119
|
+
const bounds = [];
|
|
120
|
+
return Dialog.reduceTabbableItems(bounds, this);
|
|
121
|
+
};
|
|
122
|
+
/**
|
|
123
|
+
* @private
|
|
124
|
+
* Focuses the first element in the tab queue
|
|
125
|
+
*/
|
|
126
|
+
this.focusFirstElement = () => {
|
|
127
|
+
const bounds = this.getTabQueueBounds();
|
|
128
|
+
if (bounds.length > 0) {
|
|
129
|
+
bounds[0].focus();
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
if (this.dialog instanceof HTMLElement) {
|
|
133
|
+
this.dialog.focus();
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
/**
|
|
138
|
+
* @private
|
|
139
|
+
* Determines if focus should be forced
|
|
140
|
+
* @param currentFocusElement - The currently focused element
|
|
141
|
+
* @returns boolean
|
|
142
|
+
*/
|
|
143
|
+
this.shouldForceFocus = (currentFocusElement) => {
|
|
144
|
+
return this.isTrappingFocus && !this.contains(currentFocusElement);
|
|
145
|
+
};
|
|
146
|
+
/**
|
|
147
|
+
* @private
|
|
148
|
+
* Determines if focus should be trapped
|
|
149
|
+
* @returns boolean
|
|
150
|
+
*/
|
|
151
|
+
this.shouldTrapFocus = () => {
|
|
152
|
+
return this.trapFocus && this.dialog.open;
|
|
153
|
+
};
|
|
154
|
+
/**
|
|
155
|
+
* @private
|
|
156
|
+
* Handles focus events on the document
|
|
157
|
+
* @param e - The focus event
|
|
158
|
+
*/
|
|
159
|
+
this.handleDocumentFocus = (e) => {
|
|
160
|
+
if (!e.defaultPrevented && this.shouldForceFocus(e.target)) {
|
|
161
|
+
this.focusFirstElement();
|
|
162
|
+
e.preventDefault();
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
/**
|
|
166
|
+
* @private
|
|
167
|
+
* Updates the state of focus trapping
|
|
168
|
+
* @param shouldTrapFocusOverride - Optional override for whether focus should be trapped
|
|
169
|
+
*/
|
|
170
|
+
this.updateTrapFocus = (shouldTrapFocusOverride) => {
|
|
171
|
+
const shouldTrapFocus = shouldTrapFocusOverride === undefined ? this.shouldTrapFocus() : shouldTrapFocusOverride;
|
|
172
|
+
if (shouldTrapFocus && !this.isTrappingFocus) {
|
|
173
|
+
this.isTrappingFocus = true;
|
|
174
|
+
// Add an event listener for focusin events if we are trapping focus
|
|
175
|
+
document.addEventListener('focusin', this.handleDocumentFocus);
|
|
176
|
+
Updates.enqueue(() => {
|
|
177
|
+
if (this.shouldForceFocus(document.activeElement)) {
|
|
178
|
+
this.focusFirstElement();
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
else if (!shouldTrapFocus && this.isTrappingFocus) {
|
|
183
|
+
this.isTrappingFocus = false;
|
|
184
|
+
// remove event listener if we are not trapping focus
|
|
185
|
+
document.removeEventListener('focusin', this.handleDocumentFocus);
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* @public
|
|
191
|
+
* Lifecycle method called when the element is connected to the DOM
|
|
192
|
+
*/
|
|
193
|
+
connectedCallback() {
|
|
194
|
+
super.connectedCallback();
|
|
195
|
+
document.addEventListener('keydown', this.handleDocumentKeydown);
|
|
196
|
+
Updates.enqueue(() => {
|
|
197
|
+
this.updateTrapFocus();
|
|
198
|
+
this.setComponent();
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* @public
|
|
203
|
+
* Lifecycle method called when the element is disconnected from the DOM
|
|
204
|
+
*/
|
|
205
|
+
disconnectedCallback() {
|
|
206
|
+
super.disconnectedCallback();
|
|
207
|
+
document.removeEventListener('keydown', this.handleDocumentKeydown);
|
|
208
|
+
this.updateTrapFocus(false);
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* @public
|
|
212
|
+
* Method called when the 'open' attribute changes
|
|
213
|
+
*/
|
|
214
|
+
openChanged(oldValue, newValue) {
|
|
215
|
+
if (newValue !== oldValue) {
|
|
216
|
+
if (newValue && !oldValue) {
|
|
217
|
+
this.show();
|
|
218
|
+
}
|
|
219
|
+
else if (!newValue && oldValue) {
|
|
220
|
+
this.hide();
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* @public
|
|
226
|
+
* Method called when the 'modalType' attribute changes
|
|
227
|
+
*/
|
|
228
|
+
modalTypeChanged(oldValue, newValue) {
|
|
229
|
+
if (newValue !== oldValue) {
|
|
230
|
+
if (newValue == DialogModalType.alert || newValue == DialogModalType.modal) {
|
|
231
|
+
this.trapFocus = true;
|
|
232
|
+
}
|
|
233
|
+
else {
|
|
234
|
+
this.trapFocus = false;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* @public
|
|
240
|
+
* Method to set the component's state based on its attributes
|
|
241
|
+
*/
|
|
242
|
+
setComponent() {
|
|
243
|
+
if (this.modalType == DialogModalType.modal || this.modalType == DialogModalType.alert) {
|
|
244
|
+
this.trapFocus = true;
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
this.trapFocus = false;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* @public
|
|
252
|
+
* Method to show the dialog
|
|
253
|
+
*/
|
|
254
|
+
show() {
|
|
255
|
+
Updates.enqueue(() => {
|
|
256
|
+
if (this.modalType === DialogModalType.alert || this.modalType === DialogModalType.modal) {
|
|
257
|
+
this.dialog.showModal();
|
|
258
|
+
this.open = true;
|
|
259
|
+
this.updateTrapFocus(true);
|
|
260
|
+
}
|
|
261
|
+
else if (this.modalType === DialogModalType.nonModal) {
|
|
262
|
+
this.dialog.show();
|
|
263
|
+
this.open = true;
|
|
264
|
+
}
|
|
265
|
+
this.onOpenChangeEvent();
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* @public
|
|
270
|
+
* Method to hide the dialog
|
|
271
|
+
* @param dismissed - Indicates whether the dialog was dismissed
|
|
272
|
+
*/
|
|
273
|
+
hide(dismissed = false) {
|
|
274
|
+
this.dialog.close();
|
|
275
|
+
this.open = false;
|
|
276
|
+
this.onOpenChangeEvent(dismissed);
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* @public
|
|
280
|
+
* Method to dismiss the dialog
|
|
281
|
+
*/
|
|
282
|
+
dismiss() {
|
|
283
|
+
if (this.modalType === DialogModalType.alert) {
|
|
284
|
+
return;
|
|
285
|
+
}
|
|
286
|
+
this.hide(true);
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* @public
|
|
290
|
+
* Handles click events on the dialog
|
|
291
|
+
* @param event - The click event
|
|
292
|
+
* @returns boolean
|
|
293
|
+
*/
|
|
294
|
+
handleClick(event) {
|
|
295
|
+
event.preventDefault();
|
|
296
|
+
if (this.dialog.open && this.modalType !== DialogModalType.alert && event.target === this.dialog) {
|
|
297
|
+
this.dismiss();
|
|
298
|
+
}
|
|
299
|
+
return true;
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* @private
|
|
303
|
+
* Reduces the list of tabbable items
|
|
304
|
+
* @param elements - The current list of elements
|
|
305
|
+
* @param element - The element to consider adding to the list
|
|
306
|
+
* @returns HTMLElement[]
|
|
307
|
+
*/
|
|
308
|
+
static reduceTabbableItems(elements, element) {
|
|
309
|
+
if (element.getAttribute('tabindex') === '-1') {
|
|
310
|
+
return elements;
|
|
311
|
+
}
|
|
312
|
+
if (isTabbable(element) || (Dialog.isFocusableFastElement(element) && Dialog.hasTabbableShadow(element))) {
|
|
313
|
+
elements.push(element);
|
|
314
|
+
return elements;
|
|
315
|
+
}
|
|
316
|
+
return Array.from(element.children).reduce((elements, currentElement) => Dialog.reduceTabbableItems(elements, currentElement), elements);
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* @private
|
|
320
|
+
* Determines if an element is a focusable FASTElement
|
|
321
|
+
* @param element - The element to check
|
|
322
|
+
* @returns boolean
|
|
323
|
+
*/
|
|
324
|
+
static isFocusableFastElement(element) {
|
|
325
|
+
var _a, _b;
|
|
326
|
+
return !!((_b = (_a = element.$fastController) === null || _a === void 0 ? void 0 : _a.definition.shadowOptions) === null || _b === void 0 ? void 0 : _b.delegatesFocus);
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* @private
|
|
330
|
+
* Determines if an element has a tabbable shadow
|
|
331
|
+
* @param element - The element to check
|
|
332
|
+
* @returns boolean
|
|
333
|
+
*/
|
|
334
|
+
static hasTabbableShadow(element) {
|
|
335
|
+
var _a, _b;
|
|
336
|
+
return Array.from((_b = (_a = element.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('*')) !== null && _b !== void 0 ? _b : []).some(x => {
|
|
337
|
+
return isTabbable(x);
|
|
338
|
+
});
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
__decorate([
|
|
342
|
+
observable
|
|
343
|
+
], Dialog.prototype, "dialog", void 0);
|
|
344
|
+
__decorate([
|
|
345
|
+
observable
|
|
346
|
+
], Dialog.prototype, "titleAction", void 0);
|
|
347
|
+
__decorate([
|
|
348
|
+
observable
|
|
349
|
+
], Dialog.prototype, "defaultTitleAction", void 0);
|
|
350
|
+
__decorate([
|
|
351
|
+
attr({ attribute: 'aria-describedby' })
|
|
352
|
+
], Dialog.prototype, "ariaDescribedby", void 0);
|
|
353
|
+
__decorate([
|
|
354
|
+
attr({ attribute: 'aria-labelledby' })
|
|
355
|
+
], Dialog.prototype, "ariaLabelledby", void 0);
|
|
356
|
+
__decorate([
|
|
357
|
+
attr({ attribute: 'modal-type' })
|
|
358
|
+
], Dialog.prototype, "modalType", void 0);
|
|
359
|
+
__decorate([
|
|
360
|
+
attr({ mode: 'boolean' })
|
|
361
|
+
], Dialog.prototype, "open", void 0);
|
|
362
|
+
__decorate([
|
|
363
|
+
attr({ mode: 'boolean', attribute: 'no-title-action' })
|
|
364
|
+
], Dialog.prototype, "noTitleAction", void 0);
|
|
365
|
+
//# sourceMappingURL=dialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../../src/dialog/dialog.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,OAAO,MAAO,SAAQ,WAAW;IAAvC;;QACE;;;WAGG;QACK,oBAAe,GAAY,KAAK,CAAC;QAgCzC;;;WAGG;QAEI,gBAAW,GAAkB,EAAE,CAAC;QAuBvC;;;WAGG;QAEI,cAAS,GAAoB,eAAe,CAAC,KAAK,CAAC;QAE1D;;;WAGG;QAEI,SAAI,GAAY,KAAK,CAAC;QAE7B;;;WAGG;QAEI,kBAAa,GAAY,KAAK,CAAC;QAEtC;;;WAGG;QACK,cAAS,GAAY,KAAK,CAAC;QA0CnC;;;;WAIG;QACI,sBAAiB,GAAG,CAAC,YAAqB,KAAK,EAAQ,EAAE;YAC9D,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/E,CAAC,CAAC;QAwDF;;;;;WAKG;QACI,kBAAa,GAAG,CAAC,CAAgB,EAAkB,EAAE;YAC1D,IAAI,CAAC,CAAC,gBAAgB,EAAE;gBACtB,OAAO;aACR;YACD,QAAQ,CAAC,CAAC,GAAG,EAAE;gBACb,KAAK,SAAS;oBACZ,IAAI,IAAI,CAAC,SAAS,KAAK,eAAe,CAAC,KAAK,EAAE;wBAC5C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAChB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;qBACvB;oBACD,MAAM;gBACR;oBACE,OAAO,IAAI,CAAC;aACf;QACH,CAAC,CAAC;QAEF;;;;WAIG;QACK,0BAAqB,GAAG,CAAC,CAAgB,EAAQ,EAAE;YACzD,IAAI,CAAC,CAAC,CAAC,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;gBAC3C,QAAQ,CAAC,CAAC,GAAG,EAAE;oBACb,KAAK,MAAM;wBACT,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;wBACzB,MAAM;iBACT;aACF;QACH,CAAC,CAAC;QAEF;;;;WAIG;QACK,qBAAgB,GAAG,CAAC,CAAgB,EAAQ,EAAE;YACpD,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;gBACxC,OAAO;aACR;YAED,MAAM,MAAM,GAAiC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEtE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gBACvB,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;gBAClB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,OAAO;aACR;YAED,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE;gBACxC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;gBAClC,CAAC,CAAC,cAAc,EAAE,CAAC;aACpB;iBAAM,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;gBAChE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;gBAClB,CAAC,CAAC,cAAc,EAAE,CAAC;aACpB;YAED,OAAO;QACT,CAAC,CAAC;QAEF;;;;WAIG;QACK,sBAAiB,GAAG,GAAiC,EAAE;YAC7D,MAAM,MAAM,GAAkB,EAAE,CAAC;YAEjC,OAAO,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAClD,CAAC,CAAC;QAEF;;;WAGG;QACK,sBAAiB,GAAG,GAAS,EAAE;YACrC,MAAM,MAAM,GAAiC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEtE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrB,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;aACnB;iBAAM;gBACL,IAAI,IAAI,CAAC,MAAM,YAAY,WAAW,EAAE;oBACtC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;iBACrB;aACF;QACH,CAAC,CAAC;QAEF;;;;;WAKG;QACK,qBAAgB,GAAG,CAAC,mBAAmC,EAAW,EAAE;YAC1E,OAAO,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QACrE,CAAC,CAAC;QAEF;;;;WAIG;QACK,oBAAe,GAAG,GAAY,EAAE;YACtC,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5C,CAAC,CAAC;QAEF;;;;WAIG;QACK,wBAAmB,GAAG,CAAC,CAAQ,EAAQ,EAAE;YAC/C,IAAI,CAAC,CAAC,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAqB,CAAC,EAAE;gBACzE,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,CAAC,CAAC,cAAc,EAAE,CAAC;aACpB;QACH,CAAC,CAAC;QAEF;;;;WAIG;QACK,oBAAe,GAAG,CAAC,uBAAiC,EAAQ,EAAE;YACpE,MAAM,eAAe,GAAG,uBAAuB,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC;YAEjH,IAAI,eAAe,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBAC5C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,oEAAoE;gBACpE,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAC/D,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;oBACnB,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;wBACjD,IAAI,CAAC,iBAAiB,EAAE,CAAC;qBAC1B;gBACH,CAAC,CAAC,CAAC;aACJ;iBAAM,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,EAAE;gBACnD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;gBAC7B,qDAAqD;gBACrD,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;aACnE;QACH,CAAC,CAAC;IA8CJ,CAAC;IA5XC;;;OAGG;IACI,iBAAiB;QACtB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACjE,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;YACnB,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACI,oBAAoB;QACzB,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACpE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAgED;;;OAGG;IACI,WAAW,CAAC,QAAiB,EAAE,QAAiB;QACrD,IAAI,QAAQ,KAAK,QAAQ,EAAE;YACzB,IAAI,QAAQ,IAAI,CAAC,QAAQ,EAAE;gBACzB,IAAI,CAAC,IAAI,EAAE,CAAC;aACb;iBAAM,IAAI,CAAC,QAAQ,IAAI,QAAQ,EAAE;gBAChC,IAAI,CAAC,IAAI,EAAE,CAAC;aACb;SACF;IACH,CAAC;IAED;;;OAGG;IACI,gBAAgB,CAAC,QAAyB,EAAE,QAAyB;QAC1E,IAAI,QAAQ,KAAK,QAAQ,EAAE;YACzB,IAAI,QAAQ,IAAI,eAAe,CAAC,KAAK,IAAI,QAAQ,IAAI,eAAe,CAAC,KAAK,EAAE;gBAC1E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACvB;iBAAM;gBACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;aACxB;SACF;IACH,CAAC;IAED;;;OAGG;IACI,YAAY;QACjB,IAAI,IAAI,CAAC,SAAS,IAAI,eAAe,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,IAAI,eAAe,CAAC,KAAK,EAAE;YACtF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;IACH,CAAC;IAWD;;;OAGG;IACI,IAAI;QACT,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;YACnB,IAAI,IAAI,CAAC,SAAS,KAAK,eAAe,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,KAAK,eAAe,CAAC,KAAK,EAAE;gBACxF,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBACjB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;aAC5B;iBAAM,IAAI,IAAI,CAAC,SAAS,KAAK,eAAe,CAAC,QAAQ,EAAE;gBACtD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;aAClB;YACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,IAAI,CAAC,YAAqB,KAAK;QACpC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACI,OAAO;QACZ,IAAI,IAAI,CAAC,SAAS,KAAK,eAAe,CAAC,KAAK,EAAE;YAC5C,OAAO;SACR;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACI,WAAW,CAAC,KAAY;QAC7B,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,eAAe,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;YAChG,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAsJD;;;;;;OAMG;IACK,MAAM,CAAC,mBAAmB,CAAC,QAAuB,EAAE,OAAoB;QAC9E,IAAI,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;YAC7C,OAAO,QAAQ,CAAC;SACjB;QAED,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,EAAE;YACxG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,OAAO,QAAQ,CAAC;SACjB;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CACxC,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,cAA6B,CAAC,EACjG,QAAQ,CACT,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,MAAM,CAAC,sBAAsB,CAAC,OAAoB;;QACxD,OAAO,CAAC,CAAC,CAAA,MAAA,MAAA,OAAO,CAAC,eAAe,0CAAE,UAAU,CAAC,aAAa,0CAAE,cAAc,CAAA,CAAC;IAC7E,CAAC;IAED;;;;;OAKG;IACK,MAAM,CAAC,iBAAiB,CAAC,OAAoB;;QACnD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAA,MAAA,OAAO,CAAC,UAAU,0CAAE,gBAAgB,CAAC,GAAG,CAAC,mCAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAC1E,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAhWC;IADC,UAAU;sCACuB;AAOlC;IADC,UAAU;2CAC4B;AAOvC;IADC,UAAU;kDAC8B;AAOzC;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;+CACR;AAOhC;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;8CACR;AAO/B;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;yCACwB;AAO1D;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;oCACG;AAO7B;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;6CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog.options.js","sourceRoot":"","sources":["../../../src/dialog/dialog.options.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,WAAW;IACrB,KAAK,EAAE,OAAO;CACN,CAAC"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { css } from '@microsoft/fast-element';
|
|
2
|
+
import { display } from '../utils/index.js';
|
|
3
|
+
import { borderRadiusXLarge, colorBackgroundOverlay, colorNeutralBackground1, colorNeutralForeground1, colorTransparentStroke, fontFamilyBase, fontSizeBase300, fontSizeBase500, fontWeightRegular, fontWeightSemibold, lineHeightBase300, lineHeightBase500, shadow64, spacingHorizontalS, spacingHorizontalXXL, spacingVerticalS, spacingVerticalXXL, strokeWidthThin, } from '../theme/design-tokens.js';
|
|
4
|
+
/** Dialog styles
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
export const styles = css `
|
|
8
|
+
${display('flex')}
|
|
9
|
+
|
|
10
|
+
:host {
|
|
11
|
+
--dialog-backdrop: ${colorBackgroundOverlay};
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
dialog {
|
|
15
|
+
background: ${colorNeutralBackground1};
|
|
16
|
+
border: ${strokeWidthThin} solid ${colorTransparentStroke};
|
|
17
|
+
z-index: 2;
|
|
18
|
+
margin: auto auto;
|
|
19
|
+
max-width: 100%;
|
|
20
|
+
width: 100vw;
|
|
21
|
+
border-radius: ${borderRadiusXLarge};
|
|
22
|
+
box-shadow: ${shadow64};
|
|
23
|
+
max-height: 100vh;
|
|
24
|
+
height: fit-content;
|
|
25
|
+
overflow: unset;
|
|
26
|
+
position: fixed;
|
|
27
|
+
inset: 0;
|
|
28
|
+
padding: 0;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
dialog::backdrop {
|
|
32
|
+
background: var(--dialog-backdrop, rgba(0, 0, 0, 0.4));
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.root {
|
|
36
|
+
box-sizing: border-box;
|
|
37
|
+
display: flex;
|
|
38
|
+
flex-direction: column;
|
|
39
|
+
overflow: unset;
|
|
40
|
+
max-height: calc(100vh - 48px);
|
|
41
|
+
padding: ${spacingVerticalXXL} ${spacingHorizontalXXL};
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.title {
|
|
45
|
+
font-size: ${fontSizeBase500};
|
|
46
|
+
line-height: ${lineHeightBase500};
|
|
47
|
+
font-weight: ${fontWeightSemibold};
|
|
48
|
+
font-family: ${fontFamilyBase};
|
|
49
|
+
color: ${colorNeutralForeground1};
|
|
50
|
+
margin-bottom: ${spacingVerticalS};
|
|
51
|
+
display: flex;
|
|
52
|
+
justify-content: space-between;
|
|
53
|
+
align-items: flex-start;
|
|
54
|
+
column-gap: 8px;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.content {
|
|
58
|
+
vertical-align: top;
|
|
59
|
+
min-height: 32px;
|
|
60
|
+
color: ${colorNeutralForeground1};
|
|
61
|
+
font-size: ${fontSizeBase300};
|
|
62
|
+
line-height: ${lineHeightBase300};
|
|
63
|
+
font-weight: ${fontWeightRegular};
|
|
64
|
+
font-family: ${fontFamilyBase};
|
|
65
|
+
overflow-y: auto;
|
|
66
|
+
box-sizing: border-box;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.actions {
|
|
70
|
+
display: flex;
|
|
71
|
+
grid-column-start: 1;
|
|
72
|
+
flex-direction: column;
|
|
73
|
+
max-width: 100vw;
|
|
74
|
+
row-gap: ${spacingVerticalS};
|
|
75
|
+
padding-top: ${spacingVerticalXXL};
|
|
76
|
+
justify-self: stretch;
|
|
77
|
+
width: 100%;
|
|
78
|
+
}
|
|
79
|
+
::slotted([slot='action']) {
|
|
80
|
+
width: 100%;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
@media screen and (min-width: 480px) {
|
|
84
|
+
::slotted([slot='action']) {
|
|
85
|
+
width: fit-content;
|
|
86
|
+
}
|
|
87
|
+
dialog {
|
|
88
|
+
max-width: 600px;
|
|
89
|
+
width: 100%;
|
|
90
|
+
}
|
|
91
|
+
.actions {
|
|
92
|
+
display: flex;
|
|
93
|
+
flex-direction: row;
|
|
94
|
+
justify-content: flex-end;
|
|
95
|
+
align-items: center;
|
|
96
|
+
column-gap: ${spacingHorizontalS};
|
|
97
|
+
padding-top: ${spacingVerticalS};
|
|
98
|
+
box-sizing: border-box;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
`;
|
|
102
|
+
//# sourceMappingURL=dialog.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog.styles.js","sourceRoot":"","sources":["../../../src/dialog/dialog.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,QAAQ,EACR,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,GAChB,MAAM,2BAA2B,CAAC;AAEnC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;IACrB,OAAO,CAAC,MAAM,CAAC;;;yBAGM,sBAAsB;;;;kBAI7B,uBAAuB;cAC3B,eAAe,UAAU,sBAAsB;;;;;qBAKxC,kBAAkB;kBACrB,QAAQ;;;;;;;;;;;;;;;;;;;eAmBX,kBAAkB,IAAI,oBAAoB;;;;iBAIxC,eAAe;mBACb,iBAAiB;mBACjB,kBAAkB;mBAClB,cAAc;aACpB,uBAAuB;qBACf,gBAAgB;;;;;;;;;;aAUxB,uBAAuB;iBACnB,eAAe;mBACb,iBAAiB;mBACjB,iBAAiB;mBACjB,cAAc;;;;;;;;;;eAUlB,gBAAgB;mBACZ,kBAAkB;;;;;;;;;;;;;;;;;;;;;oBAqBjB,kBAAkB;qBACjB,gBAAgB;;;;CAIpC,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { elements, html, ref, slotted, when } from '@microsoft/fast-element';
|
|
2
|
+
import { DialogModalType } from './dialog.options.js';
|
|
3
|
+
const dismissed16Regular = html.partial(`
|
|
4
|
+
<svg
|
|
5
|
+
fill="currentColor"
|
|
6
|
+
aria-hidden="true"
|
|
7
|
+
width="20"
|
|
8
|
+
height="20"
|
|
9
|
+
viewBox="0 0 20 20"
|
|
10
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
11
|
+
>
|
|
12
|
+
<path
|
|
13
|
+
d="m4.09 4.22.06-.07a.5.5 0 0 1 .63-.06l.07.06L10 9.29l5.15-5.14a.5.5 0 0 1 .63-.06l.07.06c.18.17.2.44.06.63l-.06.07L10.71 10l5.14 5.15c.18.17.2.44.06.63l-.06.07a.5.5 0 0 1-.63.06l-.07-.06L10 10.71l-5.15 5.14a.5.5 0 0 1-.63.06l-.07-.06a.5.5 0 0 1-.06-.63l.06-.07L9.29 10 4.15 4.85a.5.5 0 0 1-.06-.63l.06-.07-.06.07Z"
|
|
14
|
+
fill="currentColor"
|
|
15
|
+
></path>
|
|
16
|
+
</svg>`);
|
|
17
|
+
/**
|
|
18
|
+
* Template for the Dialog component
|
|
19
|
+
* @public
|
|
20
|
+
*/
|
|
21
|
+
export const template = html `
|
|
22
|
+
<template ?open="${x => x.open}">
|
|
23
|
+
<dialog
|
|
24
|
+
role="${x => (x.modalType === DialogModalType.alert ? 'alertdialog' : 'dialog')}"
|
|
25
|
+
modal-type="${x => x.modalType}"
|
|
26
|
+
class="dialog"
|
|
27
|
+
part="dialog"
|
|
28
|
+
aria-modal="${x => x.modalType === DialogModalType.modal || x.modalType === DialogModalType.alert ? 'true' : void 0}"
|
|
29
|
+
aria-describedby="${x => x.ariaDescribedby}"
|
|
30
|
+
aria-labelledby="${x => x.ariaLabelledby}"
|
|
31
|
+
aria-label="${x => x.ariaLabel}"
|
|
32
|
+
@keydown="${(x, c) => x.handleKeydown(c.event)}"
|
|
33
|
+
@click="${(x, c) => x.handleClick(c.event)}"
|
|
34
|
+
${ref('dialog')}
|
|
35
|
+
>
|
|
36
|
+
<div class="root" part="root">
|
|
37
|
+
<div class="title" part="title">
|
|
38
|
+
<slot name="title"></slot>
|
|
39
|
+
<slot ${slotted({ property: 'titleAction', filter: elements() })} name="title-action"></slot>
|
|
40
|
+
${when(x => x.modalType === DialogModalType.nonModal && x.titleAction.length === 0 && !x.noTitleAction, html `<fluent-button
|
|
41
|
+
tabindex="0"
|
|
42
|
+
part="title-action"
|
|
43
|
+
class="title-action"
|
|
44
|
+
appearance="transparent"
|
|
45
|
+
icon-only
|
|
46
|
+
@click=${x => x.dismiss()}
|
|
47
|
+
${ref('defaultTitleAction')}
|
|
48
|
+
>${dismissed16Regular}</fluent-button
|
|
49
|
+
>`)}
|
|
50
|
+
</div>
|
|
51
|
+
<div class="content" part="content">
|
|
52
|
+
<slot></slot>
|
|
53
|
+
</div>
|
|
54
|
+
<div class="actions" part="actions">
|
|
55
|
+
<slot name="action"></slot>
|
|
56
|
+
</div>
|
|
57
|
+
</div>
|
|
58
|
+
</dialog>
|
|
59
|
+
</template>
|
|
60
|
+
`;
|
|
61
|
+
//# sourceMappingURL=dialog.template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog.template.js","sourceRoot":"","sources":["../../../src/dialog/dialog.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAuB,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAElG,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC;;;;;;;;;;;;;SAa/B,CAAC,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAgC,IAAI,CAAA;qBACpC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;;cAElB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACjE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;;;oBAGhB,CAAC,CAAC,EAAE,CAChB,CAAC,CAAC,SAAS,KAAK,eAAe,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,KAAK,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;0BAC9E,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe;yBACvB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;oBAC1B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;kBAClB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAsB,CAAC;gBACrD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAmB,CAAC;QACtD,GAAG,CAAC,QAAQ,CAAC;;;;;kBAKH,OAAO,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;YAC9D,IAAI,CACJ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,eAAe,CAAC,QAAQ,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,EAC/F,IAAI,CAAA;;;;;;uBAMO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE;gBACvB,GAAG,CAAC,oBAAoB,CAAC;iBACxB,kBAAkB;cACrB,CACH;;;;;;;;;;;CAWV,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { Dialog } from './dialog.js';
|
|
2
|
+
export { DialogModalType } from './dialog.options.js';
|
|
3
|
+
export { definition as DialogDefinition } from './dialog.definition.js';
|
|
4
|
+
export { template as DialogTemplate } from './dialog.template.js';
|
|
5
|
+
export { styles as DialogStyles } from './dialog.styles.js';
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dialog/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -1,19 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
import { attr } from '@microsoft/fast-element';
|
|
8
|
-
import { FASTDivider } from '@microsoft/fast-foundation/divider.js';
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { attr, FASTElement } from '@microsoft/fast-element';
|
|
3
|
+
import { DividerOrientation, DividerRole } from './divider.options.js';
|
|
9
4
|
/**
|
|
10
5
|
* @class Divider component
|
|
11
6
|
*
|
|
12
7
|
* @remarks
|
|
13
|
-
*
|
|
8
|
+
* A divider groups sections of content to create visual rhythm and hierarchy. Use dividers along with spacing and headers to organize content in your layout.
|
|
14
9
|
*/
|
|
15
|
-
export class Divider extends
|
|
10
|
+
export class Divider extends FASTElement {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
/**
|
|
14
|
+
* The role of the element.
|
|
15
|
+
*
|
|
16
|
+
* @public
|
|
17
|
+
* @remarks
|
|
18
|
+
* HTML Attribute: role
|
|
19
|
+
*/
|
|
20
|
+
this.role = DividerRole.separator;
|
|
21
|
+
/**
|
|
22
|
+
* The orientation of the divider.
|
|
23
|
+
*
|
|
24
|
+
* @public
|
|
25
|
+
* @remarks
|
|
26
|
+
* HTML Attribute: orientation
|
|
27
|
+
*/
|
|
28
|
+
this.orientation = DividerOrientation.horizontal;
|
|
29
|
+
}
|
|
16
30
|
}
|
|
31
|
+
__decorate([
|
|
32
|
+
attr
|
|
33
|
+
], Divider.prototype, "role", void 0);
|
|
34
|
+
__decorate([
|
|
35
|
+
attr
|
|
36
|
+
], Divider.prototype, "orientation", void 0);
|
|
17
37
|
__decorate([
|
|
18
38
|
attr({ attribute: 'align-content' })
|
|
19
39
|
], Divider.prototype, "alignContent", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"divider.js","sourceRoot":"","sources":["../../../src/divider/divider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"divider.js","sourceRoot":"","sources":["../../../src/divider/divider.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAA0C,kBAAkB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAE/G;;;;;GAKG;AACH,MAAM,OAAO,OAAQ,SAAQ,WAAW;IAAxC;;QACE;;;;;;WAMG;QAEI,SAAI,GAAgB,WAAW,CAAC,SAAS,CAAC;QAEjD;;;;;;WAMG;QAEI,gBAAW,GAAuB,kBAAkB,CAAC,UAAU,CAAC;IA4BzE,CAAC;CAAA;AAtCC;IADC,IAAI;qCAC4C;AAUjD;IADC,IAAI;4CACkE;AASvE;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;6CACK;AAS1C;IADC,IAAI;2CACiC;AAStC;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;sCACH"}
|
|
@@ -1,14 +1,23 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Orientation } from '@microsoft/fast-web-utilities';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Divider roles
|
|
4
4
|
* @public
|
|
5
5
|
*/
|
|
6
|
-
export
|
|
6
|
+
export const DividerRole = {
|
|
7
|
+
/**
|
|
8
|
+
* The divider semantically separates content
|
|
9
|
+
*/
|
|
10
|
+
separator: 'separator',
|
|
11
|
+
/**
|
|
12
|
+
* The divider has no semantic value and is for visual presentation only.
|
|
13
|
+
*/
|
|
14
|
+
presentation: 'presentation',
|
|
15
|
+
};
|
|
7
16
|
/**
|
|
8
|
-
*
|
|
17
|
+
* Divider orientation
|
|
9
18
|
* @public
|
|
10
19
|
*/
|
|
11
|
-
export
|
|
20
|
+
export const DividerOrientation = Orientation;
|
|
12
21
|
/**
|
|
13
22
|
* Align content within divider
|
|
14
23
|
* @public
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"divider.options.js","sourceRoot":"","sources":["../../../src/divider/divider.options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"divider.options.js","sourceRoot":"","sources":["../../../src/divider/divider.options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAG5D;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB;;OAEG;IACH,SAAS,EAAE,WAAW;IAEtB;;OAEG;IACH,YAAY,EAAE,cAAc;CACpB,CAAC;AAQX;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAAC;AAQ9C;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;CACF,CAAC;AAQX;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;CACV,CAAC"}
|