@fluentui/web-components 3.0.0-beta.99 → 3.0.0-rc.2
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 +335 -2
- package/custom-elements.json +1886 -609
- 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/{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.template.js +2 -2
- package/dist/esm/avatar/avatar.template.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}/dialog/dialog.d.ts +3 -0
- package/dist/esm/dialog/dialog.js +22 -1
- 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 +14 -0
- package/dist/esm/drawer/drawer.js +50 -0
- 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.d.ts +2 -2
- package/dist/esm/index.js +2 -2
- 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 +3 -7
- package/dist/esm/menu-list/menu-list.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 +4 -5
- package/dist/esm/progress-bar/progress-bar.base.js +26 -15
- package/dist/esm/progress-bar/progress-bar.base.js.map +1 -1
- package/dist/{dts → esm}/progress-bar/progress-bar.d.ts +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/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 +1 -0
- package/dist/esm/textarea/textarea.base.js +14 -6
- package/dist/esm/textarea/textarea.base.js.map +1 -1
- package/dist/esm/textarea/textarea.template.js +2 -14
- package/dist/esm/textarea/textarea.template.js.map +1 -1
- package/dist/{dts → esm}/tree/tree.base.d.ts +7 -1
- package/dist/esm/tree/tree.base.js +9 -0
- package/dist/esm/tree/tree.base.js.map +1 -1
- package/dist/{dts → esm}/tree/tree.d.ts +4 -4
- package/dist/esm/tree/tree.js +2 -2
- 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 +8 -1
- package/dist/esm/tree-item/tree-item.base.js +18 -0
- 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 +197 -105
- package/dist/web-components.js +802 -535
- package/dist/web-components.min.js +230 -219
- 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 → 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.options.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.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}/index-rollup.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.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.options.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/badge.partials.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 → 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 → esm}/tab-panel/define.d.ts +0 -0
- /package/dist/{dts → esm}/tab-panel/index.d.ts +0 -0
- /package/dist/{dts → esm}/tab-panel/tab-panel.bench.d.ts +0 -0
- /package/dist/{dts → esm}/tab-panel/tab-panel.d.ts +0 -0
- /package/dist/{dts → esm}/tab-panel/tab-panel.definition.d.ts +0 -0
- /package/dist/{dts → esm}/tab-panel/tab-panel.styles.d.ts +0 -0
- /package/dist/{dts → esm}/tab-panel/tab-panel.template.d.ts +0 -0
- /package/dist/{dts → 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 → esm}/tabs/define.d.ts +0 -0
- /package/dist/{dts → esm}/tabs/index.d.ts +0 -0
- /package/dist/{dts → esm}/tabs/tabs.base.d.ts +0 -0
- /package/dist/{dts → esm}/tabs/tabs.bench.d.ts +0 -0
- /package/dist/{dts → esm}/tabs/tabs.d.ts +0 -0
- /package/dist/{dts → esm}/tabs/tabs.definition.d.ts +0 -0
- /package/dist/{dts → esm}/tabs/tabs.options.d.ts +0 -0
- /package/dist/{dts → esm}/tabs/tabs.styles.d.ts +0 -0
- /package/dist/{dts → esm}/tabs/tabs.template.d.ts +0 -0
- /package/dist/{dts → 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 → 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 → 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/design-tokens.d.ts +0 -0
- /package/dist/{dts → esm}/theme/index.d.ts +0 -0
- /package/dist/{dts → esm}/theme/set-theme.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 → 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 → 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 → 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 → 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
package/dist/web-components.js
CHANGED
|
@@ -2438,7 +2438,7 @@ function compileNode(context, parentId, node, nodeIndex) {
|
|
|
2438
2438
|
// comment
|
|
2439
2439
|
const parts = Parser.parse(node.data, context.directives);
|
|
2440
2440
|
if (parts !== null) {
|
|
2441
|
-
context.addFactory(
|
|
2441
|
+
context.addFactory(/* eslint-disable-next-line @typescript-eslint/no-use-before-define */
|
|
2442
2442
|
Compiler.aggregate(parts), parentId, nodeId, nodeIndex, null);
|
|
2443
2443
|
}
|
|
2444
2444
|
break;
|
|
@@ -2872,74 +2872,6 @@ function slotted(propertyOrOptions) {
|
|
|
2872
2872
|
return new SlottedDirective(propertyOrOptions);
|
|
2873
2873
|
}
|
|
2874
2874
|
|
|
2875
|
-
/**
|
|
2876
|
-
* The runtime behavior for child node observation.
|
|
2877
|
-
* @public
|
|
2878
|
-
*/
|
|
2879
|
-
class ChildrenDirective extends NodeObservationDirective {
|
|
2880
|
-
/**
|
|
2881
|
-
* Creates an instance of ChildrenDirective.
|
|
2882
|
-
* @param options - The options to use in configuring the child observation behavior.
|
|
2883
|
-
*/
|
|
2884
|
-
constructor(options) {
|
|
2885
|
-
super(options);
|
|
2886
|
-
this.observerProperty = Symbol();
|
|
2887
|
-
this.handleEvent = (mutations, observer) => {
|
|
2888
|
-
const target = observer.target;
|
|
2889
|
-
this.updateTarget(this.getSource(target), this.computeNodes(target));
|
|
2890
|
-
};
|
|
2891
|
-
options.childList = true;
|
|
2892
|
-
}
|
|
2893
|
-
/**
|
|
2894
|
-
* Begins observation of the nodes.
|
|
2895
|
-
* @param target - The target to observe.
|
|
2896
|
-
*/
|
|
2897
|
-
observe(target) {
|
|
2898
|
-
let observer = target[this.observerProperty];
|
|
2899
|
-
if (!observer) {
|
|
2900
|
-
observer = new MutationObserver(this.handleEvent);
|
|
2901
|
-
observer.toJSON = noop;
|
|
2902
|
-
target[this.observerProperty] = observer;
|
|
2903
|
-
}
|
|
2904
|
-
observer.target = target;
|
|
2905
|
-
observer.observe(target, this.options);
|
|
2906
|
-
}
|
|
2907
|
-
/**
|
|
2908
|
-
* Disconnects observation of the nodes.
|
|
2909
|
-
* @param target - The target to unobserve.
|
|
2910
|
-
*/
|
|
2911
|
-
disconnect(target) {
|
|
2912
|
-
const observer = target[this.observerProperty];
|
|
2913
|
-
observer.target = null;
|
|
2914
|
-
observer.disconnect();
|
|
2915
|
-
}
|
|
2916
|
-
/**
|
|
2917
|
-
* Retrieves the raw nodes that should be assigned to the source property.
|
|
2918
|
-
* @param target - The target to get the node to.
|
|
2919
|
-
*/
|
|
2920
|
-
getNodes(target) {
|
|
2921
|
-
if ("selector" in this.options) {
|
|
2922
|
-
return Array.from(target.querySelectorAll(this.options.selector));
|
|
2923
|
-
}
|
|
2924
|
-
return Array.from(target.childNodes);
|
|
2925
|
-
}
|
|
2926
|
-
}
|
|
2927
|
-
HTMLDirective.define(ChildrenDirective);
|
|
2928
|
-
/**
|
|
2929
|
-
* A directive that observes the `childNodes` of an element and updates a property
|
|
2930
|
-
* whenever they change.
|
|
2931
|
-
* @param propertyOrOptions - The options used to configure child node observation.
|
|
2932
|
-
* @public
|
|
2933
|
-
*/
|
|
2934
|
-
function children(propertyOrOptions) {
|
|
2935
|
-
if (isString(propertyOrOptions)) {
|
|
2936
|
-
propertyOrOptions = {
|
|
2937
|
-
property: propertyOrOptions
|
|
2938
|
-
};
|
|
2939
|
-
}
|
|
2940
|
-
return new ChildrenDirective(propertyOrOptions);
|
|
2941
|
-
}
|
|
2942
|
-
|
|
2943
2875
|
const booleanMode = "boolean";
|
|
2944
2876
|
const reflectMode = "reflect";
|
|
2945
2877
|
/**
|
|
@@ -4011,70 +3943,70 @@ const FASTElement = Object.assign(createFASTElement(HTMLElement), {
|
|
|
4011
3943
|
compose
|
|
4012
3944
|
});
|
|
4013
3945
|
|
|
4014
|
-
var __defProp$
|
|
4015
|
-
var __getOwnPropDesc$
|
|
4016
|
-
var __decorateClass$
|
|
4017
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
3946
|
+
var __defProp$R = Object.defineProperty;
|
|
3947
|
+
var __getOwnPropDesc$R = Object.getOwnPropertyDescriptor;
|
|
3948
|
+
var __decorateClass$R = (decorators, target, key, kind) => {
|
|
3949
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$R(target, key) : target;
|
|
4018
3950
|
for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
4019
|
-
if (kind && result) __defProp$
|
|
3951
|
+
if (kind && result) __defProp$R(target, key, result);
|
|
4020
3952
|
return result;
|
|
4021
3953
|
};
|
|
4022
3954
|
class ARIAGlobalStatesAndProperties {}
|
|
4023
|
-
__decorateClass$
|
|
3955
|
+
__decorateClass$R([attr({
|
|
4024
3956
|
attribute: "aria-atomic"
|
|
4025
3957
|
})], ARIAGlobalStatesAndProperties.prototype, "ariaAtomic", 2);
|
|
4026
|
-
__decorateClass$
|
|
3958
|
+
__decorateClass$R([attr({
|
|
4027
3959
|
attribute: "aria-busy"
|
|
4028
3960
|
})], ARIAGlobalStatesAndProperties.prototype, "ariaBusy", 2);
|
|
4029
|
-
__decorateClass$
|
|
3961
|
+
__decorateClass$R([attr({
|
|
4030
3962
|
attribute: "aria-controls"
|
|
4031
3963
|
})], ARIAGlobalStatesAndProperties.prototype, "ariaControls", 2);
|
|
4032
|
-
__decorateClass$
|
|
3964
|
+
__decorateClass$R([attr({
|
|
4033
3965
|
attribute: "aria-current"
|
|
4034
3966
|
})], ARIAGlobalStatesAndProperties.prototype, "ariaCurrent", 2);
|
|
4035
|
-
__decorateClass$
|
|
3967
|
+
__decorateClass$R([attr({
|
|
4036
3968
|
attribute: "aria-describedby"
|
|
4037
3969
|
})], ARIAGlobalStatesAndProperties.prototype, "ariaDescribedby", 2);
|
|
4038
|
-
__decorateClass$
|
|
3970
|
+
__decorateClass$R([attr({
|
|
4039
3971
|
attribute: "aria-details"
|
|
4040
3972
|
})], ARIAGlobalStatesAndProperties.prototype, "ariaDetails", 2);
|
|
4041
|
-
__decorateClass$
|
|
3973
|
+
__decorateClass$R([attr({
|
|
4042
3974
|
attribute: "aria-disabled"
|
|
4043
3975
|
})], ARIAGlobalStatesAndProperties.prototype, "ariaDisabled", 2);
|
|
4044
|
-
__decorateClass$
|
|
3976
|
+
__decorateClass$R([attr({
|
|
4045
3977
|
attribute: "aria-errormessage"
|
|
4046
3978
|
})], ARIAGlobalStatesAndProperties.prototype, "ariaErrormessage", 2);
|
|
4047
|
-
__decorateClass$
|
|
3979
|
+
__decorateClass$R([attr({
|
|
4048
3980
|
attribute: "aria-flowto"
|
|
4049
3981
|
})], ARIAGlobalStatesAndProperties.prototype, "ariaFlowto", 2);
|
|
4050
|
-
__decorateClass$
|
|
3982
|
+
__decorateClass$R([attr({
|
|
4051
3983
|
attribute: "aria-haspopup"
|
|
4052
3984
|
})], ARIAGlobalStatesAndProperties.prototype, "ariaHaspopup", 2);
|
|
4053
|
-
__decorateClass$
|
|
3985
|
+
__decorateClass$R([attr({
|
|
4054
3986
|
attribute: "aria-hidden"
|
|
4055
3987
|
})], ARIAGlobalStatesAndProperties.prototype, "ariaHidden", 2);
|
|
4056
|
-
__decorateClass$
|
|
3988
|
+
__decorateClass$R([attr({
|
|
4057
3989
|
attribute: "aria-invalid"
|
|
4058
3990
|
})], ARIAGlobalStatesAndProperties.prototype, "ariaInvalid", 2);
|
|
4059
|
-
__decorateClass$
|
|
3991
|
+
__decorateClass$R([attr({
|
|
4060
3992
|
attribute: "aria-keyshortcuts"
|
|
4061
3993
|
})], ARIAGlobalStatesAndProperties.prototype, "ariaKeyshortcuts", 2);
|
|
4062
|
-
__decorateClass$
|
|
3994
|
+
__decorateClass$R([attr({
|
|
4063
3995
|
attribute: "aria-label"
|
|
4064
3996
|
})], ARIAGlobalStatesAndProperties.prototype, "ariaLabel", 2);
|
|
4065
|
-
__decorateClass$
|
|
3997
|
+
__decorateClass$R([attr({
|
|
4066
3998
|
attribute: "aria-labelledby"
|
|
4067
3999
|
})], ARIAGlobalStatesAndProperties.prototype, "ariaLabelledby", 2);
|
|
4068
|
-
__decorateClass$
|
|
4000
|
+
__decorateClass$R([attr({
|
|
4069
4001
|
attribute: "aria-live"
|
|
4070
4002
|
})], ARIAGlobalStatesAndProperties.prototype, "ariaLive", 2);
|
|
4071
|
-
__decorateClass$
|
|
4003
|
+
__decorateClass$R([attr({
|
|
4072
4004
|
attribute: "aria-owns"
|
|
4073
4005
|
})], ARIAGlobalStatesAndProperties.prototype, "ariaOwns", 2);
|
|
4074
|
-
__decorateClass$
|
|
4006
|
+
__decorateClass$R([attr({
|
|
4075
4007
|
attribute: "aria-relevant"
|
|
4076
4008
|
})], ARIAGlobalStatesAndProperties.prototype, "ariaRelevant", 2);
|
|
4077
|
-
__decorateClass$
|
|
4009
|
+
__decorateClass$R([attr({
|
|
4078
4010
|
attribute: "aria-roledescription"
|
|
4079
4011
|
})], ARIAGlobalStatesAndProperties.prototype, "ariaRoledescription", 2);
|
|
4080
4012
|
|
|
@@ -4341,12 +4273,12 @@ function applyMixins(derivedCtor, ...baseCtors) {
|
|
|
4341
4273
|
});
|
|
4342
4274
|
}
|
|
4343
4275
|
|
|
4344
|
-
var __defProp$
|
|
4345
|
-
var __getOwnPropDesc$
|
|
4346
|
-
var __decorateClass$
|
|
4347
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
4276
|
+
var __defProp$Q = Object.defineProperty;
|
|
4277
|
+
var __getOwnPropDesc$Q = Object.getOwnPropertyDescriptor;
|
|
4278
|
+
var __decorateClass$Q = (decorators, target, key, kind) => {
|
|
4279
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$Q(target, key) : target;
|
|
4348
4280
|
for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
4349
|
-
if (kind && result) __defProp$
|
|
4281
|
+
if (kind && result) __defProp$Q(target, key, result);
|
|
4350
4282
|
return result;
|
|
4351
4283
|
};
|
|
4352
4284
|
class BaseAccordionItem extends FASTElement {
|
|
@@ -4364,25 +4296,25 @@ class BaseAccordionItem extends FASTElement {
|
|
|
4364
4296
|
this.id = uniqueId$1("accordion-");
|
|
4365
4297
|
}
|
|
4366
4298
|
}
|
|
4367
|
-
__decorateClass$
|
|
4299
|
+
__decorateClass$Q([attr({
|
|
4368
4300
|
attribute: "heading-level",
|
|
4369
4301
|
mode: "fromView",
|
|
4370
4302
|
converter: nullableNumberConverter
|
|
4371
4303
|
})], BaseAccordionItem.prototype, "headinglevel", 2);
|
|
4372
|
-
__decorateClass$
|
|
4304
|
+
__decorateClass$Q([attr({
|
|
4373
4305
|
mode: "boolean"
|
|
4374
4306
|
})], BaseAccordionItem.prototype, "expanded", 2);
|
|
4375
|
-
__decorateClass$
|
|
4307
|
+
__decorateClass$Q([attr({
|
|
4376
4308
|
mode: "boolean"
|
|
4377
4309
|
})], BaseAccordionItem.prototype, "disabled", 2);
|
|
4378
|
-
__decorateClass$
|
|
4310
|
+
__decorateClass$Q([attr], BaseAccordionItem.prototype, "id", 2);
|
|
4379
4311
|
|
|
4380
|
-
var __defProp$
|
|
4381
|
-
var __getOwnPropDesc$
|
|
4382
|
-
var __decorateClass$
|
|
4383
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
4312
|
+
var __defProp$P = Object.defineProperty;
|
|
4313
|
+
var __getOwnPropDesc$P = Object.getOwnPropertyDescriptor;
|
|
4314
|
+
var __decorateClass$P = (decorators, target, key, kind) => {
|
|
4315
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$P(target, key) : target;
|
|
4384
4316
|
for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
4385
|
-
if (kind && result) __defProp$
|
|
4317
|
+
if (kind && result) __defProp$P(target, key, result);
|
|
4386
4318
|
return result;
|
|
4387
4319
|
};
|
|
4388
4320
|
class AccordionItem extends BaseAccordionItem {
|
|
@@ -4391,11 +4323,11 @@ class AccordionItem extends BaseAccordionItem {
|
|
|
4391
4323
|
this.block = false;
|
|
4392
4324
|
}
|
|
4393
4325
|
}
|
|
4394
|
-
__decorateClass$
|
|
4395
|
-
__decorateClass$
|
|
4326
|
+
__decorateClass$P([attr], AccordionItem.prototype, "size", 2);
|
|
4327
|
+
__decorateClass$P([attr({
|
|
4396
4328
|
attribute: "marker-position"
|
|
4397
4329
|
})], AccordionItem.prototype, "markerPosition", 2);
|
|
4398
|
-
__decorateClass$
|
|
4330
|
+
__decorateClass$P([attr({
|
|
4399
4331
|
mode: "boolean"
|
|
4400
4332
|
})], AccordionItem.prototype, "block", 2);
|
|
4401
4333
|
applyMixins(AccordionItem, StartEnd);
|
|
@@ -4509,7 +4441,7 @@ const colorPaletteYellowBackground3 = "var(--colorPaletteYellowBackground3)";
|
|
|
4509
4441
|
const colorPaletteYellowBorder1 = "var(--colorPaletteYellowBorder1)";
|
|
4510
4442
|
const colorPaletteYellowForeground2 = "var(--colorPaletteYellowForeground2)";
|
|
4511
4443
|
const colorPaletteMarigoldBackground2 = "var(--colorPaletteMarigoldBackground2)";
|
|
4512
|
-
const
|
|
4444
|
+
const colorPaletteMarigoldBorderActive = "var(--colorPaletteMarigoldBorderActive)";
|
|
4513
4445
|
const colorPaletteMarigoldForeground2 = "var(--colorPaletteMarigoldForeground2)";
|
|
4514
4446
|
const colorPaletteAnchorBackground2 = "var(--colorPaletteAnchorBackground2)";
|
|
4515
4447
|
const colorPaletteAnchorForeground2 = "var(--colorPaletteAnchorForeground2)";
|
|
@@ -4700,12 +4632,12 @@ const AccordionExpandMode = {
|
|
|
4700
4632
|
multi: "multi"
|
|
4701
4633
|
};
|
|
4702
4634
|
|
|
4703
|
-
var __defProp$
|
|
4704
|
-
var __getOwnPropDesc$
|
|
4705
|
-
var __decorateClass$
|
|
4706
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
4635
|
+
var __defProp$O = Object.defineProperty;
|
|
4636
|
+
var __getOwnPropDesc$O = Object.getOwnPropertyDescriptor;
|
|
4637
|
+
var __decorateClass$O = (decorators, target, key, kind) => {
|
|
4638
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$O(target, key) : target;
|
|
4707
4639
|
for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
4708
|
-
if (kind && result) __defProp$
|
|
4640
|
+
if (kind && result) __defProp$O(target, key, result);
|
|
4709
4641
|
return result;
|
|
4710
4642
|
};
|
|
4711
4643
|
class Accordion extends FASTElement {
|
|
@@ -4727,10 +4659,8 @@ class Accordion extends FASTElement {
|
|
|
4727
4659
|
children.forEach(child => Observable.getNotifier(child).subscribe(this, "disabled"));
|
|
4728
4660
|
this.accordionItems = children.filter(child => !child.hasAttribute("disabled"));
|
|
4729
4661
|
this.accordionItems.forEach((item, index) => {
|
|
4730
|
-
|
|
4731
|
-
|
|
4732
|
-
Observable.getNotifier(item).subscribe(this, "expanded");
|
|
4733
|
-
}
|
|
4662
|
+
item.addEventListener("click", this.expandedChangedHandler);
|
|
4663
|
+
Observable.getNotifier(item).subscribe(this, "expanded");
|
|
4734
4664
|
});
|
|
4735
4665
|
if (this.isSingleExpandMode()) {
|
|
4736
4666
|
const expandedItem = this.findExpandedItem();
|
|
@@ -4844,10 +4774,10 @@ class Accordion extends FASTElement {
|
|
|
4844
4774
|
});
|
|
4845
4775
|
}
|
|
4846
4776
|
}
|
|
4847
|
-
__decorateClass$
|
|
4777
|
+
__decorateClass$O([attr({
|
|
4848
4778
|
attribute: "expand-mode"
|
|
4849
4779
|
})], Accordion.prototype, "expandmode", 2);
|
|
4850
|
-
__decorateClass$
|
|
4780
|
+
__decorateClass$O([observable], Accordion.prototype, "slottedAccordionItems", 2);
|
|
4851
4781
|
|
|
4852
4782
|
const styles$F = css`
|
|
4853
4783
|
${display("flex")}
|
|
@@ -4943,12 +4873,12 @@ const AnchorAttributes = {
|
|
|
4943
4873
|
type: "type"
|
|
4944
4874
|
};
|
|
4945
4875
|
|
|
4946
|
-
var __defProp$
|
|
4947
|
-
var __getOwnPropDesc$
|
|
4948
|
-
var __decorateClass$
|
|
4949
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
4876
|
+
var __defProp$N = Object.defineProperty;
|
|
4877
|
+
var __getOwnPropDesc$N = Object.getOwnPropertyDescriptor;
|
|
4878
|
+
var __decorateClass$N = (decorators, target, key, kind) => {
|
|
4879
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$N(target, key) : target;
|
|
4950
4880
|
for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
4951
|
-
if (kind && result) __defProp$
|
|
4881
|
+
if (kind && result) __defProp$N(target, key, result);
|
|
4952
4882
|
return result;
|
|
4953
4883
|
};
|
|
4954
4884
|
class BaseAnchor extends FASTElement {
|
|
@@ -5056,21 +4986,21 @@ class BaseAnchor extends FASTElement {
|
|
|
5056
4986
|
return proxy;
|
|
5057
4987
|
}
|
|
5058
4988
|
}
|
|
5059
|
-
__decorateClass$
|
|
5060
|
-
__decorateClass$
|
|
5061
|
-
__decorateClass$
|
|
5062
|
-
__decorateClass$
|
|
5063
|
-
__decorateClass$
|
|
5064
|
-
__decorateClass$
|
|
5065
|
-
__decorateClass$
|
|
5066
|
-
__decorateClass$
|
|
4989
|
+
__decorateClass$N([attr], BaseAnchor.prototype, "download", 2);
|
|
4990
|
+
__decorateClass$N([attr], BaseAnchor.prototype, "href", 2);
|
|
4991
|
+
__decorateClass$N([attr], BaseAnchor.prototype, "hreflang", 2);
|
|
4992
|
+
__decorateClass$N([attr], BaseAnchor.prototype, "ping", 2);
|
|
4993
|
+
__decorateClass$N([attr], BaseAnchor.prototype, "referrerpolicy", 2);
|
|
4994
|
+
__decorateClass$N([attr], BaseAnchor.prototype, "rel", 2);
|
|
4995
|
+
__decorateClass$N([attr], BaseAnchor.prototype, "target", 2);
|
|
4996
|
+
__decorateClass$N([attr], BaseAnchor.prototype, "type", 2);
|
|
5067
4997
|
|
|
5068
|
-
var __defProp$
|
|
5069
|
-
var __getOwnPropDesc$
|
|
5070
|
-
var __decorateClass$
|
|
5071
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
4998
|
+
var __defProp$M = Object.defineProperty;
|
|
4999
|
+
var __getOwnPropDesc$M = Object.getOwnPropertyDescriptor;
|
|
5000
|
+
var __decorateClass$M = (decorators, target, key, kind) => {
|
|
5001
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$M(target, key) : target;
|
|
5072
5002
|
for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
5073
|
-
if (kind && result) __defProp$
|
|
5003
|
+
if (kind && result) __defProp$M(target, key, result);
|
|
5074
5004
|
return result;
|
|
5075
5005
|
};
|
|
5076
5006
|
class AnchorButton extends BaseAnchor {
|
|
@@ -5111,10 +5041,10 @@ class AnchorButton extends BaseAnchor {
|
|
|
5111
5041
|
toggleState(this.elementInternals, "icon", !!next);
|
|
5112
5042
|
}
|
|
5113
5043
|
}
|
|
5114
|
-
__decorateClass$
|
|
5115
|
-
__decorateClass$
|
|
5116
|
-
__decorateClass$
|
|
5117
|
-
__decorateClass$
|
|
5044
|
+
__decorateClass$M([attr], AnchorButton.prototype, "appearance", 2);
|
|
5045
|
+
__decorateClass$M([attr], AnchorButton.prototype, "shape", 2);
|
|
5046
|
+
__decorateClass$M([attr], AnchorButton.prototype, "size", 2);
|
|
5047
|
+
__decorateClass$M([attr({
|
|
5118
5048
|
attribute: "icon-only",
|
|
5119
5049
|
mode: "boolean"
|
|
5120
5050
|
})], AnchorButton.prototype, "iconOnly", 2);
|
|
@@ -5190,12 +5120,12 @@ function getInitials(displayName, isRtl, options) {
|
|
|
5190
5120
|
return getInitialsLatin(displayName, isRtl, options?.firstInitialOnly);
|
|
5191
5121
|
}
|
|
5192
5122
|
|
|
5193
|
-
var __defProp$
|
|
5194
|
-
var __getOwnPropDesc$
|
|
5195
|
-
var __decorateClass$
|
|
5196
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
5123
|
+
var __defProp$L = Object.defineProperty;
|
|
5124
|
+
var __getOwnPropDesc$L = Object.getOwnPropertyDescriptor;
|
|
5125
|
+
var __decorateClass$L = (decorators, target, key, kind) => {
|
|
5126
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$L(target, key) : target;
|
|
5197
5127
|
for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
5198
|
-
if (kind && result) __defProp$
|
|
5128
|
+
if (kind && result) __defProp$L(target, key, result);
|
|
5199
5129
|
return result;
|
|
5200
5130
|
};
|
|
5201
5131
|
class BaseAvatar extends FASTElement {
|
|
@@ -5209,9 +5139,43 @@ class BaseAvatar extends FASTElement {
|
|
|
5209
5139
|
this.elementInternals = this.attachInternals();
|
|
5210
5140
|
this.elementInternals.role = "img";
|
|
5211
5141
|
}
|
|
5142
|
+
connectedCallback() {
|
|
5143
|
+
super.connectedCallback();
|
|
5144
|
+
this.slotchangeHandler();
|
|
5145
|
+
}
|
|
5146
|
+
disconnectedCallback() {
|
|
5147
|
+
this.abortSignal?.abort();
|
|
5148
|
+
this.abortSignal = void 0;
|
|
5149
|
+
super.disconnectedCallback();
|
|
5150
|
+
}
|
|
5151
|
+
/**
|
|
5152
|
+
* Removes any empty text nodes from the default slot when the slotted content changes.
|
|
5153
|
+
*
|
|
5154
|
+
* @param e - The event object
|
|
5155
|
+
* @internal
|
|
5156
|
+
*/
|
|
5157
|
+
slotchangeHandler() {
|
|
5158
|
+
this.normalize();
|
|
5159
|
+
const elements = this.defaultSlot.assignedElements();
|
|
5160
|
+
if (!elements.length && !this.innerText.trim()) {
|
|
5161
|
+
const nodes = this.defaultSlot.assignedNodes();
|
|
5162
|
+
nodes.filter(node => node.nodeType === Node.TEXT_NODE).forEach(node => {
|
|
5163
|
+
this.removeChild(node);
|
|
5164
|
+
});
|
|
5165
|
+
}
|
|
5166
|
+
Updates.enqueue(() => {
|
|
5167
|
+
if (!this.abortSignal || this.abortSignal.signal.aborted) {
|
|
5168
|
+
this.abortSignal = new AbortController();
|
|
5169
|
+
}
|
|
5170
|
+
this.defaultSlot.addEventListener("slotchange", () => this.slotchangeHandler(), {
|
|
5171
|
+
once: true,
|
|
5172
|
+
signal: this.abortSignal.signal
|
|
5173
|
+
});
|
|
5174
|
+
});
|
|
5175
|
+
}
|
|
5212
5176
|
}
|
|
5213
|
-
__decorateClass$
|
|
5214
|
-
__decorateClass$
|
|
5177
|
+
__decorateClass$L([attr], BaseAvatar.prototype, "name", 2);
|
|
5178
|
+
__decorateClass$L([attr], BaseAvatar.prototype, "initials", 2);
|
|
5215
5179
|
|
|
5216
5180
|
const AvatarNamedColor = {
|
|
5217
5181
|
darkRed: "dark-red",
|
|
@@ -5252,12 +5216,12 @@ const AvatarColor = {
|
|
|
5252
5216
|
...AvatarNamedColor
|
|
5253
5217
|
};
|
|
5254
5218
|
|
|
5255
|
-
var __defProp$
|
|
5256
|
-
var __getOwnPropDesc$
|
|
5257
|
-
var __decorateClass$
|
|
5258
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
5219
|
+
var __defProp$K = Object.defineProperty;
|
|
5220
|
+
var __getOwnPropDesc$K = Object.getOwnPropertyDescriptor;
|
|
5221
|
+
var __decorateClass$K = (decorators, target, key, kind) => {
|
|
5222
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$K(target, key) : target;
|
|
5259
5223
|
for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
5260
|
-
if (kind && result) __defProp$
|
|
5224
|
+
if (kind && result) __defProp$K(target, key, result);
|
|
5261
5225
|
return result;
|
|
5262
5226
|
};
|
|
5263
5227
|
const _Avatar = class _Avatar extends BaseAvatar {
|
|
@@ -5284,7 +5248,7 @@ const _Avatar = class _Avatar extends BaseAvatar {
|
|
|
5284
5248
|
return;
|
|
5285
5249
|
}
|
|
5286
5250
|
const size = this.size ?? 32;
|
|
5287
|
-
return this.initials
|
|
5251
|
+
return this.initials || getInitials(this.name, window.getComputedStyle(this).direction === "rtl", {
|
|
5288
5252
|
firstInitialOnly: size <= 16
|
|
5289
5253
|
});
|
|
5290
5254
|
}
|
|
@@ -5312,14 +5276,14 @@ const _Avatar = class _Avatar extends BaseAvatar {
|
|
|
5312
5276
|
* An array of the available Avatar named colors
|
|
5313
5277
|
*/
|
|
5314
5278
|
_Avatar.colors = Object.values(AvatarNamedColor);
|
|
5315
|
-
__decorateClass$
|
|
5316
|
-
__decorateClass$
|
|
5317
|
-
__decorateClass$
|
|
5318
|
-
__decorateClass$
|
|
5279
|
+
__decorateClass$K([attr], _Avatar.prototype, "active", 2);
|
|
5280
|
+
__decorateClass$K([attr], _Avatar.prototype, "shape", 2);
|
|
5281
|
+
__decorateClass$K([attr], _Avatar.prototype, "appearance", 2);
|
|
5282
|
+
__decorateClass$K([attr({
|
|
5319
5283
|
converter: nullableNumberConverter
|
|
5320
5284
|
})], _Avatar.prototype, "size", 2);
|
|
5321
|
-
__decorateClass$
|
|
5322
|
-
__decorateClass$
|
|
5285
|
+
__decorateClass$K([attr], _Avatar.prototype, "color", 2);
|
|
5286
|
+
__decorateClass$K([attr({
|
|
5323
5287
|
attribute: "color-id"
|
|
5324
5288
|
})], _Avatar.prototype, "colorId", 2);
|
|
5325
5289
|
let Avatar = _Avatar;
|
|
@@ -5349,7 +5313,7 @@ const styles$C = css`
|
|
|
5349
5313
|
|
|
5350
5314
|
const defaultIconTemplate = html`<svg width="1em" height="1em" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" class="default-icon" fill="currentcolor" aria-hidden="true"><path d="M10 2a4 4 0 100 8 4 4 0 000-8zM7 6a3 3 0 116 0 3 3 0 01-6 0zm-2 5a2 2 0 00-2 2c0 1.7.83 2.97 2.13 3.8A9.14 9.14 0 0010 18c1.85 0 3.58-.39 4.87-1.2A4.35 4.35 0 0017 13a2 2 0 00-2-2H5zm-1 2a1 1 0 011-1h10a1 1 0 011 1c0 1.3-.62 2.28-1.67 2.95A8.16 8.16 0 0110 17a8.16 8.16 0 01-4.33-1.05A3.36 3.36 0 014 13z"></path></svg>`;
|
|
5351
5315
|
function avatarTemplate() {
|
|
5352
|
-
return html`<slot>${x => x.name || x.initials ? x.generateInitials() : defaultIconTemplate}</slot><slot name="badge"></slot>`;
|
|
5316
|
+
return html`<slot ${ref("defaultSlot")}>${x => x.name || x.initials ? x.generateInitials() : defaultIconTemplate}</slot><slot name="badge"></slot>`;
|
|
5353
5317
|
}
|
|
5354
5318
|
const template$E = avatarTemplate();
|
|
5355
5319
|
|
|
@@ -5378,12 +5342,12 @@ const BadgeColor = {
|
|
|
5378
5342
|
warning: "warning"
|
|
5379
5343
|
};
|
|
5380
5344
|
|
|
5381
|
-
var __defProp$
|
|
5382
|
-
var __getOwnPropDesc$
|
|
5383
|
-
var __decorateClass$
|
|
5384
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
5345
|
+
var __defProp$J = Object.defineProperty;
|
|
5346
|
+
var __getOwnPropDesc$J = Object.getOwnPropertyDescriptor;
|
|
5347
|
+
var __decorateClass$J = (decorators, target, key, kind) => {
|
|
5348
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$J(target, key) : target;
|
|
5385
5349
|
for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
5386
|
-
if (kind && result) __defProp$
|
|
5350
|
+
if (kind && result) __defProp$J(target, key, result);
|
|
5387
5351
|
return result;
|
|
5388
5352
|
};
|
|
5389
5353
|
class Badge extends FASTElement {
|
|
@@ -5393,10 +5357,10 @@ class Badge extends FASTElement {
|
|
|
5393
5357
|
this.color = BadgeColor.brand;
|
|
5394
5358
|
}
|
|
5395
5359
|
}
|
|
5396
|
-
__decorateClass$
|
|
5397
|
-
__decorateClass$
|
|
5398
|
-
__decorateClass$
|
|
5399
|
-
__decorateClass$
|
|
5360
|
+
__decorateClass$J([attr], Badge.prototype, "appearance", 2);
|
|
5361
|
+
__decorateClass$J([attr], Badge.prototype, "color", 2);
|
|
5362
|
+
__decorateClass$J([attr], Badge.prototype, "shape", 2);
|
|
5363
|
+
__decorateClass$J([attr], Badge.prototype, "size", 2);
|
|
5400
5364
|
applyMixins(Badge, StartEnd);
|
|
5401
5365
|
|
|
5402
5366
|
const badgeBaseStyles = css.partial`
|
|
@@ -5773,19 +5737,19 @@ const definition$D = Badge.compose({
|
|
|
5773
5737
|
|
|
5774
5738
|
definition$D.define(FluentDesignSystem.registry);
|
|
5775
5739
|
|
|
5776
|
-
var __defProp$
|
|
5777
|
-
var __getOwnPropDesc$
|
|
5778
|
-
var __decorateClass$
|
|
5779
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
5740
|
+
var __defProp$I = Object.defineProperty;
|
|
5741
|
+
var __getOwnPropDesc$I = Object.getOwnPropertyDescriptor;
|
|
5742
|
+
var __decorateClass$I = (decorators, target, key, kind) => {
|
|
5743
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$I(target, key) : target;
|
|
5780
5744
|
for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
5781
|
-
if (kind && result) __defProp$
|
|
5745
|
+
if (kind && result) __defProp$I(target, key, result);
|
|
5782
5746
|
return result;
|
|
5783
5747
|
};
|
|
5784
5748
|
class BaseButton extends FASTElement {
|
|
5785
5749
|
constructor() {
|
|
5786
5750
|
super();
|
|
5751
|
+
this.disabled = false;
|
|
5787
5752
|
this.disabledFocusable = false;
|
|
5788
|
-
this.tabIndex = 0;
|
|
5789
5753
|
/**
|
|
5790
5754
|
* The internal {@link https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.
|
|
5791
5755
|
*
|
|
@@ -5794,6 +5758,16 @@ class BaseButton extends FASTElement {
|
|
|
5794
5758
|
this.elementInternals = this.attachInternals();
|
|
5795
5759
|
this.elementInternals.role = "button";
|
|
5796
5760
|
}
|
|
5761
|
+
disabledChanged() {
|
|
5762
|
+
if (!this.$fastController.isConnected) {
|
|
5763
|
+
return;
|
|
5764
|
+
}
|
|
5765
|
+
if (this.disabled) {
|
|
5766
|
+
this.removeAttribute("tabindex");
|
|
5767
|
+
} else {
|
|
5768
|
+
this.tabIndex = Number(this.getAttribute("tabindex") ?? 0) < 0 ? -1 : 0;
|
|
5769
|
+
}
|
|
5770
|
+
}
|
|
5797
5771
|
/**
|
|
5798
5772
|
* Sets the element's internal disabled state when the element is focusable while disabled.
|
|
5799
5773
|
*
|
|
@@ -5852,6 +5826,7 @@ class BaseButton extends FASTElement {
|
|
|
5852
5826
|
connectedCallback() {
|
|
5853
5827
|
super.connectedCallback();
|
|
5854
5828
|
this.elementInternals.ariaDisabled = `${!!this.disabledFocusable}`;
|
|
5829
|
+
this.disabledChanged();
|
|
5855
5830
|
}
|
|
5856
5831
|
/**
|
|
5857
5832
|
* This fallback creates a new slot, then creates a submit button to mirror the custom element's
|
|
@@ -5961,7 +5936,7 @@ class BaseButton extends FASTElement {
|
|
|
5961
5936
|
if (!this.elementInternals.form || this.disabled || this.type !== ButtonType.submit) {
|
|
5962
5937
|
return;
|
|
5963
5938
|
}
|
|
5964
|
-
if (!this.name && !this.formAction && !this.formEnctype && !this.
|
|
5939
|
+
if (!this.name && !this.formAction && !this.formEnctype && !this.formAttribute && !this.formMethod && !this.formNoValidate && !this.formTarget) {
|
|
5965
5940
|
this.elementInternals.form.requestSubmit();
|
|
5966
5941
|
return;
|
|
5967
5942
|
}
|
|
@@ -5982,51 +5957,46 @@ class BaseButton extends FASTElement {
|
|
|
5982
5957
|
* @public
|
|
5983
5958
|
*/
|
|
5984
5959
|
BaseButton.formAssociated = true;
|
|
5985
|
-
__decorateClass$
|
|
5960
|
+
__decorateClass$I([attr({
|
|
5986
5961
|
mode: "boolean"
|
|
5987
5962
|
})], BaseButton.prototype, "autofocus", 2);
|
|
5988
|
-
__decorateClass$
|
|
5989
|
-
__decorateClass$
|
|
5963
|
+
__decorateClass$I([observable], BaseButton.prototype, "defaultSlottedContent", 2);
|
|
5964
|
+
__decorateClass$I([attr({
|
|
5990
5965
|
mode: "boolean"
|
|
5991
5966
|
})], BaseButton.prototype, "disabled", 2);
|
|
5992
|
-
__decorateClass$
|
|
5967
|
+
__decorateClass$I([attr({
|
|
5993
5968
|
attribute: "disabled-focusable",
|
|
5994
5969
|
mode: "boolean"
|
|
5995
5970
|
})], BaseButton.prototype, "disabledFocusable", 2);
|
|
5996
|
-
__decorateClass$
|
|
5997
|
-
attribute: "tabindex",
|
|
5998
|
-
mode: "fromView",
|
|
5999
|
-
converter: nullableNumberConverter
|
|
6000
|
-
})], BaseButton.prototype, "tabIndex", 2);
|
|
6001
|
-
__decorateClass$J([attr({
|
|
5971
|
+
__decorateClass$I([attr({
|
|
6002
5972
|
attribute: "formaction"
|
|
6003
5973
|
})], BaseButton.prototype, "formAction", 2);
|
|
6004
|
-
__decorateClass$
|
|
5974
|
+
__decorateClass$I([attr({
|
|
6005
5975
|
attribute: "form"
|
|
6006
5976
|
})], BaseButton.prototype, "formAttribute", 2);
|
|
6007
|
-
__decorateClass$
|
|
5977
|
+
__decorateClass$I([attr({
|
|
6008
5978
|
attribute: "formenctype"
|
|
6009
5979
|
})], BaseButton.prototype, "formEnctype", 2);
|
|
6010
|
-
__decorateClass$
|
|
5980
|
+
__decorateClass$I([attr({
|
|
6011
5981
|
attribute: "formmethod"
|
|
6012
5982
|
})], BaseButton.prototype, "formMethod", 2);
|
|
6013
|
-
__decorateClass$
|
|
5983
|
+
__decorateClass$I([attr({
|
|
6014
5984
|
attribute: "formnovalidate",
|
|
6015
5985
|
mode: "boolean"
|
|
6016
5986
|
})], BaseButton.prototype, "formNoValidate", 2);
|
|
6017
|
-
__decorateClass$
|
|
5987
|
+
__decorateClass$I([attr({
|
|
6018
5988
|
attribute: "formtarget"
|
|
6019
5989
|
})], BaseButton.prototype, "formTarget", 2);
|
|
6020
|
-
__decorateClass$
|
|
6021
|
-
__decorateClass$
|
|
6022
|
-
__decorateClass$
|
|
5990
|
+
__decorateClass$I([attr], BaseButton.prototype, "name", 2);
|
|
5991
|
+
__decorateClass$I([attr], BaseButton.prototype, "type", 2);
|
|
5992
|
+
__decorateClass$I([attr], BaseButton.prototype, "value", 2);
|
|
6023
5993
|
|
|
6024
|
-
var __defProp$
|
|
6025
|
-
var __getOwnPropDesc$
|
|
6026
|
-
var __decorateClass$
|
|
6027
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
5994
|
+
var __defProp$H = Object.defineProperty;
|
|
5995
|
+
var __getOwnPropDesc$H = Object.getOwnPropertyDescriptor;
|
|
5996
|
+
var __decorateClass$H = (decorators, target, key, kind) => {
|
|
5997
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$H(target, key) : target;
|
|
6028
5998
|
for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
6029
|
-
if (kind && result) __defProp$
|
|
5999
|
+
if (kind && result) __defProp$H(target, key, result);
|
|
6030
6000
|
return result;
|
|
6031
6001
|
};
|
|
6032
6002
|
class Button extends BaseButton {
|
|
@@ -6035,17 +6005,17 @@ class Button extends BaseButton {
|
|
|
6035
6005
|
this.iconOnly = false;
|
|
6036
6006
|
}
|
|
6037
6007
|
}
|
|
6038
|
-
__decorateClass$
|
|
6039
|
-
__decorateClass$
|
|
6040
|
-
__decorateClass$
|
|
6041
|
-
__decorateClass$
|
|
6008
|
+
__decorateClass$H([attr], Button.prototype, "appearance", 2);
|
|
6009
|
+
__decorateClass$H([attr], Button.prototype, "shape", 2);
|
|
6010
|
+
__decorateClass$H([attr], Button.prototype, "size", 2);
|
|
6011
|
+
__decorateClass$H([attr({
|
|
6042
6012
|
attribute: "icon-only",
|
|
6043
6013
|
mode: "boolean"
|
|
6044
6014
|
})], Button.prototype, "iconOnly", 2);
|
|
6045
6015
|
applyMixins(Button, StartEnd);
|
|
6046
6016
|
|
|
6047
6017
|
function buttonTemplate$1(options = {}) {
|
|
6048
|
-
return html`<template
|
|
6018
|
+
return html`<template @click="${(x, c) => x.clickHandler(c.event)}" @keypress="${(x, c) => x.keypressHandler(c.event)}">${startSlotTemplate(options)}<span class="content" part="content"><slot ${slotted("defaultSlottedContent")}></slot></span>${endSlotTemplate(options)}</template>`;
|
|
6049
6019
|
}
|
|
6050
6020
|
const template$C = buttonTemplate$1();
|
|
6051
6021
|
|
|
@@ -6057,18 +6027,26 @@ const definition$C = Button.compose({
|
|
|
6057
6027
|
|
|
6058
6028
|
definition$C.define(FluentDesignSystem.registry);
|
|
6059
6029
|
|
|
6060
|
-
var __defProp$
|
|
6061
|
-
var __getOwnPropDesc$
|
|
6062
|
-
var __decorateClass$
|
|
6063
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
6030
|
+
var __defProp$G = Object.defineProperty;
|
|
6031
|
+
var __getOwnPropDesc$G = Object.getOwnPropertyDescriptor;
|
|
6032
|
+
var __decorateClass$G = (decorators, target, key, kind) => {
|
|
6033
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$G(target, key) : target;
|
|
6064
6034
|
for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
6065
|
-
if (kind && result) __defProp$
|
|
6035
|
+
if (kind && result) __defProp$G(target, key, result);
|
|
6066
6036
|
return result;
|
|
6067
6037
|
};
|
|
6068
6038
|
class BaseCheckbox extends FASTElement {
|
|
6069
6039
|
constructor() {
|
|
6070
6040
|
super(...arguments);
|
|
6071
6041
|
this.initialValue = "on";
|
|
6042
|
+
/**
|
|
6043
|
+
* Tracks whether the space key was pressed down while the checkbox was focused.
|
|
6044
|
+
* This is used to prevent inadvertently checking a required, unchecked checkbox when the space key is pressed on a
|
|
6045
|
+
* submit button and field validation is triggered.
|
|
6046
|
+
*
|
|
6047
|
+
* @internal
|
|
6048
|
+
*/
|
|
6049
|
+
this._keydownPressed = false;
|
|
6072
6050
|
/**
|
|
6073
6051
|
* Indicates that the checked state has been changed by the user.
|
|
6074
6052
|
*
|
|
@@ -6117,6 +6095,11 @@ class BaseCheckbox extends FASTElement {
|
|
|
6117
6095
|
* @internal
|
|
6118
6096
|
*/
|
|
6119
6097
|
disabledChanged(prev, next) {
|
|
6098
|
+
if (this.disabled) {
|
|
6099
|
+
this.removeAttribute("tabindex");
|
|
6100
|
+
} else {
|
|
6101
|
+
this.tabIndex = Number(this.getAttribute("tabindex") ?? 0) < 0 ? -1 : 0;
|
|
6102
|
+
}
|
|
6120
6103
|
this.elementInternals.ariaDisabled = this.disabled ? "true" : "false";
|
|
6121
6104
|
toggleState(this.elementInternals, "disabled", this.disabled);
|
|
6122
6105
|
}
|
|
@@ -6272,6 +6255,7 @@ class BaseCheckbox extends FASTElement {
|
|
|
6272
6255
|
}
|
|
6273
6256
|
connectedCallback() {
|
|
6274
6257
|
super.connectedCallback();
|
|
6258
|
+
this.disabled = !!this.disabledAttribute;
|
|
6275
6259
|
this.setAriaChecked();
|
|
6276
6260
|
this.setValidity();
|
|
6277
6261
|
}
|
|
@@ -6287,7 +6271,8 @@ class BaseCheckbox extends FASTElement {
|
|
|
6287
6271
|
return true;
|
|
6288
6272
|
}
|
|
6289
6273
|
/**
|
|
6290
|
-
* Prevents scrolling when the user presses the space key
|
|
6274
|
+
* Prevents scrolling when the user presses the space key, and sets a flag to indicate that the space key was pressed
|
|
6275
|
+
* down while the checkbox was focused.
|
|
6291
6276
|
*
|
|
6292
6277
|
* @param e - the event object
|
|
6293
6278
|
* @internal
|
|
@@ -6296,6 +6281,7 @@ class BaseCheckbox extends FASTElement {
|
|
|
6296
6281
|
if (e.key !== " ") {
|
|
6297
6282
|
return true;
|
|
6298
6283
|
}
|
|
6284
|
+
this._keydownPressed = true;
|
|
6299
6285
|
}
|
|
6300
6286
|
/**
|
|
6301
6287
|
* Toggles the checked state when the user releases the space key.
|
|
@@ -6304,9 +6290,10 @@ class BaseCheckbox extends FASTElement {
|
|
|
6304
6290
|
* @internal
|
|
6305
6291
|
*/
|
|
6306
6292
|
keyupHandler(e) {
|
|
6307
|
-
if (e.key !== " ") {
|
|
6293
|
+
if (!this._keydownPressed || e.key !== " ") {
|
|
6308
6294
|
return true;
|
|
6309
6295
|
}
|
|
6296
|
+
this._keydownPressed = false;
|
|
6310
6297
|
this.click();
|
|
6311
6298
|
}
|
|
6312
6299
|
/**
|
|
@@ -6396,36 +6383,36 @@ class BaseCheckbox extends FASTElement {
|
|
|
6396
6383
|
* @public
|
|
6397
6384
|
*/
|
|
6398
6385
|
BaseCheckbox.formAssociated = true;
|
|
6399
|
-
__decorateClass$
|
|
6386
|
+
__decorateClass$G([attr({
|
|
6400
6387
|
mode: "boolean"
|
|
6401
6388
|
})], BaseCheckbox.prototype, "autofocus", 2);
|
|
6402
|
-
__decorateClass$
|
|
6403
|
-
__decorateClass$
|
|
6389
|
+
__decorateClass$G([observable], BaseCheckbox.prototype, "disabled", 2);
|
|
6390
|
+
__decorateClass$G([attr({
|
|
6404
6391
|
attribute: "disabled",
|
|
6405
6392
|
mode: "boolean"
|
|
6406
6393
|
})], BaseCheckbox.prototype, "disabledAttribute", 2);
|
|
6407
|
-
__decorateClass$
|
|
6394
|
+
__decorateClass$G([attr({
|
|
6408
6395
|
attribute: "form"
|
|
6409
6396
|
})], BaseCheckbox.prototype, "formAttribute", 2);
|
|
6410
|
-
__decorateClass$
|
|
6397
|
+
__decorateClass$G([attr({
|
|
6411
6398
|
attribute: "checked",
|
|
6412
6399
|
mode: "boolean"
|
|
6413
6400
|
})], BaseCheckbox.prototype, "initialChecked", 2);
|
|
6414
|
-
__decorateClass$
|
|
6401
|
+
__decorateClass$G([attr({
|
|
6415
6402
|
attribute: "value",
|
|
6416
6403
|
mode: "fromView"
|
|
6417
6404
|
})], BaseCheckbox.prototype, "initialValue", 2);
|
|
6418
|
-
__decorateClass$
|
|
6419
|
-
__decorateClass$
|
|
6405
|
+
__decorateClass$G([attr], BaseCheckbox.prototype, "name", 2);
|
|
6406
|
+
__decorateClass$G([attr({
|
|
6420
6407
|
mode: "boolean"
|
|
6421
6408
|
})], BaseCheckbox.prototype, "required", 2);
|
|
6422
6409
|
|
|
6423
|
-
var __defProp$
|
|
6424
|
-
var __getOwnPropDesc$
|
|
6425
|
-
var __decorateClass$
|
|
6426
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
6410
|
+
var __defProp$F = Object.defineProperty;
|
|
6411
|
+
var __getOwnPropDesc$F = Object.getOwnPropertyDescriptor;
|
|
6412
|
+
var __decorateClass$F = (decorators, target, key, kind) => {
|
|
6413
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$F(target, key) : target;
|
|
6427
6414
|
for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
6428
|
-
if (kind && result) __defProp$
|
|
6415
|
+
if (kind && result) __defProp$F(target, key, result);
|
|
6429
6416
|
return result;
|
|
6430
6417
|
};
|
|
6431
6418
|
class Checkbox extends BaseCheckbox {
|
|
@@ -6468,9 +6455,9 @@ class Checkbox extends BaseCheckbox {
|
|
|
6468
6455
|
super.toggleChecked(force);
|
|
6469
6456
|
}
|
|
6470
6457
|
}
|
|
6471
|
-
__decorateClass$
|
|
6472
|
-
__decorateClass$
|
|
6473
|
-
__decorateClass$
|
|
6458
|
+
__decorateClass$F([observable], Checkbox.prototype, "indeterminate", 2);
|
|
6459
|
+
__decorateClass$F([attr], Checkbox.prototype, "shape", 2);
|
|
6460
|
+
__decorateClass$F([attr], Checkbox.prototype, "size", 2);
|
|
6474
6461
|
|
|
6475
6462
|
const activeState = stateSelector("active");
|
|
6476
6463
|
const badInputState = stateSelector("bad-input");
|
|
@@ -6481,7 +6468,7 @@ const disabledState = stateSelector("disabled");
|
|
|
6481
6468
|
stateSelector("error");
|
|
6482
6469
|
const flipBlockState = stateSelector("flip-block");
|
|
6483
6470
|
const focusVisibleState = stateSelector("focus-visible");
|
|
6484
|
-
|
|
6471
|
+
stateSelector("has-message");
|
|
6485
6472
|
const indeterminateState = stateSelector("indeterminate");
|
|
6486
6473
|
const multipleState = stateSelector("multiple");
|
|
6487
6474
|
const openState = stateSelector("open");
|
|
@@ -6490,6 +6477,7 @@ const placeholderShownState = stateSelector("placeholder-shown");
|
|
|
6490
6477
|
const pressedState = stateSelector("pressed");
|
|
6491
6478
|
const rangeOverflowState = stateSelector("range-overflow");
|
|
6492
6479
|
const rangeUnderflowState = stateSelector("range-underflow");
|
|
6480
|
+
const requiredState = stateSelector("required");
|
|
6493
6481
|
const selectedState = stateSelector("selected");
|
|
6494
6482
|
const stepMismatchState = stateSelector("step-mismatch");
|
|
6495
6483
|
const submenuState = stateSelector("submenu");
|
|
@@ -6506,7 +6494,7 @@ const styles$A = css`
|
|
|
6506
6494
|
:host{--size:16px;background-color:${colorNeutralBackground1};border-radius:${borderRadiusSmall};border:${strokeWidthThin} solid ${colorNeutralStrokeAccessible};box-sizing:border-box;cursor:pointer;position:relative;width:var(--size)}:host,.indeterminate-indicator,.checked-indicator{aspect-ratio:1}:host(:hover){border-color:${colorNeutralStrokeAccessibleHover}}:host(:active){border-color:${colorNeutralStrokeAccessiblePressed}}:host(${checkedState}:hover){background-color:${colorCompoundBrandBackgroundHover};border-color:${colorCompoundBrandStrokeHover}}:host(${checkedState}:active){background-color:${colorCompoundBrandBackgroundPressed};border-color:${colorCompoundBrandStrokePressed}}:host(:focus-visible){outline:none}:host(:not([slot='input']))::after{content:'';position:absolute;inset:-8px;box-sizing:border-box;outline:none;border:${strokeWidthThick} solid ${colorTransparentStroke};border-radius:${borderRadiusMedium}}:host(:not([slot='input']):focus-visible)::after{border-color:${colorStrokeFocus2}}.indeterminate-indicator,.checked-indicator{color:${colorNeutralForegroundInverted};inset:0;margin:auto;position:absolute}::slotted([slot='checked-indicator']),.checked-indicator{fill:currentColor;display:inline-flex;flex:1 0 auto;width:12px}:host(:not(${checkedState})) *:is(::slotted([slot='checked-indicator']),.checked-indicator){display:none}:host(${checkedState}),:host(${indeterminateState}){border-color:${colorCompoundBrandStroke}}:host(${checkedState}),:host(${indeterminateState}) .indeterminate-indicator{background-color:${colorCompoundBrandBackground}}:host(${indeterminateState}) .indeterminate-indicator{border-radius:${borderRadiusSmall};position:absolute;width:calc(var(--size) / 2);inset:0}:host([size='large']){--size:20px}:host([size='large']) ::slotted([slot='checked-indicator']),:host([size='large']) .checked-indicator{width:16px}:host([shape='circular']),:host([shape='circular']) .indeterminate-indicator{border-radius:${borderRadiusCircular}}:host([disabled]),:host([disabled]${checkedState}){background-color:${colorNeutralBackgroundDisabled};border-color:${colorNeutralStrokeDisabled}}:host([disabled]){cursor:unset}:host([disabled]${indeterminateState}) .indeterminate-indicator{background-color:${colorNeutralStrokeDisabled}}:host([disabled]${checkedState}) .checked-indicator{color:${colorNeutralStrokeDisabled}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
|
|
6507
6495
|
:host{border-color:FieldText}:host(:not([slot='input']:focus-visible))::after{border-color:Canvas}:host(:not([disabled]):hover),:host(${checkedState}:not([disabled]):hover),:host(:not([slot='input']):focus-visible)::after{border-color:Highlight}.indeterminate-indicator,.checked-indicator{color:HighlightText}:host(${checkedState}),:host(${indeterminateState}) .indeterminate-indicator{background-color:FieldText}:host(${checkedState}:not([disabled]):hover),:host(${indeterminateState}:not([disabled]):hover) .indeterminate-indicator{background-color:Highlight}:host([disabled]){border-color:GrayText}:host([disabled]${indeterminateState}) .indeterminate-indicator{background-color:GrayText}:host([disabled]),:host([disabled]${checkedState}) .checked-indicator{color:GrayText}`));
|
|
6508
6496
|
|
|
6509
|
-
const checkedIndicator$2 = html.partial(
|
|
6497
|
+
const checkedIndicator$2 = html.partial(/* html */
|
|
6510
6498
|
`
|
|
6511
6499
|
<svg
|
|
6512
6500
|
fill="currentColor"
|
|
@@ -6519,12 +6507,12 @@ const checkedIndicator$2 = html.partial( /* html */
|
|
|
6519
6507
|
<path d="M9.76 3.2c.3.29.32.76.04 1.06l-4.25 4.5a.75.75 0 0 1-1.08.02L2.22 6.53a.75.75 0 0 1 1.06-1.06l1.7 1.7L8.7 3.24a.75.75 0 0 1 1.06-.04Z" fill="currentColor"></path>
|
|
6520
6508
|
</svg>
|
|
6521
6509
|
`);
|
|
6522
|
-
const indeterminateIndicator = html.partial(
|
|
6510
|
+
const indeterminateIndicator = html.partial(/* html */
|
|
6523
6511
|
`
|
|
6524
6512
|
<span class="indeterminate-indicator"></span>
|
|
6525
6513
|
`);
|
|
6526
6514
|
function checkboxTemplate(options = {}) {
|
|
6527
|
-
return html`<template
|
|
6515
|
+
return html`<template @click="${(x, c) => x.clickHandler(c.event)}" @input="${(x, c) => x.inputHandler(c.event)}" @keydown="${(x, c) => x.keydownHandler(c.event)}" @keyup="${(x, c) => x.keyupHandler(c.event)}"><slot name="checked-indicator">${staticallyCompose(options.checkedIndicator)}</slot><slot name="indeterminate-indicator">${staticallyCompose(options.indeterminateIndicator)}</slot></template>`;
|
|
6528
6516
|
}
|
|
6529
6517
|
const template$B = checkboxTemplate({
|
|
6530
6518
|
checkedIndicator: checkedIndicator$2,
|
|
@@ -6546,7 +6534,9 @@ const styles$z = css`
|
|
|
6546
6534
|
|
|
6547
6535
|
:host,:host(:is([size])){gap:12px;height:auto;padding-top:14px;padding-inline:12px;padding-bottom:16px;font-size:${fontSizeBase300};line-height:${lineHeightBase300}}.content{display:flex;flex-direction:column;text-align:start}::slotted([slot='description']){color:${colorNeutralForeground2};line-height:100%;font-size:${fontSizeBase200};font-weight:${fontWeightRegular}}::slotted(svg),:host([size='large']) ::slotted(svg){font-size:40px;height:40px;width:40px}:host(:hover) ::slotted([slot='description']){color:${colorNeutralForeground2Hover}}:host(:active) ::slotted([slot='description']){color:${colorNeutralForeground2Pressed}}:host(:is([appearance='primary'],[appearance='primary']:is(:hover,:active))) ::slotted([slot='description']){color:${colorNeutralForegroundOnBrand}}:host(:is([appearance='transparent'],[appearance='subtle'],[appearance='subtle']:is(:hover,:active)))
|
|
6548
6536
|
::slotted([slot='description']){color:${colorNeutralForeground2}}:host([appearance='transparent']:hover) ::slotted([slot='description']){color:${colorNeutralForeground2BrandHover}}:host([appearance='transparent']:active) ::slotted([slot='description']){color:${colorNeutralForeground2BrandPressed}}:host(:is(:disabled,:disabled[appearance],[disabled-focusable],[disabled-focusable][appearance]))
|
|
6549
|
-
::slotted([slot='description']){color:${colorNeutralForegroundDisabled}}:host([size='small']){padding:8px;padding-bottom:10px}:host([icon-only]){min-width:52px;max-width:52px;padding:${spacingHorizontalSNudge}}:host([icon-only][size='small']){min-width:48px;max-width:48px;padding:${spacingHorizontalXS}}:host([icon-only][size='large']){min-width:56px;max-width:56px;padding:${spacingHorizontalS}}:host([size='large']){padding-top:18px;padding-inline:16px;padding-bottom:20px;font-size:${fontSizeBase400};line-height:${lineHeightBase400}}:host([size='large']) ::slotted([slot='description']){font-size:${fontSizeBase300}}
|
|
6537
|
+
::slotted([slot='description']){color:${colorNeutralForegroundDisabled}}:host([size='small']){padding:8px;padding-bottom:10px}:host([icon-only]){min-width:52px;max-width:52px;padding:${spacingHorizontalSNudge}}:host([icon-only][size='small']){min-width:48px;max-width:48px;padding:${spacingHorizontalXS}}:host([icon-only][size='large']){min-width:56px;max-width:56px;padding:${spacingHorizontalS}}:host([size='large']){padding-top:18px;padding-inline:16px;padding-bottom:20px;font-size:${fontSizeBase400};line-height:${lineHeightBase400}}:host([size='large']) ::slotted([slot='description']){font-size:${fontSizeBase300}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
|
|
6538
|
+
:host([appearance='primary']:not(:hover,:focus-visible,:disabled,[disabled-focusable]))
|
|
6539
|
+
::slotted([slot='description']){color:HighlightText}`));
|
|
6550
6540
|
|
|
6551
6541
|
function buttonTemplate(options = {}) {
|
|
6552
6542
|
return html`<template ?disabled="${x => x.disabled}" tabindex="${x => x.disabled ? null : x.tabIndex ?? 0}">${startSlotTemplate(options)}<span class="content" part="content"><slot ${slotted("defaultSlottedContent")}></slot><slot name="description"></slot></span>${endSlotTemplate(options)}</template>`;
|
|
@@ -6561,12 +6551,12 @@ const definition$A = CompoundButton.compose({
|
|
|
6561
6551
|
|
|
6562
6552
|
definition$A.define(FluentDesignSystem.registry);
|
|
6563
6553
|
|
|
6564
|
-
var __defProp$
|
|
6565
|
-
var __getOwnPropDesc$
|
|
6566
|
-
var __decorateClass$
|
|
6567
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
6554
|
+
var __defProp$E = Object.defineProperty;
|
|
6555
|
+
var __getOwnPropDesc$E = Object.getOwnPropertyDescriptor;
|
|
6556
|
+
var __decorateClass$E = (decorators, target, key, kind) => {
|
|
6557
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$E(target, key) : target;
|
|
6568
6558
|
for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
6569
|
-
if (kind && result) __defProp$
|
|
6559
|
+
if (kind && result) __defProp$E(target, key, result);
|
|
6570
6560
|
return result;
|
|
6571
6561
|
};
|
|
6572
6562
|
class CounterBadge extends FASTElement {
|
|
@@ -6603,22 +6593,22 @@ class CounterBadge extends FASTElement {
|
|
|
6603
6593
|
return;
|
|
6604
6594
|
}
|
|
6605
6595
|
}
|
|
6606
|
-
__decorateClass$
|
|
6607
|
-
__decorateClass$
|
|
6608
|
-
__decorateClass$
|
|
6609
|
-
__decorateClass$
|
|
6610
|
-
__decorateClass$
|
|
6596
|
+
__decorateClass$E([attr], CounterBadge.prototype, "appearance", 2);
|
|
6597
|
+
__decorateClass$E([attr], CounterBadge.prototype, "color", 2);
|
|
6598
|
+
__decorateClass$E([attr], CounterBadge.prototype, "shape", 2);
|
|
6599
|
+
__decorateClass$E([attr], CounterBadge.prototype, "size", 2);
|
|
6600
|
+
__decorateClass$E([attr({
|
|
6611
6601
|
converter: nullableNumberConverter
|
|
6612
6602
|
})], CounterBadge.prototype, "count", 2);
|
|
6613
|
-
__decorateClass$
|
|
6603
|
+
__decorateClass$E([attr({
|
|
6614
6604
|
attribute: "overflow-count",
|
|
6615
6605
|
converter: nullableNumberConverter
|
|
6616
6606
|
})], CounterBadge.prototype, "overflowCount", 2);
|
|
6617
|
-
__decorateClass$
|
|
6607
|
+
__decorateClass$E([attr({
|
|
6618
6608
|
attribute: "show-zero",
|
|
6619
6609
|
mode: "boolean"
|
|
6620
6610
|
})], CounterBadge.prototype, "showZero", 2);
|
|
6621
|
-
__decorateClass$
|
|
6611
|
+
__decorateClass$E([attr({
|
|
6622
6612
|
mode: "boolean"
|
|
6623
6613
|
})], CounterBadge.prototype, "dot", 2);
|
|
6624
6614
|
applyMixins(CounterBadge, StartEnd);
|
|
@@ -6651,13 +6641,19 @@ const DialogType = {
|
|
|
6651
6641
|
nonModal: "non-modal",
|
|
6652
6642
|
alert: "alert"
|
|
6653
6643
|
};
|
|
6644
|
+
function isDialog(element, tagName = "-dialog") {
|
|
6645
|
+
if (element?.nodeType !== Node.ELEMENT_NODE) {
|
|
6646
|
+
return false;
|
|
6647
|
+
}
|
|
6648
|
+
return element.tagName.toLowerCase().endsWith(tagName);
|
|
6649
|
+
}
|
|
6654
6650
|
|
|
6655
|
-
var __defProp$
|
|
6656
|
-
var __getOwnPropDesc$
|
|
6657
|
-
var __decorateClass$
|
|
6658
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
6651
|
+
var __defProp$D = Object.defineProperty;
|
|
6652
|
+
var __getOwnPropDesc$D = Object.getOwnPropertyDescriptor;
|
|
6653
|
+
var __decorateClass$D = (decorators, target, key, kind) => {
|
|
6654
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$D(target, key) : target;
|
|
6659
6655
|
for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
6660
|
-
if (kind && result) __defProp$
|
|
6656
|
+
if (kind && result) __defProp$D(target, key, result);
|
|
6661
6657
|
return result;
|
|
6662
6658
|
};
|
|
6663
6659
|
class Dialog extends FASTElement {
|
|
@@ -6687,6 +6683,26 @@ class Dialog extends FASTElement {
|
|
|
6687
6683
|
});
|
|
6688
6684
|
};
|
|
6689
6685
|
}
|
|
6686
|
+
typeChanged(prev, next) {
|
|
6687
|
+
if (!this.dialog) {
|
|
6688
|
+
return;
|
|
6689
|
+
}
|
|
6690
|
+
if (next === DialogType.alert) {
|
|
6691
|
+
this.dialog.setAttribute("role", "alertdialog");
|
|
6692
|
+
} else {
|
|
6693
|
+
this.dialog.removeAttribute("role");
|
|
6694
|
+
}
|
|
6695
|
+
if (next !== DialogType.nonModal) {
|
|
6696
|
+
this.dialog.setAttribute("aria-modal", "true");
|
|
6697
|
+
} else {
|
|
6698
|
+
this.dialog.removeAttribute("aria-modal");
|
|
6699
|
+
}
|
|
6700
|
+
}
|
|
6701
|
+
/** @internal */
|
|
6702
|
+
connectedCallback() {
|
|
6703
|
+
super.connectedCallback();
|
|
6704
|
+
this.typeChanged(void 0, this.type);
|
|
6705
|
+
}
|
|
6690
6706
|
/**
|
|
6691
6707
|
* @public
|
|
6692
6708
|
* Method to show the dialog
|
|
@@ -6718,26 +6734,25 @@ class Dialog extends FASTElement {
|
|
|
6718
6734
|
* @returns boolean
|
|
6719
6735
|
*/
|
|
6720
6736
|
clickHandler(event) {
|
|
6721
|
-
event.preventDefault();
|
|
6722
6737
|
if (this.dialog.open && this.type !== DialogType.alert && event.target === this.dialog) {
|
|
6723
6738
|
this.hide();
|
|
6724
6739
|
}
|
|
6725
6740
|
return true;
|
|
6726
6741
|
}
|
|
6727
6742
|
}
|
|
6728
|
-
__decorateClass$
|
|
6729
|
-
__decorateClass$
|
|
6743
|
+
__decorateClass$D([observable], Dialog.prototype, "dialog", 2);
|
|
6744
|
+
__decorateClass$D([attr({
|
|
6730
6745
|
attribute: "aria-describedby"
|
|
6731
6746
|
})], Dialog.prototype, "ariaDescribedby", 2);
|
|
6732
|
-
__decorateClass$
|
|
6747
|
+
__decorateClass$D([attr({
|
|
6733
6748
|
attribute: "aria-labelledby"
|
|
6734
6749
|
})], Dialog.prototype, "ariaLabelledby", 2);
|
|
6735
|
-
__decorateClass$
|
|
6750
|
+
__decorateClass$D([attr], Dialog.prototype, "type", 2);
|
|
6736
6751
|
|
|
6737
|
-
const template$y = html`<dialog
|
|
6752
|
+
const template$y = html`<dialog class="dialog" part="dialog" aria-describedby="${x => x.ariaDescribedby}" aria-labelledby="${x => x.ariaLabelledby}" aria-label="${x => x.ariaLabel}" @click="${(x, c) => x.clickHandler(c.event)}" @cancel="${x => x.hide()}" ${ref("dialog")}><slot></slot></dialog>`;
|
|
6738
6753
|
|
|
6739
6754
|
const styles$x = css`
|
|
6740
|
-
@layer base{:host{--dialog-backdrop:${colorBackgroundOverlay};--dialog-starting-scale:0.85}::backdrop{background:var(--dialog-backdrop,rgba(0,0,0,0.4))}dialog{background:${colorNeutralBackground1};border-radius:${borderRadiusXLarge};border:none;box-shadow:${shadow64};color:${colorNeutralForeground1};max-height:
|
|
6755
|
+
@layer base{:host{--dialog-backdrop:${colorBackgroundOverlay};--dialog-starting-scale:0.85}::backdrop{background:var(--dialog-backdrop,rgba(0,0,0,0.4))}dialog{background:${colorNeutralBackground1};border-radius:${borderRadiusXLarge};border:none;box-shadow:${shadow64};color:${colorNeutralForeground1};max-height:100vh;padding:0;width:100%;max-width:600px}:host([type='non-modal']) dialog{inset:0;position:fixed;z-index:2;overflow:auto}@supports (max-height:1dvh){dialog{max-height:100dvh}}}@layer animations{@media (prefers-reduced-motion:no-preference){dialog,::backdrop{transition:display allow-discrete,opacity,overlay allow-discrete,scale;transition-duration:${durationGentle};transition-timing-function:${curveDecelerateMid};opacity:0}::backdrop{transition-timing-function:${curveLinear}}[open],[open]::backdrop{opacity:1}dialog:not([open]){scale:var(--dialog-starting-scale);transition-timing-function:${curveAccelerateMid}}}@starting-style{[open],[open]::backdrop{opacity:0}dialog{scale:var(--dialog-starting-scale)}}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
|
|
6741
6756
|
@layer base{dialog{border:${strokeWidthThin} solid ${colorTransparentStroke}}}`));
|
|
6742
6757
|
|
|
6743
6758
|
const definition$y = Dialog.compose({
|
|
@@ -6748,45 +6763,30 @@ const definition$y = Dialog.compose({
|
|
|
6748
6763
|
|
|
6749
6764
|
definition$y.define(FluentDesignSystem.registry);
|
|
6750
6765
|
|
|
6751
|
-
var __defProp$D = Object.defineProperty;
|
|
6752
|
-
var __getOwnPropDesc$D = Object.getOwnPropertyDescriptor;
|
|
6753
|
-
var __decorateClass$D = (decorators, target, key, kind) => {
|
|
6754
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$D(target, key) : target;
|
|
6755
|
-
for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
6756
|
-
if (kind && result) __defProp$D(target, key, result);
|
|
6757
|
-
return result;
|
|
6758
|
-
};
|
|
6759
6766
|
class DialogBody extends FASTElement {
|
|
6760
|
-
|
|
6761
|
-
|
|
6762
|
-
|
|
6767
|
+
/**
|
|
6768
|
+
* Handles click event for the close slot
|
|
6769
|
+
*
|
|
6770
|
+
* @param e - the click event
|
|
6771
|
+
* @internal
|
|
6772
|
+
*/
|
|
6773
|
+
clickHandler(event) {
|
|
6774
|
+
if (!event.defaultPrevented) {
|
|
6775
|
+
const dialog = this.parentElement;
|
|
6776
|
+
if (isDialog(dialog)) {
|
|
6777
|
+
dialog.hide();
|
|
6778
|
+
}
|
|
6779
|
+
}
|
|
6780
|
+
return true;
|
|
6763
6781
|
}
|
|
6764
6782
|
}
|
|
6765
|
-
__decorateClass$D([attr({
|
|
6766
|
-
mode: "boolean",
|
|
6767
|
-
attribute: "no-title-action"
|
|
6768
|
-
})], DialogBody.prototype, "noTitleAction", 2);
|
|
6769
6783
|
|
|
6770
|
-
const
|
|
6771
|
-
<svg
|
|
6772
|
-
fill="currentColor"
|
|
6773
|
-
aria-hidden="true"
|
|
6774
|
-
width="20"
|
|
6775
|
-
height="20"
|
|
6776
|
-
viewBox="0 0 20 20"
|
|
6777
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
6778
|
-
>
|
|
6779
|
-
<path
|
|
6780
|
-
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"
|
|
6781
|
-
fill="currentColor"
|
|
6782
|
-
></path>
|
|
6783
|
-
</svg>`);
|
|
6784
|
-
const template$x = html`<div class="title" part="title"><slot name="title"></slot><slot name="title-action"><fluent-button ?hidden=${x => x.noTitleAction || x.parentNode?.type === DialogType.alert} tabindex="0" part="title-action" class="title-action" appearance="transparent" icon-only @click=${x => x.parentNode?.hide()} ${ref("defaultTitleAction")}>${dismissed16Regular}</fluent-button></slot></div><div class="content" part="content"><slot></slot></div><div class="actions" part="actions"><slot name="action"></slot></div>`;
|
|
6784
|
+
const template$x = html`<template><div class="title" part="title"><slot name="title"></slot><slot name="title-action"></slot><slot name="close" @click="${(x, c) => x.clickHandler(c.event)}"></slot></div><div class="content" part="content"><slot></slot></div><div class="actions" part="actions"><slot name="action"></slot></div></template>`;
|
|
6785
6785
|
|
|
6786
6786
|
const styles$w = css`
|
|
6787
6787
|
${display("grid")}
|
|
6788
6788
|
|
|
6789
|
-
:host{background:${colorNeutralBackground1};box-sizing:border-box;gap:${spacingVerticalS};padding:${spacingVerticalXXL} ${spacingHorizontalXXL};container:dialog-body / inline-size}.title{box-sizing:border-box;align-items:flex-start;background:${colorNeutralBackground1};color:${colorNeutralForeground1};column-gap:8px;display:flex;font-family:${fontFamilyBase};font-size:${fontSizeBase500};font-weight:${fontWeightSemibold};inset-block-start:0;justify-content:space-between;line-height:${lineHeightBase500};margin-block-end:calc(${spacingVerticalS} * -1);margin-block-start:calc(${spacingVerticalXXL} * -1);padding-block-end:${spacingVerticalS};padding-block-start:${spacingVerticalXXL}
|
|
6789
|
+
:host{background:${colorNeutralBackground1};box-sizing:border-box;gap:${spacingVerticalS};padding:${spacingVerticalXXL} ${spacingHorizontalXXL};container:dialog-body / inline-size}.title{box-sizing:border-box;align-items:flex-start;background:${colorNeutralBackground1};color:${colorNeutralForeground1};column-gap:8px;display:flex;font-family:${fontFamilyBase};font-size:${fontSizeBase500};font-weight:${fontWeightSemibold};inset-block-start:0;justify-content:space-between;line-height:${lineHeightBase500};margin-block-end:calc(${spacingVerticalS} * -1);margin-block-start:calc(${spacingVerticalXXL} * -1);padding-block-end:${spacingVerticalS};padding-block-start:${spacingVerticalXXL}}.content{box-sizing:border-box;color:${colorNeutralForeground1};font-family:${fontFamilyBase};font-size:${fontSizeBase300};font-weight:${fontWeightRegular};line-height:${lineHeightBase300};min-height:32px}.actions{box-sizing:border-box;background:${colorNeutralBackground1};display:flex;flex-direction:column;gap:${spacingVerticalS};inset-block-end:0;margin-block-end:calc(${spacingVerticalXXL} * -1);padding-block-end:${spacingVerticalXXL};padding-block-start:${spacingVerticalL}}::slotted([slot='title-action']){margin-inline-start:auto}::slotted([slot='title']){font:inherit;padding:0;margin:0}:not(:has(:is([slot='title'],[slot='title-action']))) .title{justify-content:end}@container (min-width:480px){.actions{align-items:center;flex-direction:row;justify-content:flex-end;margin-block-start:calc(${spacingVerticalS} * -1);padding-block-start:${spacingVerticalS}}}@media (min-height:480px){.title{position:sticky;z-index:1}.actions{position:sticky;z-index:2}`;
|
|
6790
6790
|
|
|
6791
6791
|
const definition$x = DialogBody.compose({
|
|
6792
6792
|
name: `${FluentDesignSystem.prefix}-dialog-body`,
|
|
@@ -6952,6 +6952,28 @@ class Drawer extends FASTElement {
|
|
|
6952
6952
|
});
|
|
6953
6953
|
};
|
|
6954
6954
|
}
|
|
6955
|
+
typeChanged() {
|
|
6956
|
+
if (!this.dialog) {
|
|
6957
|
+
return;
|
|
6958
|
+
}
|
|
6959
|
+
this.updateDialogRole();
|
|
6960
|
+
if (this.type === DrawerType.modal) {
|
|
6961
|
+
this.dialog.setAttribute("aria-modal", "true");
|
|
6962
|
+
} else {
|
|
6963
|
+
this.dialog.removeAttribute("aria-modal");
|
|
6964
|
+
}
|
|
6965
|
+
}
|
|
6966
|
+
/** @internal */
|
|
6967
|
+
connectedCallback() {
|
|
6968
|
+
super.connectedCallback();
|
|
6969
|
+
this.typeChanged();
|
|
6970
|
+
this.observeRoleAttr();
|
|
6971
|
+
}
|
|
6972
|
+
/** @internal */
|
|
6973
|
+
disconnectedCallback() {
|
|
6974
|
+
super.disconnectedCallback();
|
|
6975
|
+
this.roleAttrObserver.disconnect();
|
|
6976
|
+
}
|
|
6955
6977
|
/**
|
|
6956
6978
|
* @public
|
|
6957
6979
|
* Method to show the drawer
|
|
@@ -6989,6 +7011,32 @@ class Drawer extends FASTElement {
|
|
|
6989
7011
|
}
|
|
6990
7012
|
return true;
|
|
6991
7013
|
}
|
|
7014
|
+
/**
|
|
7015
|
+
* @public
|
|
7016
|
+
* Handles cancel events on the drawer.
|
|
7017
|
+
*/
|
|
7018
|
+
cancelHandler() {
|
|
7019
|
+
this.hide();
|
|
7020
|
+
}
|
|
7021
|
+
observeRoleAttr() {
|
|
7022
|
+
if (this.roleAttrObserver) {
|
|
7023
|
+
return;
|
|
7024
|
+
}
|
|
7025
|
+
this.roleAttrObserver = new MutationObserver(() => {
|
|
7026
|
+
this.updateDialogRole();
|
|
7027
|
+
});
|
|
7028
|
+
this.roleAttrObserver.observe(this, {
|
|
7029
|
+
attributes: true,
|
|
7030
|
+
attributeFilter: ["role"]
|
|
7031
|
+
});
|
|
7032
|
+
}
|
|
7033
|
+
updateDialogRole() {
|
|
7034
|
+
console.log(this.role);
|
|
7035
|
+
if (!this.dialog) {
|
|
7036
|
+
return;
|
|
7037
|
+
}
|
|
7038
|
+
this.dialog.role = this.type === DrawerType.modal ? "dialog" : this.role;
|
|
7039
|
+
}
|
|
6992
7040
|
}
|
|
6993
7041
|
__decorateClass$A([attr], Drawer.prototype, "type", 2);
|
|
6994
7042
|
__decorateClass$A([attr({
|
|
@@ -7009,7 +7057,7 @@ const styles$u = css`
|
|
|
7009
7057
|
:host{--dialog-backdrop:${colorBackgroundOverlay}}:host([type='non-modal']) dialog[open]::backdrop{display:none}:host([type='non-modal']) dialog{position:fixed;top:0;bottom:0}:host([type='inline']){height:100%;width:fit-content}:host([type='inline']) dialog[open]{box-shadow:none;position:relative}:host([size='small']) dialog{width:320px;max-width:320px}:host([size='large']) dialog{width:940px;max-width:940px}:host([size='full']) dialog{width:100%;max-width:100%}:host([position='end']) dialog{margin-inline-start:auto;margin-inline-end:0}dialog{box-sizing:border-box;z-index:var(--drawer-elevation,1000);font-size:${fontSizeBase300};line-height:${lineHeightBase300};font-family:${fontFamilyBase};font-weight:${fontWeightRegular};color:${colorNeutralForeground1};max-width:var(--drawer-width,592px);max-height:100vh;height:100%;margin-inline-start:0;margin-inline-end:auto;border-inline-end-color:${colorTransparentStroke};border-inline-start-color:var(--drawer-separator,${colorTransparentStroke});outline:none;top:0;bottom:0;width:var(--drawer-width,592px);border-radius:0;padding:0;max-width:var(--drawer-width,592px);box-shadow:${shadow64};border:${strokeWidthThin} solid ${colorTransparentStroke};background:${colorNeutralBackground1}}dialog::backdrop{background:var(--dialog-backdrop)}@layer animations{@media (prefers-reduced-motion:no-preference){dialog{transition:display allow-discrete,opacity,overlay allow-discrete,transform;transition-duration:${durationGentle};transition-timing-function:${curveDecelerateMid}}:host dialog:not([open]){transform:translateX(-100%);transition-timing-function:${curveAccelerateMid}}:host([position='end']) dialog:not([open]){transform:translateX(100%);transition-timing-function:${curveAccelerateMid}}dialog[open]{transform:translateX(0)}dialog::backdrop{transition:display allow-discrete,opacity,overlay allow-discrete,scale;transition-duration:${durationGentle};transition-timing-function:${curveDecelerateMid};background:var(--dialog-backdrop,${colorBackgroundOverlay});opacity:0}dialog[open]::backdrop{opacity:1}dialog::backdrop{transition-timing-function:${curveLinear}}}@starting-style{dialog[open]{transform:translateX(-100%)}:host([position='end']) dialog[open]{transform:translateX(100%)}dialog[open]::backdrop{opacity:0}}}`;
|
|
7010
7058
|
|
|
7011
7059
|
function drawerTemplate() {
|
|
7012
|
-
return html`<dialog class="dialog" part="dialog"
|
|
7060
|
+
return html`<dialog class="dialog" part="dialog" aria-describedby="${x => x.ariaDescribedby}" aria-labelledby="${x => x.ariaLabelledby}" aria-label="${x => x.ariaLabel}" size="${x => x.size}" position="${x => x.position}" @click="${(x, c) => x.clickHandler(c.event)}" @cancel="${x => x.cancelHandler()}" ${ref("dialog")}><slot></slot></dialog>`;
|
|
7013
7061
|
}
|
|
7014
7062
|
const template$v = drawerTemplate();
|
|
7015
7063
|
|
|
@@ -7021,14 +7069,30 @@ const definition$v = Drawer.compose({
|
|
|
7021
7069
|
|
|
7022
7070
|
definition$v.define(FluentDesignSystem.registry);
|
|
7023
7071
|
|
|
7024
|
-
class DrawerBody extends FASTElement {
|
|
7072
|
+
class DrawerBody extends FASTElement {
|
|
7073
|
+
/**
|
|
7074
|
+
* Handles click event for the close slot
|
|
7075
|
+
*
|
|
7076
|
+
* @param e - the click event
|
|
7077
|
+
* @internal
|
|
7078
|
+
*/
|
|
7079
|
+
clickHandler(event) {
|
|
7080
|
+
if (!event.defaultPrevented) {
|
|
7081
|
+
const dialog = this.parentElement;
|
|
7082
|
+
if (isDialog(dialog, "-drawer")) {
|
|
7083
|
+
dialog.hide();
|
|
7084
|
+
}
|
|
7085
|
+
}
|
|
7086
|
+
return true;
|
|
7087
|
+
}
|
|
7088
|
+
}
|
|
7025
7089
|
|
|
7026
7090
|
const styles$t = css`
|
|
7027
7091
|
${display("grid")}
|
|
7028
7092
|
:host{box-sizing:border-box;grid-template-rows:min-content auto min-content;position:relative;height:100%;padding:${spacingHorizontalXL};max-height:100svh}.header{display:flex;justify-content:space-between;align-items:center;${typographySubtitle1Styles}}.footer{display:flex;justify-content:flex-start;gap:${spacingHorizontalM}}::slotted([slot='title']){font:inherit;padding:0;margin:0}`;
|
|
7029
7093
|
|
|
7030
7094
|
function drawerBodyTemplate() {
|
|
7031
|
-
return html`<div class="header" part="header"><slot name="title"></slot><slot name="close"></slot></div><div class="content" part="content"><slot></slot></div><div class="footer" part="footer"><slot name="footer"></slot></div>`;
|
|
7095
|
+
return html`<div class="header" part="header"><slot name="title"></slot><slot name="close" @click="${(x, c) => x.clickHandler(c.event)}"></slot></div><div class="content" part="content"><slot></slot></div><div class="footer" part="footer"><slot name="footer"></slot></div>`;
|
|
7032
7096
|
}
|
|
7033
7097
|
const template$u = drawerBodyTemplate();
|
|
7034
7098
|
|
|
@@ -7064,6 +7128,46 @@ function uniqueId(prefix = "id-") {
|
|
|
7064
7128
|
return document.getElementById(str) ? uniqueId(prefix) : str;
|
|
7065
7129
|
}
|
|
7066
7130
|
|
|
7131
|
+
function requestIdleCallback(callback, options) {
|
|
7132
|
+
if ("requestIdleCallback" in globalThis) {
|
|
7133
|
+
return globalThis.requestIdleCallback(callback, options);
|
|
7134
|
+
}
|
|
7135
|
+
const start = Date.now();
|
|
7136
|
+
return setTimeout(() => {
|
|
7137
|
+
callback({
|
|
7138
|
+
didTimeout: options?.timeout ? Date.now() - start >= options.timeout : false,
|
|
7139
|
+
timeRemaining: () => 0
|
|
7140
|
+
});
|
|
7141
|
+
}, 1);
|
|
7142
|
+
}
|
|
7143
|
+
function cancelIdleCallback(id) {
|
|
7144
|
+
if ("cancelIdleCallback" in globalThis) {
|
|
7145
|
+
globalThis.cancelIdleCallback(id);
|
|
7146
|
+
} else {
|
|
7147
|
+
clearTimeout(id);
|
|
7148
|
+
}
|
|
7149
|
+
}
|
|
7150
|
+
function waitForConnectedDescendants(target, callback, options) {
|
|
7151
|
+
let idleCallbackId;
|
|
7152
|
+
const shallow = options?.shallow ?? false;
|
|
7153
|
+
const query = `${shallow ? ":scope > " : ""}:not(:defined)`;
|
|
7154
|
+
const timeout = options?.timeout ?? 50;
|
|
7155
|
+
const scheduleCheck = deadline => {
|
|
7156
|
+
if (idleCallbackId) {
|
|
7157
|
+
cancelIdleCallback(idleCallbackId);
|
|
7158
|
+
idleCallbackId = void 0;
|
|
7159
|
+
}
|
|
7160
|
+
if (!target.querySelector(query) || deadline && deadline.timeRemaining() <= 0) {
|
|
7161
|
+
callback();
|
|
7162
|
+
return;
|
|
7163
|
+
}
|
|
7164
|
+
idleCallbackId = requestIdleCallback(scheduleCheck, {
|
|
7165
|
+
timeout
|
|
7166
|
+
});
|
|
7167
|
+
};
|
|
7168
|
+
scheduleCheck();
|
|
7169
|
+
}
|
|
7170
|
+
|
|
7067
7171
|
const DropdownAppearance = {
|
|
7068
7172
|
filledDarker: "filled-darker",
|
|
7069
7173
|
filledLighter: "filled-lighter",
|
|
@@ -7076,11 +7180,11 @@ const DropdownType = {
|
|
|
7076
7180
|
select: "select"
|
|
7077
7181
|
};
|
|
7078
7182
|
|
|
7079
|
-
const dropdownIndicatorTemplate = html`<svg class="chevron-down-20-regular"
|
|
7080
|
-
const dropdownInputTemplate = html`<input @input="${(x, c) => x.inputHandler(c.event)}" @change="${(x, c) => x.changeHandler(c.event)}" aria-activedescendant="${x => x.activeDescendant}" aria-controls="${x => x.listbox?.id ?? null}" aria-labelledby="${x => x.ariaLabelledBy}" aria-expanded="${x => x.open}" aria-haspopup="listbox" placeholder="${x => x.placeholder}" role="combobox" ?disabled="${x => x.disabled}" type="${x => x.type}" value="${x => x.valueAttribute}" ${ref("control")} />`;
|
|
7081
|
-
const dropdownButtonTemplate = html`<button aria-activedescendant="${x => x.activeDescendant}" aria-controls="${x => x.listbox?.id ?? null}" aria-expanded="${x => x.open}" aria-haspopup="listbox" role="combobox" ?disabled="${x => x.disabled}" type="button" ${ref("control")}>${x => x.displayValue}</button>`;
|
|
7183
|
+
const dropdownIndicatorTemplate = html`<svg class="chevron-down-20-regular" aria-hidden="true" slot="indicator" viewBox="0 0 20 20" ${ref("indicator")}><path d="M15.85 7.65a.5.5 0 0 1 0 .7l-5.46 5.49a.55.55 0 0 1-.78 0L4.15 8.35a.5.5 0 1 1 .7-.7L10 12.8l5.15-5.16a.5.5 0 0 1 .7 0" fill="currentColor" /></svg>`;
|
|
7184
|
+
const dropdownInputTemplate = html`<input @input="${(x, c) => x.inputHandler(c.event)}" @change="${(x, c) => x.changeHandler(c.event)}" aria-activedescendant="${x => x.activeDescendant}" aria-controls="${x => x.listbox?.id ?? null}" aria-labelledby="${x => x.ariaLabelledBy}" aria-expanded="${x => x.open}" aria-haspopup="listbox" placeholder="${x => x.placeholder}" role="combobox" ?disabled="${x => x.disabled}" type="${x => x.type}" value="${x => x.valueAttribute}" slot="control" ${ref("control")} />`;
|
|
7185
|
+
const dropdownButtonTemplate = html`<button aria-activedescendant="${x => x.activeDescendant}" aria-controls="${x => x.listbox?.id ?? null}" aria-expanded="${x => x.open}" aria-haspopup="listbox" role="combobox" ?disabled="${x => x.disabled}" type="button" slot="control" ${ref("control")}>${x => x.displayValue}</button>`;
|
|
7082
7186
|
function dropdownTemplate(options = {}) {
|
|
7083
|
-
return html`<template @click="${(x, c) => x.clickHandler(c.event)}" @focusout="${(x, c) => x.focusoutHandler(c.event)}" @keydown="${(x, c) => x.keydownHandler(c.event)}" @mousedown="${(x, c) => x.mousedownHandler(c.event)}"><div class="control"><slot name="control" ${ref("controlSlot")}></slot><slot name="indicator" ${ref("indicatorSlot")}>${staticallyCompose(options.indicator)}</slot></div><slot ${
|
|
7187
|
+
return html`<template @click="${(x, c) => x.clickHandler(c.event)}" @focusout="${(x, c) => x.focusoutHandler(c.event)}" @keydown="${(x, c) => x.keydownHandler(c.event)}" @mousedown="${(x, c) => x.mousedownHandler(c.event)}"><div class="control"><slot name="control" ${ref("controlSlot")}></slot><slot name="indicator" ${ref("indicatorSlot")}>${staticallyCompose(options.indicator)}</slot></div><slot @slotchange="${(x, c) => x.slotchangeHandler(c.event)}"></slot></template>`;
|
|
7084
7188
|
}
|
|
7085
7189
|
const template$t = dropdownTemplate({
|
|
7086
7190
|
indicator: dropdownIndicatorTemplate
|
|
@@ -7102,6 +7206,31 @@ const _BaseDropdown = class _BaseDropdown extends FASTElement {
|
|
|
7102
7206
|
this.required = false;
|
|
7103
7207
|
this.type = DropdownType.dropdown;
|
|
7104
7208
|
this.valueAttribute = "";
|
|
7209
|
+
/**
|
|
7210
|
+
* Repositions the listbox to align with the control element. Used when the browser does not support CSS anchor
|
|
7211
|
+
* positioning.
|
|
7212
|
+
*
|
|
7213
|
+
* @internal
|
|
7214
|
+
*/
|
|
7215
|
+
this.repositionListbox = () => {
|
|
7216
|
+
if (this.frameId) {
|
|
7217
|
+
cancelAnimationFrame(this.frameId);
|
|
7218
|
+
}
|
|
7219
|
+
this.frameId = requestAnimationFrame(() => {
|
|
7220
|
+
const controlRect = this.getBoundingClientRect();
|
|
7221
|
+
const right = window.innerWidth - controlRect.right;
|
|
7222
|
+
const left = controlRect.left;
|
|
7223
|
+
this.listbox.style.minWidth = `${controlRect.width}px`;
|
|
7224
|
+
this.listbox.style.top = `${controlRect.top}px`;
|
|
7225
|
+
if (left + controlRect.width > window.innerWidth || getDirection(this) === "rtl" && right - controlRect.width > 0) {
|
|
7226
|
+
this.listbox.style.right = `${right}px`;
|
|
7227
|
+
this.listbox.style.left = "unset";
|
|
7228
|
+
} else {
|
|
7229
|
+
this.listbox.style.left = `${left}px`;
|
|
7230
|
+
this.listbox.style.right = "unset";
|
|
7231
|
+
}
|
|
7232
|
+
});
|
|
7233
|
+
};
|
|
7105
7234
|
/**
|
|
7106
7235
|
* The internal {@link https://developer.mozilla.org/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.
|
|
7107
7236
|
*
|
|
@@ -7109,7 +7238,6 @@ const _BaseDropdown = class _BaseDropdown extends FASTElement {
|
|
|
7109
7238
|
*/
|
|
7110
7239
|
this.elementInternals = this.attachInternals();
|
|
7111
7240
|
this.elementInternals.role = "presentation";
|
|
7112
|
-
this.addEventListener("connected", this.listboxConnectedHandler);
|
|
7113
7241
|
Updates.enqueue(() => {
|
|
7114
7242
|
this.insertControl();
|
|
7115
7243
|
});
|
|
@@ -7152,7 +7280,6 @@ const _BaseDropdown = class _BaseDropdown extends FASTElement {
|
|
|
7152
7280
|
controlChanged(prev, next) {
|
|
7153
7281
|
if (next) {
|
|
7154
7282
|
next.id = next.id || uniqueId("input-");
|
|
7155
|
-
this.controlSlot?.assign(next);
|
|
7156
7283
|
}
|
|
7157
7284
|
}
|
|
7158
7285
|
/**
|
|
@@ -7201,7 +7328,7 @@ const _BaseDropdown = class _BaseDropdown extends FASTElement {
|
|
|
7201
7328
|
if (next) {
|
|
7202
7329
|
next.dropdown = this;
|
|
7203
7330
|
next.popover = "manual";
|
|
7204
|
-
|
|
7331
|
+
next.tabIndex = -1;
|
|
7205
7332
|
const notifier = Observable.getNotifier(this);
|
|
7206
7333
|
notifier.subscribe(next);
|
|
7207
7334
|
for (const key of ["disabled", "multiple"]) {
|
|
@@ -7213,6 +7340,11 @@ const _BaseDropdown = class _BaseDropdown extends FASTElement {
|
|
|
7213
7340
|
});
|
|
7214
7341
|
this.setValidity();
|
|
7215
7342
|
});
|
|
7343
|
+
if (AnchorPositioningCSSSupported) {
|
|
7344
|
+
const anchorName = uniqueId("--dropdown-anchor-");
|
|
7345
|
+
this.style.setProperty("anchor-name", anchorName);
|
|
7346
|
+
this.listbox.style.setProperty("position-anchor", anchorName);
|
|
7347
|
+
}
|
|
7216
7348
|
}
|
|
7217
7349
|
}
|
|
7218
7350
|
/**
|
|
@@ -7252,11 +7384,9 @@ const _BaseDropdown = class _BaseDropdown extends FASTElement {
|
|
|
7252
7384
|
toggleState(this.elementInternals, "open", next);
|
|
7253
7385
|
this.elementInternals.ariaExpanded = next ? "true" : "false";
|
|
7254
7386
|
this.activeIndex = this.selectedIndex ?? -1;
|
|
7255
|
-
if (
|
|
7256
|
-
|
|
7257
|
-
return;
|
|
7387
|
+
if (!AnchorPositioningCSSSupported) {
|
|
7388
|
+
this.anchorPositionFallback(next);
|
|
7258
7389
|
}
|
|
7259
|
-
_BaseDropdown.AnchorPositionFallbackObserver?.unobserve(this.listbox);
|
|
7260
7390
|
}
|
|
7261
7391
|
/**
|
|
7262
7392
|
* Changes the slotted control element based on the dropdown type.
|
|
@@ -7277,25 +7407,6 @@ const _BaseDropdown = class _BaseDropdown extends FASTElement {
|
|
|
7277
7407
|
get enabledOptions() {
|
|
7278
7408
|
return this.listbox?.enabledOptions ?? [];
|
|
7279
7409
|
}
|
|
7280
|
-
/**
|
|
7281
|
-
* Resets the form value to its initial value when the form is reset.
|
|
7282
|
-
*
|
|
7283
|
-
* @internal
|
|
7284
|
-
*/
|
|
7285
|
-
formResetCallback() {
|
|
7286
|
-
this.enabledOptions.forEach((x, i) => {
|
|
7287
|
-
if (this.multiple) {
|
|
7288
|
-
x.selected = !!x.defaultSelected;
|
|
7289
|
-
return;
|
|
7290
|
-
}
|
|
7291
|
-
if (!x.defaultSelected) {
|
|
7292
|
-
x.selected = false;
|
|
7293
|
-
return;
|
|
7294
|
-
}
|
|
7295
|
-
this.selectOption(i);
|
|
7296
|
-
});
|
|
7297
|
-
this.setValidity();
|
|
7298
|
-
}
|
|
7299
7410
|
/**
|
|
7300
7411
|
* A reference to the first freeform option, if present.
|
|
7301
7412
|
*
|
|
@@ -7445,7 +7556,7 @@ const _BaseDropdown = class _BaseDropdown extends FASTElement {
|
|
|
7445
7556
|
}
|
|
7446
7557
|
const target = e.target;
|
|
7447
7558
|
this.focus();
|
|
7448
|
-
if (target === this.control && !this.isCombobox) {
|
|
7559
|
+
if ((target === this.control || e.composedPath().includes(this.indicator)) && !this.isCombobox) {
|
|
7449
7560
|
this.listbox.togglePopover();
|
|
7450
7561
|
return true;
|
|
7451
7562
|
}
|
|
@@ -7511,6 +7622,25 @@ const _BaseDropdown = class _BaseDropdown extends FASTElement {
|
|
|
7511
7622
|
}
|
|
7512
7623
|
return true;
|
|
7513
7624
|
}
|
|
7625
|
+
/**
|
|
7626
|
+
* Resets the form value to its initial value when the form is reset.
|
|
7627
|
+
*
|
|
7628
|
+
* @internal
|
|
7629
|
+
*/
|
|
7630
|
+
formResetCallback() {
|
|
7631
|
+
this.enabledOptions.forEach((x, i) => {
|
|
7632
|
+
if (this.multiple) {
|
|
7633
|
+
x.selected = !!x.defaultSelected;
|
|
7634
|
+
return;
|
|
7635
|
+
}
|
|
7636
|
+
if (!x.defaultSelected) {
|
|
7637
|
+
x.selected = false;
|
|
7638
|
+
return;
|
|
7639
|
+
}
|
|
7640
|
+
this.selectOption(i);
|
|
7641
|
+
});
|
|
7642
|
+
this.setValidity();
|
|
7643
|
+
}
|
|
7514
7644
|
/**
|
|
7515
7645
|
* Ensures the active index is within bounds of the enabled options. Out-of-bounds indices are wrapped to the opposite
|
|
7516
7646
|
* end of the range.
|
|
@@ -7683,6 +7813,22 @@ const _BaseDropdown = class _BaseDropdown extends FASTElement {
|
|
|
7683
7813
|
}, message ?? this.validationMessage, anchor ?? this.control);
|
|
7684
7814
|
}
|
|
7685
7815
|
}
|
|
7816
|
+
/**
|
|
7817
|
+
* Handles the `slotchange` event for the dropdown.
|
|
7818
|
+
* Sets the `listbox` property when a valid listbox is assigned to the default slot.
|
|
7819
|
+
*
|
|
7820
|
+
* @param e - the slot change event
|
|
7821
|
+
* @internal
|
|
7822
|
+
*/
|
|
7823
|
+
slotchangeHandler(e) {
|
|
7824
|
+
const target = e.target;
|
|
7825
|
+
waitForConnectedDescendants(this, () => {
|
|
7826
|
+
const listbox = target.assignedElements().find(el => isListbox(el));
|
|
7827
|
+
if (listbox) {
|
|
7828
|
+
this.listbox = listbox;
|
|
7829
|
+
}
|
|
7830
|
+
});
|
|
7831
|
+
}
|
|
7686
7832
|
/**
|
|
7687
7833
|
* Updates the freeform option with the provided value.
|
|
7688
7834
|
*
|
|
@@ -7702,52 +7848,60 @@ const _BaseDropdown = class _BaseDropdown extends FASTElement {
|
|
|
7702
7848
|
this.freeformOption.value = value;
|
|
7703
7849
|
this.freeformOption.hidden = false;
|
|
7704
7850
|
}
|
|
7705
|
-
connectedCallback() {
|
|
7706
|
-
super.connectedCallback();
|
|
7707
|
-
this.anchorPositionFallback();
|
|
7708
|
-
}
|
|
7709
7851
|
disconnectedCallback() {
|
|
7710
|
-
_BaseDropdown.AnchorPositionFallbackObserver?.
|
|
7852
|
+
_BaseDropdown.AnchorPositionFallbackObserver?.disconnect();
|
|
7853
|
+
this.debounceController?.abort();
|
|
7711
7854
|
super.disconnectedCallback();
|
|
7712
7855
|
}
|
|
7713
|
-
/**
|
|
7714
|
-
* Handles the connected event for the listbox.
|
|
7715
|
-
*
|
|
7716
|
-
* @param e - the event object
|
|
7717
|
-
* @internal
|
|
7718
|
-
*/
|
|
7719
|
-
listboxConnectedHandler(e) {
|
|
7720
|
-
const target = e.target;
|
|
7721
|
-
if (isListbox(target)) {
|
|
7722
|
-
this.listbox = target;
|
|
7723
|
-
}
|
|
7724
|
-
}
|
|
7725
7856
|
/**
|
|
7726
7857
|
* When anchor positioning isn't supported, an intersection observer is used to flip the listbox when it hits the
|
|
7727
7858
|
* viewport bounds. One static observer is used for all dropdowns.
|
|
7728
7859
|
*
|
|
7729
7860
|
* @internal
|
|
7730
7861
|
*/
|
|
7731
|
-
anchorPositionFallback() {
|
|
7732
|
-
|
|
7733
|
-
|
|
7734
|
-
|
|
7735
|
-
|
|
7736
|
-
|
|
7737
|
-
|
|
7738
|
-
|
|
7739
|
-
if (
|
|
7740
|
-
|
|
7741
|
-
|
|
7742
|
-
|
|
7743
|
-
|
|
7744
|
-
|
|
7862
|
+
anchorPositionFallback(shouldObserve) {
|
|
7863
|
+
if (!_BaseDropdown.AnchorPositionFallbackObserver) {
|
|
7864
|
+
_BaseDropdown.AnchorPositionFallbackObserver = new IntersectionObserver(entries => {
|
|
7865
|
+
entries.forEach(({
|
|
7866
|
+
boundingClientRect,
|
|
7867
|
+
isIntersecting,
|
|
7868
|
+
target
|
|
7869
|
+
}) => {
|
|
7870
|
+
if (isListbox(target)) {
|
|
7871
|
+
if (boundingClientRect.bottom > window.innerHeight) {
|
|
7872
|
+
toggleState(target.elementInternals, "flip-block", true);
|
|
7873
|
+
return;
|
|
7874
|
+
}
|
|
7875
|
+
if (boundingClientRect.top < 0) {
|
|
7876
|
+
toggleState(target.elementInternals, "flip-block", false);
|
|
7877
|
+
}
|
|
7745
7878
|
}
|
|
7746
|
-
}
|
|
7879
|
+
});
|
|
7880
|
+
}, {
|
|
7881
|
+
threshold: 1
|
|
7747
7882
|
});
|
|
7748
|
-
}
|
|
7749
|
-
|
|
7750
|
-
|
|
7883
|
+
}
|
|
7884
|
+
if (shouldObserve) {
|
|
7885
|
+
this.debounceController = new AbortController();
|
|
7886
|
+
_BaseDropdown.AnchorPositionFallbackObserver.observe(this.listbox);
|
|
7887
|
+
window.addEventListener("scroll", this.repositionListbox, {
|
|
7888
|
+
passive: true,
|
|
7889
|
+
capture: true,
|
|
7890
|
+
signal: this.debounceController.signal
|
|
7891
|
+
});
|
|
7892
|
+
window.addEventListener("resize", this.repositionListbox, {
|
|
7893
|
+
passive: true,
|
|
7894
|
+
signal: this.debounceController.signal
|
|
7895
|
+
});
|
|
7896
|
+
this.repositionListbox();
|
|
7897
|
+
return;
|
|
7898
|
+
}
|
|
7899
|
+
_BaseDropdown.AnchorPositionFallbackObserver.unobserve(this.listbox);
|
|
7900
|
+
this.debounceController?.abort();
|
|
7901
|
+
if (this.frameId) {
|
|
7902
|
+
cancelAnimationFrame(this.frameId);
|
|
7903
|
+
this.frameId = void 0;
|
|
7904
|
+
}
|
|
7751
7905
|
}
|
|
7752
7906
|
};
|
|
7753
7907
|
/**
|
|
@@ -7778,7 +7932,6 @@ __decorateClass$z([attr({
|
|
|
7778
7932
|
mode: "fromView"
|
|
7779
7933
|
})], _BaseDropdown.prototype, "initialValue", 2);
|
|
7780
7934
|
__decorateClass$z([observable], _BaseDropdown.prototype, "listbox", 2);
|
|
7781
|
-
__decorateClass$z([observable], _BaseDropdown.prototype, "listboxSlot", 2);
|
|
7782
7935
|
__decorateClass$z([attr({
|
|
7783
7936
|
mode: "boolean"
|
|
7784
7937
|
})], _BaseDropdown.prototype, "multiple", 2);
|
|
@@ -7814,15 +7967,12 @@ __decorateClass$y([attr], Dropdown.prototype, "size", 2);
|
|
|
7814
7967
|
const styles$s = css`
|
|
7815
7968
|
${display("inline-flex")}
|
|
7816
7969
|
|
|
7817
|
-
:host{anchor-name:--dropdown-trigger;box-sizing:border-box;color:${colorNeutralForeground1};cursor:pointer}:host(${placeholderShownState}){color:${colorNeutralForeground4}}.control{appearance:none;background-color:${colorNeutralBackground1};border-radius:${borderRadiusMedium};border
|
|
7970
|
+
:host{anchor-name:--dropdown-trigger;box-sizing:border-box;color:${colorNeutralForeground1};cursor:pointer}:host(${placeholderShownState}){color:${colorNeutralForeground4}}.control{appearance:none;background-color:${colorNeutralBackground1};border-radius:${borderRadiusMedium};border:${strokeWidthThin} solid ${colorTransparentStroke};box-shadow:inset 0 0 0 ${strokeWidthThin} var(--control-border-color);box-sizing:border-box;color:inherit;column-gap:${spacingHorizontalXXS};display:inline-flex;justify-content:space-between;min-width:160px;overflow:hidden;padding:${spacingVerticalSNudge} ${spacingHorizontalMNudge};position:relative;text-align:start;width:100%;z-index:1;${typographyBody1Styles}}:host([size='small']) .control{column-gap:${spacingHorizontalXXS};padding:${spacingVerticalXS} ${spacingHorizontalSNudge};${typographyCaption1Styles}}:host([size='large']) .control{column-gap:${spacingHorizontalS};padding:${spacingVerticalS} ${spacingHorizontalM};${typographyBody2Styles}}::slotted(:is(input,button)){all:unset;flex:1 1 auto}::slotted(button){cursor:pointer}::slotted(input){cursor:text}:where(slot[name='indicator'] > *,::slotted([slot='indicator'])){all:unset;align-items:center;appearance:none;aspect-ratio:1;color:${colorNeutralForeground3};display:inline-flex;justify-content:center;width:20px}:host([size='small']) :where(slot[name='indicator'] > *,::slotted([slot='indicator'])){width:16px}:host([size='large']) :where(slot[name='indicator'] > *,::slotted([slot='indicator'])){width:24px}.control::after,.control::before{content:'' / '';inset:auto 0 0;pointer-events:none;position:absolute}.control::before{height:${strokeWidthThin}}.control::after{background-color:${colorCompoundBrandStroke};height:${strokeWidthThick};scale:0 1;transition:scale ${durationUltraFast} ${curveDecelerateMid}}:host(:where(:focus-within)) .control{border-radius:${borderRadiusMedium};box-shadow:inset 0 0 0 1px ${colorStrokeFocus1};outline:${strokeWidthThick} solid ${colorStrokeFocus2}}:host(:where(${openState},:focus-within)) .control::after{scale:1 1;transition-duration:${durationNormal};transition-timing-function:${curveAccelerateMid}}:host(:where([appearance='outline'],[appearance='transparent'])) .control::before{background-color:${colorNeutralStrokeAccessible}}:host([appearance='transparent']) .control{--control-border-color:${colorTransparentStrokeInteractive};background-color:${colorTransparentBackground};border-radius:${borderRadiusNone}}:host([appearance='outline']) .control{--control-border-color:${colorNeutralStroke1}}:host([appearance='outline']) .control:hover{--control-border-color:${colorNeutralStroke1Hover}}:host(:where([appearance='outline'],[appearance='transparent'])) .control:hover::before{background-color:${colorNeutralStrokeAccessibleHover}}:host([appearance='outline']) .control:hover::after{background-color:${colorCompoundBrandBackgroundHover}}:host([appearance='outline']) .control:active{--control-border-color:${colorNeutralStroke1Pressed}}:host(:where([appearance='outline'],[appearance='transparent'])) .control:active::before{background-color:${colorNeutralStrokeAccessiblePressed}}:host(:where([appearance='outline'],[appearance='transparent'])) .control:active::after{background-color:${colorCompoundBrandBackgroundPressed}}:host([appearance='filled-darker']) .control{background-color:${colorNeutralBackground3}}:host(:where([appearance='filled-lighter'],[appearance='filled-darker'])) .control{--control-border-color:${colorTransparentStroke}}:host(:disabled),:host(:disabled) ::slotted(:where(button,input)){cursor:not-allowed}:host(:disabled) .control::before,:host(:disabled) .control::after{content:none}:host(:disabled) .control:is(*,:active,:hover),:host(:disabled) :where(slot[name='indicator'] > *,::slotted([slot='indicator'])){--control-border-color:${colorNeutralStrokeDisabled};background-color:${colorNeutralBackgroundDisabled};color:${colorNeutralForegroundDisabled}}::slotted([popover]:not(:popover-open)){display:none}@supports not (anchor-name:--anchor){:host{--listbox-max-height:50vh;--margin-offset:calc(${lineHeightBase300} + (${spacingVerticalSNudge} * 2) + ${strokeWidthThin})}:host([size='small']){--margin-offset:calc(${lineHeightBase200} + (${spacingVerticalXS} * 2) + ${strokeWidthThin})}:host([size='large']){--margin-offset:calc(${lineHeightBase400} + (${spacingVerticalS} * 2) + ${strokeWidthThin})}}@media (forced-colors:active){:host(:disabled) .control{border-color:GrayText}:host(:disabled) :where(slot[name='indicator'] > *,::slotted([slot='indicator'])){color:GrayText}`;
|
|
7818
7971
|
|
|
7819
7972
|
const definition$t = Dropdown.compose({
|
|
7820
7973
|
name: `${FluentDesignSystem.prefix}-dropdown`,
|
|
7821
7974
|
template: template$t,
|
|
7822
|
-
styles: styles$s
|
|
7823
|
-
shadowOptions: {
|
|
7824
|
-
slotAssignment: "manual"
|
|
7825
|
-
}
|
|
7975
|
+
styles: styles$s
|
|
7826
7976
|
});
|
|
7827
7977
|
|
|
7828
7978
|
definition$t.define(FluentDesignSystem.registry);
|
|
@@ -7887,15 +8037,6 @@ class BaseField extends FASTElement {
|
|
|
7887
8037
|
*/
|
|
7888
8038
|
messageSlotChanged(prev, next) {
|
|
7889
8039
|
toggleState(this.elementInternals, "has-message", !!next.length);
|
|
7890
|
-
if (!next.length) {
|
|
7891
|
-
this.removeEventListener("invalid", this.invalidHandler, {
|
|
7892
|
-
capture: true
|
|
7893
|
-
});
|
|
7894
|
-
return;
|
|
7895
|
-
}
|
|
7896
|
-
this.addEventListener("invalid", this.invalidHandler, {
|
|
7897
|
-
capture: true
|
|
7898
|
-
});
|
|
7899
8040
|
}
|
|
7900
8041
|
/**
|
|
7901
8042
|
* Sets the `input` property to the first slotted input.
|
|
@@ -7905,9 +8046,9 @@ class BaseField extends FASTElement {
|
|
|
7905
8046
|
* @internal
|
|
7906
8047
|
*/
|
|
7907
8048
|
slottedInputsChanged(prev, next) {
|
|
7908
|
-
|
|
7909
|
-
|
|
7910
|
-
this.
|
|
8049
|
+
const filtered = next?.filter(node => node.nodeType === Node.ELEMENT_NODE) ?? [];
|
|
8050
|
+
if (filtered?.length) {
|
|
8051
|
+
this.input = filtered?.[0];
|
|
7911
8052
|
}
|
|
7912
8053
|
}
|
|
7913
8054
|
/**
|
|
@@ -7920,6 +8061,11 @@ class BaseField extends FASTElement {
|
|
|
7920
8061
|
if (next) {
|
|
7921
8062
|
this.setStates();
|
|
7922
8063
|
this.setLabelProperties();
|
|
8064
|
+
this.slottedInputObserver.observe(this.input, {
|
|
8065
|
+
attributes: true,
|
|
8066
|
+
attributeFilter: ["disabled", "required", "readonly"],
|
|
8067
|
+
subtree: true
|
|
8068
|
+
});
|
|
7923
8069
|
}
|
|
7924
8070
|
}
|
|
7925
8071
|
/**
|
|
@@ -7945,6 +8091,22 @@ class BaseField extends FASTElement {
|
|
|
7945
8091
|
}
|
|
7946
8092
|
return true;
|
|
7947
8093
|
}
|
|
8094
|
+
connectedCallback() {
|
|
8095
|
+
super.connectedCallback();
|
|
8096
|
+
this.addEventListener("invalid", this.invalidHandler, {
|
|
8097
|
+
capture: true
|
|
8098
|
+
});
|
|
8099
|
+
this.slottedInputObserver = new MutationObserver(() => {
|
|
8100
|
+
this.setStates();
|
|
8101
|
+
});
|
|
8102
|
+
}
|
|
8103
|
+
disconnectedCallback() {
|
|
8104
|
+
this.slottedInputObserver.disconnect();
|
|
8105
|
+
this.removeEventListener("invalid", this.invalidHandler, {
|
|
8106
|
+
capture: true
|
|
8107
|
+
});
|
|
8108
|
+
super.disconnectedCallback();
|
|
8109
|
+
}
|
|
7948
8110
|
/**
|
|
7949
8111
|
* Applies the `focus-visible` state to the element when the slotted input receives visible focus.
|
|
7950
8112
|
*
|
|
@@ -7991,7 +8153,6 @@ class BaseField extends FASTElement {
|
|
|
7991
8153
|
if (label instanceof HTMLLabelElement) {
|
|
7992
8154
|
label.htmlFor = label.htmlFor || this.input.id;
|
|
7993
8155
|
label.id = label.id || `${this.input.id}--label`;
|
|
7994
|
-
label.setAttribute("aria-hidden", "true");
|
|
7995
8156
|
this.input.setAttribute("aria-labelledby", label.id);
|
|
7996
8157
|
}
|
|
7997
8158
|
});
|
|
@@ -8011,7 +8172,7 @@ class BaseField extends FASTElement {
|
|
|
8011
8172
|
}
|
|
8012
8173
|
}
|
|
8013
8174
|
setValidationStates() {
|
|
8014
|
-
if (!this.input
|
|
8175
|
+
if (!this.input?.validity) {
|
|
8015
8176
|
return;
|
|
8016
8177
|
}
|
|
8017
8178
|
for (const [flag, value] of Object.entries(ValidationFlags)) {
|
|
@@ -8045,16 +8206,9 @@ __decorateClass$w([attr({
|
|
|
8045
8206
|
const styles$r = css`
|
|
8046
8207
|
${display("inline-grid")}
|
|
8047
8208
|
|
|
8048
|
-
:host{color:${colorNeutralForeground1};align-items:center;gap:0 ${spacingHorizontalM};justify-items:start
|
|
8209
|
+
:host{color:${colorNeutralForeground1};align-items:center;gap:0 ${spacingHorizontalM};justify-items:start}:has([slot='message']){color:${colorNeutralForeground1};row-gap:${spacingVerticalS}}:not(::slotted([slot='label'])){gap:0}:host([label-position='before']){grid-template-areas:'label input' 'label message'}:host([label-position='after']){gap:0;grid-template-areas:'input label' 'message message';grid-template-columns:auto 1fr}:host([label-position='after']) ::slotted([slot='input']){margin-inline-end:${spacingHorizontalM}}:host([label-position='above']){grid-template-areas:'label' 'input' 'message';row-gap:${spacingVerticalXXS}}:host([label-position='below']){grid-template-areas:'input' 'label' 'message';justify-items:center}:host([label-position='below']) ::slotted([slot='label']){margin-block-start:${spacingVerticalM}}:host(${requiredState}) ::slotted([slot='label'])::after{content:'*' / '';color:${colorPaletteRedForeground1};margin-inline-start:${spacingHorizontalXS}}::slotted([slot='input']){grid-area:input}::slotted([slot='message']){color:${colorNeutralForeground3};font-family:${fontFamilyBase};font-size:${fontSizeBase200};font-weight:${fontWeightRegular};grid-area:message;line-height:${lineHeightBase200};margin-block-start:${spacingVerticalXXS}}:host(${focusVisibleState}:focus-within){border-radius:${borderRadiusMedium};outline:${strokeWidthThick} solid ${colorStrokeFocus2}}::slotted(label),::slotted([slot='label']){cursor:inherit;display:inline-flex;font-family:${fontFamilyBase};font-size:${fontSizeBase300};font-weight:${fontWeightRegular};grid-area:label;line-height:${lineHeightBase300};justify-self:stretch;user-select:none}:host([size='small']) ::slotted(label){font-size:${fontSizeBase200};line-height:${lineHeightBase200}}:host([size='large']) ::slotted(label){font-size:${fontSizeBase400};line-height:${lineHeightBase400}}:host([size='large']) ::slotted(label),:host([weight='semibold']) ::slotted(label){font-weight:${fontWeightSemibold}}:host(${disabledState}){cursor:default}::slotted([flag]){display:none}:host(${badInputState}) ::slotted([flag='${ValidationFlags.badInput}']),:host(${customErrorState}) ::slotted([flag='${ValidationFlags.customError}']),:host(${patternMismatchState}) ::slotted([flag='${ValidationFlags.patternMismatch}']),:host(${rangeOverflowState}) ::slotted([flag='${ValidationFlags.rangeOverflow}']),:host(${rangeUnderflowState}) ::slotted([flag='${ValidationFlags.rangeUnderflow}']),:host(${stepMismatchState}) ::slotted([flag='${ValidationFlags.stepMismatch}']),:host(${tooLongState}) ::slotted([flag='${ValidationFlags.tooLong}']),:host(${tooShortState}) ::slotted([flag='${ValidationFlags.tooShort}']),:host(${typeMismatchState}) ::slotted([flag='${ValidationFlags.typeMismatch}']),:host(${valueMissingState}) ::slotted([flag='${ValidationFlags.valueMissing}']),:host(${validState}) ::slotted([flag='${ValidationFlags.valid}']){display:block}`;
|
|
8049
8210
|
|
|
8050
|
-
const template$s = html`<template @click="${(x, c) => x.clickHandler(c.event)}" @change="${(x, c) => x.changeHandler(c.event)}" @focusin="${(x, c) => x.focusinHandler(c.event)}" @focusout="${(x, c) => x.focusoutHandler(c.event)}" ${
|
|
8051
|
-
property: "slottedInputs",
|
|
8052
|
-
attributes: true,
|
|
8053
|
-
attributeFilter: ["disabled", "required", "readonly"],
|
|
8054
|
-
subtree: true,
|
|
8055
|
-
selector: '[slot="input"]',
|
|
8056
|
-
filter: elements()
|
|
8057
|
-
})}><slot name="label" part="label" ${slotted("labelSlot")}></slot><slot name="input" part="input"></slot><slot name="message" part="message" ${slotted({
|
|
8211
|
+
const template$s = html`<template @click="${(x, c) => x.clickHandler(c.event)}" @change="${(x, c) => x.changeHandler(c.event)}" @focusin="${(x, c) => x.focusinHandler(c.event)}" @focusout="${(x, c) => x.focusoutHandler(c.event)}"><slot name="label" part="label" ${slotted("labelSlot")}></slot><slot name="input" part="input" ${slotted("slottedInputs")}></slot><slot name="message" part="message" ${slotted({
|
|
8058
8212
|
property: "messageSlot",
|
|
8059
8213
|
filter: elements("[flag]")
|
|
8060
8214
|
})}></slot></template>`;
|
|
@@ -8134,7 +8288,7 @@ const styles$p = css`
|
|
|
8134
8288
|
:host{color:${colorNeutralForeground1};cursor:pointer;font-family:${fontFamilyBase};font-size:${fontSizeBase300};font-weight:${fontWeightRegular};line-height:${lineHeightBase300};user-select:none}.asterisk{color:${colorPaletteRedForeground1};margin-inline-start:${spacingHorizontalXS}}:host([size='small']){font-size:${fontSizeBase200};line-height:${lineHeightBase200}}:host([size='large']){font-size:${fontSizeBase400};line-height:${lineHeightBase400}}:host(:is([size='large'],[weight='semibold'])){font-weight:${fontWeightSemibold}}:host([disabled]),:host([disabled]) .asterisk{color:${colorNeutralForegroundDisabled}}`;
|
|
8135
8289
|
|
|
8136
8290
|
function labelTemplate() {
|
|
8137
|
-
return html`<slot></slot><span part="asterisk" class="asterisk" ?hidden="${x => !x.required}">*</span>`;
|
|
8291
|
+
return html`<slot></slot><span part="asterisk" class="asterisk" aria-hidden="true" ?hidden="${x => !x.required}">*</span>`;
|
|
8138
8292
|
}
|
|
8139
8293
|
const template$q = labelTemplate();
|
|
8140
8294
|
|
|
@@ -8283,10 +8437,6 @@ class Listbox extends FASTElement {
|
|
|
8283
8437
|
}
|
|
8284
8438
|
return true;
|
|
8285
8439
|
}
|
|
8286
|
-
connectedCallback() {
|
|
8287
|
-
super.connectedCallback();
|
|
8288
|
-
this.$emit("connected");
|
|
8289
|
-
}
|
|
8290
8440
|
/**
|
|
8291
8441
|
* Handles observable subscriptions for the listbox.
|
|
8292
8442
|
*
|
|
@@ -8326,6 +8476,20 @@ class Listbox extends FASTElement {
|
|
|
8326
8476
|
}
|
|
8327
8477
|
this.selectedIndex = selectedIndex;
|
|
8328
8478
|
}
|
|
8479
|
+
/**
|
|
8480
|
+
* Handles the `slotchange` event for the default slot.
|
|
8481
|
+
* Sets the `options` property to the list of slotted options.
|
|
8482
|
+
*
|
|
8483
|
+
* @param e - The slotchange event
|
|
8484
|
+
* @public
|
|
8485
|
+
*/
|
|
8486
|
+
slotchangeHandler(e) {
|
|
8487
|
+
const target = e.target;
|
|
8488
|
+
waitForConnectedDescendants(this, () => {
|
|
8489
|
+
const options = target.assignedElements().filter(option => isDropdownOption(option));
|
|
8490
|
+
this.options = options;
|
|
8491
|
+
});
|
|
8492
|
+
}
|
|
8329
8493
|
}
|
|
8330
8494
|
__decorateClass$s([attr({
|
|
8331
8495
|
attribute: "id",
|
|
@@ -8339,13 +8503,10 @@ __decorateClass$s([observable], Listbox.prototype, "dropdown", 2);
|
|
|
8339
8503
|
const styles$n = css`
|
|
8340
8504
|
${display("inline-flex")}
|
|
8341
8505
|
|
|
8342
|
-
:host{background-color:${colorNeutralBackground1};border-radius:${borderRadiusMedium};border
|
|
8506
|
+
:host{background-color:${colorNeutralBackground1};border-radius:${borderRadiusMedium};border:${strokeWidthThin} solid ${colorTransparentStroke};box-shadow:${shadow16};box-sizing:border-box;flex-direction:column;margin:0;min-width:160px;padding:${spacingHorizontalXS};row-gap:${spacingHorizontalXXS};width:auto}:host([popover]){inset:unset;overflow:auto}@supports (anchor-name:--anchor){:host([popover]){position:absolute;margin-block-start:0;max-height:var(--listbox-max-height,calc(50vh - anchor-size(self-block)));min-width:anchor-size(width);position-anchor:--dropdown;position-area:block-end span-inline-end;position-try-fallbacks:flip-inline,flip-block,--flip-block,block-start}@position-try --flip-block{bottom:anchor(top);top:unset}}@supports not (anchor-name:--anchor){:host([popover]){margin-block-start:var(--margin-offset,0);max-height:var(--listbox-max-height,50vh);position:fixed}:host([popover]${flipBlockState}){margin-block-start:revert;translate:0 -100%}}`;
|
|
8343
8507
|
|
|
8344
8508
|
function listboxTemplate() {
|
|
8345
|
-
return html`<template id="${x => x.id}" @beforetoggle="${(x, c) => x.beforetoggleHandler(c.event)}" @click="${(x, c) => x.clickHandler(c.event)}"><slot ${
|
|
8346
|
-
property: "options",
|
|
8347
|
-
filter: node => isDropdownOption(node)
|
|
8348
|
-
})}></slot></template>`;
|
|
8509
|
+
return html`<template id="${x => x.id}" @beforetoggle="${(x, c) => x.beforetoggleHandler(c.event)}" @click="${(x, c) => x.clickHandler(c.event)}"><slot @slotchange="${(x, c) => x.slotchangeHandler(c.event)}"></slot></template>`;
|
|
8349
8510
|
}
|
|
8350
8511
|
const template$o = listboxTemplate();
|
|
8351
8512
|
|
|
@@ -8360,7 +8521,7 @@ definition$o.define(FluentDesignSystem.registry);
|
|
|
8360
8521
|
class MenuButton extends Button {}
|
|
8361
8522
|
|
|
8362
8523
|
const template$n = buttonTemplate$1({
|
|
8363
|
-
end: html.partial(
|
|
8524
|
+
end: html.partial(/* html */
|
|
8364
8525
|
`
|
|
8365
8526
|
<svg slot="end" fill="currentColor" aria-hidden="true" width="1em" height="1em" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
|
8366
8527
|
<path d="M15.85 7.65c.2.2.2.5 0 .7l-5.46 5.49a.55.55 0 0 1-.78 0L4.15 8.35a.5.5 0 1 1 .7-.7L10 12.8l5.15-5.16c.2-.2.5-.2.7 0Z" fill="currentColor"></path>
|
|
@@ -8395,6 +8556,12 @@ const MenuItemRole = {
|
|
|
8395
8556
|
[MenuItemRole.menuitemcheckbox]: "menuitemcheckbox",
|
|
8396
8557
|
[MenuItemRole.menuitemradio]: "menuitemradio"
|
|
8397
8558
|
});
|
|
8559
|
+
function isMenuItem(element, tagName = "-menu-item") {
|
|
8560
|
+
if (element?.nodeType !== Node.ELEMENT_NODE) {
|
|
8561
|
+
return false;
|
|
8562
|
+
}
|
|
8563
|
+
return element.tagName.toLowerCase().endsWith(tagName);
|
|
8564
|
+
}
|
|
8398
8565
|
|
|
8399
8566
|
var __defProp$r = Object.defineProperty;
|
|
8400
8567
|
var __getOwnPropDesc$r = Object.getOwnPropertyDescriptor;
|
|
@@ -8607,7 +8774,7 @@ applyMixins(MenuItem, StartEnd);
|
|
|
8607
8774
|
const styles$m = css`
|
|
8608
8775
|
${display("grid")}
|
|
8609
8776
|
|
|
8610
|
-
:host{--indent:0;align-items:center;background:${colorNeutralBackground1};border-radius:${borderRadiusMedium};color:${colorNeutralForeground2};contain:layout;cursor:pointer;flex-shrink:0;font:${fontWeightRegular} ${fontSizeBase300} / ${lineHeightBase300} ${fontFamilyBase};grid-gap:4px;grid-template-columns:20px 20px auto 20px;height:32px;overflow:visible;padding:0 10px}:host(:hover){background:${colorNeutralBackground1Hover};color:${colorNeutralForeground2Hover}}:host(:active){background-color:${colorNeutralBackground1Selected};color:${colorNeutralForeground2Pressed}}:host(:active) ::slotted([slot='start']){color:${colorCompoundBrandForeground1Pressed}}:host(${disabledState}){background-color:${colorNeutralBackgroundDisabled};color:${colorNeutralForegroundDisabled}}:host(${disabledState}) ::slotted([slot='start']),:host(${disabledState}) ::slotted([slot='end']){color:${colorNeutralForegroundDisabled}}:host(:focus-visible){border-radius:${borderRadiusMedium};outline:2px solid ${colorStrokeFocus2}}.content{white-space:nowrap;flex-grow:1;grid-column:auto / span 2;padding:0 2px}:host(:not(${checkedState})) .indicator,:host(:not(${checkedState})) ::slotted([slot='indicator']),:host(:not(${submenuState})) .submenu-glyph,:host(:not(${submenuState})) ::slotted([slot='submenu-glyph']){display:none}::slotted([slot='end']){color:${colorNeutralForeground3};font:${fontWeightRegular} ${fontSizeBase200} / ${lineHeightBase200} ${fontFamilyBase};white-space:nowrap}:host([data-indent='1']){--indent:1}:host([data-indent='2']){--indent:2;grid-template-columns:20px 20px auto auto}:host(${submenuState}){grid-template-columns:20px auto auto 20px}:host([data-indent='2']${submenuState}){grid-template-columns:20px 20px auto auto 20px}.indicator,::slotted([slot='indicator']){grid-column:1 / span 1;width:20px}::slotted([slot='start']){display:inline-flex;grid-column:calc(var(--indent)) / span 1}.content{grid-column:calc(var(--indent) + 1) / span 1}::slotted([slot='end']){grid-column:calc(var(--indent) + 2) / span 1;justify-self:end}.submenu-glyph,::slotted([slot='submenu-glyph']){grid-column:-2 / span 1;justify-self:end}@layer popover{:host{anchor-name:--menu-trigger;position:relative}::slotted([popover]){margin:0;max-height:var(--menu-max-height,auto);position:absolute;position-anchor:--menu-trigger;position-area:inline-end span-block-end;position-try-fallbacks:flip-inline;z-index:1}::slotted([popover]:not(:popover-open)){display:none}::slotted([popover]:popover-open){inset:unset}@supports not (anchor-name:--menu-trigger){::slotted([popover]){align-self:start}}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
|
|
8777
|
+
:host{--indent:0;align-items:center;background:${colorNeutralBackground1};border-radius:${borderRadiusMedium};color:${colorNeutralForeground2};contain:layout;cursor:pointer;flex-shrink:0;font:${fontWeightRegular} ${fontSizeBase300} / ${lineHeightBase300} ${fontFamilyBase};grid-gap:4px;grid-template-columns:20px 20px auto 20px;height:32px;overflow:visible;padding:0 10px}:host(:hover){background:${colorNeutralBackground1Hover};color:${colorNeutralForeground2Hover}}:host(:active){background-color:${colorNeutralBackground1Selected};color:${colorNeutralForeground2Pressed}}:host(:active) ::slotted([slot='start']){color:${colorCompoundBrandForeground1Pressed}}:host(${disabledState}){background-color:${colorNeutralBackgroundDisabled};color:${colorNeutralForegroundDisabled}}:host(${disabledState}) ::slotted([slot='start']),:host(${disabledState}) ::slotted([slot='end']){color:${colorNeutralForegroundDisabled}}:host(:focus-visible){border-radius:${borderRadiusMedium};outline:2px solid ${colorStrokeFocus2}}.content{white-space:nowrap;flex-grow:1;grid-column:auto / span 2;padding:0 2px}:host(:not(${checkedState})) .indicator,:host(:not(${checkedState})) ::slotted([slot='indicator']),:host(:not(${submenuState})) .submenu-glyph,:host(:not(${submenuState})) ::slotted([slot='submenu-glyph']){display:none}::slotted([slot='end']){color:${colorNeutralForeground3};font:${fontWeightRegular} ${fontSizeBase200} / ${lineHeightBase200} ${fontFamilyBase};white-space:nowrap}:host([data-indent='1']){--indent:1}:host([data-indent='2']){--indent:2;grid-template-columns:20px 20px auto auto}:host(${submenuState}){grid-template-columns:20px auto auto 20px}:host([data-indent='2']${submenuState}){grid-template-columns:20px 20px auto auto 20px}.indicator,::slotted([slot='indicator']){grid-column:1 / span 1;width:20px}::slotted([slot='start']){display:inline-flex;grid-column:calc(var(--indent)) / span 1}.content{grid-column:calc(var(--indent) + 1) / span 1}::slotted([slot='end']){grid-column:calc(var(--indent) + 2) / span 1;justify-self:end}.submenu-glyph,::slotted([slot='submenu-glyph']){grid-column:-2 / span 1;justify-self:end}@layer popover{:host{anchor-name:--menu-trigger;position:relative}::slotted([popover]){margin:0;max-height:var(--menu-max-height,auto);position:absolute;position-anchor:--menu-trigger;position-area:inline-end span-block-end;position-try-fallbacks:flip-inline,block-start,block-end;z-index:1}::slotted([popover]:not(:popover-open)){display:none}::slotted([popover]:popover-open){inset:unset}@supports not (anchor-name:--menu-trigger){::slotted([popover]){align-self:start}}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
|
|
8611
8778
|
:host(${disabledState}),:host(${disabledState}) ::slotted([slot='start']),:host(${disabledState}) ::slotted([slot='end']){color:GrayText}`));
|
|
8612
8779
|
|
|
8613
8780
|
const Checkmark16Filled = html.partial(`<svg class="indicator" fill="currentColor" aria-hidden="true" width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M14.05 3.49c.28.3.27.77-.04 1.06l-7.93 7.47A.85.85 0 014.9 12L2.22 9.28a.75.75 0 111.06-1.06l2.24 2.27 7.47-7.04a.75.75 0 011.06.04z" fill="currentColor"></path></svg>`);
|
|
@@ -8718,7 +8885,7 @@ const _MenuList = class _MenuList extends FASTElement {
|
|
|
8718
8885
|
* check if the item is a menu item
|
|
8719
8886
|
*/
|
|
8720
8887
|
this.isMenuItemElement = el => {
|
|
8721
|
-
return el
|
|
8888
|
+
return isMenuItem(el) || isHTMLElement(el) && el.getAttribute("role") in _MenuList.focusableElementRoles;
|
|
8722
8889
|
};
|
|
8723
8890
|
/**
|
|
8724
8891
|
* check if the item is focusable
|
|
@@ -8818,9 +8985,7 @@ const _MenuList = class _MenuList extends FASTElement {
|
|
|
8818
8985
|
return Math.max(accum, elementValue);
|
|
8819
8986
|
}, 0);
|
|
8820
8987
|
filteredMenuListItems?.forEach(item => {
|
|
8821
|
-
|
|
8822
|
-
item.setAttribute("data-indent", `${indent}`);
|
|
8823
|
-
}
|
|
8988
|
+
item.dataset.indent = `${indent}`;
|
|
8824
8989
|
});
|
|
8825
8990
|
}
|
|
8826
8991
|
/**
|
|
@@ -8931,10 +9096,12 @@ class Menu extends FASTElement {
|
|
|
8931
9096
|
*/
|
|
8932
9097
|
this.toggleHandler = e => {
|
|
8933
9098
|
if (e.type === "toggle" && e.newState) {
|
|
8934
|
-
const newState = e.newState === "open"
|
|
9099
|
+
const newState = e.newState === "open";
|
|
8935
9100
|
this._trigger?.setAttribute("aria-expanded", `${newState}`);
|
|
8936
9101
|
this._open = newState;
|
|
8937
|
-
this.
|
|
9102
|
+
if (this._open) {
|
|
9103
|
+
this.focusMenuList();
|
|
9104
|
+
}
|
|
8938
9105
|
}
|
|
8939
9106
|
};
|
|
8940
9107
|
/**
|
|
@@ -8977,7 +9144,9 @@ class Menu extends FASTElement {
|
|
|
8977
9144
|
*/
|
|
8978
9145
|
connectedCallback() {
|
|
8979
9146
|
super.connectedCallback();
|
|
8980
|
-
|
|
9147
|
+
queueMicrotask(() => {
|
|
9148
|
+
this.setComponent();
|
|
9149
|
+
});
|
|
8981
9150
|
}
|
|
8982
9151
|
/**
|
|
8983
9152
|
* Called when the element is disconnected from the DOM.
|
|
@@ -9332,6 +9501,7 @@ class DropdownOption extends FASTElement {
|
|
|
9332
9501
|
disabledChanged(prev, next) {
|
|
9333
9502
|
this.elementInternals.ariaDisabled = this.disabled ? "true" : "false";
|
|
9334
9503
|
toggleState(this.elementInternals, "disabled", this.disabled);
|
|
9504
|
+
this.setFormValue(!this.disabled && this.selected ? this.value : null);
|
|
9335
9505
|
}
|
|
9336
9506
|
/**
|
|
9337
9507
|
* Sets the disabled state when the `disabled` attribute changes.
|
|
@@ -9510,10 +9680,10 @@ const styles$i = css`
|
|
|
9510
9680
|
${display("inline-grid")}
|
|
9511
9681
|
|
|
9512
9682
|
:host{-webkit-tap-highlight-color:transparent;${typographyBody1Styles}
|
|
9513
|
-
align-items:center;background-color:${colorNeutralBackground1};border-radius:${borderRadiusMedium};
|
|
9514
|
-
'indicator start description'}::slotted([slot='description']){color:${colorNeutralForeground3};grid-area:description;${typographyCaption1Styles}}`;
|
|
9683
|
+
align-items:center;background-color:${colorNeutralBackground1};border-radius:${borderRadiusMedium};box-sizing:border-box;color:${colorNeutralForeground2};column-gap:${spacingHorizontalXS};cursor:pointer;grid-template-areas:'indicator start content';grid-template-columns:auto auto 1fr;min-height:32px;padding:${spacingHorizontalSNudge};text-align:start}.content{grid-area:content;line-height:1}::slotted([slot='start']){grid-area:start}:host(:hover){background-color:${colorNeutralBackground1Hover};color:${colorNeutralForeground2Hover}}:host(:active){background-color:${colorNeutralBackground1Pressed};color:${colorNeutralForeground2Pressed}}:host(:disabled){background-color:${colorNeutralBackground1};color:${colorNeutralForegroundDisabled};cursor:default}.checkmark-16-filled{fill:currentColor;width:16px}slot[name='checked-indicator'] > *,::slotted([slot='checked-indicator']){aspect-ratio:1;flex:0 0 auto;grid-area:indicator;visibility:hidden}:host(${selectedState}) :is(slot[name='checked-indicator'] > *,::slotted([slot='checked-indicator'])){visibility:visible}:host(${multipleState}) .checkmark-16-filled,:host(:not(${multipleState})) .checkmark-12-regular{display:none}:host(${multipleState}) .checkmark-12-regular{background-color:${colorNeutralBackground1};border-radius:${borderRadiusSmall};border:${strokeWidthThin} solid ${colorNeutralStrokeAccessible};box-sizing:border-box;cursor:pointer;fill:transparent;position:relative;visibility:visible;width:16px}:host(${multipleState}${selectedState}) .checkmark-12-regular{background-color:${colorCompoundBrandBackground};border-color:${colorCompoundBrandStroke};fill:${colorNeutralForegroundInverted}}:host(:disabled${multipleState}) .checkmark-12-regular{border-color:${colorNeutralStrokeDisabled}}:host(:disabled${multipleState}${selectedState}) .checkmark-12-regular{background-color:${colorNeutralBackgroundDisabled}}:host(${activeState}){border:${strokeWidthThick} solid ${colorStrokeFocus2}}@supports (selector(:host(:has(*)))){:host(:has([slot='start']:not([size='16']))){column-gap:${spacingHorizontalSNudge}}}:host(${descriptionState}){column-gap:${spacingHorizontalSNudge};grid-template-areas:'indicator start content'
|
|
9684
|
+
'indicator start description'}::slotted([slot='description']){color:${colorNeutralForeground3};grid-area:description;${typographyCaption1Styles}}@media (forced-colors:active){:host(:disabled){color:GrayText}}`;
|
|
9515
9685
|
|
|
9516
|
-
const checkedIndicator$1 = html.partial(
|
|
9686
|
+
const checkedIndicator$1 = html.partial(/* html */
|
|
9517
9687
|
`
|
|
9518
9688
|
<svg aria-hidden="true" class="checkmark-16-filled" viewBox="0 0 16 16">
|
|
9519
9689
|
<path
|
|
@@ -9585,6 +9755,7 @@ class BaseProgressBar extends FASTElement {
|
|
|
9585
9755
|
*/
|
|
9586
9756
|
valueChanged(prev, next) {
|
|
9587
9757
|
this.elementInternals.ariaValueNow = typeof next === "number" ? `${next}` : null;
|
|
9758
|
+
this.setIndicatorWidth();
|
|
9588
9759
|
}
|
|
9589
9760
|
/**
|
|
9590
9761
|
* Updates the percent complete when the `min` property changes.
|
|
@@ -9594,6 +9765,7 @@ class BaseProgressBar extends FASTElement {
|
|
|
9594
9765
|
*/
|
|
9595
9766
|
minChanged(prev, next) {
|
|
9596
9767
|
this.elementInternals.ariaValueMin = typeof next === "number" ? `${next}` : null;
|
|
9768
|
+
this.setIndicatorWidth();
|
|
9597
9769
|
}
|
|
9598
9770
|
/**
|
|
9599
9771
|
* Updates the percent complete when the `max` property changes.
|
|
@@ -9604,15 +9776,29 @@ class BaseProgressBar extends FASTElement {
|
|
|
9604
9776
|
*/
|
|
9605
9777
|
maxChanged(prev, next) {
|
|
9606
9778
|
this.elementInternals.ariaValueMax = typeof next === "number" ? `${next}` : null;
|
|
9779
|
+
this.setIndicatorWidth();
|
|
9780
|
+
}
|
|
9781
|
+
connectedCallback() {
|
|
9782
|
+
super.connectedCallback();
|
|
9783
|
+
this.setIndicatorWidth();
|
|
9607
9784
|
}
|
|
9608
|
-
|
|
9785
|
+
setIndicatorWidth() {
|
|
9786
|
+
if (!this.$fastController.isConnected || CSS.supports("width: attr(value type(<number>))")) {
|
|
9787
|
+
return;
|
|
9788
|
+
}
|
|
9789
|
+
if (typeof this.value !== "number") {
|
|
9790
|
+
this.indicator.style.removeProperty("width");
|
|
9791
|
+
return;
|
|
9792
|
+
}
|
|
9609
9793
|
const min = this.min ?? 0;
|
|
9610
9794
|
const max = this.max ?? 100;
|
|
9611
9795
|
const value = this.value ?? 0;
|
|
9612
9796
|
const range = max - min;
|
|
9613
|
-
|
|
9797
|
+
const width = range === 0 ? 0 : Math.fround((value - min) / range * 100);
|
|
9798
|
+
this.indicator.style.setProperty("width", `${width}%`);
|
|
9614
9799
|
}
|
|
9615
9800
|
}
|
|
9801
|
+
__decorateClass$m([observable], BaseProgressBar.prototype, "indicator", 2);
|
|
9616
9802
|
__decorateClass$m([attr({
|
|
9617
9803
|
attribute: "validation-state"
|
|
9618
9804
|
})], BaseProgressBar.prototype, "validationState", 2);
|
|
@@ -9625,7 +9811,6 @@ __decorateClass$m([attr({
|
|
|
9625
9811
|
__decorateClass$m([attr({
|
|
9626
9812
|
converter: nullableNumberConverter
|
|
9627
9813
|
})], BaseProgressBar.prototype, "max", 2);
|
|
9628
|
-
__decorateClass$m([volatile], BaseProgressBar.prototype, "percentComplete", 1);
|
|
9629
9814
|
|
|
9630
9815
|
var __defProp$l = Object.defineProperty;
|
|
9631
9816
|
var __getOwnPropDesc$l = Object.getOwnPropertyDescriptor;
|
|
@@ -9642,13 +9827,13 @@ __decorateClass$l([attr], ProgressBar.prototype, "shape", 2);
|
|
|
9642
9827
|
const styles$h = css`
|
|
9643
9828
|
${display("block")}
|
|
9644
9829
|
|
|
9645
|
-
:host{width:100%;height:2px;overflow-x:hidden;background-color:${colorNeutralBackground6};border-radius:${borderRadiusMedium};contain:content}:host([thickness='large']){height:4px}:host([shape='square']){border-radius:${borderRadiusNone}}.indicator{background-color:${colorCompoundBrandBackground};border-radius:inherit;height:100%}:host([value]) .indicator{transition:all 0.2s ease-in-out}:host(:not([value])) .indicator{position:relative;width:33%;background-image:linear-gradient(
|
|
9830
|
+
:host{width:100%;height:2px;overflow-x:hidden;background-color:${colorNeutralBackground6};border-radius:${borderRadiusMedium};contain:content;@supports (width:attr(value type(<number>))){--max:attr(max type(<number>),100);--min:attr(min type(<number>),0);--value:attr(value type(<number>),0);--indicator-width:clamp(0%,calc((var(--value) - var(--min)) / (var(--max) - var(--min)) * 100%),100%)}}:host([thickness='large']){height:4px}:host([shape='square']){border-radius:${borderRadiusNone}}.indicator{background-color:${colorCompoundBrandBackground};border-radius:inherit;height:100%}:host([value]) .indicator{transition:all 0.2s ease-in-out;@supports (width:attr(value type(<number>))){width:var(--indicator-width)}}:host(:not([value])) .indicator{position:relative;width:33%;background-image:linear-gradient(
|
|
9646
9831
|
to right,${colorNeutralBackground6} 0%,${colorTransparentBackground} 50%,${colorNeutralBackground6} 100%
|
|
9647
9832
|
);animation-name:indeterminate;animation-duration:3s;animation-timing-function:linear;animation-iteration-count:infinite}:host([validation-state='error']) .indicator{background-color:${colorPaletteRedBackground3}}:host([validation-state='warning']) .indicator{background-color:${colorPaletteDarkOrangeBackground3}}:host([validation-state='success']) .indicator{background-color:${colorPaletteGreenBackground3}}@layer animations{@media (prefers-reduced-motion:no-preference){:host([value]){transition:none}:host(:not([value])) .indicator{animation-duration:0.01ms;animation-iteration-count:1}}}@keyframes indeterminate{0%{inset-inline-start:-33%}100%{inset-inline-start:100%}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
|
|
9648
9833
|
:host{background-color:CanvasText}.indicator,:host(:is([validation-state='success'],[validation-state='warning'],[validation-state='error'])) .indicator{background-color:Highlight}`));
|
|
9649
9834
|
|
|
9650
9835
|
function progressTemplate() {
|
|
9651
|
-
return html`<div class="indicator" part="indicator"
|
|
9836
|
+
return html`<div class="indicator" part="indicator" ${ref("indicator")}></div>`;
|
|
9652
9837
|
}
|
|
9653
9838
|
const template$h = progressTemplate();
|
|
9654
9839
|
|
|
@@ -9661,10 +9846,6 @@ const definition$h = ProgressBar.compose({
|
|
|
9661
9846
|
definition$h.define(FluentDesignSystem.registry);
|
|
9662
9847
|
|
|
9663
9848
|
class Radio extends BaseCheckbox {
|
|
9664
|
-
connectedCallback() {
|
|
9665
|
-
super.connectedCallback();
|
|
9666
|
-
this.tabIndex = this.disabled ? -1 : 0;
|
|
9667
|
-
}
|
|
9668
9849
|
constructor() {
|
|
9669
9850
|
super();
|
|
9670
9851
|
this.elementInternals.role = "radio";
|
|
@@ -9679,9 +9860,6 @@ class Radio extends BaseCheckbox {
|
|
|
9679
9860
|
*/
|
|
9680
9861
|
disabledChanged(prev, next) {
|
|
9681
9862
|
super.disabledChanged(prev, next);
|
|
9682
|
-
if (next) {
|
|
9683
|
-
this.tabIndex = -1;
|
|
9684
|
-
}
|
|
9685
9863
|
this.$emit("disabled", next, {
|
|
9686
9864
|
bubbles: true
|
|
9687
9865
|
});
|
|
@@ -9792,7 +9970,7 @@ class RadioGroup extends FASTElement {
|
|
|
9792
9970
|
if (this.$fastController.isConnected) {
|
|
9793
9971
|
this.checkedIndex = -1;
|
|
9794
9972
|
this.radios?.forEach(radio => {
|
|
9795
|
-
radio.disabled = radio.disabledAttribute || this.disabled;
|
|
9973
|
+
radio.disabled = !!radio.disabledAttribute || !!this.disabled;
|
|
9796
9974
|
});
|
|
9797
9975
|
this.restrictFocus();
|
|
9798
9976
|
}
|
|
@@ -9852,12 +10030,20 @@ class RadioGroup extends FASTElement {
|
|
|
9852
10030
|
radio.checked = index === checkedIndex;
|
|
9853
10031
|
}
|
|
9854
10032
|
radio.name = this.name ?? radio.name;
|
|
9855
|
-
radio.disabled = this.disabled || radio.disabledAttribute;
|
|
10033
|
+
radio.disabled = !!this.disabled || !!radio.disabledAttribute;
|
|
9856
10034
|
});
|
|
9857
10035
|
if (!this.dirtyState && this.initialValue) {
|
|
9858
10036
|
this.value = this.initialValue;
|
|
9859
10037
|
}
|
|
9860
|
-
if (!this.value
|
|
10038
|
+
if (!this.value ||
|
|
10039
|
+
// This logic covers the case when the RadioGroup doesn't have a `value`
|
|
10040
|
+
// attribute, but does have a checked child Radio. Without this condition,
|
|
10041
|
+
// the checked Radio's value will be assigned to `this.value`, and
|
|
10042
|
+
// `checkedIndex` will be the checked Radio's index, but `this.checkedIndex`
|
|
10043
|
+
// will remain `undefined`, which would cause the RadioGroup to add
|
|
10044
|
+
// `tabindex=-1` to the checked Radio, and effectively makes the whole
|
|
10045
|
+
// RadioGroup unfocusable.
|
|
10046
|
+
this.value && typeof this.checkedIndex !== "number" && checkedIndex >= 0) {
|
|
9861
10047
|
this.checkedIndex = checkedIndex;
|
|
9862
10048
|
}
|
|
9863
10049
|
const radioIds = next.map(radio => radio.id).join(" ").trim();
|
|
@@ -10145,17 +10331,43 @@ class RadioGroup extends FASTElement {
|
|
|
10145
10331
|
* @param anchor - Optional anchor to use for the validation message.
|
|
10146
10332
|
*
|
|
10147
10333
|
* @internal
|
|
10334
|
+
* @remarks
|
|
10335
|
+
* RadioGroup validation is reported through the individual Radio elements rather than the RadioGroup itself.
|
|
10336
|
+
* This is necessary because:
|
|
10337
|
+
* 1. Each Radio is form-associated (extends BaseCheckbox which has `formAssociated = true`)
|
|
10338
|
+
* 2. Browser validation UIs and screen readers announce validation against individual form controls
|
|
10339
|
+
* 3. For groups like RadioGroup, the browser needs to report the error on a specific member of the group
|
|
10340
|
+
* 4. We anchor the error to the first Radio so it receives focus and announcement
|
|
10341
|
+
*
|
|
10342
|
+
* When the group is invalid (required but no selection):
|
|
10343
|
+
* - Only the first Radio gets the invalid state with the validation message
|
|
10344
|
+
* - Other Radios are kept valid since selecting any of them would satisfy the requirement
|
|
10345
|
+
*
|
|
10346
|
+
* When the group becomes valid (user selects any Radio):
|
|
10347
|
+
* - All Radios are cleared back to valid state
|
|
10348
|
+
* - This allows form submission to proceed
|
|
10148
10349
|
*/
|
|
10149
10350
|
setValidity(flags, message, anchor) {
|
|
10150
10351
|
if (this.$fastController.isConnected) {
|
|
10151
|
-
|
|
10152
|
-
|
|
10352
|
+
const isInvalid = this.required && !this.value && !this.disabled;
|
|
10353
|
+
if (!isInvalid) {
|
|
10354
|
+
this.enabledRadios?.forEach(radio => {
|
|
10355
|
+
radio.elementInternals.setValidity({});
|
|
10356
|
+
});
|
|
10153
10357
|
return;
|
|
10154
10358
|
}
|
|
10155
|
-
|
|
10156
|
-
valueMissing:
|
|
10359
|
+
const validationFlags = {
|
|
10360
|
+
valueMissing: true,
|
|
10157
10361
|
...flags
|
|
10158
|
-
}
|
|
10362
|
+
};
|
|
10363
|
+
const validationMessage = message ?? this.validationMessage;
|
|
10364
|
+
this.enabledRadios?.forEach((radio, index) => {
|
|
10365
|
+
if (index === 0) {
|
|
10366
|
+
radio.elementInternals.setValidity(validationFlags, validationMessage, radio);
|
|
10367
|
+
} else {
|
|
10368
|
+
radio.elementInternals.setValidity({});
|
|
10369
|
+
}
|
|
10370
|
+
});
|
|
10159
10371
|
}
|
|
10160
10372
|
}
|
|
10161
10373
|
/**
|
|
@@ -10196,7 +10408,7 @@ __decorateClass$k([attr({
|
|
|
10196
10408
|
const styles$g = css`
|
|
10197
10409
|
${display("flex")}
|
|
10198
10410
|
|
|
10199
|
-
:host{-webkit-tap-highlight-color:transparent;cursor:pointer;gap:${spacingVerticalL}}:host([orientation='vertical']){flex-direction:column;justify-content:flex-start}:host([orientation='horizontal']){flex-direction:row}::slotted(*){color:${colorNeutralForeground3}}::slotted(:hover){color:${colorNeutralForeground2}}::slotted(:active){color:${colorNeutralForeground1}}::slotted(${disabledState}){color:${colorNeutralForegroundDisabled}}::slotted(${checkedState}){color:${colorNeutralForeground1}}`;
|
|
10411
|
+
:host{-webkit-tap-highlight-color:transparent;cursor:pointer;gap:${spacingVerticalL}}:host([orientation='vertical']){flex-direction:column;justify-content:flex-start}:host([orientation='horizontal']){flex-direction:row}::slotted(*){color:${colorNeutralForeground3}}::slotted(:hover){color:${colorNeutralForeground2}}::slotted(:active){color:${colorNeutralForeground1}}::slotted(${disabledState}){color:${colorNeutralForegroundDisabled}}::slotted(${checkedState}){color:${colorNeutralForeground1}}:host([slot='input']){margin:${spacingVerticalS} ${spacingHorizontalS}}`;
|
|
10200
10412
|
|
|
10201
10413
|
function radioGroupTemplate() {
|
|
10202
10414
|
return html`<template @disabled="${(x, c) => x.disabledRadioHandler(c.event)}" @change="${(x, c) => x.changeHandler(c.event)}" @click="${(x, c) => x.clickHandler(c.event)}" @focusin="${(x, c) => x.focusinHandler(c.event)}" @focusout="${(x, c) => x.focusoutHandler(c.event)}" @keydown="${(x, c) => x.keydownHandler(c.event)}"><slot @slotchange="${(x, c) => x.slotchangeHandler(c.event)}"></slot></template>`;
|
|
@@ -10217,7 +10429,7 @@ const styles$f = css`
|
|
|
10217
10429
|
:host{--size:16px;aspect-ratio:1;background-color:${colorNeutralBackground1};border:${strokeWidthThin} solid ${colorNeutralStrokeAccessible};border-radius:${borderRadiusCircular};box-sizing:border-box;position:relative;width:var(--size)}:host([size='large']){--size:20px}.checked-indicator{aspect-ratio:1;border-radius:${borderRadiusCircular};color:${colorNeutralForegroundInverted};inset:0;margin:auto;position:absolute;width:calc(var(--size) * 0.625)}:host(:not([slot='input']))::after{content:'' / '';position:absolute;display:block;inset:-8px;box-sizing:border-box;outline:none;border:${strokeWidthThick} solid ${colorTransparentStroke};border-radius:${borderRadiusMedium}}:host(:not([slot='input']):focus-visible)::after{border-color:${colorStrokeFocus2}}:host(:hover){border-color:${colorNeutralStrokeAccessibleHover}}:host(${checkedState}){border-color:${colorCompoundBrandStroke}}:host(${checkedState}) .checked-indicator{background-color:${colorCompoundBrandBackground}}:host(${checkedState}:hover) .checked-indicator{background-color:${colorCompoundBrandBackgroundHover}}:host(:active){border-color:${colorNeutralStrokeAccessiblePressed}}:host(${checkedState}:active) .checked-indicator{background-color:${colorCompoundBrandBackgroundPressed}}:host(:focus-visible){outline:none}:host(${disabledState}){background-color:${colorNeutralBackgroundDisabled};border-color:${colorNeutralStrokeDisabled}}:host(${checkedState}${disabledState}) .checked-indicator{background-color:${colorNeutralStrokeDisabled}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
|
|
10218
10430
|
:host{border-color:FieldText}:host(:not([slot='input']:focus-visible))::after{border-color:Canvas}:host(:not(${disabledState}):hover),:host(:not([slot='input']):focus-visible)::after{border-color:Highlight}.checked-indicator{color:HighlightText}:host(${checkedState}) .checked-indicator{background-color:FieldText}:host(${checkedState}:not(${disabledState}):hover) .checked-indicator{background-color:Highlight}:host(${disabledState}){border-color:GrayText;color:GrayText}:host(${disabledState}${checkedState}) .checked-indicator{background-color:GrayText}`));
|
|
10219
10431
|
|
|
10220
|
-
const checkedIndicator = html.partial(
|
|
10432
|
+
const checkedIndicator = html.partial(/* html */
|
|
10221
10433
|
`
|
|
10222
10434
|
<span part="checked-indicator" class="checked-indicator" role="presentation"></span>
|
|
10223
10435
|
`);
|
|
@@ -10244,6 +10456,19 @@ var __decorateClass$j = (decorators, target, key, kind) => {
|
|
|
10244
10456
|
if (kind && result) __defProp$j(target, key, result);
|
|
10245
10457
|
return result;
|
|
10246
10458
|
};
|
|
10459
|
+
const SUPPORTS_ATTR_TYPE = CSS.supports("width: attr(value type(<number>))");
|
|
10460
|
+
const CUSTOM_PROPERTY_NAME = {
|
|
10461
|
+
max: "--_attr-max",
|
|
10462
|
+
value: "--_attr-value",
|
|
10463
|
+
maskImageFilled: "--_mask-image-filled",
|
|
10464
|
+
maskImageOutlined: "--_mask-image-outlined"
|
|
10465
|
+
};
|
|
10466
|
+
function svgToDataURI(svg) {
|
|
10467
|
+
if (!svg) {
|
|
10468
|
+
return "";
|
|
10469
|
+
}
|
|
10470
|
+
return ["data:image/svg+xml", encodeURIComponent(svg.replace(/\n/g, "").replace(/\s+/g, " "))].join(",");
|
|
10471
|
+
}
|
|
10247
10472
|
class BaseRatingDisplay extends FASTElement {
|
|
10248
10473
|
constructor() {
|
|
10249
10474
|
super();
|
|
@@ -10253,16 +10478,20 @@ class BaseRatingDisplay extends FASTElement {
|
|
|
10253
10478
|
* @internal
|
|
10254
10479
|
*/
|
|
10255
10480
|
this.elementInternals = this.attachInternals();
|
|
10256
|
-
this.
|
|
10481
|
+
this.defaultCustomIconViewBox = "0 0 20 20";
|
|
10257
10482
|
this.elementInternals.role = "img";
|
|
10483
|
+
this.numberFormatter = new Intl.NumberFormat();
|
|
10258
10484
|
}
|
|
10259
|
-
|
|
10260
|
-
|
|
10261
|
-
|
|
10262
|
-
|
|
10263
|
-
|
|
10264
|
-
|
|
10265
|
-
|
|
10485
|
+
maxChanged() {
|
|
10486
|
+
this.setCustomPropertyValue("max");
|
|
10487
|
+
}
|
|
10488
|
+
valueChanged() {
|
|
10489
|
+
this.setCustomPropertyValue("value");
|
|
10490
|
+
}
|
|
10491
|
+
connectedCallback() {
|
|
10492
|
+
super.connectedCallback();
|
|
10493
|
+
this.setCustomPropertyValue("value");
|
|
10494
|
+
this.setCustomPropertyValue("max");
|
|
10266
10495
|
}
|
|
10267
10496
|
/**
|
|
10268
10497
|
* Returns "count" as string, formatted according to the locale.
|
|
@@ -10270,41 +10499,47 @@ class BaseRatingDisplay extends FASTElement {
|
|
|
10270
10499
|
* @internal
|
|
10271
10500
|
*/
|
|
10272
10501
|
get formattedCount() {
|
|
10273
|
-
return this.count ? this.
|
|
10274
|
-
}
|
|
10275
|
-
/**
|
|
10276
|
-
* Gets the selected value
|
|
10277
|
-
*
|
|
10278
|
-
* @protected
|
|
10279
|
-
*/
|
|
10280
|
-
getSelectedValue() {
|
|
10281
|
-
return Math.round((this.value ?? 0) * 2) / 2;
|
|
10282
|
-
}
|
|
10283
|
-
/**
|
|
10284
|
-
* Gets the maximum icons to render
|
|
10285
|
-
*
|
|
10286
|
-
* @protected
|
|
10287
|
-
*/
|
|
10288
|
-
getMaxIcons() {
|
|
10289
|
-
return (this.max ?? 5) * 2;
|
|
10502
|
+
return this.count ? this.numberFormatter.format(this.count) : "";
|
|
10290
10503
|
}
|
|
10291
|
-
/**
|
|
10292
|
-
|
|
10293
|
-
|
|
10294
|
-
|
|
10295
|
-
|
|
10296
|
-
|
|
10297
|
-
|
|
10298
|
-
|
|
10299
|
-
|
|
10300
|
-
|
|
10504
|
+
/** @internal */
|
|
10505
|
+
handleSlotChange() {
|
|
10506
|
+
const icon = this.iconSlot.assignedElements()?.find(el => el.nodeName.toLowerCase() === "svg");
|
|
10507
|
+
this.renderSlottedIcon(icon ?? null);
|
|
10508
|
+
}
|
|
10509
|
+
renderSlottedIcon(svg) {
|
|
10510
|
+
if (!svg) {
|
|
10511
|
+
this.display.style.removeProperty(CUSTOM_PROPERTY_NAME.maskImageFilled);
|
|
10512
|
+
this.display.style.removeProperty(CUSTOM_PROPERTY_NAME.maskImageOutlined);
|
|
10513
|
+
return;
|
|
10514
|
+
}
|
|
10515
|
+
const innerSvg = svg.innerHTML;
|
|
10516
|
+
const viewBox = svg.getAttribute("viewBox") ?? this.iconViewBox ?? this.defaultCustomIconViewBox;
|
|
10517
|
+
const customSvgFilled = `
|
|
10518
|
+
<svg
|
|
10519
|
+
viewBox="${viewBox}"
|
|
10520
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
10521
|
+
>${innerSvg}</svg>`;
|
|
10522
|
+
const customSvgOutlined = `
|
|
10523
|
+
<svg
|
|
10524
|
+
viewBox="${viewBox}"
|
|
10525
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
10526
|
+
fill="none"
|
|
10527
|
+
stroke="black"
|
|
10528
|
+
stroke-width="2"
|
|
10529
|
+
>${innerSvg}</svg>`;
|
|
10530
|
+
this.display.style.setProperty(CUSTOM_PROPERTY_NAME.maskImageFilled, `url(${svgToDataURI(customSvgFilled)})`);
|
|
10531
|
+
this.display.style.setProperty(CUSTOM_PROPERTY_NAME.maskImageOutlined, `url(${svgToDataURI(customSvgOutlined)})`);
|
|
10532
|
+
}
|
|
10533
|
+
setCustomPropertyValue(propertyName) {
|
|
10534
|
+
if (!this.display || SUPPORTS_ATTR_TYPE) {
|
|
10535
|
+
return;
|
|
10301
10536
|
}
|
|
10302
|
-
const
|
|
10303
|
-
|
|
10304
|
-
|
|
10305
|
-
|
|
10537
|
+
const propertyValue = this[propertyName];
|
|
10538
|
+
if (typeof propertyValue !== "number" || Number.isNaN(propertyValue)) {
|
|
10539
|
+
this.display.style.removeProperty(CUSTOM_PROPERTY_NAME[propertyName]);
|
|
10540
|
+
} else {
|
|
10541
|
+
this.display.style.setProperty(CUSTOM_PROPERTY_NAME[propertyName], `${propertyValue}`);
|
|
10306
10542
|
}
|
|
10307
|
-
return htmlString;
|
|
10308
10543
|
}
|
|
10309
10544
|
}
|
|
10310
10545
|
__decorateClass$j([attr({
|
|
@@ -10319,8 +10554,6 @@ __decorateClass$j([attr({
|
|
|
10319
10554
|
__decorateClass$j([attr({
|
|
10320
10555
|
converter: nullableNumberConverter
|
|
10321
10556
|
})], BaseRatingDisplay.prototype, "value", 2);
|
|
10322
|
-
__decorateClass$j([observable], BaseRatingDisplay.prototype, "slottedIcon", 2);
|
|
10323
|
-
__decorateClass$j([observable], BaseRatingDisplay.prototype, "customIcon", 2);
|
|
10324
10557
|
|
|
10325
10558
|
var __defProp$i = Object.defineProperty;
|
|
10326
10559
|
var __getOwnPropDesc$i = Object.getOwnPropertyDescriptor;
|
|
@@ -10335,22 +10568,6 @@ class RatingDisplay extends BaseRatingDisplay {
|
|
|
10335
10568
|
super(...arguments);
|
|
10336
10569
|
this.compact = false;
|
|
10337
10570
|
}
|
|
10338
|
-
/**
|
|
10339
|
-
* Overrides the selected value and returns 1 if compact is true.
|
|
10340
|
-
*
|
|
10341
|
-
* @override
|
|
10342
|
-
*/
|
|
10343
|
-
getSelectedValue() {
|
|
10344
|
-
return Math.round((this.compact ? 1 : this.value ?? 0) * 2) / 2;
|
|
10345
|
-
}
|
|
10346
|
-
/**
|
|
10347
|
-
* Overrides the maximum icons and returns a max of 1 if compact is true.
|
|
10348
|
-
*
|
|
10349
|
-
* @override
|
|
10350
|
-
*/
|
|
10351
|
-
getMaxIcons() {
|
|
10352
|
-
return (this.compact ? 1 : this.max ?? 5) * 2;
|
|
10353
|
-
}
|
|
10354
10571
|
}
|
|
10355
10572
|
__decorateClass$i([attr], RatingDisplay.prototype, "color", 2);
|
|
10356
10573
|
__decorateClass$i([attr], RatingDisplay.prototype, "size", 2);
|
|
@@ -10358,21 +10575,30 @@ __decorateClass$i([attr({
|
|
|
10358
10575
|
mode: "boolean"
|
|
10359
10576
|
})], RatingDisplay.prototype, "compact", 2);
|
|
10360
10577
|
|
|
10361
|
-
const
|
|
10362
|
-
|
|
10363
|
-
|
|
10364
|
-
|
|
10365
|
-
|
|
10366
|
-
|
|
10367
|
-
|
|
10578
|
+
const defaultIconPath = `<path d="M5.28347 1.54605C5.57692 0.951448 6.42479 0.951449 6.71825 1.54605L7.82997 3.79866L10.3159 4.15988C10.9721 4.25523 11.2341 5.0616 10.7592 5.52443L8.96043 7.27785L9.38507 9.7537C9.49716 10.4072 8.81122 10.9056 8.22431 10.597L6.00086 9.4281L3.7774 10.597C3.19049 10.9056 2.50455 10.4072 2.61664 9.7537L3.04128 7.27784L1.24246 5.52443C0.767651 5.0616 1.02966 4.25523 1.68584 4.15988L4.17174 3.79865L5.28347 1.54605Z" />`;
|
|
10579
|
+
const defaultIconFilled = `
|
|
10580
|
+
<svg viewBox="0 0 12 12" xmlns="http://www.w3.org/2000/svg">${defaultIconPath}</svg>
|
|
10581
|
+
`;
|
|
10582
|
+
const defaultIconOutlined = `
|
|
10583
|
+
<svg viewBox="0 0 12 12" xmlns="http://www.w3.org/2000/svg"
|
|
10584
|
+
fill="none" stroke="black" stroke-width="2"
|
|
10585
|
+
>${defaultIconPath}</svg>
|
|
10586
|
+
`;
|
|
10368
10587
|
function ratingDisplayTemplate() {
|
|
10369
|
-
return html
|
|
10370
|
-
property: "slottedIcon",
|
|
10371
|
-
filter: elements("svg")
|
|
10372
|
-
})}>${star}</slot><slot name="value"><span class="value-label" aria-hidden="true">${x => x.value}</span></slot><slot name="count"><span class="count-label" aria-hidden="true">${x => x.formattedCount}</span></slot>`;
|
|
10588
|
+
return html`<div ${ref("display")} class="display" aria-hidden="true"></div><slot name="icon" ${ref("iconSlot")} @slotchange="${x => x.handleSlotChange()}"></slot><slot name="value"><span class="value-label" aria-hidden="true">${x => x.value}</span></slot><slot name="count"><span class="count-label" aria-hidden="true">${x => x.formattedCount}</span></slot>`;
|
|
10373
10589
|
}
|
|
10374
10590
|
const template$e = ratingDisplayTemplate();
|
|
10375
10591
|
|
|
10592
|
+
const styles$e = css`
|
|
10593
|
+
${display("inline-flex")}
|
|
10594
|
+
|
|
10595
|
+
:host{--_icon-size:16px;--_icon-gradient-degree:90deg;--_icon-color-value:${colorPaletteMarigoldBorderActive};--_icon-color-empty:${colorPaletteMarigoldBackground2};--_default-value:0;--_default-max:5;--_mask-image-filled:url(${svgToDataURI(defaultIconFilled)});--_mask-image-outlined:url(${svgToDataURI(defaultIconOutlined)});--_mask-position-x:left;align-items:center;color:${colorNeutralForeground1};font-family:${fontFamilyBase};font-size:${fontSizeBase200};line-height:${lineHeightBase200};contain:layout style;user-select:none}:host(:dir(rtl)){--_icon-gradient-degree:-90deg;--_mask-position-x:right}:host([size='small']){--_icon-size:12px}:host([size='large']){--_icon-size:20px;font-size:${fontSizeBase300};line-height:${lineHeightBase300}}::slotted([slot='icon']){display:none}:host([color='neutral']){--_icon-color-value:${colorNeutralForeground1};--_icon-color-empty:${colorNeutralBackground6}}:host([color='brand']){--_icon-color-value:${colorBrandForeground1};--_icon-color-empty:${colorBrandBackground2}}@supports (width:attr(value type(<number>))){:host{--_attr-value:attr(value type(<number>));--_attr-max:attr(max type(<number>))}}:host([compact]) .display{--_max:1}.display{--_value:max(0,round(var(--_attr-value,var(--_default-value)) * 2) / 2);--_max:max(1,var(--_attr-max,var(--_default-max)));--_mask-inline-size:calc(var(--_icon-size) + ${spacingHorizontalXXS});--_icon-gradient-stop-visual-adjustment:0px;--_icon-gradient-stop:calc(
|
|
10596
|
+
var(--_mask-inline-size) * var(--_value) - var(--_icon-gradient-stop-visual-adjustment)
|
|
10597
|
+
);background-image:linear-gradient(
|
|
10598
|
+
var(--_icon-gradient-degree),var(--_icon-color-value) var(--_icon-gradient-stop),var(--_icon-color-empty) calc(var(--_icon-gradient-stop) + 0.5px)
|
|
10599
|
+
);block-size:var(--_icon-size);display:grid;inline-size:calc(var(--_max) * var(--_mask-inline-size) - ${spacingHorizontalXXS} / 2);mask-image:var(--_mask-image-filled);mask-repeat:repeat no-repeat;mask-size:var(--_mask-inline-size) var(--_icon-size);mask-position:var(--_mask-position-x) center}.value-label,::slotted([slot='value']){display:block;margin-inline-start:${spacingHorizontalXS};font-weight:${fontWeightSemibold}}:host([size='small']) .value-label,:host([size='small']) ::slotted([slot='value']){margin-inline-start:${spacingHorizontalXXS}}:host([size='large']) .value-label,:host([size='large']) ::slotted([slot='value']){margin-inline-start:${spacingHorizontalSNudge}}:host(:not([count])) .count-label{display:none}.count-label::before,::slotted([slot='count'])::before{content:'·';margin-inline:${spacingHorizontalXS}}:host([size='small']) .count-label::before,:host([size='small']) ::slotted([slot='count'])::before{margin-inline:${spacingHorizontalXXS}}:host([size='large']) .count-label::before,:host([size='large']) ::slotted([slot='count'])::before{margin-inline:${spacingHorizontalSNudge}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
|
|
10600
|
+
.display{--_icon-color-value:CanvasText;--_icon-color-empty:Canvas;--_icon-gradient-stop-visual-adjustment:0.5px;forced-color-adjust:none}.display::before{background-color:var(--_icon-color-value);content:'';grid-area:1 / 1 / -1 / -1;mask:inherit;mask-image:var(--_mask-image-outlined)}`));
|
|
10601
|
+
|
|
10376
10602
|
const definition$e = RatingDisplay.compose({
|
|
10377
10603
|
name: `${FluentDesignSystem.prefix}-rating-display`,
|
|
10378
10604
|
template: template$e,
|
|
@@ -10853,7 +11079,7 @@ class Slider extends FASTElement {
|
|
|
10853
11079
|
* Places the thumb based on the current value
|
|
10854
11080
|
*/
|
|
10855
11081
|
setSliderPosition() {
|
|
10856
|
-
const newPct = convertPixelToPercent(parseFloat(this.value), this.minAsNumber, this.maxAsNumber, this.direction);
|
|
11082
|
+
const newPct = convertPixelToPercent(parseFloat(this.value), this.minAsNumber, this.maxAsNumber, this.orientation === Orientation.vertical ? void 0 : this.direction);
|
|
10857
11083
|
const percentage = newPct * 100;
|
|
10858
11084
|
this.position = `--slider-thumb: ${percentage}%; --slider-progress: ${percentage}%`;
|
|
10859
11085
|
}
|
|
@@ -10888,7 +11114,7 @@ class Slider extends FASTElement {
|
|
|
10888
11114
|
*/
|
|
10889
11115
|
calculateNewValue(rawValue) {
|
|
10890
11116
|
this.setupTrackConstraints();
|
|
10891
|
-
const newPosition = convertPixelToPercent(rawValue, this.orientation === Orientation.vertical ? this.trackMinHeight : this.trackMinWidth, this.orientation === Orientation.vertical ? this.trackHeight : this.trackWidth, this.direction);
|
|
11117
|
+
const newPosition = convertPixelToPercent(rawValue, this.orientation === Orientation.vertical ? this.trackMinHeight : this.trackMinWidth, this.orientation === Orientation.vertical ? this.trackHeight : this.trackWidth, this.orientation === Orientation.vertical ? void 0 : this.direction);
|
|
10892
11118
|
const newValue = (this.maxAsNumber - this.minAsNumber) * newPosition + this.minAsNumber;
|
|
10893
11119
|
return this.convertToConstrainedValue(newValue);
|
|
10894
11120
|
}
|
|
@@ -10960,7 +11186,7 @@ const styles$d = css`
|
|
|
10960
11186
|
.track:hover,.track:active,.track{background:WindowText}.thumb:hover,.thumb:active,.thumb{background:ButtonText}:host(:hover) .track::before,:host(:active) .track::before,.track::before{background:Highlight}`));
|
|
10961
11187
|
|
|
10962
11188
|
function sliderTemplate(options = {}) {
|
|
10963
|
-
return html`<template
|
|
11189
|
+
return html`<template @pointerdown="${(x, c) => x.handlePointerDown(c.event)}" @keydown="${(x, c) => x.handleKeydown(c.event)}"><div ${ref("track")} part="track-container" class="track" style="${x => x.position}"></div><div ${ref("thumb")} part="thumb-container" class="thumb-container" style="${x => x.position}" @pointerdown="${(x, c) => x.handleThumbPointerDown(c.event)}"><slot name="thumb">${staticallyCompose(options.thumb)}</slot></div></template>`;
|
|
10964
11190
|
}
|
|
10965
11191
|
const template$d = sliderTemplate({
|
|
10966
11192
|
thumb: `<div class="thumb"></div>`
|
|
@@ -11023,7 +11249,7 @@ class Switch extends BaseCheckbox {
|
|
|
11023
11249
|
}
|
|
11024
11250
|
|
|
11025
11251
|
function switchTemplate(options = {}) {
|
|
11026
|
-
return html`<template
|
|
11252
|
+
return html`<template @click="${(x, c) => x.clickHandler(c.event)}" @input="${(x, c) => x.inputHandler(c.event)}" @keydown="${(x, c) => x.keydownHandler(c.event)}" @keyup="${(x, c) => x.keyupHandler(c.event)}"><slot name="switch">${staticallyCompose(options.switch)}</slot></template>`;
|
|
11027
11253
|
}
|
|
11028
11254
|
const template$b = switchTemplate({
|
|
11029
11255
|
switch: `<span class="checked-indicator" part="checked-indicator"></span>`
|
|
@@ -11032,7 +11258,7 @@ const template$b = switchTemplate({
|
|
|
11032
11258
|
const styles$b = css`
|
|
11033
11259
|
${display("inline-flex")}
|
|
11034
11260
|
|
|
11035
|
-
:host{box-sizing:border-box;align-items:center;flex-direction:row;outline:none;user-select:none;contain:content;padding:0 ${spacingHorizontalXXS};width:40px;height:20px;background-color:${colorTransparentBackground};border:1px solid ${colorNeutralStrokeAccessible};border-radius:${borderRadiusCircular}
|
|
11261
|
+
:host{box-sizing:border-box;align-items:center;flex-direction:row;outline:none;user-select:none;contain:content;padding:0 ${spacingHorizontalXXS};width:40px;height:20px;background-color:${colorTransparentBackground};border:1px solid ${colorNeutralStrokeAccessible};border-radius:${borderRadiusCircular}}:host(:enabled){cursor:pointer}:host(:hover){background:none;border-color:${colorNeutralStrokeAccessibleHover}}:host(:active){border-color:${colorNeutralStrokeAccessiblePressed}}:host(:disabled),:host([readonly]){border:1px solid ${colorNeutralStrokeDisabled};background-color:none;pointer:default}:host(${checkedState}){background:${colorCompoundBrandBackground};border-color:${colorCompoundBrandBackground}}:host(${checkedState}:hover){background:${colorCompoundBrandBackgroundHover};border-color:${colorCompoundBrandBackgroundHover}}:host(${checkedState}:active){background:${colorCompoundBrandBackgroundPressed};border-color:${colorCompoundBrandBackgroundPressed}}:host(${checkedState}:disabled){background:${colorNeutralBackgroundDisabled};border-color:${colorNeutralStrokeDisabled}}.checked-indicator{height:14px;width:14px;border-radius:50%;margin-inline-start:0;background-color:${colorNeutralForeground3};transition-duration:${durationNormal};transition-timing-function:${curveEasyEase};transition-property:margin-inline-start}:host(${checkedState}) .checked-indicator{background-color:${colorNeutralForegroundInverted};margin-inline-start:calc(100% - 14px)}:host(${checkedState}:hover) .checked-indicator{background:${colorNeutralForegroundInvertedHover}}:host(${checkedState}:active) .checked-indicator{background:${colorNeutralForegroundInvertedPressed}}:host(:hover) .checked-indicator{background-color:${colorNeutralForeground3Hover}}:host(:active) .checked-indicator{background-color:${colorNeutralForeground3Pressed}}:host(:disabled) .checked-indicator,:host([readonly]) .checked-indicator{background:${colorNeutralForegroundDisabled}}:host(${checkedState}:disabled) .checked-indicator{background:${colorNeutralForegroundDisabled}}:host(:focus-visible){outline:none}:host(:not([slot='input']):focus-visible){border-color:${colorTransparentStroke};outline:${strokeWidthThick} solid ${colorTransparentStroke};outline-offset:1px;box-shadow:${shadow4},0 0 0 2px ${colorStrokeFocus2}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
|
|
11036
11262
|
:host{border-color:InactiveBorder}:host(${checkedState}),:host(${checkedState}:active),:host(${checkedState}:hover){background:Highlight;border-color:Highlight}.checked-indicator,:host(:hover) .checked-indicator,:host(:active) .checked-indicator{background-color:ActiveCaption}:host(${checkedState}) .checked-indicator,:host(${checkedState}:hover) .checked-indicator,:host(${checkedState}:active) .checked-indicator{background-color:ButtonFace}:host(:disabled) .checked-indicator,:host(${checkedState}:disabled) .checked-indicator{background-color:GrayText}`));
|
|
11037
11263
|
|
|
11038
11264
|
const definition$b = Switch.compose({
|
|
@@ -11095,7 +11321,7 @@ const template$9 = tabTemplate({});
|
|
|
11095
11321
|
const styles$9 = css`
|
|
11096
11322
|
${display("inline-flex")}
|
|
11097
11323
|
|
|
11098
|
-
:host{position:relative;flex-direction:
|
|
11324
|
+
:host{position:relative;flex-direction:row;align-items:center;cursor:pointer;box-sizing:border-box;justify-content:center;line-height:${lineHeightBase300};font-family:${fontFamilyBase};font-size:${fontSizeBase300};color:${colorNeutralForeground2};fill:currentcolor;grid-row:1;padding:${spacingHorizontalM} ${spacingHorizontalMNudge};border-radius:${borderRadiusMedium};gap:4px}:host .tab-content{display:inline-flex;flex-direction:column;padding:0 2px}:host([aria-selected='true']){color:${colorNeutralForeground1};font-weight:${fontWeightSemibold}}:host .tab-content::after{content:var(--textContent);visibility:hidden;height:0;line-height:${lineHeightBase300};font-weight:${fontWeightSemibold}}:host([aria-selected='true'])::after{background-color:${colorCompoundBrandStroke};border-radius:${borderRadiusCircular};content:'';inset:0;position:absolute;z-index:2}:host([aria-selected='false']:hover)::after{background-color:${colorNeutralStroke1Hover};border-radius:${borderRadiusCircular};content:'';inset:0;position:absolute;z-index:1}:host([aria-selected='true'][disabled])::after{background-color:${colorNeutralForegroundDisabled}}::slotted([slot='start']),::slotted([slot='end']){display:flex}:host([disabled]){cursor:not-allowed;fill:${colorNeutralForegroundDisabled};color:${colorNeutralForegroundDisabled}}:host([disabled]:hover)::after{background-color:unset}:host(:focus){outline:none}:host(:focus-visible){border-radius:${borderRadiusSmall};box-shadow:0 0 0 3px ${colorStrokeFocus2};outline:1px solid ${colorStrokeFocus1}}:host([data-hasIndent]){display:grid;grid-template-columns:20px 1fr auto}:host([data-hasIndent]) .tab-content{grid-column:2}`.withBehaviors(forcedColorsStylesheetBehavior(css`
|
|
11099
11325
|
:host([aria-selected='true'])::after{background-color:Highlight}`));
|
|
11100
11326
|
|
|
11101
11327
|
const definition$9 = Tab.compose({
|
|
@@ -11557,6 +11783,13 @@ const isFocusableElement = el => {
|
|
|
11557
11783
|
return !isARIADisabledElement(el) && !isHiddenElement(el);
|
|
11558
11784
|
};
|
|
11559
11785
|
|
|
11786
|
+
function isTab(element, tagName = "-tab") {
|
|
11787
|
+
if (element?.nodeType !== Node.ELEMENT_NODE) {
|
|
11788
|
+
return false;
|
|
11789
|
+
}
|
|
11790
|
+
return element.tagName.toLowerCase().endsWith(tagName);
|
|
11791
|
+
}
|
|
11792
|
+
|
|
11560
11793
|
const TablistAppearance = {
|
|
11561
11794
|
subtle: "subtle",
|
|
11562
11795
|
transparent: "transparent"
|
|
@@ -11647,6 +11880,9 @@ class BaseTablist extends FASTElement {
|
|
|
11647
11880
|
*/
|
|
11648
11881
|
disabledChanged(prev, next) {
|
|
11649
11882
|
toggleState(this.elementInternals, "disabled", next);
|
|
11883
|
+
if (this.$fastController.isConnected) {
|
|
11884
|
+
this.setTabs();
|
|
11885
|
+
}
|
|
11650
11886
|
}
|
|
11651
11887
|
/**
|
|
11652
11888
|
* @internal
|
|
@@ -11683,6 +11919,13 @@ class BaseTablist extends FASTElement {
|
|
|
11683
11919
|
}
|
|
11684
11920
|
}
|
|
11685
11921
|
}
|
|
11922
|
+
/**
|
|
11923
|
+
* Updates the tabs property when content in the tabs slot changes.
|
|
11924
|
+
* @internal
|
|
11925
|
+
*/
|
|
11926
|
+
slottedTabsChanged(prev, next) {
|
|
11927
|
+
this.tabs = next?.filter(tab => isTab(tab)) ?? [];
|
|
11928
|
+
}
|
|
11686
11929
|
/**
|
|
11687
11930
|
* @internal
|
|
11688
11931
|
*/
|
|
@@ -11717,10 +11960,15 @@ class BaseTablist extends FASTElement {
|
|
|
11717
11960
|
*/
|
|
11718
11961
|
setTabs() {
|
|
11719
11962
|
this.activeTabIndex = this.getActiveIndex();
|
|
11963
|
+
const hasStartSlot = this.tabs.some(tab => !!tab.querySelector("[slot='start']"));
|
|
11720
11964
|
this.tabs.forEach((tab, index) => {
|
|
11721
11965
|
if (tab.slot === "tab") {
|
|
11722
11966
|
const isActiveTab = this.activeTabIndex === index && isFocusableElement(tab);
|
|
11723
11967
|
const tabId = this.tabIds[index];
|
|
11968
|
+
console.log("disabled", this.disabled);
|
|
11969
|
+
if (!tab.disabled) {
|
|
11970
|
+
this.disabled ? tab.setAttribute("aria-disabled", "true") : tab.removeAttribute("aria-disabled");
|
|
11971
|
+
}
|
|
11724
11972
|
tab.setAttribute("id", tabId);
|
|
11725
11973
|
tab.setAttribute("aria-selected", isActiveTab ? "true" : "false");
|
|
11726
11974
|
tab.addEventListener("click", this.handleTabClick);
|
|
@@ -11730,6 +11978,9 @@ class BaseTablist extends FASTElement {
|
|
|
11730
11978
|
this.activetab = tab;
|
|
11731
11979
|
this.activeid = tabId;
|
|
11732
11980
|
}
|
|
11981
|
+
if (hasStartSlot && this.orientation === TablistOrientation.vertical) {
|
|
11982
|
+
tab.setAttribute("data-hasIndent", "");
|
|
11983
|
+
}
|
|
11733
11984
|
}
|
|
11734
11985
|
});
|
|
11735
11986
|
}
|
|
@@ -11787,6 +12038,7 @@ __decorateClass$c([attr({
|
|
|
11787
12038
|
})], BaseTablist.prototype, "disabled", 2);
|
|
11788
12039
|
__decorateClass$c([attr], BaseTablist.prototype, "orientation", 2);
|
|
11789
12040
|
__decorateClass$c([attr], BaseTablist.prototype, "activeid", 2);
|
|
12041
|
+
__decorateClass$c([observable], BaseTablist.prototype, "slottedTabs", 2);
|
|
11790
12042
|
__decorateClass$c([observable], BaseTablist.prototype, "tabs", 2);
|
|
11791
12043
|
|
|
11792
12044
|
var __defProp$b = Object.defineProperty;
|
|
@@ -11939,12 +12191,12 @@ class Tablist extends BaseTablist {
|
|
|
11939
12191
|
__decorateClass$b([attr], Tablist.prototype, "appearance", 2);
|
|
11940
12192
|
__decorateClass$b([attr], Tablist.prototype, "size", 2);
|
|
11941
12193
|
|
|
11942
|
-
const template$7 = html`<template role="tablist"><slot name="tab" ${slotted("
|
|
12194
|
+
const template$7 = html`<template role="tablist"><slot name="tab" ${slotted("slottedTabs")}></slot></template>`;
|
|
11943
12195
|
|
|
11944
12196
|
const styles$7 = css`
|
|
11945
12197
|
${display("flex")}
|
|
11946
12198
|
|
|
11947
|
-
:host{--tabPaddingInline:inherit;--tabPaddingBlock:inherit;--tabIndicatorInsetInline:0;--tabIndicatorInsetBlock:0;box-sizing:border-box;color:${colorNeutralForeground2};flex-direction:row}:host([orientation='vertical']){flex-direction:column}:host ::slotted([role='tab']){
|
|
12199
|
+
:host{--tabPaddingInline:inherit;--tabPaddingBlock:inherit;--tabIndicatorInsetInline:0;--tabIndicatorInsetBlock:0;box-sizing:border-box;color:${colorNeutralForeground2};flex-direction:row}:host([orientation='vertical']){flex-direction:column}:host([orientation='vertical']) ::slotted([role='tab']){justify-content:flex-start}:host ::slotted([slot='tab'][data-animate='true'])::after{transition-property:transform;transition-duration:${durationSlow};transition-timing-function:${curveDecelerateMax}}:host ::slotted([slot='tab'])::after{height:${strokeWidthThicker};margin-block-start:auto;transform-origin:left;transform:translateX(var(--tabIndicatorOffset)) scaleX(var(--tabIndicatorScale))}:host([orientation='vertical']) ::slotted([slot='tab'])::after{width:${strokeWidthThicker};height:unset;margin-block-start:unset;transform-origin:top;transform:translateY(var(--tabIndicatorOffset)) scaleY(var(--tabIndicatorScale))}:host ::slotted([slot='tab'])::before{height:${strokeWidthThicker};border-radius:${borderRadiusCircular};content:'';inset-inline:var(--tabIndicatorInsetInline);inset-block:var(--tabIndicatorInsetBlock);position:absolute;margin-top:auto}:host ::slotted([slot='tab'])::before{inset-inline:var(--tabIndicatorInsetInline);inset-block:var(--tabIndicatorInsetBlock)}:host ::slotted([slot='tab'][aria-selected='true'])::before{background-color:${colorNeutralForegroundDisabled}}:host ::slotted([slot='tab'][aria-selected='false']:hover)::after{height:${strokeWidthThicker};margin-block-start:auto;transform-origin:left}:host([orientation='vertical']) ::slotted([slot='tab'])::before,:host([orientation='vertical']) ::slotted([slot='tab'][aria-selected='false']:hover)::after{height:unset;width:${strokeWidthThicker};margin-inline-end:auto;transform-origin:top}:host(:where([size='small'],[size='large'])) ::slotted([slot='tab']){padding-inline:var(--tabPaddingInline);padding-block:var(--tabPaddingBlock)}:host([size='small']) ::slotted([slot='tab']){--tabPaddingBlock:${spacingVerticalSNudge};--tabPaddingInline:${spacingHorizontalSNudge};font-size:${fontSizeBase300};line-height:${lineHeightBase300}}:host([size='large']) ::slotted([slot='tab']){--tabPaddingBlock:${spacingVerticalL};--tabPaddingInline:${spacingHorizontalMNudge};font-size:${fontSizeBase400};line-height:${lineHeightBase400}}:host ::slotted([slot='tab'])::after,:host ::slotted([slot='tab'])::before,:host ::slotted([slot='tab']:hover)::after{inset-inline:var(--tabIndicatorInsetInline)}:host ::slotted([slot='tab']){--tabIndicatorInsetInline:${spacingHorizontalMNudge}}:host([size='small']) ::slotted([slot='tab']){--tabIndicatorInsetInline:${spacingHorizontalSNudge}}:host([size='large']) ::slotted([slot='tab']){--tabIndicatorInsetInline:${spacingHorizontalMNudge}}:host([orientation='vertical']) ::slotted([slot='tab']){padding-block:var(--tabPaddingBlock)}:host([orientation='vertical']) ::slotted([slot='tab']){--tabPaddingBlock:${spacingVerticalS}}:host([orientation='vertical'][size='small']) ::slotted([slot='tab']){--tabPaddingBlock:${spacingVerticalXXS}}:host([orientation='vertical'][size='large']) ::slotted([slot='tab']){--tabPaddingBlock:${spacingVerticalS}}:host([orientation='vertical']) ::slotted([slot='tab'])::after,:host([orientation='vertical']) ::slotted([slot='tab'])::before,:host([orientation='vertical']) ::slotted([slot='tab']:hover)::after{inset-inline:0;inset-block:var(--tabIndicatorInsetBlock)}:host([orientation='vertical']){--tabIndicatorInsetBlock:${spacingVerticalS}}:host([orientation='vertical'][size='small']){--tabIndicatorInsetBlock:${spacingVerticalSNudge}}:host([orientation='vertical'][size='large']){--tabIndicatorInsetBlock:${spacingVerticalMNudge}}:host([disabled]){cursor:not-allowed;color:${colorNeutralForegroundDisabled}}:host([disabled]) ::slotted([slot='tab']){pointer-events:none;cursor:not-allowed;color:${colorNeutralForegroundDisabled}}:host([disabled]) ::slotted([slot='tab']:after){background-color:${colorNeutralForegroundDisabled}}:host([disabled]) ::slotted([slot='tab'][aria-selected='true'])::after{background-color:${colorNeutralForegroundDisabled}}:host([disabled]) ::slotted([slot='tab']:hover):before{content:unset}:host([appearance='subtle']) ::slotted([slot='tab']:hover){background-color:${colorSubtleBackgroundHover};color:${colorNeutralForeground1Hover};fill:${colorCompoundBrandForeground1Hover}}:host([appearance='subtle']) ::slotted([slot='tab']:active){background-color:${colorSubtleBackgroundPressed};fill:${colorSubtleBackgroundPressed};color:${colorNeutralForeground1}}`;
|
|
11948
12200
|
|
|
11949
12201
|
const definition$7 = Tablist.compose({
|
|
11950
12202
|
name: `${FluentDesignSystem.prefix}-tablist`,
|
|
@@ -11983,6 +12235,8 @@ class BaseTextArea extends FASTElement {
|
|
|
11983
12235
|
* @internal
|
|
11984
12236
|
*/
|
|
11985
12237
|
this.elementInternals = this.attachInternals();
|
|
12238
|
+
this.filteredLabelSlottedNodes = [];
|
|
12239
|
+
this.labelSlottedNodes = [];
|
|
11986
12240
|
this.userInteracted = false;
|
|
11987
12241
|
this.preConnectControlEl = document.createElement("textarea");
|
|
11988
12242
|
this.autoResize = false;
|
|
@@ -11999,10 +12253,11 @@ class BaseTextArea extends FASTElement {
|
|
|
11999
12253
|
this.value = next;
|
|
12000
12254
|
}
|
|
12001
12255
|
labelSlottedNodesChanged() {
|
|
12256
|
+
this.filteredLabelSlottedNodes = this.labelSlottedNodes.filter(whitespaceFilter);
|
|
12002
12257
|
if (this.labelEl) {
|
|
12003
|
-
this.labelEl.hidden = !this.
|
|
12258
|
+
this.labelEl.hidden = !this.filteredLabelSlottedNodes.length;
|
|
12004
12259
|
}
|
|
12005
|
-
this.
|
|
12260
|
+
this.filteredLabelSlottedNodes.forEach(node => {
|
|
12006
12261
|
node.disabled = this.disabled;
|
|
12007
12262
|
node.required = this.required;
|
|
12008
12263
|
});
|
|
@@ -12036,8 +12291,8 @@ class BaseTextArea extends FASTElement {
|
|
|
12036
12291
|
}
|
|
12037
12292
|
requiredChanged() {
|
|
12038
12293
|
this.elementInternals.ariaRequired = `${!!this.required}`;
|
|
12039
|
-
if (this.
|
|
12040
|
-
this.
|
|
12294
|
+
if (this.filteredLabelSlottedNodes?.length) {
|
|
12295
|
+
this.filteredLabelSlottedNodes.forEach(node => node.required = this.required);
|
|
12041
12296
|
}
|
|
12042
12297
|
}
|
|
12043
12298
|
resizeChanged(prev, next) {
|
|
@@ -12272,8 +12527,8 @@ class BaseTextArea extends FASTElement {
|
|
|
12272
12527
|
if (this.controlEl) {
|
|
12273
12528
|
this.controlEl.disabled = disabled;
|
|
12274
12529
|
}
|
|
12275
|
-
if (this.
|
|
12276
|
-
this.
|
|
12530
|
+
if (this.filteredLabelSlottedNodes?.length) {
|
|
12531
|
+
this.filteredLabelSlottedNodes.forEach(node => node.disabled = this.disabled);
|
|
12277
12532
|
}
|
|
12278
12533
|
}
|
|
12279
12534
|
toggleUserValidityState() {
|
|
@@ -12446,13 +12701,7 @@ const styles$6 = css`
|
|
|
12446
12701
|
:host{--border-color:FieldText;--border-block-end-color:FieldText;--focus-indicator-color:Highlight;--placeholder-color:FieldText}:host(:hover),:host(:active),:host(:focus-within){--border-color:Highlight;--border-block-end-color:Highlight}:host(:disabled){--color:GrayText;--border-color:GrayText;--border-block-end-color:GrayText;--placeholder-color:GrayText}`));
|
|
12447
12702
|
|
|
12448
12703
|
function textAreaTemplate() {
|
|
12449
|
-
return html`<template><label ${ref("labelEl")} for="control" part="label"><slot name="label" ${slotted({
|
|
12450
|
-
property: "labelSlottedNodes",
|
|
12451
|
-
filter: whitespaceFilter
|
|
12452
|
-
})}></slot></label><div class="root" part="root"><textarea ${ref("controlEl")} id="control" class="control" part="control" ?required="${x => x.required}" ?disabled="${x => x.disabled}" ?readonly="${x => x.readOnly}" ?spellcheck="${x => x.spellcheck}" autocomplete="${x => x.autocomplete}" maxlength="${x => x.maxLength}" minlength="${x => x.minLength}" placeholder="${x => x.placeholder}" @change="${x => x.handleControlChange()}" @select="${x => x.handleControlSelect()}" @input="${x => x.handleControlInput()}"></textarea></div><div hidden><slot ${slotted({
|
|
12453
|
-
property: "defaultSlottedNodes",
|
|
12454
|
-
filter: whitespaceFilter
|
|
12455
|
-
})}></slot></div></template>`;
|
|
12704
|
+
return html`<template><label ${ref("labelEl")} for="control" part="label"><slot name="label" ${slotted("labelSlottedNodes")}></slot></label><div class="root" part="root"><textarea ${ref("controlEl")} id="control" class="control" part="control" ?required="${x => x.required}" ?disabled="${x => x.disabled}" ?readonly="${x => x.readOnly}" ?spellcheck="${x => x.spellcheck}" autocomplete="${x => x.autocomplete}" maxlength="${x => x.maxLength}" minlength="${x => x.minLength}" placeholder="${x => x.placeholder}" @change="${x => x.handleControlChange()}" @select="${x => x.handleControlSelect()}" @input="${x => x.handleControlInput()}"></textarea></div><div hidden><slot ${slotted("defaultSlottedNodes")}></slot></div></template>`;
|
|
12456
12705
|
}
|
|
12457
12706
|
const template$6 = textAreaTemplate();
|
|
12458
12707
|
|
|
@@ -12955,7 +13204,7 @@ __decorateClass$6([attr], Text.prototype, "align", 2);
|
|
|
12955
13204
|
const styles$4 = css`
|
|
12956
13205
|
${display("inline")}
|
|
12957
13206
|
|
|
12958
|
-
:host{
|
|
13207
|
+
:host{font-family:${fontFamilyBase};font-size:${fontSizeBase300};line-height:${lineHeightBase300};font-weight:${fontWeightRegular};text-align:start}:host([nowrap]),:host([nowrap]) ::slotted(*){white-space:nowrap;overflow:hidden}:host([truncate]),:host([truncate]) ::slotted(*){text-overflow:ellipsis}:host([block]){display:block}:host([italic]){font-style:italic}:host([underline]){text-decoration-line:underline}:host([strikethrough]){text-decoration-line:line-through}:host([underline][strikethrough]){text-decoration-line:line-through underline}:host([size='100']){font-size:${fontSizeBase100};line-height:${lineHeightBase100}}:host([size='200']){font-size:${fontSizeBase200};line-height:${lineHeightBase200}}:host([size='400']){font-size:${fontSizeBase400};line-height:${lineHeightBase400}}:host([size='500']){font-size:${fontSizeBase500};line-height:${lineHeightBase500}}:host([size='600']){font-size:${fontSizeBase600};line-height:${lineHeightBase600}}:host([size='700']){font-size:${fontSizeHero700};line-height:${lineHeightHero700}}:host([size='800']){font-size:${fontSizeHero800};line-height:${lineHeightHero800}}:host([size='900']){font-size:${fontSizeHero900};line-height:${lineHeightHero900}}:host([size='1000']){font-size:${fontSizeHero1000};line-height:${lineHeightHero1000}}:host([font='monospace']){font-family:${fontFamilyMonospace}}:host([font='numeric']){font-family:${fontFamilyNumeric}}:host([weight='medium']){font-weight:${fontWeightMedium}}:host([weight='semibold']){font-weight:${fontWeightSemibold}}:host([weight='bold']){font-weight:${fontWeightBold}}:host([align='center']){text-align:center}:host([align='end']){text-align:end}:host([align='justify']){text-align:justify}::slotted(*){font:inherit;line-height:inherit;text-decoration-line:inherit;text-align:inherit;text-decoration-line:inherit;margin:0}`;
|
|
12959
13208
|
|
|
12960
13209
|
const template$4 = html`<slot></slot>`;
|
|
12961
13210
|
|
|
@@ -13295,6 +13544,7 @@ class BaseTree extends FASTElement {
|
|
|
13295
13544
|
this.childTreeItems = [];
|
|
13296
13545
|
this.elementInternals.role = "tree";
|
|
13297
13546
|
}
|
|
13547
|
+
/** @internal */
|
|
13298
13548
|
childTreeItemsChanged() {
|
|
13299
13549
|
this.updateCurrentSelected();
|
|
13300
13550
|
}
|
|
@@ -13391,6 +13641,9 @@ class BaseTree extends FASTElement {
|
|
|
13391
13641
|
}
|
|
13392
13642
|
if (e.target === this) {
|
|
13393
13643
|
this.currentFocused = this.getValidFocusableItem();
|
|
13644
|
+
if (this.currentFocused && this.currentFocused.tabIndex < 0) {
|
|
13645
|
+
this.currentFocused.tabIndex = 0;
|
|
13646
|
+
}
|
|
13394
13647
|
this.currentFocused?.focus();
|
|
13395
13648
|
return;
|
|
13396
13649
|
}
|
|
@@ -13478,6 +13731,10 @@ class BaseTree extends FASTElement {
|
|
|
13478
13731
|
focusItem.focus();
|
|
13479
13732
|
}
|
|
13480
13733
|
}
|
|
13734
|
+
/** @internal */
|
|
13735
|
+
handleDefaultSlotChange() {
|
|
13736
|
+
this.childTreeItems = this.defaultSlot.assignedElements().filter(el => isTreeItem(el));
|
|
13737
|
+
}
|
|
13481
13738
|
}
|
|
13482
13739
|
__decorateClass$3([observable], BaseTree.prototype, "currentSelected", 2);
|
|
13483
13740
|
__decorateClass$3([observable], BaseTree.prototype, "childTreeItems", 2);
|
|
@@ -13529,12 +13786,10 @@ __decorateClass$2([attr], Tree.prototype, "appearance", 2);
|
|
|
13529
13786
|
|
|
13530
13787
|
const styles$1 = css`
|
|
13531
13788
|
${display("block")}
|
|
13789
|
+
|
|
13532
13790
|
:host{outline:none}`;
|
|
13533
13791
|
|
|
13534
|
-
const template$1 = html`<template tabindex="0" @click="${(x, c) => x.clickHandler(c.event)}" @focusin="${(x, c) => x.focusHandler(c.event)}" @focusout="${(x, c) => x.blurHandler(c.event)}" @keydown="${(x, c) => x.keydownHandler(c.event)}" @change="${(x, c) => x.changeHandler(c.event)}" ${
|
|
13535
|
-
property: "childTreeItems",
|
|
13536
|
-
filter: node => isTreeItem(node)
|
|
13537
|
-
})}><slot></slot></template>`;
|
|
13792
|
+
const template$1 = html`<template tabindex="0" @click="${(x, c) => x.clickHandler(c.event)}" @focusin="${(x, c) => x.focusHandler(c.event)}" @focusout="${(x, c) => x.blurHandler(c.event)}" @keydown="${(x, c) => x.keydownHandler(c.event)}" @change="${(x, c) => x.changeHandler(c.event)}"><slot ${ref("defaultSlot")} @slotchange="${x => x.handleDefaultSlotChange()}"></slot></template>`;
|
|
13538
13793
|
|
|
13539
13794
|
const definition$1 = Tree.compose({
|
|
13540
13795
|
name: `${FluentDesignSystem.prefix}-tree`,
|
|
@@ -13592,6 +13847,7 @@ class BaseTreeItem extends FASTElement {
|
|
|
13592
13847
|
* @internal
|
|
13593
13848
|
*/
|
|
13594
13849
|
selectedChanged(prev, next) {
|
|
13850
|
+
this.updateTabindexBySelected();
|
|
13595
13851
|
this.$emit("change");
|
|
13596
13852
|
toggleState(this.elementInternals, "selected", next);
|
|
13597
13853
|
this.elementInternals.ariaSelected = next ? "true" : "false";
|
|
@@ -13613,6 +13869,10 @@ class BaseTreeItem extends FASTElement {
|
|
|
13613
13869
|
this.empty = this.childTreeItems?.length === 0;
|
|
13614
13870
|
this.updateChildTreeItems();
|
|
13615
13871
|
}
|
|
13872
|
+
connectedCallback() {
|
|
13873
|
+
super.connectedCallback();
|
|
13874
|
+
this.updateTabindexBySelected();
|
|
13875
|
+
}
|
|
13616
13876
|
/**
|
|
13617
13877
|
* Updates the childrens indent
|
|
13618
13878
|
*
|
|
@@ -13653,7 +13913,17 @@ class BaseTreeItem extends FASTElement {
|
|
|
13653
13913
|
get isNestedItem() {
|
|
13654
13914
|
return isTreeItem(this.parentElement);
|
|
13655
13915
|
}
|
|
13916
|
+
updateTabindexBySelected() {
|
|
13917
|
+
if (this.$fastController.isConnected) {
|
|
13918
|
+
this.tabIndex = this.selected ? 0 : -1;
|
|
13919
|
+
}
|
|
13920
|
+
}
|
|
13921
|
+
/** @internal */
|
|
13922
|
+
handleItemSlotChange() {
|
|
13923
|
+
this.childTreeItems = this.itemSlot.assignedElements().filter(el => isTreeItem(el));
|
|
13924
|
+
}
|
|
13656
13925
|
}
|
|
13926
|
+
__decorateClass$1([observable], BaseTreeItem.prototype, "itemSlot", 2);
|
|
13657
13927
|
__decorateClass$1([attr({
|
|
13658
13928
|
mode: "boolean"
|
|
13659
13929
|
})], BaseTreeItem.prototype, "expanded", 2);
|
|
@@ -13729,13 +13999,10 @@ const styles = css`
|
|
|
13729
13999
|
${display("block")}
|
|
13730
14000
|
|
|
13731
14001
|
:host{outline:none;font-size:${fontSizeBase300};line-height:${lineHeightBase300}}:host(:focus-visible) .positioning-region{box-shadow:${spacingVerticalNone} ${spacingVerticalNone} ${spacingVerticalNone} ${spacingVerticalXXS}
|
|
13732
|
-
${colorStrokeFocus2} inset}.positioning-region{display:flex;align-items:center;justify-content:space-between;cursor:pointer;height:${spacingVerticalXXXL};padding-inline-start:calc(var(--indent) * ${spacingHorizontalXXL});padding-inline-end:${spacingVerticalS};border-radius:${borderRadiusMedium};background-color:${colorSubtleBackground};color:${colorNeutralForeground2};gap:${spacingHorizontalXS}}@media (prefers-contrast:more){:host(:focus-visible) .positioning-region{outline:1px solid ${colorStrokeFocus2}}}.content{display:flex;align-items:center;gap:${spacingHorizontalXS}}.chevron{display:flex;align-items:center;flex-shrink:0;justify-content:center;width:${spacingHorizontalXXL};height:${spacingVerticalXXL};transition:transform ${durationFaster} ${curveEasyEaseMax};transform:rotate(0deg)}.chevron:dir(rtl){transform:rotate(180deg)}.aside{display:flex;align-items:center}.positioning-region:hover{background-color:${colorSubtleBackgroundHover};color:${colorNeutralForeground2Hover}}.positioning-region:active{background-color:${colorSubtleBackgroundPressed};color:${colorNeutralForeground2Pressed}}::slotted([slot='start']),::slotted([slot='end']),::slotted(:not([slot])){display:flex;align-items:center;min-width:0}::slotted([slot='start']){flex-shrink:0}::slotted(:not([slot])){padding-inline:${spacingHorizontalXXS}}.items{display:none}:host([expanded]) .items{display:block}:host([empty]) .chevron,:host([empty]) .items{visibility:hidden}:host([selected]) .positioning-region{background-color:${colorSubtleBackgroundSelected};color:${colorNeutralForeground2Selected}}:host([selected]) .content,:host([selected]) .chevron{color:${colorNeutralForeground3Selected}}:host([size='small']) .positioning-region{height:${spacingVerticalXXL};padding-inline-start:calc(var(--indent) * ${spacingHorizontalM})}:host([appearance='subtle-alpha']) .positioning-region:hover{background-color:${colorSubtleBackgroundLightAlphaHover}}:host([appearance='subtle-alpha']) .positioning-region:active{background-color:${colorSubtleBackgroundLightAlphaPressed}}:host([appearance='subtle-alpha'][selected]) .positioning-region{background-color:${colorSubtleBackgroundLightAlphaSelected};color:${colorNeutralForeground2Selected}}:host([appearance='transparent']) .positioning-region{background-color:${colorTransparentBackground}}:host([appearance='transparent']) .positioning-region:hover{background-color:${colorTransparentBackgroundHover}}:host([appearance='transparent']) .positioning-region:active{background-color:${colorTransparentBackgroundPressed}}:host([appearance='transparent'][selected]) .positioning-region{background-color:${colorTransparentBackgroundSelected};color:${colorNeutralForeground2Selected}}:host([expanded]) .chevron{transform:rotate(90deg)}`;
|
|
14002
|
+
${colorStrokeFocus2} inset}.positioning-region{display:flex;align-items:center;justify-content:space-between;cursor:pointer;height:${spacingVerticalXXXL};padding-inline-start:calc(var(--indent) * ${spacingHorizontalXXL});padding-inline-end:${spacingVerticalS};border-radius:${borderRadiusMedium};background-color:${colorSubtleBackground};color:${colorNeutralForeground2};gap:${spacingHorizontalXS}}@media (prefers-contrast:more){:host(:focus-visible) .positioning-region{outline:1px solid ${colorStrokeFocus2}}}.content{display:flex;align-items:center;gap:${spacingHorizontalXS}}.chevron{display:flex;align-items:center;flex-shrink:0;justify-content:center;width:${spacingHorizontalXXL};height:${spacingVerticalXXL};transition:transform ${durationFaster} ${curveEasyEaseMax};transform:rotate(0deg)}.chevron:dir(rtl){transform:rotate(180deg)}.chevron svg{inline-size:12px;block-size:12px}.aside{display:flex;align-items:center}.positioning-region:hover{background-color:${colorSubtleBackgroundHover};color:${colorNeutralForeground2Hover}}.positioning-region:active{background-color:${colorSubtleBackgroundPressed};color:${colorNeutralForeground2Pressed}}::slotted([slot='start']),::slotted([slot='end']),::slotted(:not([slot])){display:flex;align-items:center;min-width:0}::slotted([slot='start']){flex-shrink:0}::slotted(:not([slot])){padding-inline:${spacingHorizontalXXS}}.items{display:none}:host([expanded]) .items{display:block}:host([empty]) .chevron,:host([empty]) .items{visibility:hidden}:host([selected]) .positioning-region{background-color:${colorSubtleBackgroundSelected};color:${colorNeutralForeground2Selected}}:host([selected]) .content,:host([selected]) .chevron{color:${colorNeutralForeground3Selected}}:host([size='small']) .positioning-region{height:${spacingVerticalXXL};padding-inline-start:calc(var(--indent) * ${spacingHorizontalM})}:host([appearance='subtle-alpha']) .positioning-region:hover{background-color:${colorSubtleBackgroundLightAlphaHover}}:host([appearance='subtle-alpha']) .positioning-region:active{background-color:${colorSubtleBackgroundLightAlphaPressed}}:host([appearance='subtle-alpha'][selected]) .positioning-region{background-color:${colorSubtleBackgroundLightAlphaSelected};color:${colorNeutralForeground2Selected}}:host([appearance='transparent']) .positioning-region{background-color:${colorTransparentBackground}}:host([appearance='transparent']) .positioning-region:hover{background-color:${colorTransparentBackgroundHover}}:host([appearance='transparent']) .positioning-region:active{background-color:${colorTransparentBackgroundPressed}}:host([appearance='transparent'][selected]) .positioning-region{background-color:${colorTransparentBackgroundSelected};color:${colorNeutralForeground2Selected}}:host([expanded]) .chevron{transform:rotate(90deg)}`;
|
|
13733
14003
|
|
|
13734
|
-
const chevronIcon = html`<svg
|
|
13735
|
-
const template = html`<template
|
|
13736
|
-
property: "childTreeItems",
|
|
13737
|
-
filter: node => isTreeItem(node)
|
|
13738
|
-
})}><div class="positioning-region" part="positioning-region"><div class="content" part="content"><span class="chevron" part="chevron"><slot name="chevron">${chevronIcon}</slot></span><slot name="start"></slot><slot></slot><slot name="end"></slot></div><div class="aside" part="aside"><slot name="aside"></slot></div></div><div role="group" class="items" part="items"><slot name="item"></slot></div></template>`;
|
|
14004
|
+
const chevronIcon = html`<svg viewBox="0 0 12 12" fill="currentColor"><path d="M4.65 2.15a.5.5 0 000 .7L7.79 6 4.65 9.15a.5.5 0 10.7.7l3.5-3.5a.5.5 0 000-.7l-3.5-3.5a.5.5 0 00-.7 0z"></path></svg>`;
|
|
14005
|
+
const template = html`<template slot="${x => x.isNestedItem ? "item" : void 0}"><div class="positioning-region" part="positioning-region"><div class="content" part="content"><span class="chevron" part="chevron" aria-hidden="true"><slot name="chevron">${chevronIcon}</slot></span><slot name="start"></slot><slot></slot><slot name="end"></slot></div><div class="aside" part="aside"><slot name="aside"></slot></div></div><div role="group" class="items" part="items"><slot name="item" ${ref("itemSlot")} @slotchange="${x => x.handleItemSlotChange()}"></slot></div></template>`;
|
|
13739
14006
|
|
|
13740
14007
|
const definition = TreeItem.compose({
|
|
13741
14008
|
name: `${FluentDesignSystem.prefix}-tree-item`,
|