diff --git a/.gitignore b/.gitignore index 8aaa48caea..9e18e51282 100644 --- a/.gitignore +++ b/.gitignore @@ -54,4 +54,7 @@ workbench.html !.yarn/releases !.yarn/sdks !.yarn/versions - +/test-results/ +/playwright-report/ +/blob-report/ +/playwright/.cache/ diff --git a/.yarn/cache/@esbuild-darwin-x64-npm-0.17.19-30afb0190b-8.zip b/.yarn/cache/@esbuild-darwin-x64-npm-0.17.19-30afb0190b-8.zip new file mode 100644 index 0000000000..ce0c4aa93b Binary files /dev/null and b/.yarn/cache/@esbuild-darwin-x64-npm-0.17.19-30afb0190b-8.zip differ diff --git a/.yarn/cache/@esbuild-darwin-x64-npm-0.18.20-767fe27d1b-8.zip b/.yarn/cache/@esbuild-darwin-x64-npm-0.18.20-767fe27d1b-8.zip new file mode 100644 index 0000000000..432802b69e Binary files /dev/null and b/.yarn/cache/@esbuild-darwin-x64-npm-0.18.20-767fe27d1b-8.zip differ diff --git a/.yarn/cache/@esbuild-win32-x64-npm-0.17.19-619fae7839-8.zip b/.yarn/cache/@esbuild-win32-x64-npm-0.17.19-619fae7839-8.zip new file mode 100644 index 0000000000..f381b4d5c6 Binary files /dev/null and b/.yarn/cache/@esbuild-win32-x64-npm-0.17.19-619fae7839-8.zip differ diff --git a/.yarn/cache/@esbuild-win32-x64-npm-0.18.20-37a9ab2bda-8.zip b/.yarn/cache/@esbuild-win32-x64-npm-0.18.20-37a9ab2bda-8.zip new file mode 100644 index 0000000000..768cc68f13 Binary files /dev/null and b/.yarn/cache/@esbuild-win32-x64-npm-0.18.20-37a9ab2bda-8.zip differ diff --git a/.yarn/cache/@fluentui-fluent2-theme-npm-8.107.63-9518ce9905-75c40709b7.zip b/.yarn/cache/@fluentui-fluent2-theme-npm-8.107.64-dd6ddc7f4a-f0e23dd000.zip similarity index 87% rename from .yarn/cache/@fluentui-fluent2-theme-npm-8.107.63-9518ce9905-75c40709b7.zip rename to .yarn/cache/@fluentui-fluent2-theme-npm-8.107.64-dd6ddc7f4a-f0e23dd000.zip index 0d865f5475..537f64cda8 100644 Binary files a/.yarn/cache/@fluentui-fluent2-theme-npm-8.107.63-9518ce9905-75c40709b7.zip and b/.yarn/cache/@fluentui-fluent2-theme-npm-8.107.64-dd6ddc7f4a-f0e23dd000.zip differ diff --git a/.yarn/cache/@fluentui-react-accordion-npm-9.3.40-cbe58e8b56-be798cc9f8.zip b/.yarn/cache/@fluentui-react-accordion-npm-9.3.40-cbe58e8b56-be798cc9f8.zip deleted file mode 100644 index d999e3b81c..0000000000 Binary files a/.yarn/cache/@fluentui-react-accordion-npm-9.3.40-cbe58e8b56-be798cc9f8.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-alert-npm-9.0.0-beta.108-0dfaf40dab-53b87e6d0f.zip b/.yarn/cache/@fluentui-react-alert-npm-9.0.0-beta.108-0dfaf40dab-53b87e6d0f.zip deleted file mode 100644 index da9b6b1754..0000000000 Binary files a/.yarn/cache/@fluentui-react-alert-npm-9.0.0-beta.108-0dfaf40dab-53b87e6d0f.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-aria-npm-9.8.1-e8ebeafb2c-f818b2fc91.zip b/.yarn/cache/@fluentui-react-aria-npm-9.8.1-e8ebeafb2c-f818b2fc91.zip deleted file mode 100644 index bb7101bcf2..0000000000 Binary files a/.yarn/cache/@fluentui-react-aria-npm-9.8.1-e8ebeafb2c-f818b2fc91.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-avatar-npm-9.6.13-ab2bf3fa3c-cce65c63f1.zip b/.yarn/cache/@fluentui-react-avatar-npm-9.6.13-ab2bf3fa3c-cce65c63f1.zip deleted file mode 100644 index 8a8485b050..0000000000 Binary files a/.yarn/cache/@fluentui-react-avatar-npm-9.6.13-ab2bf3fa3c-cce65c63f1.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-breadcrumb-npm-9.0.13-cf5151ea8b-a27666af4a.zip b/.yarn/cache/@fluentui-react-breadcrumb-npm-9.0.13-cf5151ea8b-a27666af4a.zip deleted file mode 100644 index ebcae8da08..0000000000 Binary files a/.yarn/cache/@fluentui-react-breadcrumb-npm-9.0.13-cf5151ea8b-a27666af4a.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-button-npm-9.3.67-7ea70e1011-33ad6ee733.zip b/.yarn/cache/@fluentui-react-button-npm-9.3.67-7ea70e1011-33ad6ee733.zip deleted file mode 100644 index 35caaffd4e..0000000000 Binary files a/.yarn/cache/@fluentui-react-button-npm-9.3.67-7ea70e1011-33ad6ee733.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-card-npm-9.0.66-b61b912552-e9ceea0082.zip b/.yarn/cache/@fluentui-react-card-npm-9.0.66-b61b912552-e9ceea0082.zip deleted file mode 100644 index 3cd3cc7362..0000000000 Binary files a/.yarn/cache/@fluentui-react-card-npm-9.0.66-b61b912552-e9ceea0082.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-checkbox-npm-9.2.11-058df4ea69-8d3dbb7fba.zip b/.yarn/cache/@fluentui-react-checkbox-npm-9.2.11-058df4ea69-8d3dbb7fba.zip deleted file mode 100644 index 19630afb13..0000000000 Binary files a/.yarn/cache/@fluentui-react-checkbox-npm-9.2.11-058df4ea69-8d3dbb7fba.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-combobox-npm-9.7.4-f9e23f8af2-496e865a88.zip b/.yarn/cache/@fluentui-react-combobox-npm-9.7.4-f9e23f8af2-496e865a88.zip deleted file mode 100644 index 9692857210..0000000000 Binary files a/.yarn/cache/@fluentui-react-combobox-npm-9.7.4-f9e23f8af2-496e865a88.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-components-npm-9.46.3-5333402b03-909f93dd63.zip b/.yarn/cache/@fluentui-react-components-npm-9.46.3-5333402b03-909f93dd63.zip deleted file mode 100644 index f20b13ff16..0000000000 Binary files a/.yarn/cache/@fluentui-react-components-npm-9.46.3-5333402b03-909f93dd63.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-dialog-npm-9.9.9-b23f2f5a6e-dc060d8a33.zip b/.yarn/cache/@fluentui-react-dialog-npm-9.9.9-b23f2f5a6e-dc060d8a33.zip deleted file mode 100644 index ed826f60ee..0000000000 Binary files a/.yarn/cache/@fluentui-react-dialog-npm-9.9.9-b23f2f5a6e-dc060d8a33.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-drawer-npm-9.1.3-37b7c05b98-96fe99f080.zip b/.yarn/cache/@fluentui-react-drawer-npm-9.1.3-37b7c05b98-96fe99f080.zip deleted file mode 100644 index 9ab1dbcd72..0000000000 Binary files a/.yarn/cache/@fluentui-react-drawer-npm-9.1.3-37b7c05b98-96fe99f080.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-infobutton-npm-9.0.0-beta.92-42566b7c0f-012895056a.zip b/.yarn/cache/@fluentui-react-infobutton-npm-9.0.0-beta.92-42566b7c0f-012895056a.zip deleted file mode 100644 index 34723ef08b..0000000000 Binary files a/.yarn/cache/@fluentui-react-infobutton-npm-9.0.0-beta.92-42566b7c0f-012895056a.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-infolabel-npm-9.0.20-03ed5d3c57-a55fd7af19.zip b/.yarn/cache/@fluentui-react-infolabel-npm-9.0.20-03ed5d3c57-a55fd7af19.zip deleted file mode 100644 index 23f7fa8bc6..0000000000 Binary files a/.yarn/cache/@fluentui-react-infolabel-npm-9.0.20-03ed5d3c57-a55fd7af19.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-link-npm-9.2.9-76adb7c36d-181f6f3d5b.zip b/.yarn/cache/@fluentui-react-link-npm-9.2.9-76adb7c36d-181f6f3d5b.zip deleted file mode 100644 index b1b02a01aa..0000000000 Binary files a/.yarn/cache/@fluentui-react-link-npm-9.2.9-76adb7c36d-181f6f3d5b.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-menu-npm-9.12.49-612f9d8334-ec069fe5bd.zip b/.yarn/cache/@fluentui-react-menu-npm-9.12.49-612f9d8334-ec069fe5bd.zip deleted file mode 100644 index 06251766cd..0000000000 Binary files a/.yarn/cache/@fluentui-react-menu-npm-9.12.49-612f9d8334-ec069fe5bd.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-message-bar-npm-9.0.18-dffc9a6115-b0c7575415.zip b/.yarn/cache/@fluentui-react-message-bar-npm-9.0.18-dffc9a6115-b0c7575415.zip deleted file mode 100644 index 84b5f4ba2c..0000000000 Binary files a/.yarn/cache/@fluentui-react-message-bar-npm-9.0.18-dffc9a6115-b0c7575415.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-npm-8.115.4-7d87858ecd-68edf218d9.zip b/.yarn/cache/@fluentui-react-npm-8.115.4-7d87858ecd-68edf218d9.zip deleted file mode 100644 index f0fb162d92..0000000000 Binary files a/.yarn/cache/@fluentui-react-npm-8.115.4-7d87858ecd-68edf218d9.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-persona-npm-9.2.72-850a0631fc-282bc26b7d.zip b/.yarn/cache/@fluentui-react-persona-npm-9.2.72-850a0631fc-282bc26b7d.zip deleted file mode 100644 index 176dc94151..0000000000 Binary files a/.yarn/cache/@fluentui-react-persona-npm-9.2.72-850a0631fc-282bc26b7d.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-popover-npm-9.8.37-a089eef1e6-8d4663856f.zip b/.yarn/cache/@fluentui-react-popover-npm-9.8.37-a089eef1e6-8d4663856f.zip deleted file mode 100644 index 8736630b15..0000000000 Binary files a/.yarn/cache/@fluentui-react-popover-npm-9.8.37-a089eef1e6-8d4663856f.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-portal-npm-9.4.12-cea2fa6ec2-d3d5d306ef.zip b/.yarn/cache/@fluentui-react-portal-npm-9.4.12-cea2fa6ec2-d3d5d306ef.zip deleted file mode 100644 index 9e25396e99..0000000000 Binary files a/.yarn/cache/@fluentui-react-portal-npm-9.4.12-cea2fa6ec2-d3d5d306ef.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-positioning-npm-9.13.2-224b484614-c87687a566.zip b/.yarn/cache/@fluentui-react-positioning-npm-9.13.2-224b484614-c87687a566.zip deleted file mode 100644 index 34798396d5..0000000000 Binary files a/.yarn/cache/@fluentui-react-positioning-npm-9.13.2-224b484614-c87687a566.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-provider-npm-9.13.10-158d7884dc-929028975e.zip b/.yarn/cache/@fluentui-react-provider-npm-9.13.10-158d7884dc-929028975e.zip deleted file mode 100644 index 230a69fdeb..0000000000 Binary files a/.yarn/cache/@fluentui-react-provider-npm-9.13.10-158d7884dc-929028975e.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-radio-npm-9.2.6-3442ce817c-39074c5505.zip b/.yarn/cache/@fluentui-react-radio-npm-9.2.6-3442ce817c-39074c5505.zip deleted file mode 100644 index 6a360b14b4..0000000000 Binary files a/.yarn/cache/@fluentui-react-radio-npm-9.2.6-3442ce817c-39074c5505.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-slider-npm-9.1.68-bb47a65f41-71cc3f5ce7.zip b/.yarn/cache/@fluentui-react-slider-npm-9.1.68-bb47a65f41-71cc3f5ce7.zip deleted file mode 100644 index f9987d940d..0000000000 Binary files a/.yarn/cache/@fluentui-react-slider-npm-9.1.68-bb47a65f41-71cc3f5ce7.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-switch-npm-9.1.68-e729374f1b-e4234abf9d.zip b/.yarn/cache/@fluentui-react-switch-npm-9.1.68-e729374f1b-e4234abf9d.zip deleted file mode 100644 index f708f6868f..0000000000 Binary files a/.yarn/cache/@fluentui-react-switch-npm-9.1.68-e729374f1b-e4234abf9d.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-table-npm-9.11.9-c1a2d558b4-f654fe8e75.zip b/.yarn/cache/@fluentui-react-table-npm-9.11.9-c1a2d558b4-f654fe8e75.zip deleted file mode 100644 index de3b1a43ad..0000000000 Binary files a/.yarn/cache/@fluentui-react-table-npm-9.11.9-c1a2d558b4-f654fe8e75.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-tabs-npm-9.4.8-53ae331741-77044eacbd.zip b/.yarn/cache/@fluentui-react-tabs-npm-9.4.8-53ae331741-77044eacbd.zip deleted file mode 100644 index dca09759be..0000000000 Binary files a/.yarn/cache/@fluentui-react-tabs-npm-9.4.8-53ae331741-77044eacbd.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-tabster-npm-9.18.0-9c5348c801-7d7f46cb45.zip b/.yarn/cache/@fluentui-react-tabster-npm-9.18.0-9c5348c801-7d7f46cb45.zip deleted file mode 100644 index 87c2642580..0000000000 Binary files a/.yarn/cache/@fluentui-react-tabster-npm-9.18.0-9c5348c801-7d7f46cb45.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-tags-npm-9.0.26-d4198536ae-58ef5d088e.zip b/.yarn/cache/@fluentui-react-tags-npm-9.0.26-d4198536ae-58ef5d088e.zip deleted file mode 100644 index b95dc1eda1..0000000000 Binary files a/.yarn/cache/@fluentui-react-tags-npm-9.0.26-d4198536ae-58ef5d088e.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-toast-npm-9.3.29-48227ff009-3f6817b611.zip b/.yarn/cache/@fluentui-react-toast-npm-9.3.29-48227ff009-3f6817b611.zip deleted file mode 100644 index 4733612ec9..0000000000 Binary files a/.yarn/cache/@fluentui-react-toast-npm-9.3.29-48227ff009-3f6817b611.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-toolbar-npm-9.1.69-fd8fba412c-0e918a660c.zip b/.yarn/cache/@fluentui-react-toolbar-npm-9.1.69-fd8fba412c-0e918a660c.zip deleted file mode 100644 index 3bf036c67d..0000000000 Binary files a/.yarn/cache/@fluentui-react-toolbar-npm-9.1.69-fd8fba412c-0e918a660c.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-tooltip-npm-9.4.15-d46f922855-0710e4c458.zip b/.yarn/cache/@fluentui-react-tooltip-npm-9.4.15-d46f922855-0710e4c458.zip deleted file mode 100644 index 80d1cc39a9..0000000000 Binary files a/.yarn/cache/@fluentui-react-tooltip-npm-9.4.15-d46f922855-0710e4c458.zip and /dev/null differ diff --git a/.yarn/cache/@fluentui-react-tree-npm-9.4.29-a02c7bde6d-ff2e96aaf3.zip b/.yarn/cache/@fluentui-react-tree-npm-9.4.29-a02c7bde6d-ff2e96aaf3.zip deleted file mode 100644 index e8559d6897..0000000000 Binary files a/.yarn/cache/@fluentui-react-tree-npm-9.4.29-a02c7bde6d-ff2e96aaf3.zip and /dev/null differ diff --git a/.yarn/cache/@nx-nx-darwin-x64-npm-16.10.0-eb5d2a86dd-8.zip b/.yarn/cache/@nx-nx-darwin-x64-npm-16.10.0-eb5d2a86dd-8.zip new file mode 100644 index 0000000000..725cc80cd0 Binary files /dev/null and b/.yarn/cache/@nx-nx-darwin-x64-npm-16.10.0-eb5d2a86dd-8.zip differ diff --git a/.yarn/cache/@nx-nx-win32-x64-msvc-npm-16.10.0-acff5f6c4e-8.zip b/.yarn/cache/@nx-nx-win32-x64-msvc-npm-16.10.0-acff5f6c4e-8.zip new file mode 100644 index 0000000000..205790ba6e Binary files /dev/null and b/.yarn/cache/@nx-nx-win32-x64-msvc-npm-16.10.0-acff5f6c4e-8.zip differ diff --git a/.yarn/cache/@rollup-rollup-darwin-x64-npm-4.9.6-0a99a5487b-8.zip b/.yarn/cache/@rollup-rollup-darwin-x64-npm-4.9.6-0a99a5487b-8.zip new file mode 100644 index 0000000000..d517bbb6df Binary files /dev/null and b/.yarn/cache/@rollup-rollup-darwin-x64-npm-4.9.6-0a99a5487b-8.zip differ diff --git a/.yarn/cache/@rollup-rollup-win32-x64-msvc-npm-4.9.6-416b5a71e5-8.zip b/.yarn/cache/@rollup-rollup-win32-x64-msvc-npm-4.9.6-416b5a71e5-8.zip new file mode 100644 index 0000000000..1167cdb45f Binary files /dev/null and b/.yarn/cache/@rollup-rollup-win32-x64-msvc-npm-4.9.6-416b5a71e5-8.zip differ diff --git a/.yarn/cache/@selderee-plugin-htmlparser2-npm-0.11.0-3e13de8e13-6deafedd15.zip b/.yarn/cache/@selderee-plugin-htmlparser2-npm-0.11.0-3e13de8e13-6deafedd15.zip new file mode 100644 index 0000000000..b2be18e46d Binary files /dev/null and b/.yarn/cache/@selderee-plugin-htmlparser2-npm-0.11.0-3e13de8e13-6deafedd15.zip differ diff --git a/.yarn/cache/@storybook-addon-a11y-npm-7.6.12-3ff23b5f1f-c40cbe3c54.zip b/.yarn/cache/@storybook-addon-a11y-npm-7.6.13-f0c6474fa1-e6fa76e644.zip similarity index 93% rename from .yarn/cache/@storybook-addon-a11y-npm-7.6.12-3ff23b5f1f-c40cbe3c54.zip rename to .yarn/cache/@storybook-addon-a11y-npm-7.6.13-f0c6474fa1-e6fa76e644.zip index 6d4a9a0c80..be52ac9e0e 100644 Binary files a/.yarn/cache/@storybook-addon-a11y-npm-7.6.12-3ff23b5f1f-c40cbe3c54.zip and b/.yarn/cache/@storybook-addon-a11y-npm-7.6.13-f0c6474fa1-e6fa76e644.zip differ diff --git a/.yarn/cache/@storybook-addon-actions-npm-7.6.12-6f57a6aa88-894aeaf29d.zip b/.yarn/cache/@storybook-addon-actions-npm-7.6.13-5e23cf4660-9f76a8fce6.zip similarity index 99% rename from .yarn/cache/@storybook-addon-actions-npm-7.6.12-6f57a6aa88-894aeaf29d.zip rename to .yarn/cache/@storybook-addon-actions-npm-7.6.13-5e23cf4660-9f76a8fce6.zip index ca685a685b..02457a6a2f 100644 Binary files a/.yarn/cache/@storybook-addon-actions-npm-7.6.12-6f57a6aa88-894aeaf29d.zip and b/.yarn/cache/@storybook-addon-actions-npm-7.6.13-5e23cf4660-9f76a8fce6.zip differ diff --git a/.yarn/cache/@storybook-addon-docs-npm-7.6.12-81e3fd5417-fedf10ffc9.zip b/.yarn/cache/@storybook-addon-docs-npm-7.6.13-f52e1b3d5d-29bfb824ec.zip similarity index 99% rename from .yarn/cache/@storybook-addon-docs-npm-7.6.12-81e3fd5417-fedf10ffc9.zip rename to .yarn/cache/@storybook-addon-docs-npm-7.6.13-f52e1b3d5d-29bfb824ec.zip index 41cf54f9b7..2639655062 100644 Binary files a/.yarn/cache/@storybook-addon-docs-npm-7.6.12-81e3fd5417-fedf10ffc9.zip and b/.yarn/cache/@storybook-addon-docs-npm-7.6.13-f52e1b3d5d-29bfb824ec.zip differ diff --git a/.yarn/cache/@storybook-addon-highlight-npm-7.6.12-ec6e5a3b45-c9e9209353.zip b/.yarn/cache/@storybook-addon-highlight-npm-7.6.13-73d1aefba6-6d391a62c7.zip similarity index 79% rename from .yarn/cache/@storybook-addon-highlight-npm-7.6.12-ec6e5a3b45-c9e9209353.zip rename to .yarn/cache/@storybook-addon-highlight-npm-7.6.13-73d1aefba6-6d391a62c7.zip index 4d5031fe35..6b7365f4c0 100644 Binary files a/.yarn/cache/@storybook-addon-highlight-npm-7.6.12-ec6e5a3b45-c9e9209353.zip and b/.yarn/cache/@storybook-addon-highlight-npm-7.6.13-73d1aefba6-6d391a62c7.zip differ diff --git a/.yarn/cache/@storybook-addon-links-npm-7.6.12-b761b7e487-dabec27b3d.zip b/.yarn/cache/@storybook-addon-links-npm-7.6.13-36c0b13e34-8f15704c70.zip similarity index 99% rename from .yarn/cache/@storybook-addon-links-npm-7.6.12-b761b7e487-dabec27b3d.zip rename to .yarn/cache/@storybook-addon-links-npm-7.6.13-36c0b13e34-8f15704c70.zip index a38e943232..8203779376 100644 Binary files a/.yarn/cache/@storybook-addon-links-npm-7.6.12-b761b7e487-dabec27b3d.zip and b/.yarn/cache/@storybook-addon-links-npm-7.6.13-36c0b13e34-8f15704c70.zip differ diff --git a/.yarn/cache/@storybook-addon-mdx-gfm-npm-7.6.12-036adbe3d4-53e388f93d.zip b/.yarn/cache/@storybook-addon-mdx-gfm-npm-7.6.13-7cec4ae25e-40b5bebff1.zip similarity index 71% rename from .yarn/cache/@storybook-addon-mdx-gfm-npm-7.6.12-036adbe3d4-53e388f93d.zip rename to .yarn/cache/@storybook-addon-mdx-gfm-npm-7.6.13-7cec4ae25e-40b5bebff1.zip index 641a73c878..9e45a76309 100644 Binary files a/.yarn/cache/@storybook-addon-mdx-gfm-npm-7.6.12-036adbe3d4-53e388f93d.zip and b/.yarn/cache/@storybook-addon-mdx-gfm-npm-7.6.13-7cec4ae25e-40b5bebff1.zip differ diff --git a/.yarn/cache/@storybook-addon-storysource-npm-7.6.12-2ad392994f-3e8b1f5684.zip b/.yarn/cache/@storybook-addon-storysource-npm-7.6.13-823d696b0b-3326aae29e.zip similarity index 99% rename from .yarn/cache/@storybook-addon-storysource-npm-7.6.12-2ad392994f-3e8b1f5684.zip rename to .yarn/cache/@storybook-addon-storysource-npm-7.6.13-823d696b0b-3326aae29e.zip index f721406214..5ae49b2b31 100644 Binary files a/.yarn/cache/@storybook-addon-storysource-npm-7.6.12-2ad392994f-3e8b1f5684.zip and b/.yarn/cache/@storybook-addon-storysource-npm-7.6.13-823d696b0b-3326aae29e.zip differ diff --git a/.yarn/cache/@storybook-blocks-npm-7.6.12-12654fc6b6-c99e36593a.zip b/.yarn/cache/@storybook-blocks-npm-7.6.13-dc663cf411-a612c04d83.zip similarity index 98% rename from .yarn/cache/@storybook-blocks-npm-7.6.12-12654fc6b6-c99e36593a.zip rename to .yarn/cache/@storybook-blocks-npm-7.6.13-dc663cf411-a612c04d83.zip index a7dc9aacdb..69826ae2ff 100644 Binary files a/.yarn/cache/@storybook-blocks-npm-7.6.12-12654fc6b6-c99e36593a.zip and b/.yarn/cache/@storybook-blocks-npm-7.6.13-dc663cf411-a612c04d83.zip differ diff --git a/.yarn/cache/@storybook-builder-manager-npm-7.6.12-8af5a0a513-6a86638754.zip b/.yarn/cache/@storybook-builder-manager-npm-7.6.13-8576f38db5-739aca9eb2.zip similarity index 85% rename from .yarn/cache/@storybook-builder-manager-npm-7.6.12-8af5a0a513-6a86638754.zip rename to .yarn/cache/@storybook-builder-manager-npm-7.6.13-8576f38db5-739aca9eb2.zip index cc92857eee..3ee8a6ed95 100644 Binary files a/.yarn/cache/@storybook-builder-manager-npm-7.6.12-8af5a0a513-6a86638754.zip and b/.yarn/cache/@storybook-builder-manager-npm-7.6.13-8576f38db5-739aca9eb2.zip differ diff --git a/.yarn/cache/@storybook-builder-webpack5-npm-7.6.12-cdccdf3046-3526edfa1d.zip b/.yarn/cache/@storybook-builder-webpack5-npm-7.6.13-445c857e25-5270ea2a19.zip similarity index 82% rename from .yarn/cache/@storybook-builder-webpack5-npm-7.6.12-cdccdf3046-3526edfa1d.zip rename to .yarn/cache/@storybook-builder-webpack5-npm-7.6.13-445c857e25-5270ea2a19.zip index 0a065a4255..ba55fdc81e 100644 Binary files a/.yarn/cache/@storybook-builder-webpack5-npm-7.6.12-cdccdf3046-3526edfa1d.zip and b/.yarn/cache/@storybook-builder-webpack5-npm-7.6.13-445c857e25-5270ea2a19.zip differ diff --git a/.yarn/cache/@storybook-channels-npm-7.6.12-73a2a864d1-275dea29f1.zip b/.yarn/cache/@storybook-channels-npm-7.6.13-1aef7b8c80-1b50f6511e.zip similarity index 92% rename from .yarn/cache/@storybook-channels-npm-7.6.12-73a2a864d1-275dea29f1.zip rename to .yarn/cache/@storybook-channels-npm-7.6.13-1aef7b8c80-1b50f6511e.zip index 9903762267..7c37654776 100644 Binary files a/.yarn/cache/@storybook-channels-npm-7.6.12-73a2a864d1-275dea29f1.zip and b/.yarn/cache/@storybook-channels-npm-7.6.13-1aef7b8c80-1b50f6511e.zip differ diff --git a/.yarn/cache/@storybook-cli-npm-7.6.12-c96bf91f98-52b62155fd.zip b/.yarn/cache/@storybook-cli-npm-7.6.13-3abba1d983-54afbfa204.zip similarity index 86% rename from .yarn/cache/@storybook-cli-npm-7.6.12-c96bf91f98-52b62155fd.zip rename to .yarn/cache/@storybook-cli-npm-7.6.13-3abba1d983-54afbfa204.zip index bcd01db6aa..31855c6617 100644 Binary files a/.yarn/cache/@storybook-cli-npm-7.6.12-c96bf91f98-52b62155fd.zip and b/.yarn/cache/@storybook-cli-npm-7.6.13-3abba1d983-54afbfa204.zip differ diff --git a/.yarn/cache/@storybook-client-logger-npm-7.6.12-e64d3122ed-4a0a1c15fc.zip b/.yarn/cache/@storybook-client-logger-npm-7.6.13-a5b4273dce-89aa3fe9db.zip similarity index 66% rename from .yarn/cache/@storybook-client-logger-npm-7.6.12-e64d3122ed-4a0a1c15fc.zip rename to .yarn/cache/@storybook-client-logger-npm-7.6.13-a5b4273dce-89aa3fe9db.zip index f0ccec2051..348eac6b04 100644 Binary files a/.yarn/cache/@storybook-client-logger-npm-7.6.12-e64d3122ed-4a0a1c15fc.zip and b/.yarn/cache/@storybook-client-logger-npm-7.6.13-a5b4273dce-89aa3fe9db.zip differ diff --git a/.yarn/cache/@storybook-codemod-npm-7.6.12-ff77d82a94-a384d528b9.zip b/.yarn/cache/@storybook-codemod-npm-7.6.13-9441ab04bd-76c13ece7d.zip similarity index 98% rename from .yarn/cache/@storybook-codemod-npm-7.6.12-ff77d82a94-a384d528b9.zip rename to .yarn/cache/@storybook-codemod-npm-7.6.13-9441ab04bd-76c13ece7d.zip index e3af53405b..b15c2ccd7b 100644 Binary files a/.yarn/cache/@storybook-codemod-npm-7.6.12-ff77d82a94-a384d528b9.zip and b/.yarn/cache/@storybook-codemod-npm-7.6.13-9441ab04bd-76c13ece7d.zip differ diff --git a/.yarn/cache/@storybook-components-npm-7.6.12-4bd77f3df7-2ac43a04ba.zip b/.yarn/cache/@storybook-components-npm-7.6.13-a68b6d6bcc-2e041f6976.zip similarity index 99% rename from .yarn/cache/@storybook-components-npm-7.6.12-4bd77f3df7-2ac43a04ba.zip rename to .yarn/cache/@storybook-components-npm-7.6.13-a68b6d6bcc-2e041f6976.zip index f8f1981c7f..8e993a7d38 100644 Binary files a/.yarn/cache/@storybook-components-npm-7.6.12-4bd77f3df7-2ac43a04ba.zip and b/.yarn/cache/@storybook-components-npm-7.6.13-a68b6d6bcc-2e041f6976.zip differ diff --git a/.yarn/cache/@storybook-core-client-npm-7.6.12-cabb791422-663df478fd.zip b/.yarn/cache/@storybook-core-client-npm-7.6.13-93dae83dc6-59e1014ce4.zip similarity index 81% rename from .yarn/cache/@storybook-core-client-npm-7.6.12-cabb791422-663df478fd.zip rename to .yarn/cache/@storybook-core-client-npm-7.6.13-93dae83dc6-59e1014ce4.zip index 5f1e3bda74..1142a4017d 100644 Binary files a/.yarn/cache/@storybook-core-client-npm-7.6.12-cabb791422-663df478fd.zip and b/.yarn/cache/@storybook-core-client-npm-7.6.13-93dae83dc6-59e1014ce4.zip differ diff --git a/.yarn/cache/@storybook-core-common-npm-7.6.12-abd472673d-17c4dc4be4.zip b/.yarn/cache/@storybook-core-common-npm-7.6.13-945d3ac9f5-69692ecab9.zip similarity index 95% rename from .yarn/cache/@storybook-core-common-npm-7.6.12-abd472673d-17c4dc4be4.zip rename to .yarn/cache/@storybook-core-common-npm-7.6.13-945d3ac9f5-69692ecab9.zip index 42f2f849f4..ac5b34be36 100644 Binary files a/.yarn/cache/@storybook-core-common-npm-7.6.12-abd472673d-17c4dc4be4.zip and b/.yarn/cache/@storybook-core-common-npm-7.6.13-945d3ac9f5-69692ecab9.zip differ diff --git a/.yarn/cache/@storybook-core-events-npm-7.6.12-7bfb01e6b1-d66a18b53f.zip b/.yarn/cache/@storybook-core-events-npm-7.6.13-bbb971a601-43096118c0.zip similarity index 96% rename from .yarn/cache/@storybook-core-events-npm-7.6.12-7bfb01e6b1-d66a18b53f.zip rename to .yarn/cache/@storybook-core-events-npm-7.6.13-bbb971a601-43096118c0.zip index 567ee5d79c..1925e9dfa1 100644 Binary files a/.yarn/cache/@storybook-core-events-npm-7.6.12-7bfb01e6b1-d66a18b53f.zip and b/.yarn/cache/@storybook-core-events-npm-7.6.13-bbb971a601-43096118c0.zip differ diff --git a/.yarn/cache/@storybook-core-server-npm-7.6.12-92161351c2-a0bd3664ff.zip b/.yarn/cache/@storybook-core-server-npm-7.6.13-707941b467-fbcaeed46a.zip similarity index 97% rename from .yarn/cache/@storybook-core-server-npm-7.6.12-92161351c2-a0bd3664ff.zip rename to .yarn/cache/@storybook-core-server-npm-7.6.13-707941b467-fbcaeed46a.zip index e355d1853f..75adab16a4 100644 Binary files a/.yarn/cache/@storybook-core-server-npm-7.6.12-92161351c2-a0bd3664ff.zip and b/.yarn/cache/@storybook-core-server-npm-7.6.13-707941b467-fbcaeed46a.zip differ diff --git a/.yarn/cache/@storybook-core-webpack-npm-7.6.12-13b5bcc3b5-f5e5ef2da7.zip b/.yarn/cache/@storybook-core-webpack-npm-7.6.13-2a4d34a2ac-33c74cafc2.zip similarity index 77% rename from .yarn/cache/@storybook-core-webpack-npm-7.6.12-13b5bcc3b5-f5e5ef2da7.zip rename to .yarn/cache/@storybook-core-webpack-npm-7.6.13-2a4d34a2ac-33c74cafc2.zip index bec482f501..88a4929d16 100644 Binary files a/.yarn/cache/@storybook-core-webpack-npm-7.6.12-13b5bcc3b5-f5e5ef2da7.zip and b/.yarn/cache/@storybook-core-webpack-npm-7.6.13-2a4d34a2ac-33c74cafc2.zip differ diff --git a/.yarn/cache/@storybook-csf-plugin-npm-7.6.12-e493979f1c-c9232c4933.zip b/.yarn/cache/@storybook-csf-plugin-npm-7.6.13-1c92d68939-b93ee3a527.zip similarity index 74% rename from .yarn/cache/@storybook-csf-plugin-npm-7.6.12-e493979f1c-c9232c4933.zip rename to .yarn/cache/@storybook-csf-plugin-npm-7.6.13-1c92d68939-b93ee3a527.zip index 1e22e68b2e..354a09884f 100644 Binary files a/.yarn/cache/@storybook-csf-plugin-npm-7.6.12-e493979f1c-c9232c4933.zip and b/.yarn/cache/@storybook-csf-plugin-npm-7.6.13-1c92d68939-b93ee3a527.zip differ diff --git a/.yarn/cache/@storybook-csf-tools-npm-7.6.12-763840dd4d-74396f0d63.zip b/.yarn/cache/@storybook-csf-tools-npm-7.6.13-866ea047be-82394efcf0.zip similarity index 90% rename from .yarn/cache/@storybook-csf-tools-npm-7.6.12-763840dd4d-74396f0d63.zip rename to .yarn/cache/@storybook-csf-tools-npm-7.6.13-866ea047be-82394efcf0.zip index fd19d5925f..b270e929cc 100644 Binary files a/.yarn/cache/@storybook-csf-tools-npm-7.6.12-763840dd4d-74396f0d63.zip and b/.yarn/cache/@storybook-csf-tools-npm-7.6.13-866ea047be-82394efcf0.zip differ diff --git a/.yarn/cache/@storybook-docs-tools-npm-7.6.12-b42808ccbd-bb6923793e.zip b/.yarn/cache/@storybook-docs-tools-npm-7.6.13-2817df6f19-7163131852.zip similarity index 94% rename from .yarn/cache/@storybook-docs-tools-npm-7.6.12-b42808ccbd-bb6923793e.zip rename to .yarn/cache/@storybook-docs-tools-npm-7.6.13-2817df6f19-7163131852.zip index d7f2fe1ecf..6d733ec1c6 100644 Binary files a/.yarn/cache/@storybook-docs-tools-npm-7.6.12-b42808ccbd-bb6923793e.zip and b/.yarn/cache/@storybook-docs-tools-npm-7.6.13-2817df6f19-7163131852.zip differ diff --git a/.yarn/cache/@storybook-manager-api-npm-7.6.12-aa39eba942-91d5947e1d.zip b/.yarn/cache/@storybook-manager-api-npm-7.6.13-1eba67036e-227f5b86af.zip similarity index 85% rename from .yarn/cache/@storybook-manager-api-npm-7.6.12-aa39eba942-91d5947e1d.zip rename to .yarn/cache/@storybook-manager-api-npm-7.6.13-1eba67036e-227f5b86af.zip index 160235c28c..345d839326 100644 Binary files a/.yarn/cache/@storybook-manager-api-npm-7.6.12-aa39eba942-91d5947e1d.zip and b/.yarn/cache/@storybook-manager-api-npm-7.6.13-1eba67036e-227f5b86af.zip differ diff --git a/.yarn/cache/@storybook-manager-npm-7.6.12-914e75c92d-2e0706adbf.zip b/.yarn/cache/@storybook-manager-npm-7.6.13-df85cb3710-9ca47b6c40.zip similarity index 99% rename from .yarn/cache/@storybook-manager-npm-7.6.12-914e75c92d-2e0706adbf.zip rename to .yarn/cache/@storybook-manager-npm-7.6.13-df85cb3710-9ca47b6c40.zip index 3e8927eecb..bb68dbbdb8 100644 Binary files a/.yarn/cache/@storybook-manager-npm-7.6.12-914e75c92d-2e0706adbf.zip and b/.yarn/cache/@storybook-manager-npm-7.6.13-df85cb3710-9ca47b6c40.zip differ diff --git a/.yarn/cache/@storybook-node-logger-npm-7.6.12-6907bd7e6b-2f1e06a120.zip b/.yarn/cache/@storybook-node-logger-npm-7.6.13-4515e64353-27d45899dd.zip similarity index 96% rename from .yarn/cache/@storybook-node-logger-npm-7.6.12-6907bd7e6b-2f1e06a120.zip rename to .yarn/cache/@storybook-node-logger-npm-7.6.13-4515e64353-27d45899dd.zip index 370b96da40..624046ee8e 100644 Binary files a/.yarn/cache/@storybook-node-logger-npm-7.6.12-6907bd7e6b-2f1e06a120.zip and b/.yarn/cache/@storybook-node-logger-npm-7.6.13-4515e64353-27d45899dd.zip differ diff --git a/.yarn/cache/@storybook-postinstall-npm-7.6.12-00f19186ae-6230b6689e.zip b/.yarn/cache/@storybook-postinstall-npm-7.6.13-c13e9e5c9a-35394d7a36.zip similarity index 84% rename from .yarn/cache/@storybook-postinstall-npm-7.6.12-00f19186ae-6230b6689e.zip rename to .yarn/cache/@storybook-postinstall-npm-7.6.13-c13e9e5c9a-35394d7a36.zip index 0afa028825..bf735c4bd8 100644 Binary files a/.yarn/cache/@storybook-postinstall-npm-7.6.12-00f19186ae-6230b6689e.zip and b/.yarn/cache/@storybook-postinstall-npm-7.6.13-c13e9e5c9a-35394d7a36.zip differ diff --git a/.yarn/cache/@storybook-preset-web-components-webpack-npm-7.6.12-1d5e8d9db1-4414ddda6e.zip b/.yarn/cache/@storybook-preset-web-components-webpack-npm-7.6.13-058dae4203-eb0433e706.zip similarity index 78% rename from .yarn/cache/@storybook-preset-web-components-webpack-npm-7.6.12-1d5e8d9db1-4414ddda6e.zip rename to .yarn/cache/@storybook-preset-web-components-webpack-npm-7.6.13-058dae4203-eb0433e706.zip index ad34577bd0..5cc673cc8b 100644 Binary files a/.yarn/cache/@storybook-preset-web-components-webpack-npm-7.6.12-1d5e8d9db1-4414ddda6e.zip and b/.yarn/cache/@storybook-preset-web-components-webpack-npm-7.6.13-058dae4203-eb0433e706.zip differ diff --git a/.yarn/cache/@storybook-preview-api-npm-7.6.12-c267f5574e-52c2bf313f.zip b/.yarn/cache/@storybook-preview-api-npm-7.6.13-287e77cb9c-0e6da3feb5.zip similarity index 75% rename from .yarn/cache/@storybook-preview-api-npm-7.6.12-c267f5574e-52c2bf313f.zip rename to .yarn/cache/@storybook-preview-api-npm-7.6.13-287e77cb9c-0e6da3feb5.zip index 0062adbc3a..6d00fdbcb9 100644 Binary files a/.yarn/cache/@storybook-preview-api-npm-7.6.12-c267f5574e-52c2bf313f.zip and b/.yarn/cache/@storybook-preview-api-npm-7.6.13-287e77cb9c-0e6da3feb5.zip differ diff --git a/.yarn/cache/@storybook-preview-npm-7.6.12-0ce5df35d4-bba55fcfd4.zip b/.yarn/cache/@storybook-preview-npm-7.6.13-c3ad1e1fc1-cc29bebd2c.zip similarity index 93% rename from .yarn/cache/@storybook-preview-npm-7.6.12-0ce5df35d4-bba55fcfd4.zip rename to .yarn/cache/@storybook-preview-npm-7.6.13-c3ad1e1fc1-cc29bebd2c.zip index c137e66014..ae2ce1e4a1 100644 Binary files a/.yarn/cache/@storybook-preview-npm-7.6.12-0ce5df35d4-bba55fcfd4.zip and b/.yarn/cache/@storybook-preview-npm-7.6.13-c3ad1e1fc1-cc29bebd2c.zip differ diff --git a/.yarn/cache/@storybook-react-dom-shim-npm-7.6.12-cb0761c645-07beffa0a6.zip b/.yarn/cache/@storybook-react-dom-shim-npm-7.6.13-b75d784913-ad0fa512e4.zip similarity index 82% rename from .yarn/cache/@storybook-react-dom-shim-npm-7.6.12-cb0761c645-07beffa0a6.zip rename to .yarn/cache/@storybook-react-dom-shim-npm-7.6.13-b75d784913-ad0fa512e4.zip index dac4397e98..e9f3f1ad6e 100644 Binary files a/.yarn/cache/@storybook-react-dom-shim-npm-7.6.12-cb0761c645-07beffa0a6.zip and b/.yarn/cache/@storybook-react-dom-shim-npm-7.6.13-b75d784913-ad0fa512e4.zip differ diff --git a/.yarn/cache/@storybook-router-npm-7.6.12-cd5bf841b8-9effbf80b2.zip b/.yarn/cache/@storybook-router-npm-7.6.13-8c86f9ff97-aadd1d2d48.zip similarity index 94% rename from .yarn/cache/@storybook-router-npm-7.6.12-cd5bf841b8-9effbf80b2.zip rename to .yarn/cache/@storybook-router-npm-7.6.13-8c86f9ff97-aadd1d2d48.zip index 00e0f9b420..5f92684386 100644 Binary files a/.yarn/cache/@storybook-router-npm-7.6.12-cd5bf841b8-9effbf80b2.zip and b/.yarn/cache/@storybook-router-npm-7.6.13-8c86f9ff97-aadd1d2d48.zip differ diff --git a/.yarn/cache/@storybook-source-loader-npm-7.6.12-7243369dce-488ad5b133.zip b/.yarn/cache/@storybook-source-loader-npm-7.6.13-d189feabf9-71377d444b.zip similarity index 91% rename from .yarn/cache/@storybook-source-loader-npm-7.6.12-7243369dce-488ad5b133.zip rename to .yarn/cache/@storybook-source-loader-npm-7.6.13-d189feabf9-71377d444b.zip index 19645cb233..bd47341f49 100644 Binary files a/.yarn/cache/@storybook-source-loader-npm-7.6.12-7243369dce-488ad5b133.zip and b/.yarn/cache/@storybook-source-loader-npm-7.6.13-d189feabf9-71377d444b.zip differ diff --git a/.yarn/cache/@storybook-telemetry-npm-7.6.12-f7fc093222-1aea8af10d.zip b/.yarn/cache/@storybook-telemetry-npm-7.6.13-c5796d1cae-391df809b8.zip similarity index 94% rename from .yarn/cache/@storybook-telemetry-npm-7.6.12-f7fc093222-1aea8af10d.zip rename to .yarn/cache/@storybook-telemetry-npm-7.6.13-c5796d1cae-391df809b8.zip index be5f81457f..1a03f7b9a2 100644 Binary files a/.yarn/cache/@storybook-telemetry-npm-7.6.12-f7fc093222-1aea8af10d.zip and b/.yarn/cache/@storybook-telemetry-npm-7.6.13-c5796d1cae-391df809b8.zip differ diff --git a/.yarn/cache/@storybook-theming-npm-7.6.12-209f780b8e-e72a7ef3fa.zip b/.yarn/cache/@storybook-theming-npm-7.6.13-27ae510e4d-a05e4410a2.zip similarity index 99% rename from .yarn/cache/@storybook-theming-npm-7.6.12-209f780b8e-e72a7ef3fa.zip rename to .yarn/cache/@storybook-theming-npm-7.6.13-27ae510e4d-a05e4410a2.zip index 564b43e89a..c581a78feb 100644 Binary files a/.yarn/cache/@storybook-theming-npm-7.6.12-209f780b8e-e72a7ef3fa.zip and b/.yarn/cache/@storybook-theming-npm-7.6.13-27ae510e4d-a05e4410a2.zip differ diff --git a/.yarn/cache/@storybook-types-npm-7.6.12-770e523222-d5d1240639.zip b/.yarn/cache/@storybook-types-npm-7.6.13-0f50a23f7a-3880746f80.zip similarity index 77% rename from .yarn/cache/@storybook-types-npm-7.6.12-770e523222-d5d1240639.zip rename to .yarn/cache/@storybook-types-npm-7.6.13-0f50a23f7a-3880746f80.zip index bbab2b51cc..69d75b2128 100644 Binary files a/.yarn/cache/@storybook-types-npm-7.6.12-770e523222-d5d1240639.zip and b/.yarn/cache/@storybook-types-npm-7.6.13-0f50a23f7a-3880746f80.zip differ diff --git a/.yarn/cache/@storybook-web-components-npm-7.6.12-6d3c28b14f-4498ba9521.zip b/.yarn/cache/@storybook-web-components-npm-7.6.13-94f7fca4e1-57be469ce2.zip similarity index 91% rename from .yarn/cache/@storybook-web-components-npm-7.6.12-6d3c28b14f-4498ba9521.zip rename to .yarn/cache/@storybook-web-components-npm-7.6.13-94f7fca4e1-57be469ce2.zip index 1fc60c65ba..7e485db401 100644 Binary files a/.yarn/cache/@storybook-web-components-npm-7.6.12-6d3c28b14f-4498ba9521.zip and b/.yarn/cache/@storybook-web-components-npm-7.6.13-94f7fca4e1-57be469ce2.zip differ diff --git a/.yarn/cache/@storybook-web-components-webpack5-npm-7.6.12-8c7b099432-674651e0a7.zip b/.yarn/cache/@storybook-web-components-webpack5-npm-7.6.12-8c7b099432-674651e0a7.zip deleted file mode 100644 index 5376ad2a59..0000000000 Binary files a/.yarn/cache/@storybook-web-components-webpack5-npm-7.6.12-8c7b099432-674651e0a7.zip and /dev/null differ diff --git a/.yarn/cache/@storybook-web-components-webpack5-npm-7.6.13-b00ea82833-c0b90bc9cf.zip b/.yarn/cache/@storybook-web-components-webpack5-npm-7.6.13-b00ea82833-c0b90bc9cf.zip new file mode 100644 index 0000000000..9b25ea8209 Binary files /dev/null and b/.yarn/cache/@storybook-web-components-webpack5-npm-7.6.13-b00ea82833-c0b90bc9cf.zip differ diff --git a/.yarn/cache/@swc-core-darwin-x64-npm-1.4.0-fcd87d298a-8.zip b/.yarn/cache/@swc-core-darwin-x64-npm-1.4.0-fcd87d298a-8.zip new file mode 100644 index 0000000000..6dca449da1 Binary files /dev/null and b/.yarn/cache/@swc-core-darwin-x64-npm-1.4.0-fcd87d298a-8.zip differ diff --git a/.yarn/cache/@swc-core-win32-x64-msvc-npm-1.4.0-0bed4d1db4-8.zip b/.yarn/cache/@swc-core-win32-x64-msvc-npm-1.4.0-0bed4d1db4-8.zip new file mode 100644 index 0000000000..f28ffa249e Binary files /dev/null and b/.yarn/cache/@swc-core-win32-x64-msvc-npm-1.4.0-0bed4d1db4-8.zip differ diff --git a/.yarn/cache/@types-html-to-text-npm-9.0.4-e3b3acf51e-58ab556408.zip b/.yarn/cache/@types-html-to-text-npm-9.0.4-e3b3acf51e-58ab556408.zip new file mode 100644 index 0000000000..06998fa253 Binary files /dev/null and b/.yarn/cache/@types-html-to-text-npm-9.0.4-e3b3acf51e-58ab556408.zip differ diff --git a/.yarn/cache/@types-react-dom-npm-18.2.18-b316a8af22-8e3da404c9.zip b/.yarn/cache/@types-react-dom-npm-18.2.19-4c3126d580-087a19d8e4.zip similarity index 60% rename from .yarn/cache/@types-react-dom-npm-18.2.18-b316a8af22-8e3da404c9.zip rename to .yarn/cache/@types-react-dom-npm-18.2.19-4c3126d580-087a19d8e4.zip index f5d2ce802b..326e2e3457 100644 Binary files a/.yarn/cache/@types-react-dom-npm-18.2.18-b316a8af22-8e3da404c9.zip and b/.yarn/cache/@types-react-dom-npm-18.2.19-4c3126d580-087a19d8e4.zip differ diff --git a/.yarn/cache/@types-react-npm-18.2.54-b42c4e3e5a-261bf1f5d8.zip b/.yarn/cache/@types-react-npm-18.2.54-b42c4e3e5a-261bf1f5d8.zip deleted file mode 100644 index 96d9da1304..0000000000 Binary files a/.yarn/cache/@types-react-npm-18.2.54-b42c4e3e5a-261bf1f5d8.zip and /dev/null differ diff --git a/.yarn/cache/@types-react-npm-18.2.55-432d92532d-a8eb4fa77f.zip b/.yarn/cache/@types-react-npm-18.2.55-432d92532d-a8eb4fa77f.zip new file mode 100644 index 0000000000..d995e2c12f Binary files /dev/null and b/.yarn/cache/@types-react-npm-18.2.55-432d92532d-a8eb4fa77f.zip differ diff --git a/.yarn/cache/array.prototype.findlastindex-npm-1.2.3-2a36f4417b-31f35d7b37.zip b/.yarn/cache/array.prototype.findlastindex-npm-1.2.4-8aef711018-cc8dce27a0.zip similarity index 53% rename from .yarn/cache/array.prototype.findlastindex-npm-1.2.3-2a36f4417b-31f35d7b37.zip rename to .yarn/cache/array.prototype.findlastindex-npm-1.2.4-8aef711018-cc8dce27a0.zip index 8aaa4a956a..5d5b578e33 100644 Binary files a/.yarn/cache/array.prototype.findlastindex-npm-1.2.3-2a36f4417b-31f35d7b37.zip and b/.yarn/cache/array.prototype.findlastindex-npm-1.2.4-8aef711018-cc8dce27a0.zip differ diff --git a/.yarn/cache/axe-core-npm-4.8.3-86a2521a93-f546c74d1f.zip b/.yarn/cache/axe-core-npm-4.8.3-86a2521a93-f546c74d1f.zip deleted file mode 100644 index 2c8954f5ab..0000000000 Binary files a/.yarn/cache/axe-core-npm-4.8.3-86a2521a93-f546c74d1f.zip and /dev/null differ diff --git a/.yarn/cache/axe-core-npm-4.8.4-27f3e5418e-644da2fec1.zip b/.yarn/cache/axe-core-npm-4.8.4-27f3e5418e-644da2fec1.zip new file mode 100644 index 0000000000..9296e23aa8 Binary files /dev/null and b/.yarn/cache/axe-core-npm-4.8.4-27f3e5418e-644da2fec1.zip differ diff --git a/.yarn/cache/b4a-npm-1.6.4-080bcba845-81b086f9af.zip b/.yarn/cache/b4a-npm-1.6.4-080bcba845-81b086f9af.zip deleted file mode 100644 index 887169b901..0000000000 Binary files a/.yarn/cache/b4a-npm-1.6.4-080bcba845-81b086f9af.zip and /dev/null differ diff --git a/.yarn/cache/b4a-npm-1.6.6-140a53bc1d-c46a27e3ac.zip b/.yarn/cache/b4a-npm-1.6.6-140a53bc1d-c46a27e3ac.zip new file mode 100644 index 0000000000..66a3f88057 Binary files /dev/null and b/.yarn/cache/b4a-npm-1.6.6-140a53bc1d-c46a27e3ac.zip differ diff --git a/.yarn/cache/call-bind-npm-1.0.5-65600fae47-449e83ecbd.zip b/.yarn/cache/call-bind-npm-1.0.5-65600fae47-449e83ecbd.zip deleted file mode 100644 index 29854c129a..0000000000 Binary files a/.yarn/cache/call-bind-npm-1.0.5-65600fae47-449e83ecbd.zip and /dev/null differ diff --git a/.yarn/cache/call-bind-npm-1.0.6-fcca888b85-9e75989b60.zip b/.yarn/cache/call-bind-npm-1.0.6-fcca888b85-9e75989b60.zip new file mode 100644 index 0000000000..d1eb74839a Binary files /dev/null and b/.yarn/cache/call-bind-npm-1.0.6-fcca888b85-9e75989b60.zip differ diff --git a/.yarn/cache/caniuse-lite-npm-1.0.30001584-90cbf5ad95-de70187595.zip b/.yarn/cache/caniuse-lite-npm-1.0.30001585-7cfb2e5576-c5994f0b5d.zip similarity index 97% rename from .yarn/cache/caniuse-lite-npm-1.0.30001584-90cbf5ad95-de70187595.zip rename to .yarn/cache/caniuse-lite-npm-1.0.30001585-7cfb2e5576-c5994f0b5d.zip index 8170b99cb4..8285a330f7 100644 Binary files a/.yarn/cache/caniuse-lite-npm-1.0.30001584-90cbf5ad95-de70187595.zip and b/.yarn/cache/caniuse-lite-npm-1.0.30001585-7cfb2e5576-c5994f0b5d.zip differ diff --git a/.yarn/cache/chokidar-npm-3.5.3-c5f9b0a56a-b49fcde401.zip b/.yarn/cache/chokidar-npm-3.5.3-c5f9b0a56a-b49fcde401.zip deleted file mode 100644 index f5261bc278..0000000000 Binary files a/.yarn/cache/chokidar-npm-3.5.3-c5f9b0a56a-b49fcde401.zip and /dev/null differ diff --git a/.yarn/cache/chokidar-npm-3.6.0-3c413a828f-d2f29f4997.zip b/.yarn/cache/chokidar-npm-3.6.0-3c413a828f-d2f29f4997.zip new file mode 100644 index 0000000000..eb42055332 Binary files /dev/null and b/.yarn/cache/chokidar-npm-3.6.0-3c413a828f-d2f29f4997.zip differ diff --git a/.yarn/cache/define-data-property-npm-1.1.1-2b5156d112-a29855ad3f.zip b/.yarn/cache/define-data-property-npm-1.1.1-2b5156d112-a29855ad3f.zip deleted file mode 100644 index 75936e2374..0000000000 Binary files a/.yarn/cache/define-data-property-npm-1.1.1-2b5156d112-a29855ad3f.zip and /dev/null differ diff --git a/.yarn/cache/define-data-property-npm-1.1.2-b63aeb55a5-a903d932c8.zip b/.yarn/cache/define-data-property-npm-1.1.2-b63aeb55a5-a903d932c8.zip new file mode 100644 index 0000000000..1cde8c974d Binary files /dev/null and b/.yarn/cache/define-data-property-npm-1.1.2-b63aeb55a5-a903d932c8.zip differ diff --git a/.yarn/cache/electron-to-chromium-npm-1.4.657-0d6aee9239-6168b51c1b.zip b/.yarn/cache/electron-to-chromium-npm-1.4.662-cea23be30b-dceacdd7aa.zip similarity index 68% rename from .yarn/cache/electron-to-chromium-npm-1.4.657-0d6aee9239-6168b51c1b.zip rename to .yarn/cache/electron-to-chromium-npm-1.4.662-cea23be30b-dceacdd7aa.zip index c31984d8bd..5c107bcdba 100644 Binary files a/.yarn/cache/electron-to-chromium-npm-1.4.657-0d6aee9239-6168b51c1b.zip and b/.yarn/cache/electron-to-chromium-npm-1.4.662-cea23be30b-dceacdd7aa.zip differ diff --git a/.yarn/cache/fsevents-patch-21ad2b1333-8.zip b/.yarn/cache/fsevents-patch-21ad2b1333-8.zip new file mode 100644 index 0000000000..c6a96dfcdf Binary files /dev/null and b/.yarn/cache/fsevents-patch-21ad2b1333-8.zip differ diff --git a/.yarn/cache/fsevents-patch-2882183fbf-8.zip b/.yarn/cache/fsevents-patch-2882183fbf-8.zip new file mode 100644 index 0000000000..c4511f19bd Binary files /dev/null and b/.yarn/cache/fsevents-patch-2882183fbf-8.zip differ diff --git a/.yarn/cache/fsevents-patch-61ccaa93a2-8.zip b/.yarn/cache/fsevents-patch-61ccaa93a2-8.zip new file mode 100644 index 0000000000..34871c571d Binary files /dev/null and b/.yarn/cache/fsevents-patch-61ccaa93a2-8.zip differ diff --git a/.yarn/cache/get-intrinsic-npm-1.2.3-7443aa7e26-497fe6e444.zip b/.yarn/cache/get-intrinsic-npm-1.2.3-7443aa7e26-497fe6e444.zip deleted file mode 100644 index 171991117e..0000000000 Binary files a/.yarn/cache/get-intrinsic-npm-1.2.3-7443aa7e26-497fe6e444.zip and /dev/null differ diff --git a/.yarn/cache/get-intrinsic-npm-1.2.4-1dad3427b2-414e3cdf2c.zip b/.yarn/cache/get-intrinsic-npm-1.2.4-1dad3427b2-414e3cdf2c.zip new file mode 100644 index 0000000000..1b76195b23 Binary files /dev/null and b/.yarn/cache/get-intrinsic-npm-1.2.4-1dad3427b2-414e3cdf2c.zip differ diff --git a/.yarn/cache/get-symbol-description-npm-1.0.0-9c95a4bc1f-9ceff8fe96.zip b/.yarn/cache/get-symbol-description-npm-1.0.0-9c95a4bc1f-9ceff8fe96.zip deleted file mode 100644 index 5cdbc26f25..0000000000 Binary files a/.yarn/cache/get-symbol-description-npm-1.0.0-9c95a4bc1f-9ceff8fe96.zip and /dev/null differ diff --git a/.yarn/cache/get-symbol-description-npm-1.0.2-f8c332e0b5-e1cb53bc21.zip b/.yarn/cache/get-symbol-description-npm-1.0.2-f8c332e0b5-e1cb53bc21.zip new file mode 100644 index 0000000000..3eb9b91054 Binary files /dev/null and b/.yarn/cache/get-symbol-description-npm-1.0.2-f8c332e0b5-e1cb53bc21.zip differ diff --git a/.yarn/cache/html-to-text-npm-9.0.5-42d3729c77-205e0faa9b.zip b/.yarn/cache/html-to-text-npm-9.0.5-42d3729c77-205e0faa9b.zip new file mode 100644 index 0000000000..46c3a52333 Binary files /dev/null and b/.yarn/cache/html-to-text-npm-9.0.5-42d3729c77-205e0faa9b.zip differ diff --git a/.yarn/cache/htmlparser2-npm-8.0.2-5d9f901bb6-29167a0f92.zip b/.yarn/cache/htmlparser2-npm-8.0.2-5d9f901bb6-29167a0f92.zip new file mode 100644 index 0000000000..6f5c528f3a Binary files /dev/null and b/.yarn/cache/htmlparser2-npm-8.0.2-5d9f901bb6-29167a0f92.zip differ diff --git a/.yarn/cache/internal-slot-npm-1.0.6-1ed833e09a-7872454888.zip b/.yarn/cache/internal-slot-npm-1.0.6-1ed833e09a-7872454888.zip deleted file mode 100644 index ca734c685d..0000000000 Binary files a/.yarn/cache/internal-slot-npm-1.0.6-1ed833e09a-7872454888.zip and /dev/null differ diff --git a/.yarn/cache/internal-slot-npm-1.0.7-6e3758af00-cadc5eea5d.zip b/.yarn/cache/internal-slot-npm-1.0.7-6e3758af00-cadc5eea5d.zip new file mode 100644 index 0000000000..8cd6c45d96 Binary files /dev/null and b/.yarn/cache/internal-slot-npm-1.0.7-6e3758af00-cadc5eea5d.zip differ diff --git a/.yarn/cache/leac-npm-0.6.0-79f7890bc5-a7a722cfc2.zip b/.yarn/cache/leac-npm-0.6.0-79f7890bc5-a7a722cfc2.zip new file mode 100644 index 0000000000..44fdcd6c4a Binary files /dev/null and b/.yarn/cache/leac-npm-0.6.0-79f7890bc5-a7a722cfc2.zip differ diff --git a/.yarn/cache/node-fetch-native-npm-1.6.1-3d17da8352-1a248ada34.zip b/.yarn/cache/node-fetch-native-npm-1.6.1-3d17da8352-1a248ada34.zip deleted file mode 100644 index 118de399a8..0000000000 Binary files a/.yarn/cache/node-fetch-native-npm-1.6.1-3d17da8352-1a248ada34.zip and /dev/null differ diff --git a/.yarn/cache/node-fetch-native-npm-1.6.2-84a7c35008-a6e7b9bf2f.zip b/.yarn/cache/node-fetch-native-npm-1.6.2-84a7c35008-a6e7b9bf2f.zip new file mode 100644 index 0000000000..010dd6c62b Binary files /dev/null and b/.yarn/cache/node-fetch-native-npm-1.6.2-84a7c35008-a6e7b9bf2f.zip differ diff --git a/.yarn/cache/parseley-npm-0.12.1-dabcf2cdc8-147760bce6.zip b/.yarn/cache/parseley-npm-0.12.1-dabcf2cdc8-147760bce6.zip new file mode 100644 index 0000000000..74a41a2e9a Binary files /dev/null and b/.yarn/cache/parseley-npm-0.12.1-dabcf2cdc8-147760bce6.zip differ diff --git a/.yarn/cache/peberminta-npm-0.9.0-c8a37f2c79-b983b68077.zip b/.yarn/cache/peberminta-npm-0.9.0-c8a37f2c79-b983b68077.zip new file mode 100644 index 0000000000..3f91c6b800 Binary files /dev/null and b/.yarn/cache/peberminta-npm-0.9.0-c8a37f2c79-b983b68077.zip differ diff --git a/.yarn/cache/postcss-npm-8.4.34-2179f0d4b5-46c32b5181.zip b/.yarn/cache/postcss-npm-8.4.35-6bc1848fff-cf3c3124d3.zip similarity index 73% rename from .yarn/cache/postcss-npm-8.4.34-2179f0d4b5-46c32b5181.zip rename to .yarn/cache/postcss-npm-8.4.35-6bc1848fff-cf3c3124d3.zip index f8ff1df877..888dccea0c 100644 Binary files a/.yarn/cache/postcss-npm-8.4.34-2179f0d4b5-46c32b5181.zip and b/.yarn/cache/postcss-npm-8.4.35-6bc1848fff-cf3c3124d3.zip differ diff --git a/.yarn/cache/safe-regex-test-npm-1.0.2-e7d7164d44-4af5ce05a2.zip b/.yarn/cache/safe-regex-test-npm-1.0.2-e7d7164d44-4af5ce05a2.zip deleted file mode 100644 index b647ab5176..0000000000 Binary files a/.yarn/cache/safe-regex-test-npm-1.0.2-e7d7164d44-4af5ce05a2.zip and /dev/null differ diff --git a/.yarn/cache/safe-regex-test-npm-1.0.3-97fe5cc608-6c7d392ff1.zip b/.yarn/cache/safe-regex-test-npm-1.0.3-97fe5cc608-6c7d392ff1.zip new file mode 100644 index 0000000000..489cf37247 Binary files /dev/null and b/.yarn/cache/safe-regex-test-npm-1.0.3-97fe5cc608-6c7d392ff1.zip differ diff --git a/.yarn/cache/selderee-npm-0.11.0-b04976dc09-af8a68c1f4.zip b/.yarn/cache/selderee-npm-0.11.0-b04976dc09-af8a68c1f4.zip new file mode 100644 index 0000000000..f0f7237ae7 Binary files /dev/null and b/.yarn/cache/selderee-npm-0.11.0-b04976dc09-af8a68c1f4.zip differ diff --git a/.yarn/cache/set-function-length-npm-1.2.0-aac8e100c3-63e34b45a2.zip b/.yarn/cache/set-function-length-npm-1.2.1-5131ef7312-23742476d6.zip similarity index 56% rename from .yarn/cache/set-function-length-npm-1.2.0-aac8e100c3-63e34b45a2.zip rename to .yarn/cache/set-function-length-npm-1.2.1-5131ef7312-23742476d6.zip index 7534b31baa..6a372d7829 100644 Binary files a/.yarn/cache/set-function-length-npm-1.2.0-aac8e100c3-63e34b45a2.zip and b/.yarn/cache/set-function-length-npm-1.2.1-5131ef7312-23742476d6.zip differ diff --git a/.yarn/cache/side-channel-npm-1.0.4-e1f38b9e06-351e41b947.zip b/.yarn/cache/side-channel-npm-1.0.4-e1f38b9e06-351e41b947.zip deleted file mode 100644 index 3761d61220..0000000000 Binary files a/.yarn/cache/side-channel-npm-1.0.4-e1f38b9e06-351e41b947.zip and /dev/null differ diff --git a/.yarn/cache/side-channel-npm-1.0.5-ac07c0c62d-640446b4e5.zip b/.yarn/cache/side-channel-npm-1.0.5-ac07c0c62d-640446b4e5.zip new file mode 100644 index 0000000000..b1c12900d8 Binary files /dev/null and b/.yarn/cache/side-channel-npm-1.0.5-ac07c0c62d-640446b4e5.zip differ diff --git a/.yarn/cache/storybook-npm-7.6.12-d6821fd697-e497c50744.zip b/.yarn/cache/storybook-npm-7.6.13-0461d9cf48-bda87cf64f.zip similarity index 63% rename from .yarn/cache/storybook-npm-7.6.12-d6821fd697-e497c50744.zip rename to .yarn/cache/storybook-npm-7.6.13-0461d9cf48-bda87cf64f.zip index 63ad660e3e..229265e5bb 100644 Binary files a/.yarn/cache/storybook-npm-7.6.12-d6821fd697-e497c50744.zip and b/.yarn/cache/storybook-npm-7.6.13-0461d9cf48-bda87cf64f.zip differ diff --git a/.yarn/cache/tabster-npm-6.0.0-cec0def475-e7741645eb.zip b/.yarn/cache/tabster-npm-6.0.0-cec0def475-e7741645eb.zip deleted file mode 100644 index 2e56282d02..0000000000 Binary files a/.yarn/cache/tabster-npm-6.0.0-cec0def475-e7741645eb.zip and /dev/null differ diff --git a/.yarn/cache/tabster-npm-6.0.1-d0f8a85dc1-f7cd7664e6.zip b/.yarn/cache/tabster-npm-6.0.1-d0f8a85dc1-f7cd7664e6.zip new file mode 100644 index 0000000000..65a90c683a Binary files /dev/null and b/.yarn/cache/tabster-npm-6.0.1-d0f8a85dc1-f7cd7664e6.zip differ diff --git a/.yarn/cache/tlds-npm-1.249.0-200598d2b4-66bec7fbe9.zip b/.yarn/cache/tlds-npm-1.249.0-200598d2b4-66bec7fbe9.zip deleted file mode 100644 index 4df28a8411..0000000000 Binary files a/.yarn/cache/tlds-npm-1.249.0-200598d2b4-66bec7fbe9.zip and /dev/null differ diff --git a/.yarn/cache/tlds-npm-1.250.0-e683f7ee96-559a675744.zip b/.yarn/cache/tlds-npm-1.250.0-e683f7ee96-559a675744.zip new file mode 100644 index 0000000000..a784f57f97 Binary files /dev/null and b/.yarn/cache/tlds-npm-1.250.0-e683f7ee96-559a675744.zip differ diff --git a/.yarn/cache/ts-api-utils-npm-1.2.0-12b1cefbbe-9f11d4fdb8.zip b/.yarn/cache/ts-api-utils-npm-1.2.1-edd799bde4-17a2a4454d.zip similarity index 97% rename from .yarn/cache/ts-api-utils-npm-1.2.0-12b1cefbbe-9f11d4fdb8.zip rename to .yarn/cache/ts-api-utils-npm-1.2.1-edd799bde4-17a2a4454d.zip index 2b653a5aeb..c5bdcc3bca 100644 Binary files a/.yarn/cache/ts-api-utils-npm-1.2.0-12b1cefbbe-9f11d4fdb8.zip and b/.yarn/cache/ts-api-utils-npm-1.2.1-edd799bde4-17a2a4454d.zip differ diff --git a/.yarn/cache/typed-array-buffer-npm-1.0.0-95cb610310-3e0281c79b.zip b/.yarn/cache/typed-array-buffer-npm-1.0.0-95cb610310-3e0281c79b.zip deleted file mode 100644 index 7e8dc8f1ed..0000000000 Binary files a/.yarn/cache/typed-array-buffer-npm-1.0.0-95cb610310-3e0281c79b.zip and /dev/null differ diff --git a/.yarn/cache/typed-array-buffer-npm-1.0.1-812b8a9be7-1d65e46b2b.zip b/.yarn/cache/typed-array-buffer-npm-1.0.1-812b8a9be7-1d65e46b2b.zip new file mode 100644 index 0000000000..35bebd4a31 Binary files /dev/null and b/.yarn/cache/typed-array-buffer-npm-1.0.1-812b8a9be7-1d65e46b2b.zip differ diff --git a/.yarn/cache/ufo-npm-1.3.2-dcaf8105d0-f1180bb715.zip b/.yarn/cache/ufo-npm-1.3.2-dcaf8105d0-f1180bb715.zip deleted file mode 100644 index 8d355bd0e9..0000000000 Binary files a/.yarn/cache/ufo-npm-1.3.2-dcaf8105d0-f1180bb715.zip and /dev/null differ diff --git a/.yarn/cache/ufo-npm-1.4.0-ca057b1d71-7c7ca3d823.zip b/.yarn/cache/ufo-npm-1.4.0-ca057b1d71-7c7ca3d823.zip new file mode 100644 index 0000000000..2129803b0d Binary files /dev/null and b/.yarn/cache/ufo-npm-1.4.0-ca057b1d71-7c7ca3d823.zip differ diff --git a/.yarn/cache/unplugin-npm-1.6.0-fdeeca51dd-1c2817f791.zip b/.yarn/cache/unplugin-npm-1.6.0-fdeeca51dd-1c2817f791.zip deleted file mode 100644 index bf43d9cd1d..0000000000 Binary files a/.yarn/cache/unplugin-npm-1.6.0-fdeeca51dd-1c2817f791.zip and /dev/null differ diff --git a/.yarn/cache/unplugin-npm-1.7.1-f1f93690d1-932349e15b.zip b/.yarn/cache/unplugin-npm-1.7.1-f1f93690d1-932349e15b.zip new file mode 100644 index 0000000000..efeb1a4534 Binary files /dev/null and b/.yarn/cache/unplugin-npm-1.7.1-f1f93690d1-932349e15b.zip differ diff --git a/package.json b/package.json index 6b93f79ec0..e03f6b211e 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "build:react-contoso": "lerna run build --scope react-contoso", "bundle": "cd ./packages/mgt && npm run bundle", "clean": "lerna run --parallel --stream --scope '@microsoft/*' clean", - "lint:eslint": "eslint -c .eslintrc.js --quiet 'packages/*/src/**/*.ts'", + "lint:eslint": "eslint -c .eslintrc.js --quiet packages/*/src/**/*.ts", "lint:eslint:loud": "eslint -c .eslintrc.js 'packages/*/src/**/*.ts'", "lint:styles": "stylelint './packages/mgt-components/**/*.{css,scss}'", "lint:fix": "npm run lint:styles -- --fix", @@ -46,7 +46,7 @@ "watch:react-library-deps": "lerna run build:watch --parallel --stream --scope @microsoft/mgt-react --include-dependencies", "watch:react-library": "lerna run build:watch --scope @microsoft/mgt-react", "watch:react-contoso": "lerna run start --scope react-contoso", - "watch:react": "npm-run-all --parallel watch:react-library watch:react-library-deps watch:react-contoso", + "watch:react": "NODE_OPTIONS=--max_old_space_size=8192 npm-run-all --parallel watch:react-library watch:react-library-deps watch:react-contoso", "prettier:base": "prettier --parser typescript", "prettier:check": "npm run prettier:base -- --check \"packages/**/*.{ts,tsx}\"", "prettier:write": "npm run prettier:base -- --write \"packages/**/*.{ts,tsx}\"", diff --git a/packages/mgt-chat/package.json b/packages/mgt-chat/package.json index 191d87804c..de8c19adec 100644 --- a/packages/mgt-chat/package.json +++ b/packages/mgt-chat/package.json @@ -38,6 +38,7 @@ "author": "Microsoft", "license": "MIT", "devDependencies": { + "@types/html-to-text": "^9.0.4", "@types/react": "^17.0.0", "react": "^17.0.0", "react-dom": "^17.0.0", @@ -64,6 +65,7 @@ "@microsoft/microsoft-graph-types": "^2.0.0", "@microsoft/microsoft-graph-types-beta": "^0.16.0-preview", "@microsoft/signalr": "^7.0.4", + "html-to-text": "^9.0.5", "immer": "^9.0.6", "opencrypto": "1.5.5", "uuid": "^9.0.0", diff --git a/packages/mgt-chat/src/components/Chat/Chat.tsx b/packages/mgt-chat/src/components/Chat/Chat.tsx index 3dce6875cb..257a7eebc1 100644 --- a/packages/mgt-chat/src/components/Chat/Chat.tsx +++ b/packages/mgt-chat/src/components/Chat/Chat.tsx @@ -1,6 +1,12 @@ import { FluentThemeProvider, MessageThread, SendBox, MessageThreadStyles } from '@azure/communication-react'; import { FluentTheme } from '@fluentui/react'; import { FluentProvider, makeStyles, shorthands, webLightTheme } from '@fluentui/react-components'; +import { v4 as uuid } from 'uuid'; +import { StatefulGraphChatClient } from '../../statefulClient/StatefulGraphChatClient'; +import { useGraphChatClient } from '../../statefulClient/useGraphChatClient'; +import { onRenderMessage } from '../../utils/chat'; +import { renderMGTMention } from '../../utils/mentions'; +import { registerAppIcons } from '../styles/registerIcons'; import { Spinner } from '@microsoft/mgt-react'; import { enableMapSet } from 'immer'; import React, { useEffect, useState } from 'react'; @@ -12,12 +18,7 @@ import { LoadingMessagesErrorIcon } from '../Error/LoadingMessageErrorIcon'; import { OpenTeamsLinkError } from '../Error/OpenTeams'; import { RequireValidChatId } from '../Error/RequireAValidChatId'; import { TypeANewMessage } from '../Error/TypeANewMessage'; -import { registerAppIcons } from '../styles/registerIcons'; import { BotInfoClient } from '../../statefulClient/BotInfoClient'; -import { StatefulGraphChatClient } from '../../statefulClient/StatefulGraphChatClient'; -import { useGraphChatClient } from '../../statefulClient/useGraphChatClient'; -import { onRenderMessage } from '../../utils/chat'; -import { renderMGTMention } from '../../utils/mentions'; registerAppIcons(); @@ -79,7 +80,7 @@ const useStyles = makeStyles({ */ const messageThreadStyles: MessageThreadStyles = { chatContainer: { - '& .ui-box': { + '& .uiBox': { zIndex: 'unset', '& div[data-ui-status]': { display: 'inline-flex', @@ -89,7 +90,7 @@ const messageThreadStyles: MessageThreadStyles = { } }, chatMessageContainer: { - '& p>.mgt-person-mention,msft-mention': { + '& p>.mgtPersonMention,msftMention': { display: 'inline-block', ...shorthands.marginInline('0px') }, @@ -99,7 +100,7 @@ const messageThreadStyles: MessageThreadStyles = { } }, myChatMessageContainer: { - '& p>.mgt-person-mention,msft-mention': { + '& p>.mgtPersonMention,msftMention': { display: 'inline-block', ...shorthands.marginInline('0px') }, @@ -110,14 +111,25 @@ const messageThreadStyles: MessageThreadStyles = { } }; +/** + * Provides a stable sessionId for the lifetime of the browser tab. + * @returns a string that is either read from session storage or generated and placed in session storage + */ +const useSessionId = (): string => { + const [sessionId] = useState(() => uuid()); + return sessionId; +}; + export const Chat = ({ chatId }: IMgtChatProps) => { useEffect(() => { enableMapSet(); }, []); const styles = useStyles(); - const chatClient: StatefulGraphChatClient = useGraphChatClient(chatId); + const chatClient: StatefulGraphChatClient = useGraphChatClient(); const [botInfoClient] = useState(() => new BotInfoClient()); - const [chatState, setChatState] = useState(() => chatClient.getState()); + const [chatState, setChatState] = useState(chatClient.getState()); + const sessionId = useSessionId(); + useEffect(() => { chatClient.onStateChange(setChatState); return () => { @@ -125,9 +137,20 @@ export const Chat = ({ chatId }: IMgtChatProps) => { }; }, [chatClient]); - const isLoading = ['creating server connections', 'subscribing to notifications', 'loading messages'].includes( - chatState.status - ); + // when chatId or sessionId changes this effect subscribes or unsubscribes + // the component to/from web socket based notifications for the given chatId + useEffect(() => { + // we must have both a chatId & sessionId to subscribe. + if (chatId && sessionId) chatClient.subscribeToChat(chatId, sessionId); + else chatClient.setStatus('no chat id'); + }, [chatId, sessionId, chatClient]); + + const isLoading = [ + 'initial', + 'creating server connections', + 'subscribing to notifications', + 'loading messages' + ].includes(chatState.status); const disabled = !chatId || !!chatState.activeErrorMessages.length; const placeholderText = disabled ? 'You cannot send a message' : 'Type a message...'; @@ -191,7 +214,7 @@ export const Chat = ({ chatId }: IMgtChatProps) => { )} {chatState.status === 'error' && ( - + )}
diff --git a/packages/mgt-chat/src/components/ChatList/ChatList.tsx b/packages/mgt-chat/src/components/ChatList/ChatList.tsx new file mode 100644 index 0000000000..026bf2375f --- /dev/null +++ b/packages/mgt-chat/src/components/ChatList/ChatList.tsx @@ -0,0 +1,342 @@ +import React, { useCallback, useEffect, useState, useRef } from 'react'; +import { ChatListItem } from '../ChatListItem/ChatListItem'; +import { MgtTemplateProps, Spinner, log, error } from '@microsoft/mgt-react'; +import { makeStyles, Button, FluentProvider, shorthands, webLightTheme } from '@fluentui/react-components'; +import { FluentThemeProvider } from '@azure/communication-react'; +import { FluentTheme } from '@fluentui/react'; +import { ChatMessage } from '@microsoft/microsoft-graph-types'; +import { + StatefulGraphChatListClient, + GraphChatListClient, + GraphChatThread +} from '../../statefulClient/StatefulGraphChatListClient'; +import { ChatListHeader } from '../ChatListHeader/ChatListHeader'; +import { IChatListMenuItemsProps } from '../ChatListHeader/EllipsisMenu'; +import { ChatListButtonItem } from '../ChatListHeader/ChatListButtonItem'; +import { Error } from '../Error/Error'; +import { LoadingMessagesErrorIcon } from '../Error/LoadingMessageErrorIcon'; +import { CreateANewChat } from '../Error/CreateANewChat'; +import { OpenTeamsLinkError } from '../Error/OpenTeams'; +import { IChatListActions } from '../ChatListHeader/IChatListActions'; + +export interface IChatListProps { + onSelected: (e: GraphChatThread) => void; + onUnselected?: (e: GraphChatThread) => void; + onLoaded?: (e: GraphChatThread[]) => void; + onAllMessagesRead: (e: string[]) => void; + buttonItems?: ChatListButtonItem[]; + chatThreadsPerPage: number; + lastReadTimeInterval?: number; + selectedChatId?: string; + onMessageReceived?: (msg: ChatMessage) => void; + onConnectionChanged?: (connected: boolean) => void; +} + +const useStyles = makeStyles({ + chatList: { + display: 'flex', + flexDirection: 'column', + height: '100%', + ...shorthands.overflow('hidden'), + paddingBlockEnd: '12px' + }, + chatListItems: { + height: '100%', + visibility: 'visible', + paddingRight: '2px' + }, + scrollbox: { + ...shorthands.overflow('auto'), + visibility: 'hidden', + '::-webkit-scrollbar': { + width: '8px' + }, + '::-webkit-scrollbar-track': { + backgroundColor: 'transparent' + }, + '::-webkit-scrollbar-thumb': { + backgroundColor: '#a0a0a0' + }, + ':hover': { + visibility: 'visible' + }, + ':focus': { + visibility: 'visible' + } + }, + fullHeight: { + height: '100%' + }, + spinner: { + justifyContent: 'center', + display: 'flex', + alignItems: 'center', + height: '100%' + }, + button: { + flexDirection: 'row', + alignItems: 'center', + width: '100%', + ...shorthands.padding('0px'), + ...shorthands.border('none') + }, + error: { + display: 'flex', + justifyContent: 'center', + height: '100%' + }, + bottomWhitespace: { + height: '80%', + width: '100%' + } +}); + +// this is a stub to move the logic here that should end up here. +export const ChatList = ({ + lastReadTimeInterval = 30000, // default to 30 seconds + selectedChatId, + onMessageReceived, + onAllMessagesRead, + onLoaded, + onConnectionChanged, + onSelected, + onUnselected, + chatThreadsPerPage, + ...props +}: MgtTemplateProps & IChatListProps & IChatListMenuItemsProps) => { + const styles = useStyles(); + const [chatListClient] = useState(() => new StatefulGraphChatListClient()); + const [chatListActions] = useState(() => { + return { + markAllChatThreadsAsRead: () => chatListClient.markAllChatThreadsAsRead() + }; + }); + const [initialLastReadTimeInterval, setInitialLastReadTimeInterval] = useState(); + const [chatListState, setChatListState] = useState(); + + useEffect(() => { + chatListClient.onStateChange(setChatListState); + return () => { + chatListClient.offStateChange(setChatListState); + }; + }, [chatListClient]); + + useEffect(() => { + if (chatThreadsPerPage < 1) { + error('chatThreadsPerPage must be greater than 0!'); + return; + } + + // todo: implement a upperbound limit for chatThreadsPerPage + chatListClient.chatThreadsPerPage = chatThreadsPerPage; + }, [chatListClient, chatThreadsPerPage]); + + useEffect(() => { + if (!selectedChatId) { + chatListClient.clearSelectedChat(); + } else { + chatListClient.setSelectedChatId(selectedChatId); + } + }, [chatListClient, selectedChatId]); + + // Store last read time in cache so that when the user comes back to the chat list, + // we know what messages they are likely to have not read. This is not perfect because + // the user could have read messages in another client (for instance, the Teams client). + useEffect(() => { + // setup timer only after we have a defined chatListClient + if (initialLastReadTimeInterval) { + error('lastReadTimeInterval can only be set once.'); + return; + } + + if (lastReadTimeInterval < 1) { + error('lastReadTimeInterval must be greater than 0!'); + return; + } + + // todo: implement a upperbound limit for lastReadTimeInterval + setInitialLastReadTimeInterval(lastReadTimeInterval); + + const timer = setInterval(() => { + chatListClient.cacheLastReadTime('selected'); + }, lastReadTimeInterval); + + return () => { + clearInterval(timer); + }; + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [chatListClient, lastReadTimeInterval]); // initialLastReadTimeInterval is used to ensure we only set interval once. + + useEffect(() => { + if (!chatListState) { + return; + } + + // handle state changes + if (chatListState.status === 'chat message received' && onMessageReceived && chatListState.chatMessage) { + onMessageReceived(chatListState.chatMessage); + } + + if (chatListState.status === 'chat selected' && onSelected && chatListState.internalSelectedChat) { + onSelected(chatListState.internalSelectedChat); + } + + if (chatListState.status === 'chat unselected' && onUnselected && chatListState.internalPrevSelectedChat) { + onUnselected(chatListState.internalPrevSelectedChat); + } + + if (chatListState.status === 'chats read' && onAllMessagesRead && chatListState.chatThreads) { + onAllMessagesRead(chatListState.chatThreads.map(c => c.id!)); + } + + if (chatListState.status === 'chats loaded' && onLoaded) { + onLoaded(chatListState?.chatThreads ?? []); + } + + if ( + chatListState.status === 'chats loaded' && + chatListState.fireOnSelected && + onSelected && + chatListState.internalSelectedChat + ) { + onSelected(chatListState.internalSelectedChat); + } + + if (chatListState.status === 'no chats' && onLoaded) { + onLoaded([]); + } + + if (chatListState.status === 'server connection established' && onConnectionChanged) { + onConnectionChanged(true); + void chatListClient.tryLoadChatThreads().catch(e => chatListClient.raiseFatalError(e as Error)); + } + + if (chatListState.status === 'server connection lost' && onConnectionChanged) { + onConnectionChanged(false); + } + }, [ + chatListClient, + chatListState, + onLoaded, + onMessageReceived, + onSelected, + onUnselected, + onAllMessagesRead, + onConnectionChanged + ]); + + // this only runs once when the component is unmounted + useEffect(() => { + // tear down + return () => { + // log state of chatlistclient for debugging purposes + log('ChatList unmounted.', chatListClient.getState()); + chatListClient.tearDown(); + }; + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); // required for the teardown to only run once + + const onClickChatListItem = useCallback( + (chat: GraphChatThread) => { + if (chatListClient) { + chatListClient.setSelectedChat(chat); + } + }, + [chatListClient] + ); + + const chatListButtonItems = props.buttonItems === undefined ? [] : props.buttonItems; + const chatListMenuItems = props.menuItems === undefined ? [] : props.menuItems; + + const isLoading = ['creating server connections', 'subscribing to notifications', 'loading chats'].includes( + chatListState?.status ?? '' + ); + + const targetElementRef = useRef(null); + + useEffect(() => { + // define the intersection observer callback + const handleIntersection = (entries: IntersectionObserverEntry[]) => { + for (const entry of entries) { + // The element has come into view, you can perform your actions here + if (entry.isIntersecting && chatListClient) { + chatListClient.tryLoadMoreChatThreads().catch(e => error('Failed to load more chat threads.', e)); + } + } + }; + + // create a new Intersection Observer instance + const observer = new IntersectionObserver(handleIntersection, { + root: null, // observing intersections with the viewport + rootMargin: '0px', + threshold: 0.03 // Callback is invoked when 3% of the target is visible + }); + + // start observing + if (targetElementRef.current) { + observer.observe(targetElementRef.current); + } + + return () => observer.disconnect(); + }, [chatListClient, chatListState]); + + return ( + + +
+ {chatListState?.status !== 'server connection lost' && chatListActions && ( + + )} + {chatListState && chatListState.chatThreads.length > 0 ? ( + <> +
+
+ {chatListState?.chatThreads.map(c => ( + + ))} + {chatListState?.moreChatThreadsToLoad && ( +
+   +
+ )} +
+
+ + ) : ( + <> +
+ {isLoading && ( +
+
+ {chatListState?.status} +
+ )} + {chatListState?.status === 'no chats' && ( + + )} + {chatListState?.status === 'server connection lost' && ( + + )} + {chatListState?.status === 'fatal error' && ( + + )} +
+ + )} +
+
+
+ ); +}; diff --git a/packages/mgt-chat/src/components/ChatListHeader/ChatListButtonItem.ts b/packages/mgt-chat/src/components/ChatListHeader/ChatListButtonItem.ts new file mode 100644 index 0000000000..973ae79450 --- /dev/null +++ b/packages/mgt-chat/src/components/ChatListHeader/ChatListButtonItem.ts @@ -0,0 +1,13 @@ +/** + * ------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. + * See License in the project root for license information. + * ------------------------------------------------------------------------------------------- + */ + +import { IChatListActions } from './IChatListActions'; + +export interface ChatListButtonItem { + onClick: (actions: IChatListActions) => void; + renderIcon: () => JSX.Element; +} diff --git a/packages/mgt-chat/src/components/ChatListHeader/ChatListHeader.tsx b/packages/mgt-chat/src/components/ChatListHeader/ChatListHeader.tsx new file mode 100644 index 0000000000..40b74478db --- /dev/null +++ b/packages/mgt-chat/src/components/ChatListHeader/ChatListHeader.tsx @@ -0,0 +1,87 @@ +import React, { useCallback } from 'react'; +import { MgtTemplateProps } from '@microsoft/mgt-react'; +import { makeStyles, shorthands, Button } from '@fluentui/react-components'; +import { EllipsisMenu, IChatListMenuItemsProps } from './EllipsisMenu'; +import { ChatListButtonItem } from './ChatListButtonItem'; +import { Circle } from '../Circle/Circle'; +import { IChatListActions } from './IChatListActions'; + +const useStyles = makeStyles({ + headerContainer: { + display: 'flex', + width: '100%', + flexDirection: 'row', + rowGap: 0, + zIndex: 3, + paddingTop: '8px', + paddingLeft: '10px', + paddingRight: '10px', + paddingBlockEnd: '8px' + }, + controlsContainer: { + display: 'flex', + flexDirection: 'row', + justifyContent: 'space-between', // This distributes the space evenly + alignItems: 'center' + }, + buttonIcon: { + flexGrow: 0, + flexShrink: 0, + flexBasis: '35px', + ...shorthands.borderRadius('50%'), // This will make it round + marginRight: '10px', + objectFit: 'cover', // This ensures the image covers the area without stretching + display: 'flex', + alignItems: 'center', // This will vertically center the image + justifyContent: 'center' // This will horizontally center the image + }, + button: { + ...shorthands.border('none'), + ...shorthands.padding(0), // Remove padding + minWidth: 0, // Allow the button to shrink to the size of its content + '&:hover': { + backgroundColor: 'transparent' + } + } +}); + +// this is a stub to move the logic here that should end up here. +export const ChatListHeader = ( + props: MgtTemplateProps & + IChatListMenuItemsProps & { + buttonItems?: ChatListButtonItem[]; + actions: IChatListActions; + } +) => { + const classes = useStyles(); + + const buttonItems: ChatListButtonItem[] = props.buttonItems === undefined ? [] : props.buttonItems; + const clickButton = useCallback((buttonItem: ChatListButtonItem) => { + buttonItem.onClick(props.actions); + }, []); + + return ( + <> + {buttonItems.length === 0 && (props.menuItems === undefined || props.menuItems?.length === 0) ? ( + <> + ) : ( +
+
+
+ {buttonItems.map((buttonItem, index) => ( + + ))} +
+
+ +
+
+
+ )} + + ); +}; diff --git a/packages/mgt-chat/src/components/ChatListHeader/ChatListMenuItem.ts b/packages/mgt-chat/src/components/ChatListHeader/ChatListMenuItem.ts new file mode 100644 index 0000000000..d1d4c50f47 --- /dev/null +++ b/packages/mgt-chat/src/components/ChatListHeader/ChatListMenuItem.ts @@ -0,0 +1,13 @@ +/** + * ------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. + * See License in the project root for license information. + * ------------------------------------------------------------------------------------------- + */ + +import { IChatListActions } from './IChatListActions'; + +export interface ChatListMenuItem { + displayText: string; + onClick: (actions: IChatListActions) => void; +} diff --git a/packages/mgt-chat/src/components/ChatListHeader/EllipsisMenu.tsx b/packages/mgt-chat/src/components/ChatListHeader/EllipsisMenu.tsx new file mode 100644 index 0000000000..a4d2bc0536 --- /dev/null +++ b/packages/mgt-chat/src/components/ChatListHeader/EllipsisMenu.tsx @@ -0,0 +1,67 @@ +import { + Button, + Menu, + MenuItem, + MenuList, + MenuPopover, + MenuProps, + MenuTrigger, + makeStyles +} from '@fluentui/react-components'; +import { MoreHorizontal24Filled, MoreHorizontal24Regular, bundleIcon } from '@fluentui/react-icons'; +import React, { useCallback } from 'react'; +import { ChatListMenuItem } from './ChatListMenuItem'; +import { IChatListActions } from './IChatListActions'; + +const EllipsisIcon = bundleIcon(MoreHorizontal24Filled, MoreHorizontal24Regular); + +const menuProps: Partial = { + inline: true, + hasIcons: false, + closeOnScroll: true, + positioning: 'below-start' +}; + +const ellipsisMenuStyles = makeStyles({ + menuPopover: { + zIndex: 10, + '& .fui-MenuItemLink__content': { + fontFamily: 'Segoe UI', + fontSize: '12px', + fontStyle: 'normal', + fontWeight: '600' + } + } +}); +export interface IChatListMenuItemsProps { + menuItems?: ChatListMenuItem[]; +} + +export const EllipsisMenu = ( + props: IChatListMenuItemsProps & { + actions: IChatListActions; + } +) => { + const styles = ellipsisMenuStyles(); + + const menuItems: ChatListMenuItem[] = props.menuItems === undefined ? [] : props.menuItems; + + const clickMenuItem = useCallback((menuItem: ChatListMenuItem) => { + menuItem.onClick(props.actions); + }, []); + + return ( + + + + ); +}; diff --git a/packages/mgt-chat/src/components/ChatListHeader/IChatListActions.ts b/packages/mgt-chat/src/components/ChatListHeader/IChatListActions.ts new file mode 100644 index 0000000000..79c50b201d --- /dev/null +++ b/packages/mgt-chat/src/components/ChatListHeader/IChatListActions.ts @@ -0,0 +1,10 @@ +/** + * ------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. + * See License in the project root for license information. + * ------------------------------------------------------------------------------------------- + */ + +export interface IChatListActions { + markAllChatThreadsAsRead: () => void; +} diff --git a/packages/mgt-chat/src/components/ChatListItem/ChatListItem.spec.tsx b/packages/mgt-chat/src/components/ChatListItem/ChatListItem.spec.tsx new file mode 100644 index 0000000000..440feb94b2 --- /dev/null +++ b/packages/mgt-chat/src/components/ChatListItem/ChatListItem.spec.tsx @@ -0,0 +1,106 @@ +// import React from 'react'; +// import { SampleChats, SampleMessagePreviewFromDexter } from './sampleData'; +// import { test, expect } from '@playwright/experimental-ct-react17'; +// import { ChatListItem } from './ChatListItem'; +// import { Chat } from '@microsoft/microsoft-graph-types'; + +// test.describe('ChatListItem', () => { +// test.use({ viewport: { width: 500, height: 500 } }); + +// const chatSelected = (selected: Chat) => void 0; + +// // group chat +// // - member added +// // - member removed +// // - "You: " prefix if you sent the latest message +// // - Member prefix if someone else sent the latest message +// // - title is the topic +// // - no topic, comma separated list of names +// test('groupchat: Other persons message', async ({ mount }) => { +// const component = await mount( +// +// ); +// await expect(component).toContainText('Matthew: Hi everyone, call me Matt.'); +// }); + +// test('groupchat: "You: " prefix on your message', async ({ mount }) => { +// let chat = SampleChats.group.SampleGroupChat; +// chat.lastMessagePreview = SampleMessagePreviewFromDexter; + +// const component = await mount( +// +// ); +// component.textContent; +// await expect(component).toContainText('You: Note to self'); +// }); + +// test('groupchat: implicit topic as a list of names', async ({ mount }) => { +// const component = await mount( +// +// ); +// await expect(component).toContainText('Dexter, Andrew, Matthew, Mark, Luke, Johnathan'); +// }); + +// test('groupchat: explicit topic', async ({ mount }) => { +// const component = await mount( +// +// ); +// await expect(component).toContainText('Group Chat With New Members'); +// }); + +// // one on one +// // - "You: " prefix if you sent the latest message +// // - No prefix if the other person sent the latest message +// // self chat +// test('oneonone: self chat', async ({ mount }) => { +// const component = await mount( +// +// ); +// await expect(component).toContainText('Note to self'); +// }); + +// test('oneonone: other persons message', async ({ mount }) => { +// const component = await mount( +// +// ); +// await expect(component).toContainText('Andrew: This is a sample message preview.'); +// }); + +// test('oneonone: "You: " prefix if you sent the latest message', async ({ mount }) => { +// let chat = SampleChats.oneOnOne.SampleChat; +// chat.lastMessagePreview = SampleMessagePreviewFromDexter; + +// const component = await mount( +// +// ); +// await expect(component).toContainText('You: Note to self'); +// }); + +// // timestamp rendering tests +// test('timestamp: from today', async ({ mount }) => { +// const today = new Date(); +// today.setHours(12, 0, 0, 0); + +// const component = await mount( +// +// ); +// await expect(component).toContainText( +// today.toLocaleTimeString([], { hour: 'numeric', minute: '2-digit' }).toString() +// ); +// }); + +// test('timestamp: from yesterday', async ({ mount }) => { +// const yesterday = new Date(); +// yesterday.setDate(yesterday.getDate() - 1); +// yesterday.setHours(12, 0, 0, 0); + +// const component = await mount( +// +// ); +// await expect(component).toContainText(yesterday.toLocaleDateString([], { month: 'numeric', day: 'numeric' })); +// }); +// }); diff --git a/packages/mgt-chat/src/components/ChatListItem/ChatListItem.tsx b/packages/mgt-chat/src/components/ChatListItem/ChatListItem.tsx new file mode 100644 index 0000000000..f5586155e4 --- /dev/null +++ b/packages/mgt-chat/src/components/ChatListItem/ChatListItem.tsx @@ -0,0 +1,428 @@ +import React, { useState, useEffect, useRef } from 'react'; +import { makeStyles, mergeClasses, shorthands } from '@fluentui/react-components'; +import { + Chat, + ConversationMember, + AadUserConversationMember, + NullableOption, + TeamworkApplicationIdentity, + TeamsAppInstallation +} from '@microsoft/microsoft-graph-types'; +import { Providers, error } from '@microsoft/mgt-element'; +import { rewriteEmojiContentToText } from '../../utils/rewriteEmojiContent'; +import { convert } from 'html-to-text'; +import { loadBotsInChat } from '../../statefulClient/graph.chat'; +import { DefaultProfileIcon } from './DefaultProfileIcon'; +import { GraphChatThread } from '../../statefulClient/StatefulGraphChatListClient'; + +interface IChatListItemProps { + chat: GraphChatThread; + userId: string | undefined; + isSelected: boolean; + isRead: boolean; +} + +interface EventMessageDetailWithType { + '@odata.type': string; +} + +const useStyles = makeStyles({ + // highlight selection + isSelected: { + backgroundColor: '#e6f7ff' + }, + + isUnSelected: { + backgroundColor: '#ffffff' + }, + + // highlight text + isBold: { + fontWeight: 'bold' + }, + + isNormal: { + fontWeight: 'normal' + }, + + chatListItem: { + display: 'flex', + alignItems: 'center', + width: '100%', + paddingRight: '10px', + paddingLeft: '10px' + }, + + profileImage: { + ...shorthands.flex(0, 0, 'auto'), + marginRight: '10px', + objectFit: 'cover', + display: 'flex', + alignItems: 'center', + justifyContent: 'center' + }, + + defaultProfileImage: { + ...shorthands.borderRadius('50%'), + objectFit: 'cover', + display: 'flex', + alignItems: 'center', + justifyContent: 'center' + }, + + chatInfo: { + flexGrow: 1, + flexShrink: 1, + minWidth: 0, + ...shorthands.padding('5px') + }, + + chatTitle: { + textAlign: 'left', + ...shorthands.margin('0'), + fontSize: '1em', + color: '#333', + textOverflow: 'ellipsis', + ...shorthands.overflow('hidden'), + whiteSpace: 'nowrap', + width: 'auto' + }, + + chatMessage: { + fontSize: '0.9em', + color: '#666', + textAlign: 'left', + ...shorthands.margin('0'), + textOverflow: 'ellipsis', + ...shorthands.overflow('hidden'), + whiteSpace: 'nowrap', + width: 'auto', + minHeight: '20px' // ensures formatting is consistent with empty previewMessage + }, + + chatTimestamp: { + flexShrink: 0, + textAlign: 'right', + alignSelf: 'start', + marginLeft: 'auto', + paddingLeft: '10px', + fontSize: '0.8em', + color: '#999', + whiteSpace: 'nowrap' + }, + + person: { + '--person-avatar-size': '32px', + '--person-alignment': 'center' + } +}); + +const IGNORE_BOTS_WITH_NAME = ['Updates']; + +// regex to match different tags +const imageTagRegex = /(]+)/; +const attachmentTagRegex = /(]+)/; +const systemEventTagRegex = /(]+)/; + +export const ChatListItem = ({ chat, userId: myId, isSelected, isRead }: IChatListItemProps) => { + const styles = useStyles(); + + // manage the internal state of the chat + const [bots, setBots] = useState(); + const isBotsLoadingOrLoaded = useRef(false); + + // if chat changes, the bots need to change too + useEffect(() => { + setBots(undefined); + isBotsLoadingOrLoaded.current = false; + }, [chat?.id]); + + const startLoadingBotsInChat = async (chatId: string) => { + // ensure this is only called once + if (isBotsLoadingOrLoaded.current) { + return; + } + + const provider = Providers.globalProvider; + + // set to loading + isBotsLoadingOrLoaded.current = true; + + // load the bots + const graph = provider.graph.forComponent('ChatListItem'); + try { + const botsResponse = await loadBotsInChat(graph, chatId); + setBots(botsResponse.value); + } catch (e) { + error(e); + setBots([]); + } + }; + + // shortcut if no valid user + if (!myId) { + return <>; + } + + const getMemberName = (member: ConversationMember): string => { + return member?.displayName || (member as AadUserConversationMember)?.email || member?.id || 'Unknown'; + }; + + const getTitleFromNames = (names: string[], useFirstNamesIfAppropriate: boolean) => { + names = names.sort(); + if (names.length === 1) { + return names[0]; + } + + if (names.length === 2 && useFirstNamesIfAppropriate) { + const firstNames = names.map(n => n.split(' ')[0]); + return firstNames.join(' and '); + } + + if (names.length === 2) { + return names.join(' and '); + } + + if (names.length === 3 && useFirstNamesIfAppropriate) { + const firstNames = names.map(n => n.split(' ')[0]); + return firstNames.join(', '); + } + + if (names.length === 3) { + return names.join(', '); + } + + if (names.length > 3 && useFirstNamesIfAppropriate) { + const firstNames = names.map(n => n.split(' ')[0]); + const firstThree = firstNames.slice(0, 3); + const remainingCount = names.length - 3 + 1; // +1 for the current user + return firstThree.join(', ') + ' +' + remainingCount; + } + + if (names.length > 3) { + const firstThree = names.slice(0, 3); + const remainingCount = names.length - 3 + 1; // +1 for the current user + return firstThree.join(', ') + ' +' + remainingCount; + } + }; + + // Copied and modified from the sample ChatItem.tsx + // Determines the title in the case of 1:1 and self chats + // Self Chats are not possible, however, 1:1 chats with a bot will show no other members other than self. + const getTitleFromChat = (c: Chat) => { + // use the topic if available + if (c.topic) { + return c.topic; + } + + const others = (c.members || []).filter(m => (m as AadUserConversationMember).userId !== myId); + + // when there are no other people, and we have bot information to make the most informed decision + if (others.length === 0 && bots) { + const names = bots + .filter( + a => + a.teamsAppDefinition?.bot?.id && + a.teamsAppDefinition?.displayName && + IGNORE_BOTS_WITH_NAME.indexOf(a.teamsAppDefinition?.displayName) === -1 + ) + .map(a => a.teamsAppDefinition!.displayName!); + if (names.length > 0) { + const unique = names.filter((n, i) => names.indexOf(n) === i); + return getTitleFromNames(unique, false); + } + const me = c.members?.find(m => (m as AadUserConversationMember).userId === myId); + return me ? getMemberName(me) : 'Me'; + } + + const application = c.lastMessagePreview?.from?.application as TeamworkApplicationIdentity; + + // when there are no people, and we don't have any bot information but we do have application information + if (others.length === 0 && application) { + void startLoadingBotsInChat(c.id!); + return application.displayName ? application.displayName : application.id; + } + + // when there are no people, and we don't have any bot or application information + if (others.length === 0) { + void startLoadingBotsInChat(c.id!); + return c.id; + } + + // when there are people, use them + if (others.length > 0) { + const names = others.map(o => getMemberName(o)); + return getTitleFromNames(names, true); + } + + return c.id; + }; + + // Derives the timestamp to display + const extractTimestamp = (timestamp: NullableOption): string => { + if (!timestamp) return ''; + const currentDate = new Date(); + const date = new Date(timestamp); + + const [month, day, year] = [date.getMonth(), date.getDate(), date.getFullYear()]; + const [currentMonth, currentDay, currentYear] = [ + currentDate.getMonth(), + currentDate.getDate(), + currentDate.getFullYear() + ]; + + // if the message was sent today, return the time + if (currentDay === day && currentMonth === month && currentYear === year) { + return date.toLocaleTimeString(navigator.language, { hour: 'numeric', minute: '2-digit' }); + } + + // if the message was sent in a previous year, include the year + if (currentYear !== year) { + return date.toLocaleDateString(navigator.language, { month: 'numeric', day: 'numeric', year: 'numeric' }); + } + + // otherwise, return the month and day + return date.toLocaleDateString(navigator.language, { month: 'numeric', day: 'numeric' }); + }; + + // Chooses the correct timestamp to display + const determineCorrectTimestamp = (c: Chat) => { + let timestamp: NullableOption; + + // lastMessageTime is the time of the last message sent in the chat + // lastUpdatedTime is Date and time at which the chat was renamed or list of members were last changed. + const lastMessageTime = c.lastMessagePreview?.createdDateTime + ? new Date(c.lastMessagePreview.createdDateTime) + : null; + const lastUpdatedTime = c.lastUpdatedDateTime ? new Date(c.lastUpdatedDateTime) : null; + + if (lastMessageTime && lastUpdatedTime && lastMessageTime > lastUpdatedTime) { + timestamp = String(lastMessageTime); + } else if (lastMessageTime && lastUpdatedTime && lastUpdatedTime > lastMessageTime) { + timestamp = String(lastUpdatedTime); + } else if (lastMessageTime) { + timestamp = String(lastMessageTime); + } else if (lastUpdatedTime) { + timestamp = String(lastUpdatedTime); + } else { + timestamp = null; + } + + return timestamp; + }; + + const getLastMessagePreviewPrefix = (c: Chat) => { + // if the last message was sent by the current user, display 'You: ' + if (c.lastMessagePreview?.from?.user?.id === myId) { + return 'You: '; + } + + // if you are only chatting with one other person, don't display their name + if (c.chatType === 'oneOnOne') { + return ''; + } + + // if the last message was sent from a user, use their display name + if (c.lastMessagePreview?.from?.user?.displayName) { + return `${c.lastMessagePreview.from.user.displayName}: `; + } + + // if the last message is from a bot and we have all the app info, use the app name + if (c.lastMessagePreview?.from?.application?.id && bots) { + const bot = bots.find(a => a.teamsAppDefinition?.bot?.id === c.lastMessagePreview?.from?.application?.id); + if (bot?.teamsAppDefinition?.displayName) { + return `${bot.teamsAppDefinition.displayName}: `; + } + } + + // if the last message is from a bot and we don't have all the app info, load it + if (c.lastMessagePreview?.from?.application?.displayName) { + void startLoadingBotsInChat(c.id!); + return `${c.lastMessagePreview.from.application.displayName}: `; + } + + return ''; + }; + + const enrichPreviewMessage = (c: Chat) => { + const prefix = getLastMessagePreviewPrefix(c); + let content = c.lastMessagePreview?.body?.content; + + // handle null or undefined content + if (!content) { + if (c.lastMessagePreview?.isDeleted) { + return 'This message was deleted'; + } else if (c.lastMessagePreview) { + return `${prefix}Sent a message`; + } else { + return ''; + } + } + + // handle HTML + if (c.lastMessagePreview?.body?.contentType === 'html') { + // handle images + const imageMatch = content.match(imageTagRegex); + if (imageMatch) { + return `${prefix}Sent an image`; + } + + /* handle attachments + * + * NOTE: There is a discrepency between what the Graph API returns and what the Graph subscription + * notification sends in the case of attachments. The Graph API returns an empty content string so + * the preview will be 'Sent a message' whereas the Graph subscription notification returns HTML + * content with an attachment and will display 'Sent a file'. To make this consistent, we could + * change the below to 'Sent a message', however, the Teams client uses 'Sent a file'. + */ + const attachmentMatch = content.match(attachmentTagRegex); + if (attachmentMatch) { + return `${prefix}Sent a file`; + } + + /* handle system events + * + * NOTE: While Graph subscription notifications send events for both users being added and removed, + * the Graph API only returns a message for users being added. + */ + const systemEventMessage = content.match(systemEventTagRegex); + if (systemEventMessage) { + const type = (c.lastMessagePreview?.eventDetail as EventMessageDetailWithType)?.['@odata.type']; + switch (type) { + case '#microsoft.graph.membersAddedEventMessageDetail': + return `${prefix}User added`; + } + } + + // convert html to text + content = rewriteEmojiContentToText(content); + content = convert(content); + } + + // handle general chats from people and bots + return `${prefix}${content}`; + }; + + const container = mergeClasses( + styles.chatListItem, + isSelected ? styles.isSelected : styles.isUnSelected, + isRead ? styles.isNormal : styles.isBold + ); + + // short cut if the id is not defined + if (!myId) { + return <>; + } + return ( +
+
+ +
+
+

{getTitleFromChat(chat)}

+

{enrichPreviewMessage(chat)}

+
+
{extractTimestamp(determineCorrectTimestamp(chat))}
+
+ ); +}; diff --git a/packages/mgt-chat/src/components/ChatListItem/DefaultProfileIcon.tsx b/packages/mgt-chat/src/components/ChatListItem/DefaultProfileIcon.tsx new file mode 100644 index 0000000000..4c4cbb3579 --- /dev/null +++ b/packages/mgt-chat/src/components/ChatListItem/DefaultProfileIcon.tsx @@ -0,0 +1,45 @@ +import React, { useCallback } from 'react'; +import { makeStyles } from '@fluentui/react-components'; +import { ChatListItemIcon } from '../ChatListItemIcon/ChatListItemIcon'; +import { Chat, AadUserConversationMember } from '@microsoft/microsoft-graph-types'; +import { Person } from '@microsoft/mgt-react'; +import { MgtTemplateProps } from '@microsoft/mgt-react'; + +interface IDefaultProfileIconProps { + chat: Chat; + userId: string; +} + +const useStyles = makeStyles({ + person: { + '--person-avatar-size': '32px', + '--person-alignment': 'center' + } +}); + +export const DefaultProfileIcon = ({ chat, userId }: IDefaultProfileIconProps & MgtTemplateProps) => { + const styles = useStyles(); + + const otherAad = useCallback(() => { + const other = chat.members?.find(m => (m as AadUserConversationMember).userId !== userId); + return other as AadUserConversationMember; + }, [chat, userId]); + + return ( + <> + {chat.chatType === 'oneOnOne' && ( + + + + )} + {chat.chatType === 'group' && } + {chat.chatType === 'meeting' && } + + ); +}; diff --git a/packages/mgt-chat/src/components/ChatListItem/sampleData.ts b/packages/mgt-chat/src/components/ChatListItem/sampleData.ts new file mode 100644 index 0000000000..adc184b748 --- /dev/null +++ b/packages/mgt-chat/src/components/ChatListItem/sampleData.ts @@ -0,0 +1,221 @@ +/** + * ------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. + * See License in the project root for license information. + * ------------------------------------------------------------------------------------------- + */ + +import { + Chat, + ChatMessageInfo, + ChatMessageFromIdentitySet, + AadUserConversationMember, + MembersAddedEventMessageDetail +} from '@microsoft/microsoft-graph-types'; + +/* section: oneOnOne SAMPLE DATA */ + +export const SampleFromAndrew: ChatMessageFromIdentitySet = { + user: { + id: 'caab0f18-e467-4d88-ae65-c08f769b8e01', + displayName: 'Andrew' + } +}; + +export const SampleFromDexter: ChatMessageFromIdentitySet = { + user: { + id: 'a7530e0a-85f0-4f77-a617-2a5ab2a959ec', + displayName: 'Dexter' + } +}; + +export const SampleMessagePreviewFromAndrew: ChatMessageInfo = { + createdDateTime: '2021-07-06T21:58:36.141Z', + body: { + content: 'This is a sample message preview. If you can send the end of the sentence eol', + contentType: 'text' + }, + from: SampleFromAndrew +}; + +export const SampleMessagePreviewFromDexter: ChatMessageInfo = { + createdDateTime: '2021-07-06T21:58:36.141Z', + body: { + content: 'Note to self', + contentType: 'text' + }, + from: SampleFromDexter +}; + +export const SampleMembers: AadUserConversationMember[] = [ + { + userId: 'caab0f18-e467-4d88-ae65-c08f769b8e01', + displayName: 'Andrew', + roles: ['owner', 'member'] + }, + { + userId: 'a7530e0a-85f0-4f77-a617-2a5ab2a959ec', + displayName: 'Dexter', + roles: ['member'] + } +]; + +export const SampleSelfMember: AadUserConversationMember = { + userId: 'a7530e0a-85f0-4f77-a617-2a5ab2a959ec', + displayName: 'Dexter', + roles: ['owner', 'member'] +}; + +export const SampleChat: Chat = { + id: '1698961635343:', + topic: 'Dexter', + chatType: 'oneOnOne', + createdDateTime: '2021-07-06T21:58:36.141Z', + lastUpdatedDateTime: '2021-07-06T21:58:36.141Z', + lastMessagePreview: SampleMessagePreviewFromAndrew, + members: SampleMembers +}; + +// update this to your own sample +export const SampleSelfChat: Chat = { + id: '16989616353474', + topic: 'SampleSelfChat', + chatType: 'oneOnOne', + createdDateTime: '2021-07-06T21:58:36.141Z', + lastUpdatedDateTime: '2021-07-06T21:58:36.141Z', + lastMessagePreview: SampleMessagePreviewFromDexter, + members: [SampleSelfMember] +}; + +// use a static time (noon in this case) to avoid race conditions with the test +const today = new Date(); +today.setHours(12, 0, 0, 0); // sets the time to 12:00:00.000 +const todayISOString = today.toISOString(); + +export const SampleTodayChat: Chat = { + id: '1698961635345:', + topic: 'SampleTodayChat', + chatType: 'oneOnOne', + createdDateTime: '2021-07-06T21:58:36.141Z', + lastUpdatedDateTime: todayISOString, + lastMessagePreview: SampleMessagePreviewFromAndrew, + members: SampleMembers +}; + +const yesterday = new Date(); +yesterday.setDate(yesterday.getDate() - 1); +yesterday.setHours(12, 0, 0, 0); +const yesterdayISOString = yesterday.toISOString(); + +export const SampleYesterdayChat: Chat = { + id: '1698961635346:', + topic: 'SampleYesterdayChat', + chatType: 'oneOnOne', + createdDateTime: '2021-07-06T21:58:36.141Z', + lastUpdatedDateTime: yesterdayISOString, + lastMessagePreview: SampleMessagePreviewFromDexter, + members: SampleMembers +}; + +/* section: GROUP SAMPLE DATA */ + +export const SampleGroupMembers: AadUserConversationMember[] = [ + { + userId: 'a7530e0a-85f0-4f77-a617-2a5ab2a959ec', + displayName: 'Dexter', + roles: ['owner', 'member'] + }, + { + userId: 'caab0f18-e467-4d88-ae65-c08f769b8e01', + displayName: 'Andrew', + roles: ['member'] + }, + { + userId: '681c1ef5-c966-4124-9ea6-2ef2eb5ca3ba', + displayName: 'Matthew', + roles: ['member'] + }, + { + userId: '4287e806-6904-41d5-a168-a42bf0411d46', + displayName: 'Mark', + roles: ['member'] + }, + { + userId: 'ae6a7c20-e2c0-49e9-ac90-8629a073338c', + displayName: 'Luke', + roles: ['member'] + }, + { + userId: '8f018b51-0f63-453b-88a5-8073e196b14b', + displayName: 'Johnathan', + roles: ['member'] + } +]; + +export const SampleGroupPreviewMessageFromSystem: ChatMessageInfo = { + id: '1698961635347', + createdDateTime: '2023-11-02T21:47:15.347Z', + isDeleted: false, + messageType: 'unknownFutureValue', + body: { + contentType: 'html', + content: '' + }, + eventDetail: { + members: [ + { + userId: '8d208569-5838-42d7-ac03-c798d8194a0a', + displayName: 'Brandy', + roles: ['member'] + } + ] as AadUserConversationMember[], + initiator: { + user: { + id: 'a7530e0a-85f0-4f77-a617-2a5ab2a959ec', + displayName: 'Dexter' + } + } + } as MembersAddedEventMessageDetail +}; + +export const SampleGroupPreviewMessageFromPerson: ChatMessageInfo = { + id: '1698961635348', + createdDateTime: '2023-12-13T23:27:24.405Z', + isDeleted: false, + messageType: 'message', + body: { + contentType: 'text', + content: 'Hi everyone, call me Matt.' + }, + from: { + user: { + id: '681c1ef5-c966-4124-9ea6-2ef2eb5ca3ba', + displayName: 'Matthew' + } + } as ChatMessageFromIdentitySet +}; + +export const SampleGroupChat: Chat = { + id: '1698961635349:', + topic: 'Dexter, Andrew, Matthew, Mark, Luke, Johnathan', + createdDateTime: '2021-07-06T21:58:36.141Z', + lastUpdatedDateTime: '2021-07-06T21:58:36.141Z', + chatType: 'group', + lastMessagePreview: SampleGroupPreviewMessageFromPerson, + members: SampleGroupMembers +}; + +export const SampleGroupChatMembershipChange: Chat = { + id: '1698961635350:', + topic: 'Group Chat With New Members', + createdDateTime: '2023-11-02T21:46:58.373Z', + lastUpdatedDateTime: '2023-11-02T21:47:15.292Z', + chatType: 'group', + lastMessagePreview: SampleGroupPreviewMessageFromSystem, + members: null // note: incoming payload for membership changes does not include existing members +}; + +export const SampleChats = { + oneOnOne: { SampleChat, SampleSelfChat, SampleTodayChat, SampleYesterdayChat }, + group: { SampleGroupChat, SampleGroupChatMembershipChange } +}; diff --git a/packages/mgt-chat/src/components/ChatListItemIcon/ChatListItemIcon.tsx b/packages/mgt-chat/src/components/ChatListItemIcon/ChatListItemIcon.tsx new file mode 100644 index 0000000000..dbc1efd041 --- /dev/null +++ b/packages/mgt-chat/src/components/ChatListItemIcon/ChatListItemIcon.tsx @@ -0,0 +1,54 @@ +import React from 'react'; +import { Chat } from '@microsoft/microsoft-graph-types'; +import { makeStyles, shorthands } from '@fluentui/react-components'; +import { CalendarLtr24Regular, PeopleTeam24Regular, Person24Regular, bundleIcon } from '@fluentui/react-icons'; +import { error } from '@microsoft/mgt-element'; +import { Circle } from '../Circle/Circle'; +import { MgtTemplateProps } from '@microsoft/mgt-react'; + +const useStyles = makeStyles({ + defaultProfileImage: { + ...shorthands.borderRadius('50%'), + objectFit: 'cover', + display: 'flex', + alignItems: 'center', + justifyContent: 'center' + } +}); + +const GroupIcon = bundleIcon(PeopleTeam24Regular, PeopleTeam24Regular); +const PersonIcon = bundleIcon(Person24Regular, Person24Regular); +const MeetingIcon = bundleIcon(CalendarLtr24Regular, CalendarLtr24Regular); + +export const ChatListItemIcon = ({ chatType }: Chat & MgtTemplateProps): JSX.Element | null => { + const styles = useStyles(); + if (!chatType) return null; + + const iconColor = 'var(--colorBrandForeground2)'; + + switch (chatType) { + case 'meeting': + return ( + + + + ); + case 'oneOnOne': + return ( +
+ + + +
+ ); + case 'group': + return ( + + + + ); + default: + error(`Attempted to render an icon for chat of type: ${chatType}`); + return null; + } +}; diff --git a/packages/mgt-chat/src/components/Error/CreateANewChat.tsx b/packages/mgt-chat/src/components/Error/CreateANewChat.tsx new file mode 100644 index 0000000000..29dcbb6f5c --- /dev/null +++ b/packages/mgt-chat/src/components/Error/CreateANewChat.tsx @@ -0,0 +1,12 @@ +/** + * ------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. + * See License in the project root for license information. + * ------------------------------------------------------------------------------------------- + */ + +import React from 'react'; + +export const CreateANewChat = () => { + return

Start a new chat to communicate.

; +}; diff --git a/packages/mgt-chat/src/components/Error/PleaseSignIn.tsx b/packages/mgt-chat/src/components/Error/PleaseSignIn.tsx new file mode 100644 index 0000000000..64c8134382 --- /dev/null +++ b/packages/mgt-chat/src/components/Error/PleaseSignIn.tsx @@ -0,0 +1,12 @@ +/** + * ------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. + * See License in the project root for license information. + * ------------------------------------------------------------------------------------------- + */ + +import React from 'react'; + +export const PleaseSignIn = () => { + return

Please sign-in to view chats.

; +}; diff --git a/packages/mgt-chat/src/components/NewChat/NewChat.tsx b/packages/mgt-chat/src/components/NewChat/NewChat.tsx index 63133ec8e1..4028010a16 100644 --- a/packages/mgt-chat/src/components/NewChat/NewChat.tsx +++ b/packages/mgt-chat/src/components/NewChat/NewChat.tsx @@ -1,7 +1,7 @@ import React, { FC, useCallback, useState } from 'react'; import { IDynamicPerson } from '@microsoft/mgt-components'; import { Chat } from '@microsoft/microsoft-graph-types'; -import { IGraph, PeoplePicker, Spinner } from '@microsoft/mgt-react'; +import { IGraph, PeoplePicker, Spinner, error } from '@microsoft/mgt-react'; import { Button, Field, @@ -15,12 +15,14 @@ import { shorthands, webLightTheme } from '@fluentui/react-components'; +import { Send24Regular } from '@fluentui/react-icons'; import { createChatThread } from '../../statefulClient/graph.chat'; import { graph } from '../../utils/graph'; import { currentUserId } from '../../utils/currentUser'; interface NewChatProps { mode?: 'oneOnOne' | 'group' | 'auto'; + enableToLabel?: boolean; onChatCreated: (chat: Chat) => void; onCancelClicked: () => void; } @@ -45,12 +47,20 @@ const useStyles = makeStyles({ formButtons: { display: 'flex', flexDirection: 'row', - justifyContent: 'flex-end', + justifyContent: 'space-between', gridColumnGap: '8px' + }, + sendIconContainer: { + display: 'flex', + alignItems: 'center' + }, + sendIcon: { + color: 'var(--colorBrandForeground2)', + cursor: 'pointer' } }); -const NewChat: FC = ({ mode = 'auto', onChatCreated, onCancelClicked }: NewChatProps) => { +const NewChat: FC = ({ mode = 'auto', enableToLabel, onChatCreated, onCancelClicked }: NewChatProps) => { const styles = useStyles(); type NewChatState = 'initial'; @@ -89,22 +99,31 @@ const NewChat: FC = ({ mode = 'auto', onChatCreated, onCancelClick if (person.id) acc.push(person.id); return acc; }, chatMembers); - void createChatThread(graphClient, chatMembers, isGroup, initialMessage, chatName).then(chat => { - setState('done'); - onChatCreated(chat); - }); + void createChatThread(graphClient, chatMembers, isGroup, initialMessage, chatName) + .then(chat => { + setState('done'); + onChatCreated(chat); + }) + .catch(e => { + // To be consistent with Teams, more specific behavior should be implemented + // to handle scenarios like no selectedPeople and empty initialMessage + error('Failed to create chat thread:', e); + setState('initial'); + }); }, [onChatCreated, selectedPeople, initialMessage, chatName, isGroup]); return ( {state === 'initial' ? (
- + 0) || selectedPeople?.length > 19} ariaLabel="Select people to chat with" selectedPeople={selectedPeople} selectionChanged={onSelectedPeopleChange} + userFilters={`not(id eq '${currentUserId()}')`} // Filters self; self chat is not supported + userType={'user'} // Needed for above filter /> @@ -124,9 +143,9 @@ const NewChat: FC = ({ mode = 'auto', onChatCreated, onCancelClick - +
+ +
) : ( diff --git a/packages/mgt-chat/src/components/index.ts b/packages/mgt-chat/src/components/index.ts index 9168084985..f03e25f384 100644 --- a/packages/mgt-chat/src/components/index.ts +++ b/packages/mgt-chat/src/components/index.ts @@ -6,5 +6,9 @@ */ import { Chat } from './Chat/Chat'; +import { ChatList } from './ChatList/ChatList'; +import { ChatListButtonItem } from './ChatListHeader/ChatListButtonItem'; +import { ChatListMenuItem } from './ChatListHeader/ChatListMenuItem'; +import { IChatListActions } from './ChatListHeader/IChatListActions'; import { NewChat } from './NewChat/NewChat'; -export { Chat, NewChat }; +export { Chat, ChatList, NewChat, ChatListButtonItem, ChatListMenuItem, IChatListActions }; diff --git a/packages/mgt-chat/src/index.ts b/packages/mgt-chat/src/index.ts index b1ab4e0f4c..2f4cdd6f2d 100644 --- a/packages/mgt-chat/src/index.ts +++ b/packages/mgt-chat/src/index.ts @@ -5,11 +5,11 @@ * ------------------------------------------------------------------------------------------- */ -import { allChatScopes } from './statefulClient/chatOperationScopes'; +import { allChatScopes, allChatListScopes } from './statefulClient/chatOperationScopes'; import { appSettings } from './statefulClient/GraphNotificationClient'; export * from './components'; export * from './utils/createNewChat'; export * from './statefulClient/GraphConfig'; -export { allChatScopes, appSettings as brokerSettings }; +export { allChatScopes, allChatListScopes, appSettings as brokerSettings }; diff --git a/packages/mgt-chat/src/statefulClient/Caching/LastReadCache.ts b/packages/mgt-chat/src/statefulClient/Caching/LastReadCache.ts new file mode 100644 index 0000000000..c343a8d46a --- /dev/null +++ b/packages/mgt-chat/src/statefulClient/Caching/LastReadCache.ts @@ -0,0 +1,59 @@ +/** + * ------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. + * See License in the project root for license information. + * ------------------------------------------------------------------------------------------- + */ + +import { CacheItem, CacheSchema, CacheService, CacheStore, Providers, schemas } from '@microsoft/mgt-react'; +import { isConversationCacheEnabled } from './isConversationCacheEnabled'; +import { cacheEntryIsValid } from './cacheEntryIsValid'; + +/* + * This implementation does not store the last read time in the "chats" store by design. Records + * in the "chats" store potentially contain hundreds of messages and can be quite large. However, + * those records are only read or written when the chat is loaded or when the user requests more + * historical messages. The last read time is updated on a timer that by default is configured + * for every 30 seconds, and this would put more pressure on the IndexedDB storage than is needed. + */ + +interface LastReadData extends CacheItem { + chatId: string; + lastReadTime: string; // ISO 8601 timestamp +} + +export class LastReadCache { + private get cache(): CacheStore { + const conversation: CacheSchema = schemas.conversation; + const cache = CacheService.getCache(conversation, conversation.stores.lastRead); + cache.getDBName = async () => { + const id = await Providers.getCacheId(); + if (id) { + // this removal of dashes is done because when a user signs out, the code looks for contains matches + // from getCacheId to remove the cache/db. If the id has no dashes, it will not be removed. + return `mgt-lastreadcache-${id.replace(/-/g, '')}`; + } + + // needed for build error + throw new Error('CacheId is not available'); + }; + return cache; + } + + public async loadLastReadTime(chatId: string): Promise { + if (isConversationCacheEnabled()) { + const data = await this.cache.getValue(chatId); + if (data && cacheEntryIsValid(data)) return data; + } + return undefined; + } + + public async cacheLastReadTime(chatId: string, lastReadTime: Date | string): Promise { + if (lastReadTime instanceof Date) { + lastReadTime = lastReadTime.toISOString(); + } + const data = { chatId, lastReadTime }; + await this.cache.putValue(chatId, data); + return data; + } +} diff --git a/packages/mgt-chat/src/statefulClient/Caching/ProxySubscriptionCache.ts b/packages/mgt-chat/src/statefulClient/Caching/ProxySubscriptionCache.ts new file mode 100644 index 0000000000..b692831b7d --- /dev/null +++ b/packages/mgt-chat/src/statefulClient/Caching/ProxySubscriptionCache.ts @@ -0,0 +1,92 @@ +/** + * ------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. + * See License in the project root for license information. + * ------------------------------------------------------------------------------------------- + */ + +import { CacheItem, CacheSchema, CacheService, CacheStore, log, schemas } from '@microsoft/mgt-react'; +import { ProxySubscription } from '../MGTProxyOperations'; +import { isConversationCacheEnabled } from './isConversationCacheEnabled'; +import { IDBPObjectStore } from 'idb'; +import { ComponentType } from './SubscriptionCache'; + +type CachedProxySubscriptionData = CacheItem & { + chatId: string; + proxySubscriptions: ProxySubscription[]; + lastAccessDateTime: string; + componentType: ComponentType; +}; + +export class ProxySubscriptionCache { + private get cache(): CacheStore { + const conversation: CacheSchema = schemas.conversation; + return CacheService.getCache(conversation, conversation.stores.subscriptions); + } + + public async loadProxySubscriptions(chatId: string): Promise { + if (isConversationCacheEnabled()) { + let data; + await this.cache.transaction(async (store: IDBPObjectStore) => { + data = (await store.get(chatId)) as CachedProxySubscriptionData | undefined; + if (data) { + data.lastAccessDateTime = new Date().toISOString(); + await store.put(data, chatId); + } + }); + return data || undefined; + } + return undefined; + } + + public async cacheProxySubscription( + chatId: string, + componentType: ComponentType, + proxySubscriptionRecord: ProxySubscription + ): Promise { + await this.cache.transaction(async (store: IDBPObjectStore) => { + log('cacheSubscription', proxySubscriptionRecord); + + let cacheEntry = (await store.get(chatId)) as CachedProxySubscriptionData | undefined; + if (cacheEntry && cacheEntry.chatId === chatId) { + const subIndex = cacheEntry.proxySubscriptions?.findIndex( + s => s.subscription?.resource === proxySubscriptionRecord.subscription?.resource + ); + if (subIndex !== -1) { + cacheEntry.proxySubscriptions[subIndex] = proxySubscriptionRecord; + } else { + cacheEntry.proxySubscriptions.push(proxySubscriptionRecord); + } + } else { + cacheEntry = { + chatId, + proxySubscriptions: [proxySubscriptionRecord], + // we're cheating a bit here to ensure that we have a defined lastAccessDateTime + // but we're updating the value for all cases before storing it. + lastAccessDateTime: '', + componentType + }; + } + cacheEntry.lastAccessDateTime = new Date().toISOString(); + + await store.put(cacheEntry, chatId); + }); + } + + public deleteCachedProxySubscriptions(chatId: string): Promise { + return this.cache.delete(chatId); + } + + public loadInactiveProxySubscriptions( + inactivityThreshold: string, + componentType: ComponentType + ): Promise { + return this.cache + .queryDb('lastAccessDateTime', IDBKeyRange.upperBound(inactivityThreshold)) + .then((data: CachedProxySubscriptionData[]) => data.filter(d => d.componentType === componentType)) + .catch(err => { + // propogate the error back to the call of this function + throw err; + }); + } +} diff --git a/packages/mgt-chat/src/statefulClient/Caching/SubscriptionCache.ts b/packages/mgt-chat/src/statefulClient/Caching/SubscriptionCache.ts index 3bbd8206f1..51934add5a 100644 --- a/packages/mgt-chat/src/statefulClient/Caching/SubscriptionCache.ts +++ b/packages/mgt-chat/src/statefulClient/Caching/SubscriptionCache.ts @@ -10,10 +10,16 @@ import { Subscription } from '@microsoft/microsoft-graph-types'; import { isConversationCacheEnabled } from './isConversationCacheEnabled'; import { IDBPObjectStore } from 'idb'; +export enum ComponentType { + User = 'user', + Chat = 'chat' +} + type CachedSubscriptionData = CacheItem & { chatId: string; subscriptions: Subscription[]; lastAccessDateTime: string; + componentType: ComponentType; }; export class SubscriptionsCache { @@ -37,7 +43,11 @@ export class SubscriptionsCache { return undefined; } - public async cacheSubscription(chatId: string, subscriptionRecord: Subscription): Promise { + public async cacheSubscription( + chatId: string, + componentType: ComponentType, + subscriptionRecord: Subscription + ): Promise { await this.cache.transaction(async (store: IDBPObjectStore) => { log('cacheSubscription', subscriptionRecord); @@ -55,7 +65,8 @@ export class SubscriptionsCache { subscriptions: [subscriptionRecord], // we're cheating a bit here to ensure that we have a defined lastAccessDateTime // but we're updating the value for all cases before storing it. - lastAccessDateTime: '' + lastAccessDateTime: '', + componentType }; } cacheEntry.lastAccessDateTime = new Date().toISOString(); @@ -68,7 +79,16 @@ export class SubscriptionsCache { return this.cache.delete(chatId); } - public loadInactiveSubscriptions(inactivityThreshold: string): Promise { - return this.cache.queryDb('lastAccessDateTime', IDBKeyRange.upperBound(inactivityThreshold)); + public loadInactiveSubscriptions( + inactivityThreshold: string, + componentType: ComponentType + ): Promise { + return this.cache + .queryDb('lastAccessDateTime', IDBKeyRange.upperBound(inactivityThreshold)) + .then((data: CachedSubscriptionData[]) => data.filter(d => d.componentType === componentType)) + .catch(err => { + // propogate the error back to the call of this function + throw err; + }); } } diff --git a/packages/mgt-chat/src/statefulClient/GraphNotificationClient.ts b/packages/mgt-chat/src/statefulClient/GraphNotificationClient.ts index 054bf9742c..36fac13e32 100644 --- a/packages/mgt-chat/src/statefulClient/GraphNotificationClient.ts +++ b/packages/mgt-chat/src/statefulClient/GraphNotificationClient.ts @@ -16,9 +16,10 @@ import type { AadUserConversationMember } from '@microsoft/microsoft-graph-types'; import { GraphConfig } from './GraphConfig'; -import { SubscriptionsCache } from './Caching/SubscriptionCache'; +import { SubscriptionsCache, ComponentType } from './Caching/SubscriptionCache'; import { Timer } from '../utils/Timer'; import { getOrGenerateGroupId } from './getOrGenerateGroupId'; +import { v4 as uuid } from 'uuid'; export const appSettings = { defaultSubscriptionLifetimeInMinutes: 10, @@ -51,6 +52,7 @@ const isMembershipNotification = (o: Notification): o is Notification => { log(subscriptionRecord); - await this.subscriptionCache.cacheSubscription(this.chatId, subscriptionRecord); + await this.subscriptionCache.cacheSubscription(this.chatId, ComponentType.Chat, subscriptionRecord); // only start timer once. undefined for renewalInterval is semaphore it has stopped. if (this.renewalTimeout === undefined) this.startRenewalTimer(); }; private async subscribeToResource(resourcePath: string, changeTypes: ChangeTypes[]) { - // build subscription request - const expirationDateTime = new Date( - new Date().getTime() + appSettings.defaultSubscriptionLifetimeInMinutes * 60 * 1000 - ).toISOString(); - const subscriptionDefinition: Subscription = { - changeType: changeTypes.join(','), - notificationUrl: `${GraphConfig.webSocketsPrefix}?groupId=${getOrGenerateGroupId(this.chatId)}`, - resource: resourcePath, - expirationDateTime, - includeResourceData: true, - clientState: 'wsssecret' - }; - - log('subscribing to changes for ' + resourcePath); - const subscriptionEndpoint = GraphConfig.subscriptionEndpoint; - const subscriptionGraph = this.subscriptionGraph; - if (!subscriptionGraph) return; - // send subscription POST to Graph - const subscription: Subscription = (await subscriptionGraph - .api(subscriptionEndpoint) - .post(subscriptionDefinition)) as Subscription; - if (!subscription?.notificationUrl) throw new Error('Subscription not created'); - log(subscription); - - const awaits: Promise[] = []; - // Cache the subscription in storage for re-hydration on page refreshes - awaits.push(this.cacheSubscription(subscription)); - - // create a connection to the web socket if one does not exist - if (!this.connection) awaits.push(this.createSignalRConnection(subscription.notificationUrl)); - - log('Invoked CreateSubscription'); - return Promise.all(awaits); + try { + // build subscription request + const expirationDateTime = new Date( + new Date().getTime() + appSettings.defaultSubscriptionLifetimeInMinutes * 60 * 1000 + ).toISOString(); + const subscriptionDefinition: Subscription = { + changeType: changeTypes.join(','), + notificationUrl: `${GraphConfig.webSocketsPrefix}?groupId=${getOrGenerateGroupId(this.chatId)}`, + resource: resourcePath, + expirationDateTime, + includeResourceData: true, + clientState: 'wsssecret' + }; + + log('subscribing to changes for ' + resourcePath); + const subscriptionEndpoint = GraphConfig.subscriptionEndpoint; + const subscriptionGraph = this.subscriptionGraph; + if (!subscriptionGraph) return; + // send subscription POST to Graph + const subscription: Subscription = (await subscriptionGraph + .api(subscriptionEndpoint) + .post(subscriptionDefinition)) as Subscription; + if (!subscription?.notificationUrl) throw new Error('Subscription not created'); + log(subscription); + + const awaits: Promise[] = []; + // Cache the subscription in storage for re-hydration on page refreshes + awaits.push(this.cacheSubscription(subscription)); + + // create a connection to the web socket if one does not exist + if (!this.connection) awaits.push(this.createSignalRConnection(subscription.notificationUrl)); + + log('Invoked CreateSubscription'); + return Promise.all(awaits); + } catch (e) { + // this catches other unhandled exceptions such as when subscription.post fails + return Promise.reject(e); + } } private readonly startRenewalTimer = () => { if (this.renewalTimeout) this.timer.clearTimeout(this.renewalTimeout); - this.renewalTimeout = this.timer.setTimeout(this.syncRenewalTimerWrapper, appSettings.renewalTimerInterval * 1000); + this.renewalTimeout = this.timer.setTimeout( + 'renewal:' + this.instanceId, + this.syncRenewalTimerWrapper, + appSettings.renewalTimerInterval * 1000 + ); log(`Start renewal timer . Id: ${this.renewalTimeout}`); }; private readonly syncRenewalTimerWrapper = () => void this.renewalTimer(); private readonly renewalTimer = async () => { - log(`running subscription renewal timer for chatId: ${this.chatId} sessionId: ${this.sessionId}`); - const subscriptions = (await this.subscriptionCache.loadSubscriptions(this.chatId))?.subscriptions || []; - if (subscriptions.length === 0) { - log(`No subscriptions found in session state. Stop renewal timer ${this.renewalTimeout}.`); - if (this.renewalTimeout) this.timer.clearTimeout(this.renewalTimeout); - return; - } - - for (const subscription of subscriptions) { - if (!subscription.expirationDateTime) continue; - const expirationTime = new Date(subscription.expirationDateTime); - const now = new Date(); - const diff = Math.round((expirationTime.getTime() - now.getTime()) / 1000); - - if (diff <= appSettings.renewalThreshold) { - this.renewalCount++; - log(`Renewing Graph subscription. RenewalCount: ${this.renewalCount}`); - // stop interval to prevent new invokes until refresh is ready. + try { + log(`running subscription renewal timer for chatId: ${this.chatId} sessionId: ${this.sessionId}`); + const subscriptions = (await this.subscriptionCache.loadSubscriptions(this.chatId))?.subscriptions || []; + if (subscriptions.length === 0) { + log(`No subscriptions found in session state. Stop renewal timer ${this.renewalTimeout}.`); if (this.renewalTimeout) this.timer.clearTimeout(this.renewalTimeout); - this.renewalTimeout = undefined; - await this.renewChatSubscriptions(); - // There is one subscription that need expiration, all subscriptions will be renewed - break; + return; } + + for (const subscription of subscriptions) { + if (!subscription.expirationDateTime) continue; + const expirationTime = new Date(subscription.expirationDateTime); + const now = new Date(); + const diff = Math.round((expirationTime.getTime() - now.getTime()) / 1000); + + if (diff <= appSettings.renewalThreshold) { + this.renewalCount++; + log(`Renewing Graph subscription. RenewalCount: ${this.renewalCount}`); + // stop interval to prevent new invokes until refresh is ready. + if (this.renewalTimeout) this.timer.clearTimeout(this.renewalTimeout); + this.renewalTimeout = undefined; + await this.renewChatSubscriptions(); + // There is one subscription that need expiration, all subscriptions will be renewed + break; + } + } + } catch (e) { + error(e); } - this.renewalTimeout = this.timer.setTimeout(this.syncRenewalTimerWrapper, appSettings.renewalTimerInterval * 1000); + this.renewalTimeout = this.timer.setTimeout( + 'renewal:' + this.instanceId, + this.syncRenewalTimerWrapper, + appSettings.renewalTimerInterval * 1000 + ); }; public renewChatSubscriptions = async () => { @@ -271,6 +290,7 @@ export class GraphNotificationClient { await Promise.all(awaits); if (!this.renewalTimeout) { this.renewalTimeout = this.timer.setTimeout( + 'renewal:' + this.instanceId, this.syncRenewalTimerWrapper, appSettings.renewalTimerInterval * 1000 ); @@ -279,10 +299,16 @@ export class GraphNotificationClient { public renewSubscription = async (subscriptionId: string, expirationDateTime: string): Promise => { // PATCH /subscriptions/{id} - const renewedSubscription = (await this.graph?.api(`${GraphConfig.subscriptionEndpoint}/${subscriptionId}`).patch({ - expirationDateTime - })) as Subscription | undefined; - if (renewedSubscription) return this.cacheSubscription(renewedSubscription); + try { + const renewedSubscription = (await this.graph + ?.api(`${GraphConfig.subscriptionEndpoint}/${subscriptionId}`) + .patch({ + expirationDateTime + })) as Subscription | undefined; + if (renewedSubscription) return this.cacheSubscription(renewedSubscription); + } catch (e) { + return Promise.reject(e); + } }; public async createSignalRConnection(notificationUrl: string) { @@ -330,7 +356,11 @@ export class GraphNotificationClient { } private startCleanupTimer() { - this.cleanupTimeout = this.timer.setTimeout(this.cleanupTimerSync, appSettings.removalTimerInterval * 1000); + this.cleanupTimeout = this.timer.setTimeout( + 'cleanup:' + this.instanceId, + this.cleanupTimerSync, + appSettings.removalTimerInterval * 1000 + ); } private readonly cleanupTimerSync = () => { @@ -338,23 +368,42 @@ export class GraphNotificationClient { }; private readonly cleanupTimer = async () => { - log(`running cleanup timer`); - const offset = Math.min( - appSettings.removalThreshold * 1000, - appSettings.defaultSubscriptionLifetimeInMinutes * 60 * 1000 - ); - const threshold = new Date(new Date().getTime() - offset).toISOString(); - const inactiveSubs = await this.subscriptionCache.loadInactiveSubscriptions(threshold); - let tasks: Promise[] = []; - for (const inactive of inactiveSubs) { - tasks.push(this.removeSubscriptions(inactive.subscriptions)); - } - await Promise.all(tasks); - tasks = []; - for (const inactive of inactiveSubs) { - tasks.push(this.subscriptionCache.deleteCachedSubscriptions(inactive.chatId)); + try { + log(`running cleanup timer`); + + // ensure there is a valid user + const id = await Providers.getCacheId(); + if (!id) { + return; + } + + // get the inactive subs (requires a user since the db is per user) + const offset = Math.min( + appSettings.removalThreshold * 1000, + appSettings.defaultSubscriptionLifetimeInMinutes * 60 * 1000 + ); + const threshold = new Date(new Date().getTime() - offset).toISOString(); + const inactiveSubs = await this.subscriptionCache.loadInactiveSubscriptions(threshold, ComponentType.Chat); + + // remove all subscriptions + let tasks: Promise[] = []; + for (const inactive of inactiveSubs) { + tasks.push(this.removeSubscriptions(inactive.subscriptions)); + } + await Promise.all(tasks); + + // delete the cache entries + tasks = []; + for (const inactive of inactiveSubs) { + tasks.push(this.subscriptionCache.deleteCachedSubscriptions(inactive.chatId)); + } + } catch (e) { + // EXAMPLE: a user does a sign-out so `loadInactiveSubscriptions` no longer has a valid user and results + // in an exception. + error(e); + } finally { + this.startCleanupTimer(); } - this.startCleanupTimer(); }; public async closeSignalRConnection() { @@ -363,17 +412,6 @@ export class GraphNotificationClient { this.connection = undefined; } - private async unsubscribeFromChatNotifications(chatId: string) { - await this.closeSignalRConnection(); - const cacheData = await this.subscriptionCache.loadSubscriptions(chatId); - if (cacheData) { - await Promise.all([ - this.removeSubscriptions(cacheData.subscriptions), - this.subscriptionCache.deleteCachedSubscriptions(chatId) - ]); - } - } - public async subscribeToChatNotifications(chatId: string, sessionId: string) { this.chatId = chatId; this.sessionId = sessionId; diff --git a/packages/mgt-chat/src/statefulClient/GraphNotificationUserClient.ts b/packages/mgt-chat/src/statefulClient/GraphNotificationUserClient.ts new file mode 100644 index 0000000000..b3b50698fc --- /dev/null +++ b/packages/mgt-chat/src/statefulClient/GraphNotificationUserClient.ts @@ -0,0 +1,540 @@ +/** + * ------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. + * See License in the project root for license information. + * ------------------------------------------------------------------------------------------- + */ + +import { BetaGraph, IGraph, Providers, createFromProvider, error, log } from '@microsoft/mgt-element'; +import { + HubConnection, + HubConnectionBuilder, + HubConnectionState, + IHttpConnectionOptions, + LogLevel +} from '@microsoft/signalr'; +import { ThreadEventEmitter } from './ThreadEventEmitter'; +import type { + Entity, + Subscription, + ChatMessage, + Chat, + AadUserConversationMember +} from '@microsoft/microsoft-graph-types'; +import { GraphConfig } from './GraphConfig'; +import { SubscriptionsCache, ComponentType } from './Caching/SubscriptionCache'; +import { ProxySubscriptionCache } from './Caching/ProxySubscriptionCache'; +import { Timer } from '../utils/Timer'; +import { getOrGenerateGroupId } from './getOrGenerateGroupId'; +import { v4 as uuid } from 'uuid'; +import { MGTProxyOperations, ProxySubscription, RenewedProxySubscription } from './MGTProxyOperations'; +import { MGTProxyTokenManager } from './MGTProxyTokenManager'; + +export const appSettings = { + defaultSubscriptionLifetimeInMinutes: 10, + renewalThreshold: 75, // The number of seconds before subscription expires it will be renewed + renewalTimerInterval: 3, // The number of seconds between executions of the renewal timer + useCanary: GraphConfig.useCanary +}; + +type ChangeTypes = 'created' | 'updated' | 'deleted'; + +interface Notification { + subscriptionId: string; + changeType: ChangeTypes; + resource: string; + resourceData: T & { + id: string; + '@odata.type': string; + '@odata.id': string; + }; + EncryptedContent: string; +} + +type ReceivedNotification = Notification | Notification | Notification; + +const isMessageNotification = (o: Notification): o is Notification => + o.resource.includes('/messages('); +const isMembershipNotification = (o: Notification): o is Notification => + o.resource.includes('/members'); + +export class GraphNotificationUserClient { + private readonly instanceId = uuid(); + private connection?: HubConnection = undefined; + private renewalTimeout?: string; + private renewalCount = 0; + private wasConnected?: boolean | undefined; + private userId = ''; + private lastNotificationUrl = ''; + private subscriptionId = ''; + + private readonly proxyTokenManager: MGTProxyTokenManager = new MGTProxyTokenManager(); + private readonly subscriptionCache: SubscriptionsCache = new SubscriptionsCache(); + private readonly proxySubscriptionCache: ProxySubscriptionCache = new ProxySubscriptionCache(); + private readonly timer = new Timer(); + private get graph() { + return this._graph; + } + private get beta() { + return BetaGraph.fromGraph(this._graph); + } + private get subscriptionGraph() { + return GraphConfig.useCanary + ? createFromProvider(Providers.globalProvider, GraphConfig.canarySubscriptionVersion, 'mgt-chat') + : this.beta; + } + + /** + * + */ + constructor( + private readonly emitter: ThreadEventEmitter, + private readonly _graph: IGraph + ) {} + + /** + * Removes any active timers that may exist to prevent memory leaks and perf issues. + * Call this method when the component that depends an instance of this class is being removed from the DOM + * i.e + */ + public tearDown() { + log('cleaning up graph user notification resources'); + if (this.renewalTimeout) this.timer.clearTimeout(this.renewalTimeout); + this.timer.close(); + } + + private readonly getToken = async () => { + const token = await Providers.globalProvider.getAccessToken(); + if (!token) throw new Error('Could not retrieve token for user'); + return token; + }; + + private readonly receiveNotificationMessage = (message: string) => { + if (typeof message !== 'string') throw new Error('Expected string from receivenotificationmessageasync'); + + const ackMessage: unknown = { StatusCode: '200' }; + const notification: ReceivedNotification = JSON.parse(message) as ReceivedNotification; + // only process notifications for the current subscription + if (this.subscriptionId && this.subscriptionId !== notification.subscriptionId) { + log('Received notification for a different subscription', notification); + return ackMessage; + } + + log('received user notification message', notification); + const emitter: ThreadEventEmitter | undefined = this.emitter; + if (!notification.resourceData) throw new Error('Message did not contain resourceData'); + if (isMessageNotification(notification)) { + this.processMessageNotification(notification, emitter); + } else if (isMembershipNotification(notification)) { + this.processMembershipNotification(notification, emitter); + } else { + this.processChatPropertiesNotification(notification, emitter); + } + // Need to return a status code string of 200 so that graph knows the message was received and doesn't re-send the notification + return GraphConfig.ackAsString ? JSON.stringify(ackMessage) : ackMessage; + }; + + private processMessageNotification(notification: Notification, emitter: ThreadEventEmitter | undefined) { + const message = notification.resourceData; + + switch (notification.changeType) { + case 'created': + emitter?.chatMessageReceived(message); + return; + case 'updated': + emitter?.chatMessageEdited(message); + return; + case 'deleted': + emitter?.chatMessageDeleted(message); + return; + default: + throw new Error('Unknown change type'); + } + } + + private processMembershipNotification( + notification: Notification, + emitter: ThreadEventEmitter | undefined + ) { + const member = notification.resourceData; + switch (notification.changeType) { + case 'created': + emitter?.participantAdded(member); + return; + case 'deleted': + emitter?.participantRemoved(member); + return; + default: + throw new Error('Unknown change type'); + } + } + + private processChatPropertiesNotification(notification: Notification, emitter: ThreadEventEmitter | undefined) { + const chat = notification.resourceData; + switch (notification.changeType) { + case 'updated': + emitter?.chatThreadPropertiesUpdated(chat); + return; + case 'deleted': + emitter?.chatThreadDeleted(chat); + return; + default: + throw new Error('Unknown change type'); + } + } + + private readonly cacheSubscription = async (userId: string, subscriptionRecord: Subscription): Promise => { + log(subscriptionRecord); + await this.subscriptionCache.cacheSubscription(userId, ComponentType.User, subscriptionRecord); + }; + + private readonly cacheProxySubscription = async ( + userId: string, + proxySubscriptionRecord: ProxySubscription + ): Promise => { + log(proxySubscriptionRecord); + await this.proxySubscriptionCache.cacheProxySubscription(userId, ComponentType.User, proxySubscriptionRecord); + }; + + private proxySubscription: ProxySubscription | undefined; + + private async createSubscription(userId: string): Promise { + const groupId = getOrGenerateGroupId(userId); + log('Creating a new subscription with group Id:', groupId); + const resourcePath = `/users/${userId}/chats/getAllmessages`; + const changeTypes: ChangeTypes[] = ['created', 'updated', 'deleted']; + + // build subscription request + const expirationDateTime = new Date( + new Date().getTime() + appSettings.defaultSubscriptionLifetimeInMinutes * 60 * 1000 + ).toISOString(); + const subscriptionDefinition: Subscription = { + changeType: changeTypes.join(','), + notificationUrl: `${GraphConfig.webSocketsPrefix}?groupId=${groupId}`, + resource: resourcePath, + expirationDateTime, + includeResourceData: true, + clientState: 'wsssecret' + }; + log('subscribing to changes for ' + resourcePath); + + if (Providers.globalProvider.isWebProxyEnabled) { + let proxySubscription = await this.getProxySubscription(this.userId); + if (proxySubscription) { + this.proxySubscription = proxySubscription; + } else { + proxySubscription = await this.createSubscriptionFromProxy(subscriptionDefinition); + this.proxySubscription = proxySubscription; + } + + if (this.proxySubscription?.subscription) { + this.subscriptionId = this.proxySubscription.subscription.id!; + await this.cacheProxySubscription(this.userId, this.proxySubscription); + } + return this.proxySubscription?.subscription; + } else { + const subscription = await this.createSubscriptionFromGraph(subscriptionDefinition); + this.subscriptionId = subscription.id!; + await this.cacheSubscription(this.userId, subscription); + return subscription; + } + } + + private async performOperationTokenSafe( + url: string, + method: string, + operationData: Subscription, + accesstoken: string + ): Promise { + let result = await MGTProxyOperations.PerformOperation(url, method, operationData, accesstoken); + if (result === undefined) { + // undefined is the code for 401, so we need to get a new token and try again + const token = await this.proxyTokenManager.getProxyToken(true); + result = await MGTProxyOperations.PerformOperation(url, method, operationData, token); + } + + if (!this.isProxySubscriptionType(result)) { + throw new Error('Failed to create/renew subscription'); + } + + return result; + } + + private isProxySubscriptionType(obj: unknown): obj is ProxySubscription { + return typeof obj === 'object' && obj !== null && 'subscription' in obj; + } + + private async createSubscriptionFromProxy( + subscriptionDefinition: Subscription + ): Promise { + const token = await this.proxyTokenManager.getProxyToken(); + const proxySubscription: ProxySubscription | undefined = await this.performOperationTokenSafe( + Providers.globalProvider.webProxyURL + GraphConfig.subscriptionEndpoint, + 'POST', + subscriptionDefinition, + token + ); + log('Subscription created using web proxy.'); + return proxySubscription; + } + + private async createSubscriptionFromGraph(subscriptionDefinition: Subscription): Promise { + const subscriptionEndpoint = GraphConfig.subscriptionEndpoint; + // send subscription POST to Graph + const subscription: Subscription = (await this.subscriptionGraph + .api(subscriptionEndpoint) + .post(subscriptionDefinition)) as Subscription; + if (!subscription?.notificationUrl) throw new Error('Subscription not created'); + log('Subscription created using graph api.'); + return subscription; + } + + private async deleteCachedSubscriptions(userId: string) { + try { + log('Removing all user subscriptions from cache...'); + await this.subscriptionCache.deleteCachedSubscriptions(userId); + this.subscriptionId = ''; + log('Successfully removed all user subscriptions from cache.'); + } catch (e) { + error('Failed to remove all user subscriptions from cache.', e); + } + } + + private async deleteCachedProxySubscriptions(userId: string) { + try { + log('Removing all user subscriptions from cache...'); + await this.proxySubscriptionCache.deleteCachedProxySubscriptions(userId); + this.subscriptionId = ''; + log('Successfully removed all proxy user subscriptions from cache.'); + } catch (e) { + error('Failed to remove all proxy user subscriptions from cache.', e); + } + } + + private trySwitchToConnected() { + if (this.wasConnected !== true) { + log('The user will receive notifications from the user subscription.'); + this.wasConnected = true; + this.emitter?.connected(); + } + } + + private trySwitchToDisconnected(ignoreIfUndefined = false) { + if (ignoreIfUndefined && this.wasConnected === undefined) return; + if (this.wasConnected !== false) { + log('The user will NOT receive notifications from the user subscription.'); + this.wasConnected = false; + this.emitter?.disconnected(); + } + } + + private readonly renewalSync = () => { + void this.renewal(); + }; + + private readonly renewal = async () => { + let nextRenewalTimeInSec = appSettings.renewalTimerInterval; + try { + const currentUserId = this.userId; + + // if there is a current subscription or a webproxy suscription... + let subscription; + if (Providers.globalProvider.isWebProxyEnabled) { + this.proxySubscription = await this.getProxySubscription(currentUserId); + subscription = this.proxySubscription?.subscription; + } else { + subscription = await this.getSubscription(currentUserId); + } + if (subscription) { + // attempt a renewal if necessary + try { + const expirationTime = new Date(subscription.expirationDateTime!); + const diff = Math.round((expirationTime.getTime() - new Date().getTime()) / 1000); + if (diff <= 0) { + log(`Renewing user subscription ${subscription.id!} that has already expired...`); + this.trySwitchToDisconnected(true); + await this.renewSubscription(currentUserId, subscription); + log(`Successfully renewed user subscription ${subscription.id!}.`); + } else if (diff <= appSettings.renewalThreshold) { + log(`Renewing user subscription ${subscription.id!} that will expire in ${diff} seconds...`); + await this.renewSubscription(currentUserId, subscription); + log(`Successfully renewed user subscription ${subscription.id!}.`); + } + } catch (e) { + error(`Failed to renew user subscription ${subscription.id!}.`, e); + await this.deleteCachedSubscriptions(currentUserId); + subscription = undefined; + } + } + + // if there is no subscription, try to create one + if (!subscription) { + try { + this.trySwitchToDisconnected(true); + subscription = await this.createSubscription(currentUserId); + } catch (e) { + const err = e as { statusCode?: number; message: string }; + if (err.statusCode === 403 && err.message.indexOf('has reached its limit') > 0) { + // if the limit is reached, back-off (NOTE: this should probably be a 429) + nextRenewalTimeInSec = appSettings.renewalTimerInterval * 3; + throw new Error( + `Failed to create a new subscription due to a limitation; retrying in ${nextRenewalTimeInSec} seconds: ${err.message}.` + ); + } else if (err.statusCode === 403 || err.statusCode === 402) { + // permanent error, stop renewal + error('Failed to create a new subscription due to a permanent condition; stopping renewals.', e); + return; // exit without setting the next renewal timer + } else { + // transient error, retry + throw new Error( + `Failed to create a new subscription due to a transient condition; retrying in ${nextRenewalTimeInSec} seconds: ${err.message}.` + ); + } + } + } + + if (!subscription) { + throw new Error('Subscription not created'); + } + + // create or reconnect the SignalR connection + // notificationUrl comes in the form of websockets:https://graph.microsoft.com/beta/subscriptions/notificationChannel/websockets/?groupid=&sessionid=default + // if changes, we need to create a new connection + if (this.connection?.state === HubConnectionState.Connected) { + await this.connection?.send('ping'); // ensure the connection is still alive + } + if (!this.connection) { + log(`Creating a new SignalR connection for subscription ${subscription.id!}...`); + this.trySwitchToDisconnected(true); + this.lastNotificationUrl = subscription.notificationUrl!; + await this.createSignalRConnection(subscription.notificationUrl!); + log(`Successfully created a new SignalR connection for subscription ${subscription.id!}.`); + } else if (this.connection.state !== HubConnectionState.Connected) { + log(`Reconnecting SignalR connection for subscription ${subscription.id!}...`); + this.trySwitchToDisconnected(true); + await this.connection.start(); + log(`Successfully reconnected SignalR connection for subscription ${subscription.id!}.`); + } else if (this.lastNotificationUrl !== subscription.notificationUrl) { + log(`Updating SignalR connection for subscription ${subscription.id!} due to new notification URL...`); + this.trySwitchToDisconnected(true); + await this.closeSignalRConnection(); + this.lastNotificationUrl = subscription.notificationUrl!; + await this.createSignalRConnection(subscription.notificationUrl!); + log(`Successfully updated SignalR connection for subscription ${subscription.id!}.`); + } + + // emit the new connection event if necessary + this.trySwitchToConnected(); + } catch (e) { + error('Error in user subscription connection process.', e); + this.trySwitchToDisconnected(); + } + this.renewalTimeout = this.timer.setTimeout( + 'renewal:' + this.instanceId, + this.renewalSync, + nextRenewalTimeInSec * 1000 + ); + }; + + private async getSubscription(userId: string): Promise { + const subscriptions = (await this.subscriptionCache.loadSubscriptions(userId))?.subscriptions || []; + return subscriptions.length > 0 ? subscriptions[0] : undefined; + } + + private async getProxySubscription(userId: string): Promise { + const proxySubscriptions = + (await this.proxySubscriptionCache.loadProxySubscriptions(userId))?.proxySubscriptions || []; + return proxySubscriptions.length > 0 ? proxySubscriptions[0] : undefined; + } + + // this is used to create a unique session id for the web socket connection + private getSessionId(): string { + return uuid(); + } + + private readonly renewSubscription = async (userId: string, subscription: Subscription): Promise => { + this.renewalCount++; + log(`Renewing Graph subscription for ChatList. RenewalCount: ${this.renewalCount}.`); + + const newExpirationTime = new Date( + new Date().getTime() + appSettings.defaultSubscriptionLifetimeInMinutes * 60 * 1000 + ); + // PATCH /subscriptions/{id} + const subscriptionId = subscription.id; + const expirationDateTime = newExpirationTime.toISOString(); + + if (Providers.globalProvider.isWebProxyEnabled) { + const renewedSubscription = (await this.performOperationTokenSafe( + `${Providers.globalProvider.webProxyURL}/subscriptions/${subscriptionId}`, + 'PATCH', + { expirationDateTime }, + await this.proxyTokenManager.getProxyToken() + )) as RenewedProxySubscription; + if (this.proxySubscription && renewedSubscription) { + this.proxySubscription.subscription = renewedSubscription.subscription!; + await this.cacheProxySubscription(this.userId, this.proxySubscription); + } + } else { + const renewedSubscription = (await this.graph.api(`${GraphConfig.subscriptionEndpoint}/${subscriptionId}`).patch({ + expirationDateTime + })) as Subscription; + return this.cacheSubscription(userId, renewedSubscription); + } + }; + + private readonly getAccessTokenForSignalRConnection = async () => { + if (Providers.globalProvider.isWebProxyEnabled) { + return this.proxySubscription?.negotiate?.accessToken ?? ''; + } + return this.getToken(); + }; + + private getNotificationUrlForSignalRConnection(notificationUrl: string) { + if (Providers.globalProvider.isWebProxyEnabled) { + return this.proxySubscription?.negotiate?.url ?? ''; + } + return notificationUrl; + } + + private async createSignalRConnection(notificationUrl: string) { + const connectionOptions: IHttpConnectionOptions = { + accessTokenFactory: () => this.getAccessTokenForSignalRConnection(), + withCredentials: false + }; + + const connection = new HubConnectionBuilder() + .withUrl( + GraphConfig.adjustNotificationUrl( + this.getNotificationUrlForSignalRConnection(notificationUrl), + this.getSessionId() + ), + connectionOptions + ) + .configureLogging(LogLevel.Information) + .build(); + + connection.on('receivenotificationmessageasync', this.receiveNotificationMessage); + connection.on('EchoMessage', log); + + this.connection = connection; + await connection.start(); + } + + public async closeSignalRConnection() { + // stop the connection and set it to undefined so it will reconnect when next subscription is created. + this.trySwitchToDisconnected(); + try { + await this.connection?.stop(); + } catch (e) { + error('Error closing a prior SignalR connection.', e); + } + this.connection = undefined; + } + + public subscribeToUserNotifications(userId: string) { + log(`User subscription with id: ${userId}`); + this.wasConnected = undefined; + this.userId = userId; + this.renewalTimeout = this.timer.setTimeout('renewal:' + this.instanceId, this.renewalSync, 0); + } +} diff --git a/packages/mgt-chat/src/statefulClient/MGTProxyOperations.ts b/packages/mgt-chat/src/statefulClient/MGTProxyOperations.ts new file mode 100644 index 0000000000..752ecedc17 --- /dev/null +++ b/packages/mgt-chat/src/statefulClient/MGTProxyOperations.ts @@ -0,0 +1,52 @@ +import axios from 'axios'; +import type { Subscription } from '@microsoft/microsoft-graph-types'; + +export interface NegotiateData { + negotiateVersion: number | undefined; + url: string | undefined; + accessToken: string | undefined; +} + +export interface ProxySubscription { + subscription: Subscription | undefined; + negotiate: NegotiateData | undefined; +} + +export interface RenewedProxySubscription { + subscription: Subscription | undefined; +} + +interface responseStatus { + response: { + status: number; + }; +} + +export class MGTProxyOperations { + public static async PerformOperation( + url: string, + method: string, + operationData: Subscription, + accesstoken: string + ): Promise { + try { + const response = await axios({ + url, + method, + headers: { + 'Content-Type': 'application/json', + Authorization: 'Bearer ' + accesstoken + }, + data: operationData + }); + const data = response.data as ProxySubscription; + return data; + } catch (error) { + console.error('Error:', error); + const errorData = error as responseStatus; + if (errorData && errorData?.response?.status === 401) { + return undefined; + } + } + } +} diff --git a/packages/mgt-chat/src/statefulClient/MGTProxyTokenManager.ts b/packages/mgt-chat/src/statefulClient/MGTProxyTokenManager.ts new file mode 100644 index 0000000000..0199f1d5b7 --- /dev/null +++ b/packages/mgt-chat/src/statefulClient/MGTProxyTokenManager.ts @@ -0,0 +1,43 @@ +import { Providers, log } from '@microsoft/mgt-element'; +export class MGTProxyTokenManager { + constructor() { + this.refreshProxyToken(); + } + + private refreshProxyToken() { + setInterval( + () => { + log('refreshing proxy token'); + this.tokenOperations().catch(error => { + console.error('Error getting proxy token:', error); + }); + }, + 30 * 60 * 1000 + ); + } + + private readonly getToken = async (forceTokenRefresh = false) => { + const token = await Providers.globalProvider.getAccessToken({ forceTokenRefresh }); + if (!token) throw new Error('Could not retrieve token for user'); + return token; + }; + + private proxyToken = ''; + public getProxyToken = async (refreshProxyToken = false) => { + if (this.proxyToken && !refreshProxyToken) { + return this.proxyToken; + } + + await this.tokenOperations(); + return this.proxyToken; + }; + + private async tokenOperations() { + this.proxyToken = await Providers.globalProvider.getAccessTokenForScopes({ + scopes: [Providers.globalProvider.webProxyAPIScope], + forceTokenRefresh: true + }); + + await this.getToken(true); + } +} diff --git a/packages/mgt-chat/src/statefulClient/StatefulGraphChatClient.ts b/packages/mgt-chat/src/statefulClient/StatefulGraphChatClient.ts index dddf3a7bac..e2edb4845e 100644 --- a/packages/mgt-chat/src/statefulClient/StatefulGraphChatClient.ts +++ b/packages/mgt-chat/src/statefulClient/StatefulGraphChatClient.ts @@ -262,16 +262,29 @@ class StatefulGraphChatClient extends BaseStatefulClient { this._eventEmitter = new ThreadEventEmitter(); this.registerEventListeners(); this._cache = new MessageCache(); + this.tryCreateGraphNotificationClient(); } /** - * Updates the provider graph SDK client and the notification client. By now, - * an assumption is made that the Providers.globalProvider.graph is available - * and won't throw a TypeError when you access graph.forComponent. + * Attempts to create the graph and client objects. This can succeed during construction if the + * Provider has already logged in. If not, it will be tried again when the Provider logs in. Only + * calling tryCreateGraphNotificationClient() from onLoginStateChanged() only works if the Chat + * component is on the page at the time there is a sign-in - not always a guarantee. */ - private updateGraphNotificationClient() { - this.graph = graph('mgt-chat', GraphConfig.version); - this._notificationClient = new GraphNotificationClient(this._eventEmitter, this.graph); + private tryCreateGraphNotificationClient() { + try { + // exit if already created + if (this.graph && this._notificationClient) return; + + // create the graph + this.graph = graph('mgt-chat', GraphConfig.version); + if (!this.graph) return; + + // create the client + this._notificationClient = new GraphNotificationClient(this._eventEmitter, this.graph); + } catch (e) { + // ignore; it will be tried again later + } } /** @@ -293,7 +306,7 @@ class StatefulGraphChatClient extends BaseStatefulClient { case ProviderState.SignedIn: // update userId and displayName this.updateUserInfo(); - this.updateGraphNotificationClient(); + this.tryCreateGraphNotificationClient(); // load messages? // configure subscriptions // emit new state; diff --git a/packages/mgt-chat/src/statefulClient/StatefulGraphChatListClient.ts b/packages/mgt-chat/src/statefulClient/StatefulGraphChatListClient.ts new file mode 100644 index 0000000000..27cee7f1dd --- /dev/null +++ b/packages/mgt-chat/src/statefulClient/StatefulGraphChatListClient.ts @@ -0,0 +1,875 @@ +/** + * ------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. + * See License in the project root for license information. + * ------------------------------------------------------------------------------------------- + */ + +import { MessageThreadProps, ErrorBarProps, Message } from '@azure/communication-react'; +import { ActiveAccountChanged, IGraph, Providers, log } from '@microsoft/mgt-element'; +import { GraphError } from '@microsoft/microsoft-graph-client'; +import { + AadUserConversationMember, + ChatMessage, + ChatRenamedEventMessageDetail, + ItemBody, + MembersAddedEventMessageDetail, + MembersDeletedEventMessageDetail, + TeamsAppInstalledEventMessageDetail, + TeamsAppRemovedEventMessageDetail +} from '@microsoft/microsoft-graph-types'; +import { produce } from 'immer'; +import { currentUserId } from '../utils/currentUser'; +import { graph } from '../utils/graph'; +import { GraphConfig } from './GraphConfig'; +import { GraphNotificationUserClient } from './GraphNotificationUserClient'; +import { ThreadEventEmitter } from './ThreadEventEmitter'; +import { ChatThreadCollection, loadChatThreads, loadChatThreadsByPage, loadChatWithPreview } from './graph.chat'; +import { ChatMessageInfo, Chat as GraphChat } from '@microsoft/microsoft-graph-types'; +import { error } from '@microsoft/mgt-element'; +import { LastReadCache } from '../statefulClient/Caching/LastReadCache'; + +interface ODataType { + '@odata.type': MessageEventType; +} +type MembersAddedEventDetail = ODataType & + MembersAddedEventMessageDetail & { + '@odata.type': '#microsoft.graph.membersAddedEventMessageDetail'; + }; +type MembersRemovedEventDetail = ODataType & + MembersDeletedEventMessageDetail & { + '@odata.type': '#microsoft.graph.membersDeletedEventMessageDetail'; + }; +type ChatRenamedEventDetail = ODataType & + ChatRenamedEventMessageDetail & { + '@odata.type': '#microsoft.graph.chatRenamedEventMessageDetail'; + }; +type TeamsAppInstalledEventDetail = ODataType & + TeamsAppInstalledEventMessageDetail & { + '@odata.type': '#microsoft.graph.teamsAppInstalledEventMessageDetail'; + }; +type TeamsAppRemovedEventDetail = ODataType & + TeamsAppRemovedEventMessageDetail & { + '@odata.type': '#microsoft.graph.teamsAppRemovedEventMessageDetail'; + }; + +type ChatMessageEvents = + | MembersAddedEventDetail + | MembersRemovedEventDetail + | ChatRenamedEventDetail + | TeamsAppInstalledEventDetail + | TeamsAppRemovedEventDetail; + +export type GraphChatThread = GraphChat & { + isRead: boolean; +}; + +// defines the type of the state object returned from the StatefulGraphChatListClient +export type GraphChatListClient = Pick & { + status: + | 'initial' + | 'creating server connections' + | 'server connection lost' + | 'server connection established' + | 'subscribing to notifications' + | 'loading chats' + | 'no chats' + | 'chats loaded' + | 'chat message received' + | 'chat details loaded' + | 'chats read' + | 'chat selected' + | 'chat unselected' + | 'fatal error'; + chatThreads: GraphChatThread[]; + chatMessage: ChatMessage | undefined; + moreChatThreadsToLoad: boolean | undefined; + internalSelectedChat: GraphChatThread | undefined; + internalPrevSelectedChat: GraphChatThread | undefined; + fireOnSelected: boolean; // takes care of a case when we first init ChatList and sets the selected chat Id but onselected is not fired. +} & Pick; + +interface StatefulClient { + /** + * Get the current state of the client + */ + getState(): T; + /** + * Register a callback to receive state updates + * + * @param handler Callback to receive state updates + */ + onStateChange(handler: (state: T) => void): void; + /** + * Remove a callback from receiving state updates + * + * @param handler Callback to be unregistered + */ + offStateChange(handler: (state: T) => void): void; + /** + * Provides the number of chat threads to display with each load more. + */ + chatThreadsPerPage: number; + /** + * Method for loading more chat threads + */ + tryLoadChatThreads(): void; + /** + * Method for loading more chat threads + */ + tryLoadMoreChatThreads(): void; + /** + * Method for marking all chat threads as read + */ + markAllChatThreadsAsRead(): void; + /** + * Method for caching last read time for all included chat threads + */ + cacheLastReadTime(action: 'all' | 'selected'): void; + /** + * Method for setting the currently selected chat + * @param chatThread - currently selected chat + */ + setSelectedChat(chatThread: GraphChatThread): void; + /** + * Method for setting the currently selected chat + * @param chatId - currently selected chat id + */ + setSelectedChatId(chatId: string): void; +} + +type MessageEventType = + | '#microsoft.graph.membersAddedEventMessageDetail' + | '#microsoft.graph.membersDeletedEventMessageDetail' + | '#microsoft.graph.chatRenamedEventMessageDetail' + | '#microsoft.graph.teamsAppInstalledEventMessageDetail' + | '#microsoft.graph.teamsAppRemovedEventMessageDetail'; + +/** + * Extended Message type with additional properties. + */ +export type GraphChatMessage = Message & { + hasUnsupportedContent: boolean; + rawChatUrl: string; +}; + +const GraphChatThreadLastMsgPreviewCreatedComparator = (a: GraphChatThread, b: GraphChatThread): number => { + if (a.lastMessagePreview?.createdDateTime && b.lastMessagePreview?.createdDateTime) { + const dateA = new Date(a.lastMessagePreview.createdDateTime); + const dateB = new Date(b.lastMessagePreview.createdDateTime); + if (dateA === dateB) return 0; + return dateB > dateA ? 1 : -1; + } else if (b.lastMessagePreview?.createdDateTime) { + return 1; + } + return -1; +}; + +export interface ChatListEvent { + type: + | 'chatMessageReceived' + | 'chatMessageDeleted' + | 'chatMessageEdited' + | 'chatRenamed' + | 'memberAdded' + | 'memberRemoved' + | 'systemEvent' + | 'teamsAppInstalled' + | 'teamsAppRemoved'; + message: ChatMessage; +} + +class StatefulGraphChatListClient implements StatefulClient { + private readonly _notificationClient: GraphNotificationUserClient; + private readonly _eventEmitter: ThreadEventEmitter; + private readonly _cache: LastReadCache; + private readonly _graph: IGraph; + private _stateSubscribers: ((state: GraphChatListClient) => void)[] = []; + private _initialSelectedChatId: string | undefined; + private _loadPromise: Promise | undefined; + private _loadMorePromise: Promise | undefined; + + constructor() { + this.userId = currentUserId(); + Providers.globalProvider.onActiveAccountChanged(this.onActiveAccountChanged); + this._eventEmitter = new ThreadEventEmitter(); + this.registerEventListeners(); + this._cache = new LastReadCache(); + this._graph = graph('mgt-chat', GraphConfig.version); + + this._notificationClient = new GraphNotificationUserClient(this._eventEmitter, this._graph); + + this.updateUserSubscription(this.userId); + } + + /** + * Provides the number of chat threads to display with each load more. + */ + public chatThreadsPerPage = 20; + + /** + * Provides a method to clean up any resources being used internally when a consuming component is being removed from the DOM + */ + public tearDown() { + this._notificationClient.tearDown(); + } + + private sleep(ms: number) { + return new Promise(resolve => setTimeout(resolve, ms)); + } + + /** + * Switches to a fatal error state and logs the error. + */ + public raiseFatalError(e: Error) { + error(e); + this.notifyStateChange((draft: GraphChatListClient) => { + draft.status = 'fatal error'; + draft.chatThreads = []; + }); + } + + /** + * Load more chat threads if applicable. + */ + public async tryLoadMoreChatThreads() { + try { + // do not load if another activity is in progress + if (this._loadPromise || this._loadMorePromise) { + return; + } + + // make sure there is something to load + const state = this.getState(); + if (!state.moreChatThreadsToLoad) { + return; + } + + // log + log('loading more chat threads...'); + + // set promise; load and append + try { + this._loadMorePromise = this.loadAndAppendChatThreads( + '', + [], + state.chatThreads.length + this.chatThreadsPerPage + ); + await this._loadMorePromise; + } catch (e) { + error('Failed to load more chat threads; aborting...', e); + } + } finally { + this._loadMorePromise = undefined; + } + + // log + log('successfully loaded more chat threads.'); + } + + /** + * Loads chat threads without regard for the existing threads. + */ + public async tryLoadChatThreads() { + // set the state to loading and clear all chats + + // do not load if there is another load already running + if (this._loadPromise) { + return; + } + + // wait for any load more to finish + if (this._loadMorePromise) { + await this._loadMorePromise; + } + + // clear and announce loading + this.notifyStateChange((draft: GraphChatListClient) => { + draft.status = 'loading chats'; + draft.chatThreads = []; + }); + + // log + log('loading chat threads...'); + + // try several times to load more chats + try { + let loaded = false; + let count = 0; + do { + count++; + try { + this._loadPromise = this.loadAndAppendChatThreads('', [], this.chatThreadsPerPage); + await this._loadPromise; + loaded = true; + } catch (e) { + if (count > 3) { + error('Failed to load chat threads; aborting...', e); + throw Error('Failed to load chat threads even after 3 attempts; no more attempts will be made.'); + } + error('Failed to load chat threads; retrying...', e); + await this.sleep(2000); + } + } while (!loaded); + } finally { + this._loadPromise = undefined; + } + + // log + log('successfully loaded chat threads.'); + } + + private async handleChatThreadsResponse( + latestChatThreads: ChatThreadCollection, + items: GraphChatThread[], + maxItems: number + ) { + const latestItems = latestChatThreads.value as GraphChatThread[]; + const checkedItems = await this.checkWhetherToMarkAsRead(latestItems); + + const idsIncheckedItems = new Set(checkedItems.map(item => item.id)); + items = items.filter(item => !idsIncheckedItems.has(item.id)); + items = items.concat(checkedItems); + items.sort(GraphChatThreadLastMsgPreviewCreatedComparator); + + const handlerNextLink = latestChatThreads['@odata.nextLink']; + + if (items.length > maxItems) { + // return exact page size + this.handleChatThreads(items.slice(0, maxItems), 'more'); + return; + } + + if (items.length < maxItems && handlerNextLink) { + await this.loadAndAppendChatThreads(handlerNextLink, items, maxItems); + return; + } + + this.handleChatThreads(items, handlerNextLink); + } + + private async loadAndAppendChatThreads(nextLink: string, items: GraphChatThread[], maxItems: number) { + if (maxItems < 1) { + error('maxItem is invalid: ' + maxItems); + return; + } + + const response = !nextLink + ? await loadChatThreads(this._graph, maxItems > 50 ? 50 : maxItems) // max page count cannot exceed 50 per documentation + : await loadChatThreadsByPage(this._graph, nextLink.split('?')[1]); + await this.handleChatThreadsResponse(response, items, maxItems); + } + + public clearSelectedChat = () => { + const state = this.getState(); + + if (state.internalSelectedChat) { + this.notifyStateChange((draft: GraphChatListClient) => { + draft.status = 'chat unselected'; + draft.internalPrevSelectedChat = state.internalSelectedChat; + draft.internalSelectedChat = undefined; + }); + } + }; + + public setSelectedChatId = (chatId: string) => { + // the first time we are setting the selected chat, we may still be loading chat threads. + // so trying the code block after this will not work as there are no chat threads yet. + // we are setting this flag so that the `chats loaded` on ChatList can fire onselected. + if (!this._initialSelectedChatId) { + this._initialSelectedChatId = chatId; + return; + } + + const state = this.getState(); + if (!state.internalSelectedChat || state.internalSelectedChat.id !== chatId) { + const chatThread = state.chatThreads.find(c => c.id === chatId); + if (chatThread) { + this.setSelectedChat(chatThread); + } + } + }; + + public setSelectedChat = (chatThread: GraphChatThread): void => { + const state = this.getState(); + + if (state.internalSelectedChat) { + this.notifyStateChange((draft: GraphChatListClient) => { + draft.status = 'chat unselected'; + draft.internalPrevSelectedChat = state.internalSelectedChat; + draft.internalSelectedChat = undefined; + }); + } + + this.notifyStateChange((draft: GraphChatListClient) => { + draft.status = 'chat selected'; + draft.internalSelectedChat = { + ...chatThread, + isRead: true + }; + + draft.chatThreads = state.chatThreads.map((c: GraphChatThread) => { + if (c.id === chatThread.id && draft.internalSelectedChat) { + return draft.internalSelectedChat; + } + return c; + }); + + this.updateLastReadTime(draft.internalSelectedChat.id); + }); + }; + + public markAllChatThreadsAsRead = () => { + // mark as read after chat thread is found in current state + this.notifyStateChange((draft: GraphChatListClient) => { + draft.status = 'chats read'; + draft.chatThreads = this.getState().chatThreads.map((chatThread: GraphChatThread) => { + if (chatThread.id && !chatThread.isRead) { + return { + ...chatThread, + isRead: true + }; + } + return chatThread; + }); + }); + + this.cacheLastReadTime('all'); + }; + + public cacheLastReadTime = (action: 'all' | 'selected') => { + const state = this.getState(); + // cache last read time after all chat threads + if (action === 'all') { + state.chatThreads.forEach((chatThread: GraphChatThread) => { + if (chatThread.id) { + void this._cache.cacheLastReadTime(chatThread.id, new Date()); + } + }); + } + + // cache last read time after chat thread is found in current state + if (action === 'selected') { + const selectedChatId = state.internalSelectedChat?.id; + this.updateLastReadTime(selectedChatId); + } + }; + + private updateLastReadTime(selectedChatId: string | undefined) { + if (selectedChatId) { + log(`caching the last-read timestamp of now to chat ID '${selectedChatId}'...`); + void this._cache.cacheLastReadTime(selectedChatId, new Date()); + } + } + + // check whether to mark the chat as read or not + private readonly checkWhetherToMarkAsRead = async (c: GraphChatThread[]): Promise => { + const result = await Promise.all( + c.map(async (chatThread: GraphChatThread) => { + // when the last message is from you, the thread is read + if (this.userId === chatThread.lastMessagePreview?.from?.user?.id) { + return { + ...chatThread, + isRead: true + }; + } + + // when there is not a last read time, the thread is unread + const lastReadData = await this._cache.loadLastReadTime(chatThread.id!); + if (!lastReadData) { + return chatThread; + } + + // when the last message is newer than the last read time, the thread is unread + const lastUpdatedDateTime = chatThread.lastUpdatedDateTime ? new Date(chatThread.lastUpdatedDateTime) : null; + const lastMessagePreviewCreatedDateTime = chatThread.lastMessagePreview?.createdDateTime + ? new Date(chatThread.lastMessagePreview?.createdDateTime) + : null; + const lastReadTime = new Date(lastReadData.lastReadTime); + const isRead = !( + (lastUpdatedDateTime && lastUpdatedDateTime > lastReadTime) || + (lastMessagePreviewCreatedDateTime && lastMessagePreviewCreatedDateTime > lastReadTime) || + !lastReadData.lastReadTime + ); + return { + ...chatThread, + isRead + }; + }) + ); + return result; + }; + + /** + * Register a callback to receive state updates + * + * @param {(state: GraphChatListClient) => void} handler + * @memberof StatefulGraphChatListClient + */ + public onStateChange(handler: (state: GraphChatListClient) => void): void { + if (!this._stateSubscribers.includes(handler)) { + this._stateSubscribers.push(handler); + } + } + + /** + * Unregister a callback from receiving state updates + * + * @param {(state: GraphChatListClient) => void} handler + * @memberof StatefulGraphChatListClient + */ + public offStateChange(handler: (state: GraphChatListClient) => void): void { + const index = this._stateSubscribers.indexOf(handler); + if (index !== -1) { + this._stateSubscribers = this._stateSubscribers.splice(index, 1); + } + } + + private readonly _initialState: GraphChatListClient = { + status: 'initial', + activeErrorMessages: [], + userId: '', + chatThreads: [], + moreChatThreadsToLoad: undefined, + chatMessage: undefined, + internalSelectedChat: undefined, + internalPrevSelectedChat: undefined, + fireOnSelected: false + }; + + /** + * State of the chat client with initial values set + * + * @private + * @type {GraphChatListClient} + * @memberof StatefulGraphChatListClient + */ + private _state: GraphChatListClient = { ...this._initialState }; + + /** + * Calls each subscriber with the next state to be emitted + * + * @param recipe - a function which produces the next state to be emitted + */ + private notifyStateChange(recipe: (draft: GraphChatListClient) => void) { + this._state = produce(this._state, recipe); + this._stateSubscribers.forEach(handler => handler(this._state)); + } + + /** + * Handle ChatListEvent event types. + */ + private notifyChatMessageEventChange(event: ChatListEvent) { + this.notifyStateChange((draft: GraphChatListClient) => { + // find the chat thread + const chatThreadIndex = draft.chatThreads.findIndex(c => c.id === event.message.chatId); + const chatThread: GraphChatThread | undefined = draft.chatThreads[chatThreadIndex]; + + if ( + chatThread && + event.message.lastModifiedDateTime && + chatThread.lastMessagePreview?.createdDateTime && + event.message.lastModifiedDateTime < chatThread.lastMessagePreview.createdDateTime + ) { + log('message is older than last message preview, ignoring', event.message); + return; + } + + // func to bring the chat thread to the top of the list + const bringToTop = (newThread?: GraphChatThread) => { + draft.chatThreads.splice(chatThreadIndex, 1); + if (newThread) { + draft.chatThreads.unshift(newThread); + } else if (chatThread) { + draft.chatThreads.unshift(chatThread); + } + }; + + // handle the events + if (event.type === 'chatRenamed' && event.message?.eventDetail && chatThread) { + // rename the chat thread in-place + chatThread.topic = + (event.message.eventDetail as ChatRenamedEventMessageDetail)?.chatDisplayName ?? chatThread.topic; + } else if (event.type === 'memberAdded' && chatThread) { + // async load the updated chat details because the notification does not include the displayName + // of the user that was added. + void this.loadChatDetails(chatThread.id!); + bringToTop(); + } else if (event.type === 'memberRemoved' && event.message?.eventDetail && chatThread) { + // update the user list to remove the user; while we could add a "User removed" message + // the Teams client doesn't show a message and the Graph API does not show a message either + const membersToRemove = (event.message.eventDetail as MembersDeletedEventMessageDetail).members; + if (membersToRemove) { + const membersToRemoveSet = new Set(membersToRemove.map(member => member.id)); + chatThread.members = chatThread.members?.filter(member => { + const user = member as AadUserConversationMember; + return !membersToRemoveSet.has(user.userId); + }); + } + } else if (event.type === 'teamsAppInstalled' && event.message?.eventDetail && chatThread) { + // add a message about the app being added; Teams does "User added", but this provides + // more clarity since the user list doesn't change + const details = event.message.eventDetail as TeamsAppInstalledEventMessageDetail; + chatThread.lastMessagePreview = { + body: { + content: `${details.teamsAppDisplayName || details.teamsAppId} app added`, + contentType: 'text' + } as ItemBody, + lastModifiedDateTime: event.message.lastModifiedDateTime + } as ChatMessageInfo; + bringToTop(); + } else if (event.type === 'teamsAppRemoved' && event.message?.eventDetail && chatThread) { + // there is no behavior in teams for an app being removed + } else if (event.type === 'chatMessageEdited' && chatThread) { + // update the last message preview in-place + chatThread.lastMessagePreview = event.message as ChatMessageInfo; + chatThread.lastUpdatedDateTime = event.message.lastModifiedDateTime; + } else if (event.type === 'chatMessageDeleted' && chatThread) { + // update the last message preview in-place + chatThread.lastMessagePreview = { + lastModifiedDateTime: event.message.lastModifiedDateTime, + isDeleted: true + } as ChatMessageInfo; + } else if (event.type === 'chatMessageReceived' && event.message && chatThread) { + draft.status = 'chat message received'; + draft.chatMessage = event.message; + // update the last message preview and bring to the top + chatThread.lastMessagePreview = event.message as ChatMessageInfo; + chatThread.lastUpdatedDateTime = event.message.lastModifiedDateTime; + // this resets the chat thread read state for all chats including the active chat + if (draft.internalSelectedChat && draft.internalSelectedChat.id === draft.chatMessage.chatId) { + chatThread.isRead = true; + } else if (this.userId === event.message.from?.user?.id) { + chatThread.isRead = true; + } else { + chatThread.isRead = false; + } + bringToTop(); + } else if (event.type === 'chatMessageReceived' && event.message?.chatId) { + draft.status = 'chat message received'; + draft.chatMessage = event.message; + // create a new chat thread at the top + const newChatThread: GraphChatThread = { + id: event.message.chatId, + lastMessagePreview: event.message as ChatMessageInfo, + lastUpdatedDateTime: event.message.lastModifiedDateTime, + isRead: this.userId === event.message.from?.user?.id + }; + draft.chatThreads.unshift(newChatThread); + // async load more info + void this.loadChatDetails(event.message.chatId); + } else { + log(`received unrecognized event type '${event.type}' from the user subscription.`); + } + }); + } + + private async loadChatDetails(chatId: string) { + try { + const loaded = await loadChatWithPreview(this._graph, chatId); + this.notifyStateChange((draft: GraphChatListClient) => { + draft.status = 'chat details loaded'; + const chatThread = draft.chatThreads?.findIndex(c => c.id === chatId) ?? -1; + if (chatThread > -1) { + draft.chatThreads[chatThread] = Object.assign(draft.chatThreads[chatThread], loaded); + } + }); + } catch (e) { + error(`Failed to load chat details for chat ID ${chatId}.`, e); + } + } + + /* + * Returns the type of events by checking the chat message. + */ + private getSystemMessageType(message: ChatMessage) { + // check if this is a SystemEvent + if (message.messageType === 'systemEventMessage') { + const eventDetail = message.eventDetail as ChatMessageEvents; + switch (eventDetail['@odata.type']) { + case '#microsoft.graph.membersAddedEventMessageDetail': + return 'memberAdded'; + case '#microsoft.graph.membersDeletedEventMessageDetail': + return 'memberRemoved'; + case '#microsoft.graph.chatRenamedEventMessageDetail': + return 'chatRenamed'; + case '#microsoft.graph.teamsAppInstalledEventMessageDetail': + return 'teamsAppInstalled'; + case '#microsoft.graph.teamsAppRemovedEventMessageDetail': + return 'teamsAppRemoved'; + default: + return eventDetail['@odata.type']; + } + } + + return 'chatMessageReceived'; + } + + /* + * Event handler to be called when a new message is received by the notification service + */ + private readonly onMessageReceived = (message: ChatMessage) => { + if (message.chatId) { + this.notifyChatMessageEventChange({ message, type: this.getSystemMessageType(message) }); + } + }; + + /* + * Event handler to be called when a message deletion is received by the notification service + */ + private readonly onMessageDeleted = (message: ChatMessage) => { + if (message.chatId) { + this.notifyChatMessageEventChange({ message, type: 'chatMessageDeleted' }); + } + }; + + /* + * Event handler to be called when a message edit is received by the notification service + */ + private readonly onMessageEdited = (message: ChatMessage) => { + if (message.chatId) { + this.notifyChatMessageEventChange({ message, type: 'chatMessageEdited' }); + } + }; + + /** + * Return the current state of the chat client + * + * @return {{GraphChatListClient} + * @memberof StatefulGraphChatListClient + */ + public getState(): GraphChatListClient { + return this._state; + } + + /* + * Event handler to be called when we need to load more chat threads. + */ + private readonly handleChatThreads = (chatThreads: GraphChatThread[], nextLink: string | undefined) => { + this.notifyStateChange((draft: GraphChatListClient) => { + draft.status = chatThreads.length > 0 ? 'chats loaded' : 'no chats'; + draft.chatThreads = chatThreads; + draft.moreChatThreadsToLoad = Boolean(nextLink); + draft.fireOnSelected = false; + if (this._initialSelectedChatId) { + // again, we expect this code to only run once, during the init of ChatList component if and only if _initialSelectedChatId is set. + const toFindId = this._initialSelectedChatId; + const chat = chatThreads.find(c => c.id === toFindId); + this._initialSelectedChatId = ''; // ensure we only set the selected chat once + if (chat) { + draft.internalSelectedChat = chat; + draft.fireOnSelected = true; + } else { + log('Chat with id ' + toFindId + ' not found in loaded chat threads.'); + } + } + }); + }; + + private readonly onActiveAccountChanged = (e: ActiveAccountChanged) => { + if (!e.detail) { + return; + } + const [newUserId] = e.detail.id.split('.'); + + if (newUserId && this.userId !== newUserId) { + void this.handleAccountChange(newUserId); + } + }; + + private readonly handleAccountChange = async (userId: string) => { + this.clearCurrentUserMessages(); + + // need to ensure that we close any existing connection if present + await this._notificationClient?.closeSignalRConnection(); + + // update user info + this.userId = userId; + + // by updating the followed chat the notification client will reconnect to SignalR + this.updateUserSubscription(userId); + }; + + private clearCurrentUserMessages() { + this.notifyStateChange((draft: GraphChatListClient) => { + draft.status = 'initial'; + draft.chatThreads = []; + }); + } + + /** + * Current User ID. + */ + private _userId = ''; + + /** + * Returns the current User ID. + */ + public get userId() { + return this._userId; + } + + /** + * Sets the current User ID and updates the state value. + */ + private set userId(userId: string) { + if (this._userId === userId) { + return; + } + this._userId = userId; + this.notifyStateChange((draft: GraphChatListClient) => { + draft.userId = userId; + }); + } + + /** + * A helper to co-ordinate the loading of a chat and its messages, and the subscription to notifications for that chat + * + * @private + * @memberof StatefulGraphChatListClient + */ + private updateUserSubscription(userId: string) { + if (!userId) return; + + // reset state to initial + this.notifyStateChange((draft: GraphChatListClient) => { + draft.status = 'initial'; + }); + // Subscribe to notifications for messages + this.notifyStateChange((draft: GraphChatListClient) => { + draft.status = 'creating server connections'; + }); + try { + this._notificationClient.subscribeToUserNotifications(userId); + } catch (e) { + error('Failed to load chat data or subscribe to notications: ', e); + if (e instanceof GraphError) { + this.notifyStateChange((draft: GraphChatListClient) => { + draft.status = 'no chats'; + }); + } + } + } + + /** + * Register event listeners for chat events to be triggered from the notification service + */ + private registerEventListeners() { + this._eventEmitter.on('chatMessageReceived', (message: ChatMessage) => void this.onMessageReceived(message)); + this._eventEmitter.on('chatMessageDeleted', this.onMessageDeleted); + this._eventEmitter.on('chatMessageEdited', (message: ChatMessage) => void this.onMessageEdited(message)); + this._eventEmitter.on('disconnected', () => { + this.notifyStateChange((draft: GraphChatListClient) => { + draft.status = 'server connection lost'; + draft.chatThreads = []; + }); + }); + this._eventEmitter.on('connected', () => { + this.notifyStateChange((draft: GraphChatListClient) => { + draft.status = 'server connection established'; + }); + }); + } +} + +export { StatefulGraphChatListClient }; diff --git a/packages/mgt-chat/src/statefulClient/ThreadEventEmitter.ts b/packages/mgt-chat/src/statefulClient/ThreadEventEmitter.ts index fcaf8a2193..83cc0aecaa 100644 --- a/packages/mgt-chat/src/statefulClient/ThreadEventEmitter.ts +++ b/packages/mgt-chat/src/statefulClient/ThreadEventEmitter.ts @@ -22,6 +22,9 @@ export type ChatEvent = | 'chatThreadPropertiesUpdated' | 'participantAdded' | 'participantRemoved' + | 'disconnected' + | 'connected' + | 'reconnected' | 'notificationsSubscribedForResource' | 'graphNotificationClientError'; @@ -66,6 +69,12 @@ export class ThreadEventEmitter { notificationsSubscribedForResource(resouce: string) { this.emitter.emit('notificationsSubscribedForResource', resouce); } + disconnected() { + this.emitter.emit('disconnected'); + } + connected() { + this.emitter.emit('connected'); + } graphNotificationClientError(error: Error) { this.emitter.emit('graphNotificationClientError', error); } diff --git a/packages/mgt-chat/src/statefulClient/chatOperationScopes.tests.ts b/packages/mgt-chat/src/statefulClient/chatOperationScopes.tests.ts index 5db2cb343a..9155d6f3a3 100644 --- a/packages/mgt-chat/src/statefulClient/chatOperationScopes.tests.ts +++ b/packages/mgt-chat/src/statefulClient/chatOperationScopes.tests.ts @@ -6,7 +6,7 @@ */ import { expect } from '@open-wc/testing'; -import { allChatScopes } from './chatOperationScopes'; +import { allChatScopes, allChatListScopes } from './chatOperationScopes'; describe('chatOperationScopes tests', () => { it('should have a minimal permission set', () => { @@ -29,3 +29,25 @@ describe('chatOperationScopes tests', () => { expect(allChatScopes).to.have.members(expectedScopes); }); }); + +describe('chatListOperationScopes tests', () => { + it('should have a minimal permission set', () => { + const expectedScopes = [ + 'User.Read', + 'User.ReadBasic.All', + 'User.Read.All', + 'People.Read', + 'People.Read.All', + 'Presence.Read.All', + 'Sites.Read.All', + 'Mail.Read', + 'Mail.ReadBasic', + 'Contacts.Read', + 'Chat.ReadWrite', + 'ChatMember.ReadWrite', + 'TeamsAppInstallation.ReadForChat', + 'AppCatalog.Read.All' + ]; + expect(allChatListScopes).to.have.members(expectedScopes); + }); +}); diff --git a/packages/mgt-chat/src/statefulClient/chatOperationScopes.ts b/packages/mgt-chat/src/statefulClient/chatOperationScopes.ts index 2f7a7c6da1..622c5ec3af 100644 --- a/packages/mgt-chat/src/statefulClient/chatOperationScopes.ts +++ b/packages/mgt-chat/src/statefulClient/chatOperationScopes.ts @@ -79,3 +79,17 @@ export const allChatScopes = Array.from( return acc; }, new Set()) ); + +/** + * Provides an array of the distinct scopes required for all chat operations + */ +export const allChatListScopes = Array.from( + [['User.Read', 'TeamsAppInstallation.ReadForChat']] + .concat([minimalChatScopesList]) + .concat(Object.values(peoplePickerScopes)) + .concat([getMgtPersonCardScopes()]) + .reduce((acc, scopes) => { + scopes.forEach(s => acc.add(s)); + return acc; + }, new Set()) +); diff --git a/packages/mgt-chat/src/statefulClient/graph.chat.ts b/packages/mgt-chat/src/statefulClient/graph.chat.ts index 028277937e..0be1a94753 100644 --- a/packages/mgt-chat/src/statefulClient/graph.chat.ts +++ b/packages/mgt-chat/src/statefulClient/graph.chat.ts @@ -14,7 +14,7 @@ import { } from '@microsoft/mgt-components'; import { BetaGraph, CacheService, IGraph, prepScopes } from '@microsoft/mgt-element'; import { ResponseType } from '@microsoft/microsoft-graph-client'; -import { AadUserConversationMember, Chat, ChatMessage } from '@microsoft/microsoft-graph-types'; +import { AadUserConversationMember, Chat, ChatMessage, Chat as GraphChat } from '@microsoft/microsoft-graph-types'; import { chatOperationScopes } from './chatOperationScopes'; import { TeamsAppInstallation } from '@microsoft/microsoft-graph-types-beta'; @@ -31,7 +31,7 @@ export interface GraphCollection { * Object representing a collection of chat messages */ export type MessageCollection = GraphCollection; - +export type ChatThreadCollection = GraphCollection; export type AppCollection = GraphCollection; /** @@ -47,6 +47,19 @@ export const loadChat = async (graph: IGraph, chatId: string): Promise => .middlewareOptions(prepScopes(chatOperationScopes.loadChat)) .get()) as Chat; +/** + * Load the specified chat from graph with the members and last message expanded + * + * @param graph authenticated graph client from mgt + * @param chatId the id of the chat to load + * @returns {Promise} + */ +export const loadChatWithPreview = async (graph: IGraph, chatId: string): Promise => + (await graph + .api(`/chats/${chatId}?$expand=members,lastMessagePreview`) + .middlewareOptions(prepScopes(chatOperationScopes.loadChat)) + .get()) as Chat; + /** * Load the first page of messages from the specified chat * Will provide a nextLink to load more messages if there are more than the specified messageCount @@ -164,6 +177,16 @@ export const loadMoreChatMessages = async (graph: IGraph, nextLink: string): Pro return response; }; +export const loadBotsInChat = async (graph: IGraph, chatId: string): Promise => { + const response = (await graph + .api(`/chats/${chatId}/installedApps`) + .filter('teamsAppDefinition/bot/id ne null') + .expand('teamsAppDefinition($expand=bot)') + .middlewareOptions(prepScopes(chatOperationScopes.loadBotsInChat)) + .get()) as AppCollection; + return response; +}; + /** * Creates a new chat message via HTTP POST * @@ -361,3 +384,27 @@ export const updateChatTopic = async (graph: IGraph, chatId: string, topic: stri .middlewareOptions(prepScopes(chatOperationScopes.updateChatMessage)) .patch({ topic }); }; + +/** + * Load the chat threads from graph with the members and last message expanded + * + * @param graph authenticated graph client from mgt + * @returns {Promise} + */ +export const loadChatThreads = async (graph: IGraph, maxPage: number): Promise => + (await graph + .api(`me/chats?$top=${maxPage}&$expand=members,lastMessagePreview&orderby=lastMessagePreview/createdDateTime desc`) + .middlewareOptions(prepScopes(chatOperationScopes.loadChat)) + .get()) as ChatThreadCollection; + +/** + * Load the chat threads from graph with the members and last message expanded by next page link. + * + * @param graph authenticated graph client from mgt + * @returns {Promise} + */ +export const loadChatThreadsByPage = async (graph: IGraph, filter: string): Promise => + (await graph + .api(`me/chats?${filter}`) + .middlewareOptions(prepScopes(chatOperationScopes.loadChat)) + .get()) as ChatThreadCollection; diff --git a/packages/mgt-chat/src/statefulClient/useGraphChatClient.ts b/packages/mgt-chat/src/statefulClient/useGraphChatClient.ts index e7bb49688b..3ab611e20b 100644 --- a/packages/mgt-chat/src/statefulClient/useGraphChatClient.ts +++ b/packages/mgt-chat/src/statefulClient/useGraphChatClient.ts @@ -6,37 +6,19 @@ */ import { useEffect, useState } from 'react'; -import { v4 as uuid } from 'uuid'; import { StatefulGraphChatClient } from './StatefulGraphChatClient'; import { log } from '@microsoft/mgt-element'; -/** - * Provides a stable sessionId for the lifetime of the browser tab. - * @returns a string that is either read from session storage or generated and placed in session storage - */ -const useSessionId = (): string => { - const [sessionId] = useState(() => uuid()); - - return sessionId; -}; - /** * Custom hook to abstract the creation of a stateful graph chat client. * @param {string} chatId the current chatId to be rendered + * @param {React.EffectCallback} pre an optional useEffect function to be run before other useEffects + * @param {React.EffectCallback} post an optional useEffect function to be run after other useEffects * @returns {StatefulGraphChatClient} a stateful graph chat client that is subscribed to the given chatId */ -export const useGraphChatClient = (chatId: string): StatefulGraphChatClient => { - const sessionId = useSessionId(); +export const useGraphChatClient = (): StatefulGraphChatClient => { const [chatClient] = useState(() => new StatefulGraphChatClient()); - // when chatId or sessionId changes this effect subscribes or unsubscribes - // the component to/from web socket based notifications for the given chatId - useEffect(() => { - // we must have both a chatId & sessionId to subscribe. - if (chatId && sessionId) chatClient.subscribeToChat(chatId, sessionId); - else chatClient.setStatus('no chat id'); - }, [chatId, sessionId, chatClient]); - // Returns a cleanup function to call tearDown on the chatClient // This allows us to clean up when the consuming component is being unmounted from the DOM useEffect(() => { diff --git a/packages/mgt-chat/src/utils/Timer.ts b/packages/mgt-chat/src/utils/Timer.ts index bb3c9b86a0..0ddf3745f2 100644 --- a/packages/mgt-chat/src/utils/Timer.ts +++ b/packages/mgt-chat/src/utils/Timer.ts @@ -5,7 +5,6 @@ * ------------------------------------------------------------------------------------------- */ -import { v4 as uuid } from 'uuid'; import { TimerWork } from './timerWorker'; export interface Work { @@ -21,10 +20,12 @@ export class Timer { this.worker.port.onmessage = this.onMessage; } - public setTimeout(callback: () => void, delay: number): string { + // NOTE: this.work was increasing in size every time there was a new timeout because id was uuid() + // but clearTimeout was only being called on teardown. + public setTimeout(id: string, callback: () => void, delay: number): string { const timeoutWork: TimerWork = { type: 'setTimeout', - id: uuid(), + id, delay }; @@ -46,6 +47,8 @@ export class Timer { } } + /* + // NOTE: setInterval is not used in the library, but it is here for reference public setInterval(callback: () => void, delay: number): string { const intervalWork: TimerWork = { type: 'setInterval', @@ -70,6 +73,7 @@ export class Timer { this.work.delete(id); } } + */ private readonly onMessage = (event: MessageEvent): void => { const intervalWork = event.data; diff --git a/packages/mgt-chat/src/utils/rewriteEmojiContent.tests.ts b/packages/mgt-chat/src/utils/rewriteEmojiContent.tests.ts index 3e34e0ecbf..8f0bd499d8 100644 --- a/packages/mgt-chat/src/utils/rewriteEmojiContent.tests.ts +++ b/packages/mgt-chat/src/utils/rewriteEmojiContent.tests.ts @@ -6,7 +6,7 @@ */ import { expect } from '@open-wc/testing'; -import { rewriteEmojiContentToHTML } from './rewriteEmojiContent'; +import { rewriteEmojiContentToHTML, rewriteEmojiContentToText } from './rewriteEmojiContent'; describe('rewrite emoji to standard HTML', () => { it('rewrites an emoji correctly', async () => { @@ -38,3 +38,24 @@ describe('rewrite emoji to standard HTML', () => { ); }); }); + +describe('emoji rewrite tests to Text', () => { + it('rewrites an emoji correctly', async () => { + const result = rewriteEmojiContentToText(``); + await expect(result).to.be.equal('😎'); + }); + it('rewrites an emoji in a p tag correctly', async () => { + const result = rewriteEmojiContentToText(`

`); + await expect(result).to.be.equal('

😎

'); + }); + it('rewrites multiple emoji in a p correctly', async () => { + const result = rewriteEmojiContentToText( + `

` + ); + await expect(result).to.be.equal('

😎🤪

'); + }); + it('returns the original value if there is no emoji', async () => { + const result = rewriteEmojiContentToText('

Seb is cool

'); + await expect(result).to.be.equal('

Seb is cool

'); + }); +}); diff --git a/packages/mgt-chat/src/utils/rewriteEmojiContent.ts b/packages/mgt-chat/src/utils/rewriteEmojiContent.ts index 4e3e4bc80d..a7f40d9c1a 100644 --- a/packages/mgt-chat/src/utils/rewriteEmojiContent.ts +++ b/packages/mgt-chat/src/utils/rewriteEmojiContent.ts @@ -47,6 +47,7 @@ export const rewriteEmojiContentToHTML = (content: string): string => { img.setAttribute('itemscope', ''); img.setAttribute('itemtype', 'http://schema.skype.com/Emoji'); img.setAttribute('itemid', id); + img.setAttribute( 'src', `https://statics.teams.cdn.office.net/evergreen-assets/personal-expressions/v2/assets/emoticons/${id}/default/${size}_f.png` @@ -60,3 +61,36 @@ export const rewriteEmojiContentToHTML = (content: string): string => { } return dom.body.innerHTML; }; + +/** + * Regex to detect and extract emoji alt text + * + * Pattern breakdown: + * (]+): Captures the opening emoji tag, including any attributes. + * alt=["'](\w*[^"']*)["']: Matches and captures the "alt" attribute value within single or double quotes. The value can contain word characters but not quotes. + * (.[^>]): Captures any remaining text within the opening emoji tag, excluding the closing angle bracket. + * ><\/emoji>: Matches the remaining part of the tag. + */ +const emojiRegex = /(]+)alt=["'](\w*[^"']*)["'](.[^>]+)><\/emoji>/; +const emojiMatch = (messageContent: string): RegExpMatchArray | null => { + return messageContent.match(emojiRegex); +}; +// iterative repave the emoji custom element with the content of the alt attribute +// on the emoji element +const processEmojiContent = (messageContent: string): string => { + let result = messageContent; + let match = emojiMatch(result); + while (match) { + result = result.replace(emojiRegex, '$2'); + match = emojiMatch(result); + } + return result; +}; + +/** + * if the content contains an tag with an alt attribute the content is replaced by replacing the emoji tags with the content of their alt attribute. + * @param {string} content + * @returns {string} the content with any emoji tags replaced by the content of their alt attribute. + */ +export const rewriteEmojiContentToText = (content: string): string => + emojiMatch(content) ? processEmojiContent(content) : content; diff --git a/packages/mgt-components/src/graph/cacheStores.ts b/packages/mgt-components/src/graph/cacheStores.ts index 2cccd7ef19..bc833311e0 100644 --- a/packages/mgt-components/src/graph/cacheStores.ts +++ b/packages/mgt-components/src/graph/cacheStores.ts @@ -26,9 +26,10 @@ export const schemas: Record = { name: 'conversation', stores: { chats: 'chats', - subscriptions: 'subscriptions' + subscriptions: 'subscriptions', + lastRead: 'lastRead' }, - version: 2, + version: 3, indexes: { subscriptions: [{ name: 'lastAccessDateTime', field: 'lastAccessDateTime' }] } diff --git a/packages/mgt-element/README.md b/packages/mgt-element/README.md index ddd5cdbf9a..4d4132543c 100644 --- a/packages/mgt-element/README.md +++ b/packages/mgt-element/README.md @@ -60,7 +60,8 @@ If you already have a function that returns `accessTokens`, you can use a Simple ```ts import {Providers, SimpleProvider} from '@microsoft/mgt-element'; -function getAccessToken(scopes: string[]) { +//this will take an object with first item as scopes and second param is optional and is set to false by default +function getAccessToken({scopes: string[], forceTokenRefresh?: boolean}) { // return a promise with accessToken string } diff --git a/packages/mgt-element/src/index.ts b/packages/mgt-element/src/index.ts index caab65a20d..7422b8c044 100644 --- a/packages/mgt-element/src/index.ts +++ b/packages/mgt-element/src/index.ts @@ -20,6 +20,7 @@ export * from './components/customElementHelper'; export * from './providers/IProvider'; export * from './providers/Providers'; export * from './providers/SimpleProvider'; +export * from './providers/ExtendedAuthenticationProviderOptions'; export * from './utils/CacheService'; export * from './utils/CacheStore'; diff --git a/packages/mgt-element/src/providers/ExtendedAuthenticationProviderOptions.ts b/packages/mgt-element/src/providers/ExtendedAuthenticationProviderOptions.ts new file mode 100644 index 0000000000..23c16db647 --- /dev/null +++ b/packages/mgt-element/src/providers/ExtendedAuthenticationProviderOptions.ts @@ -0,0 +1,4 @@ +import { AuthenticationProviderOptions } from '@microsoft/microsoft-graph-client'; +export interface ExtendedAuthenticationProviderOptions extends AuthenticationProviderOptions { + forceTokenRefresh?: boolean; +} diff --git a/packages/mgt-element/src/providers/IProvider.ts b/packages/mgt-element/src/providers/IProvider.ts index b07789ca32..eeca99ca06 100644 --- a/packages/mgt-element/src/providers/IProvider.ts +++ b/packages/mgt-element/src/providers/IProvider.ts @@ -5,10 +5,11 @@ * ------------------------------------------------------------------------------------------- */ -import { AuthenticationProvider, AuthenticationProviderOptions } from '@microsoft/microsoft-graph-client'; +import { AuthenticationProvider } from '@microsoft/microsoft-graph-client'; import { validateBaseURL } from '../utils/validateBaseURL'; import { GraphEndpoint, IGraph, MICROSOFT_GRAPH_DEFAULT_ENDPOINT } from '../IGraph'; import { EventDispatcher, EventHandler } from '../utils/EventDispatcher'; +import { ExtendedAuthenticationProviderOptions } from './ExtendedAuthenticationProviderOptions'; /** * Provider Type to be extended for implementing new providers @@ -139,6 +140,34 @@ export abstract class IProvider implements AuthenticationProvider { public get isMultiAccountSupported(): boolean { return this.isMultipleAccountSupported; } + + /** + * get/set the value for WebProxyEnabled + * + * @protected + * @type {boolean} + * @memberof IProvider + */ + public isWebProxyEnabled = false; + + /** + * get/set the value for webProxyURL + * + * @protected + * @memberof IProvider + * @type {string} + */ + public webProxyURL = ''; + + /** + * get/set the value for webProxyAPIScope + * + * @protected + * @memberof IProvider + * @type {string} + */ + public webProxyAPIScope = ''; + /** * returns state of Provider * @@ -291,12 +320,12 @@ export abstract class IProvider implements AuthenticationProvider { /** * uses scopes to recieve access token * - * @param {...string[]} scopes + * @param {AuthenticationProviderOptions} [options] * @returns {Promise} * @memberof IProvider */ - public getAccessTokenForScopes(...scopes: string[]): Promise { - return this.getAccessToken({ scopes }); + public getAccessTokenForScopes(options: ExtendedAuthenticationProviderOptions): Promise { + return this.getAccessToken(options); } /** @@ -307,7 +336,7 @@ export abstract class IProvider implements AuthenticationProvider { * @returns {Promise} * @memberof IProvider */ - public abstract getAccessToken(options?: AuthenticationProviderOptions): Promise; + public abstract getAccessToken(options?: ExtendedAuthenticationProviderOptions): Promise; } /** diff --git a/packages/mgt-element/src/providers/Providers.ts b/packages/mgt-element/src/providers/Providers.ts index e4b4eeda42..3525ab828a 100644 --- a/packages/mgt-element/src/providers/Providers.ts +++ b/packages/mgt-element/src/providers/Providers.ts @@ -7,7 +7,6 @@ import { Client } from '@microsoft/microsoft-graph-client'; import { User } from '@microsoft/microsoft-graph-types'; - import { EventDispatcher, EventHandler } from '../utils/EventDispatcher'; import { IProvider, ProviderState } from './IProvider'; @@ -100,18 +99,17 @@ export class Providers { * @static * @memberof Providers */ - public static me(): Promise { + public static async me(): Promise { if (!this.client) { - this._mePromise = null; + this._me = null; return null; } - // eslint-disable-next-line @typescript-eslint/no-misused-promises - if (!this._mePromise) { - this._mePromise = this.getMe(); + if (!this._me) { + this._me = await this.getMe(); } - return this._mePromise; + return this._me; } /** @@ -168,7 +166,7 @@ export class Providers { */ private static unsetCacheId() { this._cacheId = null; - this._mePromise = null; + this._me = null; } /** @@ -240,12 +238,13 @@ export class Providers { private static _globalProvider: IProvider; private static _cacheId: string; - private static _mePromise: Promise; + private static _me: User; // NOTE: the prior implementation of _mePromise meant that the promise was cached as + // fulfilled with null for the user and was never updated if the /me call failed. private static readonly handleProviderStateChanged = () => { if (!Providers.globalProvider || Providers.globalProvider.state !== ProviderState.SignedIn) { // clear current signed in user info - Providers._mePromise = null; + Providers._me = null; } Providers._eventDispatcher.fire(ProvidersChangedState.ProviderStateChanged); diff --git a/packages/mgt-spfx/release/assets/mgt-library_c60f15e144a88710925f.js b/packages/mgt-spfx/release/assets/mgt-library_c60f15e144a88710925f.js new file mode 100644 index 0000000000..7173d2d59d --- /dev/null +++ b/packages/mgt-spfx/release/assets/mgt-library_c60f15e144a88710925f.js @@ -0,0 +1,5738 @@ +/*! For license information please see mgt-library_c60f15e144a88710925f.js.LICENSE.txt */ +define("78b11c7d-7ca8-47cb-a93c-d3beabb519a1_3.0.1",["@microsoft/microsoft-graph-client"],function(n){return function(e){var t={};function n(a){if(t[a])return t[a].exports;var i=t[a]={i:a,l:!1,exports:{}};return e[a].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,a){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(a,i,function(t){return e[t]}.bind(null,i));return a},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s="mwqp")}({"+53S":function(e,t,n){"use strict";n.d(t,"a",function(){return r});var a=n("/w5G");class i{constructor(e,t){this.target=e,this.propertyName=t}bind(e){e[this.propertyName]=this.target}unbind(){}}function r(e){return new a.a("fast-ref",i,e)}},"+Cud":function(e,t,n){"use strict";function a(e){const t=e.parentElement;if(t)return t;{const t=e.getRootNode();if(t.host instanceof HTMLElement)return t.host}return null}n.d(t,"a",function(){return a})},"+yEz":function(e,t,n){"use strict";n.d(t,"a",function(){return i});var a=n("5ZAu");class i{constructor(){this.targets=new WeakSet}addStylesTo(e){this.targets.add(e)}removeStylesFrom(e){this.targets.delete(e)}isAttachedTo(e){return this.targets.has(e)}withBehaviors(...e){return this.behaviors=null===this.behaviors?e:this.behaviors.concat(e),this}}function r(e){return e.map(e=>e instanceof i?r(e.styles):[e]).reduce((e,t)=>e.concat(t),[])}function o(e){return e.map(e=>e instanceof i?e.behaviors:null).reduce((e,t)=>null===t?e:(null===e&&(e=[]),e.concat(t)),null)}i.create=(()=>{if(a.a.supportsAdoptedStyleSheets){const e=new Map;return t=>new d(t,e)}return e=>new u(e)})();let s=(e,t)=>{e.adoptedStyleSheets=[...e.adoptedStyleSheets,...t]},c=(e,t)=>{e.adoptedStyleSheets=e.adoptedStyleSheets.filter(e=>-1===t.indexOf(e))};if(a.a.supportsAdoptedStyleSheets)try{document.adoptedStyleSheets.push(),document.adoptedStyleSheets.splice(),s=(e,t)=>{e.adoptedStyleSheets.push(...t)},c=(e,t)=>{for(const n of t){const t=e.adoptedStyleSheets.indexOf(n);-1!==t&&e.adoptedStyleSheets.splice(t,1)}}}catch(e){}class d extends i{constructor(e,t){super(),this.styles=e,this.styleSheetCache=t,this._styleSheets=void 0,this.behaviors=o(e)}get styleSheets(){if(void 0===this._styleSheets){const e=this.styles,t=this.styleSheetCache;this._styleSheets=r(e).map(e=>{if(e instanceof CSSStyleSheet)return e;let n=t.get(e);return void 0===n&&(n=new CSSStyleSheet,n.replaceSync(e),t.set(e,n)),n})}return this._styleSheets}addStylesTo(e){s(e,this.styleSheets),super.addStylesTo(e)}removeStylesFrom(e){c(e,this.styleSheets),super.removeStylesFrom(e)}}let l=0;class u extends i{constructor(e){super(),this.styles=e,this.behaviors=null,this.behaviors=o(e),this.styleSheets=r(e),this.styleClass="fast-style-class-"+ ++l}addStylesTo(e){const t=this.styleSheets,n=this.styleClass;e=this.normalizeTarget(e);for(let a=0;a{const t=new Date,n=new Date(t.getFullYear(),t.getMonth(),t.getDate());if(e>=n)return e.toLocaleString("default",{hour:"numeric",minute:"numeric"});const a=new Date(n);if(a.setDate(t.getDate()-t.getDay()),e>=a)return e.toLocaleString("default",{hour:"numeric",minute:"numeric",weekday:"short"});const i=new Date(a);return i.setDate(a.getDate()-7),e>=i?e.toLocaleString("default",{day:"numeric",month:"numeric",weekday:"short"}):e.toLocaleString("default",{day:"numeric",month:"numeric",year:"numeric"})},r=e=>{const t=e.getMonth();return`${e.getDate()} / ${t} / ${e.getFullYear()}`},o=e=>{const t=e.getMonth(),n=e.getDate();return`${s(t)} ${n}`},s=e=>{switch(e){case 0:return"January";case 1:return"February";case 2:return"March";case 3:return"April";case 4:return"May";case 5:return"June";case 6:return"July";case 7:return"August";case 8:return"September";case 9:return"October";case 10:return"November";case 11:return"December";default:return"Month"}},c=e=>{switch(e){case 0:return"Sunday";case 1:return"Monday";case 2:return"Tuesday";case 3:return"Wednesday";case 4:return"Thursday";case 5:return"Friday";case 6:return"Saturday";default:return"Day"}},d=e=>{switch(e){case 1:return 28;case 3:case 5:case 8:case 10:default:return 30;case 0:case 2:case 4:case 6:case 7:case 9:case 11:return 31}},l=(e,t)=>{const n=`${t}`;let a=`${e}`;return a.length<2&&(a="0"+a),new Date(`${n}-${a}-1T12:00:00-${(new Date).getTimezoneOffset()/60}`)},u=(e,t)=>{let n;return function(){window.clearTimeout(n),n=window.setTimeout(()=>e.apply(this,arguments),t)}},f=e=>new Promise((t,n)=>{const a=new FileReader;a.onerror=n,a.onload=()=>{t(a.result)},a.readAsDataURL(e)}),p=e=>e.startsWith("[")?e.match(/([a-zA-Z0-9+._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9_-]+)/gi).toString():e,m=e=>/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e),_=(e,t=2)=>{if(0===e)return"0 Bytes";const n=t<0?0:t,a=Math.floor(Math.log(e)/Math.log(1024));return`${parseFloat((e/Math.pow(1024,a)).toFixed(n))} ${["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"][a]}`},h=e=>(e&&(e=null==(e=null==(e=null==e?void 0:e.replace(//gi,"..."))?void 0:e.replace(//gi,""))?void 0:e.replace(/<\/c0>/gi,"")),e),b=e=>null==e?void 0:e.replace(/\.[^/.]+$/,""),g=e=>new URL(e).pathname.split("/").pop().replace(/-/g," "),v=e=>e||a.a.config.response.invalidationPeriod||a.a.config.defaultInvalidationPeriod,y=()=>a.a.config.response.isEnabled&&a.a.config.isEnabled},"/i08":function(e,t,n){"use strict";n.d(t,"a",function(){return c}),n.d(t,"b",function(){return a}),n.d(t,"c",function(){return i});var a,i,r=n("q/PQ"),o=n("/49y"),s=n("x+GM");class c{get isMultiAccountSupportedAndEnabled(){return!1}set baseURL(e){if(!Object(r.a)(e))throw new Error(`${e} is not a valid Graph URL endpoint.`);this._baseURL=e}get baseURL(){return this._baseURL}set customHosts(e){this._customHosts=e}get customHosts(){return this._customHosts}get isMultiAccountSupported(){return this.isMultipleAccountSupported}get state(){return this._state}get isIncrementalConsentDisabled(){return this._isIncrementalConsentDisabled}set isIncrementalConsentDisabled(e){this._isIncrementalConsentDisabled=e}get name(){return"MgtIProvider"}constructor(){this.isMultipleAccountDisabled=!0,this._loginChangedDispatcher=new s.a,this._activeAccountChangedDispatcher=new s.a,this._baseURL=o.a,this._customHosts=void 0,this._isIncrementalConsentDisabled=!1,this.isMultipleAccountSupported=!1,this._state=i.Loading}setState(e){e!==this._state&&(this._state=e,this._loginChangedDispatcher.fire({detail:this._state}))}onStateChanged(e){this._loginChangedDispatcher.add(e)}removeStateChangedHandler(e){this._loginChangedDispatcher.remove(e)}setActiveAccount(e){this.fireActiveAccountChanged({detail:e})}onActiveAccountChanged(e){this._activeAccountChangedDispatcher.add(e)}removeActiveAccountChangedHandler(e){this._activeAccountChangedDispatcher.remove(e)}fireActiveAccountChanged(e){this._activeAccountChangedDispatcher.fire(e)}getAccessTokenForScopes(...e){return this.getAccessToken({scopes:e})}}!function(e){e[e.Popup=0]="Popup",e[e.Redirect=1]="Redirect"}(a||(a={})),function(e){e[e.Loading=0]="Loading",e[e.SignedOut=1]="SignedOut",e[e.SignedIn=2]="SignedIn"}(i||(i={}))},"/w5G":function(e,t,n){"use strict";n.d(t,"b",function(){return i}),n.d(t,"c",function(){return r}),n.d(t,"a",function(){return o});var a=n("5ZAu");class i{constructor(){this.targetIndex=0}}class r extends i{constructor(){super(...arguments),this.createPlaceholder=a.a.createInterpolationPlaceholder}}class o extends i{constructor(e,t,n){super(),this.name=e,this.behavior=t,this.options=n}createPlaceholder(e){return a.a.createCustomAttributePlaceholder(this.name,e)}createBehavior(e){return new this.behavior(e,this.options)}}},"0Uyf":function(e,t,n){"use strict";n.d(t,"J",function(){return l}),n.d(t,"a",function(){return u}),n.d(t,"i",function(){return _}),n.d(t,"g",function(){return h}),n.d(t,"h",function(){return b}),n.d(t,"p",function(){return g}),n.d(t,"q",function(){return v}),n.d(t,"u",function(){return y}),n.d(t,"v",function(){return S}),n.d(t,"y",function(){return D}),n.d(t,"z",function(){return I}),n.d(t,"t",function(){return x}),n.d(t,"D",function(){return C}),n.d(t,"E",function(){return O}),n.d(t,"w",function(){return w}),n.d(t,"H",function(){return E}),n.d(t,"n",function(){return L}),n.d(t,"e",function(){return k}),n.d(t,"f",function(){return M}),n.d(t,"r",function(){return P}),n.d(t,"s",function(){return T}),n.d(t,"j",function(){return U}),n.d(t,"l",function(){return F}),n.d(t,"A",function(){return H}),n.d(t,"B",function(){return R}),n.d(t,"F",function(){return N}),n.d(t,"G",function(){return B}),n.d(t,"k",function(){return j}),n.d(t,"x",function(){return V}),n.d(t,"I",function(){return z}),n.d(t,"m",function(){return G}),n.d(t,"c",function(){return J}),n.d(t,"d",function(){return X}),n.d(t,"o",function(){return Z}),n.d(t,"C",function(){return $}),n.d(t,"K",function(){return ee}),n.d(t,"L",function(){return te}),n.d(t,"b",function(){return ne});var a=n("DNu6"),i=n("RIOo"),r=n("WHff"),o=n("imsm"),s=n("EYXE"),c=n("/4Fm"),d=function(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})};const l=e=>Array.isArray(e.nextExpectedRanges),u=()=>d(void 0,void 0,void 0,function*(){const e=a.a.getCache(o.a.fileLists,o.a.fileLists.stores.fileLists);yield e.clearStore()}),f=()=>a.a.config.files.invalidationPeriod||a.a.config.defaultInvalidationPeriod,p=()=>a.a.config.files.isEnabled&&a.a.config.isEnabled,m=()=>a.a.config.fileLists.isEnabled&&a.a.config.isEnabled,_=(e,t,n=o.a.files.stores.fileQueries,r="files.read")=>d(void 0,void 0,void 0,function*(){const s=a.a.getCache(o.a.files,n),c=yield Q(s,t);if(c)return c;let d;try{d=yield e.api(t).middlewareOptions(Object(i.a)(r)).get(),p()&&(yield s.putValue(t,{file:JSON.stringify(d)}))}catch(e){}return d||null}),h=(e,t,n)=>d(void 0,void 0,void 0,function*(){return _(e,`/drives/${t}/items/${n}`,o.a.files.stores.driveFiles)}),b=(e,t,n)=>d(void 0,void 0,void 0,function*(){return _(e,`/drives/${t}/root:/${n}`,o.a.files.stores.driveFiles)}),g=(e,t,n)=>d(void 0,void 0,void 0,function*(){return _(e,`/groups/${t}/drive/items/${n}`,o.a.files.stores.groupFiles)}),v=(e,t,n)=>d(void 0,void 0,void 0,function*(){return _(e,`/groups/${t}/drive/root:/${n}`,o.a.files.stores.groupFiles)}),y=(e,t)=>d(void 0,void 0,void 0,function*(){return _(e,`/me/drive/items/${t}`,o.a.files.stores.userFiles)}),S=(e,t)=>d(void 0,void 0,void 0,function*(){return _(e,`/me/drive/root:/${t}`,o.a.files.stores.userFiles)}),D=(e,t,n)=>d(void 0,void 0,void 0,function*(){return _(e,`/sites/${t}/drive/items/${n}`,o.a.files.stores.siteFiles)}),I=(e,t,n)=>d(void 0,void 0,void 0,function*(){return _(e,`/sites/${t}/drive/root:/${n}`,o.a.files.stores.siteFiles)}),x=(e,t,n,a)=>d(void 0,void 0,void 0,function*(){return _(e,`/sites/${t}/lists/${n}/items/${a}/driveItem`,o.a.files.stores.siteFiles)}),C=(e,t,n)=>d(void 0,void 0,void 0,function*(){return _(e,`/users/${t}/drive/items/${n}`,o.a.files.stores.userFiles)}),O=(e,t,n)=>d(void 0,void 0,void 0,function*(){return _(e,`/users/${t}/drive/root:/${n}`,o.a.files.stores.userFiles)}),w=(e,t,n)=>d(void 0,void 0,void 0,function*(){return _(e,`/me/insights/${t}/${n}/resource`,o.a.files.stores.insightFiles,"sites.read.all")}),E=(e,t,n,a)=>d(void 0,void 0,void 0,function*(){return _(e,`/users/${t}/insights/${n}/${a}/resource`,o.a.files.stores.insightFiles,"sites.read.all")}),A=(e,t,n,r,s)=>d(void 0,void 0,void 0,function*(){let c;const d=a.a.getCache(o.a.fileLists,n),l=yield Y(d,n,`${t}:${s}`);if(l)return c=q(e,l.files,l.nextLink),c;let u;try{if(u=e.api(t).middlewareOptions(Object(i.a)(...r)),s&&u.top(s),c=yield W(e,u),m()){const e=c.nextLink;yield d.putValue(t,{files:c.value.map(e=>JSON.stringify(e)),nextLink:e})}}catch(e){}return c||null}),L=(e,t)=>d(void 0,void 0,void 0,function*(){const n=o.a.fileLists.stores.fileLists;return A(e,"/me/drive/root/children",n,["files.read"],t)}),k=(e,t,n,a)=>d(void 0,void 0,void 0,function*(){const i=`/drives/${t}/items/${n}/children`,r=o.a.fileLists.stores.fileLists;return A(e,i,r,["files.read"],a)}),M=(e,t,n,a)=>d(void 0,void 0,void 0,function*(){const i=`/drives/${t}/root:/${n}:/children`,r=o.a.fileLists.stores.fileLists;return A(e,i,r,["files.read"],a)}),P=(e,t,n,a)=>d(void 0,void 0,void 0,function*(){const i=`/groups/${t}/drive/items/${n}/children`,r=o.a.fileLists.stores.fileLists;return A(e,i,r,["files.read"],a)}),T=(e,t,n,a)=>d(void 0,void 0,void 0,function*(){const i=`/groups/${t}/drive/root:/${n}:/children`,r=o.a.fileLists.stores.fileLists;return A(e,i,r,["files.read"],a)}),U=(e,t,n)=>d(void 0,void 0,void 0,function*(){const a=`/me/drive/items/${t}/children`,i=o.a.fileLists.stores.fileLists;return A(e,a,i,["files.read"],n)}),F=(e,t,n)=>d(void 0,void 0,void 0,function*(){const a=`/me/drive/root:/${t}:/children`,i=o.a.fileLists.stores.fileLists;return A(e,a,i,["files.read"],n)}),H=(e,t,n,a)=>d(void 0,void 0,void 0,function*(){const i=`/sites/${t}/drive/items/${n}/children`,r=o.a.fileLists.stores.fileLists;return A(e,i,r,["files.read"],a)}),R=(e,t,n,a)=>d(void 0,void 0,void 0,function*(){const i=`/sites/${t}/drive/root:/${n}:/children`,r=o.a.fileLists.stores.fileLists;return A(e,i,r,["files.read"],a)}),N=(e,t,n,a)=>d(void 0,void 0,void 0,function*(){const i=`/users/${t}/drive/items/${n}/children`,r=o.a.fileLists.stores.fileLists;return A(e,i,r,["files.read"],a)}),B=(e,t,n,a)=>d(void 0,void 0,void 0,function*(){const i=`/users/${t}/drive/root:/${n}:/children`,r=o.a.fileLists.stores.fileLists;return A(e,i,r,["files.read"],a)}),j=(e,t,n)=>d(void 0,void 0,void 0,function*(){const a=o.a.fileLists.stores.fileLists;return A(e,t,a,["files.read","sites.read.all"],n)}),V=(e,t)=>d(void 0,void 0,void 0,function*(){const n=`/me/insights/${t}`,r=o.a.fileLists.stores.insightfileLists,s=a.a.getCache(o.a.fileLists,r),c=yield Y(s,r,n);if(c)return c.files.map(e=>JSON.parse(e));const d=["sites.read.all"];let l;try{l=yield e.api(n).filter("resourceReference/type eq 'microsoft.graph.driveItem'").middlewareOptions(Object(i.a)(...d)).get()}catch(e){}const u=yield K(e,l,d);return m()&&(yield s.putValue(n,{files:u.map(e=>JSON.stringify(e))})),u||null}),z=(e,t,n)=>d(void 0,void 0,void 0,function*(){let r,s;"shared"===n?(r="/me/insights/shared",s=`((lastshared/sharedby/id eq '${t}') and (resourceReference/type eq 'microsoft.graph.driveItem'))`):(r=`/users/${t}/insights/${n}`,s="resourceReference/type eq 'microsoft.graph.driveItem'");const c=`${r}?$filter=${s}`,d=o.a.fileLists.stores.insightfileLists,l=a.a.getCache(o.a.fileLists,d),u=yield Y(l,d,c);if(u)return u.files.map(e=>JSON.parse(e));const f=["sites.read.all"];let p;try{p=yield e.api(r).filter(s).middlewareOptions(Object(i.a)(...f)).get()}catch(e){}const _=yield K(e,p,f);return m()&&(yield l.putValue(r,{files:_.map(e=>JSON.stringify(e))})),_||null}),G=(e,t)=>d(void 0,void 0,void 0,function*(){if(!t||0===t.length)return[];const n=e.createBatch(),i=[],r=["files.read"];let s,c;p()&&(s=a.a.getCache(o.a.files,o.a.files.stores.fileQueries));for(const e of t)p()&&(c=yield s.getValue(e)),p()&&c&&f()>Date.now()-c.timeCached?i.push(JSON.parse(c.file)):""!==e&&n.get(e,e,r);try{const e=yield n.executeAll();for(const n of t){const t=e.get(n);(null==t?void 0:t.content)&&(i.push(t.content),p()&&(yield s.putValue(n,{file:JSON.stringify(t.content)})))}return i}catch(n){try{return Promise.all(t.filter(e=>e&&""!==e).map(t=>d(void 0,void 0,void 0,function*(){const n=yield _(e,t);if(n)return p()&&(yield s.putValue(t,{file:JSON.stringify(n)})),n})))}catch(e){return[]}}}),K=(e,t,n)=>d(void 0,void 0,void 0,function*(){if(!t)return[];const a=t.value,r=e.createBatch(),o=[];for(const e of a){const t=e.resourceReference.id;""!==t&&r.get(t,t,n)}try{const e=yield r.executeAll();for(const t of a){const n=e.get(t.resourceReference.id);(null==n?void 0:n.content)&&o.push(n.content)}return o}catch(t){try{return Promise.all(a.filter(e=>Boolean(e.resourceReference.id)).map(t=>d(void 0,void 0,void 0,function*(){return yield e.api(t.resourceReference.id).middlewareOptions(Object(i.a)(...n)).get()})))}catch(e){return[]}}}),W=(e,t)=>d(void 0,void 0,void 0,function*(){return r.a.create(e,t)}),q=(e,t,n)=>r.a.createFromValue(e,t.map(e=>JSON.parse(e)),n),Q=(e,t)=>d(void 0,void 0,void 0,function*(){if(p()){const n=yield e.getValue(t);if(n&&f()>Date.now()-n.timeCached)return JSON.parse(n.file)}return null}),Y=(e,t,n)=>d(void 0,void 0,void 0,function*(){if(e||(e=a.a.getCache(o.a.fileLists,t)),m()){const t=yield e.getValue(n);if(t&&(a.a.config.fileLists.invalidationPeriod||a.a.config.defaultInvalidationPeriod)>Date.now()-t.timeCached)return t}return null}),J=e=>d(void 0,void 0,void 0,function*(){const t=e.nextLink;if(e.hasNext&&(yield e.next()),m()){const n=a.a.getCache(o.a.fileLists,o.a.fileLists.stores.fileLists),i=/(graph.microsoft.com\/(v1.0|beta))(.*?)(?=\?)/gi.exec(t)[3];yield n.putValue(i,{files:e.value.map(e=>JSON.stringify(e)),nextLink:t})}}),X=(e,t,n)=>d(void 0,void 0,void 0,function*(){try{const a=yield e.api(t).responseType(s.ResponseType.RAW).middlewareOptions(Object(i.a)(...n)).get();return 404===a.status?{eTag:null,thumbnail:null}:a.ok?{eTag:a.headers.get("eTag"),thumbnail:yield Object(c.a)(yield a.blob())}:null}catch(e){return null}}),Z=(e,t)=>d(void 0,void 0,void 0,function*(){try{return(yield e.api(t).middlewareOptions(Object(i.a)("files.read")).get())||null}catch(e){}return null}),$=(e,t,n)=>d(void 0,void 0,void 0,function*(){try{const a="files.readwrite",r={item:{"@microsoft.graph.conflictBehavior":0===n||null===n?"rename":"replace"}};let o;try{o=yield e.api(t).middlewareOptions(Object(i.a)(a)).post(JSON.stringify(r))}catch(e){}return o||null}catch(e){return null}}),ee=(e,t,n,a,r)=>d(void 0,void 0,void 0,function*(){try{const o="files.readwrite",s={"Content-Length":n,"Content-Range":a};let c;try{c=yield e.client.api(t).middlewareOptions(Object(i.a)(o)).headers(s).put(r)}catch(e){}return c||null}catch(e){return null}}),te=(e,t,n)=>d(void 0,void 0,void 0,function*(){try{const a="files.readwrite";let r;try{r=yield e.client.api(t).middlewareOptions(Object(i.a)(a)).put(n)}catch(e){}return r||null}catch(e){return null}}),ne=(e,t)=>d(void 0,void 0,void 0,function*(){try{yield e.client.api(t).middlewareOptions(Object(i.a)("files.readwrite")).delete()}catch(e){return null}})},"0mOt":function(e,t,n){"use strict";n.d(t,"a",function(){return i}),n.d(t,"b",function(){return r});var a=n("HN6m");const i=e=>`${a.a.prefix}-${e}`,r=(e,t,n)=>{const a=i(e);customElements.get(a)||customElements.define(a,t,n)}},"0q6d":function(e,t,n){"use strict";function a(e,t,n){return isNaN(e)||e<=t?t:e>=n?n:e}function i(e,t,n){return isNaN(e)||e<=t?0:e>=n?1:e/(n-t)}function r(e,t,n){return isNaN(e)?t:t+e*(n-t)}function o(e){return e*(Math.PI/180)}function s(e){return e*(180/Math.PI)}function c(e){const t=Math.round(a(e,0,255)).toString(16);return 1===t.length?"0"+t:t}function d(e,t,n){return isNaN(e)||e<=0?t:e>=1?n:t+e*(n-t)}function l(e,t,n){if(e<=0)return t%360;if(e>=1)return n%360;const a=(t-n+360)%360;return a<=(n-t+360)%360?(t-a*e+360)%360:(t+a*e+360)%360}function u(e,t){const n=Math.pow(10,t);return Math.round(e*n)/n}n.d(t,"a",function(){return a}),n.d(t,"g",function(){return i}),n.d(t,"c",function(){return r}),n.d(t,"b",function(){return o}),n.d(t,"h",function(){return s}),n.d(t,"d",function(){return c}),n.d(t,"e",function(){return d}),n.d(t,"f",function(){return l}),n.d(t,"i",function(){return u}),Math.PI},"1/1t":function(e,t,n){"use strict";n.d(t,"b",function(){return p}),n.d(t,"a",function(){return m});var a=n("qqMp"),i=n("R2TB"),r=n("Yn9m"),o=n("h2QR"),s=n("z0DP"),c=n("C001");const d=[a.b` +:host([hidden]){display:none}:host{display:block;font-family:var(--default-font-family, "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, "BlinkMacSystemFont", "Roboto", "Helvetica Neue", sans-serif);font-size:var(--default-font-size,14px);--theme-primary-color:#0078d7;--theme-dark-color:#005a9e}:focus-visible{outline-color:var(--focus-ring-color,Highlight);outline-color:var(--focus-ring-color,-webkit-focus-ring-color);outline-style:var(--focus-ring-style,auto)}.ms-icon{display:inline-block;font-family:FabricMDL2Icons;font-style:normal;font-weight:400;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:4px 0}.error{background-color:#fde7e9;padding-block:8px;padding-inline:8px 12px}.ms-icon-chevron-down::before{content:"\\\e70d"}.ms-icon-chevron-up::before{content:"\\\e70e"}.ms-icon-contact::before{content:"\\\e77b"}.ms-icon-add-friend::before{content:"\\\e8fa"}.ms-icon-outlook-logo-inverser::before{content:"\\\eb6d"}:host .loading,:host .no-data{margin:0 20px;display:flex;justify-content:center}:host .no-data{font-style:normal;font-weight:600;font-size:14px;color:var(--font-color,#323130);line-height:19px}:host([hidden]){display:none}:host{display:block;font-family:var(--default-font-family, "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, "BlinkMacSystemFont", "Roboto", "Helvetica Neue", sans-serif);font-size:var(--default-font-size,14px);--theme-primary-color:#0078d7;--theme-dark-color:#005a9e}:focus-visible{outline-color:var(--focus-ring-color,Highlight);outline-color:var(--focus-ring-color,-webkit-focus-ring-color);outline-style:var(--focus-ring-style,auto)}.ms-icon{display:inline-block;font-family:FabricMDL2Icons;font-style:normal;font-weight:400;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:4px 0}.error{background-color:#fde7e9;padding-block:8px;padding-inline:8px 12px}.ms-icon-chevron-down::before{content:"\\\e70d"}.ms-icon-chevron-up::before{content:"\\\e70e"}.ms-icon-contact::before{content:"\\\e77b"}.ms-icon-add-friend::before{content:"\\\e8fa"}.ms-icon-outlook-logo-inverser::before{content:"\\\eb6d"}:host{position:relative;user-select:none}:host .root .part{display:grid;grid-template-columns:auto 1fr auto}:host .root .part .part__icon{display:flex;min-width:20px;width:20px;height:20px;align-items:center;justify-content:center;margin-left:20px;margin-top:10px;line-height:20px}:host .root .part .part__icon svg{fill:var(--contact-copy-icon-color,var(--neutral-foreground-hint))}:host .root .part .part__details{margin:10px 14px;overflow:hidden}:host .root .part .part__details .part__title{font-size:12px;color:var(--contact-title-color,var(--neutral-foreground-hint));line-height:16px}:host .root .part .part__details .part__value{grid-column:2;color:var(--contact-value-color,var(--neutral-foreground-rest));font-size:14px;font-weight:400;line-height:19px}:host .root .part .part__details .part__value .part__link{color:var(--contact-link-color,var(--accent-foreground-rest));font-size:14px;cursor:pointer;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;width:100%;display:inline-block}:host .root .part .part__details .part__value .part__link:hover{color:var(--contact-link-hover-color,var(--accent-foreground-hover))}:host .root .part .part__copy{width:32px;height:100%;background-color:var(--contact-background-color,transparent);visibility:hidden;display:flex;align-items:center;justify-content:flex-start}:host .root .part .part__copy svg{fill:var(--contact-copy-icon-color,var(--neutral-foreground-hint));cursor:pointer}:host .root .part:hover .part__copy{visibility:visible}:host .root.compact{padding:0}:host .root.compact .part{height:30px;align-items:center}:host .root.compact .part__details{margin:0}:host .root.compact .part__title{display:none}:host .root.compact .part__icon{margin-top:0;margin-right:6px;margin-bottom:2px}[dir=rtl] .part__link.phone{text-align:right;direction:ltr}[dir=rtl] .part__icon{margin:10px 20px 0 0!important}[dir=rtl].compact .part__icon{margin-left:6px!important;margin-top:0!important}@media (forced-colors:active) and (prefers-color-scheme:dark){.root svg{fill:#fff!important;fill-rule:nonzero!important;clip-rule:nonzero!important}.root svg path,.root svg rect{fill:#fff!important;fill-rule:nonzero!important;clip-rule:nonzero!important}}@media (forced-colors:active) and (prefers-color-scheme:light){.root svg{fill:#000!important;fill-rule:nonzero!important;clip-rule:nonzero!important}.root svg path,.root svg rect{fill:#000!important;fill-rule:nonzero!important;clip-rule:nonzero!important}} +`];var l=n("7Cdu");const u={contactSectionTitle:"Contact",emailTitle:"Email",chatTitle:"Teams",businessPhoneTitle:"Business Phone",cellPhoneTitle:"Mobile Phone",departmentTitle:"Department",titleTitle:"Title",officeLocationTitle:"Office Location",copyToClipboardButton:"Copy to clipboard"};var f=n("0mOt");const p=()=>{Object(f.b)("contact",m)};class m extends c.a{static get styles(){return d}get strings(){return u}get hasData(){return!!this._contactParts&&!!Object.values(this._contactParts).filter(e=>!!e.value).length}constructor(e){var t;super(),this._contactParts={email:{icon:Object(l.b)(l.a.Email),onClick:()=>this.sendEmail(Object(s.e)(this._person)),showCompact:!0,title:this.strings.emailTitle},chat:{icon:Object(l.b)(l.a.Chat),onClick:()=>{var e;return this.sendChat(null===(e=this._person)||void 0===e?void 0:e.userPrincipalName)},showCompact:!1,title:this.strings.chatTitle},businessPhone:{icon:Object(l.b)(l.a.Phone),onClick:()=>{var e,t;return this.sendCall((null===(t=null===(e=this._person)||void 0===e?void 0:e.businessPhones)||void 0===t?void 0:t.length)>0?this._person.businessPhones[0]:null)},showCompact:!0,title:this.strings.businessPhoneTitle},cellPhone:{icon:Object(l.b)(l.a.CellPhone),onClick:()=>{var e;return this.sendCall(null===(e=this._person)||void 0===e?void 0:e.mobilePhone)},showCompact:!0,title:this.strings.cellPhoneTitle},department:{icon:Object(l.b)(l.a.Department),showCompact:!1,title:this.strings.departmentTitle},title:{icon:Object(l.b)(l.a.Person),showCompact:!1,title:this.strings.titleTitle},officeLocation:{icon:Object(l.b)(l.a.OfficeLocation),showCompact:!0,title:this.strings.officeLocationTitle}},this.sendCall=e=>{this.sendLink("tel:",e)},this._person=e,this._contactParts.email.value=Object(s.e)(this._person),this._contactParts.chat.value=this._person.userPrincipalName,this._contactParts.cellPhone.value=this._person.mobilePhone,this._contactParts.department.value=this._person.department,this._contactParts.title.value=this._person.jobTitle,this._contactParts.officeLocation.value=this._person.officeLocation,(null===(t=this._person.businessPhones)||void 0===t?void 0:t.length)&&(this._contactParts.businessPhone.value=this._person.businessPhones[0])}get displayName(){return this.strings.contactSectionTitle}get cardTitle(){return this.strings.contactSectionTitle}renderIcon(){return Object(l.b)(l.a.Contact)}clearState(){super.clearState();for(const e of Object.keys(this._contactParts))this._contactParts[e].value=null}renderCompactView(){if(!this.hasData)return null;const e=Object.values(this._contactParts).filter(e=>!!e.value);let t=Object.values(e).filter(e=>!!e.value&&e.showCompact);(null==t?void 0:t.length)||(t=Object.values(e).slice(0,2));const n=a.c` + ${t.map(e=>this.renderContactPart(e))} + `;return a.c` +
+ ${n} +
+ `}renderFullView(){let e;if(this.hasData){const t=Object.values(this._contactParts).filter(e=>!!e.value);e=a.c` + ${t.map(e=>this.renderContactPart(e))} + `}return a.c` +
+ ${e} +
+ `}renderContactPart(e){let t=!1;"Mobile Phone"!==e.title&&"Business Phone"!==e.title||(t=!0);const n={part__link:!0,phone:t},i=e.onClick?a.c` + e.onClick(t)}>${e.value} + `:a.c` + ${e.value} + `;return a.c` +
this.handlePartClick(t,e.value)} tabindex="0"> +
${e.icon}
+
+
${e.title}
+
${i}
+
+
+ ${Object(l.b)(l.a.Copy)} +
+
+ `}handlePartClick(e,t){t&&navigator.clipboard.writeText(t)}sendLink(e,t){t?window.open(`${e}${t}`,"_blank","noreferrer"):Object(i.a)(`Target resource for ${e} link was not provided: resource: ${t}`)}sendChat(e){if(!e)return void Object(i.a)(" Can't send chat when upn is not provided");const t=`https://teams.microsoft.com/l/chat/0/0?users=${e}`,n=()=>window.open(t,"_blank","noreferrer");r.a.isAvailable?r.a.executeDeepLink(t,e=>{e||n()}):n()}sendEmail(e){this.sendLink("mailto:",e)}}},"2i1/":function(e,t,n){"use strict";n.d(t,"a",function(){return a});const a="not-allowed"},"2oY9":function(e,t,n){"use strict";n.d(t,"a",function(){return a});const a="3.1.3"},"3ATu":function(e,t,n){"use strict";n.d(t,"b",function(){return d}),n.d(t,"a",function(){return l});var a=n("qqMp"),i=n("C001"),r=n("7Cdu");const o=[a.b` +:host([hidden]){display:none}:host{display:block;font-family:var(--default-font-family, "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, "BlinkMacSystemFont", "Roboto", "Helvetica Neue", sans-serif);font-size:var(--default-font-size,14px);--theme-primary-color:#0078d7;--theme-dark-color:#005a9e}:focus-visible{outline-color:var(--focus-ring-color,Highlight);outline-color:var(--focus-ring-color,-webkit-focus-ring-color);outline-style:var(--focus-ring-style,auto)}.ms-icon{display:inline-block;font-family:FabricMDL2Icons;font-style:normal;font-weight:400;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:4px 0}.error{background-color:#fde7e9;padding-block:8px;padding-inline:8px 12px}.ms-icon-chevron-down::before{content:"\\\e70d"}.ms-icon-chevron-up::before{content:"\\\e70e"}.ms-icon-contact::before{content:"\\\e77b"}.ms-icon-add-friend::before{content:"\\\e8fa"}.ms-icon-outlook-logo-inverser::before{content:"\\\eb6d"}:host .loading,:host .no-data{margin:0 20px;display:flex;justify-content:center}:host .no-data{font-style:normal;font-weight:600;font-size:14px;color:var(--font-color,#323130);line-height:19px}:host([hidden]){display:none}:host{display:block;font-family:var(--default-font-family, "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, "BlinkMacSystemFont", "Roboto", "Helvetica Neue", sans-serif);font-size:var(--default-font-size,14px);--theme-primary-color:#0078d7;--theme-dark-color:#005a9e}:focus-visible{outline-color:var(--focus-ring-color,Highlight);outline-color:var(--focus-ring-color,-webkit-focus-ring-color);outline-style:var(--focus-ring-style,auto)}.ms-icon{display:inline-block;font-family:FabricMDL2Icons;font-style:normal;font-weight:400;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:4px 0}.error{background-color:#fde7e9;padding-block:8px;padding-inline:8px 12px}.ms-icon-chevron-down::before{content:"\\\e70d"}.ms-icon-chevron-up::before{content:"\\\e70e"}.ms-icon-contact::before{content:"\\\e77b"}.ms-icon-add-friend::before{content:"\\\e8fa"}.ms-icon-outlook-logo-inverser::before{content:"\\\eb6d"}:host{position:relative;user-select:none;background-color:var(--profile-background-color,--neutral-layer-1)}:host .root{padding:20px 0}:host .root.compact{padding:0}:host .root .title{font-size:14px;font-weight:600;color:var(--profile-title-color,var(--neutral-foreground-rest));margin:0 20px 12px}:host .root section{margin-bottom:24px;padding:0 20px}:host .root section:last-child{margin:0}:host .root section .section__title{font-size:14px;color:var(--profile-section-title-color,var(--neutral-foreground-hint))}:host .root section .section__content{display:flex;flex-direction:column;margin-top:10px}:host .root .token-list{display:flex;flex-flow:row wrap;margin-top:-10px}:host .root .token-list .token-list__item{text-overflow:ellipsis;white-space:nowrap;display:inline-block;overflow:hidden;font-size:14px;align-items:center;background:var(--profile-token-item-background-color,var(--neutral-fill-secondary-rest));border-radius:2px;max-height:28px;padding:4px 8px;margin-right:10px;margin-top:10px;color:var(--profile-token-item-color,var(--neutral-foreground-rest))}:host .root .token-list .token-list__item:last-child{margin-right:initial}:host .root .token-list .token-list__item.overflow{display:none}:host .root .token-list .token-list__item.token-list__item--show-overflow{cursor:pointer;user-select:unset;background:0 0;color:var(--profile-token-overflow-color,var(--accent-foreground-rest))}:host .root .data-list__item{margin-bottom:20px}:host .root .data-list__item:last-child{margin-bottom:initial}:host .root .data-list__item .data-list__item__header{display:flex;justify-content:space-between;align-items:center}:host .root .data-list__item .data-list__item__content{font-size:12px;line-height:16px;color:var(--profile-section-title-color,var(--neutral-foreground-hint));margin-top:4px}:host .root .data-list__item .data-list__item__title{font-size:14px;line-height:16px;color:var(--profile-title-color,var(--neutral-foreground-rest))}:host .root .data-list__item .data-list__item__date-range{color:var(--profile-section-title-color,var(--neutral-foreground-hint));font-size:10px;line-height:12px}:host .root .language__proficiency{opacity:.77}:host .root .work-position .work-position__company{color:#023b8f}:host .root .work-position .work-position__location{font-size:10px;color:var(--profile-section-title-color,var(--neutral-foreground-hint));line-height:16px}:host .root .educational-activity .educational-activity__degree{font-size:12px;line-height:14px;color:var(--profile-section-title-color,var(--neutral-foreground-hint))}:host .root .birthday{display:flex;align-items:center;margin-top:-6px}:host .root .birthday .birthday__icon{margin-right:8px}:host .root .birthday .birthday__date{font-size:12px;color:var(--profile-title-color,var(--neutral-foreground-rest))}[dir=rtl] .token-list__item{margin-right:0!important} +`],s={SkillsAndExperienceSectionTitle:"Skills & Experience",AboutCompactSectionTitle:"About",SkillsSubSectionTitle:"Skills",LanguagesSubSectionTitle:"Languages",WorkExperienceSubSectionTitle:"Work Experience",EducationSubSectionTitle:"Education",professionalInterestsSubSectionTitle:"Professional Interests",personalInterestsSubSectionTitle:"Personal Interests",birthdaySubSectionTitle:"Birthday",currentYearSubtitle:"Current",socialMediaSubSectionTitle:"Social Media"};var c=n("0mOt");const d=()=>Object(c.b)("profile",l);class l extends i.a{static get styles(){return o}get strings(){return s}get displayName(){return this.strings.SkillsAndExperienceSectionTitle}get cardTitle(){return this.strings.AboutCompactSectionTitle}get hasData(){var e,t;if(!this.profile)return!1;const{languages:n,skills:a,positions:i,educationalActivities:r}=this.profile;return[this._birthdayAnniversary,null===(e=this._personalInterests)||void 0===e?void 0:e.length,null===(t=this._professionalInterests)||void 0===t?void 0:t.length,null==n?void 0:n.length,null==a?void 0:a.length,null==i?void 0:i.length,null==r?void 0:r.length].filter(e=>!!e).length>0}get profile(){return this._profile}set profile(e){e!==this._profile&&(this._profile=e,this._birthdayAnniversary=(null==e?void 0:e.anniversaries)?e.anniversaries.find(this.isBirthdayAnniversary):null,this._personalInterests=(null==e?void 0:e.interests)?e.interests.filter(this.isPersonalInterest):null,this._professionalInterests=(null==e?void 0:e.interests)?e.interests.filter(this.isProfessionalInterest):null)}constructor(e){super(),this.isPersonalInterest=e=>{var t;return null===(t=e.categories)||void 0===t?void 0:t.includes("personal")},this.isProfessionalInterest=e=>{var t;return null===(t=e.categories)||void 0===t?void 0:t.includes("professional")},this.isBirthdayAnniversary=e=>"birthday"===e.type,this.profile=e}renderIcon(){return Object(r.b)(r.a.Profile)}clearState(){super.clearState(),this.profile=null}renderCompactView(){return a.c` +
+ ${this.renderSubSections().slice(0,2)} +
+ `}renderFullView(){return this.initPostRenderOperations(),a.c` +
+ ${this.renderSubSections()} +
+ `}renderSubSections(){return[this.renderSkills(),this.renderBirthday(),this.renderLanguages(),this.renderWorkExperience(),this.renderEducation(),this.renderProfessionalInterests(),this.renderPersonalInterests()].filter(e=>!!e)}renderLanguages(){var e;const{languages:t}=this._profile;if(!(null==t?void 0:t.length))return null;const n=[];for(const i of t){let t=null;(null===(e=i.proficiency)||void 0===e?void 0:e.length)&&(t=a.c` + +  (${i.proficiency}) + + `),n.push(a.c` +
+ ${i.displayName} + ${t} +
+ `)}const i=n.length?this.strings.LanguagesSubSectionTitle:"";return a.c` +
+
${i}
+
+
+ ${n} +
+
+
+ `}renderSkills(){const{skills:e}=this._profile;if(!(null==e?void 0:e.length))return null;const t=[];for(const n of e)t.push(a.c` +
+ ${n.displayName} +
+ `);const n=t.length?this.strings.SkillsSubSectionTitle:"";return a.c` +
+
${n}
+
+
+ ${t} +
+
+
+ `}renderWorkExperience(){var e,t,n,i,r;const{positions:o}=this._profile;if(!(null==o?void 0:o.length))return null;const s=[];for(const o of this._profile.positions)(o.detail.description||""!==o.detail.jobTitle)&&s.push(a.c` +
+
+
${null===(e=o.detail)||void 0===e?void 0:e.jobTitle}
+
+ ${this.getDisplayDateRange(o.detail)} +
+
+
+
+ ${null===(n=null===(t=null==o?void 0:o.detail)||void 0===t?void 0:t.company)||void 0===n?void 0:n.displayName} +
+
+ ${this.displayLocation(null===(r=null===(i=null==o?void 0:o.detail)||void 0===i?void 0:i.company)||void 0===r?void 0:r.address)} +
+
+
+ `);const c=s.length?this.strings.WorkExperienceSubSectionTitle:"";return a.c` +
+
${c}
+
+
+ ${s} +
+
+
+ `}renderEducation(){const{educationalActivities:e}=this._profile;if(!(null==e?void 0:e.length))return null;const t=[];for(const n of e)t.push(a.c` +
+
+
${n.institution.displayName}
+
+ ${this.getDisplayDateRange(n)} +
+
+ ${n.program.displayName?a.c`
+
+ ${n.program.displayName} +
`:a.d} +
+ `);const n=t.length?this.strings.EducationSubSectionTitle:"";return a.c` +
+
${n}
+
+
+ ${t} +
+
+
+ `}renderProfessionalInterests(){var e;if(!(null===(e=this._professionalInterests)||void 0===e?void 0:e.length))return null;const t=[];for(const e of this._professionalInterests)t.push(a.c` +
+ ${e.displayName} +
+ `);const n=t.length?this.strings.professionalInterestsSubSectionTitle:"";return a.c` +
+
${n}
+
+
+ ${t} +
+
+
+ `}renderPersonalInterests(){var e;if(!(null===(e=this._personalInterests)||void 0===e?void 0:e.length))return null;const t=[];for(const e of this._personalInterests)t.push(a.c` +
+ ${e.displayName} +
+ `);const n=t.length?this.strings.personalInterestsSubSectionTitle:"";return a.c` +
+
${n}
+
+
+ ${t} +
+
+
+ `}renderBirthday(){var e;return(null===(e=this._birthdayAnniversary)||void 0===e?void 0:e.date)?a.c` +
+
Birthday
+
+
+
+ ${Object(r.b)(r.a.Birthday)} +
+
+ ${this.getDisplayDate(new Date(this._birthdayAnniversary.date))} +
+
+
+
+ `:null}getDisplayDate(e){return e.toLocaleString("default",{day:"numeric",month:"long"})}getDisplayDateRange(e){if(!e.startMonthYear)return a.d;const t=new Date(e.startMonthYear).getFullYear();return 0===t||1===t?a.d:`${t} — ${e.endMonthYear?new Date(e.endMonthYear).getFullYear():this.strings.currentYearSubtitle}`}displayLocation(e){return(null==e?void 0:e.city)?e.state?`${e.city}, ${e.state}`:e.city:a.d}initPostRenderOperations(){setTimeout(()=>{try{this.shadowRoot.querySelectorAll("section").forEach(e=>{this.handleTokenOverflow(e)})}catch(e){}},0)}handleTokenOverflow(e){const t=e.querySelectorAll(".token-list");if(null==t?void 0:t.length)for(const e of Array.from(t)){const t=e.querySelectorAll(".token-list__item");if(!(null==t?void 0:t.length))continue;let n=null,a=t[0].getBoundingClientRect();const i=e.getBoundingClientRect(),r=2*a.height+i.top;for(let e=0;er){n=Array.from(t).slice(e,t.length);break}if(n){n.forEach(e=>e.classList.add("overflow"));const t=document.createElement("div");t.classList.add("token-list__item"),t.classList.add("token-list__item--show-overflow"),t.tabIndex=0,t.innerText=`+ ${n.length} more`;const a=()=>{t.remove(),n.forEach(e=>e.classList.remove("overflow"))};t.addEventListener("click",()=>{a()}),t.addEventListener("keydown",e=>{"Enter"===e.code&&a()}),e.appendChild(t)}}}}},"3rEL":function(e,t,n){"use strict";function a(e,t,n,a){var i,r=arguments.length,o=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,a);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o}n.d(t,"a",function(){return a}),Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError},"4Eu1":function(e,t,n){"use strict";n.d(t,"a",function(){return a});class a{}},"4X57":function(e,t,n){"use strict";n.d(t,"a",function(){return o}),n.d(t,"b",function(){return c});var a=n("olMv"),i=n("+yEz");function r(e,t){const n=[];let r="";const o=[];for(let s=0,c=e.length-1;s("string"==typeof t?this.css+=t:e.push(t),e),[]);n.length&&(this.styles=i.a.create(n))}createBehavior(){return this}createCSS(){return this.css}bind(e){this.styles&&e.$fastController.addStyles(this.styles),this.behaviors.length&&e.$fastController.addBehaviors(this.behaviors)}unbind(e){this.styles&&e.$fastController.removeStyles(this.styles),this.behaviors.length&&e.$fastController.removeBehaviors(this.behaviors)}}function c(e,...t){const{styles:n,behaviors:a}=r(e,t);return new s(n,a)}},"4gKT":function(e,t,n){"use strict";n.d(t,"a",function(){return s}),n.d(t,"b",function(){return c});var a=n("+yEz"),i=n("q5bN");function r(e){return`${e.toLowerCase()}:presentation`}const o=new Map,s=Object.freeze({define(e,t,n){const a=r(e);void 0===o.get(a)?o.set(a,t):o.set(a,!1),n.register(i.b.instance(a,t))},forTag(e,t){const n=r(e),a=o.get(n);return!1===a?i.a.findResponsibleContainer(t).get(n):a||null}});class c{constructor(e,t){this.template=e||null,this.styles=void 0===t?null:Array.isArray(t)?a.a.create(t):t instanceof a.a?t:a.a.create([t])}applyTo(e){const t=e.$fastController;null===t.template&&(t.template=this.template),null===t.styles&&(t.styles=this.styles)}}},"57ob":function(e,t,n){"use strict";n.d(t,"a",function(){return r});var a=n("oePG");class i{constructor(e,t,n){this.propertyName=e,this.value=t,this.styles=n}bind(e){a.b.getNotifier(e).subscribe(this,this.propertyName),this.handleChange(e,this.propertyName)}unbind(e){a.b.getNotifier(e).unsubscribe(this,this.propertyName),e.$fastController.removeStyles(this.styles)}handleChange(e,t){e[t]===this.value?e.$fastController.addStyles(this.styles):e.$fastController.removeStyles(this.styles)}}function r(e,t){return new i("appearance",e,t)}},"5ZAu":function(e,t,n){"use strict";n.d(t,"c",function(){return c}),n.d(t,"b",function(){return d}),n.d(t,"a",function(){return l});var a=n("oZuh");const i=a.a.FAST.getById(1,()=>{const e=[],t=[];function n(){if(t.length)throw t.shift()}function i(e){try{e.call()}catch(e){t.push(e),setTimeout(n,0)}}function r(){let t=0;for(;t1024){for(let n=0,a=e.length-t;ne});let o=r;const s=`fast-${Math.random().toString(36).substring(2,8)}`,c=`${s}{`,d=`}${s}`,l=Object.freeze({supportsAdoptedStyleSheets:Array.isArray(document.adoptedStyleSheets)&&"replace"in CSSStyleSheet.prototype,setHTMLPolicy(e){if(o!==r)throw new Error("The HTML policy can only be set once.");o=e},createHTML:e=>o.createHTML(e),isMarker:e=>e&&8===e.nodeType&&e.data.startsWith(s),extractDirectiveIndexFromMarker:e=>parseInt(e.data.replace(`${s}:`,"")),createInterpolationPlaceholder:e=>`${c}${e}${d}`,createCustomAttributePlaceholder(e,t){return`${e}="${this.createInterpolationPlaceholder(t)}"`},createBlockPlaceholder:e=>`\x3c!--${s}:${e}--\x3e`,queueUpdate:i.enqueue,processUpdates:i.process,nextUpdate:()=>new Promise(i.enqueue),setAttribute(e,t,n){null==n?e.removeAttribute(t):e.setAttribute(t,n)},setBooleanAttribute(e,t,n){n?e.setAttribute(t,""):e.removeAttribute(t)},removeChildNodes(e){for(let t=e.firstChild;null!==t;t=e.firstChild)e.removeChild(t)},createTemplateWalker:e=>document.createTreeWalker(e,133,null,!1)})},"5rba":function(e,t,n){"use strict";var a;n.d(t,"a",function(){return j}),n.d(t,"b",function(){return C}),n.d(t,"c",function(){return O}),n.d(t,"d",function(){return w}),n.d(t,"e",function(){return z});const i=globalThis,r=i.trustedTypes,o=r?r.createPolicy("lit-html",{createHTML:e=>e}):void 0,s="$lit$",c=`lit$${(Math.random()+"").slice(9)}$`,d="?"+c,l=`<${d}>`,u=document,f=()=>u.createComment(""),p=e=>null===e||"object"!=typeof e&&"function"!=typeof e,m=Array.isArray,_=e=>m(e)||"function"==typeof(null==e?void 0:e[Symbol.iterator]),h="[ \t\n\f\r]",b=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,g=/-->/g,v=/>/g,y=RegExp(`>|${h}(?:([^\\s"'>=/]+)(${h}*=${h}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),S=/'/g,D=/"/g,I=/^(?:script|style|textarea|title)$/i,x=e=>(t,...n)=>({_$litType$:e,strings:t,values:n}),C=x(1),O=(x(2),Symbol.for("lit-noChange")),w=Symbol.for("lit-nothing"),E=new WeakMap,A=u.createTreeWalker(u,129);function L(e,t){if(!Array.isArray(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==o?o.createHTML(t):t}const k=(e,t)=>{const n=e.length-1,a=[];let i,r=2===t?"":"",o=b;for(let t=0;t"===f[0]?(o=null!==(d=i)&&void 0!==d?d:b,p=-1):void 0===f[1]?p=-2:(p=o.lastIndex-f[2].length,u=f[1],o=void 0===f[3]?y:'"'===f[3]?D:S):o===D||o===S?o=y:o===g||o===v?o=b:(o=y,i=void 0)}const _=o===y&&e[t+1].startsWith("/>")?" ":"";r+=o===b?n+l:p>=0?(a.push(u),n.slice(0,p)+s+n.slice(p)+c+_):n+c+(-2===p?t:_)}return[L(e,r+(e[n]||"")+(2===t?"":"")),a]};class M{constructor({strings:e,_$litType$:t},n){let a;this.parts=[];let i=0,o=0;const l=e.length-1,u=this.parts,[p,m]=k(e,t);if(this.el=M.createElement(p,n),A.currentNode=this.el.content,2===t){const e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;null!==(a=A.nextNode())&&u.length0){a.textContent=r?r.emptyScript:"";for(let n=0;n2||""!==n[0]||""!==n[1]?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=w}_$AI(e,t=this,n,a){const i=this.strings;let r=!1;if(void 0===i)e=P(this,e,t,0),r=!p(e)||e!==this._$AH&&e!==O,r&&(this._$AH=e);else{const a=e;let s,c;for(e=i[0],s=0;s{var a;const i=null!==(a=null==n?void 0:n.renderBefore)&&void 0!==a?a:t;let r=i._$litPart$;if(void 0===r){var o;const e=null!==(o=null==n?void 0:n.renderBefore)&&void 0!==o?o:null;i._$litPart$=r=new U(t.insertBefore(f(),e),e,void 0,null!=n?n:{})}return r._$AI(e),r}},"6BDD":function(e,t,n){"use strict";n.d(t,"a",function(){return E});var a=n("5ZAu"),i=n("oePG"),r=n("/w5G");function o(e,t){this.source=e,this.context=t,null===this.bindingObserver&&(this.bindingObserver=i.b.binding(this.binding,this,this.isBindingVolatile)),this.updateTarget(this.bindingObserver.observe(e,t))}function s(e,t){this.source=e,this.context=t,this.target.addEventListener(this.targetName,this)}function c(){this.bindingObserver.disconnect(),this.source=null,this.context=null}function d(){this.bindingObserver.disconnect(),this.source=null,this.context=null;const e=this.target.$fastView;void 0!==e&&e.isComposed&&(e.unbind(),e.needsBindOnly=!0)}function l(){this.target.removeEventListener(this.targetName,this),this.source=null,this.context=null}function u(e){a.a.setAttribute(this.target,this.targetName,e)}function f(e){a.a.setBooleanAttribute(this.target,this.targetName,e)}function p(e){if(null==e&&(e=""),e.create){this.target.textContent="";let t=this.target.$fastView;void 0===t?t=e.create():this.target.$fastTemplate!==e&&(t.isComposed&&(t.remove(),t.unbind()),t=e.create()),t.isComposed?t.needsBindOnly&&(t.needsBindOnly=!1,t.bind(this.source,this.context)):(t.isComposed=!0,t.bind(this.source,this.context),t.insertBefore(this.target),this.target.$fastView=t,this.target.$fastTemplate=e)}else{const t=this.target.$fastView;void 0!==t&&t.isComposed&&(t.isComposed=!1,t.remove(),t.needsBindOnly?t.needsBindOnly=!1:t.unbind()),this.target.textContent=e}}function m(e){this.target[this.targetName]=e}function _(e){const t=this.classVersions||Object.create(null),n=this.target;let a=this.version||0;if(null!=e&&e.length){const i=e.split(/\s+/);for(let e=0,r=i.length;ea.a.createHTML(e(t,n))}break;case"?":this.cleanedTargetName=e.substr(1),this.updateTarget=f;break;case"@":this.cleanedTargetName=e.substr(1),this.bind=s,this.unbind=l;break;default:this.cleanedTargetName=e,"class"===e&&(this.updateTarget=_)}}targetAtContent(){this.updateTarget=p,this.unbind=d}createBehavior(e){return new b(e,this.binding,this.isBindingVolatile,this.bind,this.unbind,this.updateTarget,this.cleanedTargetName)}}class b{constructor(e,t,n,a,i,r,o){this.source=null,this.context=null,this.bindingObserver=null,this.target=e,this.binding=t,this.isBindingVolatile=n,this.bind=a,this.unbind=i,this.updateTarget=r,this.targetName=o}handleChange(){this.updateTarget(this.bindingObserver.observe(this.source,this.context))}handleEvent(e){i.a.setEvent(e);const t=this.binding(this.source,this.context);i.a.setEvent(null),!0!==t&&e.preventDefault()}}let g=null;class v{addFactory(e){e.targetIndex=this.targetIndex,this.behaviorFactories.push(e)}captureContentBinding(e){e.targetAtContent(),this.addFactory(e)}reset(){this.behaviorFactories=[],this.targetIndex=-1}release(){g=this}static borrow(e){const t=g||new v;return t.directives=e,t.reset(),g=null,t}}function y(e){if(1===e.length)return e[0];let t;const n=e.length,a=e.map(e=>"string"==typeof e?()=>e:(t=e.targetName||t,e.binding)),i=new h((e,t)=>{let i="";for(let r=0;rs),d.targetName=o.name):d=y(c),null!==d&&(t.removeAttributeNode(o),i--,r--,e.addFactory(d))}}function x(e,t,n){const a=D(e,t.textContent);if(null!==a){let i=t;for(let r=0,o=a.length;r0}const t=this.fragment.cloneNode(!0),n=this.viewBehaviorFactories,i=new Array(this.behaviorCount),r=a.a.createTemplateWalker(t);let o=0,s=this.targetOffset,c=r.nextNode();for(let e=n.length;o=/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/;function E(e,...t){const n=[];let a="";for(let i=0,o=e.length-1;ie}if("function"==typeof s&&(s=new h(s)),s instanceof r.c){const e=w.exec(o);null!==e&&(s.targetName=e[2])}s instanceof r.b?(a+=s.createPlaceholder(n.length),n.push(s)):a+=s}return a+=e[e.length-1],new O(a,n)}},"6eT7":function(e,t,n){"use strict";n.d(t,"a",function(){return i});var a=n("0q6d");class i{constructor(e,t,n,a){this.r=e,this.g=t,this.b=n,this.a="number"!=typeof a||isNaN(a)?1:a}static fromObject(e){return!e||isNaN(e.r)||isNaN(e.g)||isNaN(e.b)?null:new i(e.r,e.g,e.b,e.a)}equalValue(e){return this.r===e.r&&this.g===e.g&&this.b===e.b&&this.a===e.a}toStringHexRGB(){return"#"+[this.r,this.g,this.b].map(this.formatHexValue).join("")}toStringHexRGBA(){return this.toStringHexRGB()+this.formatHexValue(this.a)}toStringHexARGB(){return"#"+[this.a,this.r,this.g,this.b].map(this.formatHexValue).join("")}toStringWebRGB(){return`rgb(${Math.round(Object(a.c)(this.r,0,255))},${Math.round(Object(a.c)(this.g,0,255))},${Math.round(Object(a.c)(this.b,0,255))})`}toStringWebRGBA(){return`rgba(${Math.round(Object(a.c)(this.r,0,255))},${Math.round(Object(a.c)(this.g,0,255))},${Math.round(Object(a.c)(this.b,0,255))},${Object(a.a)(this.a,0,1)})`}roundToPrecision(e){return new i(Object(a.i)(this.r,e),Object(a.i)(this.g,e),Object(a.i)(this.b,e),Object(a.i)(this.a,e))}clamp(){return new i(Object(a.a)(this.r,0,1),Object(a.a)(this.g,0,1),Object(a.a)(this.b,0,1),Object(a.a)(this.a,0,1))}toObject(){return{r:this.r,g:this.g,b:this.b,a:this.a}}formatHexValue(e){return Object(a.d)(Object(a.c)(e,0,255))}}},"6fxl":function(e,t,n){"use strict";n.d(t,"a",function(){return i});var a=n("QBS5");function i(e,...t){const n=a.a.locate(e);t.forEach(t=>{Object.getOwnPropertyNames(t.prototype).forEach(n=>{"constructor"!==n&&Object.defineProperty(e.prototype,n,Object.getOwnPropertyDescriptor(t.prototype,n))}),a.a.locate(t).forEach(e=>n.push(e))})}},"6gCt":function(e,t,n){"use strict";function a(e,t,n){return e.nodeType!==Node.TEXT_NODE||"string"==typeof e.nodeValue&&!!e.nodeValue.trim().length}n.d(t,"a",function(){return a})},"6vBc":function(e,t,n){"use strict";n.d(t,"a",function(){return o});const a=e=>"function"==typeof e,i=()=>null;function r(e){return void 0===e?i:a(e)?e:()=>e}function o(e,t,n){const i=a(e)?e:()=>e,o=r(t),s=r(n);return(e,t)=>i(e,t)?o(e,t):s(e,t)}},"7Cdu":function(e,t,n){"use strict";n.d(t,"a",function(){return a}),n.d(t,"b",function(){return r});var a,i=n("qqMp");!function(e){e[e.ArrowDown=0]="ArrowDown",e[e.TeamSeparator=1]="TeamSeparator",e[e.Search=2]="Search",e[e.SkypeArrow=3]="SkypeArrow",e[e.SmallEmail=4]="SmallEmail",e[e.SmallEmailHovered=5]="SmallEmailHovered",e[e.SmallChat=6]="SmallChat",e[e.SmallChatHovered=7]="SmallChatHovered",e[e.Video=8]="Video",e[e.VideoHovered=9]="VideoHovered",e[e.ExpandDown=10]="ExpandDown",e[e.Overview=11]="Overview",e[e.Send=12]="Send",e[e.Contact=13]="Contact",e[e.Copy=14]="Copy",e[e.Phone=15]="Phone",e[e.CellPhone=16]="CellPhone",e[e.Chat=17]="Chat",e[e.Call=18]="Call",e[e.CallHovered=19]="CallHovered",e[e.Confirmation=20]="Confirmation",e[e.Department=21]="Department",e[e.Email=22]="Email",e[e.OfficeLocation=23]="OfficeLocation",e[e.Person=24]="Person",e[e.Messages=25]="Messages",e[e.Organization=26]="Organization",e[e.ExpandRight=27]="ExpandRight",e[e.Profile=28]="Profile",e[e.Birthday=29]="Birthday",e[e.File=30]="File",e[e.Files=31]="Files",e[e.Back=32]="Back",e[e.Close=33]="Close",e[e.Upload=34]="Upload",e[e.FileCloud=35]="FileCloud",e[e.DragFile=36]="DragFile",e[e.Cancel=37]="Cancel",e[e.CheckMark=38]="CheckMark",e[e.Success=39]="Success",e[e.Fail=40]="Fail",e[e.SelectAccount=41]="SelectAccount",e[e.News=42]="News",e[e.DoubleBookmark=43]="DoubleBookmark",e[e.ChevronLeft=44]="ChevronLeft",e[e.ChevronRight=45]="ChevronRight",e[e.Event=46]="Event",e[e.BookOpen=47]="BookOpen",e[e.FileOuter=48]="FileOuter",e[e.BookQuestion=49]="BookQuestion",e[e.Globe=50]="Globe",e[e.Delete=51]="Delete",e[e.Add=52]="Add",e[e.Calendar=53]="Calendar",e[e.Planner=54]="Planner",e[e.Milestone=55]="Milestone",e[e.PersonAdd=56]="PersonAdd",e[e.PresenceAvailable=57]="PresenceAvailable",e[e.PresenceOofAvailable=58]="PresenceOofAvailable",e[e.PresenceBusy=59]="PresenceBusy",e[e.PresenceOofBusy=60]="PresenceOofBusy",e[e.PresenceDnd=61]="PresenceDnd",e[e.PresenceOofDnd=62]="PresenceOofDnd",e[e.PresenceAway=63]="PresenceAway",e[e.PresenceOofAway=64]="PresenceOofAway",e[e.PresenceOffline=65]="PresenceOffline",e[e.PresenceStatusUnknown=66]="PresenceStatusUnknown",e[e.Loading=67]="Loading"}(a||(a={}));const r=(e,t)=>{switch(e){case a.ArrowDown:return i.c` + + + + `;case a.TeamSeparator:return i.c` + + + + `;case a.Search:return i.c` + + + `;case a.SkypeArrow:return i.c` + + + + `;case a.SmallEmail:return i.c` + + + + + `;case a.SmallChat:return i.c` + + + + + `;case a.Video:return i.c` + + + + + `;case a.ExpandDown:return i.c` + + + + `;case a.Overview:return i.c` + + + + `;case a.Send:return i.c` + + + + `;case a.Contact:return i.c` + + + + `;case a.Call:return i.c` + + + + + `;case a.Confirmation:return i.c` + + + + `;case a.Copy:return i.c` + + + + `;case a.Phone:return i.c` + + + + `;case a.CellPhone:return i.c` + + + + `;case a.Chat:return i.c` + + + + `;case a.Department:return i.c` + + + + `;case a.Email:return i.c` + + + + `;case a.OfficeLocation:return i.c` + + Location icon + + + `;case a.Birthday:return i.c` + + + + `;case a.Person:return i.c` + + + + `;case a.Messages:return i.c` + + + + `;case a.Organization:return i.c` + + + + `;case a.ExpandRight:return i.c` + + + + `;case a.Profile:return i.c` + + + + `;case a.File:return i.c` + + + + + + `;case a.Files:return i.c` + + + + `;case a.Back:return i.c` + + + + `;case a.Close:return i.c` + + + + `;case a.Upload:return i.c` + + + + `;case a.FileCloud:return i.c` + + + + `;case a.DragFile:return i.c` + + + + `;case a.Cancel:return i.c` + + + + `;case a.Success:return i.c` + + + + + `;case a.CheckMark:return i.c` + + + + + `;case a.Fail:return i.c` + + + + + `;case a.SelectAccount:return i.c` + + + + `;case a.News:return i.c` + + `;case a.DoubleBookmark:return i.c` + + `;case a.ChevronLeft:return i.c` + `;case a.ChevronRight:return i.c` + `;case a.Delete:return i.c` + + + + `;case a.Add:return i.c` + + + `;case a.Calendar:return i.c` + + + + `;case a.Planner:return i.c` + + + `;case a.Milestone:return i.c` + + + `;case a.PersonAdd:return i.c` + + + + + `;case a.Event:return i.c` + + `;case a.BookOpen:return i.c` + + `;case a.FileOuter:return i.c` + + `;case a.BookQuestion:return i.c` + + `;case a.Globe:return i.c` + + `;case a.PresenceAvailable:return i.c` + `;case a.PresenceOofAvailable:return i.c` + `;case a.PresenceBusy:return i.c` + `;case a.PresenceOofBusy:return i.c` + + `;case a.PresenceDnd:return i.c` + `;case a.PresenceOofDnd:return i.c` + `;case a.PresenceAway:return i.c` + `;case a.PresenceOofAway:return i.c` + `;case a.PresenceOffline:return i.c` + `;case a.PresenceStatusUnknown:return i.c` + `;case a.Loading:return i.c` + `}}},"7SX6":function(e,t,n){"use strict";n.d(t,"b",function(){return M}),n.d(t,"c",function(){return P}),n.d(t,"a",function(){return T});var a=n("Y1A4"),i=n("HN6m"),r=n("cBsD"),o=n("zFbe"),s=n("/i08"),c=n("qqMp"),d=n("ZgG/"),l=n("h2QR"),u=n("z0DP"),f=n("glp4"),p=n("zlIh"),m=n("s9K1"),_=n("hgjj"),h=n("ZzBS"),b=n("7Cdu"),g=n("c1DA"),v=n("zCAG");const y=[c.b` +:host([hidden]){display:none}:host{display:block;font-family:var(--default-font-family, "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, "BlinkMacSystemFont", "Roboto", "Helvetica Neue", sans-serif);font-size:var(--default-font-size,14px);--theme-primary-color:#0078d7;--theme-dark-color:#005a9e}:focus-visible{outline-color:var(--focus-ring-color,Highlight);outline-color:var(--focus-ring-color,-webkit-focus-ring-color);outline-style:var(--focus-ring-style,auto)}.ms-icon{display:inline-block;font-family:FabricMDL2Icons;font-style:normal;font-weight:400;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:4px 0}.error{background-color:#fde7e9;padding-block:8px;padding-inline:8px 12px}.ms-icon-chevron-down::before{content:"\\\e70d"}.ms-icon-chevron-up::before{content:"\\\e70e"}.ms-icon-contact::before{content:"\\\e77b"}.ms-icon-add-friend::before{content:"\\\e8fa"}.ms-icon-outlook-logo-inverser::before{content:"\\\eb6d"}:host{font-size:var(--default-font-size)}:host .flyout [slot=anchor]{display:flex;cursor:pointer;align-items:var(--person-alignment,normal)}:host .flyout [slot=anchor].vertical{flex-direction:column;justify-content:center;align-items:center;margin-inline-start:0;--person-avatar-size:72px}:host .person-root{display:flex;flex-direction:row;align-items:center;background-color:var(--person-background-color,transparent);border-radius:var(--person-border-radius,4px)}:host .person-root.small .avatar-wrapper{min-width:var(--person-avatar-size,24px);width:var(--person-avatar-size,24px);height:var(--person-avatar-size,24px)}:host .person-root.noline .presence-basic,:host .person-root.oneline .presence-basic{border-width:1px;position:relative;bottom:calc(var(--person-avatar-size,24px) * .12 - 4px)}:host .person-root.twolines .avatar-wrapper{min-width:var(--person-avatar-size,40px);width:var(--person-avatar-size,40px);height:var(--person-avatar-size,40px)}:host .person-root.twolines .avatar-wrapper .contact-icon,:host .person-root.twolines .avatar-wrapper .initials{font-size:calc(var(--person-avatar-size,40px) * .4)}:host .person-root.twolines .avatar-wrapper .presence-wrapper svg{width:calc(var(--person-avatar-size,40px) * .28);height:calc(var(--person-avatar-size,40px) * .28)}:host .person-root.large .avatar-wrapper,:host .person-root.threelines .avatar-wrapper{min-width:var(--person-avatar-size,56px);width:var(--person-avatar-size,56px);height:var(--person-avatar-size,56px)}:host .person-root.large .avatar-wrapper .contact-icon,:host .person-root.large .avatar-wrapper .initials,:host .person-root.threelines .avatar-wrapper .contact-icon,:host .person-root.threelines .avatar-wrapper .initials{font-size:calc(var(--person-avatar-size,56px) * .4)}:host .person-root.large .avatar-wrapper .presence-wrapper svg,:host .person-root.threelines .avatar-wrapper .presence-wrapper svg{width:calc(var(--person-avatar-size,56px) * .28);height:calc(var(--person-avatar-size,56px) * .28)}:host .person-root.fourlines .avatar-wrapper{min-width:var(--person-avatar-size,72px);width:var(--person-avatar-size,72px);height:var(--person-avatar-size,72px)}:host .person-root.fourlines .avatar-wrapper .contact-icon,:host .person-root.fourlines .avatar-wrapper .initials{font-size:calc(var(--person-avatar-size,72px) * .4)}:host .person-root.fourlines .avatar-wrapper .presence-wrapper svg{width:calc(var(--person-avatar-size,72px) * .28);height:calc(var(--person-avatar-size,72px) * .28)}:host .person-root.vertical{flex-direction:column;justify-content:center;align-items:center}:host .person-root.vertical .avatar-wrapper{min-width:var(--person-avatar-size,72px);width:var(--person-avatar-size,72px);height:var(--person-avatar-size,72px)}:host .person-root.vertical .avatar-wrapper .contact-icon,:host .person-root.vertical .avatar-wrapper .initials{font-size:calc(var(--person-avatar-size,72px) * .4)}:host .person-root.vertical .avatar-wrapper .presence-wrapper svg{width:calc(var(--person-avatar-size,72px) * .28);height:calc(var(--person-avatar-size,72px) * .28)}:host .person-root .avatar-wrapper{min-width:var(--person-avatar-size,24px);width:var(--person-avatar-size,24px);height:var(--person-avatar-size,24px);position:relative;box-sizing:border-box}:host .person-root .avatar-wrapper .contact-icon,:host .person-root .avatar-wrapper .initials,:host .person-root .avatar-wrapper img{height:100%;width:100%;border:var(--person-avatar-border,none);border-radius:var(--person-avatar-border-radius,50%);margin-block-start:var(--person-avatar-top-spacing,0)}:host .person-root .avatar-wrapper .contact-icon,:host .person-root .avatar-wrapper .initials{display:flex;justify-content:center;align-items:center;font-size:calc(var(--person-avatar-size,24px) * .4);font-weight:400;background:var(--person-initials-background-color,var(--neutral-fill-secondary-rest));color:var(--person-initials-text-color,var(--neutral-fill-strong-hover))}:host .person-root .avatar-wrapper .presence-wrapper{bottom:var(--person-presence-wrapper-bottom,0);right:0;position:absolute;border-radius:50%;background-color:var(--neutral-layer-1);border:1px solid var(--neutral-layer-1)}:host .person-root .avatar-wrapper .presence-wrapper svg{display:flex;width:calc(var(--person-avatar-size,24px) * .28);height:calc(var(--person-avatar-size,24px) * .28)}:host .person-root .details-wrapper{display:flex;flex-direction:column;align-items:flex-start;min-width:var(--person-details-wrapper-width,168px);margin-inline-start:var(--person-details-left-spacing,12px);margin-block-end:var(--person-details-bottom-spacing,0)}:host .person-root .details-wrapper.vertical{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;margin-inline-start:0}:host .person-root .details-wrapper .line1{font-size:var(--person-line1-font-size,ms-font-size-14);font-weight:var(--person-line1-font-weight,600);color:var(--person-line1-text-color,var(--neutral-foreground-rest));text-transform:var(--person-line1-text-transform,inherit);line-height:var(--person-line1-text-line-height,20px)}:host .person-root .details-wrapper .line2{font-size:var(--person-line2-font-size,var(--email-font-size,ms-font-size-12));font-weight:var(--person-line2-font-weight,400);color:var(--person-line2-text-color,var(--secondary-text-color));text-transform:var(--person-line2-text-transform,inherit);line-height:var(--person-line2-text-line-height,16px)}:host .person-root .details-wrapper .line3{font-size:var(--person-line3-font-size,var(--email-font-size,ms-font-size-12));font-weight:var(--person-line3-font-weight,400);color:var(--person-line3-text-color,var(--secondary-text-color));text-transform:var(--person-line3-text-transform,inherit);line-height:var(--person-line3-text-line-height,16px)}:host .person-root .details-wrapper .line4{font-size:var(--person-line4-font-size,var(--email-font-size,ms-font-size-12));font-weight:var(--person-line4-font-weight,400);color:var(--person-line4-text-color,var(--secondary-text-color));text-transform:var(--person-line4-text-transform,inherit);line-height:var(--person-line4-text-line-height,16px)}@media (forced-colors:active) and (prefers-color-scheme:dark){:host svg,:host svg>path{fill:#fff;fill-rule:nonzero;clip-rule:nonzero}}[dir=rtl] .presence-wrapper{right:unset!important;left:0} +`];var S=n("dP6N");const D=Object.assign(Object.assign({},{Available:"Available",Away:"Away",BeRightBack:"Be right back",Busy:"Busy",DoNotDisturb:"Do not disturb",InACall:"In a call",InAConferenceCall:"In a conference call",Inactive:"Inactive",InAMeeting:"In a meeting",Offline:"Offline",OffWork:"Off work",OutOfOffice:"Out of office",PresenceUnknown:"Presence unknown",Presenting:"Presenting",UrgentInterruptionsOnly:"Urgent interruptions only"}),{photoFor:"Photo for",emailAddress:"Email address",initials:"Initials"});var I=n("fU9z"),x=n("ox5k"),C=n("0mOt"),O=n("R2TB"),w=function(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})};class E{static get config(){return this.presenceConfig}static register(e){null!==this.initPromise&&void 0!==this.initPromise||(this.initPromise=this.init()),this.initPromise.then(()=>{setTimeout(()=>{this.registerPromise&&this.registerPromise(null)},this.config.initial),this.components.add(e)},e=>Object(O.a)("the PresenceService could not be initialized; presence will not be updated",e))}static unregister(e){this.components.delete(e)}static stop(){this.isStopped=!0}static init(){return w(this,void 0,void 0,function*(){return(()=>{w(this,void 0,void 0,function*(){for(;!this.isStopped;){const e=new Promise(e=>this.registerPromise=e),t=new Promise(e=>setTimeout(e,this.config.refresh));yield Promise.race([e,t]);const n=o.a.globalProvider;if(!n||n.state===s.c.Loading||n.state===s.c.SignedOut)continue;Object(O.b)(`updating presence for ${this.components.size} components.`);const a=new Map;for(const e of this.components){const t=e.presenceId;t&&!a.has(t)&&a.set(t,void 0)}const i=[];try{const e=yield Object(p.b)(n.graph,Array.from(a.keys()).map(e=>({id:e})),!0);if(e)for(const t of Object.values(e))t.id&&(a.set(t.id,t),i.push(`${t.id}=${t.availability}/${t.activity}`))}catch(e){Object(O.a)("could not update presence",e);continue}Object(O.b)(`updated presence for ${i.length} users.`,i);for(const e of this.components){const t=e.presenceId;if(t){const n=a.get(t);n&&e.onPresenceChange(n)}}}})})(),Promise.resolve()})}}E.components=new Set,E.initPromise=null,E.isStopped=!1,E.presenceConfig={initial:1e3,refresh:3e4};var A=function(e,t,n,a){var i,r=arguments.length,o=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,a);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o},L=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},k=function(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})};const M=["businessPhones","displayName","givenName","jobTitle","department","mail","mobilePhone","officeLocation","preferredLanguage","surname","userPrincipalName","id","userType"],P=()=>{Object(C.b)("person",T),Object(g.a)()};class T extends a.a{static get styles(){return y}get strings(){return D}get personQuery(){return this._personQuery}set personQuery(e){e!==this._personQuery&&(this._personQuery=e,this.personDetailsInternal=null,this.requestStateUpdate())}get fallbackDetails(){return this._fallbackDetails}set fallbackDetails(e){e!==this._fallbackDetails&&(this._fallbackDetails=e,this.personDetailsInternal||this.requestStateUpdate())}get userId(){return this._userId}set userId(e){e!==this._userId&&(this._userId=e,this.personDetailsInternal=null,this.requestStateUpdate())}get usage(){return this._usage}set usage(e){e!==this._usage&&(this._usage=e,this.requestStateUpdate())}get personDetailsInternal(){return this._personDetailsInternal}set personDetailsInternal(e){this._personDetailsInternal!==e&&(this._personDetailsInternal=e,this._fetchedImage=null,this._fetchedPresence=null,this.requestStateUpdate(),this.requestUpdate("personDetailsInternal"))}get personDetails(){return this._personDetails}set personDetails(e){this._personDetails!==e&&(this._personDetails=e,this._fetchedImage=null,this._fetchedPresence=null,this.requestStateUpdate(),this.requestUpdate("personDetails"))}get personImage(){return this._personImage||this._fetchedImage}set personImage(e){if(e===this._personImage)return;this._isInvalidImageSrc=!e;const t=this._personImage;this._personImage=e,this.requestUpdate("personImage",t)}get avatarType(){return this._avatarType}set avatarType(e){e!==this._avatarType&&(this._avatarType=e,this.requestStateUpdate())}get personPresence(){return this._personPresence||this._fetchedPresence}set personPresence(e){if(e===this._personPresence)return;const t=this._personPresence;this._personPresence=e,this.requestUpdate("personPresence",t)}static get requiredScopes(){const e=["user.readbasic.all","user.read","people.read","presence.read.all","presence.read"];return T.config.useContactApis&&e.push("contacts.read"),e}get flyout(){return this.renderRoot.querySelector(".flyout")}constructor(){super(),this._hasLoadedPersonCard=!1,this._mouseLeaveTimeout=-1,this._mouseEnterTimeout=-1,this.handleMouseClick=e=>{const t=e.target;this.personCardInteraction===v.a.click&&t.tagName!==`${i.a.prefix}-PERSON-CARD`.toUpperCase()&&this.showPersonCard()},this.handleKeyDown=e=>{e&&"Enter"===e.key&&this.showPersonCard()},this.handleMouseEnter=()=>{clearTimeout(this._mouseEnterTimeout),clearTimeout(this._mouseLeaveTimeout),this.personCardInteraction===v.a.hover&&(this._mouseEnterTimeout=window.setTimeout(this.showPersonCard,500))},this.handleMouseLeave=()=>{clearTimeout(this._mouseEnterTimeout),clearTimeout(this._mouseLeaveTimeout),this._mouseLeaveTimeout=window.setTimeout(this.hidePersonCard,500)},this.hidePersonCard=()=>{const e=this.flyout;e&&e.close();const t=this.querySelector(".mgt-person-card")||this.renderRoot.querySelector(".mgt-person-card");t&&(t.isExpanded=!1,t.clearHistory())},this.loadPersonCardResources=()=>k(this,void 0,void 0,function*(){if(this.personCardInteraction!==v.a.none&&!this._hasLoadedPersonCard){const{registerMgtPersonCardComponent:e}=yield Promise.resolve().then(n.bind(null,"uVfA"));customElements.get(Object(C.a)("person-card"))||e(),this._hasLoadedPersonCard=!0}}),this.showPersonCard=()=>{this._personCardShouldRender||(this._personCardShouldRender=!0,this.loadPersonCardResources());const e=this.flyout;e&&e.open()},this.personCardInteraction=v.a.none,this.line1Property="displayName",this.line2Property="jobTitle",this.line3Property="department",this.line4Property="email",this.view=h.a.image,this.avatarSize="auto",this.disableImageFetch=!1,this._isInvalidImageSrc=!1,this._avatarType=S.b.photo,this.verticalLayout=!1}disconnectedCallback(){this.showPresence&&!this.disablePresenceRefresh&&E.unregister(this),super.disconnectedCallback()}render(){if(this.isLoadingState&&!this.personDetails&&!this.personDetailsInternal&&!this.fallbackDetails)return this.renderLoading();const e=this.personDetails||this.personDetailsInternal||this.fallbackDetails,t=this.getImage(),n=this.personPresence||this._fetchedPresence;if(!e&&!t)return this.renderNoData();!(null==e?void 0:e.personImage)&&t&&(e.personImage=t);let a=this.renderTemplate("default",{person:e,personImage:t,personPresence:n});if(!a){const i=this.renderDetails(e,n),r=this.renderAvatar(e,t,n);a=c.c` + ${r} + ${i} + `}this.personCardInteraction!==v.a.none&&(a=this.renderFlyout(a,e,t,n));const i=Object(l.a)({"person-root":!0,small:!this.isThreeLines()&&!this.isFourLines()&&!this.isLargeAvatar(),large:"auto"!==this.avatarSize&&this.isLargeAvatar(),noline:this.isNoLine(),oneline:this.isOneLine(),twolines:this.isTwoLines(),threelines:this.isThreeLines(),fourlines:this.isFourLines(),vertical:this.isVertical()});return c.c` +
+ ${a} +
+ `}renderLoading(){const e=this.renderTemplate("loading",null);if(e)return e;const t={"avatar-icon":!0,vertical:this.isVertical(),small:!this.isLargeAvatar(),threeLines:this.isThreeLines(),fourLines:this.isFourLines()};return c.c` + ${this.renderLoadingIcon()} + `}clearState(){this._personImage="",this._personDetailsInternal=null,this._fetchedImage=null,this._fetchedPresence=null}renderNoData(){const e=this.renderTemplate("no-data",null);if(e)return e;const t={"avatar-icon":!0,vertical:this.isVertical(),small:!this.isLargeAvatar(),threeLines:this.isThreeLines(),fourLines:this.isFourLines()};return c.c` + ${this.renderPersonIcon()} + `}renderLoadingIcon(){return Object(b.b)(b.a.Loading)}renderPersonIcon(){return Object(b.b)(b.a.Person)}renderImage(e,t){var n;const a=`${this.strings.photoFor} ${e.displayName}`,i=t&&!this._isInvalidImageSrc&&this.avatarType===S.b.photo,r=this.avatarType===S.b.photo&&this.view===h.a.image,o=null!==(n=(null==e?void 0:e.displayName)||Object(u.e)(e))&&void 0!==n?n:void 0,s=c.c`${a}this._isInvalidImageSrc=!0} />`,d=e?this.getInitials(e):"",f=null==d?void 0:d.length,p=Object(l.a)({initials:f&&!i,"contact-icon":!f}),m=c.c`${this.renderPersonIcon()}`,_=c.c` + + ${f?d:m} + +`;return i?s:_}renderPresence(e){var t;if(!this.showPresence||!e)return c.c``;let n;const{activity:a,availability:i}=e;switch(i){case"Available":case"AvailableIdle":n="OutOfOffice"===a?Object(b.b)(b.a.PresenceOofAvailable):Object(b.b)(b.a.PresenceAvailable);break;case"Busy":case"BusyIdle":switch(a){case"OutOfOffice":case"OnACall":n=Object(b.b)(b.a.PresenceOofBusy);break;default:n=Object(b.b)(b.a.PresenceBusy)}break;case"DoNotDisturb":n="OutOfOffice"===a?Object(b.b)(b.a.PresenceOofDnd):Object(b.b)(b.a.PresenceDnd);break;case"Away":n="OutOfOffice"===a?Object(b.b)(b.a.PresenceOofAway):Object(b.b)(b.a.PresenceAway);break;case"BeRightBack":n=Object(b.b)(b.a.PresenceAway);break;case"Offline":switch(a){case"Offline":n=Object(b.b)(b.a.PresenceOffline);break;case"OutOfOffice":case"OffWork":n=Object(b.b)(b.a.PresenceOofAway);break;default:n=Object(b.b)(b.a.PresenceStatusUnknown)}break;default:n=Object(b.b)(b.a.PresenceStatusUnknown)}const r=Object(l.a)({"presence-wrapper":!0,noline:this.isNoLine(),oneline:this.isOneLine()}),o=null!==(t=this.strings[a])&&void 0!==t?t:c.d;return c.c` + + ${n} + + `}renderAvatar(e,t,n){let a="";if(t&&!this._isInvalidImageSrc&&this._avatarType!==S.b.initials||!e?(a=e&&e.displayName||"",""!==a&&(a=`${this.strings.photoFor} ${a}`)):a=`${this.strings.initials} ${this.getInitials(e)}`,""===a){const t=Object(u.e)(e);null!==t&&(a=`${this.strings.emailAddress} ${t}`)}const i=this.renderImage(e,t),r=this.renderPresence(n);return c.c` +
+ ${i} + ${r} +
+ `}handleLine1Clicked(){this.fireCustomEvent("line1clicked",this.personDetailsInternal)}handleLine2Clicked(){this.fireCustomEvent("line2clicked",this.personDetailsInternal)}handleLine3Clicked(){this.fireCustomEvent("line3clicked",this.personDetailsInternal)}handleLine4Clicked(){this.fireCustomEvent("line4clicked",this.personDetailsInternal)}renderDetails(e,t){if(!e||this.view===h.a.image||this.view===S.a.avatar)return c.c``;const n=e;t&&(n.presenceActivity=null==t?void 0:t.activity,n.presenceAvailability=null==t?void 0:t.availability);const a=[];if(this.view>h.a.image){const e=this.getTextFromProperty(n,this.line1Property);if(this.hasTemplate("line1")){const t=this.renderTemplate("line1",{person:n});a.push(c.c` +
this.handleLine1Clicked()} role="presentation" aria-label="${e}">${t}
+ `)}else e&&a.push(c.c` +
this.handleLine1Clicked()} role="presentation" aria-label="${e}">${e}
+ `)}if(this.view>h.a.oneline){const e=this.getTextFromProperty(n,this.line2Property);if(this.hasTemplate("line2")){const t=this.renderTemplate("line2",{person:n});a.push(c.c` +
this.handleLine2Clicked()} role="presentation" aria-label="${e}">${t}
+ `)}else e&&a.push(c.c` +
this.handleLine2Clicked()} role="presentation" aria-label="${e}">${e}
+ `)}if(this.view>h.a.twolines){const e=this.getTextFromProperty(n,this.line3Property);if(this.hasTemplate("line3")){const t=this.renderTemplate("line3",{person:n});a.push(c.c` +
this.handleLine3Clicked()} role="presentation" aria-label="${e}">${t}
+ `)}else e&&a.push(c.c` +
this.handleLine3Clicked()} role="presentation" aria-label="${e}">${e}
+ `)}if(this.view>h.a.threelines){const e=this.getTextFromProperty(n,this.line4Property);if(this.hasTemplate("line4")){const t=this.renderTemplate("line4",{person:n});a.push(c.c` +
this.handleLine4Clicked()} role="presentation" aria-label="${e}">${t}
+ `)}else e&&a.push(c.c` +
this.handleLine4Clicked()} role="presentation" aria-label="${e}">${e}
+ `)}const i=Object(l.a)({"details-wrapper":!0,vertical:this.isVertical()});return c.c` +
+ ${a} +
+ `}renderFlyout(e,t,n,a){const i=this._personCardShouldRender&&this._hasLoadedPersonCard?c.c` +
+ ${this.renderFlyoutContent(t,n,a)} +
`:c.c``,o=Object(l.a)({vertical:this.isVertical()});return r.a` + +
${e}
+ ${i} +
`}renderFlyoutContent(e,t,n){return this.renderTemplate("person-card",{person:e,personImage:t})||r.a` + + `}loadState(){return k(this,void 0,void 0,function*(){const e=o.a.globalProvider;if(!e||e.state===s.c.Loading)return;if(e&&e.state===s.c.SignedOut)return void(this.personDetailsInternal=null);const t=e.graph.forComponent(this);(this.verticalLayout&&this.view"email"!==e);let a=this.personDetailsInternal||this.personDetails;if(a){if(!a.personImage&&this.fetchImage&&this._avatarType===S.b.photo&&!this.personImage&&!this._fetchedImage){let e;e="groupTypes"in a?yield Object(f.b)(t,a):yield Object(f.d)(t,a,T.config.useContactApis),e&&(a.personImage=e,this._fetchedImage=e)}}else if(this.userId||"me"===this.personQuery){let e;e=this._avatarType!==S.b.photo||this.disableImageFetch?"me"===this.personQuery?yield Object(m.e)(t,n):yield Object(m.f)(t,this.userId,n):yield Object(_.a)(t,this.userId,n),this.personDetailsInternal=e,this.personDetails=e,this._fetchedImage=this.getImage()}else if(this.personQuery){let e=yield Object(u.d)(t,this.personQuery,1);if(e&&0!==e.length||(e=(yield Object(m.b)(t,this.personQuery,1))||[]),(null==e?void 0:e.length)&&(this.personDetailsInternal=e[0],this.personDetails=e[0],this._avatarType===S.b.photo&&!this.disableImageFetch)){const n=yield Object(f.d)(t,e[0],T.config.useContactApis);n&&(this.personDetailsInternal.personImage=n,this.personDetails.personImage=n,this._fetchedImage=n)}}a=this.personDetailsInternal||this.personDetails||this.fallbackDetails;const i={activity:"Offline",availability:"Offline",id:null};if(this.showPresence&&!this.disablePresenceRefresh)this._fetchedPresence=i,E.register(this);else if(this.showPresence&&!this.personPresence&&!this._fetchedPresence)try{if(a){const e="me"!==this.personQuery?null==a?void 0:a.id:null;this._fetchedPresence=yield Object(p.a)(t,e)}else this._fetchedPresence=i}catch(e){this._fetchedPresence=i}})}getInitials(e){var t,n,a,i,r,o;if(e||(e=this.personDetailsInternal),Object(I.a)(e))return e.initials;let s="";if(Object(I.c)(e)&&(s+=null!==(a=null===(n=null===(t=e.givenName)||void 0===t?void 0:t[0])||void 0===n?void 0:n.toUpperCase())&&void 0!==a?a:"",s+=null!==(o=null===(r=null===(i=e.surname)||void 0===i?void 0:i[0])||void 0===r?void 0:r.toUpperCase())&&void 0!==o?o:""),!s&&e.displayName){const t=e.displayName.split(/\s+/);for(let e=0;e<2&&eh.a.oneline}isNoLine(){return this.view"initials"===(e=e.toLowerCase())?S.b.initials:S.b.photo}),L("design:type",String),L("design:paramtypes",[String])],T.prototype,"avatarType",null),A([Object(d.b)({attribute:"person-presence",type:Object}),L("design:type",Object),L("design:paramtypes",[Object])],T.prototype,"personPresence",null),A([Object(d.b)({attribute:"person-card",converter:e=>(e=e.toLowerCase(),void 0===v.a[e]?v.a.none:v.a[e])}),L("design:type",Number)],T.prototype,"personCardInteraction",void 0),A([Object(d.b)({attribute:"line1-property"}),L("design:type",String)],T.prototype,"line1Property",void 0),A([Object(d.b)({attribute:"line2-property"}),L("design:type",String)],T.prototype,"line2Property",void 0),A([Object(d.b)({attribute:"line3-property"}),L("design:type",String)],T.prototype,"line3Property",void 0),A([Object(d.b)({attribute:"line4-property"}),L("design:type",String)],T.prototype,"line4Property",void 0),A([Object(d.b)({converter:e=>e&&0!==e.length?(e=e.toLowerCase(),void 0===h.a[e]?h.a.image:h.a[e]):h.a.image}),L("design:type",Number)],T.prototype,"view",void 0),A([Object(d.c)(),L("design:type",String)],T.prototype,"_fetchedImage",void 0),A([Object(d.c)(),L("design:type",Object)],T.prototype,"_fetchedPresence",void 0),A([Object(d.c)(),L("design:type",Boolean)],T.prototype,"_isInvalidImageSrc",void 0),A([Object(d.c)(),L("design:type",Boolean)],T.prototype,"_personCardShouldRender",void 0),A([Object(d.c)(),L("design:type",Object)],T.prototype,"_hasLoadedPersonCard",void 0)},"81Gc":function(e,t,n){"use strict";n.d(t,"f",function(){return f}),n.d(t,"c",function(){return p}),n.d(t,"a",function(){return m}),n.d(t,"b",function(){return _}),n.d(t,"d",function(){return h}),n.d(t,"e",function(){return b});var a=n("4X57"),i=n("j9Xn"),r=n("xY0q"),o=n("wHpb"),s=n("oqLQ"),c=n("QkLF"),d=n("8hiW"),l=n("NLdk"),u=n("FVZ7");const f=(e,t,n,i="[disabled]")=>a.a` + ${Object(r.a)("inline-flex")} + + :host { + position: relative; + box-sizing: border-box; + ${l.a} + height: calc(${c.a} * 1px); + min-width: calc(${c.a} * 1px); + color: ${d.fb}; + border-radius: calc(${d.q} * 1px); + fill: currentcolor; + } + + .control { + border: calc(${d.vb} * 1px) solid transparent; + flex-grow: 1; + box-sizing: border-box; + display: inline-flex; + justify-content: center; + align-items: center; + padding: 0 calc((10 + (${d.s} * 2 * ${d.r})) * 1px); + white-space: nowrap; + outline: none; + text-decoration: none; + color: inherit; + border-radius: inherit; + fill: inherit; + font-family: inherit; + } + + .control, + .end, + .start { + font: inherit; + } + + .control.icon-only { + padding: 0; + line-height: 0; + } + + .control:${o.a} { + ${u.a} + } + + .control::-moz-focus-inner { + border: 0; + } + + .content { + pointer-events: none; + } + + .start, + .end { + display: flex; + pointer-events: none; + } + + .start { + margin-inline-end: 11px; + } + + .end { + margin-inline-start: 11px; + } + `,p=(e,t,n,r="[disabled]")=>a.a` + .control { + background: padding-box linear-gradient(${d.Q}, ${d.Q}), + border-box ${d.lb}; + } + + :host(${n}:hover) .control { + background: padding-box linear-gradient(${d.G}, ${d.G}), + border-box ${d.kb}; + } + + :host(${n}:active) .control { + background: padding-box linear-gradient(${d.F}, ${d.F}), + border-box ${d.jb}; + } + + :host(${r}) .control { + background: padding-box linear-gradient(${d.Q}, ${d.Q}), + border-box ${d.rb}; + } + `.withBehaviors(Object(s.a)(a.a` + .control { + background: ${i.a.ButtonFace}; + border-color: ${i.a.ButtonText}; + color: ${i.a.ButtonText}; + } + + :host(${n}:hover) .control, + :host(${n}:active) .control { + forced-color-adjust: none; + background: ${i.a.HighlightText}; + border-color: ${i.a.Highlight}; + color: ${i.a.Highlight}; + } + + :host(${r}) .control { + background: transparent; + border-color: ${i.a.GrayText}; + color: ${i.a.GrayText}; + } + + .control:${o.a} { + outline-color: ${i.a.CanvasText}; + } + + :host([href]) .control { + background: transparent; + border-color: ${i.a.LinkText}; + color: ${i.a.LinkText}; + } + + :host([href]:hover) .control, + :host([href]:active) .control { + background: transparent; + border-color: ${i.a.CanvasText}; + color: ${i.a.CanvasText}; + } + `)),m=(e,t,n,r="[disabled]")=>a.a` + .control { + background: padding-box linear-gradient(${d.e}, ${d.e}), + border-box ${d.m}; + color: ${d.C}; + } + + :host(${n}:hover) .control { + background: padding-box linear-gradient(${d.d}, ${d.d}), + border-box ${d.l}; + color: ${d.B}; + } + + :host(${n}:active) .control { + background: padding-box linear-gradient(${d.b}, ${d.b}), + border-box ${d.j}; + color: ${d.z}; + } + + :host(${r}) .control { + background: ${d.e}; + } + + .control:${o.a} { + box-shadow: 0 0 0 calc(${d.y} * 1px) ${d.w} inset !important; + } + `.withBehaviors(Object(s.a)(a.a` + .control { + forced-color-adjust: none; + background: ${i.a.Highlight}; + color: ${i.a.HighlightText}; + } + + :host(${n}:hover) .control, + :host(${n}:active) .control { + background: ${i.a.HighlightText}; + border-color: ${i.a.Highlight}; + color: ${i.a.Highlight}; + } + + :host(${r}) .control { + background: transparent; + border-color: ${i.a.GrayText}; + color: ${i.a.GrayText}; + } + + .control:${o.a} { + outline-color: ${i.a.CanvasText}; + box-shadow: 0 0 0 calc(${d.y} * 1px) ${i.a.HighlightText} inset !important; + } + + :host([href]) .control { + background: ${i.a.LinkText}; + color: ${i.a.HighlightText}; + } + + :host([href]:hover) .control, + :host([href]:active) .control { + background: ${i.a.ButtonFace}; + border-color: ${i.a.LinkText}; + color: ${i.a.LinkText}; + } + `)),_=(e,t,n,r="[disabled]")=>a.a` + :host { + color: ${d.i}; + } + + .control { + background: ${d.ab}; + } + + :host(${n}:hover) .control { + background: ${d.Y}; + color: ${d.h}; + } + + :host(${n}:active) .control { + background: ${d.W}; + color: ${d.f}; + } + + :host(${r}) .control { + background: ${d.ab}; + } + `.withBehaviors(Object(s.a)(a.a` + :host { + color: ${i.a.ButtonText}; + } + + .control { + forced-color-adjust: none; + background: transparent; + } + + :host(${n}:hover) .control, + :host(${n}:active) .control { + background: transparent; + border-color: ${i.a.ButtonText}; + color: ${i.a.ButtonText}; + } + + :host(${r}) .control { + background: transparent; + color: ${i.a.GrayText}; + } + + .control:${o.a} { + outline-color: ${i.a.CanvasText}; + } + + :host([href]) .control { + color: ${i.a.LinkText}; + } + + :host([href]:hover) .control, + :host([href]:active) .control { + border-color: ${i.a.LinkText}; + color: ${i.a.LinkText}; + } + `)),h=(e,t,n,r="[disabled]")=>a.a` + .control { + background: transparent !important; + border-color: ${d.rb}; + } + + :host(${n}:hover) .control { + border-color: ${d.nb}; + } + + :host(${n}:active) .control { + border-color: ${d.ib}; + } + + :host(${r}) .control { + background: transparent !important; + border-color: ${d.rb}; + } + `.withBehaviors(Object(s.a)(a.a` + .control { + border-color: ${i.a.ButtonText}; + color: ${i.a.ButtonText}; + } + + :host(${n}:hover) .control, + :host(${n}:active) .control { + background: ${i.a.HighlightText}; + border-color: ${i.a.Highlight}; + color: ${i.a.Highlight}; + } + + :host(${r}) .control { + border-color: ${i.a.GrayText}; + color: ${i.a.GrayText}; + } + + .control:${o.a} { + outline-color: ${i.a.CanvasText}; + } + + :host([href]) .control { + border-color: ${i.a.LinkText}; + color: ${i.a.LinkText}; + } + + :host([href]:hover) .control, + :host([href]:active) .control { + border-color: ${i.a.CanvasText}; + color: ${i.a.CanvasText}; + } + `)),b=(e,t,n,r="[disabled]")=>a.a` + .control { + background: ${d.ab}; + } + + :host(${n}:hover) .control { + background: ${d.Y}; + } + + :host(${n}:active) .control { + background: ${d.W}; + } + + :host(${r}) .control { + background: ${d.ab}; + } + `.withBehaviors(Object(s.a)(a.a` + .control { + forced-color-adjust: none; + background: transparent; + color: ${i.a.ButtonText}; + } + + :host(${n}:hover) .control, + :host(${n}:active) .control { + background: transparent; + border-color: ${i.a.ButtonText}; + color: ${i.a.ButtonText}; + } + + :host(${r}) .control { + background: transparent; + color: ${i.a.GrayText}; + } + + .control:${o.a} { + outline-color: ${i.a.CanvasText}; + } + + :host([href]) .control { + color: ${i.a.LinkText}; + } + + :host([href]:hover) .control, + :host([href]:active) .control { + background: transparent; + border-color: ${i.a.LinkText}; + color: ${i.a.LinkText}; + } + `))},"8GQ4":function(e,t,n){"use strict";n.d(t,"a",function(){return O});var a=n("eftJ"),i=n("olMv"),r=n("oePG"),o=n("P4Ao"),s=n("+Cud"),c=n("5ZAu"),d=n("+yEz");const l=document.createElement("div");class u{setProperty(e,t){c.a.queueUpdate(()=>this.target.setProperty(e,t))}removeProperty(e){c.a.queueUpdate(()=>this.target.removeProperty(e))}}class f extends u{constructor(){super();const e=new CSSStyleSheet;this.target=e.cssRules[e.insertRule(":root{}")].style,document.adoptedStyleSheets=[...document.adoptedStyleSheets,e]}}class p extends u{constructor(){super(),this.style=document.createElement("style"),document.head.appendChild(this.style);const{sheet:e}=this.style;if(e){const t=e.insertRule(":root{}",e.cssRules.length);this.target=e.cssRules[t].style}}}class m{constructor(e){this.store=new Map,this.target=null;const t=e.$fastController;this.style=document.createElement("style"),t.addStyles(this.style),r.b.getNotifier(t).subscribe(this,"isConnected"),this.handleChange(t,"isConnected")}targetChanged(){if(null!==this.target)for(const[e,t]of this.store.entries())this.target.setProperty(e,t)}setProperty(e,t){this.store.set(e,t),c.a.queueUpdate(()=>{null!==this.target&&this.target.setProperty(e,t)})}removeProperty(e){this.store.delete(e),c.a.queueUpdate(()=>{null!==this.target&&this.target.removeProperty(e)})}handleChange(e,t){const{sheet:n}=this.style;if(n){const e=n.insertRule(":host{}",n.cssRules.length);this.target=n.cssRules[e].style}else this.target=null}}Object(a.a)([r.d],m.prototype,"target",void 0);class _{constructor(e){this.target=e.style}setProperty(e,t){c.a.queueUpdate(()=>this.target.setProperty(e,t))}removeProperty(e){c.a.queueUpdate(()=>this.target.removeProperty(e))}}class h{setProperty(e,t){h.properties[e]=t;for(const n of h.roots.values())v.getOrCreate(h.normalizeRoot(n)).setProperty(e,t)}removeProperty(e){delete h.properties[e];for(const t of h.roots.values())v.getOrCreate(h.normalizeRoot(t)).removeProperty(e)}static registerRoot(e){const{roots:t}=h;if(!t.has(e)){t.add(e);const n=v.getOrCreate(this.normalizeRoot(e));for(const e in h.properties)n.setProperty(e,h.properties[e])}}static unregisterRoot(e){const{roots:t}=h;if(t.has(e)){t.delete(e);const n=v.getOrCreate(h.normalizeRoot(e));for(const e in h.properties)n.removeProperty(e)}}static normalizeRoot(e){return e===l?document:e}}h.roots=new Set,h.properties={};const b=new WeakMap,g=c.a.supportsAdoptedStyleSheets?class extends u{constructor(e){super();const t=new CSSStyleSheet;this.target=t.cssRules[t.insertRule(":host{}")].style,e.$fastController.addStyles(d.a.create([t]))}}:m,v=Object.freeze({getOrCreate(e){if(b.has(e))return b.get(e);let t;return t=e===l?new h:e instanceof Document?c.a.supportsAdoptedStyleSheets?new f:new p:e instanceof o.a?new g(e):new _(e),b.set(e,t),t}});class y extends i.a{constructor(e){super(),this.subscribers=new WeakMap,this._appliedTo=new Set,this.name=e.name,null!==e.cssCustomPropertyName&&(this.cssCustomProperty=`--${e.cssCustomPropertyName}`,this.cssVar=`var(${this.cssCustomProperty})`),this.id=y.uniqueId(),y.tokensById.set(this.id,this)}get appliedTo(){return[...this._appliedTo]}static from(e){return new y({name:"string"==typeof e?e:e.name,cssCustomPropertyName:"string"==typeof e?e:void 0===e.cssCustomPropertyName?e.name:e.cssCustomPropertyName})}static isCSSDesignToken(e){return"string"==typeof e.cssCustomProperty}static isDerivedDesignTokenValue(e){return"function"==typeof e}static getTokenById(e){return y.tokensById.get(e)}getOrCreateSubscriberSet(e=this){return this.subscribers.get(e)||this.subscribers.set(e,new Set)&&this.subscribers.get(e)}createCSS(){return this.cssVar||""}getValueFor(e){const t=C.getOrCreate(e).get(this);if(void 0!==t)return t;throw new Error(`Value could not be retrieved for token named "${this.name}". Ensure the value is set for ${e} or an ancestor of ${e}.`)}setValueFor(e,t){return this._appliedTo.add(e),t instanceof y&&(t=this.alias(t)),C.getOrCreate(e).set(this,t),this}deleteValueFor(e){return this._appliedTo.delete(e),C.existsFor(e)&&C.getOrCreate(e).delete(this),this}withDefault(e){return this.setValueFor(l,e),this}subscribe(e,t){const n=this.getOrCreateSubscriberSet(t);t&&!C.existsFor(t)&&C.getOrCreate(t),n.has(e)||n.add(e)}unsubscribe(e,t){const n=this.subscribers.get(t||this);n&&n.has(e)&&n.delete(e)}notify(e){const t=Object.freeze({token:this,target:e});this.subscribers.has(this)&&this.subscribers.get(this).forEach(e=>e.handleChange(t)),this.subscribers.has(e)&&this.subscribers.get(e).forEach(e=>e.handleChange(t))}alias(e){return t=>e.getValueFor(t)}}y.uniqueId=(()=>{let e=0;return()=>(e++,e.toString(16))})(),y.tokensById=new Map;class S{constructor(e,t,n){this.source=e,this.token=t,this.node=n,this.dependencies=new Set,this.observer=r.b.binding(e,this,!1),this.observer.handleChange=this.observer.call,this.handleChange()}disconnect(){this.observer.disconnect()}handleChange(){this.node.store.set(this.token,this.observer.observe(this.node.target,r.c))}}class D{constructor(){this.values=new Map}set(e,t){this.values.get(e)!==t&&(this.values.set(e,t),r.b.getNotifier(this).notify(e.id))}get(e){return r.b.track(this,e.id),this.values.get(e)}delete(e){this.values.delete(e)}all(){return this.values.entries()}}const I=new WeakMap,x=new WeakMap;class C{constructor(e){this.target=e,this.store=new D,this.children=[],this.assignedValues=new Map,this.reflecting=new Set,this.bindingObservers=new Map,this.tokenValueChangeHandler={handleChange:(e,t)=>{const n=y.getTokenById(t);if(n&&(n.notify(this.target),y.isCSSDesignToken(n))){const t=this.parent,a=this.isReflecting(n);if(t){const i=t.get(n),r=e.get(n);i===r||a?i===r&&a&&this.stopReflectToCSS(n):this.reflectToCSS(n)}else a||this.reflectToCSS(n)}}},I.set(e,this),r.b.getNotifier(this.store).subscribe(this.tokenValueChangeHandler),e instanceof o.a?e.$fastController.addBehaviors([this]):e.isConnected&&this.bind()}static getOrCreate(e){return I.get(e)||new C(e)}static existsFor(e){return I.has(e)}static findParent(e){if(l!==e.target){let t=Object(s.a)(e.target);for(;null!==t;){if(I.has(t))return I.get(t);t=Object(s.a)(t)}return C.getOrCreate(l)}return null}static findClosestAssignedNode(e,t){let n=t;do{if(n.has(e))return n;n=n.parent?n.parent:n.target!==l?C.getOrCreate(l):null}while(null!==n);return null}get parent(){return x.get(this)||null}has(e){return this.assignedValues.has(e)}get(e){const t=this.store.get(e);if(void 0!==t)return t;const n=this.getRaw(e);return void 0!==n?(this.hydrate(e,n),this.get(e)):void 0}getRaw(e){var t;return this.assignedValues.has(e)?this.assignedValues.get(e):null===(t=C.findClosestAssignedNode(e,this))||void 0===t?void 0:t.getRaw(e)}set(e,t){y.isDerivedDesignTokenValue(this.assignedValues.get(e))&&this.tearDownBindingObserver(e),this.assignedValues.set(e,t),y.isDerivedDesignTokenValue(t)?this.setupBindingObserver(e,t):this.store.set(e,t)}delete(e){this.assignedValues.delete(e),this.tearDownBindingObserver(e);const t=this.getRaw(e);t?this.hydrate(e,t):this.store.delete(e)}bind(){const e=C.findParent(this);e&&e.appendChild(this);for(const e of this.assignedValues.keys())e.notify(this.target)}unbind(){this.parent&&x.get(this).removeChild(this)}appendChild(e){e.parent&&x.get(e).removeChild(e);const t=this.children.filter(t=>e.contains(t));x.set(e,this),this.children.push(e),t.forEach(t=>e.appendChild(t)),r.b.getNotifier(this.store).subscribe(e);for(const[t,n]of this.store.all())e.hydrate(t,this.bindingObservers.has(t)?this.getRaw(t):n)}removeChild(e){const t=this.children.indexOf(e);return-1!==t&&this.children.splice(t,1),r.b.getNotifier(this.store).unsubscribe(e),e.parent===this&&x.delete(e)}contains(e){return function(e,t){let n=t;for(;null!==n;){if(n===e)return!0;n=Object(s.a)(n)}return!1}(this.target,e.target)}reflectToCSS(e){this.isReflecting(e)||(this.reflecting.add(e),C.cssCustomPropertyReflector.startReflection(e,this.target))}stopReflectToCSS(e){this.isReflecting(e)&&(this.reflecting.delete(e),C.cssCustomPropertyReflector.stopReflection(e,this.target))}isReflecting(e){return this.reflecting.has(e)}handleChange(e,t){const n=y.getTokenById(t);n&&this.hydrate(n,this.getRaw(n))}hydrate(e,t){if(!this.has(e)){const n=this.bindingObservers.get(e);y.isDerivedDesignTokenValue(t)?n?n.source!==t&&(this.tearDownBindingObserver(e),this.setupBindingObserver(e,t)):this.setupBindingObserver(e,t):(n&&this.tearDownBindingObserver(e),this.store.set(e,t))}}setupBindingObserver(e,t){const n=new S(t,e,this);return this.bindingObservers.set(e,n),n}tearDownBindingObserver(e){return!!this.bindingObservers.has(e)&&(this.bindingObservers.get(e).disconnect(),this.bindingObservers.delete(e),!0)}}C.cssCustomPropertyReflector=new class{startReflection(e,t){e.subscribe(this,t),this.handleChange({token:e,target:t})}stopReflection(e,t){e.unsubscribe(this,t),this.remove(e,t)}handleChange(e){const{token:t,target:n}=e;this.add(t,n)}add(e,t){v.getOrCreate(t).setProperty(e.cssCustomProperty,this.resolveCSSValue(C.getOrCreate(t).get(e)))}remove(e,t){v.getOrCreate(t).removeProperty(e.cssCustomProperty)}resolveCSSValue(e){return e&&"function"==typeof e.createCSS?e.createCSS():e}},Object(a.a)([r.d],C.prototype,"children",void 0);const O=Object.freeze({create:function(e){return y.from(e)},notifyConnection:e=>!(!e.isConnected||!C.existsFor(e)||(C.getOrCreate(e).bind(),0)),notifyDisconnection:e=>!(e.isConnected||!C.existsFor(e)||(C.getOrCreate(e).unbind(),0)),registerRoot(e=l){h.registerRoot(e)},unregisterRoot(e=l){h.unregisterRoot(e)}})},"8hiW":function(e,t,n){"use strict";n.d(t,"t",function(){return M}),n.d(t,"u",function(){return P}),n.d(t,"n",function(){return T}),n.d(t,"r",function(){return U}),n.d(t,"s",function(){return F}),n.d(t,"q",function(){return H}),n.d(t,"D",function(){return R}),n.d(t,"vb",function(){return N}),n.d(t,"y",function(){return B}),n.d(t,"p",function(){return j}),n.d(t,"wb",function(){return G}),n.d(t,"yb",function(){return K}),n.d(t,"xb",function(){return W}),n.d(t,"zb",function(){return q}),n.d(t,"Bb",function(){return Q}),n.d(t,"Ab",function(){return Y}),n.d(t,"Cb",function(){return J}),n.d(t,"Eb",function(){return X}),n.d(t,"Db",function(){return Z}),n.d(t,"Fb",function(){return $}),n.d(t,"Hb",function(){return ee}),n.d(t,"Gb",function(){return te}),n.d(t,"Ib",function(){return ne}),n.d(t,"Kb",function(){return ae}),n.d(t,"Jb",function(){return ie}),n.d(t,"Lb",function(){return re}),n.d(t,"Nb",function(){return oe}),n.d(t,"Mb",function(){return se}),n.d(t,"Ob",function(){return ce}),n.d(t,"Qb",function(){return de}),n.d(t,"Pb",function(){return le}),n.d(t,"Rb",function(){return ue}),n.d(t,"Tb",function(){return fe}),n.d(t,"Sb",function(){return pe}),n.d(t,"Ub",function(){return me}),n.d(t,"Wb",function(){return _e}),n.d(t,"Vb",function(){return he}),n.d(t,"o",function(){return be}),n.d(t,"E",function(){return _t}),n.d(t,"hb",function(){return ht}),n.d(t,"a",function(){return bt}),n.d(t,"gb",function(){return St}),n.d(t,"v",function(){return wt}),n.d(t,"e",function(){return Lt}),n.d(t,"d",function(){return kt}),n.d(t,"b",function(){return Mt}),n.d(t,"c",function(){return Pt}),n.d(t,"C",function(){return Ut}),n.d(t,"B",function(){return Ft}),n.d(t,"z",function(){return Ht}),n.d(t,"A",function(){return Rt}),n.d(t,"i",function(){return Bt}),n.d(t,"h",function(){return jt}),n.d(t,"f",function(){return Vt}),n.d(t,"g",function(){return zt}),n.d(t,"m",function(){return Kt}),n.d(t,"l",function(){return Wt}),n.d(t,"j",function(){return qt}),n.d(t,"k",function(){return Qt}),n.d(t,"Q",function(){return Jt}),n.d(t,"G",function(){return Xt}),n.d(t,"F",function(){return Zt}),n.d(t,"N",function(){return $t}),n.d(t,"O",function(){return en}),n.d(t,"M",function(){return tn}),n.d(t,"L",function(){return nn}),n.d(t,"K",function(){return rn}),n.d(t,"J",function(){return on}),n.d(t,"H",function(){return sn}),n.d(t,"I",function(){return cn}),n.d(t,"P",function(){return dn}),n.d(t,"U",function(){return un}),n.d(t,"V",function(){return fn}),n.d(t,"T",function(){return pn}),n.d(t,"R",function(){return mn}),n.d(t,"S",function(){return _n}),n.d(t,"Z",function(){return hn}),n.d(t,"ab",function(){return bn}),n.d(t,"Y",function(){return gn}),n.d(t,"W",function(){return vn}),n.d(t,"X",function(){return yn}),n.d(t,"fb",function(){return In}),n.d(t,"eb",function(){return xn}),n.d(t,"bb",function(){return Cn}),n.d(t,"db",function(){return On}),n.d(t,"cb",function(){return wn}),n.d(t,"rb",function(){return An}),n.d(t,"nb",function(){return Ln}),n.d(t,"ib",function(){return kn}),n.d(t,"lb",function(){return Pn}),n.d(t,"kb",function(){return Tn}),n.d(t,"jb",function(){return Un}),n.d(t,"mb",function(){return Hn}),n.d(t,"pb",function(){return Nn}),n.d(t,"ob",function(){return Bn}),n.d(t,"qb",function(){return Vn}),n.d(t,"ub",function(){return Gn}),n.d(t,"tb",function(){return Kn}),n.d(t,"sb",function(){return Wn}),n.d(t,"x",function(){return Qn}),n.d(t,"w",function(){return Jn});var a=n("8GQ4"),i=n("qibw"),r=n("hv+n"),o=n("YBl9"),s=n("i2HT");const c=s.a.create(1,1,1),d=s.a.create(0,0,0),l=s.a.create(.5,.5,.5),u=Object(o.a)("#0078D4"),f=s.a.create(u.r,u.g,u.b);function p(e,t,n,a,i){const r=e=>e.contrast(c)>=i?c:d,o=r(e),s=r(t);return{rest:o,hover:s,active:o.relativeLuminance===s.relativeLuminance?o:r(n),focus:r(a)}}var m,_=n("6eT7"),h=n("swXE");n("PT2o"),n("RN7+"),n("SiT+"),n("0q6d"),function(e){e[e.Burn=0]="Burn",e[e.Color=1]="Color",e[e.Darken=2]="Darken",e[e.Dodge=3]="Dodge",e[e.Lighten=4]="Lighten",e[e.Multiply=5]="Multiply",e[e.Overlay=6]="Overlay",e[e.Screen=7]="Screen"}(m||(m={}));var b=n("s2f2"),g=n("THNU");class v{constructor(e,t,n,a){this.toColorString=()=>this.cssGradient,this.contrast=g.a.bind(null,this),this.createCSS=this.toColorString,this.color=new _.a(e,t,n),this.cssGradient=a,this.relativeLuminance=Object(h.j)(this.color),this.r=e,this.g=t,this.b=n}static fromObject(e,t){return new v(e.r,e.g,e.b,t)}}const y=new _.a(0,0,0),S=new _.a(1,1,1);function D(e,t,n,a,i,r,c,d,l=10,u=!1){const f=e.closestIndexOf(t);function p(n){if(u){const a=e.closestIndexOf(t),i=e.get(a),r=n.relativeLuminance=1)return t;if(t.a<=0)return new _.a(e.r,e.g,e.b,1);const n=t.a*t.r+(1-t.a)*e.r,a=t.a*t.g+(1-t.a)*e.g,i=t.a*t.b+(1-t.a)*e.b;return new _.a(n,a,i,1)}(Object(o.a)(t.toColorString()),c);return s.a.from(d)}return n}void 0===d&&(d=Object(b.a)(t));const m=f+d*n,g=m+d*(a-n),D=m+d*(i-n),I=m+d*(r-n),x=-1===d?0:100-l,C=-1===d?l:100;function O(t,n){const a=e.get(t);if(n){const n=e.get(t+d*c),i=-1===d?n:a,r=-1===d?a:n,o=`linear-gradient(${p(i).toColorString()} ${x}%, ${p(r).toColorString()} ${C}%)`;return v.fromObject(i,o)}return p(a)}return{rest:O(m,!0),hover:O(g,!0),active:O(D,!1),focus:O(I,!0)}}var I=n("Kct4");function x(e,t,n,a,i,r,o,s){null==s&&(s=Object(b.a)(t));const c=e.closestIndexOf(e.colorContrast(t,n));return{rest:e.get(c+s*a),hover:e.get(c+s*i),active:e.get(c+s*r),focus:e.get(c+s*o)}}function C(e,t,n,a,i,r,o){const s=e.closestIndexOf(t);return null==o&&(o=Object(b.a)(t)),{rest:e.get(s+o*n),hover:e.get(s+o*a),active:e.get(s+o*i),focus:e.get(s+o*r)}}function O(e,t,n,a,i,r,o=void 0,s,c,d,l,u=void 0){return Object(I.a)(t)?C(e,t,s,c,d,l,u):C(e,t,n,a,i,r,o)}var w=n("yQ0v");function E(e,t){return e.closestIndexOf(Object(w.b)(t))}function A(e,t,n){return e.get(E(e,t)+-1*n)}const{create:L}=a.a;function k(e){return a.a.create({name:e,cssCustomPropertyName:null})}const M=L("direction").withDefault(i.a.ltr),P=L("disabled-opacity").withDefault(.3),T=L("base-height-multiplier").withDefault(8),U=(L("base-horizontal-spacing-multiplier").withDefault(3),L("density").withDefault(0)),F=L("design-unit").withDefault(4),H=L("control-corner-radius").withDefault(4),R=L("layer-corner-radius").withDefault(8),N=L("stroke-width").withDefault(1),B=L("focus-stroke-width").withDefault(2),j=L("body-font").withDefault('"Segoe UI Variable", "Segoe UI", sans-serif'),V=L("font-weight").withDefault(400);function z(e){return t=>{const n=e.getValueFor(t),a=V.getValueFor(t);if(n.endsWith("px")){const e=Number.parseFloat(n.replace("px",""));if(e<=12)return`"wght" ${a}, "opsz" 8`;if(e>24)return`"wght" ${a}, "opsz" 36`}return`"wght" ${a}, "opsz" 10.5`}}const G=L("type-ramp-base-font-size").withDefault("14px"),K=L("type-ramp-base-line-height").withDefault("20px"),W=L("type-ramp-base-font-variations").withDefault(z(G)),q=L("type-ramp-minus-1-font-size").withDefault("12px"),Q=L("type-ramp-minus-1-line-height").withDefault("16px"),Y=L("type-ramp-minus-1-font-variations").withDefault(z(q)),J=L("type-ramp-minus-2-font-size").withDefault("10px"),X=L("type-ramp-minus-2-line-height").withDefault("14px"),Z=L("type-ramp-minus-2-font-variations").withDefault(z(J)),$=L("type-ramp-plus-1-font-size").withDefault("16px"),ee=L("type-ramp-plus-1-line-height").withDefault("22px"),te=L("type-ramp-plus-1-font-variations").withDefault(z($)),ne=L("type-ramp-plus-2-font-size").withDefault("20px"),ae=L("type-ramp-plus-2-line-height").withDefault("26px"),ie=L("type-ramp-plus-2-font-variations").withDefault(z(ne)),re=L("type-ramp-plus-3-font-size").withDefault("24px"),oe=L("type-ramp-plus-3-line-height").withDefault("32px"),se=L("type-ramp-plus-3-font-variations").withDefault(z(re)),ce=L("type-ramp-plus-4-font-size").withDefault("28px"),de=L("type-ramp-plus-4-line-height").withDefault("36px"),le=L("type-ramp-plus-4-font-variations").withDefault(z(ce)),ue=L("type-ramp-plus-5-font-size").withDefault("32px"),fe=L("type-ramp-plus-5-line-height").withDefault("40px"),pe=L("type-ramp-plus-5-font-variations").withDefault(z(ue)),me=L("type-ramp-plus-6-font-size").withDefault("40px"),_e=L("type-ramp-plus-6-line-height").withDefault("52px"),he=L("type-ramp-plus-6-font-variations").withDefault(z(me)),be=L("base-layer-luminance").withDefault(w.a.LightMode),ge=k("accent-fill-rest-delta").withDefault(0),ve=k("accent-fill-hover-delta").withDefault(-2),ye=k("accent-fill-active-delta").withDefault(-5),Se=k("accent-fill-focus-delta").withDefault(0),De=k("accent-foreground-rest-delta").withDefault(0),Ie=k("accent-foreground-hover-delta").withDefault(3),xe=k("accent-foreground-active-delta").withDefault(-8),Ce=k("accent-foreground-focus-delta").withDefault(0),Oe=k("neutral-fill-rest-delta").withDefault(-1),we=k("neutral-fill-hover-delta").withDefault(1),Ee=k("neutral-fill-active-delta").withDefault(0),Ae=k("neutral-fill-focus-delta").withDefault(0),Le=k("neutral-fill-input-rest-delta").withDefault(-1),ke=k("neutral-fill-input-hover-delta").withDefault(1),Me=k("neutral-fill-input-active-delta").withDefault(0),Pe=k("neutral-fill-input-focus-delta").withDefault(-2),Te=k("neutral-fill-input-alt-rest-delta").withDefault(2),Ue=k("neutral-fill-input-alt-hover-delta").withDefault(4),Fe=k("neutral-fill-input-alt-active-delta").withDefault(6),He=k("neutral-fill-input-alt-focus-delta").withDefault(2),Re=k("neutral-fill-layer-rest-delta").withDefault(-2),Ne=k("neutral-fill-layer-hover-delta").withDefault(-3),Be=k("neutral-fill-layer-active-delta").withDefault(-3),je=k("neutral-fill-layer-alt-rest-delta").withDefault(-1),Ve=k("neutral-fill-secondary-rest-delta").withDefault(3),ze=k("neutral-fill-secondary-hover-delta").withDefault(2),Ge=k("neutral-fill-secondary-active-delta").withDefault(1),Ke=k("neutral-fill-secondary-focus-delta").withDefault(3),We=k("neutral-fill-stealth-rest-delta").withDefault(0),qe=k("neutral-fill-stealth-hover-delta").withDefault(3),Qe=k("neutral-fill-stealth-active-delta").withDefault(2),Ye=k("neutral-fill-stealth-focus-delta").withDefault(0),Je=k("neutral-fill-strong-rest-delta").withDefault(0),Xe=k("neutral-fill-strong-hover-delta").withDefault(8),Ze=k("neutral-fill-strong-active-delta").withDefault(-5),$e=k("neutral-fill-strong-focus-delta").withDefault(0),et=k("neutral-stroke-rest-delta").withDefault(8),tt=k("neutral-stroke-hover-delta").withDefault(12),nt=k("neutral-stroke-active-delta").withDefault(6),at=k("neutral-stroke-focus-delta").withDefault(8),it=k("neutral-stroke-control-rest-delta").withDefault(3),rt=k("neutral-stroke-control-hover-delta").withDefault(5),ot=k("neutral-stroke-control-active-delta").withDefault(5),st=k("neutral-stroke-control-focus-delta").withDefault(5),ct=k("neutral-stroke-divider-rest-delta").withDefault(4),dt=k("neutral-stroke-layer-rest-delta").withDefault(3),lt=k("neutral-stroke-layer-hover-delta").withDefault(3),ut=k("neutral-stroke-layer-active-delta").withDefault(3),ft=k("neutral-stroke-strong-hover-delta").withDefault(0),pt=k("neutral-stroke-strong-active-delta").withDefault(0),mt=k("neutral-stroke-strong-focus-delta").withDefault(0),_t=L("neutral-base-color").withDefault(l),ht=k("neutral-palette").withDefault(e=>r.a.from(_t.getValueFor(e))),bt=L("accent-base-color").withDefault(f),gt=k("accent-palette").withDefault(e=>r.a.from(bt.getValueFor(e))),vt=k("neutral-layer-card-container-recipe").withDefault({evaluate:e=>A(ht.getValueFor(e),be.getValueFor(e),Re.getValueFor(e))}),yt=(L("neutral-layer-card-container").withDefault(e=>vt.getValueFor(e).evaluate(e)),k("neutral-layer-floating-recipe").withDefault({evaluate:e=>{return t=ht.getValueFor(e),n=be.getValueFor(e),a=Re.getValueFor(e),t.get(E(t,n)+a);var t,n,a}})),St=L("neutral-layer-floating").withDefault(e=>yt.getValueFor(e).evaluate(e)),Dt=k("neutral-layer-1-recipe").withDefault({evaluate:e=>{return t=ht.getValueFor(e),n=be.getValueFor(e),t.get(E(t,n));var t,n}}),It=L("neutral-layer-1").withDefault(e=>Dt.getValueFor(e).evaluate(e)),xt=k("neutral-layer-2-recipe").withDefault({evaluate:e=>A(ht.getValueFor(e),be.getValueFor(e),Re.getValueFor(e))}),Ct=(L("neutral-layer-2").withDefault(e=>xt.getValueFor(e).evaluate(e)),k("neutral-layer-3-recipe").withDefault({evaluate:e=>{return t=ht.getValueFor(e),n=be.getValueFor(e),a=Re.getValueFor(e),t.get(E(t,n)+-1*a*2);var t,n,a}})),Ot=(L("neutral-layer-3").withDefault(e=>Ct.getValueFor(e).evaluate(e)),k("neutral-layer-4-recipe").withDefault({evaluate:e=>{return t=ht.getValueFor(e),n=be.getValueFor(e),a=Re.getValueFor(e),t.get(E(t,n)+-1*a*3);var t,n,a}})),wt=(L("neutral-layer-4").withDefault(e=>Ot.getValueFor(e).evaluate(e)),L("fill-color").withDefault(e=>It.getValueFor(e)));var Et;!function(e){e[e.normal=4.5]="normal",e[e.large=3]="large"}(Et||(Et={}));const At=k("accent-fill-recipe").withDefault({evaluate:(e,t)=>function(e,t,n,a,i,r,o,s,c,d,l,u,f,p){return Object(I.a)(t)?x(e,t,8,d,l,u,f,void 0):x(e,t,5,a,i,r,o,void 0)}(gt.getValueFor(e),t||wt.getValueFor(e),0,ge.getValueFor(e),ve.getValueFor(e),ye.getValueFor(e),Se.getValueFor(e),0,0,ge.getValueFor(e),ve.getValueFor(e),ye.getValueFor(e),Se.getValueFor(e))}),Lt=L("accent-fill-rest").withDefault(e=>At.getValueFor(e).evaluate(e).rest),kt=L("accent-fill-hover").withDefault(e=>At.getValueFor(e).evaluate(e).hover),Mt=L("accent-fill-active").withDefault(e=>At.getValueFor(e).evaluate(e).active),Pt=L("accent-fill-focus").withDefault(e=>At.getValueFor(e).evaluate(e).focus),Tt=k("foreground-on-accent-recipe").withDefault({evaluate:e=>p(Lt.getValueFor(e),kt.getValueFor(e),Mt.getValueFor(e),Pt.getValueFor(e),Et.normal)}),Ut=L("foreground-on-accent-rest").withDefault(e=>Tt.getValueFor(e).evaluate(e).rest),Ft=L("foreground-on-accent-hover").withDefault(e=>Tt.getValueFor(e).evaluate(e).hover),Ht=L("foreground-on-accent-active").withDefault(e=>Tt.getValueFor(e).evaluate(e).active),Rt=L("foreground-on-accent-focus").withDefault(e=>Tt.getValueFor(e).evaluate(e).focus),Nt=k("accent-foreground-recipe").withDefault({evaluate:(e,t)=>x(gt.getValueFor(e),t||wt.getValueFor(e),9.5,De.getValueFor(e),Ie.getValueFor(e),xe.getValueFor(e),Ce.getValueFor(e))}),Bt=L("accent-foreground-rest").withDefault(e=>Nt.getValueFor(e).evaluate(e).rest),jt=L("accent-foreground-hover").withDefault(e=>Nt.getValueFor(e).evaluate(e).hover),Vt=L("accent-foreground-active").withDefault(e=>Nt.getValueFor(e).evaluate(e).active),zt=L("accent-foreground-focus").withDefault(e=>Nt.getValueFor(e).evaluate(e).focus),Gt=k("accent-stroke-control-recipe").withDefault({evaluate:(e,t)=>D(ht.getValueFor(e),t||wt.getValueFor(e),-3,-3,-3,-3,10,1,void 0,!0)}),Kt=L("accent-stroke-control-rest").withDefault(e=>Gt.getValueFor(e).evaluate(e,Lt.getValueFor(e)).rest),Wt=L("accent-stroke-control-hover").withDefault(e=>Gt.getValueFor(e).evaluate(e,kt.getValueFor(e)).hover),qt=L("accent-stroke-control-active").withDefault(e=>Gt.getValueFor(e).evaluate(e,Mt.getValueFor(e)).active),Qt=L("accent-stroke-control-focus").withDefault(e=>Gt.getValueFor(e).evaluate(e,Pt.getValueFor(e)).focus),Yt=k("neutral-fill-recipe").withDefault({evaluate:(e,t)=>O(ht.getValueFor(e),t||wt.getValueFor(e),Oe.getValueFor(e),we.getValueFor(e),Ee.getValueFor(e),Ae.getValueFor(e),void 0,2,3,1,2,void 0)}),Jt=L("neutral-fill-rest").withDefault(e=>Yt.getValueFor(e).evaluate(e).rest),Xt=L("neutral-fill-hover").withDefault(e=>Yt.getValueFor(e).evaluate(e).hover),Zt=L("neutral-fill-active").withDefault(e=>Yt.getValueFor(e).evaluate(e).active),$t=(L("neutral-fill-focus").withDefault(e=>Yt.getValueFor(e).evaluate(e).focus),k("neutral-fill-input-recipe").withDefault({evaluate:(e,t)=>O(ht.getValueFor(e),t||wt.getValueFor(e),Le.getValueFor(e),ke.getValueFor(e),Me.getValueFor(e),Pe.getValueFor(e),void 0,2,3,1,0,void 0)})),en=L("neutral-fill-input-rest").withDefault(e=>$t.getValueFor(e).evaluate(e).rest),tn=L("neutral-fill-input-hover").withDefault(e=>$t.getValueFor(e).evaluate(e).hover),nn=(L("neutral-fill-input-active").withDefault(e=>$t.getValueFor(e).evaluate(e).active),L("neutral-fill-input-focus").withDefault(e=>$t.getValueFor(e).evaluate(e).focus)),an=k("neutral-fill-input-alt-recipe").withDefault({evaluate:(e,t)=>O(ht.getValueFor(e),t||wt.getValueFor(e),Te.getValueFor(e),Ue.getValueFor(e),Fe.getValueFor(e),He.getValueFor(e),1,Te.getValueFor(e),Te.getValueFor(e)-Ue.getValueFor(e),Te.getValueFor(e)-Fe.getValueFor(e),He.getValueFor(e),1)}),rn=L("neutral-fill-input-alt-rest").withDefault(e=>an.getValueFor(e).evaluate(e).rest),on=L("neutral-fill-input-alt-hover").withDefault(e=>an.getValueFor(e).evaluate(e).hover),sn=L("neutral-fill-input-alt-active").withDefault(e=>an.getValueFor(e).evaluate(e).active),cn=L("neutral-fill-input-alt-focus").withDefault(e=>an.getValueFor(e).evaluate(e).focus),dn=k("neutral-fill-layer-recipe").withDefault({evaluate:(e,t)=>C(ht.getValueFor(e),t||wt.getValueFor(e),Re.getValueFor(e),Ne.getValueFor(e),Be.getValueFor(e),Re.getValueFor(e),1)}),ln=(L("neutral-fill-layer-rest").withDefault(e=>dn.getValueFor(e).evaluate(e).rest),L("neutral-fill-layer-hover").withDefault(e=>dn.getValueFor(e).evaluate(e).hover),L("neutral-fill-layer-active").withDefault(e=>dn.getValueFor(e).evaluate(e).active),k("neutral-fill-layer-alt-recipe").withDefault({evaluate:(e,t)=>C(ht.getValueFor(e),t||wt.getValueFor(e),je.getValueFor(e),je.getValueFor(e),je.getValueFor(e),je.getValueFor(e))})),un=(L("neutral-fill-layer-alt-rest").withDefault(e=>ln.getValueFor(e).evaluate(e).rest),k("neutral-fill-secondary-recipe").withDefault({evaluate:(e,t)=>C(ht.getValueFor(e),t||wt.getValueFor(e),Ve.getValueFor(e),ze.getValueFor(e),Ge.getValueFor(e),Ke.getValueFor(e))})),fn=L("neutral-fill-secondary-rest").withDefault(e=>un.getValueFor(e).evaluate(e).rest),pn=L("neutral-fill-secondary-hover").withDefault(e=>un.getValueFor(e).evaluate(e).hover),mn=L("neutral-fill-secondary-active").withDefault(e=>un.getValueFor(e).evaluate(e).active),_n=L("neutral-fill-secondary-focus").withDefault(e=>un.getValueFor(e).evaluate(e).focus),hn=k("neutral-fill-stealth-recipe").withDefault({evaluate:(e,t)=>C(ht.getValueFor(e),t||wt.getValueFor(e),We.getValueFor(e),qe.getValueFor(e),Qe.getValueFor(e),Ye.getValueFor(e))}),bn=L("neutral-fill-stealth-rest").withDefault(e=>hn.getValueFor(e).evaluate(e).rest),gn=L("neutral-fill-stealth-hover").withDefault(e=>hn.getValueFor(e).evaluate(e).hover),vn=L("neutral-fill-stealth-active").withDefault(e=>hn.getValueFor(e).evaluate(e).active),yn=L("neutral-fill-stealth-focus").withDefault(e=>hn.getValueFor(e).evaluate(e).focus),Sn=k("neutral-fill-strong-recipe").withDefault({evaluate:(e,t)=>x(ht.getValueFor(e),t||wt.getValueFor(e),4.5,Je.getValueFor(e),Xe.getValueFor(e),Ze.getValueFor(e),$e.getValueFor(e))}),Dn=(L("neutral-fill-strong-rest").withDefault(e=>Sn.getValueFor(e).evaluate(e).rest),L("neutral-fill-strong-hover").withDefault(e=>Sn.getValueFor(e).evaluate(e).hover),L("neutral-fill-strong-active").withDefault(e=>Sn.getValueFor(e).evaluate(e).active),L("neutral-fill-strong-focus").withDefault(e=>Sn.getValueFor(e).evaluate(e).focus),k("neutral-foreground-recipe").withDefault({evaluate:(e,t)=>x(ht.getValueFor(e),t||wt.getValueFor(e),16,0,-19,-30,0)})),In=L("neutral-foreground-rest").withDefault(e=>Dn.getValueFor(e).evaluate(e).rest),xn=L("neutral-foreground-hover").withDefault(e=>Dn.getValueFor(e).evaluate(e).hover),Cn=L("neutral-foreground-active").withDefault(e=>Dn.getValueFor(e).evaluate(e).active),On=(L("neutral-foreground-focus").withDefault(e=>Dn.getValueFor(e).evaluate(e).focus),k("neutral-foreground-hint-recipe").withDefault({evaluate:(e,t)=>function(e,t,n){return e.colorContrast(t,4.5)}(ht.getValueFor(e),t||wt.getValueFor(e))})),wn=L("neutral-foreground-hint").withDefault(e=>On.getValueFor(e).evaluate(e)),En=k("neutral-stroke-recipe").withDefault({evaluate:(e,t)=>C(ht.getValueFor(e),t||wt.getValueFor(e),et.getValueFor(e),tt.getValueFor(e),nt.getValueFor(e),at.getValueFor(e))}),An=L("neutral-stroke-rest").withDefault(e=>En.getValueFor(e).evaluate(e).rest),Ln=L("neutral-stroke-hover").withDefault(e=>En.getValueFor(e).evaluate(e).hover),kn=L("neutral-stroke-active").withDefault(e=>En.getValueFor(e).evaluate(e).active),Mn=(L("neutral-stroke-focus").withDefault(e=>En.getValueFor(e).evaluate(e).focus),k("neutral-stroke-control-recipe").withDefault({evaluate:(e,t)=>D(ht.getValueFor(e),t||wt.getValueFor(e),it.getValueFor(e),rt.getValueFor(e),ot.getValueFor(e),st.getValueFor(e),5)})),Pn=L("neutral-stroke-control-rest").withDefault(e=>Mn.getValueFor(e).evaluate(e).rest),Tn=L("neutral-stroke-control-hover").withDefault(e=>Mn.getValueFor(e).evaluate(e).hover),Un=L("neutral-stroke-control-active").withDefault(e=>Mn.getValueFor(e).evaluate(e).active),Fn=(L("neutral-stroke-control-focus").withDefault(e=>Mn.getValueFor(e).evaluate(e).focus),k("neutral-stroke-divider-recipe").withDefault({evaluate:(e,t)=>function(e,t,n){return e.get(e.closestIndexOf(t)+Object(b.a)(t)*n)}(ht.getValueFor(e),t||wt.getValueFor(e),ct.getValueFor(e))})),Hn=L("neutral-stroke-divider-rest").withDefault(e=>Fn.getValueFor(e).evaluate(e)),Rn=k("neutral-stroke-input-recipe").withDefault({evaluate:(e,t)=>function(e,t,n,a,i,r,o,s){const c=e.closestIndexOf(t),d=Object(b.a)(t),l=c+d*n,u=l+d*(a-n),f=l+d*(i-n),p=l+d*(r-n),m=`calc(100% - ${s})`;function _(t,n){const a=e.get(t);if(n){const n=e.get(t+20*d),i=`linear-gradient(${a.toColorString()} ${m}, ${n.toColorString()} ${m}, ${n.toColorString()})`;return v.fromObject(a,i)}return a}return{rest:_(l,!0),hover:_(u,!0),active:_(f,!1),focus:_(p,!0)}}(ht.getValueFor(e),t||wt.getValueFor(e),it.getValueFor(e),rt.getValueFor(e),ot.getValueFor(e),st.getValueFor(e),0,N.getValueFor(e)+"px")}),Nn=L("neutral-stroke-input-rest").withDefault(e=>Rn.getValueFor(e).evaluate(e).rest),Bn=L("neutral-stroke-input-hover").withDefault(e=>Rn.getValueFor(e).evaluate(e).hover),jn=(L("neutral-stroke-input-active").withDefault(e=>Rn.getValueFor(e).evaluate(e).active),L("neutral-stroke-input-focus").withDefault(e=>Rn.getValueFor(e).evaluate(e).focus),k("neutral-stroke-layer-recipe").withDefault({evaluate:(e,t)=>C(ht.getValueFor(e),t||wt.getValueFor(e),dt.getValueFor(e),lt.getValueFor(e),ut.getValueFor(e),dt.getValueFor(e))})),Vn=L("neutral-stroke-layer-rest").withDefault(e=>jn.getValueFor(e).evaluate(e).rest),zn=(L("neutral-stroke-layer-hover").withDefault(e=>jn.getValueFor(e).evaluate(e).hover),L("neutral-stroke-layer-active").withDefault(e=>jn.getValueFor(e).evaluate(e).active),k("neutral-stroke-strong-recipe").withDefault({evaluate:(e,t)=>x(ht.getValueFor(e),t||wt.getValueFor(e),5.5,0,ft.getValueFor(e),pt.getValueFor(e),mt.getValueFor(e))})),Gn=L("neutral-stroke-strong-rest").withDefault(e=>zn.getValueFor(e).evaluate(e).rest),Kn=L("neutral-stroke-strong-hover").withDefault(e=>zn.getValueFor(e).evaluate(e).hover),Wn=L("neutral-stroke-strong-active").withDefault(e=>zn.getValueFor(e).evaluate(e).active),qn=(L("neutral-stroke-strong-focus").withDefault(e=>zn.getValueFor(e).evaluate(e).focus),k("focus-stroke-outer-recipe").withDefault({evaluate:e=>{return ht.getValueFor(e),t=wt.getValueFor(e),Object(I.a)(t)?c:d;var t}})),Qn=L("focus-stroke-outer").withDefault(e=>qn.getValueFor(e).evaluate(e)),Yn=k("focus-stroke-inner-recipe").withDefault({evaluate:e=>{return gt.getValueFor(e),t=wt.getValueFor(e),Qn.getValueFor(e),Object(I.a)(t)?d:c;var t}}),Jn=L("focus-stroke-inner").withDefault(e=>Yn.getValueFor(e).evaluate(e)),Xn=k("foreground-on-accent-large-recipe").withDefault({evaluate:e=>p(Lt.getValueFor(e),kt.getValueFor(e),Mt.getValueFor(e),Pt.getValueFor(e),Et.large)}),Zn=(L("foreground-on-accent-rest-large").withDefault(e=>Xn.getValueFor(e).evaluate(e).rest),L("foreground-on-accent-hover-large").withDefault(e=>Xn.getValueFor(e).evaluate(e,kt.getValueFor(e)).hover),L("foreground-on-accent-active-large").withDefault(e=>Xn.getValueFor(e).evaluate(e,Mt.getValueFor(e)).active),L("foreground-on-accent-focus-large").withDefault(e=>Xn.getValueFor(e).evaluate(e,Pt.getValueFor(e)).focus),L("neutral-fill-inverse-rest-delta").withDefault(0)),$n=L("neutral-fill-inverse-hover-delta").withDefault(-3),ea=L("neutral-fill-inverse-active-delta").withDefault(7),ta=L("neutral-fill-inverse-focus-delta").withDefault(0),na=k("neutral-fill-inverse-recipe").withDefault({evaluate:(e,t)=>function(e,t,n,a,i,r){const o=Object(b.a)(t),s=e.closestIndexOf(e.colorContrast(t,14)),c=s+o*Math.abs(n-a);let d,l;return(1===o?no*a)?(d=s,l=c):(d=c,l=s),{rest:e.get(d),hover:e.get(l),active:e.get(d+o*i),focus:e.get(d+o*r)}}(ht.getValueFor(e),t||wt.getValueFor(e),Zn.getValueFor(e),$n.getValueFor(e),ea.getValueFor(e),ta.getValueFor(e))});L("neutral-fill-inverse-rest").withDefault(e=>na.getValueFor(e).evaluate(e).rest),L("neutral-fill-inverse-hover").withDefault(e=>na.getValueFor(e).evaluate(e).hover),L("neutral-fill-inverse-active").withDefault(e=>na.getValueFor(e).evaluate(e).active),L("neutral-fill-inverse-focus").withDefault(e=>na.getValueFor(e).evaluate(e).focus)},C001:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var a=n("Y1A4"),i=n("cBsD"),r=n("HN6m"),o=n("qqMp"),s=n("ZgG/"),c=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};class d extends a.a{get personDetails(){return this._personDetails}set personDetails(e){this._personDetails!==e&&(this._personDetails=e,this.requestStateUpdate())}get isCompact(){return this._isCompact}constructor(){super(),this._isCompact=!1,this._personDetails=null}asCompactView(){return this._isCompact=!0,this.requestUpdate(),this}asFullView(){return this._isCompact=!1,this.requestUpdate(),this}clearState(){this._isCompact=!1,this._personDetails=null}render(){return this.isCompact?this.renderCompactView():this.renderFullView()}renderLoading(){return i.a` +
+ +
+ `}renderNoData(){return o.c` +
No data
+ `}navigateCard(e){var t;let n=this.parentNode;for(;n;){n=n.parentNode;const e=n;if((null===(t=null==e?void 0:e.host)||void 0===t?void 0:t.tagName)===`${r.a.prefix}-PERSON-CARD`.toUpperCase()){n=e.host;break}}n.navigate(e)}}!function(e,t,n,a){var i,r=arguments.length,o=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,a);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);r>3&&o&&Object.defineProperty(t,n,o)}([Object(s.b)({attribute:"person-details",type:Object}),c("design:type",Object),c("design:paramtypes",[Object])],d.prototype,"personDetails",null)},C5kU:function(e,t,n){"use strict";n.d(t,"a",function(){return r}),n.d(t,"b",function(){return o}),n.d(t,"d",function(){return s}),n.d(t,"c",function(){return c}),n.d(t,"e",function(){return d});var a=n("6BDD"),i=n("+53S");class r{handleStartContentChange(){this.startContainer.classList.toggle("start",this.start.assignedNodes().length>0)}handleEndContentChange(){this.endContainer.classList.toggle("end",this.end.assignedNodes().length>0)}}const o=(e,t)=>a.a` + t.end?"end":void 0} + > + + ${t.end||""} + + +`,s=(e,t)=>a.a` + + + ${t.start||""} + + +`,c=a.a` + + + +`,d=a.a` + + + +`},D4ZN:function(e,t,n){"use strict";n.d(t,"b",function(){return s}),n.d(t,"a",function(){return c});var a=n("qqMp"),i=n("dblZ");const r=[a.b` +:host([hidden]){display:none}:host{display:block;font-family:var(--default-font-family, "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, "BlinkMacSystemFont", "Roboto", "Helvetica Neue", sans-serif);font-size:var(--default-font-size,14px);--theme-primary-color:#0078d7;--theme-dark-color:#005a9e}:focus-visible{outline-color:var(--focus-ring-color,Highlight);outline-color:var(--focus-ring-color,-webkit-focus-ring-color);outline-style:var(--focus-ring-style,auto)}.ms-icon{display:inline-block;font-family:FabricMDL2Icons;font-style:normal;font-weight:400;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:4px 0}.error{background-color:#fde7e9;padding-block:8px;padding-inline:8px 12px}.ms-icon-chevron-down::before{content:"\\\e70d"}.ms-icon-chevron-up::before{content:"\\\e70e"}.ms-icon-contact::before{content:"\\\e77b"}.ms-icon-add-friend::before{content:"\\\e8fa"}.ms-icon-outlook-logo-inverser::before{content:"\\\eb6d"} +`];var o=n("0mOt");const s=()=>Object(o.b)("spinner",c);class c extends i.b{static get styles(){return r}render(){return a.c``}}},DNu6:function(e,t,n){"use strict";n.d(t,"b",function(){return s}),n.d(t,"a",function(){return c});var a=n("zFbe"),i=n("/i08"),r=n("d3jT"),o=n("R2TB");const s="mgt-db-list";class c{static getCache(e,t){const n=`${e.name}/${t}`;return this.isInitialized||this.init(),this.cacheStore.has(t)||this.cacheStore.set(n,new r.a(e,t)),this.cacheStore.get(n)}static clearCacheById(e){const t=[],n=JSON.parse(localStorage.getItem(s));if(n){const a=[];n.forEach(n=>{n.includes(e)?t.push(new Promise((e,t)=>{const a=indexedDB.deleteDatabase(n);a.onsuccess=()=>e(),a.onerror=()=>{Object(o.a)(`${a.error.name} occurred deleting cache: ${n}`,a.error.message),t()}})):a.push(n)}),a.length>0?localStorage.setItem(s,JSON.stringify(a)):localStorage.removeItem(s)}return Promise.all(t)}static get config(){return this.cacheConfig}static init(){let e;a.a.globalProvider&&(e=a.a.globalProvider.state),a.a.onProviderUpdated(()=>{return t=this,void 0,r=function*(){if(e===i.c.SignedIn&&a.a.globalProvider.state===i.c.SignedOut){const e=yield a.a.getCacheId();null!==e&&(yield this.clearCacheById(e))}e=a.a.globalProvider.state},new((n=void 0)||(n=Promise))(function(e,a){function i(e){try{s(r.next(e))}catch(e){a(e)}}function o(e){try{s(r.throw(e))}catch(e){a(e)}}function s(t){var a;t.done?e(t.value):(a=t.value,a instanceof n?a:new n(function(e){e(a)})).then(i,o)}s((r=r.apply(t,[])).next())});var t,n,r}),this.isInitialized=!0}}c.cacheStore=new Map,c.isInitialized=!1,c.cacheConfig={defaultInvalidationPeriod:36e5,groups:{invalidationPeriod:null,isEnabled:!0},isEnabled:!0,people:{invalidationPeriod:null,isEnabled:!0},photos:{invalidationPeriod:null,isEnabled:!0},presence:{invalidationPeriod:3e5,isEnabled:!0},users:{invalidationPeriod:null,isEnabled:!0},response:{invalidationPeriod:null,isEnabled:!0},files:{invalidationPeriod:null,isEnabled:!0},fileLists:{invalidationPeriod:null,isEnabled:!0},conversation:{invalidationPeriod:432e6,isEnabled:!0}}},E7Zv:function(e,t,n){"use strict";n.d(t,"a",function(){return a});const a=(...e)=>{const t=e[0];let n=t;for(let t=1;te instanceof HTMLElement)}function i(e,t){if(e&&t&&a(e))return Array.from(e.querySelectorAll(t)).filter(e=>null!==e.offsetParent)}let r;function o(){if("boolean"==typeof r)return r;if("undefined"==typeof window||!window.document||!window.document.createElement)return r=!1,r;const e=document.createElement("style"),t=function(){const e=document.querySelector('meta[property="csp-nonce"]');return e?e.getAttribute("content"):null}();null!==t&&e.setAttribute("nonce",t),document.head.appendChild(e);try{e.sheet.insertRule("foo:focus-visible {color:inherit}",0),r=!0}catch(e){r=!1}finally{document.head.removeChild(e)}return r}n.d(t,"c",function(){return a}),n.d(t,"b",function(){return i}),n.d(t,"a",function(){return o})},FVZ7:function(e,t,n){"use strict";n.d(t,"a",function(){return r}),n.d(t,"b",function(){return o});var a=n("4X57"),i=n("8hiW");const r=a.b` + outline: calc(${i.y} * 1px) solid ${i.x}; + outline-offset: calc(${i.y} * -1px); +`,o=a.b` + outline: calc(${i.y} * 1px) solid ${i.x}; + outline-offset: calc(${i.vb} * 1px); +`},GcG9:function(e,t,n){"use strict";n.d(t,"a",function(){return r}),n.d(t,"b",function(){return a}),n.d(t,"c",function(){return i});const a={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},i=e=>(...t)=>({_$litDirective$:e,values:t});class r{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,n){this._$Ct=e,this._$AM=t,this._$Ci=n}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}}},Gy7L:function(e,t,n){"use strict";var a;n.d(t,"b",function(){return i}),n.d(t,"c",function(){return r}),n.d(t,"d",function(){return o}),n.d(t,"e",function(){return s}),n.d(t,"g",function(){return c}),n.d(t,"h",function(){return d}),n.d(t,"j",function(){return l}),n.d(t,"f",function(){return u}),n.d(t,"i",function(){return f}),n.d(t,"k",function(){return p}),n.d(t,"l",function(){return m}),n.d(t,"m",function(){return _}),n.d(t,"n",function(){return h}),n.d(t,"a",function(){return b}),function(e){e[e.alt=18]="alt",e[e.arrowDown=40]="arrowDown",e[e.arrowLeft=37]="arrowLeft",e[e.arrowRight=39]="arrowRight",e[e.arrowUp=38]="arrowUp",e[e.back=8]="back",e[e.backSlash=220]="backSlash",e[e.break=19]="break",e[e.capsLock=20]="capsLock",e[e.closeBracket=221]="closeBracket",e[e.colon=186]="colon",e[e.colon2=59]="colon2",e[e.comma=188]="comma",e[e.ctrl=17]="ctrl",e[e.delete=46]="delete",e[e.end=35]="end",e[e.enter=13]="enter",e[e.equals=187]="equals",e[e.equals2=61]="equals2",e[e.equals3=107]="equals3",e[e.escape=27]="escape",e[e.forwardSlash=191]="forwardSlash",e[e.function1=112]="function1",e[e.function10=121]="function10",e[e.function11=122]="function11",e[e.function12=123]="function12",e[e.function2=113]="function2",e[e.function3=114]="function3",e[e.function4=115]="function4",e[e.function5=116]="function5",e[e.function6=117]="function6",e[e.function7=118]="function7",e[e.function8=119]="function8",e[e.function9=120]="function9",e[e.home=36]="home",e[e.insert=45]="insert",e[e.menu=93]="menu",e[e.minus=189]="minus",e[e.minus2=109]="minus2",e[e.numLock=144]="numLock",e[e.numPad0=96]="numPad0",e[e.numPad1=97]="numPad1",e[e.numPad2=98]="numPad2",e[e.numPad3=99]="numPad3",e[e.numPad4=100]="numPad4",e[e.numPad5=101]="numPad5",e[e.numPad6=102]="numPad6",e[e.numPad7=103]="numPad7",e[e.numPad8=104]="numPad8",e[e.numPad9=105]="numPad9",e[e.numPadDivide=111]="numPadDivide",e[e.numPadDot=110]="numPadDot",e[e.numPadMinus=109]="numPadMinus",e[e.numPadMultiply=106]="numPadMultiply",e[e.numPadPlus=107]="numPadPlus",e[e.openBracket=219]="openBracket",e[e.pageDown=34]="pageDown",e[e.pageUp=33]="pageUp",e[e.period=190]="period",e[e.print=44]="print",e[e.quote=222]="quote",e[e.scrollLock=145]="scrollLock",e[e.shift=16]="shift",e[e.space=32]="space",e[e.tab=9]="tab",e[e.tilde=192]="tilde",e[e.windowsLeft=91]="windowsLeft",e[e.windowsOpera=219]="windowsOpera",e[e.windowsRight=92]="windowsRight"}(a||(a={}));const i="ArrowDown",r="ArrowLeft",o="ArrowRight",s="ArrowUp",c="Enter",d="Escape",l="Home",u="End",f="F2",p="PageDown",m="PageUp",_=" ",h="Tab",b={ArrowDown:i,ArrowLeft:r,ArrowRight:o,ArrowUp:s}},HN6m:function(e,t,n){"use strict";n.d(t,"a",function(){return a});const a=new class{constructor(){this._disambiguation=""}get defaultPrefix(){return"mgt"}withDisambiguation(e){return e&&!this._disambiguation&&(this._disambiguation=e),this}get prefix(){return this._disambiguation?`${this.defaultPrefix}-${this._disambiguation}`:this.defaultPrefix}get disambiguation(){return this._disambiguation}get isDisambiguated(){return Boolean(this._disambiguation)}normalize(e){return this.isDisambiguated?e.toUpperCase().replace(this.prefix.toUpperCase(),this.defaultPrefix.toUpperCase()):e}}},KKsr:function(e,t,n){"use strict";n.d(t,"a",function(){return _}),n.d(t,"e",function(){return h}),n.d(t,"d",function(){return b}),n.d(t,"b",function(){return g}),n.d(t,"c",function(){return v});var a=n("4X57"),i=n("8GQ4"),r=n("2i1/"),o=n("j9Xn"),s=n("8hiW"),c=n("NLdk"),d=n("QkLF"),l=n("FVZ7");const u=i.a.create("input-placeholder-rest").withDefault(e=>{const t=s.N.getValueFor(e);return s.db.getValueFor(e).evaluate(e,t.evaluate(e).rest)}),f=i.a.create("input-placeholder-hover").withDefault(e=>{const t=s.N.getValueFor(e);return s.db.getValueFor(e).evaluate(e,t.evaluate(e).hover)}),p=i.a.create("input-filled-placeholder-rest").withDefault(e=>{const t=s.U.getValueFor(e);return s.db.getValueFor(e).evaluate(e,t.evaluate(e).rest)}),m=i.a.create("input-filled-placeholder-hover").withDefault(e=>{const t=s.U.getValueFor(e);return s.db.getValueFor(e).evaluate(e,t.evaluate(e).hover)}),_=(e,t,n)=>a.a` + :host { + ${c.a} + color: ${s.fb}; + fill: currentcolor; + user-select: none; + position: relative; + } + + ${n} { + box-sizing: border-box; + position: relative; + color: inherit; + border: calc(${s.vb} * 1px) solid transparent; + border-radius: calc(${s.q} * 1px); + height: calc(${d.a} * 1px); + font-family: inherit; + font-size: inherit; + line-height: inherit; + } + + .control { + width: 100%; + outline: none; + } + + .label { + display: block; + color: ${s.fb}; + cursor: pointer; + ${c.a} + margin-bottom: 4px; + } + + .label__hidden { + display: none; + visibility: hidden; + } + + :host([disabled]) ${n}, + :host([readonly]) ${n}, + :host([disabled]) .label, + :host([readonly]) .label, + :host([disabled]) .control, + :host([readonly]) .control { + cursor: ${r.a}; + } + + :host([disabled]) { + opacity: ${s.u}; + } +`,h=(e,t,n)=>a.a` + @media (forced-colors: none) { + :host(:not([disabled]):active)::after { + left: 50%; + width: 40%; + transform: translateX(-50%); + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + } + + :host(:not([disabled]):focus-within)::after { + left: 0; + width: 100%; + transform: none; + } + + :host(:not([disabled]):active)::after, + :host(:not([disabled]):focus-within:not(:active))::after { + content: ''; + position: absolute; + height: calc(${s.y} * 1px); + bottom: 0; + border-bottom: calc(${s.y} * 1px) solid ${s.e}; + border-bottom-left-radius: calc(${s.q} * 1px); + border-bottom-right-radius: calc(${s.q} * 1px); + z-index: 2; + transition: all 300ms cubic-bezier(0.1, 0.9, 0.2, 1); + } + } +`,b=(e,t,n,i=":not([disabled]):not(:focus-within)")=>a.a` + ${n} { + background: padding-box linear-gradient(${s.O}, ${s.O}), + border-box ${s.pb}; + } + + :host(${i}:hover) ${n} { + background: padding-box linear-gradient(${s.M}, ${s.M}), + border-box ${s.ob}; + } + + :host(:not([disabled]):focus-within) ${n} { + background: padding-box linear-gradient(${s.L}, ${s.L}), + border-box ${s.pb}; + } + + :host([disabled]) ${n} { + background: padding-box linear-gradient(${s.O}, ${s.O}), + border-box ${s.rb}; + } + + .control::placeholder { + color: ${u}; + } + + :host(${i}:hover) .control::placeholder { + color: ${f}; + } +`,g=(e,t,n,i=":not([disabled]):not(:focus-within)")=>a.a` + ${n} { + background: ${s.V}; + } + + :host(${i}:hover) ${n} { + background: ${s.T}; + } + + :host(:not([disabled]):focus-within) ${n} { + background: ${s.S}; + } + + :host([disabled]) ${n} { + background: ${s.V}; + } + + .control::placeholder { + color: ${p}; + } + + :host(${i}:hover) .control::placeholder { + color: ${m}; + } +`,v=(e,t,n,i=":not([disabled]):not(:focus-within)")=>a.a` + :host { + color: ${o.a.ButtonText}; + } + + ${n} { + background: ${o.a.ButtonFace}; + border-color: ${o.a.ButtonText}; + } + + :host(${i}:hover) ${n}, + :host(:not([disabled]):focus-within) ${n} { + border-color: ${o.a.Highlight}; + } + + :host([disabled]) ${n} { + opacity: 1; + background: ${o.a.ButtonFace}; + border-color: ${o.a.GrayText}; + } + + .control::placeholder, + :host(${i}:hover) .control::placeholder { + color: ${o.a.CanvasText}; + } + + :host(:not([disabled]):focus) ${n} { + ${l.a} + outline-color: ${o.a.Highlight}; + } + + :host([disabled]) { + opacity: 1; + color: ${o.a.GrayText}; + } + + :host([disabled]) ::placeholder, + :host([disabled]) ::-webkit-input-placeholder { + color: ${o.a.GrayText}; + } +`},Kct4:function(e,t,n){"use strict";n.d(t,"a",function(){return i});const a=(-.1+Math.sqrt(.21))/2;function i(e){return e.relativeLuminance<=a}},Mjrb:function(e,t,n){"use strict";n.d(t,"a",function(){return p});var a=n("eftJ"),i=n("QBS5"),r=n("oePG"),o=n("uXNP"),s=n("C5kU"),c=n("6fxl"),d=n("o87Z"),l=n("TDEi");class u extends l.a{}class f extends(Object(d.b)(u)){constructor(){super(...arguments),this.proxy=document.createElement("input")}}class p extends f{constructor(){super(...arguments),this.handleClick=e=>{var t;this.disabled&&(null===(t=this.defaultSlottedContent)||void 0===t?void 0:t.length)<=1&&e.stopPropagation()},this.handleSubmission=()=>{if(!this.form)return;const e=this.proxy.isConnected;e||this.attachProxy(),"function"==typeof this.form.requestSubmit?this.form.requestSubmit(this.proxy):this.proxy.click(),e||this.detachProxy()},this.handleFormReset=()=>{var e;null===(e=this.form)||void 0===e||e.reset()},this.handleUnsupportedDelegatesFocus=()=>{var e;window.ShadowRoot&&!window.ShadowRoot.prototype.hasOwnProperty("delegatesFocus")&&(null===(e=this.$fastController.definition.shadowOptions)||void 0===e?void 0:e.delegatesFocus)&&(this.focus=()=>{this.control.focus()})}}formactionChanged(){this.proxy instanceof HTMLInputElement&&(this.proxy.formAction=this.formaction)}formenctypeChanged(){this.proxy instanceof HTMLInputElement&&(this.proxy.formEnctype=this.formenctype)}formmethodChanged(){this.proxy instanceof HTMLInputElement&&(this.proxy.formMethod=this.formmethod)}formnovalidateChanged(){this.proxy instanceof HTMLInputElement&&(this.proxy.formNoValidate=this.formnovalidate)}formtargetChanged(){this.proxy instanceof HTMLInputElement&&(this.proxy.formTarget=this.formtarget)}typeChanged(e,t){this.proxy instanceof HTMLInputElement&&(this.proxy.type=this.type),"submit"===t&&this.addEventListener("click",this.handleSubmission),"submit"===e&&this.removeEventListener("click",this.handleSubmission),"reset"===t&&this.addEventListener("click",this.handleFormReset),"reset"===e&&this.removeEventListener("click",this.handleFormReset)}validate(){super.validate(this.control)}connectedCallback(){var e;super.connectedCallback(),this.proxy.setAttribute("type",this.type),this.handleUnsupportedDelegatesFocus();const t=Array.from(null===(e=this.control)||void 0===e?void 0:e.children);t&&t.forEach(e=>{e.addEventListener("click",this.handleClick)})}disconnectedCallback(){var e;super.disconnectedCallback();const t=Array.from(null===(e=this.control)||void 0===e?void 0:e.children);t&&t.forEach(e=>{e.removeEventListener("click",this.handleClick)})}}Object(a.a)([Object(i.c)({mode:"boolean"})],p.prototype,"autofocus",void 0),Object(a.a)([Object(i.c)({attribute:"form"})],p.prototype,"formId",void 0),Object(a.a)([i.c],p.prototype,"formaction",void 0),Object(a.a)([i.c],p.prototype,"formenctype",void 0),Object(a.a)([i.c],p.prototype,"formmethod",void 0),Object(a.a)([Object(i.c)({mode:"boolean"})],p.prototype,"formnovalidate",void 0),Object(a.a)([i.c],p.prototype,"formtarget",void 0),Object(a.a)([i.c],p.prototype,"type",void 0),Object(a.a)([r.d],p.prototype,"defaultSlottedContent",void 0);class m{}Object(a.a)([Object(i.c)({attribute:"aria-expanded"})],m.prototype,"ariaExpanded",void 0),Object(a.a)([Object(i.c)({attribute:"aria-pressed"})],m.prototype,"ariaPressed",void 0),Object(c.a)(m,o.a),Object(c.a)(p,s.a,m)},NLdk:function(e,t,n){"use strict";n.d(t,"a",function(){return r});var a=n("4X57"),i=n("8hiW");const r=a.b` + font-family: ${i.p}; + font-size: ${i.wb}; + line-height: ${i.yb}; + font-weight: initial; + font-variation-settings: ${i.xb}; +`;a.b` + font-family: ${i.p}; + font-size: ${i.zb}; + line-height: ${i.Bb}; + font-weight: initial; + font-variation-settings: ${i.Ab}; +`,a.b` + font-family: ${i.p}; + font-size: ${i.Cb}; + line-height: ${i.Eb}; + font-weight: initial; + font-variation-settings: ${i.Db}; +`,a.b` + font-family: ${i.p}; + font-size: ${i.Fb}; + line-height: ${i.Hb}; + font-weight: initial; + font-variation-settings: ${i.Gb}; +`,a.b` + font-family: ${i.p}; + font-size: ${i.Ib}; + line-height: ${i.Kb}; + font-weight: initial; + font-variation-settings: ${i.Jb}; +`,a.b` + font-family: ${i.p}; + font-size: ${i.Lb}; + line-height: ${i.Nb}; + font-weight: initial; + font-variation-settings: ${i.Mb}; +`,a.b` + font-family: ${i.p}; + font-size: ${i.Ob}; + line-height: ${i.Qb}; + font-weight: initial; + font-variation-settings: ${i.Pb}; +`,a.b` + font-family: ${i.p}; + font-size: ${i.Rb}; + line-height: ${i.Tb}; + font-weight: initial; + font-variation-settings: ${i.Sb}; +`,a.b` + font-family: ${i.p}; + font-size: ${i.Ub}; + line-height: ${i.Wb}; + font-weight: initial; + font-variation-settings: ${i.Vb}; +`},Ne8q:function(e,t,n){"use strict";n.d(t,"a",function(){return i});const a=document.createRange();class i{constructor(e,t){this.fragment=e,this.behaviors=t,this.source=null,this.context=null,this.firstChild=e.firstChild,this.lastChild=e.lastChild}appendTo(e){e.appendChild(this.fragment)}insertBefore(e){if(this.fragment.hasChildNodes())e.parentNode.insertBefore(this.fragment,e);else{const t=this.lastChild;if(e.previousSibling===t)return;const n=e.parentNode;let a,i=this.firstChild;for(;i!==t;)a=i.nextSibling,n.insertBefore(i,e),i=a;n.insertBefore(t,e)}}remove(){const e=this.fragment,t=this.lastChild;let n,a=this.firstChild;for(;a!==t;)n=a.nextSibling,e.appendChild(a),a=n;e.appendChild(t)}dispose(){const e=this.firstChild.parentNode,t=this.lastChild;let n,a=this.firstChild;for(;a!==t;)n=a.nextSibling,e.removeChild(a),a=n;e.removeChild(t);const i=this.behaviors,r=this.source;for(let e=0,t=i.length;e{this.focus()})}select(){this.control.select(),this.$emit("select")}handleTextInput(){this.value=this.control.value}handleChange(){this.$emit("change")}validate(){super.validate(this.control)}}Object(r.a)([Object(i.c)({attribute:"readonly",mode:"boolean"})],_.prototype,"readOnly",void 0),Object(r.a)([Object(i.c)({mode:"boolean"})],_.prototype,"autofocus",void 0),Object(r.a)([i.c],_.prototype,"placeholder",void 0),Object(r.a)([i.c],_.prototype,"type",void 0),Object(r.a)([i.c],_.prototype,"list",void 0),Object(r.a)([Object(i.c)({converter:i.e})],_.prototype,"maxlength",void 0),Object(r.a)([Object(i.c)({converter:i.e})],_.prototype,"minlength",void 0),Object(r.a)([i.c],_.prototype,"pattern",void 0),Object(r.a)([Object(i.c)({converter:i.e})],_.prototype,"size",void 0),Object(r.a)([Object(i.c)({mode:"boolean"})],_.prototype,"spellcheck",void 0),Object(r.a)([s.d],_.prototype,"defaultSlottedNodes",void 0);class h{}Object(l.a)(h,c.a),Object(l.a)(_,d.a,h);var b=n("6BDD"),g=n("UauI"),v=n("+53S"),y=n("6gCt"),S=n("4X57"),D=n("xY0q"),I=n("oqLQ"),x=n("KKsr"),C=n("57ob"),O=n("8hiW");const w=".root";class E extends _{appearanceChanged(e,t){e!==t&&(this.classList.add(t),this.classList.remove(e))}connectedCallback(){super.connectedCallback(),this.appearance||(this.appearance="outline")}}Object(a.a)([i.c],E.prototype,"appearance",void 0);const A=E.compose({baseName:"text-field",baseClass:_,template:(e,t)=>b.a` + +`,styles:(e,t)=>S.a` + ${Object(D.a)("inline-block")} + + ${Object(x.a)(e,t,w)} + + ${Object(x.e)(e,t,w)} + + .root { + display: flex; + flex-direction: row; + } + + .control { + -webkit-appearance: none; + color: inherit; + background: transparent; + border: 0; + height: calc(100% - 4px); + margin-top: auto; + margin-bottom: auto; + padding: 0 calc(${O.s} * 2px + 1px); + font-family: inherit; + font-size: inherit; + line-height: inherit; + } + + .start, + .end { + display: flex; + margin: auto; + } + + .start { + display: flex; + margin-inline-start: 11px; + } + + .end { + display: flex; + margin-inline-end: 11px; + } + `.withBehaviors(Object(C.a)("outline",Object(x.d)(e,t,w)),Object(C.a)("filled",Object(x.b)(e,t,w)),Object(I.a)(Object(x.c)(e,t,w))),shadowOptions:{delegatesFocus:!0}})},P4Ao:function(e,t,n){"use strict";n.d(t,"a",function(){return f});var a=n("5ZAu"),i=n("O/9U"),r=n("oePG"),o=n("WniA");const s=new WeakMap,c={bubbles:!0,composed:!0,cancelable:!0};function d(e){return e.shadowRoot||s.get(e)||null}class l extends i.a{constructor(e,t){super(e),this.boundObservables=null,this.behaviors=null,this.needsInitialization=!0,this._template=null,this._styles=null,this._isConnected=!1,this.$fastController=this,this.view=null,this.element=e,this.definition=t;const n=t.shadowOptions;if(void 0!==n){const t=e.attachShadow(n);"closed"===n.mode&&s.set(e,t)}const a=r.b.getAccessors(e);if(a.length>0){const t=this.boundObservables=Object.create(null);for(let n=0,i=a.length;nu(e),define:(e,t)=>new o.a(e,t).define().type})},PT2o:function(e,t,n){"use strict";n.d(t,"a",function(){return i});var a=n("0q6d");class i{constructor(e,t,n){this.h=e,this.s=t,this.l=n}static fromObject(e){return!e||isNaN(e.h)||isNaN(e.s)||isNaN(e.l)?null:new i(e.h,e.s,e.l)}equalValue(e){return this.h===e.h&&this.s===e.s&&this.l===e.l}roundToPrecision(e){return new i(Object(a.i)(this.h,e),Object(a.i)(this.s,e),Object(a.i)(this.l,e))}toObject(){return{h:this.h,s:this.s,l:this.l}}}},Q5AN:function(e,t,n){"use strict";n.d(t,"b",function(){return r}),n.d(t,"a",function(){return o});var a=n("oePG"),i=n("oZuh");function r(e){return e?function(t,n,a){return 1===t.nodeType&&t.matches(e)}:function(e,t,n){return 1===e.nodeType}}class o{constructor(e,t){this.target=e,this.options=t,this.source=null}bind(e){const t=this.options.property;this.shouldUpdate=a.b.getAccessors(e).some(e=>e.name===t),this.source=e,this.updateTarget(this.computeNodes()),this.shouldUpdate&&this.observe()}unbind(){this.updateTarget(i.d),this.source=null,this.shouldUpdate&&this.disconnect()}handleEvent(){this.updateTarget(this.computeNodes())}computeNodes(){let e=this.getNodes();return void 0!==this.options.filter&&(e=e.filter(this.options.filter)),e}updateTarget(e){this.source[this.options.property]=e}}},QBS5:function(e,t,n){"use strict";n.d(t,"a",function(){return o}),n.d(t,"d",function(){return s}),n.d(t,"e",function(){return c}),n.d(t,"b",function(){return d}),n.d(t,"c",function(){return l});var a=n("oePG"),i=n("5ZAu"),r=n("oZuh");const o=Object.freeze({locate:Object(r.c)()}),s={toView:e=>e?"true":"false",fromView:e=>null!=e&&"false"!==e&&!1!==e&&0!==e},c={toView(e){if(null==e)return null;const t=1*e;return isNaN(t)?null:t.toString()},fromView(e){if(null==e)return null;const t=1*e;return isNaN(t)?null:t}};class d{constructor(e,t,n=t.toLowerCase(),a="reflect",i){this.guards=new Set,this.Owner=e,this.name=t,this.attribute=n,this.mode=a,this.converter=i,this.fieldName=`_${t}`,this.callbackName=`${t}Changed`,this.hasCallback=this.callbackName in e.prototype,"boolean"===a&&void 0===i&&(this.converter=s)}setValue(e,t){const n=e[this.fieldName],a=this.converter;void 0!==a&&(t=a.fromView(t)),n!==t&&(e[this.fieldName]=t,this.tryReflectToAttribute(e),this.hasCallback&&e[this.callbackName](n,t),e.$fastController.notify(this.name))}getValue(e){return a.b.track(e,this.name),e[this.fieldName]}onAttributeChangedCallback(e,t){this.guards.has(e)||(this.guards.add(e),this.setValue(e,t),this.guards.delete(e))}tryReflectToAttribute(e){const t=this.mode,n=this.guards;n.has(e)||"fromView"===t||i.a.queueUpdate(()=>{n.add(e);const a=e[this.fieldName];switch(t){case"reflect":const t=this.converter;i.a.setAttribute(e,this.attribute,void 0!==t?t.toView(a):a);break;case"boolean":i.a.setBooleanAttribute(e,this.attribute,a)}n.delete(e)})}static collect(e,...t){const n=[];t.push(o.locate(e));for(let a=0,i=t.length;a1&&(n.property=t),o.locate(e.constructor).push(n)}return arguments.length>1?(n={},void a(e,t)):(n=void 0===e?{}:e,a)}},QkLF:function(e,t,n){"use strict";n.d(t,"a",function(){return r});var a=n("4X57"),i=n("8hiW");const r=a.b`(${i.n} + ${i.r}) * ${i.s}`},R2TB:function(e,t,n){"use strict";n.d(t,"b",function(){return i}),n.d(t,"c",function(){return r}),n.d(t,"a",function(){return o});const a=(e,...t)=>[(new Date).toISOString(),"🦒: ",e,t],i=(e,...t)=>console.log(...a(e,t)),r=(e,...t)=>console.warn(...a(e,t)),o=(e,...t)=>console.error(...a(e,t))},RIOo:function(e,t,n){"use strict";n.d(t,"a",function(){return r});var a=n("EYXE"),i=n("zFbe");const r=(...e)=>{const t={scopes:e};return i.a.globalProvider.isIncrementalConsentDisabled?[]:[new a.AuthenticationHandlerOptions(void 0,t)]}},"RN7+":function(e,t,n){"use strict";n.d(t,"a",function(){return i});var a=n("0q6d");class i{constructor(e,t,n){this.l=e,this.a=t,this.b=n}static fromObject(e){return!e||isNaN(e.l)||isNaN(e.a)||isNaN(e.b)?null:new i(e.l,e.a,e.b)}equalValue(e){return this.l===e.l&&this.a===e.a&&this.b===e.b}roundToPrecision(e){return new i(Object(a.i)(this.l,e),Object(a.i)(this.a,e),Object(a.i)(this.b,e))}toObject(){return{l:this.l,a:this.a,b:this.b}}}i.epsilon=216/24389,i.kappa=24389/27},SUtl:function(e,t,n){"use strict";n.d(t,"a",function(){return h}),n.d(t,"b",function(){return b});var a=n("EYXE"),i=n("/49y"),r=n("4Eu1"),o=n("RIOo");class s{constructor(e,t,n,a){this.resource=n.startsWith("/")?n:`/${n}`,this.method=a,this.index=e,this.id=t}}var c=function(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})};class d{static get baseUrl(){return"https://graph.microsoft.com"}constructor(e){this.graph=e,this.allRequests=[],this.requestsQueue=[],this.scopes=[],this.nextIndex=0,this.retryAfter=0}get hasRequests(){return this.requestsQueue.length>0}get(e,t,n,a){const i=this.nextIndex++,r=new s(i,e,t,"GET");r.headers=a,this.allRequests.push(r),this.requestsQueue.push(i),n&&(this.scopes=this.scopes.concat(n))}executeNext(){return c(this,void 0,void 0,function*(){const e=new Map;var t,n,i;if(this.retryAfter&&(yield(t=1e3*this.retryAfter,void 0,void 0,n=void 0,i=function*(){return new Promise(e=>{setTimeout(e,t)})},new(n||(n=Promise))(function(e,t){function a(e){try{o(i.next(e))}catch(e){t(e)}}function r(e){try{o(i.throw(e))}catch(e){t(e)}}function o(t){var i;t.done?e(t.value):(i=t.value,i instanceof n?i:new n(function(e){e(i)})).then(a,r)}o((i=i.apply(undefined,[])).next())})),this.retryAfter=0),!this.hasRequests)return e;const s=this.requestsQueue.splice(0,20),c=new a.BatchRequestContent;for(const e of s.map(e=>this.allRequests[e]))c.addRequest({id:e.index.toString(),request:new Request(d.baseUrl+e.resource,{method:e.method,headers:e.headers})});const l=this.scopes.length?Object(o.a)(...this.scopes):[],u=this.graph.api("$batch").middlewareOptions(l),f=yield c.getContent(),p=yield u.post(f);for(const t of p.responses){const n=new r.a,a=parseInt(t.id,10),i=this.allRequests[a];if(n.id=i.id,n.index=i.index,n.headers=t.headers,200===t.status)"string"==typeof t.body?t.headers["Content-Type"].includes("image/jpeg")?n.content="data:image/jpeg;base64,"+t.body:t.headers["Content-Type"].includes("image/pjpeg")?n.content="data:image/pjpeg;base64,"+t.body:t.headers["Content-Type"].includes("image/png")&&(n.content="data:image/png;base64,"+t.body):n.content=t.body,e.set(i.id,n);else if(429===t.status){this.requestsQueue.unshift(a);const e=t.headers["Retry-After"];this.retryAfter=Math.max(this.retryAfter,parseInt(e,10)||1)}}return e})}executeAll(){return c(this,void 0,void 0,function*(){const e=new Map;for(;this.hasRequests;){const t=yield this.executeNext();for(const[n,a]of t)e.set(n,a)}return e})}}class l{constructor(e){this.componentName="string"==typeof e?e:e.tagName.toLowerCase()}}var u=n("E7Zv");Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError;var f=n("q/PQ");class p{constructor(e,t){this._packageVersion=e,this._providerName=t}execute(e){var t,n,a,i;return n=this,void 0,i=function*(){try{if("string"==typeof e.request)if(Object(f.a)(e.request)){const t=[],n=e.middlewareControl.getMiddlewareOptions(l);if(n){const e=`${n.componentName}/${this._packageVersion}`;t.push(e)}if(this._providerName){const e=`${this._providerName}/${this._packageVersion}`;t.push(e)}const a=`mgt/${this._packageVersion}`;t.push(a),t.push(((e,t,n)=>{let a=null;if("undefined"!=typeof Request&&e instanceof Request)a=e.headers.get(n);else if(void 0!==t&&void 0!==t.headers)if("undefined"!=typeof Headers&&t.headers instanceof Headers)a=t.headers.get(n);else if(t.headers instanceof Array){const e=t.headers;for(let t=0,i=e.length;t{if("undefined"!=typeof Request&&e instanceof Request)e.headers.set(n,a);else if(void 0!==t)if(void 0===t.headers)t.headers=new Headers({[n]:a});else if("undefined"!=typeof Headers&&t.headers instanceof Headers)t.headers.set(n,a);else if(t.headers instanceof Array){let e=0;const i=t.headers.length;for(;e(t._middlewareOptions=t._middlewareOptions.concat(e),t),t=t.middlewareOptions([new l(this._componentName)])),t}createBatch(){return new d(this)}setComponent(e){this._componentName=e instanceof Element?_.a.normalize(e.tagName):e}}const b=(e,t,n)=>{const r=[new a.AuthenticationHandler(e),new a.RetryHandler(new a.RetryHandlerOptions),new a.TelemetryHandler,new p(m.a,e.name),new a.HTTPMessageHandler],o=e.baseURL?e.baseURL:i.a,s=a.Client.initWithMiddleware({middleware:Object(u.a)(...r),customHosts:e.customHosts?new Set(e.customHosts):null,baseUrl:o}),c=new h(s,t);return n?c.forComponent(n):c}},"SiT+":function(e,t,n){"use strict";n.d(t,"a",function(){return i});var a=n("0q6d");class i{constructor(e,t,n){this.l=e,this.c=t,this.h=n}static fromObject(e){return!e||isNaN(e.l)||isNaN(e.c)||isNaN(e.h)?null:new i(e.l,e.c,e.h)}equalValue(e){return this.l===e.l&&this.c===e.c&&this.h===e.h}roundToPrecision(e){return new i(Object(a.i)(this.l,e),Object(a.i)(this.c,e),Object(a.i)(this.h,e))}toObject(){return{l:this.l,c:this.c,h:this.h}}}},TDEi:function(e,t,n){"use strict";n.d(t,"a",function(){return s});var a=n("eftJ"),i=n("P4Ao"),r=n("oePG"),o=n("4gKT");class s extends i.a{constructor(){super(...arguments),this._presentation=void 0}get $presentation(){return void 0===this._presentation&&(this._presentation=o.a.forTag(this.tagName,this)),this._presentation}templateChanged(){void 0!==this.template&&(this.$fastController.template=this.template)}stylesChanged(){void 0!==this.styles&&(this.$fastController.styles=this.styles)}connectedCallback(){null!==this.$presentation&&this.$presentation.applyTo(this),super.connectedCallback()}static compose(e){return(t={})=>new d(this===s?class extends s{}:this,e,t)}}function c(e,t,n){return"function"==typeof e?e(t,n):e}Object(a.a)([r.d],s.prototype,"template",void 0),Object(a.a)([r.d],s.prototype,"styles",void 0);class d{constructor(e,t,n){this.type=e,this.elementDefinition=t,this.overrideDefinition=n,this.definition=Object.assign(Object.assign({},this.elementDefinition),this.overrideDefinition)}register(e,t){const n=this.definition,a=this.overrideDefinition,i=`${n.prefix||t.elementPrefix}-${n.baseName}`;t.tryDefineElement({name:i,type:this.type,baseClass:this.elementDefinition.baseClass,callback:e=>{const t=new o.b(c(n.template,e,n),c(n.styles,e,n));e.definePresentation(t);let i=c(n.shadowOptions,e,n);e.shadowRootMode&&(i?a.shadowOptions||(i.mode=e.shadowRootMode):null!==i&&(i={mode:e.shadowRootMode})),e.defineElement({elementOptions:c(n.elementOptions,e,n),shadowOptions:i,attributes:c(n.attributes,e,n)})}})}}},THNU:function(e,t,n){"use strict";function a(e,t){const n=e.relativeLuminance>t.relativeLuminance?e:t,a=e.relativeLuminance>t.relativeLuminance?t:e;return(n.relativeLuminance+.05)/(a.relativeLuminance+.05)}n.d(t,"a",function(){return a})},UauI:function(e,t,n){"use strict";n.d(t,"a",function(){return o});var a=n("/w5G"),i=n("Q5AN");class r extends i.a{constructor(e,t){super(e,t)}observe(){this.target.addEventListener("slotchange",this)}disconnect(){this.target.removeEventListener("slotchange",this)}getNodes(){return this.target.assignedNodes(this.options)}}function o(e){return"string"==typeof e&&(e={property:e}),new a.a("fast-slotted",r,e)}},V07F:function(e,t,n){"use strict";n.d(t,"a",function(){return f});var a=n("5rba"),i=n("GcG9");const{D:r}=a.a,o=()=>document.createComment(""),s=(e,t,n)=>{const a=e._$AA.parentNode,i=void 0===t?e._$AB:t._$AA;if(void 0===n){const t=a.insertBefore(o(),i),s=a.insertBefore(o(),i);n=new r(t,s,e,e.options)}else{const t=n._$AB.nextSibling,r=n._$AM,o=r!==e;if(o){var s,c;let t;null!==(s=(c=n)._$AQ)&&void 0!==s&&s.call(c,e),n._$AM=e,void 0!==n._$AP&&(t=e._$AU)!==r._$AU&&n._$AP(t)}if(t!==i||o){let e=n._$AA;for(;e!==t;){const t=e.nextSibling;a.insertBefore(e,i),e=t}}}return n},c=(e,t,n=e)=>(e._$AI(t,n),e),d={},l=e=>{var t;null===(t=e._$AP)||void 0===t||t.call(e,!1,!0);let n=e._$AA;const a=e._$AB.nextSibling;for(;n!==a;){const e=n.nextSibling;n.remove(),n=e}},u=(e,t,n)=>{const a=new Map;for(let i=t;i<=n;i++)a.set(e[i],i);return a},f=Object(i.c)(class extends i.a{constructor(e){if(super(e),e.type!==i.b.CHILD)throw Error("repeat() can only be used in text expressions")}ht(e,t,n){let a;void 0===n?n=t:void 0!==t&&(a=t);const i=[],r=[];let o=0;for(const t of e)i[o]=a?a(t,o):o,r[o]=n(t,o),o++;return{values:r,keys:i}}render(e,t,n){return this.ht(e,t,n).values}update(e,[t,n,i]){var r;const o=e._$AH,{values:f,keys:p}=this.ht(t,n,i);if(!Array.isArray(o))return this.dt=p,f;const m=null!==(r=this.dt)&&void 0!==r?r:this.dt=[],_=[];let h,b,g=0,v=o.length-1,y=0,S=f.length-1;for(;g<=v&&y<=S;)if(null===o[g])g++;else if(null===o[v])v--;else if(m[g]===p[y])_[y]=c(o[g],f[y]),g++,y++;else if(m[v]===p[S])_[S]=c(o[v],f[S]),v--,S--;else if(m[g]===p[S])_[S]=c(o[g],f[S]),s(e,_[S+1],o[g]),g++,S--;else if(m[v]===p[y])_[y]=c(o[v],f[y]),s(e,o[g],o[v]),v--,y++;else if(void 0===h&&(h=u(p,y,S),b=u(m,g,v)),h.has(m[g]))if(h.has(m[v])){const t=b.get(p[y]),n=void 0!==t?o[t]:null;if(null===n){const t=s(e,o[g]);c(t,f[y]),_[y]=t}else _[y]=c(n,f[y]),s(e,o[g],n),o[t]=null;y++}else l(o[v]),v--;else l(o[g]),g++;for(;y<=S;){const t=s(e,_[S+1]);c(t,f[y]),_[y++]=t}for(;g<=v;){const e=o[g++];null!==e&&l(e)}return this.dt=p,((e,t=d)=>{e._$AH=t})(e,_),a.c}})},VDxL:function(e,t,n){"use strict";n.d(t,"a",function(){return b});var a=n("WniA"),i=n("TDEi"),r=n("q5bN"),o=n("8GQ4"),s=n("4gKT");const c=Object.freeze({definitionCallbackOnly:null,ignoreDuplicate:Symbol()}),d=new Map,l=new Map;let u=null;const f=r.a.createInterface(e=>e.cachedCallback(e=>(null===u&&(u=new m(null,e)),u))),p=Object.freeze({tagFor:e=>l.get(e),responsibleFor:e=>e.$$designSystem$$||r.a.findResponsibleContainer(e).get(f),getOrCreate(e){if(!e)return null===u&&(u=r.a.getOrCreateDOMContainer().get(f)),u;const t=e.$$designSystem$$;if(t)return t;const n=r.a.getOrCreateDOMContainer(e);if(n.has(f,!1))return n.get(f);{const t=new m(e,n);return n.register(r.b.instance(f,t)),t}}});class m{constructor(e,t){this.owner=e,this.container=t,this.designTokensInitialized=!1,this.prefix="fast",this.shadowRootMode=void 0,this.disambiguate=()=>c.definitionCallbackOnly,null!==e&&(e.$$designSystem$$=this)}withPrefix(e){return this.prefix=e,this}withShadowRootMode(e){return this.shadowRootMode=e,this}withElementDisambiguation(e){return this.disambiguate=e,this}withDesignTokenRoot(e){return this.designTokenRoot=e,this}register(...e){const t=this.container,n=[],a=this.disambiguate,r=this.shadowRootMode,s={elementPrefix:this.prefix,tryDefineElement(e,o,s){const u=function(e,t,n){return"string"==typeof e?{name:e,type:t,callback:n}:e}(e,o,s),{name:f,callback:p,baseClass:m}=u;let{type:h}=u,b=f,g=d.get(b),v=!0;for(;g;){const e=a(b,h,g);switch(e){case c.ignoreDuplicate:return;case c.definitionCallbackOnly:v=!1,g=void 0;break;default:b=e,g=d.get(b)}}v&&((l.has(h)||h===i.a)&&(h=class extends h{}),d.set(b,h),l.set(h,b),m&&l.set(m,b)),n.push(new _(t,b,h,r,p,v))}};this.designTokensInitialized||(this.designTokensInitialized=!0,null!==this.designTokenRoot&&o.a.registerRoot(this.designTokenRoot)),t.registerWithContext(s,...e);for(const e of n)e.callback(e),e.willDefine&&null!==e.definition&&e.definition.define();return this}}class _{constructor(e,t,n,a,i,r){this.container=e,this.name=t,this.type=n,this.shadowRootMode=a,this.callback=i,this.willDefine=r,this.definition=null}definePresentation(e){s.a.define(this.name,e,this.container)}defineElement(e){this.definition=new a.a(this.type,Object.assign(Object.assign({},e),{name:this.name}))}tagFor(e){return p.tagFor(e)}}const h=p.getOrCreate(void 0).withPrefix("fluent"),b=(...e)=>{if(null==e?void 0:e.length)for(const t of e)h.register(t())}},VRJB:function(e,t,n){"use strict";function a(e,t,n){return Math.min(Math.max(n,e),t)}function i(e,t,n=0){return[t,n]=[t,n].sort((e,t)=>e-t),t<=e&&ei.a` + +`,styles:(e,t)=>o.a` + ${Object(c.a)("flex")} :host { + align-items: center; + height: calc(${l.a} * 1px); + width: calc(${l.a} * 1px); + } + + .progress { + height: 100%; + width: 100%; + } + + .background { + fill: none; + stroke-width: 2px; + } + + .determinate { + stroke: ${u.e}; + fill: none; + stroke-width: 2px; + stroke-linecap: round; + transform-origin: 50% 50%; + transform: rotate(-90deg); + transition: all 0.2s ease-in-out; + } + + .indeterminate-indicator-1 { + stroke: ${u.e}; + fill: none; + stroke-width: 2px; + stroke-linecap: round; + transform-origin: 50% 50%; + transform: rotate(-90deg); + transition: all 0.2s ease-in-out; + animation: spin-infinite 2s linear infinite; + } + + :host(.paused) .indeterminate-indicator-1 { + animation: none; + stroke: ${u.cb}; + } + + :host(.paused) .determinate { + stroke: ${u.cb}; + } + + @keyframes spin-infinite { + 0% { + stroke-dasharray: 0.01px 43.97px; + transform: rotate(0deg); + } + 50% { + stroke-dasharray: 21.99px 21.99px; + transform: rotate(450deg); + } + 100% { + stroke-dasharray: 0.01px 43.97px; + transform: rotate(1080deg); + } + } + `.withBehaviors(Object(d.a)(o.a` + .background { + stroke: ${s.a.Field}; + } + .determinate, + .indeterminate-indicator-1 { + stroke: ${s.a.ButtonText}; + } + :host(.paused) .determinate, + :host(.paused) .indeterminate-indicator-1 { + stroke: ${s.a.GrayText}; + } + `)),indeterminateIndicator:'\n \n \n \n \n '})},WHff:function(e,t,n){"use strict";n.d(t,"a",function(){return i});var a=function(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})};class i{get value(){return this._value}get hasNext(){return Boolean(this._nextLink)}static create(e,t,n){return a(this,void 0,void 0,function*(){const a=yield t.get();if(null==a?void 0:a.value){const t=new i;return t._graph=e,t._value=a.value,t._nextLink=a["@odata.nextLink"],t._version=n||e.version,t}return null})}static createFromValue(e,t,n=null){const a=new i;return a._graph=e,a._value=t,a._nextLink=n,a._version=e.version,a}get nextLink(){return this._nextLink||""}next(){var e;return a(this,void 0,void 0,function*(){if(this._nextLink){const t=this._nextLink.split(this._version)[1],n=yield this._graph.api(t).version(this._version).get();if(null===(e=null==n?void 0:n.value)||void 0===e?void 0:e.length)return this._value=this._value.concat(n.value),this._nextLink=n["@odata.nextLink"],n.value}return null})}}},WniA:function(e,t,n){"use strict";n.d(t,"a",function(){return l});var a=n("oZuh"),i=n("oePG"),r=n("+yEz"),o=n("QBS5");const s={mode:"open"},c={},d=a.b.getById(4,()=>{const e=new Map;return Object.freeze({register:t=>!e.has(t.type)&&(e.set(t.type,t),!0),getByType:t=>e.get(t)})});class l{constructor(e,t=e.definition){"string"==typeof t&&(t={name:t}),this.type=e,this.name=t.name,this.template=t.template;const n=o.b.collect(e,t.attributes),a=new Array(n.length),i={},d={};for(let e=0,t=n.length;e=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o},d=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};class l extends o.b{constructor(){super(),this.templates={},this._renderedSlots=!1,this._renderedTemplates={},this._slotNamesAddedDuringRender=[],this.templateContext=this.templateContext||{}}update(e){this.templates=this.getTemplates(),this._slotNamesAddedDuringRender=[],super.update(e)}updated(e){super.updated(e),this.removeUnusedSlottedElements()}renderTemplate(e,t,n){if(!this.hasTemplate(e))return null;n=n||e,this._slotNamesAddedDuringRender.push(n),this._renderedSlots=!0;const a=i.c` + + `,o=Object.assign(Object.assign({},t),this.templateContext);if(Object.prototype.hasOwnProperty.call(this._renderedTemplates,n)){const{context:e,slot:t}=this._renderedTemplates[n];if(Object(r.b)(e,o))return a;this.removeChild(t)}const c=document.createElement("div");c.slot=n,c.dataset.generated="template",s.a.renderTemplate(c,this.templates[e],o),this.appendChild(c),this._renderedTemplates[n]={context:o,slot:c};const d={templateType:e,context:o,element:c};return this.fireCustomEvent("templateRendered",d),a}hasTemplate(e){var t;return Boolean(null===(t=this.templates)||void 0===t?void 0:t[e])}getTemplates(){const e={};for(let t=0;t + ${this.error} +
+ `}removeUnusedSlottedElements(){var e;if(this._renderedSlots){for(let t=0;t=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o},g=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};const v=()=>Object(h.b)("file",y);class y extends o.a{static get styles(){return r}get strings(){return _}get fileQuery(){return this._fileQuery}set fileQuery(e){e!==this._fileQuery&&(this._fileQuery=e,this.requestStateUpdate())}get siteId(){return this._siteId}set siteId(e){e!==this._siteId&&(this._siteId=e,this.requestStateUpdate())}get driveId(){return this._driveId}set driveId(e){e!==this._driveId&&(this._driveId=e,this.requestStateUpdate())}get groupId(){return this._groupId}set groupId(e){e!==this._groupId&&(this._groupId=e,this.requestStateUpdate())}get listId(){return this._listId}set listId(e){e!==this._listId&&(this._listId=e,this.requestStateUpdate())}get userId(){return this._userId}set userId(e){e!==this._userId&&(this._userId=e,this.requestStateUpdate())}get itemId(){return this._itemId}set itemId(e){e!==this._itemId&&(this._itemId=e,this.requestStateUpdate())}get itemPath(){return this._itemPath}set itemPath(e){e!==this._itemPath&&(this._itemPath=e,this.requestStateUpdate())}get insightType(){return this._insightType}set insightType(e){e!==this._insightType&&(this._insightType=e,this.requestStateUpdate())}get insightId(){return this._insightId}set insightId(e){e!==this._insightId&&(this._insightId=e,this.requestStateUpdate())}get fileDetails(){return this._fileDetails}set fileDetails(e){e!==this._fileDetails&&(this._fileDetails=e,this.requestStateUpdate())}get fileIcon(){return this._fileIcon}set fileIcon(e){e!==this._fileIcon&&(this._fileIcon=e,this.requestStateUpdate())}static get requiredScopes(){return[...new Set(["files.read","files.read.all","sites.read.all"])]}constructor(){super(),this.line1Property="name",this.line2Property="lastModifiedDateTime",this.line3Property="size",this.view=u.a.threelines}render(){if(!this.driveItem&&this.isLoadingState)return this.renderLoading();if(!this.driveItem)return this.renderNoData();const e=this.driveItem;let t;if(t=this.renderTemplate("default",{file:e}),!t){const n=this.renderDetails(e),i=this.renderFileTypeIcon();t=a.c` +
+ ${i} ${n} +
`}return t}renderLoading(){return this.renderTemplate("loading",null)||a.c``}renderNoData(){return this.renderTemplate("no-data",null)||a.c``}renderFileTypeIcon(){if(!this.fileIcon&&!this.driveItem.name)return a.c``;let e;if(this.fileIcon)e=this.fileIcon;else{const n=/(?:\.([^.]+))?$/,a=void 0===this.driveItem.package&&void 0===this.driveItem.folder?n.exec(this.driveItem.name)[1]?n.exec(this.driveItem.name)[1].toLowerCase():this.driveItem.size?"null":"folder":void 0!==this.driveItem.package&&"oneNote"===this.driveItem.package.type?"onetoc":"folder";t=a,e=Object.keys(f).find(e=>f[e]===t)?`${p}/${48..toString()}/${t}.svg`:"jpg"===t||"png"===t?(t="photo",`${p}/${48..toString()}/${t}.svg`):null}var t;return a.c` +
+ ${e?a.c` + File icon + `:a.c` + ${Object(m.b)(m.a.File)} + `} +
+ `}renderDetails(e){if(!e||this.view===u.a.image)return a.c``;const t=[];if(this.view>u.a.image){const n=this.getTextFromProperty(e,this.line1Property);n&&t.push(a.c` +
${n}
+ `)}if(this.view>u.a.oneline){const n=this.getTextFromProperty(e,this.line2Property);n&&t.push(a.c` +
${n}
+ `)}if(this.view>u.a.twolines){const n=this.getTextFromProperty(e,this.line3Property);n&&t.push(a.c` +
${n}
+ `)}return a.c` +
+ ${t} +
+ `}loadState(){return e=this,void 0,n=function*(){if(this.fileDetails)return void(this.driveItem=this.fileDetails);const e=s.a.globalProvider;if(!e||e.state===c.c.Loading)return;if(e.state===c.c.SignedOut)return void(this.driveItem=null);const t=e.graph.forComponent(this);let n;const a=!(this.driveId||this.siteId||this.groupId||this.listId||this.userId);this.driveId&&!this.itemId&&!this.itemPath||this.siteId&&!this.itemId&&!this.itemPath||this.groupId&&!this.itemId&&!this.itemPath||this.listId&&!this.siteId&&!this.itemId||this.insightType&&!this.insightId||this.userId&&!this.itemId&&!this.itemPath&&!this.insightType&&!this.insightId?n=null:this.fileQuery?n=yield Object(d.i)(t,this.fileQuery):this.itemId&&a?n=yield Object(d.u)(t,this.itemId):this.itemPath&&a?n=yield Object(d.v)(t,this.itemPath):this.userId?this.itemId?n=yield Object(d.D)(t,this.userId,this.itemId):this.itemPath?n=yield Object(d.E)(t,this.userId,this.itemPath):this.insightType&&this.insightId&&(n=yield Object(d.H)(t,this.userId,this.insightType,this.insightId)):this.driveId?this.itemId?n=yield Object(d.g)(t,this.driveId,this.itemId):this.itemPath&&(n=yield Object(d.h)(t,this.driveId,this.itemPath)):this.siteId&&!this.listId?this.itemId?n=yield Object(d.y)(t,this.siteId,this.itemId):this.itemPath&&(n=yield Object(d.z)(t,this.siteId,this.itemPath)):this.listId?n=yield Object(d.t)(t,this.siteId,this.listId,this.itemId):this.groupId?this.itemId?n=yield Object(d.p)(t,this.groupId,this.itemId):this.itemPath&&(n=yield Object(d.q)(t,this.groupId,this.itemPath)):this.insightType&&!this.userId&&(n=yield Object(d.w)(t,this.insightType,this.insightId)),this.driveItem=n},new((t=void 0)||(t=Promise))(function(a,i){function r(e){try{s(n.next(e))}catch(e){i(e)}}function o(e){try{s(n.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?a(e.value):(n=e.value,n instanceof t?n:new t(function(e){e(n)})).then(r,o)}s((n=n.apply(e,[])).next())});var e,t,n}getTextFromProperty(e,t){if(!t||0===t.length)return null;const n=t.trim().split(",");let a,i=0;for(;!a&&ie&&0!==e.length?(e=e.toLowerCase(),void 0===u.a[e]?u.a.threelines:u.a[e]):u.a.threelines}),g("design:type",Number)],y.prototype,"view",void 0)},YBl9:function(e,t,n){"use strict";n.d(t,"a",function(){return o});var a=n("6eT7"),i=n("0q6d");const r=/^#((?:[0-9a-f]{6}|[0-9a-f]{3}))$/i;function o(e){const t=r.exec(e);if(null===t)return null;let n=t[1];if(3===n.length){const e=n.charAt(0),t=n.charAt(1),a=n.charAt(2);n=e.concat(e,t,t,a,a)}const o=parseInt(n,16);return isNaN(o)?null:new a.a(Object(i.g)((16711680&o)>>>16,0,255),Object(i.g)((65280&o)>>>8,0,255),Object(i.g)(255&o,0,255),1)}},YZrM:function(e,t,n){"use strict";n.d(t,"a",function(){return a});class a{}a.sections={files:!0,mailMessages:!0,organization:{showWorksWith:!0},profile:!0},a.useContactApis=!0,a.isSendMessageVisible=!0},Yn9m:function(e,t,n){"use strict";n.d(t,"a",function(){return a});class a{static get microsoftTeamsLib(){return this._microsoftTeamsLib||window.microsoftTeams}static set microsoftTeamsLib(e){this._microsoftTeamsLib=e}static get isAvailable(){return!(!this.microsoftTeamsLib||(window.parent!==window.self||!window.nativeInterface)&&"embedded-page-container"!==window.name&&"extension-tab-frame"!==window.name)}static executeDeepLink(e,t){const n=this.microsoftTeamsLib;n.initialize(),n.executeDeepLink(e,t)}}},Ys1X:function(e,t,n){"use strict";n.d(t,"b",function(){return f}),n.d(t,"a",function(){return p});var a=n("qqMp"),i=n("C001"),r=n("7Cdu");const o=[a.b` +:host([hidden]){display:none}:host{display:block;font-family:var(--default-font-family, "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, "BlinkMacSystemFont", "Roboto", "Helvetica Neue", sans-serif);font-size:var(--default-font-size,14px);--theme-primary-color:#0078d7;--theme-dark-color:#005a9e}:focus-visible{outline-color:var(--focus-ring-color,Highlight);outline-color:var(--focus-ring-color,-webkit-focus-ring-color);outline-style:var(--focus-ring-style,auto)}.ms-icon{display:inline-block;font-family:FabricMDL2Icons;font-style:normal;font-weight:400;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:4px 0}.error{background-color:#fde7e9;padding-block:8px;padding-inline:8px 12px}.ms-icon-chevron-down::before{content:"\\\e70d"}.ms-icon-chevron-up::before{content:"\\\e70e"}.ms-icon-contact::before{content:"\\\e77b"}.ms-icon-add-friend::before{content:"\\\e8fa"}.ms-icon-outlook-logo-inverser::before{content:"\\\eb6d"}:host .loading,:host .no-data{margin:0 20px;display:flex;justify-content:center}:host .no-data{font-style:normal;font-weight:600;font-size:14px;color:var(--font-color,#323130);line-height:19px}:host([hidden]){display:none}:host{display:block;font-family:var(--default-font-family, "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, "BlinkMacSystemFont", "Roboto", "Helvetica Neue", sans-serif);font-size:var(--default-font-size,14px);--theme-primary-color:#0078d7;--theme-dark-color:#005a9e}:focus-visible{outline-color:var(--focus-ring-color,Highlight);outline-color:var(--focus-ring-color,-webkit-focus-ring-color);outline-style:var(--focus-ring-style,auto)}.ms-icon{display:inline-block;font-family:FabricMDL2Icons;font-style:normal;font-weight:400;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:4px 0}.error{background-color:#fde7e9;padding-block:8px;padding-inline:8px 12px}.ms-icon-chevron-down::before{content:"\\\e70d"}.ms-icon-chevron-up::before{content:"\\\e70e"}.ms-icon-contact::before{content:"\\\e77b"}.ms-icon-add-friend::before{content:"\\\e8fa"}.ms-icon-outlook-logo-inverser::before{content:"\\\eb6d"}:host{position:relative;user-select:none}:host .root.compact{padding:0}:host .root.compact .coworker .coworker__image{height:40px;width:40px;border-radius:40px;--avatar-size:40px;--avatar-size-s:40px;margin-right:12px}:host .root.compact .coworker .coworker__name{font-size:14px}:host .root.compact .coworker .coworker__title{font-size:12px}:host .root .subtitle{color:var(--organization-sub-title-color,var(--neutral-foreground-hint));font-size:14px;margin:0 20px 8px}:host .root .divider{display:flex;background:var(--organization-coworker-border-color,var(--neutral-stroke-rest));height:1px;margin:26px 20px 18px}:host .root .org-member{height:74px;box-sizing:border-box;border-radius:2px;padding:12px;display:flex;align-items:center;margin-left:20px;margin-right:20px}:host .root .org-member.org-member--target{background-color:var(--organization-active-org-member-target-background-color,var(--neutral-fill-active));border:1px solid var(--organization-active-org-member-border-color,var(--accent-foreground-rest))}:host .root .org-member:not(.org-member--target){border:1px solid var(--organization-coworker-border-color,var(--neutral-stroke-rest))}:host .root .org-member:not(.org-member--target):hover{cursor:pointer;background-color:var(--organization-hover-color,var(--neutral-fill-hover))}:host .root .org-member .org-member__person{flex-grow:1}:host .root .org-member .org-member__details{flex-grow:1}:host .root .org-member .org-member__details .org-member__name{font-size:16px;color:var(--organization-title-color,var(--neutral-foreground-rest));font-weight:600}:host .root .org-member .org-member__details .org-member__department,:host .root .org-member .org-member__details .org-member__title{font-weight:14px;color:var(--organization-sub-title-color,var(--neutral-foreground-hint))}:host .root .org-member__separator:not(:last-child){border:1px solid var(--organization-coworker-border-color,var(--neutral-stroke-rest));box-sizing:border-box;width:0;margin:0 50%;height:14px}:host .root .coworker{display:flex;align-items:center;padding:10px 20px}:host .root .coworker:hover{cursor:pointer;background-color:var(--organization-coworker-hover-color,var(--neutral-fill-hover))}:host .root .coworker .coworker__person{height:46px;border-radius:46px;margin-right:8px}:host .root .direct-report__compact{padding:12px 20px}:host .root .direct-report__compact .direct-report{cursor:pointer;width:38px;margin-right:4px;display:inline;--avatar-size:38px}[dir=rtl] .org-member .org-member__more{transform:scaleX(-1);filter:fliph;filter:FlipH}@media (forced-colors:active) and (prefers-color-scheme:dark){:host svg,:host svg>path{fill:#fff!important;fill-rule:nonzero!important;clip-rule:nonzero!important}}@media (forced-colors:active) and (prefers-color-scheme:light){:host svg,:host svg>path{fill:#000!important;fill-rule:nonzero!important;clip-rule:nonzero!important}} +`],s={reportsToSectionTitle:"Reports to",directReportsSectionTitle:"Direct reports",organizationSectionTitle:"Organization",youWorkWithSubSectionTitle:"You work with",userWorksWithSubSectionTitle:"works with"};var c=n("ZzBS"),d=n("cBsD"),l=n("0mOt"),u=n("7SX6");const f=()=>{Object(u.c)(),Object(l.b)("organization",p)};class p extends i.a{static get styles(){return o}get strings(){return s}constructor(e,t){super(),this._state=e,this._me=t}clearState(){super.clearState(),this._state=null,this._me=null}get displayName(){const{person:e,directReports:t}=this._state;return!e.manager&&(null==t?void 0:t.length)?`${this.strings.directReportsSectionTitle} (${t.length})`:this.strings.reportsToSectionTitle}get cardTitle(){return this.strings.organizationSectionTitle}renderIcon(){return Object(r.b)(r.a.Organization)}renderCompactView(){var e;let t;if(!(null===(e=this._state)||void 0===e?void 0:e.person))return null;const{person:n,directReports:i}=this._state;return n?(n.manager?t=this.renderCoworker(n.manager):(null==i?void 0:i.length)&&(t=this.renderCompactDirectReports()),a.c` +
+ ${t} +
+ `):null}renderFullView(){var e;let t;if(!(null===(e=this._state)||void 0===e?void 0:e.person))return null;const{person:n,directReports:i,people:r}=this._state;if(!(n||i||r))return null;{const e=this.renderManagers(),n=this.renderCurrentUser(),i=this.renderDirectReports(),r=this.renderCoworkers();t=a.c` + ${e} ${n} ${i} ${r} + `}return a.c` +
+ ${t} +
+ `}renderManager(e){return d.a` +
{"Enter"!==t.code&&" "!==t.code||this.navigateCard(e)}} + @click=${()=>this.navigateCard(e)} + > +
+ +
+
+ ${Object(r.b)(r.a.ExpandRight)} +
+
+
+ `}renderManagers(){const{person:e}=this._state;if(!(null==e?void 0:e.manager))return null;const t=[];let n=e;for(;n.manager;)t.push(n.manager),n=n.manager;return t.length?t.reverse().map(e=>this.renderManager(e)):null}renderDirectReports(){const{directReports:e}=this._state;return(null==e?void 0:e.length)?a.c` +
+
+ ${e.map(e=>d.a` +
{"Enter"!==t.code&&" "!==t.code||this.navigateCard(e)}} + @click=${()=>this.navigateCard(e)} + > +
+ +
+
+ ${Object(r.b)(r.a.ExpandRight)} +
+
+
+ `)} +
+ `:null}renderCompactDirectReports(){const{directReports:e}=this._state;return a.c` +
+ ${e.slice(0,6).map(e=>d.a` +
{"Enter"!==t.code&&" "!==t.code||this.navigateCard(e)}} + @click=${()=>this.navigateCard(e)} + > + +
+ `)} +
+ `}renderCurrentUser(){const{person:e}=this._state;return d.a` +
+
+ +
+
+ `}renderCoworker(e){return d.a` +
{"Enter"!==t.code&&" "!==t.code||this.navigateCard(e)}} + @click=${()=>this.navigateCard(e)} + > +
+ +
+
+ `}renderCoworkers(){const{people:e}=this._state;if(!(null==e?void 0:e.length))return null;const t=this._me.id===this._state.person.id?this.strings.youWorkWithSubSectionTitle:`${this._state.person.givenName} ${this.strings.userWorksWithSubSectionTitle}`;return a.c` +
+
${t}
+
+ ${e.slice(0,6).map(e=>this.renderCoworker(e))} +
+ `}}},"ZgG/":function(e,t,n){"use strict";n.d(t,"a",function(){return a}),n.d(t,"b",function(){return s}),n.d(t,"c",function(){return c});const a=e=>(t,n)=>{void 0!==n?n.addInitializer(()=>{customElements.define(e,t)}):customElements.define(e,t)};var i=n("ptXv");const r={attribute:!0,type:String,converter:i.c,reflect:!1,hasChanged:i.d},o=(e=r,t,n)=>{const{kind:a,metadata:i}=n;let o=globalThis.litPropertyMetadata.get(i);if(void 0===o&&globalThis.litPropertyMetadata.set(i,o=new Map),o.set(n.name,e),"accessor"===a){const{name:a}=n;return{set(n){const i=t.get.call(this);t.set.call(this,n),this.requestUpdate(a,i,e)},init(t){return void 0!==t&&this.C(a,void 0,e),t}}}if("setter"===a){const{name:a}=n;return function(n){const i=this[a];t.call(this,n),this.requestUpdate(a,i,e)}}throw Error("Unsupported decorator location: "+a)};function s(e){return(t,n)=>"object"==typeof n?o(e,t,n):((e,t,n)=>{const a=t.hasOwnProperty(n);return t.constructor.createProperty(n,a?{...e,wrapped:!0}:e),a?Object.getOwnPropertyDescriptor(t,n):void 0})(e,t,n)}function c(e){return s({...e,state:!0,attribute:!1})}},ZzBS:function(e,t,n){"use strict";var a;n.d(t,"a",function(){return a}),function(e){e[e.image=2]="image",e[e.oneline=3]="oneline",e[e.twolines=4]="twolines",e[e.threelines=5]="threelines",e[e.fourlines=6]="fourlines"}(a||(a={}))},bica:function(e,t,n){"use strict";n.d(t,"a",function(){return y});var a=n("3rEL"),i=n("TDEi");class r extends i.a{}var o=n("+Cud"),s=n("6BDD"),c=n("oePG"),d=n("QBS5"),l=n("YBl9"),u=n("8hiW"),f=n("i2HT"),p=n("hv+n"),m=n("4X57"),_=n("xY0q"),h=n("oqLQ"),b=n("j9Xn"),g=n("cQsl");class v extends r{cardFillColorChanged(e,t){if(t){const e=Object(l.a)(t);null!==e&&(this.neutralPaletteSource=t,u.v.setValueFor(this,f.a.create(e.r,e.g,e.b)))}}neutralPaletteSourceChanged(e,t){if(t){const e=Object(l.a)(t),n=f.a.create(e.r,e.g,e.b);u.hb.setValueFor(this,p.a.create(n))}}handleChange(e,t){this.cardFillColor||u.v.setValueFor(this,t=>u.P.getValueFor(t).evaluate(t,u.v.getValueFor(e)).rest)}connectedCallback(){super.connectedCallback();const e=Object(o.a)(this);if(e){const t=c.b.getNotifier(e);t.subscribe(this,"fillColor"),t.subscribe(this,"neutralPalette"),this.handleChange(e,"fillColor")}}}Object(a.a)([Object(d.c)({attribute:"card-fill-color",mode:"fromView"})],v.prototype,"cardFillColor",void 0),Object(a.a)([Object(d.c)({attribute:"neutral-palette-source",mode:"fromView"})],v.prototype,"neutralPaletteSource",void 0);const y=v.compose({baseName:"card",baseClass:r,template:(e,t)=>s.a` + +`,styles:(e,t)=>m.a` + ${Object(_.a)("block")} :host { + display: block; + contain: content; + height: var(--card-height, 100%); + width: var(--card-width, 100%); + box-sizing: border-box; + background: ${u.v}; + color: ${u.fb}; + border: calc(${u.vb} * 1px) solid ${u.qb}; + border-radius: calc(${u.D} * 1px); + box-shadow: ${g.a}; + } + + :host { + content-visibility: auto; + } + `.withBehaviors(Object(h.a)(m.a` + :host { + background: ${b.a.Canvas}; + color: ${b.a.CanvasText}; + } + `))})},c1DA:function(e,t,n){"use strict";n.d(t,"a",function(){return f});var a=n("qqMp"),i=n("ZgG/"),r=n("h2QR");const o=()=>void 0!==window.getWindowSegments,s=[a.b` +.root .scout-top{position:fixed;top:0;left:0}.root .scout-bottom{position:fixed;bottom:0;right:0}.root .flyout{display:none;position:fixed;z-index:9999999;opacity:0;box-shadow:var(--mgt-flyout-box-shadow,var(--elevation-shadow-card-rest));border-radius:8px}.root .flyout.small{overflow:hidden auto}.root.visible .flyout{display:inline-block;animation-name:fade-in;animation-duration:.3s;animation-timing-function:cubic-bezier(.1,.9,.2,1);animation-fill-mode:both;transition:top .3s ease,bottom .3s ease,left .3s ease;z-index:9999999}.root.visible .flyout.small{overflow:hidden auto}@keyframes fade-in{from{opacity:0;margin-top:-10px;margin-bottom:-10px}to{opacity:1;margin-top:0;margin-bottom:0}} +`];var c=n("dblZ"),d=n("0mOt"),l=function(e,t,n,a){var i,r=arguments.length,o=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,a);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o},u=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};const f=()=>Object(d.b)("flyout",p);class p extends c.b{static get styles(){return s}get isOpen(){return this._isOpen}set isOpen(e){const t=this._isOpen;t!==e&&(this._isOpen=e,window.requestAnimationFrame(()=>{this.setupWindowEvents(this.isOpen);const e=this._flyout;!this.isOpen&&e&&(e.style.width=null,e.style.setProperty("--mgt-flyout-set-width",null),e.style.setProperty("--mgt-flyout-set-height",null),e.style.maxHeight=null,e.style.top=null,e.style.left=null,e.style.bottom=null)}),this.requestUpdate("isOpen",t),this.dispatchEvent(new Event(e?"opened":"closed")))}get _edgePadding(){return 24}get _flyout(){return this.renderRoot.querySelector(".flyout")}get _anchor(){return this.renderRoot.querySelector(".anchor")}get _topScout(){return this.renderRoot.querySelector(".scout-top")}get _bottomScout(){return this.renderRoot.querySelector(".scout-bottom")}constructor(){super(),this._renderedOnce=!1,this._isOpen=!1,this._smallView=!1,this.handleWindowEvent=e=>{const t=this._flyout;if(t)if(e.composedPath){const n=e.composedPath();if(n.includes(t)||"pointerdown"===e.type&&n.includes(this))return}else{let n=e.target;for(;n;)if(n=n.parentElement,n===t||"pointerdown"===e.type&&n===this)return}this.close()},this.handleResize=()=>{this.close()},this.handleKeyUp=e=>{"Escape"===e.key&&this.close()},this.handleFlyoutWheel=e=>{e.preventDefault()},this.avoidHidingAnchor=!0,this.addEventListener("expanded",()=>{window.requestAnimationFrame(()=>{this.updateFlyout()})})}open(){this.isOpen=!0}close(){this.isOpen=!1}disconnectedCallback(){this.setupWindowEvents(!1),super.disconnectedCallback()}updated(e){super.updated(e),window.requestAnimationFrame(()=>{this.updateFlyout()})}render(){const e={root:!0,visible:this.isOpen},t=this.renderAnchor();let n=null;if(this._windowHeight=window.innerHeight&&document.documentElement.clientHeight?Math.min(window.innerHeight,document.documentElement.clientHeight):window.innerHeight||document.documentElement.clientHeight,this._windowHeight<250&&(this._smallView=!0),this.isOpen||this._renderedOnce){this._renderedOnce=!0;const e=Object(r.a)({flyout:!0,small:this._smallView});n=a.c` +
+ ${this.renderFlyout()} +
+ `}return a.c` +
+
+ ${t} +
+
+
+ ${n} +
+ `}renderAnchor(){return a.c` + + `}renderFlyout(){return a.c` + + `}updateFlyout(e=!0){if(!this.isOpen)return;const t=this._anchor,n=this._flyout;if(n&&t){const a=window.innerWidth&&document.documentElement.clientWidth?Math.min(window.innerWidth,document.documentElement.clientWidth):window.innerWidth||document.documentElement.clientWidth;this._windowHeight=window.innerHeight&&document.documentElement.clientHeight?Math.min(window.innerHeight,document.documentElement.clientHeight):window.innerHeight||document.documentElement.clientHeight;let i,r,s,c=0,d=0;const l=n.getBoundingClientRect(),u=t.getBoundingClientRect(),f=this._topScout.getBoundingClientRect(),p=this._bottomScout.getBoundingClientRect(),m={height:this._windowHeight,left:0,top:0,width:a};if(o()){const e=(o()?window:null).getWindowSegments();let t;const n=u.left+u.width/2,a=u.top+u.height/2;for(const i of e)if(n>=i.left&&a>=i.top){t=i;break}t&&(m.left=t.left,m.top=t.top,m.width=t.width,m.height=t.height)}l.width+2*this._edgePadding>m.width?l.width>m.width?(s=m.width,c=0):c=(m.width-l.width)/2:c=u.left+l.width+this._edgePadding>m.width?u.left-(u.left+l.width+this._edgePadding-m.width):u.left_?(i=m.height-u.top,r=h):(d=u.bottom,r=_):(i=m.height-u.top,r=h):(d=u.bottom,r=_):l.height+2*this._edgePadding>m.height?l.height>=m.height?(r=m.height,d=0):d=(m.height-l.height)/2:d=u.top+u.height+l.height+this._edgePadding>m.height?m.height-l.height-this._edgePadding:Math.max(u.top+u.height,this._edgePadding),0===f.top&&0===f.left||(c-=f.left,void 0!==i?i+=p.top-this._windowHeight:d-=f.top),"rtl"===this.direction?c>100&&this.offsetLeft>100&&(n.style.left=m.width-c+l.left-l.width-30+"px"):n.style.left=`${c+m.left}px`,void 0!==i?(n.style.top="unset",n.style.bottom=`${i}px`):(n.style.bottom="unset",n.style.top=`${d+m.top}px`),s&&(n.style.width=`${s}px`,n.style.setProperty("--mgt-flyout-set-width",`${s}px`),window.requestAnimationFrame(()=>this.updateFlyout())),r&&!e?(n.style.maxHeight=`${r}px`,n.style.setProperty("--mgt-flyout-set-height",`${r}px`)):(n.style.maxHeight=null,n.style.setProperty("--mgt-flyout-set-height","unset")),e&&window.requestAnimationFrame(()=>this.updateFlyout(!1))}}setupWindowEvents(e){e&&this.isLightDismiss?(window.addEventListener("wheel",this.handleWindowEvent),window.addEventListener("pointerdown",this.handleWindowEvent),window.addEventListener("resize",this.handleResize),window.addEventListener("keyup",this.handleKeyUp)):(window.removeEventListener("wheel",this.handleWindowEvent),window.removeEventListener("pointerdown",this.handleWindowEvent),window.removeEventListener("resize",this.handleResize),window.removeEventListener("keyup",this.handleKeyUp))}}l([Object(i.b)({attribute:"light-dismiss",type:Boolean}),u("design:type",Boolean)],p.prototype,"isLightDismiss",void 0),l([Object(i.b)({attribute:null,type:Boolean}),u("design:type",Boolean)],p.prototype,"avoidHidingAnchor",void 0),l([Object(i.b)({attribute:"isOpen",type:Boolean}),u("design:type",Boolean),u("design:paramtypes",[Boolean])],p.prototype,"isOpen",null)},cBsD:function(e,t,n){"use strict";n.d(t,"a",function(){return s});var a=n("qqMp"),i=n("HN6m");const r=new WeakMap,o=(e,t,n)=>{const a=[];for(const i of e)a.push(i.replace(t,n));return a},s=(e,...t)=>{if(i.a.isDisambiguated){let t=r.get(e);if(!t){const n=new RegExp("({let a=.12,i=.14;return t>16&&(a=.2,i=.24),`0 0 2px rgba(0, 0, 0, ${a}), 0 calc(${t} * 0.5px) calc((${t} * 1px)) rgba(0, 0, 0, ${i})`}}),r=a.a.create("elevation-shadow-card-rest-size").withDefault(4),o=a.a.create("elevation-shadow-card-hover-size").withDefault(8),s=a.a.create("elevation-shadow-card-active-size").withDefault(0),c=a.a.create("elevation-shadow-card-focus-size").withDefault(8),d=a.a.create("elevation-shadow-card-rest").withDefault(e=>i.getValueFor(e).evaluate(e,r.getValueFor(e))),l=(a.a.create("elevation-shadow-card-hover").withDefault(e=>i.getValueFor(e).evaluate(e,o.getValueFor(e))),a.a.create("elevation-shadow-card-active").withDefault(e=>i.getValueFor(e).evaluate(e,s.getValueFor(e))),a.a.create("elevation-shadow-card-focus").withDefault(e=>i.getValueFor(e).evaluate(e,c.getValueFor(e))),a.a.create("elevation-shadow-tooltip-size").withDefault(16)),u=a.a.create("elevation-shadow-tooltip").withDefault(e=>i.getValueFor(e).evaluate(e,l.getValueFor(e))),f=a.a.create("elevation-shadow-flyout-size").withDefault(32),p=a.a.create("elevation-shadow-flyout").withDefault(e=>i.getValueFor(e).evaluate(e,f.getValueFor(e))),m=a.a.create("elevation-shadow-dialog-size").withDefault(128),_=a.a.create("elevation-shadow-dialog").withDefault(e=>i.getValueFor(e).evaluate(e,m.getValueFor(e)))},d3jT:function(e,t,n){"use strict";n.d(t,"a",function(){return D});const a=(e,t)=>t.some(t=>e instanceof t);let i,r;const o=new WeakMap,s=new WeakMap,c=new WeakMap,d=new WeakMap,l=new WeakMap;let u={get(e,t,n){if(e instanceof IDBTransaction){if("done"===t)return s.get(e);if("objectStoreNames"===t)return e.objectStoreNames||c.get(e);if("store"===t)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return f(e[t])},set:(e,t,n)=>(e[t]=n,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function f(e){if(e instanceof IDBRequest)return function(e){const t=new Promise((t,n)=>{const a=()=>{e.removeEventListener("success",i),e.removeEventListener("error",r)},i=()=>{t(f(e.result)),a()},r=()=>{n(e.error),a()};e.addEventListener("success",i),e.addEventListener("error",r)});return t.then(t=>{t instanceof IDBCursor&&o.set(t,e)}).catch(()=>{}),l.set(t,e),t}(e);if(d.has(e))return d.get(e);const t=function(e){return"function"==typeof e?(t=e)!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(r||(r=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(t)?function(...e){return t.apply(p(this),e),f(o.get(this))}:function(...e){return f(t.apply(p(this),e))}:function(e,...n){const a=t.call(p(this),e,...n);return c.set(a,e.sort?e.sort():[e]),f(a)}:(e instanceof IDBTransaction&&function(e){if(s.has(e))return;const t=new Promise((t,n)=>{const a=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",r),e.removeEventListener("abort",r)},i=()=>{t(),a()},r=()=>{n(e.error||new DOMException("AbortError","AbortError")),a()};e.addEventListener("complete",i),e.addEventListener("error",r),e.addEventListener("abort",r)});s.set(e,t)}(e),a(e,i||(i=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]))?new Proxy(e,u):e);var t}(e);return t!==e&&(d.set(e,t),l.set(t,e)),t}const p=e=>l.get(e),m=["get","getKey","getAll","getAllKeys","count"],_=["put","add","delete","clear"],h=new Map;function b(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!=typeof t)return;if(h.get(t))return h.get(t);const n=t.replace(/FromIndex$/,""),a=t!==n,i=_.includes(n);if(!(n in(a?IDBIndex:IDBObjectStore).prototype)||!i&&!m.includes(n))return;const r=async function(e,...t){const r=this.transaction(e,i?"readwrite":"readonly");let o=r.store;return a&&(o=o.index(t.shift())),(await Promise.all([o[n](...t),i&&r.done]))[0]};return h.set(t,r),r}var g;g=u,u={...g,get:(e,t,n)=>b(e,t)||g.get(e,t,n),has:(e,t)=>!!b(e,t)||g.has(e,t)};var v=n("zFbe"),y=n("DNu6"),S=function(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})};class D{constructor(e,t){if(!(t in e.stores))throw Error('"store" must be defined in the "schema"');this.schema=e,this.store=t}getValue(e){return S(this,void 0,void 0,function*(){if(!window.indexedDB)return null;try{return(yield this.getDb()).get(this.store,e)}catch(e){return null}})}delete(e){return S(this,void 0,void 0,function*(){if(window.indexedDB)try{return(yield this.getDb()).delete(this.store,e)}catch(e){return}})}putValue(e,t){return S(this,void 0,void 0,function*(){if(window.indexedDB)try{yield(yield this.getDb()).put(this.store,Object.assign(Object.assign({},t),{timeCached:Date.now()}),e)}catch(e){return}})}clearStore(){return S(this,void 0,void 0,function*(){if(window.indexedDB)try{yield(yield this.getDb()).clear(this.store)}catch(e){return}})}getDBName(){return S(this,void 0,void 0,function*(){const e=yield v.a.getCacheId();if(e)return`mgt-${this.schema.name}-${e}`})}getDb(){return S(this,void 0,void 0,function*(){const e=yield this.getDBName();if(e)return function(e,t,{blocked:n,upgrade:a,blocking:i,terminated:r}={}){const o=indexedDB.open(e,t),s=f(o);return a&&o.addEventListener("upgradeneeded",e=>{a(f(o.result),e.oldVersion,e.newVersion,f(o.transaction))}),n&&o.addEventListener("blocked",()=>n()),s.then(e=>{r&&e.addEventListener("close",()=>r()),i&&e.addEventListener("versionchange",()=>i())}).catch(()=>{}),s}(e,this.schema.version,{upgrade:(t,n,a,i)=>{var r,o;const s=JSON.parse(localStorage.getItem(y.b))||[];s.includes(e)||s.push(e),localStorage.setItem(y.b,JSON.stringify(s));for(const e in this.schema.stores)if(Object.prototype.hasOwnProperty.call(this.schema.stores,e)){const n=null!==(o=null===(r=this.schema.indexes)||void 0===r?void 0:r[e])&&void 0!==o?o:[];if(t.objectStoreNames.contains(e)){const t=i.objectStore(e);n.forEach(e=>{t&&!t.indexNames.contains(e.name)&&t.createIndex(e.name,e.field)})}else{const a=t.createObjectStore(e);n.forEach(e=>{a.createIndex(e.name,e.field)})}}}})})}queryDb(e,t){return S(this,void 0,void 0,function*(){const n=yield this.getDb();return yield n.getAllFromIndex(this.store,e,t)})}transaction(e){return S(this,void 0,void 0,function*(){const t=(yield this.getDb()).transaction(this.store,"readwrite"),n=t.objectStore(this.store);yield e(n),yield t.done})}}},dP6N:function(e,t,n){"use strict";var a,i;n.d(t,"a",function(){return a}),n.d(t,"b",function(){return i}),function(e){e[e.avatar=2]="avatar",e[e.oneline=3]="oneline",e[e.twolines=4]="twolines",e[e.threelines=5]="threelines",e[e.fourlines=6]="fourlines"}(a||(a={})),function(e){e.photo="photo",e.initials="initials"}(i||(i={}))},dblZ:function(e,t,n){"use strict";n.d(t,"a",function(){return a}),n.d(t,"b",function(){return u});var a,i=n("qqMp"),r=n("ZgG/"),o=n("/i08"),s=n("zFbe"),c=n("zb6c"),d=n("2oY9"),l=function(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})};!function(e){e.mobile="",e.tablet="tablet",e.desktop="desktop"}(a||(a={}));class u extends i.a{static get packageVersion(){return d.a}get mediaQuery(){return this.offsetWidth<768?a.mobile:this.offsetWidth<1200?a.tablet:a.desktop}get isLoadingState(){return this._isLoadingState}get isFirstUpdated(){return this._isFirstUpdated}get strings(){return{}}constructor(){super(),this.direction="ltr",this._isLoadingState=!1,this._isFirstUpdated=!1,this.setLoadingState=e=>{this._isLoadingState!==e&&(this._isLoadingState=e,this.requestUpdate("isLoadingState"))},this.handleProviderUpdates=()=>{this.requestStateUpdate()},this.handleActiveAccountUpdates=()=>{this.clearState(),this.requestStateUpdate()},this.handleLocalizationChanged=()=>{c.a.updateStringsForTag(this.tagName,this.strings),this.requestUpdate()},this.handleDirectionChanged=()=>{this.direction=c.a.getDocumentDirection()},this.handleDirectionChanged(),this.handleLocalizationChanged()}connectedCallback(){super.connectedCallback(),c.a.onStringsUpdated(this.handleLocalizationChanged),c.a.onDirectionUpdated(this.handleDirectionChanged)}disconnectedCallback(){super.disconnectedCallback(),c.a.removeOnStringsUpdated(this.handleLocalizationChanged),c.a.removeOnDirectionUpdated(this.handleDirectionChanged),s.a.removeProviderUpdatedListener(this.handleProviderUpdates),s.a.removeActiveAccountChangedListener(this.handleActiveAccountUpdates)}firstUpdated(e){super.firstUpdated(e),this._isFirstUpdated=!0,s.a.onProviderUpdated(this.handleProviderUpdates),s.a.onActiveAccountChanged(this.handleActiveAccountUpdates),this.requestStateUpdate()}loadState(){return Promise.resolve()}clearState(){}fireCustomEvent(e,t,n=!1,a=!1,i=!1){const r=new CustomEvent(e,{bubbles:n,cancelable:a,composed:i,detail:t});return this.dispatchEvent(r)}updated(e){super.updated(e);const t=new CustomEvent("updated",{bubbles:!0,cancelable:!0});this.dispatchEvent(t)}requestStateUpdate(e=!1){return l(this,void 0,void 0,function*(){if(!this._isFirstUpdated)return;this.isLoadingState&&!e&&(yield this._currentLoadStatePromise);const t=s.a.globalProvider;if(!t)return Promise.resolve();if(t.state!==o.c.SignedOut){if(t.state===o.c.Loading)return Promise.resolve();{const t=new Promise((n,a)=>l(this,void 0,void 0,function*(){try{this.setLoadingState(!0),this.fireCustomEvent("loadingInitiated"),yield this.loadState(),this.setLoadingState(!1),this.fireCustomEvent("loadingCompleted"),n()}catch(e){this.clearState(),this.setLoadingState(!1),this.fireCustomEvent("loadingFailed"),a(e)}return this._currentLoadStatePromise=this.isLoadingState&&this._currentLoadStatePromise&&e?this._currentLoadStatePromise.then(()=>t):t}))}}else this.clearState()})}}!function(e,t,n,a){var i,r=arguments.length,o=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,a);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);r>3&&o&&Object.defineProperty(t,n,o)}([Object(r.c)(),function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata("design:type",t)}(0,String)],u.prototype,"direction",void 0)},dupE:function(e,t,n){"use strict";n.d(t,"b",function(){return de}),n.d(t,"a",function(){return le});var a=n("Y1A4"),i=n("ylMe"),r=n("zFbe"),o=n("cBsD"),s=n("/i08"),c=n("qqMp"),d=n("ZgG/"),l=n("V07F"),u=n("0Uyf"),f=n("7Cdu"),p=n("ZzBS");const m=[c.b` +:host([hidden]){display:none}:host{display:block;font-family:var(--default-font-family, "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, "BlinkMacSystemFont", "Roboto", "Helvetica Neue", sans-serif);font-size:var(--default-font-size,14px);--theme-primary-color:#0078d7;--theme-dark-color:#005a9e}:focus-visible{outline-color:var(--focus-ring-color,Highlight);outline-color:var(--focus-ring-color,-webkit-focus-ring-color);outline-style:var(--focus-ring-style,auto)}.ms-icon{display:inline-block;font-family:FabricMDL2Icons;font-style:normal;font-weight:400;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:4px 0}.error{background-color:#fde7e9;padding-block:8px;padding-inline:8px 12px}.ms-icon-chevron-down::before{content:"\\\e70d"}.ms-icon-chevron-up::before{content:"\\\e70e"}.ms-icon-contact::before{content:"\\\e77b"}.ms-icon-add-friend::before{content:"\\\e8fa"}.ms-icon-outlook-logo-inverser::before{content:"\\\eb6d"}:host{font-size:var(--default-font-size)}:host .title{font-size:14px;font-weight:600;padding:20px 0 12px;line-height:19px}:host .file-list-wrapper{background-color:var(--file-list-background-color,var(--neutral-layer-floating));border:var(--file-list-border,none);position:relative;display:flex;flex-direction:column;border-radius:8px}:host .file-list-wrapper .title{font-size:14px;font-weight:600;margin:0 20px -15px}:host .file-list-wrapper .file-list{display:flex;padding:var(--file-list-padding,0);margin:var(--file-list-margin,0);flex-direction:column;list-style:none}:host .file-list-wrapper .file-list .file-item{cursor:pointer;border-radius:var(--file-border-radius)}:host .file-list-wrapper .file-list .file-item:focus,:host .file-list-wrapper .file-list .file-item:focus-within{--file-background-color:var(--file-background-color-focus, var(--neutral-layer-2))}:host .file-list-wrapper .file-list .file-item.selected{--file-background-color:var(--file-background-color-active, var(--neutral-layer-3))}:host .file-list-wrapper .file-list .file-item .mgt-file-item{--file-padding:10px 20px 10px 20px;--file-padding-inline-start:24px;--file-border-radius:2px;--file-background-color:var(--file-item-background-color, var(--neutral-layer-1))}:host .file-list-wrapper .progress-ring{margin:4px auto;width:var(--progress-ring-size,24px);height:var(--progress-ring-size,24px)}:host .file-list-wrapper .show-more{text-align:center;font-size:var(--show-more-button-font-size,12px);padding:var(--show-more-button-padding,0);border-radius:0 0 var(--show-more-button-border-bottom-right-radius,var(--file-list-border-radius,8px)) var(--show-more-button-border-bottom-left-radius,var(--file-list-border-radius,8px));background-color:var(--show-more-button-background-color,var(--neutral-stroke-divider-rest))}:host .file-list-wrapper .show-more:hover{background-color:var(--show-more-button-background-color-hover,var(--neutral-fill-input-alt-active))}:host .file-list-wrapper .show-more-text{font-size:var(--show-more-button-font-size,12px)} +`],_={showMoreSubtitle:"Show more items",filesSectionTitle:"Files",sharedTextSubtitle:"Shared"};var h=n("Y1eq"),b=n("tezw"),g=n("6BDD"),v=n("6vBc"),y=n("4X57"),S=n("j9Xn"),D=n("xY0q"),I=n("oqLQ"),x=n("8hiW");class C extends b.a{}const O=C.compose({baseName:"progress",template:(e,t)=>g.a` + +`,styles:(e,t)=>y.a` + ${Object(D.a)("flex")} :host { + align-items: center; + height: calc((${x.vb} * 3) * 1px); + } + + .progress { + background-color: ${x.ub}; + border-radius: calc(${x.s} * 1px); + width: 100%; + height: calc(${x.vb} * 1px); + display: flex; + align-items: center; + position: relative; + } + + .determinate { + background-color: ${x.e}; + border-radius: calc(${x.s} * 1px); + height: calc((${x.vb} * 3) * 1px); + transition: all 0.2s ease-in-out; + display: flex; + } + + .indeterminate { + height: calc((${x.vb} * 3) * 1px); + border-radius: calc(${x.s} * 1px); + display: flex; + width: 100%; + position: relative; + overflow: hidden; + } + + .indeterminate-indicator-1 { + position: absolute; + opacity: 0; + height: 100%; + background-color: ${x.e}; + border-radius: calc(${x.s} * 1px); + animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); + width: 40%; + animation: indeterminate-1 2s infinite; + } + + .indeterminate-indicator-2 { + position: absolute; + opacity: 0; + height: 100%; + background-color: ${x.e}; + border-radius: calc(${x.s} * 1px); + animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); + width: 60%; + animation: indeterminate-2 2s infinite; + } + + :host(.paused) .indeterminate-indicator-1, + :host(.paused) .indeterminate-indicator-2 { + animation: none; + background-color: ${x.cb}; + width: 100%; + opacity: 1; + } + + :host(.paused) .determinate { + background-color: ${x.cb}; + } + + @keyframes indeterminate-1 { + 0% { + opacity: 1; + transform: translateX(-100%); + } + 70% { + opacity: 1; + transform: translateX(300%); + } + 70.01% { + opacity: 0; + } + 100% { + opacity: 0; + transform: translateX(300%); + } + } + + @keyframes indeterminate-2 { + 0% { + opacity: 0; + transform: translateX(-150%); + } + 29.99% { + opacity: 0; + } + 30% { + opacity: 1; + transform: translateX(-150%); + } + 100% { + transform: translateX(166.66%); + opacity: 1; + } + } + `.withBehaviors(Object(I.a)(y.a` + .indeterminate-indicator-1, + .indeterminate-indicator-2, + .determinate, + .progress { + background-color: ${S.a.ButtonText}; + } + :host(.paused) .indeterminate-indicator-1, + :host(.paused) .indeterminate-indicator-2, + :host(.paused) .determinate { + background-color: ${S.a.GrayText}; + } + `)),indeterminateIndicator1:'\n \n ',indeterminateIndicator2:'\n \n '});var w=n("m1Vi"),E=n("kd7Q"),A=n("eftJ"),L=n("5ZAu"),k=n("oePG"),M=n("QBS5"),P=n("Gy7L"),T=["input","select","textarea","a[href]","button","[tabindex]:not(slot)","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable="false"])',"details>summary:first-of-type","details"].join(","),U="undefined"==typeof Element,F=U?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,H=!U&&Element.prototype.getRootNode?function(e){return e.getRootNode()}:function(e){return e.ownerDocument},R=function(e){return"INPUT"===e.tagName},N=function(e){var t=e.getBoundingClientRect(),n=t.width,a=t.height;return 0===n&&0===a},B=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return!1!==F.call(e,T)&&function(e,t){return!(function(e){return function(e){return R(e)&&"radio"===e.type}(e)&&!function(e){if(!e.name)return!0;var t,n=e.form||H(e),a=function(e){return n.querySelectorAll('input[type="radio"][name="'+e+'"]')};if("undefined"!=typeof window&&void 0!==window.CSS&&"function"==typeof window.CSS.escape)t=a(window.CSS.escape(e.name));else try{t=a(e.name)}catch(e){return console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s",e.message),!1}var i=function(e,t){for(var n=0;nsummary:first-of-type")?e.parentElement:e;if(F.call(i,"details:not([open]) *"))return!0;var r=H(e).host,o=(null==r?void 0:r.ownerDocument.contains(r))||e.ownerDocument.contains(e);if(n&&"full"!==n){if("non-zero-area"===n)return N(e)}else{if("function"==typeof a){for(var s=e;e;){var c=e.parentElement,d=H(e);if(c&&!c.shadowRoot&&!0===a(c))return N(e);e=e.assignedSlot?e.assignedSlot:c||d===e.ownerDocument?c:d.host}e=s}if(o)return!e.getClientRects().length}return!1}(t,e)||function(e){return"DETAILS"===e.tagName&&Array.prototype.slice.apply(e.children).some(function(e){return"SUMMARY"===e.tagName})}(t)||function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if("FIELDSET"===t.tagName&&t.disabled){for(var n=0;n{this.$fastController.isConnected&&this.updateTrapFocus()},this.isTrappingFocus=!1,this.handleDocumentKeydown=e=>{if(!e.defaultPrevented&&!this.hidden)switch(e.key){case P.h:this.dismiss(),e.preventDefault();break;case P.n:this.handleTabKeyDown(e)}},this.handleDocumentFocus=e=>{!e.defaultPrevented&&this.shouldForceFocus(e.target)&&(this.focusFirstElement(),e.preventDefault())},this.handleTabKeyDown=e=>{if(!this.trapFocus||this.hidden)return;const t=this.getTabQueueBounds();return 0!==t.length?1===t.length?(t[0].focus(),void e.preventDefault()):void(e.shiftKey&&e.target===t[0]?(t[t.length-1].focus(),e.preventDefault()):e.shiftKey||e.target!==t[t.length-1]||(t[0].focus(),e.preventDefault())):void 0},this.getTabQueueBounds=()=>V.reduceTabbableItems([],this),this.focusFirstElement=()=>{const e=this.getTabQueueBounds();e.length>0?e[0].focus():this.dialog instanceof HTMLElement&&this.dialog.focus()},this.shouldForceFocus=e=>this.isTrappingFocus&&!this.contains(e),this.shouldTrapFocus=()=>this.trapFocus&&!this.hidden,this.updateTrapFocus=e=>{const t=void 0===e?this.shouldTrapFocus():e;t&&!this.isTrappingFocus?(this.isTrappingFocus=!0,document.addEventListener("focusin",this.handleDocumentFocus),L.a.queueUpdate(()=>{this.shouldForceFocus(document.activeElement)&&this.focusFirstElement()})):!t&&this.isTrappingFocus&&(this.isTrappingFocus=!1,document.removeEventListener("focusin",this.handleDocumentFocus))}}dismiss(){this.$emit("dismiss"),this.$emit("cancel")}show(){this.hidden=!1}hide(){this.hidden=!0,this.$emit("close")}connectedCallback(){super.connectedCallback(),document.addEventListener("keydown",this.handleDocumentKeydown),this.notifier=k.b.getNotifier(this),this.notifier.subscribe(this,"hidden"),this.updateTrapFocus()}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("keydown",this.handleDocumentKeydown),this.updateTrapFocus(!1),this.notifier.unsubscribe(this,"hidden")}handleChange(e,t){"hidden"===t&&this.updateTrapFocus()}static reduceTabbableItems(e,t){return"-1"===t.getAttribute("tabindex")?e:B(t)||V.isFocusableFastElement(t)&&V.hasTabbableShadow(t)?(e.push(t),e):t.childElementCount?e.concat(Array.from(t.children).reduce(V.reduceTabbableItems,[])):e}static isFocusableFastElement(e){var t,n;return!!(null===(n=null===(t=e.$fastController)||void 0===t?void 0:t.definition.shadowOptions)||void 0===n?void 0:n.delegatesFocus)}static hasTabbableShadow(e){var t,n;return Array.from(null!==(n=null===(t=e.shadowRoot)||void 0===t?void 0:t.querySelectorAll("*"))&&void 0!==n?n:[]).some(e=>B(e))}}Object(A.a)([Object(M.c)({mode:"boolean"})],V.prototype,"modal",void 0),Object(A.a)([Object(M.c)({mode:"boolean"})],V.prototype,"hidden",void 0),Object(A.a)([Object(M.c)({attribute:"trap-focus",mode:"boolean"})],V.prototype,"trapFocus",void 0),Object(A.a)([Object(M.c)({attribute:"aria-describedby"})],V.prototype,"ariaDescribedby",void 0),Object(A.a)([Object(M.c)({attribute:"aria-labelledby"})],V.prototype,"ariaLabelledby",void 0),Object(A.a)([Object(M.c)({attribute:"aria-label"})],V.prototype,"ariaLabel",void 0);var z=n("+53S"),G=n("cQsl");const K=V.compose({baseName:"dialog",template:(e,t)=>g.a` +
+ ${Object(v.a)(e=>e.modal,g.a` + + `)} + +
+`,styles:(e,t)=>y.a` + :host([hidden]) { + display: none; + } + + :host { + --dialog-height: 480px; + --dialog-width: 640px; + display: block; + } + + .overlay { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.3); + touch-action: none; + } + + .positioning-region { + display: flex; + justify-content: center; + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + overflow: auto; + } + + .control { + box-shadow: ${G.b}; + margin-top: auto; + margin-bottom: auto; + border-radius: calc(${x.D} * 1px); + width: var(--dialog-width); + height: var(--dialog-height); + background: ${x.v}; + z-index: 1; + border: calc(${x.vb} * 1px) solid transparent; + } +`});var W=n("dblZ"),q=n("h2QR"),Q=n("VDxL"),Y=n("/4Fm");const J=[c.b` +:host .file-upload-area-button{width:auto;display:flex;align-items:end;justify-content:end;margin-inline-end:36px;margin-top:30px}:host fluent-button .upload-icon path{fill:var(--file-upload-button-text-color,var(--foreground-on-accent-rest))}:host fluent-button.file-upload-button::part(control){border:var(--file-upload-button-border,none);background:var(--file-upload-button-background-color,var(--accent-fill-rest))}:host fluent-button.file-upload-button::part(control):hover{background:var(--file-upload-button-background-color-hover,var(--accent-fill-hover))}:host fluent-button.file-upload-button .upload-text{color:var(--file-upload-button-text-color,var(--foreground-on-accent-rest));font-weight:400;line-height:20px}:host input{display:none}:host fluent-progress.file-upload-bar{width:180px;margin-top:10px}:host fluent-dialog::part(overlay){opacity:.5}:host fluent-dialog::part(control){--dialog-width:$file-upload-dialog-width;--dialog-height:$file-upload-dialog-height;padding:var(--file-upload-dialog-padding,24px);border:var(--file-upload-dialog-border,1px solid var(--neutral-fill-rest))}:host fluent-dialog .file-upload-dialog-ok{background:var(--file-upload-dialog-keep-both-button-background-color,var(--accent-fill-rest));border:var(--file-upload-dialog-keep-both-button-border,none);color:var(--file-upload-dialog-keep-both-button-text-color,var(--foreground-on-accent-rest))}:host fluent-dialog .file-upload-dialog-ok:hover{background:var(--file-upload-dialog-keep-both-button-background-color-hover,var(--accent-fill-hover))}:host fluent-dialog .file-upload-dialog-cancel{background:var(--file-upload-dialog-replace-button-background-color,var(--accent-fill-rest));border:var(--file-upload-dialog-replace-button-border,1px solid var(--neutral-foreground-rest));color:var(--file-upload-dialog-replace-button-text-color,var(--neutral-foreground-rest))}:host fluent-dialog .file-upload-dialog-cancel:hover{background:var(--file-upload-dialog-replace-button-background-color-hover,var(--accent-fill-hover))}:host fluent-checkbox{margin-top:12px}:host fluent-checkbox .file-upload-dialog-check{color:var(--file-upload-dialog-text-color,--foreground-on-accent-rest)}:host .file-upload-table{display:flex}:host .file-upload-table.upload{display:flex}:host .file-upload-table .file-upload-cell{padding:1px 0 1px 1px;display:table-cell;vertical-align:middle;position:relative}:host .file-upload-table .file-upload-cell.percent-indicator{padding-inline-start:10px}:host .file-upload-table .file-upload-cell .description{opacity:.5;position:relative}:host .file-upload-table .file-upload-cell .file-upload-filename{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .file-upload-table .file-upload-cell .file-upload-status{position:absolute;left:28px}:host .file-upload-table .file-upload-cell .file-upload-cancel{cursor:pointer;margin-inline-start:20px}:host .file-upload-table .file-upload-cell .file-upload-name{width:auto}:host .file-upload-table .file-upload-cell .cancel-icon{fill:var(--file-upload-dialog-text-color,var(--neutral-foreground-rest))}:host .mgt-file-item{--file-background-color:transparent;--file-padding:0 12px;--file-padding-inline-start:24px}:host .file-upload-template{clear:both}:host .file-upload-template .file-upload-folder-tab{padding-inline-start:20px}:host .file-upload-dialog{display:none}:host .file-upload-dialog .file-upload-dialog-content{background-color:var(--file-upload-dialog-background-color,var(--accent-fill-rest));color:var(--file-upload-dialog-text-color,var(--neutral-foreground-rest))}:host .file-upload-dialog .file-upload-dialog-content-text{margin-bottom:36px}:host .file-upload-dialog .file-upload-dialog-title{margin-top:0}:host .file-upload-dialog .file-upload-dialog-editor{display:flex;align-items:end;justify-content:end;gap:5px}:host .file-upload-dialog .file-upload-dialog-close{float:right;cursor:pointer}:host .file-upload-dialog .file-upload-dialog-close svg{fill:var(--file-upload-dialog-text-color,var(--neutral-foreground-rest));padding-right:5px}:host .file-upload-dialog.visible{display:block}:host fluent-checkbox.file-upload-dialog-check.hide{display:none}:host .file-upload-dialog-success{cursor:pointer;opacity:.5}:host #file-upload-border{display:none}:host #file-upload-border.visible{border:var(--file-upload-border-drag,1px dashed #0078d4);background-color:var(--file-upload-background-color-drag,rgba(0,120,212,.1));position:absolute;inset:0;z-index:1;display:inline-block}[dir=rtl] :host .file-upload-status{left:0;right:28px} +`],X={failUploadFile:"File upload fail.",cancelUploadFile:"File cancel.",buttonUploadFile:"Upload Files",maximumFilesTitle:"Maximum files",maximumFiles:"Sorry, the maximum number of files you can upload at once is {MaxNumber}. Do you want to upload the first {MaxNumber} files or reselect?",maximumFileSizeTitle:"Maximum files size",maximumFileSize:'Sorry, the maximum file size to upload is {FileSize}. The file "{FileName}" has ',fileTypeTitle:"File type",fileType:'Sorry, the format of following file "{FileName}" cannot be uploaded.',checkAgain:"Don't show again",checkApplyAll:"Apply to all",buttonOk:"OK",buttonCancel:"Cancel",buttonUpload:"Upload",buttonKeep:"Keep both",buttonReplace:"Replace",buttonReselect:"Reselect",fileReplaceTitle:"Replace file",fileReplace:'Do you want to replace the file "{FileName}" or keep both files?',uploadButtonLabel:"File upload button"};var Z=n("0mOt"),$=function(e,t,n,a){var i,r=arguments.length,o=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,a);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o},ee=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},te=function(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})};const ne=e=>e.isDirectory,ae=e=>"getAsEntry"in e&&"function"==typeof e.getAsEntry;class ie extends W.b{static get styles(){return J}get strings(){return X}static get requiredScopes(){return[...new Set(["files.readwrite","files.readwrite.all","sites.readwrite.all"])]}get _dropEffect(){return"copy"}constructor(){super(),this._dragCounter=0,this._maxChunkSize=4194304,this._dialogTitle="",this._dialogContent="",this._dialogPrimaryButton="",this._dialogSecondaryButton="",this._dialogCheckBox="",this._applyAll=!1,this._applyAllConflictBehavior=null,this._maximumFileSize=!1,this._excludedFileType=!1,this.onFileUploadChange=e=>{const t=e.target;!e||t.files.length<1||this.readUploadedFiles(t.files,()=>t.value=null)},this.onFileUploadClick=()=>{this.renderRoot.querySelector("#file-upload-input").click()},this.handleonDragOver=e=>{e.preventDefault(),e.stopPropagation(),e.dataTransfer.items&&e.dataTransfer.items.length>0&&(e.dataTransfer.dropEffect=e.dataTransfer.dropEffect=this._dropEffect)},this.handleonDragEnter=e=>{e.preventDefault(),e.stopPropagation(),this._dragCounter++,e.dataTransfer.items&&e.dataTransfer.items.length>0&&(e.dataTransfer.dropEffect=this._dropEffect,this.renderRoot.querySelector("#file-upload-border").classList.add("visible"))},this.handleonDragLeave=e=>{e.preventDefault(),e.stopPropagation(),this._dragCounter--,0===this._dragCounter&&this.renderRoot.querySelector("#file-upload-border").classList.remove("visible")},this.handleonDrop=e=>{var t;e.preventDefault(),e.stopPropagation(),this.renderRoot.querySelector("#file-upload-border").classList.remove("visible"),(null===(t=e.dataTransfer)||void 0===t?void 0:t.items)&&this.readUploadedFiles(e.dataTransfer.items,()=>{e.dataTransfer.clearData()}),this._dragCounter=0},this.filesToUpload=[]}render(){if(null!==this.parentElement){const e=this.parentElement;e.addEventListener("dragenter",this.handleonDragEnter),e.addEventListener("dragleave",this.handleonDragLeave),e.addEventListener("dragover",this.handleonDragOver),e.addEventListener("drop",this.handleonDrop)}return c.c` +
+ + + + ${Object(f.b)(f.a.Cancel)} + +
+

${this._dialogTitle}

+
${this._dialogContent}
+ + ${this._dialogCheckBox} + +
+
+ + ${this._dialogPrimaryButton} + + + ${this._dialogSecondaryButton} + +
+
+
+
+
+ + + ${Object(f.b)(f.a.Upload)} + ${this.strings.buttonUploadFile} + +
+
+ ${this.renderFolderTemplate(this.filesToUpload)} +
+ `}renderFolderTemplate(e){const t=[];if(e.length>0){const n=e.map(e=>-1===t.indexOf(e.fullPath.substring(0,e.fullPath.lastIndexOf("/")))?e.fullPath.endsWith("/")?c.c`${this.renderFileTemplate(e,"")}`:(t.push(e.fullPath.substring(0,e.fullPath.lastIndexOf("/"))),o.a` +
+
+ + +
+
+ ${this.renderFileTemplate(e,"file-upload-folder-tab")}`):c.c`${this.renderFileTemplate(e,"file-upload-folder-tab")}`);return c.c`${n}`}return c.c``}renderFileTemplate(e,t){const n=Object(q.a)({"file-upload-table":!0,upload:e.completed}),a=t+("lastModifiedDateTime"===e.fieldUploadResponse?" file-upload-dialog-success":""),i=Object(q.a)({description:"description"===e.fieldUploadResponse}),r=e.completed?c.c``:this.renderFileUploadTemplate(e);return o.a` +
+
+
+
+
+ ${e.iconStatus} +
+ + +
+
+ ${r} +
+
+ `}renderFileUploadTemplate(e){const t=Object(q.a)({"file-upload-table":!0,upload:e.completed});return c.c` +
+
+
+
+ ${e.file.name} +
+
+
+
+
+
+ +
+ ${e.percent}% + this.deleteFileUploadSession(e)}> + ${Object(f.b)(f.a.Cancel)} + +
+
+
+
+
+ `}deleteFileUploadSession(e){return te(this,void 0,void 0,function*(){try{void 0!==e.uploadUrl?(yield Object(u.b)(this.fileUploadList.graph,e.uploadUrl),e.uploadUrl=void 0,e.completed=!0,this.setUploadFail(e,X.cancelUploadFile)):(e.uploadUrl=void 0,e.completed=!0,this.setUploadFail(e,X.cancelUploadFile))}catch(t){e.uploadUrl=void 0,e.completed=!0,this.setUploadFail(e,X.cancelUploadFile)}})}readUploadedFiles(e,t){return te(this,void 0,void 0,function*(){const n=yield this.getFilesFromUploadArea(e);yield this.getSelectedFiles(n),t()})}getSelectedFiles(e){return te(this,void 0,void 0,function*(){let t=[];const n=[];this._applyAll=!1,this._applyAllConflictBehavior=null,this._maximumFileSize=!1,this._excludedFileType=!1,this.filesToUpload.forEach(e=>{e.completed?n.push(e):t.push(e)});for(const n of e){const e=""===n.fullPath?"/"+n.name:n.fullPath;if(0===t.filter(t=>t.fullPath===e).length){let a=!0;if(void 0!==this.fileUploadList.maxFileSize&&a&&n.size>1024*this.fileUploadList.maxFileSize&&(a=!1,!1===this._maximumFileSize)){const t=yield this.getFileUploadStatus(n,e,"MaxFileSize",this.fileUploadList);null!==t&&1===t[0]&&(this._maximumFileSize=!0)}if(void 0!==this.fileUploadList.excludedFileExtensions&&this.fileUploadList.excludedFileExtensions.length>0&&a&&this.fileUploadList.excludedFileExtensions.filter(e=>n.name.toLowerCase().indexOf(e.toLowerCase())>-1).length>0&&(a=!1,!1===this._excludedFileType)){const t=yield this.getFileUploadStatus(n,e,"ExcludedFileType",this.fileUploadList);null!==t&&1===t[0]&&(this._excludedFileType=!0)}if(a){const a=yield this.getFileUploadStatus(n,e,"Upload",this.fileUploadList);let i=!1;null!==a&&(-1===a[0]?i=!0:(this._applyAll=Boolean(a[0]),this._applyAllConflictBehavior=a[1]?1:0)),t.push({file:n,driveItem:{name:n.name},fullPath:e,conflictBehavior:null!==a?a[1]?1:0:null,iconStatus:null,percent:1,view:p.a.image,completed:i,maxSize:this._maxChunkSize,minSize:0})}}}t=t.sort((e,t)=>e.fullPath.substring(0,e.fullPath.lastIndexOf("/")).localeCompare(t.fullPath.substring(0,t.fullPath.lastIndexOf("/")))),t.forEach(e=>{if(0!==n.filter(t=>t.fullPath===e.fullPath).length){const t=n.findIndex(t=>t.fullPath===e.fullPath);n.splice(t,1)}}),t.push(...n),this.filesToUpload=t;const a=this.filesToUpload.map(e=>this.sendFileItemGraph(e));yield Promise.all(a)})}getFileUploadStatus(e,t,n,a){const i=Object.create(null,{requestStateUpdate:{get:()=>super.requestStateUpdate}});return te(this,void 0,void 0,function*(){const r=this.renderRoot.querySelector("#file-upload-dialog");switch(n){case"Upload":return null!==(yield Object(u.o)(this.fileUploadList.graph,`${this.getGrapQuery(t)}?$select=id`))?!0===this._applyAll?[this._applyAll,this._applyAllConflictBehavior]:(r.classList.add("visible"),this._dialogTitle=X.fileReplaceTitle,this._dialogContent=X.fileReplace.replace("{FileName}",e.name),this._dialogCheckBox=X.checkApplyAll,this._dialogPrimaryButton=X.buttonReplace,this._dialogSecondaryButton=X.buttonKeep,yield i.requestStateUpdate.call(this,!0),new Promise(e=>{const t=this.renderRoot.querySelector(".file-upload-dialog-close"),n=this.renderRoot.querySelector(".file-upload-dialog-ok"),a=this.renderRoot.querySelector(".file-upload-dialog-cancel"),i=this.renderRoot.querySelector("#file-upload-dialog-check");i.checked=!1,i.classList.remove("hide");const o=()=>{r.classList.remove("visible"),e([i.checked?1:0,1])},s=()=>{r.classList.remove("visible"),e([i.checked?1:0,0])},c=()=>{r.classList.remove("visible"),e([-1])};n.removeEventListener("click",o),a.removeEventListener("click",s),t.removeEventListener("click",c),n.addEventListener("click",o),a.addEventListener("click",s),t.addEventListener("click",c)})):null;case"ExcludedFileType":return r.classList.add("visible"),this._dialogTitle=X.fileTypeTitle,this._dialogContent=X.fileType.replace("{FileName}",e.name)+" ("+a.excludedFileExtensions.join(",")+")",this._dialogCheckBox=X.checkAgain,this._dialogPrimaryButton=X.buttonOk,this._dialogSecondaryButton=X.buttonCancel,yield i.requestStateUpdate.call(this,!0),new Promise(e=>{const t=this.renderRoot.querySelector(".file-upload-dialog-ok"),n=this.renderRoot.querySelector(".file-upload-dialog-cancel"),a=this.renderRoot.querySelector(".file-upload-dialog-close"),i=this.renderRoot.querySelector("#file-upload-dialog-check");i.checked=!1,i.classList.remove("hide");const o=()=>{r.classList.remove("visible"),e([i.checked?1:0])},s=()=>{r.classList.remove("visible"),e([0])};t.removeEventListener("click",o),n.removeEventListener("click",s),a.removeEventListener("click",s),t.addEventListener("click",o),n.addEventListener("click",s),a.addEventListener("click",s)});case"MaxFileSize":return r.classList.add("visible"),this._dialogTitle=X.maximumFileSizeTitle,this._dialogContent=X.maximumFileSize.replace("{FileSize}",Object(Y.d)(1024*a.maxFileSize)).replace("{FileName}",e.name)+Object(Y.d)(e.size)+".",this._dialogCheckBox=X.checkAgain,this._dialogPrimaryButton=X.buttonOk,this._dialogSecondaryButton=X.buttonCancel,yield i.requestStateUpdate.call(this,!0),new Promise(e=>{const t=this.renderRoot.querySelector(".file-upload-dialog-ok"),n=this.renderRoot.querySelector(".file-upload-dialog-cancel"),a=this.renderRoot.querySelector(".file-upload-dialog-close"),i=this.renderRoot.querySelector("#file-upload-dialog-check");i.checked=!1,i.classList.remove("hide");const o=()=>{r.classList.remove("visible"),e([i.checked?1:0])},s=()=>{r.classList.remove("visible"),e([0])};t.removeEventListener("click",o),n.removeEventListener("click",s),a.removeEventListener("click",s),t.addEventListener("click",o),n.addEventListener("click",s),a.addEventListener("click",s)})}})}getGrapQuery(e){let t="";return this.fileUploadList.itemPath&&this.fileUploadList.itemPath.length>0&&(t=this.fileUploadList.itemPath.startsWith("/")?this.fileUploadList.itemPath:"/"+this.fileUploadList.itemPath),this.fileUploadList.userId&&this.fileUploadList.itemId?`/users/${this.fileUploadList.userId}/drive/items/${this.fileUploadList.itemId}:${e}`:this.fileUploadList.userId&&this.fileUploadList.itemPath?`/users/${this.fileUploadList.userId}/drive/root:${t}${e}`:this.fileUploadList.groupId&&this.fileUploadList.itemId?`/groups/${this.fileUploadList.groupId}/drive/items/${this.fileUploadList.itemId}:${e}`:this.fileUploadList.groupId&&this.fileUploadList.itemPath?`/groups/${this.fileUploadList.groupId}/drive/root:${t}${e}`:this.fileUploadList.driveId&&this.fileUploadList.itemId?`/drives/${this.fileUploadList.driveId}/items/${this.fileUploadList.itemId}:${e}`:this.fileUploadList.driveId&&this.fileUploadList.itemPath?`/drives/${this.fileUploadList.driveId}/root:${t}${e}`:this.fileUploadList.siteId&&this.fileUploadList.itemId?`/sites/${this.fileUploadList.siteId}/drive/items/${this.fileUploadList.itemId}:${e}`:this.fileUploadList.siteId&&this.fileUploadList.itemPath?`/sites/${this.fileUploadList.siteId}/drive/root:${t}${e}`:this.fileUploadList.itemId?`/me/drive/items/${this.fileUploadList.itemId}:${e}`:this.fileUploadList.itemPath?`/me/drive/root:${t}${e}`:`/me/drive/root:${e}`}sendFileItemGraph(e){return te(this,void 0,void 0,function*(){const t=this.fileUploadList.graph;let n="";if(e.file.sizesuper.requestStateUpdate}});return te(this,void 0,void 0,function*(){for(;t.file.size>t.minSize;){void 0===t.mimeStreamString&&(t.mimeStreamString=yield this.readFileContent(t.file));const a=new Blob([t.mimeStreamString.slice(t.minSize,t.maxSize)]);if(t.percent=Math.round(t.maxSize/t.file.size*100),yield n.requestStateUpdate.call(this,!0),void 0===t.uploadUrl)return null;{const n=yield Object(u.K)(e,t.uploadUrl,""+(t.maxSize-t.minSize),`bytes ${t.minSize}-${t.maxSize-1}/${t.file.size}`,a);if(null===n)return null;if(Object(u.J)(n))t.minSize=parseInt(n.nextExpectedRanges[0].split("-")[0],10),t.maxSize=t.minSize+this._maxChunkSize,t.maxSize>t.file.size&&(t.maxSize=t.file.size);else if(void 0!==n.id)return n}}})}setUploadSuccess(e){e.percent=100,super.requestStateUpdate(!0),setTimeout(()=>{e.iconStatus=Object(f.b)(f.a.Success),e.view=p.a.twolines,e.fieldUploadResponse="lastModifiedDateTime",e.completed=!0,super.requestStateUpdate(!0),Object(u.a)()},500)}setUploadFail(e,t){setTimeout(()=>{e.iconStatus=Object(f.b)(f.a.Fail),e.view=p.a.twolines,e.driveItem.description=t,e.fieldUploadResponse="description",e.completed=!0,super.requestStateUpdate(!0)},500)}readFileContent(e){return new Promise((t,n)=>{const a=new FileReader;a.onloadend=()=>{t(a.result)},a.onerror=e=>{n(e)},a.readAsArrayBuffer(e)})}getFilesFromUploadArea(e){return te(this,void 0,void 0,function*(){const t=[];let n;const a=[];for(const r of e)if("getAsFile"in(i=r)&&"function"==typeof i.getAsFile||"webkitGetAsEntry"in i&&"function"==typeof i.webkitGetAsEntry)if(ae(r))if(n=r.getAsEntry(),ne(n))t.push(n);else{const e=r.getAsFile();e&&(this.writeFilePath(e,""),a.push(e))}else if(r.webkitGetAsEntry)if(n=r.webkitGetAsEntry(),ne(n))t.push(n);else{const e=r.getAsFile();e&&(this.writeFilePath(e,""),a.push(e))}else{const e=r.getAsFile();e&&(this.writeFilePath(e,""),a.push(e))}else this.writeFilePath(r,""),a.push(r);var i;if(t.length>0){const e=yield this.getFolderFiles(t);a.push(...e)}return a})}getFolderFiles(e){return new Promise(t=>{let n=0;const a=[];e.forEach(e=>{i(e,"")});const i=(e,i)=>{ne(e)?r(e.createReader()):(e=>e.isFile)(e)&&(n++,e.file(e=>{n--,this.writeFilePath(e,i),a.push(e),0===n&&t(a)}))},r=e=>{n++,e.readEntries(e=>{n--;for(const t of e)i(t,t.fullPath);0===n&&t(a)})}})}writeFilePath(e,t){e.fullPath=t}}$([Object(d.b)({type:Object}),ee("design:type",Array)],ie.prototype,"filesToUpload",void 0),$([Object(d.b)({type:Object}),ee("design:type",Object)],ie.prototype,"fileUploadList",void 0);var re=n("VcPv"),oe=function(e,t,n,a){var i,r=arguments.length,o=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,a);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o},se=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},ce=function(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})};const de=()=>{Object(Q.a)(re.a),Object(h.b)(),Object(Q.a)(O,w.a,E.a,K),Object(h.b)(),Object(Z.b)("file-upload",ie),Object(Z.b)("file-list",le)};class le extends a.a{static get styles(){return m}get strings(){return _}get fileListQuery(){return this._fileListQuery}set fileListQuery(e){e!==this._fileListQuery&&(this._fileListQuery=e,this.requestStateUpdate(!0))}get displayName(){return this.strings.filesSectionTitle}get cardTitle(){return this.strings.filesSectionTitle}renderIcon(){return Object(f.b)(f.a.Files)}get fileQueries(){return this._fileQueries}set fileQueries(e){Object(i.a)(this._fileQueries,e)||(this._fileQueries=e,this.requestStateUpdate(!0))}get siteId(){return this._siteId}set siteId(e){e!==this._siteId&&(this._siteId=e,this.requestStateUpdate(!0))}get driveId(){return this._driveId}set driveId(e){e!==this._driveId&&(this._driveId=e,this.requestStateUpdate(!0))}get groupId(){return this._groupId}set groupId(e){e!==this._groupId&&(this._groupId=e,this.requestStateUpdate(!0))}get itemId(){return this._itemId}set itemId(e){e!==this._itemId&&(this._itemId=e,this.requestStateUpdate(!0))}get itemPath(){return this._itemPath}set itemPath(e){e!==this._itemPath&&(this._itemPath=e,this.requestStateUpdate(!0))}get userId(){return this._userId}set userId(e){e!==this._userId&&(this._userId=e,this.requestStateUpdate(!0))}get insightType(){return this._insightType}set insightType(e){e!==this._insightType&&(this._insightType=e,this.requestStateUpdate(!0))}get fileExtensions(){return this._fileExtensions}set fileExtensions(e){Object(i.a)(this._fileExtensions,e)||(this._fileExtensions=e,this.requestStateUpdate(!0))}get pageSize(){return this._pageSize}set pageSize(e){e!==this._pageSize&&(this._pageSize=e,this.requestStateUpdate(!0))}get maxFileSize(){return this._maxFileSize}set maxFileSize(e){e!==this._maxFileSize&&(this._maxFileSize=e,this.requestStateUpdate(!0))}get maxUploadFile(){return this._maxUploadFile}set maxUploadFile(e){e!==this._maxUploadFile&&(this._maxUploadFile=e,this.requestStateUpdate(!0))}get excludedFileExtensions(){return this._excludedFileExtensions}set excludedFileExtensions(e){Object(i.a)(this._excludedFileExtensions,e)||(this._excludedFileExtensions=e,this.requestStateUpdate(!0))}static get requiredScopes(){return[...new Set([...h.a.requiredScopes])]}constructor(){super(),this._isCompact=!1,this.disableOpenOnClick=!1,this._focusedItemIndex=-1,this.onFocusFirstItem=()=>this._focusedItemIndex=0,this.onFileListKeyDown=e=>{const t=this.renderRoot.querySelector(".file-list");let n;if(null==t?void 0:t.children.length){if("ArrowUp"!==e.code&&"ArrowDown"!==e.code||("ArrowUp"===e.code&&(-1===this._focusedItemIndex&&(this._focusedItemIndex=t.children.length),this._focusedItemIndex=(this._focusedItemIndex-1+t.children.length)%t.children.length),"ArrowDown"===e.code&&(this._focusedItemIndex=(this._focusedItemIndex+1)%t.children.length),n=t.children[this._focusedItemIndex],this.updateItemBackgroundColor(t,n,"focused")),"Enter"===e.code||"Space"===e.code){n=t.children[this._focusedItemIndex];const a=n.children[0];e.preventDefault(),this.fireCustomEvent("itemClick",a.fileDetails),this.handleFileClick(a.fileDetails),this.updateItemBackgroundColor(t,n,"selected")}"Tab"===e.code&&(n=t.children[this._focusedItemIndex])}},this.pageSize=10,this.itemView=p.a.twolines,this.maxUploadFile=10,this.enableFileUpload=!1,this._preloadedFiles=[]}requestStateUpdate(e){return this.clearState(),super.requestStateUpdate(e)}clearState(){super.clearState(),this.files=null}asCompactView(){return this._isCompact=!0,this}asFullView(){return this._isCompact=!1,this}render(){return!this.files&&this.isLoadingState?this.renderLoading():this.files&&0!==this.files.length?this._isCompact?this.renderCompactView():this.renderFullView():this.renderNoData()}renderCompactView(){const e=this.files.slice(0,3);return this.renderFiles(e)}renderFullView(){return this.renderTemplate("default",{files:this.files})||this.renderFiles(this.files)}renderLoading(){return this.renderTemplate("loading",null)||c.c``}renderNoData(){return this.renderTemplate("no-data",null)||(!0===this.enableFileUpload&&void 0!==r.a.globalProvider?c.c` +
+ ${this.renderFileUpload()} +
`:c.c``)}renderFiles(e){return c.c` +
+ ${this.enableFileUpload?this.renderFileUpload():null} +
    +
  • this.handleItemSelect(e[0],t)}> + ${this.renderFile(e[0])} +
  • + ${Object(l.a)(e.slice(1),e=>e.id,e=>c.c` +
  • this.handleItemSelect(e,t)}> + ${this.renderFile(e)} +
  • + `)} +
+ ${this.hideMoreFilesButton||!this.pageIterator||!this.pageIterator.hasNext&&!this._preloadedFiles.length||this._isCompact?null:this.renderMoreFileButton()} +
+ `}renderFile(e){const t=this.itemView;return this.renderTemplate("file",{file:e},e.id)||o.a` + + `}renderMoreFileButton(){return this._isLoadingMore?c.c` + + `:c.c` + this.renderNextPage()} + > + ${this.strings.showMoreSubtitle} + `}renderFileUpload(){const e={graph:r.a.globalProvider.graph.forComponent(this),driveId:this.driveId,excludedFileExtensions:this.excludedFileExtensions,groupId:this.groupId,itemId:this.itemId,itemPath:this.itemPath,userId:this.userId,siteId:this.siteId,maxFileSize:this.maxFileSize,maxUploadFile:this.maxUploadFile};return o.a` + + `}loadState(){var e;return ce(this,void 0,void 0,function*(){const t=r.a.globalProvider;if(!t||t.state===s.c.Loading)return;if(t.state===s.c.SignedOut)return void(this.files=null);const n=t.graph.forComponent(this);let a,i;const o=!(this.driveId||this.siteId||this.groupId||this.userId);if((this.driveId&&!this.itemId&&!this.itemPath||this.groupId&&!this.itemId&&!this.itemPath||this.siteId&&!this.itemId&&!this.itemPath||this.userId&&!this.insightType&&!this.itemId&&!this.itemPath)&&(this.files=null),!this.files){let t;if(this.fileListQuery?i=yield Object(u.k)(n,this.fileListQuery,this.pageSize):this.fileQueries?a=yield Object(u.m)(n,this.fileQueries):o?this.itemId?i=yield Object(u.j)(n,this.itemId,this.pageSize):this.itemPath?i=yield Object(u.l)(n,this.itemPath,this.pageSize):this.insightType?a=yield Object(u.x)(n,this.insightType):i=yield Object(u.n)(n,this.pageSize):this.driveId?this.itemId?i=yield Object(u.e)(n,this.driveId,this.itemId,this.pageSize):this.itemPath&&(i=yield Object(u.f)(n,this.driveId,this.itemPath,this.pageSize)):this.groupId?this.itemId?i=yield Object(u.r)(n,this.groupId,this.itemId,this.pageSize):this.itemPath&&(i=yield Object(u.s)(n,this.groupId,this.itemPath,this.pageSize)):this.siteId?this.itemId?i=yield Object(u.A)(n,this.siteId,this.itemId,this.pageSize):this.itemPath&&(i=yield Object(u.B)(n,this.siteId,this.itemPath,this.pageSize)):this.userId&&(this.itemId?i=yield Object(u.F)(n,this.userId,this.itemId,this.pageSize):this.itemPath?i=yield Object(u.G)(n,this.userId,this.itemPath,this.pageSize):this.insightType&&(a=yield Object(u.I)(n,this.userId,this.insightType))),i&&(this.pageIterator=i,this._preloadedFiles=[...this.pageIterator.value],a=this._preloadedFiles.length>=this.pageSize?this._preloadedFiles.splice(0,this.pageSize):this._preloadedFiles.splice(0,this._preloadedFiles.length)),this.fileExtensions&&null!==this.fileExtensions){if(null===(e=this.pageIterator)||void 0===e?void 0:e.value){for(;this.pageIterator.hasNext;)yield Object(u.c)(this.pageIterator);a=this.pageIterator.value,this._preloadedFiles=[]}t=a.filter(e=>{for(const t of this.fileExtensions)if(t===this.getFileExtension(e.name))return e})}(null==t?void 0:t.length)>=0?(this.files=t,this.pageSize&&(a=this.files.splice(0,this.pageSize),this.files=a)):this.files=a}})}handleItemSelect(e,t){if(this.handleFileClick(e),this.fireCustomEvent("itemClick",e),t){const e=this.renderRoot.querySelector(".file-list"),n=Array.from(e.children),a=t.target.closest("li"),i=n.indexOf(a);this._focusedItemIndex=i;const r=e.children[this._focusedItemIndex];this.updateItemBackgroundColor(e,r,"selected")}}renderNextPage(){return ce(this,void 0,void 0,function*(){if(this._preloadedFiles.length>0)this.files=[...this.files,...this._preloadedFiles.splice(0,Math.min(this.pageSize,this._preloadedFiles.length))];else if(this.pageIterator.hasNext){this._isLoadingMore=!0;const e=this.renderRoot.querySelector("#file-list-wrapper");(null==e?void 0:e.animate)&&e.animate([{height:"auto",transformOrigin:"top left"},{height:"auto",transformOrigin:"top left"}],{duration:1e3,easing:"ease-in-out",fill:"both"}),yield Object(u.c)(this.pageIterator),this._isLoadingMore=!1,this.files=this.pageIterator.value}this.requestUpdate()})}handleFileClick(e){(null==e?void 0:e.webUrl)&&!this.disableOpenOnClick&&window.open(e.webUrl,"_blank","noreferrer")}getFileExtension(e){return/(?:\.([^.]+))?$/.exec(e)[1]||""}updateItemBackgroundColor(e,t,n){for(const t of e.children)t.classList.remove(n),t.removeAttribute("tabindex");t&&(t.classList.add(n),t.scrollIntoView({behavior:"smooth",block:"nearest",inline:"start"}),t.setAttribute("tabindex","0"),t.focus());for(const t of e.children)t.classList.remove("selected")}reload(e=!1){e&&Object(u.a)(),this.requestStateUpdate(!0)}}oe([Object(d.c)(),se("design:type",Object)],le.prototype,"_isCompact",void 0),oe([Object(d.b)({attribute:"file-list-query"}),se("design:type",String),se("design:paramtypes",[String])],le.prototype,"fileListQuery",null),oe([Object(d.b)({attribute:"file-queries",converter:(e,t)=>e?e.split(",").map(e=>e.trim()):null}),se("design:type",Array),se("design:paramtypes",[Array])],le.prototype,"fileQueries",null),oe([Object(d.b)({type:Object}),se("design:type",Array)],le.prototype,"files",void 0),oe([Object(d.b)({attribute:"site-id"}),se("design:type",String),se("design:paramtypes",[String])],le.prototype,"siteId",null),oe([Object(d.b)({attribute:"drive-id"}),se("design:type",String),se("design:paramtypes",[String])],le.prototype,"driveId",null),oe([Object(d.b)({attribute:"group-id"}),se("design:type",String),se("design:paramtypes",[String])],le.prototype,"groupId",null),oe([Object(d.b)({attribute:"item-id"}),se("design:type",String),se("design:paramtypes",[String])],le.prototype,"itemId",null),oe([Object(d.b)({attribute:"item-path"}),se("design:type",String),se("design:paramtypes",[String])],le.prototype,"itemPath",null),oe([Object(d.b)({attribute:"user-id"}),se("design:type",String),se("design:paramtypes",[String])],le.prototype,"userId",null),oe([Object(d.b)({attribute:"insight-type"}),se("design:type",String),se("design:paramtypes",[String])],le.prototype,"insightType",null),oe([Object(d.b)({attribute:"item-view",converter:e=>e&&0!==e.length?(e=e.toLowerCase(),void 0===p.a[e]?p.a.threelines:p.a[e]):p.a.threelines}),se("design:type",Number)],le.prototype,"itemView",void 0),oe([Object(d.b)({attribute:"file-extensions",converter:(e,t)=>e.split(",").map(e=>e.trim())}),se("design:type",Array),se("design:paramtypes",[Array])],le.prototype,"fileExtensions",null),oe([Object(d.b)({attribute:"page-size",type:Number}),se("design:type",Number),se("design:paramtypes",[Number])],le.prototype,"pageSize",null),oe([Object(d.b)({attribute:"disable-open-on-click",type:Boolean}),se("design:type",Object)],le.prototype,"disableOpenOnClick",void 0),oe([Object(d.b)({attribute:"hide-more-files-button",type:Boolean}),se("design:type",Boolean)],le.prototype,"hideMoreFilesButton",void 0),oe([Object(d.b)({attribute:"max-file-size",type:Number}),se("design:type",Number),se("design:paramtypes",[Number])],le.prototype,"maxFileSize",null),oe([Object(d.b)({attribute:"enable-file-upload",type:Boolean}),se("design:type",Boolean)],le.prototype,"enableFileUpload",void 0),oe([Object(d.b)({attribute:"max-upload-file",type:Number}),se("design:type",Number),se("design:paramtypes",[Number])],le.prototype,"maxUploadFile",null),oe([Object(d.b)({attribute:"excluded-file-extensions",converter:(e,t)=>e.split(",").map(e=>e.trim())}),se("design:type",Array),se("design:paramtypes",[Array])],le.prototype,"excludedFileExtensions",null),oe([Object(d.c)(),se("design:type",Boolean)],le.prototype,"_isLoadingMore",void 0)},eftJ:function(e,t,n){"use strict";function a(e,t,n,a){var i,r=arguments.length,o=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,a);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o}n.d(t,"a",function(){return a})},fU9z:function(e,t,n){"use strict";n.d(t,"b",function(){return a}),n.d(t,"c",function(){return i}),n.d(t,"a",function(){return r});const a=e=>"groupTypes"in e,i=e=>"personType"in e||"userType"in e,r=e=>"initials"in e},glp4:function(e,t,n){"use strict";n.d(t,"g",function(){return u}),n.d(t,"c",function(){return f}),n.d(t,"e",function(){return p}),n.d(t,"a",function(){return m}),n.d(t,"h",function(){return _}),n.d(t,"i",function(){return h}),n.d(t,"d",function(){return b}),n.d(t,"b",function(){return g}),n.d(t,"f",function(){return v}),n.d(t,"j",function(){return y});var a=n("DNu6"),i=n("RIOo"),r=n("EYXE"),o=n("/4Fm"),s=n("imsm"),c=n("z0DP"),d=n("s9K1"),l=function(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})};const u=()=>a.a.config.photos.invalidationPeriod||a.a.config.defaultInvalidationPeriod,f=()=>a.a.config.photos.isEnabled&&a.a.config.isEnabled,p=(e,t,n)=>l(void 0,void 0,void 0,function*(){try{const a=yield e.api(`${t}/photo/$value`).responseType(r.ResponseType.RAW).middlewareOptions(Object(i.a)(...n)).get();return 404===a.status?{eTag:null,photo:null}:a.ok?{eTag:a["@odata.mediaEtag"],photo:yield Object(o.a)(yield a.blob())}:null}catch(e){return null}}),m=(e,t)=>l(void 0,void 0,void 0,function*(){let n,i;return f()&&(n=a.a.getCache(s.a.photos,s.a.photos.stores.contacts),i=yield n.getValue(t),i&&u()>Date.now()-i.timeCached)?i.photo:(i=yield p(e,`me/contacts/${t}`,["contacts.read"]),f()&&i&&(yield n.putValue(t,i)),i?i.photo:null)}),_=(e,t)=>l(void 0,void 0,void 0,function*(){let n,i;if(f()){if(n=a.a.getCache(s.a.photos,s.a.photos.stores.users),i=yield n.getValue(t),i&&u()>Date.now()-i.timeCached)return i.photo;if(i)try{const n=yield e.api(`users/${t}/photo`).get();n&&(n["@odata.mediaEtag"]!==i.eTag||null===n["@odata.mediaEtag"]&&null===i.eTag)&&(i=null)}catch(e){return null}}return i=i||(yield p(e,`users/${t}`,["user.readbasic.all"])),f()&&i&&(yield n.putValue(t,i)),i?i.photo:null}),h=e=>l(void 0,void 0,void 0,function*(){let t,n;if(f()&&(t=a.a.getCache(s.a.photos,s.a.photos.stores.users),n=yield t.getValue("me"),n&&u()>Date.now()-n.timeCached))return n.photo;try{const t=yield e.api("me/photo").get();t&&(t["@odata.mediaEtag"]!==n.eTag||null===t["@odata.mediaEtag"]&&null===n.eTag)&&(n=null)}catch(e){return null}return n=n||(yield p(e,"me",["user.read"])),f()&&(yield t.putValue("me",n||{})),n?n.photo:null}),b=(e,t,n=!0)=>l(void 0,void 0,void 0,function*(){if("personType"in t&&"OrganizationUser"!==t.personType.subclass){if("PersonalContact"===t.personType.subclass&&n){const n=Object(c.e)(t),a=yield Object(c.c)(e,n);if((null==a?void 0:a.length)&&a[0].id)return yield m(e,a[0].id)}return null}if(t.userPrincipalName||t.id){const n=t.userPrincipalName||t.id;return yield _(e,n)}if(t.id){const n=yield _(e,t.id);if(n)return n}const a=Object(c.e)(t);if(a){const t=yield Object(d.b)(e,a,1);if(null==t?void 0:t.length)return yield _(e,t[0].id);if(n){const t=yield Object(c.c)(e,a);if(null==t?void 0:t.length)return yield m(e,t[0].id)}}return null}),g=(e,t)=>l(void 0,void 0,void 0,function*(){let n,i;const r=t.id;if(f()){if(i=a.a.getCache(s.a.photos,s.a.photos.stores.groups),n=yield i.getValue(r),n&&u()>Date.now()-n.timeCached)return n.photo;if(n)try{const t=yield e.api(`groups/${r}/photo`).get();t&&(t["@odata.mediaEtag"]!==n.eTag||null===t["@odata.mediaEtag"]&&null===n.eTag)&&(n=null)}catch(e){return null}}return n=n||(yield p(e,`groups/${r}`,["user.readbasic.all"])),f()&&n&&(yield i.putValue(r,n)),n?n.photo:null}),v=(e,t)=>l(void 0,void 0,void 0,function*(){const n=a.a.getCache(s.a.photos,t);return yield n.getValue(e)}),y=(e,t,n)=>l(void 0,void 0,void 0,function*(){const i=a.a.getCache(s.a.photos,t);yield i.putValue(e,n)})},h2QR:function(e,t,n){"use strict";n.d(t,"a",function(){return r});var a=n("5rba"),i=n("GcG9");const r=Object(i.c)(class extends i.a{constructor(e){var t;if(super(e),e.type!==i.b.ATTRIBUTE||"class"!==e.name||(null===(t=e.strings)||void 0===t?void 0:t.length)>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(e){return" "+Object.keys(e).filter(t=>e[t]).join(" ")+" "}update(e,[t]){if(void 0===this.it){this.it=new Set,void 0!==e.strings&&(this.st=new Set(e.strings.join(" ").split(/\s/).filter(e=>""!==e)));for(const e in t){var n;t[e]&&(null===(n=this.st)||void 0===n||!n.has(e))&&this.it.add(e)}return this.render(t)}const i=e.element.classList;for(const e of this.it)e in t||(i.remove(e),this.it.delete(e));for(const e in t){var r;const n=!!t[e];n===this.it.has(e)||(null===(r=this.st)||void 0===r?void 0:r.has(e))||(n?(i.add(e),this.it.add(e)):(i.remove(e),this.it.delete(e)))}return a.c}})},hgjj:function(e,t,n){"use strict";n.d(t,"a",function(){return d});var a=n("DNu6"),i=n("RIOo"),r=n("glp4"),o=n("s9K1"),s=n("imsm"),c=n("o2vq");const d=(e,t,n)=>{return void 0,void 0,l=function*(){let d,l,u,f=null;const p=t?`users/${t}`:"me",m=p+(n?`?$select=${n.toString()}`:""),_=t?["user.readbasic.all"]:["user.read"];if(Object(o.d)()){const e=a.a.getCache(s.a.users,s.a.users.stores.users);u=yield e.getValue(t||"me"),u&&Object(o.g)()>Date.now()-u.timeCached?(f=u.user?JSON.parse(u.user):null,null!==f&&n&&n.filter(e=>!Object.keys(f).includes(e)).length>=1&&(f=null,u=null)):u=null}if(Object(r.c)())if(l=yield Object(r.f)(t||"me",s.a.photos.stores.users),l&&Object(r.g)()>Date.now()-l.timeCached)d=l.photo;else if(l)try{const n=yield e.api(`${p}/photo`).get();(null==n?void 0:n["@odata.mediaEtag"])&&n["@odata.mediaEtag"]===l.eTag?(yield Object(r.j)(t||"me",s.a.photos.stores.users,l),d=l.photo):l=null}catch(e){Object(c.a)(e)&&("ErrorItemNotFound"!==e.code&&"ImageNotFound"!==e.code||(yield Object(r.j)(t||"me",s.a.photos.stores.users,{eTag:null,photo:null})))}if(l||u)if(l){if(!u)try{const n=yield e.api(m).middlewareOptions(Object(i.a)(..._)).get();if(n){if(Object(o.d)()){const e=a.a.getCache(s.a.users,s.a.users.stores.users);yield e.putValue(t||"me",{user:JSON.stringify(n)})}f=n}}catch(e){}}else try{const n=yield Object(r.e)(e,p,_);n&&(Object(r.c)()&&(yield Object(r.j)(t||"me",s.a.photos.stores.users,{eTag:n.eTag,photo:n.photo})),d=n.photo)}catch(e){}else{let i;const c=e.createBatch();t?(c.get("user",`/users/${t}${n?"?$select="+n.toString():""}`,["user.readbasic.all"]),c.get("photo",`users/${t}/photo/$value`,["user.readbasic.all"])):(c.get("user","me",["user.read"]),c.get("photo","me/photo/$value",["user.read"]));const l=yield c.executeAll(),u=l.get("photo");u&&(i=u.headers.ETag,d=u.content);const p=l.get("user");if(p&&(f=p.content),Object(o.d)()){const e=a.a.getCache(s.a.users,s.a.users.stores.users);yield e.putValue(t||"me",{user:JSON.stringify(f)})}Object(r.c)()&&(yield Object(r.j)(t||"me",s.a.photos.stores.users,{eTag:i,photo:d}))}return f&&(f.personImage=d),f},new((d=void 0)||(d=Promise))(function(e,t){function n(e){try{i(l.next(e))}catch(e){t(e)}}function a(e){try{i(l.throw(e))}catch(e){t(e)}}function i(t){var i;t.done?e(t.value):(i=t.value,i instanceof d?i:new d(function(e){e(i)})).then(n,a)}i((l=l.apply(undefined,[])).next())});var d,l}},"hv+n":function(e,t,n){"use strict";n.d(t,"a",function(){return _});var a,i=n("0q6d"),r=n("swXE"),o=n("PT2o"),s=n("6eT7"),c=n("RN7+");function d(e,t,n){return isNaN(e)||e<=0?t:e>=1?n:new s.a(Object(i.e)(e,t.r,n.r),Object(i.e)(e,t.g,n.g),Object(i.e)(e,t.b,n.b),Object(i.e)(e,t.a,n.a))}n("tq/8"),n("SiT+"),n("xAa8"),function(e){e[e.RGB=0]="RGB",e[e.HSL=1]="HSL",e[e.HSV=2]="HSV",e[e.XYZ=3]="XYZ",e[e.LAB=4]="LAB",e[e.LCH=5]="LCH"}(a||(a={}));var l=n("i2HT");function u(e,t,n=0,a=e.length-1){if(a===n)return e[n];const i=Math.floor((a-n)/2)+n;return t(e[i])?u(e,t,n,i):u(e,t,i+1,a)}var f=n("s2f2"),p=n("THNU");const m={stepContrast:1.03,stepContrastRamp:.03,preserveSource:!1},_=Object.freeze({create:function(e,t,n){return"number"==typeof e?_.from(l.a.create(e,t,n)):_.from(e)},from:function(e,t){return Object(l.b)(e)?h.from(e,t):h.from(l.a.create(e.r,e.g,e.b),t)}});class h{constructor(e,t){this.closestIndexCache=new Map,this.source=e,this.swatches=t,this.reversedSwatches=Object.freeze([...this.swatches].reverse()),this.lastIndex=this.swatches.length-1}colorContrast(e,t,n,a){void 0===n&&(n=this.closestIndexOf(e));let i=this.swatches;const r=this.lastIndex;let o=n;return void 0===a&&(a=Object(f.a)(e)),-1===a&&(i=this.reversedSwatches,o=r-o),u(i,n=>Object(p.a)(e,n)>=t,o,r)}get(e){return this.swatches[e]||this.swatches[Object(i.a)(e,0,this.lastIndex)]}closestIndexOf(e){if(this.closestIndexCache.has(e.relativeLuminance))return this.closestIndexCache.get(e.relativeLuminance);let t=this.swatches.indexOf(e);if(-1!==t)return this.closestIndexCache.set(e.relativeLuminance,t),t;const n=this.swatches.reduce((t,n)=>Math.abs(n.relativeLuminance-e.relativeLuminance).5?(t-.5)/.5:2*t}static createHighResolutionPalette(e){const t=[],n=Object(r.h)(s.a.fromObject(e).roundToPrecision(4)),a=Object(r.d)(new c.a(0,n.a,n.b)).clamp().roundToPrecision(4),i=Object(r.d)(new c.a(50,n.a,n.b)).clamp().roundToPrecision(4),o=Object(r.d)(new c.a(100,n.a,n.b)).clamp().roundToPrecision(4),u=new s.a(0,0,0),f=new s.a(1,1,1),p=o.equalValue(f)?0:14,m=a.equalValue(u)?0:14;for(let e=100+p;e>=0-m;e-=.5){let n;n=e<0?d(e/m+1,u,a):e<=50?d(h.ramp(e),a,i):e<=100?d(h.ramp(e),i,o):d((e-100)/p,o,f),n=h.saturationBump(i,n).roundToPrecision(4),t.push(l.a.from(n))}return new h(e,t)}static adjustEnd(e,t,n,a){const r=-1===a?t.swatches:t.reversedSwatches,o=e=>{const n=t.closestIndexOf(e);return 1===a?t.lastIndex-n:n};1===a&&n.reverse();const s=e(n[n.length-2]);if(Object(i.i)(Object(p.a)(n[n.length-1],n[n.length-2]),2){const n=t.stepContrast+t.stepContrast*(1-e.relativeLuminance)*t.stepContrastRamp;return Object(i.i)(n,2)},r=[];let o=t.preserveSource?e:n.swatches[0];r.push(o);do{const e=a(o);o=n.colorContrast(o,e,void 0,1),r.push(o)}while(o.relativeLuminance>0);if(t.preserveSource){o=e;do{const e=a(o);o=n.colorContrast(o,e,void 0,-1),r.unshift(o)}while(o.relativeLuminance<1)}return this.adjustEnd(a,n,r,-1),t.preserveSource&&this.adjustEnd(a,n,r,1),r}static from(e,t){const n=void 0===t?m:Object.assign(Object.assign({},m),t);return new h(e,Object.freeze(h.createColorPaletteByContrast(e,n)))}}},i2HT:function(e,t,n){"use strict";n.d(t,"a",function(){return o}),n.d(t,"b",function(){return s});var a=n("6eT7"),i=n("swXE"),r=n("THNU");const o=Object.freeze({create:(e,t,n)=>new c(e,t,n),from:e=>new c(e.r,e.g,e.b)});function s(e){const t={r:0,g:0,b:0,toColorString:()=>"",contrast:()=>0,relativeLuminance:0};for(const n in t)if(typeof t[n]!=typeof e[n])return!1;return!0}class c extends a.a{constructor(e,t,n){super(e,t,n,1),this.toColorString=this.toStringHexRGB,this.contrast=r.a.bind(null,this),this.createCSS=this.toColorString,this.relativeLuminance=Object(i.j)(this)}static fromObject(e){return new c(e.r,e.g,e.b)}}},icq5:function(e,t,n){"use strict";n.d(t,"a",function(){return i});var a=n("YZrM");const i=()=>{const e=[];return a.a.sections.files&&e.push("Sites.Read.All"),a.a.sections.mailMessages&&(e.push("Mail.Read"),e.push("Mail.ReadBasic")),a.a.sections.organization&&(e.push("User.Read.All"),a.a.sections.organization.showWorksWith&&e.push("People.Read.All")),a.a.sections.profile&&e.push("User.Read.All"),a.a.useContactApis&&e.push("Contacts.Read"),e.indexOf("User.Read.All")<0&&(e.push("User.ReadBasic.All"),e.push("User.Read")),e.indexOf("People.Read.All")<0&&e.push("People.Read"),a.a.isSendMessageVisible&&e.push("Chat.ReadWrite"),[...new Set(e)]}},imsm:function(e,t,n){"use strict";n.d(t,"a",function(){return a});const a={conversation:{name:"conversation",stores:{chats:"chats",subscriptions:"subscriptions",lastRead:"lastRead"},version:3,indexes:{subscriptions:[{name:"lastAccessDateTime",field:"lastAccessDateTime"}]}},presence:{name:"presence",stores:{presence:"presence"},version:2},users:{name:"users",stores:{users:"users",usersQuery:"usersQuery",userFilters:"userFilters"},version:3},photos:{name:"photos",stores:{contacts:"contacts",users:"users",groups:"groups",teams:"teams"},version:2},people:{name:"people",stores:{contacts:"contacts",groupPeople:"groupPeople",peopleQuery:"peopleQuery"},version:3},groups:{name:"groups",stores:{groups:"groups",groupsQuery:"groupsQuery"},version:5},get:{name:"responses",stores:{responses:"responses"},version:2},search:{name:"search",stores:{responses:"responses"},version:2},files:{name:"files",stores:{driveFiles:"driveFiles",groupFiles:"groupFiles",siteFiles:"siteFiles",userFiles:"userFiles",insightFiles:"insightFiles",fileQueries:"fileQueries"},version:2},fileLists:{name:"file-lists",stores:{fileLists:"fileLists",insightfileLists:"insightfileLists"},version:2}}},j9Xn:function(e,t,n){"use strict";var a;n.d(t,"a",function(){return a}),function(e){e.Canvas="Canvas",e.CanvasText="CanvasText",e.LinkText="LinkText",e.VisitedText="VisitedText",e.ActiveText="ActiveText",e.ButtonFace="ButtonFace",e.ButtonText="ButtonText",e.Field="Field",e.FieldText="FieldText",e.Highlight="Highlight",e.HighlightText="HighlightText",e.GrayText="GrayText"}(a||(a={}))},kd7Q:function(e,t,n){"use strict";n.d(t,"a",function(){return x});var a=n("eftJ"),i=n("QBS5"),r=n("oePG"),o=n("Gy7L"),s=n("o87Z"),c=n("TDEi");class d extends c.a{}class l extends(Object(s.a)(d)){constructor(){super(...arguments),this.proxy=document.createElement("input")}}class u extends l{constructor(){super(),this.initialValue="on",this.indeterminate=!1,this.keypressHandler=e=>{this.readOnly||e.key!==o.m||(this.indeterminate&&(this.indeterminate=!1),this.checked=!this.checked)},this.clickHandler=e=>{this.disabled||this.readOnly||(this.indeterminate&&(this.indeterminate=!1),this.checked=!this.checked)},this.proxy.setAttribute("type","checkbox")}readOnlyChanged(){this.proxy instanceof HTMLInputElement&&(this.proxy.readOnly=this.readOnly)}}Object(a.a)([Object(i.c)({attribute:"readonly",mode:"boolean"})],u.prototype,"readOnly",void 0),Object(a.a)([r.d],u.prototype,"defaultSlottedNodes",void 0),Object(a.a)([r.d],u.prototype,"indeterminate",void 0);var f=n("6BDD"),p=n("UauI"),m=n("4X57"),_=n("xY0q"),h=n("wHpb"),b=n("2i1/"),g=n("oqLQ"),v=n("j9Xn"),y=n("QkLF"),S=n("8hiW"),D=n("NLdk"),I=n("FVZ7");const x=u.compose({baseName:"checkbox",template:(e,t)=>f.a` + +`,styles:(e,t)=>m.a` + ${Object(_.a)("inline-flex")} :host { + align-items: center; + outline: none; + ${""} user-select: none; + } + + .control { + position: relative; + width: calc((${y.a} / 2 + ${S.s}) * 1px); + height: calc((${y.a} / 2 + ${S.s}) * 1px); + box-sizing: border-box; + border-radius: calc(${S.q} * 1px); + border: calc(${S.vb} * 1px) solid ${S.ub}; + background: ${S.K}; + cursor: pointer; + } + + .label__hidden { + display: none; + visibility: hidden; + } + + .label { + ${D.a} + color: ${S.fb}; + ${""} padding-inline-start: calc(${S.s} * 2px + 2px); + margin-inline-end: calc(${S.s} * 2px + 2px); + cursor: pointer; + } + + slot[name='checked-indicator'], + slot[name='indeterminate-indicator'] { + display: flex; + align-items: center; + justify-content: center; + width: 100%; + height: 100%; + fill: ${S.fb}; + opacity: 0; + pointer-events: none; + } + + slot[name='indeterminate-indicator'] { + position: absolute; + top: 0; + } + + :host(.checked) slot[name='checked-indicator'], + :host(.checked) slot[name='indeterminate-indicator'] { + fill: ${S.C}; + } + + :host(:not(.disabled):hover) .control { + background: ${S.J}; + border-color: ${S.tb}; + } + + :host(:not(.disabled):active) .control { + background: ${S.H}; + border-color: ${S.sb}; + } + + :host(:${h.a}) .control { + background: ${S.I}; + ${I.b} + } + + :host(.checked) .control { + background: ${S.e}; + border-color: transparent; + } + + :host(.checked:not(.disabled):hover) .control { + background: ${S.d}; + border-color: transparent; + } + + :host(.checked:not(.disabled):active) .control { + background: ${S.b}; + border-color: transparent; + } + + :host(.disabled) .label, + :host(.readonly) .label, + :host(.readonly) .control, + :host(.disabled) .control { + cursor: ${b.a}; + } + + :host(.checked:not(.indeterminate)) slot[name='checked-indicator'], + :host(.indeterminate) slot[name='indeterminate-indicator'] { + opacity: 1; + } + + :host(.disabled) { + opacity: ${S.u}; + } + `.withBehaviors(Object(g.a)(m.a` + .control { + border-color: ${v.a.FieldText}; + background: ${v.a.Field}; + } + :host(:not(.disabled):hover) .control, + :host(:not(.disabled):active) .control { + border-color: ${v.a.Highlight}; + background: ${v.a.Field}; + } + slot[name='checked-indicator'], + slot[name='indeterminate-indicator'] { + fill: ${v.a.FieldText}; + } + :host(:${h.a}) .control { + forced-color-adjust: none; + outline-color: ${v.a.FieldText}; + background: ${v.a.Field}; + border-color: ${v.a.Highlight}; + } + :host(.checked) .control { + background: ${v.a.Highlight}; + border-color: ${v.a.Highlight}; + } + :host(.checked:not(.disabled):hover) .control, + :host(.checked:not(.disabled):active) .control { + background: ${v.a.HighlightText}; + border-color: ${v.a.Highlight}; + } + :host(.checked) slot[name='checked-indicator'], + :host(.checked) slot[name='indeterminate-indicator'] { + fill: ${v.a.HighlightText}; + } + :host(.checked:hover ) .control slot[name='checked-indicator'], + :host(.checked:hover ) .control slot[name='indeterminate-indicator'] { + fill: ${v.a.Highlight}; + } + :host(.disabled) { + opacity: 1; + } + :host(.disabled) .control { + border-color: ${v.a.GrayText}; + background: ${v.a.Field}; + } + :host(.disabled) slot[name='checked-indicator'], + :host(.checked.disabled:hover) .control slot[name='checked-indicator'], + :host(.disabled) slot[name='indeterminate-indicator'], + :host(.checked.disabled:hover) .control slot[name='indeterminate-indicator'] { + fill: ${v.a.GrayText}; + } + `)),checkedIndicator:'\n \n \n \n ',indeterminateIndicator:'\n \n \n \n '})},kpPY:function(e,t,n){"use strict";n.d(t,"a",function(){return i});let a=0;function i(e=""){return`${e}${a++}`}},m1Vi:function(e,t,n){"use strict";n.d(t,"a",function(){return g});var a=n("3rEL"),i=n("QBS5"),r=n("Mjrb"),o=n("6BDD"),s=n("+53S"),c=n("UauI"),d=n("C5kU"),l=n("4X57"),u=n("2i1/"),f=n("81Gc"),p=n("57ob"),m=n("8hiW");const _=":not([disabled])",h="[disabled]";class b extends r.a{appearanceChanged(e,t){e!==t&&(this.classList.add(t),this.classList.remove(e))}connectedCallback(){super.connectedCallback(),this.appearance||(this.appearance="neutral")}defaultSlottedContentChanged(){const e=this.defaultSlottedContent.filter(e=>e.nodeType===Node.ELEMENT_NODE);1===e.length&&e[0]instanceof SVGElement?this.control.classList.add("icon-only"):this.control.classList.remove("icon-only")}}Object(a.a)([i.c],b.prototype,"appearance",void 0);const g=b.compose({baseName:"button",baseClass:r.a,template:(e,t)=>o.a` + +`,styles:(e,t)=>l.a` + :host(${_}) .control { + cursor: pointer; + } + + :host(${h}) .control { + cursor: ${u.a}; + } + + @media (forced-colors: none) { + :host(${h}) .control { + opacity: ${m.u}; + } + } + + ${Object(f.f)(e,t,_,h)} + `.withBehaviors(Object(p.a)("neutral",Object(f.c)(e,t,_,h)),Object(p.a)("accent",Object(f.a)(e,t,_,h)),Object(p.a)("lightweight",Object(f.b)(e,t,_,h)),Object(p.a)("outline",Object(f.d)(e,t,_,h)),Object(p.a)("stealth",Object(f.e)(e,t,_,h))),shadowOptions:{delegatesFocus:!0}})},mwqp:function(e,t,n){"use strict";n.r(t),n.d(t,"MgtLibrary",function(){return a}),n.d(t,"SharePointProvider",function(){return c}),n.d(t,"registerMgtComponents",function(){return pr}),n.d(t,"registerMgtAgendaComponent",function(){return B}),n.d(t,"MgtAgenda",function(){return j}),n.d(t,"registerMgtFileComponent",function(){return bi.b}),n.d(t,"MgtFile",function(){return bi.a}),n.d(t,"registerMgtFileListComponent",function(){return gi.b}),n.d(t,"MgtFileList",function(){return gi.a}),n.d(t,"registerMgtPickerComponent",function(){return li}),n.d(t,"MgtPicker",function(){return ui}),n.d(t,"registerMgtTaxonomyPickerComponent",function(){return Ii}),n.d(t,"MgtTaxonomyPicker",function(){return xi}),n.d(t,"isCollectionResponse",function(){return Q}),n.d(t,"ResponseType",function(){return Y}),n.d(t,"registerMgtGetComponent",function(){return X}),n.d(t,"MgtGet",function(){return Z}),n.d(t,"registerMgtLoginComponent",function(){return Fe}),n.d(t,"MgtLogin",function(){return He}),n.d(t,"GroupType",function(){return Re}),n.d(t,"PersonType",function(){return I.a}),n.d(t,"UserType",function(){return I.b}),n.d(t,"registerMgtPeoplePickerComponent",function(){return et}),n.d(t,"MgtPeoplePicker",function(){return tt}),n.d(t,"PersonCardInteraction",function(){return w.a}),n.d(t,"registerMgtPeopleComponent",function(){return M}),n.d(t,"MgtPeople",function(){return P}),n.d(t,"MgtPersonCardConfig",function(){return mr.a}),n.d(t,"getMgtPersonCardScopes",function(){return _r.a}),n.d(t,"registerMgtPersonCardComponent",function(){return l.registerMgtPersonCardComponent}),n.d(t,"MgtPersonCard",function(){return l.MgtPersonCard}),n.d(t,"defaultPersonProperties",function(){return d.b}),n.d(t,"registerMgtPersonComponent",function(){return d.c}),n.d(t,"MgtPerson",function(){return d.a}),n.d(t,"PersonViewType",function(){return ae.a}),n.d(t,"avatarType",function(){return ae.b}),n.d(t,"TasksSource",function(){return On}),n.d(t,"registerMgtTasksComponent",function(){return Pn}),n.d(t,"MgtTasks",function(){return Tn}),n.d(t,"registerMgtTeamsChannelPickerComponent",function(){return sa}),n.d(t,"MgtTeamsChannelPicker",function(){return ca}),n.d(t,"registerMgtTodoComponent",function(){return _i}),n.d(t,"MgtTodo",function(){return hi}),n.d(t,"registerMgtContactComponent",function(){return hr.b}),n.d(t,"MgtContact",function(){return hr.a}),n.d(t,"registerMgtMessagesComponent",function(){return br.b}),n.d(t,"MgtMessages",function(){return br.a}),n.d(t,"registerMgtOrganizationComponent",function(){return gr.b}),n.d(t,"MgtOrganization",function(){return gr.a}),n.d(t,"registerMgtProfileComponent",function(){return vr.b}),n.d(t,"MgtProfile",function(){return vr.a}),n.d(t,"registerMgtThemeToggleComponent",function(){return Ni}),n.d(t,"MgtThemeToggle",function(){return Bi}),n.d(t,"registerMgtSpinnerComponent",function(){return Ye.b}),n.d(t,"MgtSpinner",function(){return Ye.a}),n.d(t,"registerMgtSearchBoxComponent",function(){return nr}),n.d(t,"MgtSearchBox",function(){return ar}),n.d(t,"registerMgtSearchResultsComponent",function(){return ur}),n.d(t,"MgtSearchResults",function(){return fr}),n.d(t,"ViewType",function(){return ee.a}),n.d(t,"getUserWithPhoto",function(){return ne.a}),n.d(t,"getPhotoInvalidationTime",function(){return z.g}),n.d(t,"getIsPhotosCacheEnabled",function(){return z.c}),n.d(t,"getPhotoForResource",function(){return z.e}),n.d(t,"getContactPhoto",function(){return z.a}),n.d(t,"getUserPhoto",function(){return z.h}),n.d(t,"myPhoto",function(){return z.i}),n.d(t,"getPersonImage",function(){return z.d}),n.d(t,"getGroupImage",function(){return z.b}),n.d(t,"getPhotoFromCache",function(){return z.f}),n.d(t,"storePhotoInCache",function(){return z.j}),n.d(t,"getUserPresence",function(){return x.a}),n.d(t,"getUsersPresenceByPeople",function(){return x.b}),n.d(t,"schemas",function(){return K.a}),n.d(t,"applyTheme",function(){return Ui}),n.d(t,"isGroup",function(){return yr.b}),n.d(t,"isUser",function(){return yr.c}),n.d(t,"isContact",function(){return yr.a}),n.d(t,"getRelativeDisplayDate",function(){return Ke.l}),n.d(t,"getDateString",function(){return Ke.f}),n.d(t,"getShortDateString",function(){return Ke.n}),n.d(t,"getMonthString",function(){return Ke.j}),n.d(t,"getDayOfWeekString",function(){return Ke.g}),n.d(t,"getDaysInMonth",function(){return Ke.h}),n.d(t,"getDateFromMonthYear",function(){return Ke.e}),n.d(t,"debounce",function(){return Ke.b}),n.d(t,"blobToBase64",function(){return Ke.a}),n.d(t,"extractEmailAddress",function(){return Ke.c}),n.d(t,"isValidEmail",function(){return Ke.o}),n.d(t,"formatBytes",function(){return Ke.d}),n.d(t,"sanitizeSummary",function(){return Ke.p}),n.d(t,"trimFileExtension",function(){return Ke.q}),n.d(t,"getNameFromUrl",function(){return Ke.k}),n.d(t,"getResponseInvalidationTime",function(){return Ke.m}),n.d(t,"getIsResponseCacheEnabled",function(){return Ke.i}),n.d(t,"BatchResponse",function(){return Sr.a}),n.d(t,"MICROSOFT_GRAPH_DEFAULT_ENDPOINT",function(){return Sr.l}),n.d(t,"MICROSOFT_GRAPH_ENDPOINTS",function(){return Sr.m}),n.d(t,"Graph",function(){return Sr.g}),n.d(t,"createFromProvider",function(){return Sr.B}),n.d(t,"BetaGraph",function(){return Sr.b}),n.d(t,"ComponentMediaQuery",function(){return Sr.e}),n.d(t,"MgtBaseComponent",function(){return Sr.n}),n.d(t,"MgtBaseProvider",function(){return Sr.o}),n.d(t,"MgtTemplatedComponent",function(){return Sr.p}),n.d(t,"customElementHelper",function(){return Sr.D}),n.d(t,"IProvider",function(){return Sr.i}),n.d(t,"LoginType",function(){return Sr.k}),n.d(t,"ProviderState",function(){return Sr.s}),n.d(t,"Providers",function(){return Sr.t}),n.d(t,"ProvidersChangedState",function(){return Sr.u}),n.d(t,"SimpleProvider",function(){return Sr.v}),n.d(t,"dbListKey",function(){return Sr.E}),n.d(t,"CacheService",function(){return Sr.c}),n.d(t,"CacheStore",function(){return Sr.d}),n.d(t,"EventDispatcher",function(){return Sr.f}),n.d(t,"equals",function(){return Sr.F}),n.d(t,"arraysAreEqual",function(){return Sr.y}),n.d(t,"chainMiddleware",function(){return Sr.A}),n.d(t,"prepScopes",function(){return Sr.J}),n.d(t,"validateBaseURL",function(){return Sr.L}),n.d(t,"TeamsHelper",function(){return Sr.w}),n.d(t,"TemplateHelper",function(){return Sr.x}),n.d(t,"GraphPageIterator",function(){return Sr.h}),n.d(t,"LocalizationHelper",function(){return Sr.j}),n.d(t,"mgtHtml",function(){return Sr.I}),n.d(t,"customElement",function(){return Sr.C}),n.d(t,"log",function(){return Sr.H}),n.d(t,"warn",function(){return Sr.M}),n.d(t,"error",function(){return Sr.G}),n.d(t,"buildComponentName",function(){return Sr.z}),n.d(t,"registerComponent",function(){return Sr.K}),n.d(t,"PACKAGE_VERSION",function(){return Sr.r}),n.d(t,"MockProvider",function(){return Sr.q});class a{name(){return"MgtLibrary"}}var i=n("/i08"),r=n("/49y"),o=n("SUtl"),s=function(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})};class c extends i.a{get provider(){return this._provider}get isLoggedIn(){return!!this._idToken}get name(){return"MgtSharePointProvider"}constructor(e,t=r.a){super(),e.aadTokenProviderFactory.getTokenProvider().then(e=>{this._provider=e,this.baseURL=t,this.graph=Object(o.b)(this),this.internalLogin()})}getAccessToken(){return s(this,void 0,void 0,function*(){const e=this.baseURL?this.baseURL:r.a;return yield this.provider.getToken(e)})}updateScopes(e){this.scopes=e}internalLogin(){return s(this,void 0,void 0,function*(){this._idToken=yield this.getAccessToken(),this.setState(this._idToken?i.c.SignedIn:i.c.SignedOut)})}}var d=n("7SX6"),l=n("uVfA"),u=n("qqMp"),f=n("ZgG/"),p=n("Y1A4"),m=n("cBsD"),_=n("zFbe");const h=[u.b` +:host([hidden]){display:none}:host{display:block;font-family:var(--default-font-family, "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, "BlinkMacSystemFont", "Roboto", "Helvetica Neue", sans-serif);font-size:var(--default-font-size,14px);--theme-primary-color:#0078d7;--theme-dark-color:#005a9e}:focus-visible{outline-color:var(--focus-ring-color,Highlight);outline-color:var(--focus-ring-color,-webkit-focus-ring-color);outline-style:var(--focus-ring-style,auto)}.ms-icon{display:inline-block;font-family:FabricMDL2Icons;font-style:normal;font-weight:400;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:4px 0}.error{background-color:#fde7e9;padding-block:8px;padding-inline:8px 12px}.ms-icon-chevron-down::before{content:"\\\e70d"}.ms-icon-chevron-up::before{content:"\\\e70e"}.ms-icon-contact::before{content:"\\\e77b"}.ms-icon-add-friend::before{content:"\\\e8fa"}.ms-icon-outlook-logo-inverser::before{content:"\\\eb6d"}:host{--card-height:auto;--card-width:99%;background-color:var(--agenda-background-color,transparent)}:host .header{margin:var(--agenda-header-margin,18px 0 12px 10px);font-size:var(--agenda-header-font-size,24px);font-style:normal;font-weight:400;line-height:32px;color:var(--agenda-header-color,var(--neutral-foreground-rest));opacity:.9}:host .agenda,:host .group{display:flex;flex-direction:column;row-gap:var(--agenda-event-row-gap,14px)}:host .agenda>.group:first-child>.header,:host .group>.group:first-child>.header{margin-top:0}:host .agenda .event,:host .group .event{background:var(--agenda-event-background-color,var(--fill-color));border:var(--agenda-event-border,solid 2px transparent);box-shadow:var(--agenda-event-box-shadow,var(--elevation-shadow-card-rest));padding:var(--agenda-event-padding,12px);position:relative;display:flex;flex:1 1 auto;content-visibility:visible;contain:none}:host .agenda .event-container,:host .group .event-container{border-radius:calc(var(--layer-corner-radius) * 1px);padding:1px}:host .agenda .event.narrow,:host .group .event.narrow{display:flex;flex-direction:column;inset:0}:host .agenda .event-time-container,:host .group .event-time-container{font-style:normal;font-weight:600;font-size:12px;color:var(--agenda-event-time-color,var(--neutral-foreground-rest));width:112px;height:16px}:host .agenda .event-time-container.narrow,:host .group .event-time-container.narrow{margin-bottom:1px;width:100%}:host .agenda .event-time,:host .group .event-time{font-size:var(--agenda-event-time-font-size,12px);color:var(--agenda-event-time-color,var(--neutral-foreground-rest));font-weight:600}:host .agenda .event-details-container,:host .group .event-details-container{display:flex;flex-direction:column;position:relative;bottom:8px;top:0;padding-inline-start:32px}:host .agenda .event-details-container.narrow,:host .group .event-details-container.narrow{position:inherit;left:6px;display:flex;flex-direction:column;padding-inline-start:0}:host .agenda .event-subject,:host .group .event-subject{font-style:normal;font-weight:400;font-size:var(--agenda-event-subject-font-size,20px);line-height:28px;color:var(--agenda-event-subject-color,var(--neutral-foreground-rest));mix-blend-mode:normal;position:inherit;bottom:8px}:host .agenda .event-location-container,:host .group .event-location-container{display:inline-flex;flex-direction:row}:host .agenda .event-location-container .event-location,:host .group .event-location-container .event-location{padding-inline-start:3px;font-style:normal;font-weight:400;font-size:var(--agenda-event-location-font-size,12px);line-height:16px;color:var(--agenda-event-location-color,var(--neutral-foreground-rest))}:host .agenda .event-location-container .event-location-loading,:host .group .event-location-container .event-location-loading{width:90px;height:10px;margin:2px 0 0 4px}:host .agenda .event-location-container .event-location-icon,:host .group .event-location-container .event-location-icon{display:inline-flex}:host .agenda .event-location-container .event-location-icon svg,:host .group .event-location-container .event-location-icon svg{position:relative;top:2px;width:12px;height:12px}:host .agenda .event-location-container .event-location-icon svg path,:host .group .event-location-container .event-location-icon svg path{stroke:var(--agenda-event-location-color,var(--neutral-foreground-rest))}:host .agenda .event-location-container .event-location-icon-loading,:host .group .event-location-container .event-location-icon-loading{width:14px;height:14px}:host .agenda .event-location-container .event-attendee-loading,:host .group .event-location-container .event-attendee-loading{width:20px;height:20px;border-radius:10px;margin:0 2px 0 0}:host .agenda .event-attendees,:host .group .event-attendees{--list-margin:8px 0 0 0;--avatar-size-s:20px}fluent-card.event.event-loading{--card-height:90px}:host .event-attendees{--color:$agenda-event-attendees-color}:host fluent-tooltip{width:auto;contain:inline-size}[dir=rtl] :host{direction:rtl}[dir=rtl] .event-time-container{direction:ltr;display:flex;justify-content:flex-end}@media (forced-colors:active) and (prefers-color-scheme:dark){:host .agenda .event-location-container .event-location-icon svg path{stroke:#fff!important}}@media (forced-colors:active) and (prefers-color-scheme:light){:host .agenda .event-location-container .event-location-icon svg path{stroke:#000!important}} +`];var b=n("RIOo"),g=n("WHff"),v=function(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})};const y=(e,t,n="calendars.read")=>v(void 0,void 0,void 0,function*(){const a=e.api(t).middlewareOptions(Object(b.a)(n)).orderby("start/dateTime");return g.a.create(e,a)});var S=n("7Cdu"),D=n("V07F"),I=n("z0DP"),x=n("zlIh"),C=n("s9K1"),O=n("ylMe"),w=n("zCAG");const E=[u.b` +:host([hidden]){display:none}:host{display:block;font-family:var(--default-font-family, "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, "BlinkMacSystemFont", "Roboto", "Helvetica Neue", sans-serif);font-size:var(--default-font-size,14px);--theme-primary-color:#0078d7;--theme-dark-color:#005a9e}:focus-visible{outline-color:var(--focus-ring-color,Highlight);outline-color:var(--focus-ring-color,-webkit-focus-ring-color);outline-style:var(--focus-ring-style,auto)}.ms-icon{display:inline-block;font-family:FabricMDL2Icons;font-style:normal;font-weight:400;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:4px 0}.error{background-color:#fde7e9;padding-block:8px;padding-inline:8px 12px}.ms-icon-chevron-down::before{content:"\\\e70d"}.ms-icon-chevron-up::before{content:"\\\e70e"}.ms-icon-contact::before{content:"\\\e77b"}.ms-icon-add-friend::before{content:"\\\e8fa"}.ms-icon-outlook-logo-inverser::before{content:"\\\eb6d"}:host .people-list{list-style:none;margin:var(--people-list-margin,8px 4px 8px 8px);padding:unset;display:flex;align-items:center;gap:var(--people-avatar-gap,4px)}:host .overflow span{vertical-align:middle;color:var(--people-overflow-font-color,currentColor);font-size:var(--people-overflow-font-size,12px);font-weight:var(--people-overflow-font-weight,400)} +`];var A=n("0mOt"),L=function(e,t,n,a){var i,r=arguments.length,o=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,a);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o},k=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};const M=()=>{Object(d.c)(),Object(A.b)("people",P)};class P extends p.a{static get styles(){return E}get groupId(){return this._groupId}set groupId(e){this._groupId!==e&&(this._groupId=e,this.requestStateUpdate(!0))}get userIds(){return this._userIds}set userIds(e){Object(O.a)(this._userIds,e)||(this._userIds=e,this.requestStateUpdate(!0))}get peopleQueries(){return this._peopleQueries}set peopleQueries(e){Object(O.a)(this._peopleQueries,e)||(this._peopleQueries=e,this.requestStateUpdate(!0))}get resource(){return this._resource}set resource(e){this._resource!==e&&(this._resource=e,this.requestStateUpdate(!0))}get version(){return this._version}set version(e){this._version!==e&&(this._version=e,this.requestStateUpdate(!0))}get fallbackDetails(){return this._fallbackDetails}set fallbackDetails(e){e!==this._fallbackDetails&&(this._fallbackDetails=e,this.requestStateUpdate())}static get requiredScopes(){return[...new Set(["user.read.all","people.read","user.readbasic.all","presence.read.all","contacts.read",...d.a.requiredScopes])]}constructor(){super(),this.personCardInteraction=w.a.hover,this.scopes=[],this._peoplePresence={},this._version="v1.0",this._arrowKeyLocation=-1,this.handleKeyDown=e=>{const t=this.shadowRoot.querySelector(".people-list");let n;const a=null==t?void 0:t.children;for(const e of a){const t=e;t.setAttribute("tabindex","-1"),t.blur()}const i=t.childElementCount,r=e.key;if("ArrowRight"===r)this._arrowKeyLocation=(this._arrowKeyLocation+1+i)%i;else if("ArrowLeft"===r)this._arrowKeyLocation=(this._arrowKeyLocation-1+i)%i;else if("Tab"===r||"Escape"===r)this._arrowKeyLocation=-1,t.blur();else if(["Enter","space"," "].includes(r)&&this.personCardInteraction!==w.a.none){const e=a[this._arrowKeyLocation].querySelector("mgt-person");e&&e.showPersonCard()}this._arrowKeyLocation>-1&&(n=a[this._arrowKeyLocation],n.setAttribute("tabindex","1"),n.focus())},this.showMax=3}clearState(){this.people=null}requestStateUpdate(e){return e&&(this.people=null),super.requestStateUpdate(e)}render(){return this.isLoadingState?this.renderLoading():this.people&&0!==this.people.length?this.renderTemplate("default",{people:this.people,max:this.showMax})||this.renderPeople():this.renderNoData()}renderLoading(){return this.renderTemplate("loading",null)||u.c``}renderPeople(){const e=this.people.slice(0,this.showMax).filter(e=>e);return u.c` +
    + ${Object(D.a)(e,e=>e.id?e.id:e.displayName,e=>u.c` +
  • + ${this.renderPerson(e)} +
  • + `)} + ${this.people.length>this.showMax?this.renderOverflow():null} +
+ `}renderOverflow(){const e=this.people.length-this.showMax;return this.renderTemplate("overflow",{extra:e,max:this.showMax,people:this.people})||u.c` +
  • +${e}
  • + `}renderPerson(e){let t={activity:"Offline",availability:"Offline",id:null};return this.showPresence&&this._peoplePresence&&(t=this._peoplePresence[e.id]),this.renderTemplate("person",{person:e},e.id)||m.a` + + `}renderNoData(){return this.renderTemplate("no-data",null)||u.c``}loadState(){return e=this,void 0,n=function*(){if(!this.people){const e=_.a.globalProvider;if(e&&e.state===i.c.SignedIn){const t=e.graph.forComponent(this);this.groupId?this.people=yield Object(C.a)(t,null,this.groupId,this.showMax,I.a.person):this.userIds||this.peopleQueries?this.people=this.userIds?yield Object(C.j)(t,this.userIds,"","",this._fallbackDetails):yield Object(C.i)(t,this.peopleQueries,this._fallbackDetails):this.resource?this.people=yield Object(I.g)(t,this.version,this.resource,this.scopes):this.people=yield Object(I.f)(t),this.showPresence?this._peoplePresence=yield Object(x.b)(t,this.people):this._peoplePresence=null}}},new((t=void 0)||(t=Promise))(function(a,i){function r(e){try{s(n.next(e))}catch(e){i(e)}}function o(e){try{s(n.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?a(e.value):(n=e.value,n instanceof t?n:new t(function(e){e(n)})).then(r,o)}s((n=n.apply(e,[])).next())});var e,t,n}}L([Object(f.b)({attribute:"group-id",type:String}),k("design:type",String),k("design:paramtypes",[Object])],P.prototype,"groupId",null),L([Object(f.b)({attribute:"user-ids",converter:(e,t)=>e.split(",").map(e=>e.trim())}),k("design:type",Array),k("design:paramtypes",[Array])],P.prototype,"userIds",null),L([Object(f.b)({attribute:"people",type:Object}),k("design:type",Array)],P.prototype,"people",void 0),L([Object(f.b)({attribute:"people-queries",converter:(e,t)=>e.split(",").map(e=>e.trim())}),k("design:type",Array),k("design:paramtypes",[Array])],P.prototype,"peopleQueries",null),L([Object(f.b)({attribute:"show-max",type:Number}),k("design:type",Number)],P.prototype,"showMax",void 0),L([Object(f.b)({attribute:"show-presence",type:Boolean}),k("design:type",Boolean)],P.prototype,"showPresence",void 0),L([Object(f.b)({attribute:"person-card",converter:(e,t)=>(e=e.toLowerCase(),void 0===w.a[e]?w.a.hover:w.a[e])}),k("design:type",Number)],P.prototype,"personCardInteraction",void 0),L([Object(f.b)({attribute:"resource",type:String}),k("design:type",String),k("design:paramtypes",[Object])],P.prototype,"resource",null),L([Object(f.b)({attribute:"version",type:String}),k("design:type",String),k("design:paramtypes",[Object])],P.prototype,"version",null),L([Object(f.b)({attribute:"scopes",converter:e=>e?e.toLowerCase().split(","):null,reflect:!0}),k("design:type",Array)],P.prototype,"scopes",void 0),L([Object(f.b)({attribute:"fallback-details",type:Array}),k("design:type",Array),k("design:paramtypes",[Array])],P.prototype,"fallbackDetails",null),L([Object(f.c)(),k("design:type",Object)],P.prototype,"_arrowKeyLocation",void 0);var T=n("VDxL"),U=n("bica"),F=n("h2QR"),H=function(e,t,n,a){var i,r=arguments.length,o=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,a);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o},R=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},N=function(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})};const B=()=>{Object(T.a)(U.a),M(),Object(A.b)("agenda",j)};class j extends p.a{constructor(){super(...arguments),this._days=3,this.onResize=()=>{this._isNarrow=this.offsetWidth<600}}static get styles(){return h}get date(){return this._date}set date(e){this._date!==e&&(this._date=e,this.reloadState())}get groupId(){return this._groupId}set groupId(e){this._groupId!==e&&(this._groupId=e,this.reloadState())}get days(){return this._days}set days(e){this._days!==e&&(this._days=e,this.reloadState())}get eventQuery(){return this._eventQuery}set eventQuery(e){this._eventQuery!==e&&(this._eventQuery=e,this.reloadState())}get preferredTimezone(){return this._preferredTimezone}set preferredTimezone(e){this._preferredTimezone!==e&&(this._preferredTimezone=e,this.reloadState())}static get requiredScopes(){return[...new Set(["calendars.read",...P.requiredScopes])]}connectedCallback(){this._isNarrow=this.offsetWidth<600,super.connectedCallback(),window.addEventListener("resize",this.onResize)}disconnectedCallback(){window.removeEventListener("resize",this.onResize),super.disconnectedCallback()}render(){if(!this.events&&this.isLoadingState)return this.renderLoading();if(!this.events||0===this.events.length)return this.renderNoData();const e=this.showMax&&this.showMax>0?this.events.slice(0,this.showMax):this.events,t=this.renderTemplate("default",{events:e});if(t)return t;const n={agenda:!0,grouped:this.groupByDay};return u.c` +
    + ${this.groupByDay?this.renderGroups(e):this.renderEvents(e)} + ${this.isLoadingState?this.renderLoading():u.c``} +
    + `}reload(){return N(this,void 0,void 0,function*(){this.events=yield this.loadEvents()})}renderLoading(){return this.renderTemplate("loading",null)||u.c` + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    `}clearState(){this.events=null}renderNoData(){return this.renderTemplate("no-data",null)||u.c``}renderEvent(e){this._isNarrow=this.offsetWidth<600;const t={narrow:this._isNarrow};return u.c` + +
    +
    ${this.getEventTimeString(e)}
    +
    +
    + ${this.renderTitle(e)} ${this.renderLocation(e)} ${this.renderAttendees(e)} +
    +
    ${this.renderOther(e)}
    +
    + `}renderHeader(e){return this.renderTemplate("header",{header:e},"header-"+e)||u.c` +
    ${e}
    + `}renderTitle(e){return u.c` +
    + ${e.subject} +
    `}renderLocation(e){return e.location.displayName?u.c` +
    +
    ${Object(S.b)(S.a.OfficeLocation)}
    +
    ${e.location.displayName}
    +
    + `:null}renderAttendees(e){return e.attendees.length?m.a` + e.emailAddress.address)} + > + `:null}renderOther(e){return this.hasTemplate("event-other")?u.c` + ${this.renderTemplate("event-other",{event:e},e.id+"-other")} + `:null}renderGroups(e){const t={};return e.forEach(e=>{var n;let a=null===(n=null==e?void 0:e.start)||void 0===n?void 0:n.dateTime;"UTC"===e.end.timeZone&&(a+="Z");const i=this.getDateHeaderFromDateTimeString(a);t[i]=t[i]||[],t[i].push(e)}),u.c` + ${Object.keys(t).map(e=>u.c` +
    ${this.renderHeader(e)} ${this.renderEvents(t[e])}
    + `)} + `}renderEvents(e){return u.c` + ${e.map(e=>u.c` +
    this.eventClicked(e)}> + ${this.renderTemplate("event",{event:e},e.id)||this.renderEvent(e)} +
    `)}`}loadState(){return N(this,void 0,void 0,function*(){if(this.events)return;const e=yield this.loadEvents();(null==e?void 0:e.length)>0&&(this.events=e)})}reloadState(){return N(this,void 0,void 0,function*(){this.events=null,yield this.requestStateUpdate(!0)})}eventClicked(e){this.fireCustomEvent("eventClick",e)}getEventTimeString(e){if(e.isAllDay)return"ALL DAY";let t=e.start.dateTime;"UTC"===e.start.timeZone&&(t+="Z");let n=e.end.dateTime;return"UTC"===e.end.timeZone&&(n+="Z"),`${this.prettyPrintTimeFromDateTime(new Date(t))} - ${this.prettyPrintTimeFromDateTime(new Date(n))}`}loadEvents(){return N(this,void 0,void 0,function*(){const e=_.a.globalProvider;let t=[];if((null==e?void 0:e.state)===i.c.SignedIn){const n=e.graph.forComponent(this);if(this.eventQuery)try{const e=this.eventQuery.split("|");let a,i;e.length>1?(i=e[0].trim(),a=e[1].trim()):i=this.eventQuery;const r=yield y(n,i,a);if(null==r?void 0:r.value)for(t=r.value;r.hasNext;)yield r.next(),t=r.value}catch(e){}else{const e=this.date?new Date(this.date):new Date,a=new Date(e.getTime());a.setDate(e.getDate()+this.days);try{const i=yield((e,t,n,a)=>v(void 0,void 0,void 0,function*(){const i=`startdatetime=${t.toISOString()}`,r=`enddatetime=${n.toISOString()}`;let o;return o=a?`groups/${a}/calendar`:"me",o+=`/calendarview?${i}&${r}`,y(e,o)}))(n,e,a,this.groupId);if(null==i?void 0:i.value)for(t=i.value;i.hasNext;)yield i.next(),t=i.value}catch(e){}}}return t})}prettyPrintTimeFromDateTime(e){return e.toLocaleTimeString(navigator.language,{timeStyle:"short",timeZone:this.preferredTimezone})}getDateHeaderFromDateTimeString(e){return new Date(e).toLocaleDateString(navigator.language,{dateStyle:"full",timeZone:this.preferredTimezone})}}H([Object(f.b)({attribute:"date",type:String}),R("design:type",String),R("design:paramtypes",[Object])],j.prototype,"date",null),H([Object(f.b)({attribute:"group-id",type:String}),R("design:type",String),R("design:paramtypes",[Object])],j.prototype,"groupId",null),H([Object(f.b)({attribute:"days",type:Number}),R("design:type",Number),R("design:paramtypes",[Object])],j.prototype,"days",null),H([Object(f.b)({attribute:"event-query",type:String}),R("design:type",String),R("design:paramtypes",[Object])],j.prototype,"eventQuery",null),H([Object(f.b)({attribute:"events",type:Array}),R("design:type",Array)],j.prototype,"events",void 0),H([Object(f.b)({attribute:"show-max",type:Number}),R("design:type",Number)],j.prototype,"showMax",void 0),H([Object(f.b)({attribute:"group-by-day",type:Boolean}),R("design:type",Boolean)],j.prototype,"groupByDay",void 0),H([Object(f.b)({attribute:"preferred-timezone",type:String}),R("design:type",String),R("design:paramtypes",[Object])],j.prototype,"preferredTimezone",null),H([Object(f.b)({attribute:!1}),R("design:type",Boolean)],j.prototype,"_isNarrow",void 0);var V=n("DNu6"),z=n("glp4"),G=n("0Uyf"),K=n("imsm"),W=function(e,t,n,a){var i,r=arguments.length,o=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,a);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o},q=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};const Q=e=>Array.isArray(null==e?void 0:e.value);var Y;!function(e){e.json="json",e.image="image"}(Y||(Y={}));const J=()=>V.a.config.response.isEnabled&&V.a.config.isEnabled,X=()=>Object(A.b)("get",Z);class Z extends p.a{constructor(){super(...arguments),this.scopes=[],this.version="v1.0",this.type=Y.json,this.maxPages=3,this.pollingRate=0,this.cacheEnabled=!1,this.cacheInvalidationPeriod=0,this.isPolling=!1,this.isRefreshing=!1}attributeChangedCallback(e,t,n){super.attributeChangedCallback(e,t,n),this.requestStateUpdate()}refresh(e=!1){this.isRefreshing=!0,e&&this.clearState(),this.requestStateUpdate(e)}clearState(){this.response=null}render(){if(this.isLoadingState&&!this.response)return this.renderTemplate("loading",null);if(this.error)return this.renderTemplate("error",this.error);if(this.hasTemplate("value")&&Q(this.response)){let e;if(Q(this.response)){let t=null;this.isLoadingState&&!this.isPolling&&(t=this.renderTemplate("loading",null)),e=u.c` + ${this.response.value.map(e=>this.renderTemplate("value",e,e.id))} ${t} + `}else e=this.renderTemplate("value",this.response);if(this.hasTemplate("default")){const t=this.renderTemplate("default",this.response);return this.templates.value.templateOrder>this.templates.default.templateOrder?u.c` + ${t}${e} + `:u.c` + ${e}${t} + `}return e}return this.response?this.renderTemplate("default",this.response)||u.c``:this.hasTemplate("no-data")?this.renderTemplate("no-data",null):u.c``}loadState(){var e,t,n,a,r,o;return a=this,void 0,o=function*(){const a=_.a.globalProvider;if(this.error=null,a&&a.state===i.c.SignedIn){if(this.resource){try{let i;const r=`${this.version}${this.resource}`;let o=null;if(this.shouldRetrieveCache()){i=V.a.getCache(K.a.get,K.a.get.stores.responses);const e=J()?yield i.getValue(r):null;e&&(this.cacheInvalidationPeriod||V.a.config.response.invalidationPeriod||V.a.config.defaultInvalidationPeriod)>Date.now()-e.timeCached&&(o=JSON.parse(e.response))}if(!o){let s=this.resource,c=!1;(null===(e=this.response)||void 0===e?void 0:e["@odata.deltaLink"])?(s=this.response["@odata.deltaLink"],c=!0):c=new URL(s,"https://graph.microsoft.com").pathname.endsWith("delta");const d=a.graph.forComponent(this);let l=d.api(s).version(this.version);if((null===(t=this.scopes)||void 0===t?void 0:t.length)&&(l=l.middlewareOptions(Object(b.a)(...this.scopes))),this.type===Y.json){if(o=yield l.get(),c&&Q(this.response)&&Q(o)){const e=o.value;o.value=this.response.value.concat(e)}if(this.isPolling||Object(O.b)(this.response,o)||(this.response=o),Q(o)&&o["@odata.nextLink"]){let e=1,t=o;for(;(e-1){const t=this.resource.replace("/photo/$value",""),n=yield Object(z.e)(d,t,this.scopes);n&&(e=n.photo)}else if(this.resource.indexOf("/thumbnails/")>-1){const t=yield Object(G.d)(d,this.resource,this.scopes);t&&(e=t.thumbnail)}e&&(o={image:e})}this.shouldUpdateCache()&&o&&(i=V.a.getCache(K.a.get,K.a.get.stores.responses),yield i.putValue(r,{response:JSON.stringify(o)}))}Object(O.b)(this.response,o)||(this.response=o)}catch(e){this.error=e}this.response&&(this.error=null,this.pollingRate&&setTimeout(()=>{this.isPolling=!0,this.loadState().finally(()=>{this.isPolling=!1})},this.pollingRate))}else this.response=null;this.isRefreshing=!1,this.fireCustomEvent("dataChange",{response:this.response,error:this.error})}},new((r=void 0)||(r=Promise))(function(e,t){function n(e){try{s(o.next(e))}catch(e){t(e)}}function i(e){try{s(o.throw(e))}catch(e){t(e)}}function s(t){var a;t.done?e(t.value):(a=t.value,a instanceof r?a:new r(function(e){e(a)})).then(n,i)}s((o=o.apply(a,[])).next())})}shouldRetrieveCache(){return J()&&this.cacheEnabled&&!(this.isRefreshing||this.isPolling)}shouldUpdateCache(){return J()&&this.cacheEnabled}}W([Object(f.b)({attribute:"resource",reflect:!0,type:String}),q("design:type",String)],Z.prototype,"resource",void 0),W([Object(f.b)({attribute:"scopes",converter:(e,t)=>e?e.toLowerCase().split(","):null,reflect:!0}),q("design:type",Array)],Z.prototype,"scopes",void 0),W([Object(f.b)({attribute:"version",reflect:!0,type:String}),q("design:type",Object)],Z.prototype,"version",void 0),W([Object(f.b)({attribute:"type",reflect:!0,type:Y}),q("design:type",String)],Z.prototype,"type",void 0),W([Object(f.b)({attribute:"max-pages",reflect:!0,type:Number}),q("design:type",Object)],Z.prototype,"maxPages",void 0),W([Object(f.b)({attribute:"polling-rate",reflect:!0,type:Number}),q("design:type",Object)],Z.prototype,"pollingRate",void 0),W([Object(f.b)({attribute:"cache-enabled",reflect:!0,type:Boolean}),q("design:type",Object)],Z.prototype,"cacheEnabled",void 0),W([Object(f.b)({attribute:"cache-invalidation-period",type:Number}),q("design:type",Object)],Z.prototype,"cacheInvalidationPeriod",void 0),W([Object(f.b)({attribute:!1}),q("design:type",Object)],Z.prototype,"response",void 0),W([Object(f.b)({attribute:!1}),q("design:type",Object)],Z.prototype,"error",void 0);var $=n("ox5k"),ee=n("ZzBS"),te=n("c1DA"),ne=n("hgjj"),ae=n("dP6N");const ie=[u.b` +:host([hidden]){display:none}:host{display:block;font-family:var(--default-font-family, "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, "BlinkMacSystemFont", "Roboto", "Helvetica Neue", sans-serif);font-size:var(--default-font-size,14px);--theme-primary-color:#0078d7;--theme-dark-color:#005a9e}:focus-visible{outline-color:var(--focus-ring-color,Highlight);outline-color:var(--focus-ring-color,-webkit-focus-ring-color);outline-style:var(--focus-ring-style,auto)}.ms-icon{display:inline-block;font-family:FabricMDL2Icons;font-style:normal;font-weight:400;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:4px 0}.error{background-color:#fde7e9;padding-block:8px;padding-inline:8px 12px}.ms-icon-chevron-down::before{content:"\\\e70d"}.ms-icon-chevron-up::before{content:"\\\e70e"}.ms-icon-contact::before{content:"\\\e77b"}.ms-icon-add-friend::before{content:"\\\e8fa"}.ms-icon-outlook-logo-inverser::before{content:"\\\eb6d"}:host .signed-in-person{--person-background-color:$signed-in-background-color;padding:var(--login-button-padding,10px 16px)}:host .account{padding:0;margin:7px 0}:host fluent-button.signed-in{height:auto;min-width:auto}:host fluent-button.signed-in::part(control){width:100%;height:100%;padding:var(--login-button-padding,0);background:var(--login-signed-in-background,transparent);word-spacing:inherit;text-indent:inherit;letter-spacing:inherit}:host fluent-button.signed-in::part(control):focus-within,:host fluent-button.signed-in::part(control):hover{background:var(--login-signed-in-hover-background,var(--neutral-fill-stealth-hover));--secondary-text-color:var(--secondary-text-hover-color)}:host fluent-button.signed-out::part(control){color:var(--login-signed-out-button-text-color,var(--neutral-fill-foreground-rest));background:var(--login-signed-out-button-background,padding-box linear-gradient(var(--neutral-fill-rest),var(--neutral-fill-rest)),border-box var(--neutral-stroke-control-rest))}:host fluent-button.signed-out::part(control):focus-within,:host fluent-button.signed-out::part(control):hover{background:var(--login-signed-out-button-hover-background,var(--neutral-fill-stealth-hover))}:host fluent-button.small::part(control):hover{background:0 0}:host fluent-button:focus-visible{outline-style:var(--focus-ring-style,auto)}:host fluent-card{--fill-color:var(--login-popup-background-color, var(--neutral-layer-1));padding:var(--login-popup-padding,16px)}:host .login-root .small .signed-in-person{padding:0;background:0 0}:host .login-root .small .signed-in-person:focus-within,:host .login-root .small .signed-in-person:hover{background:0 0}:host .login-root .account-list{padding:calc(var(--design-unit) * 1px) 0;margin:0}:host .login-root .account-item{height:auto;min-width:auto;margin-top:4px;background:var(--login-popup-background-color,var(--neutral-layer-1));list-style-type:none;cursor:pointer}:host .login-root .account-item:hover{background:var(--login-account-item-hover-bg-color,var(--neutral-fill-stealth-hover));--person-background-color:$login-account-item-hover-bg-color}:host .login-root .flyout .flyout-command{color:var(--login-flyout-command-text-color,var(--accent-foreground-rest))}:host .login-root .flyout .popup-content .commands{display:flex;align-items:flex-end;justify-content:flex-end}:host .login-root .flyout .popup-content .commands fluent-button::part(control){color:var(--login-command-button-text-color,var(--neutral-fill-foreground-rest));background:var(--login-command-button-background-color,var(--neutral-fill-stealth-rest));word-spacing:inherit;text-indent:inherit;letter-spacing:inherit}:host .login-root .flyout .popup-content .commands fluent-button::part(control):hover{background:var(--login-command-button-hover-background-color,var(--neutral-fill-stealth-hover))}:host .login-root .flyout .popup-content .content .main-profile{margin-bottom:56px;margin-top:27px}:host .login-root .flyout .popup-content .add-account{padding-top:16px}:host .login-root .flyout .popup-content .add-account fluent-button::part(control){color:var(--login-add-account-button-text-color,var(--neutral-fill-foreground-rest));background:var(--login-add-account-button-background-color,var(--neutral-fill-stealth-rest));word-spacing:inherit;text-indent:inherit;letter-spacing:inherit}:host .login-root .flyout .popup-content .add-account fluent-button::part(control):hover{background:var(--login-add-account-button-hover-background-color,var(--neutral-fill-stealth-hover))} +`],re={signInLinkSubtitle:"Sign In",signOutLinkSubtitle:"Sign Out",signInWithADifferentAccount:"Sign in with a different account"};var oe=n("eftJ"),se=n("oePG"),ce=n("QBS5"),de=n("Gy7L"),le=n("kpPY"),ue=n("TDEi"),fe=n("FGLN"),pe=n("uXNP"),me=n("C5kU"),_e=n("6fxl");function he(e){return Object(fe.c)(e)&&("option"===e.getAttribute("role")||e instanceof HTMLOptionElement)}class be extends ue.a{constructor(e,t,n,a){super(),this.defaultSelected=!1,this.dirtySelected=!1,this.selected=this.defaultSelected,this.dirtyValue=!1,e&&(this.textContent=e),t&&(this.initialValue=t),n&&(this.defaultSelected=n),a&&(this.selected=a),this.proxy=new Option(`${this.textContent}`,this.initialValue,this.defaultSelected,this.selected),this.proxy.disabled=this.disabled}checkedChanged(e,t){this.ariaChecked="boolean"!=typeof t?null:t?"true":"false"}contentChanged(e,t){this.proxy instanceof HTMLOptionElement&&(this.proxy.textContent=this.textContent),this.$emit("contentchange",null,{bubbles:!0})}defaultSelectedChanged(){this.dirtySelected||(this.selected=this.defaultSelected,this.proxy instanceof HTMLOptionElement&&(this.proxy.selected=this.defaultSelected))}disabledChanged(e,t){this.ariaDisabled=this.disabled?"true":"false",this.proxy instanceof HTMLOptionElement&&(this.proxy.disabled=this.disabled)}selectedAttributeChanged(){this.defaultSelected=this.selectedAttribute,this.proxy instanceof HTMLOptionElement&&(this.proxy.defaultSelected=this.defaultSelected)}selectedChanged(){this.ariaSelected=this.selected?"true":"false",this.dirtySelected||(this.dirtySelected=!0),this.proxy instanceof HTMLOptionElement&&(this.proxy.selected=this.selected)}initialValueChanged(e,t){this.dirtyValue||(this.value=this.initialValue,this.dirtyValue=!1)}get label(){var e;return null!==(e=this.value)&&void 0!==e?e:this.text}get text(){var e,t;return null!==(t=null===(e=this.textContent)||void 0===e?void 0:e.replace(/\s+/g," ").trim())&&void 0!==t?t:""}set value(e){const t=`${null!=e?e:""}`;this._value=t,this.dirtyValue=!0,this.proxy instanceof HTMLOptionElement&&(this.proxy.value=t),se.b.notify(this,"value")}get value(){var e;return se.b.track(this,"value"),null!==(e=this._value)&&void 0!==e?e:this.text}get form(){return this.proxy?this.proxy.form:null}}Object(oe.a)([se.d],be.prototype,"checked",void 0),Object(oe.a)([se.d],be.prototype,"content",void 0),Object(oe.a)([se.d],be.prototype,"defaultSelected",void 0),Object(oe.a)([Object(ce.c)({mode:"boolean"})],be.prototype,"disabled",void 0),Object(oe.a)([Object(ce.c)({attribute:"selected",mode:"boolean"})],be.prototype,"selectedAttribute",void 0),Object(oe.a)([se.d],be.prototype,"selected",void 0),Object(oe.a)([Object(ce.c)({attribute:"value",mode:"fromView"})],be.prototype,"initialValue",void 0);class ge{}Object(oe.a)([se.d],ge.prototype,"ariaChecked",void 0),Object(oe.a)([se.d],ge.prototype,"ariaPosInSet",void 0),Object(oe.a)([se.d],ge.prototype,"ariaSelected",void 0),Object(oe.a)([se.d],ge.prototype,"ariaSetSize",void 0),Object(_e.a)(ge,pe.a),Object(_e.a)(be,me.a,ge);class ve extends ue.a{constructor(){super(...arguments),this._options=[],this.selectedIndex=-1,this.selectedOptions=[],this.shouldSkipFocus=!1,this.typeaheadBuffer="",this.typeaheadExpired=!0,this.typeaheadTimeout=-1}get firstSelectedOption(){var e;return null!==(e=this.selectedOptions[0])&&void 0!==e?e:null}get hasSelectableOptions(){return this.options.length>0&&!this.options.every(e=>e.disabled)}get length(){var e,t;return null!==(t=null===(e=this.options)||void 0===e?void 0:e.length)&&void 0!==t?t:0}get options(){return se.b.track(this,"options"),this._options}set options(e){this._options=e,se.b.notify(this,"options")}get typeAheadExpired(){return this.typeaheadExpired}set typeAheadExpired(e){this.typeaheadExpired=e}clickHandler(e){const t=e.target.closest("option,[role=option]");if(t&&!t.disabled)return this.selectedIndex=this.options.indexOf(t),!0}focusAndScrollOptionIntoView(e=this.firstSelectedOption){this.contains(document.activeElement)&&null!==e&&(e.focus(),requestAnimationFrame(()=>{e.scrollIntoView({block:"nearest"})}))}focusinHandler(e){this.shouldSkipFocus||e.target!==e.currentTarget||(this.setSelectedOptions(),this.focusAndScrollOptionIntoView()),this.shouldSkipFocus=!1}getTypeaheadMatches(){const e=this.typeaheadBuffer.replace(/[.*+\-?^${}()|[\]\\]/g,"\\$&"),t=new RegExp(`^${e}`,"gi");return this.options.filter(e=>e.text.trim().match(t))}getSelectableIndex(e=this.selectedIndex,t){const n=e>t?-1:e!e&&!t.disabled&&n!e&&!t.disabled&&n>a?t:e,i)}return this.options.indexOf(i)}handleChange(e,t){"selected"===t&&(ve.slottedOptionFilter(e)&&(this.selectedIndex=this.options.indexOf(e)),this.setSelectedOptions())}handleTypeAhead(e){this.typeaheadTimeout&&window.clearTimeout(this.typeaheadTimeout),this.typeaheadTimeout=window.setTimeout(()=>this.typeaheadExpired=!0,ve.TYPE_AHEAD_TIMEOUT_MS),e.length>1||(this.typeaheadBuffer=`${this.typeaheadExpired?"":this.typeaheadBuffer}${e}`)}keydownHandler(e){if(this.disabled)return!0;this.shouldSkipFocus=!1;const t=e.key;switch(t){case de.j:e.shiftKey||(e.preventDefault(),this.selectFirstOption());break;case de.b:e.shiftKey||(e.preventDefault(),this.selectNextOption());break;case de.e:e.shiftKey||(e.preventDefault(),this.selectPreviousOption());break;case de.f:e.preventDefault(),this.selectLastOption();break;case de.n:return this.focusAndScrollOptionIntoView(),!0;case de.g:case de.h:return!0;case de.m:if(this.typeaheadExpired)return!0;default:return 1===t.length&&this.handleTypeAhead(`${t}`),!0}}mousedownHandler(e){return this.shouldSkipFocus=!this.contains(document.activeElement),!0}multipleChanged(e,t){this.ariaMultiSelectable=t?"true":null}selectedIndexChanged(e,t){var n;if(this.hasSelectableOptions){if((null===(n=this.options[this.selectedIndex])||void 0===n?void 0:n.disabled)&&"number"==typeof e){const n=this.getSelectableIndex(e,t),a=n>-1?n:e;return this.selectedIndex=a,void(t===a&&this.selectedIndexChanged(t,a))}this.setSelectedOptions()}else this.selectedIndex=-1}selectedOptionsChanged(e,t){var n;const a=t.filter(ve.slottedOptionFilter);null===(n=this.options)||void 0===n||n.forEach(e=>{const t=se.b.getNotifier(e);t.unsubscribe(this,"selected"),e.selected=a.includes(e),t.subscribe(this,"selected")})}selectFirstOption(){var e,t;this.disabled||(this.selectedIndex=null!==(t=null===(e=this.options)||void 0===e?void 0:e.findIndex(e=>!e.disabled))&&void 0!==t?t:-1)}selectLastOption(){this.disabled||(this.selectedIndex=function(e,t){let n=e.length;for(;n--;)if(!e[n].disabled)return n;return-1}(this.options))}selectNextOption(){!this.disabled&&this.selectedIndex0&&(this.selectedIndex=this.selectedIndex-1)}setDefaultSelectedOption(){var e,t;this.selectedIndex=null!==(t=null===(e=this.options)||void 0===e?void 0:e.findIndex(e=>e.defaultSelected))&&void 0!==t?t:-1}setSelectedOptions(){var e,t,n;(null===(e=this.options)||void 0===e?void 0:e.length)&&(this.selectedOptions=[this.options[this.selectedIndex]],this.ariaActiveDescendant=null!==(n=null===(t=this.firstSelectedOption)||void 0===t?void 0:t.id)&&void 0!==n?n:"",this.focusAndScrollOptionIntoView())}slottedOptionsChanged(e,t){this.options=t.reduce((e,t)=>(he(t)&&e.push(t),e),[]);const n=`${this.options.length}`;this.options.forEach((e,t)=>{e.id||(e.id=Object(le.a)("option-")),e.ariaPosInSet=`${t+1}`,e.ariaSetSize=n}),this.$fastController.isConnected&&(this.setSelectedOptions(),this.setDefaultSelectedOption())}typeaheadBufferChanged(e,t){if(this.$fastController.isConnected){const e=this.getTypeaheadMatches();if(e.length){const t=this.options.indexOf(e[0]);t>-1&&(this.selectedIndex=t)}this.typeaheadExpired=!1}}}ve.slottedOptionFilter=e=>he(e)&&!e.hidden,ve.TYPE_AHEAD_TIMEOUT_MS=1e3,Object(oe.a)([Object(ce.c)({mode:"boolean"})],ve.prototype,"disabled",void 0),Object(oe.a)([se.d],ve.prototype,"selectedIndex",void 0),Object(oe.a)([se.d],ve.prototype,"selectedOptions",void 0),Object(oe.a)([se.d],ve.prototype,"slottedOptions",void 0),Object(oe.a)([se.d],ve.prototype,"typeaheadBuffer",void 0);class ye{}Object(oe.a)([se.d],ye.prototype,"ariaActiveDescendant",void 0),Object(oe.a)([se.d],ye.prototype,"ariaDisabled",void 0),Object(oe.a)([se.d],ye.prototype,"ariaExpanded",void 0),Object(oe.a)([se.d],ye.prototype,"ariaMultiSelectable",void 0),Object(_e.a)(ye,pe.a),Object(_e.a)(ve,ye);var Se=n("6BDD"),De=n("UauI"),Ie=n("5ZAu"),xe=n("VRJB");class Ce extends ve{constructor(){super(...arguments),this.activeIndex=-1,this.rangeStartIndex=-1}get activeOption(){return this.options[this.activeIndex]}get checkedOptions(){var e;return null===(e=this.options)||void 0===e?void 0:e.filter(e=>e.checked)}get firstSelectedOptionIndex(){return this.options.indexOf(this.firstSelectedOption)}activeIndexChanged(e,t){var n,a;this.ariaActiveDescendant=null!==(a=null===(n=this.options[t])||void 0===n?void 0:n.id)&&void 0!==a?a:"",this.focusAndScrollOptionIntoView()}checkActiveIndex(){if(!this.multiple)return;const e=this.activeOption;e&&(e.checked=!0)}checkFirstOption(e=!1){e?(-1===this.rangeStartIndex&&(this.rangeStartIndex=this.activeIndex+1),this.options.forEach((e,t)=>{e.checked=Object(xe.a)(t,this.rangeStartIndex)})):this.uncheckAllOptions(),this.activeIndex=0,this.checkActiveIndex()}checkLastOption(e=!1){e?(-1===this.rangeStartIndex&&(this.rangeStartIndex=this.activeIndex),this.options.forEach((e,t)=>{e.checked=Object(xe.a)(t,this.rangeStartIndex,this.options.length)})):this.uncheckAllOptions(),this.activeIndex=this.options.length-1,this.checkActiveIndex()}connectedCallback(){super.connectedCallback(),this.addEventListener("focusout",this.focusoutHandler)}disconnectedCallback(){this.removeEventListener("focusout",this.focusoutHandler),super.disconnectedCallback()}checkNextOption(e=!1){e?(-1===this.rangeStartIndex&&(this.rangeStartIndex=this.activeIndex),this.options.forEach((e,t)=>{e.checked=Object(xe.a)(t,this.rangeStartIndex,this.activeIndex+1)})):this.uncheckAllOptions(),this.activeIndex+=this.activeIndex{e.checked=Object(xe.a)(t,this.activeIndex,this.rangeStartIndex)})):this.uncheckAllOptions(),this.activeIndex-=this.activeIndex>0?1:0,this.checkActiveIndex()}clickHandler(e){var t;if(!this.multiple)return super.clickHandler(e);const n=null===(t=e.target)||void 0===t?void 0:t.closest("[role=option]");return n&&!n.disabled?(this.uncheckAllOptions(),this.activeIndex=this.options.indexOf(n),this.checkActiveIndex(),this.toggleSelectedForAllCheckedOptions(),!0):void 0}focusAndScrollOptionIntoView(){super.focusAndScrollOptionIntoView(this.activeOption)}focusinHandler(e){if(!this.multiple)return super.focusinHandler(e);this.shouldSkipFocus||e.target!==e.currentTarget||(this.uncheckAllOptions(),-1===this.activeIndex&&(this.activeIndex=-1!==this.firstSelectedOptionIndex?this.firstSelectedOptionIndex:0),this.checkActiveIndex(),this.setSelectedOptions(),this.focusAndScrollOptionIntoView()),this.shouldSkipFocus=!1}focusoutHandler(e){this.multiple&&this.uncheckAllOptions()}keydownHandler(e){if(!this.multiple)return super.keydownHandler(e);if(this.disabled)return!0;const{key:t,shiftKey:n}=e;switch(this.shouldSkipFocus=!1,t){case de.j:return void this.checkFirstOption(n);case de.b:return void this.checkNextOption(n);case de.e:return void this.checkPreviousOption(n);case de.f:return void this.checkLastOption(n);case de.n:return this.focusAndScrollOptionIntoView(),!0;case de.h:return this.uncheckAllOptions(),this.checkActiveIndex(),!0;case de.m:if(e.preventDefault(),this.typeAheadExpired)return void this.toggleSelectedForAllCheckedOptions();default:return 1===t.length&&this.handleTypeAhead(`${t}`),!0}}mousedownHandler(e){if(e.offsetX>=0&&e.offsetX<=this.scrollWidth)return super.mousedownHandler(e)}multipleChanged(e,t){var n;this.ariaMultiSelectable=t?"true":null,null===(n=this.options)||void 0===n||n.forEach(e=>{e.checked=!t&&void 0}),this.setSelectedOptions()}setSelectedOptions(){this.multiple?this.$fastController.isConnected&&this.options&&(this.selectedOptions=this.options.filter(e=>e.selected),this.focusAndScrollOptionIntoView()):super.setSelectedOptions()}sizeChanged(e,t){var n;const a=Math.max(0,parseInt(null!==(n=null==t?void 0:t.toFixed())&&void 0!==n?n:"",10));a!==t&&Ie.a.queueUpdate(()=>{this.size=a})}toggleSelectedForAllCheckedOptions(){const e=this.checkedOptions.filter(e=>!e.disabled),t=!e.every(e=>e.selected);e.forEach(e=>e.selected=t),this.selectedIndex=this.options.indexOf(e[e.length-1]),this.setSelectedOptions()}typeaheadBufferChanged(e,t){if(this.multiple){if(this.$fastController.isConnected){const e=this.getTypeaheadMatches(),t=this.options.indexOf(e[0]);t>-1&&(this.activeIndex=t,this.uncheckAllOptions(),this.checkActiveIndex()),this.typeAheadExpired=!1}}else super.typeaheadBufferChanged(e,t)}uncheckAllOptions(e=!1){this.options.forEach(e=>e.checked=!this.multiple&&void 0),e||(this.rangeStartIndex=-1)}}Object(oe.a)([se.d],Ce.prototype,"activeIndex",void 0),Object(oe.a)([Object(ce.c)({mode:"boolean"})],Ce.prototype,"multiple",void 0),Object(oe.a)([Object(ce.c)({converter:ce.e})],Ce.prototype,"size",void 0);var Oe=n("4X57"),we=n("xY0q"),Ee=n("8hiW"),Ae=n("FVZ7");const Le=class extends ve{}.compose({baseName:"listbox",template:(e,t)=>Se.a` + +`,styles:(e,t)=>Oe.a` + ${Object(we.a)("inline-flex")} :host { + border: calc(${Ee.vb} * 1px) solid ${Ee.rb}; + border-radius: calc(${Ee.q} * 1px); + box-sizing: border-box; + flex-direction: column; + padding: calc(${Ee.s} * 1px) 0; + } + + ::slotted(${e.tagFor(be)}) { + margin: 0 calc(${Ee.s} * 1px); + } + + :host(:focus-within:not([disabled])) { + ${Ae.a} + } + `});var ke=n("VcPv"),Me=n("m1Vi"),Pe=function(e,t,n,a){var i,r=arguments.length,o=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,a);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o},Te=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},Ue=function(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})};const Fe=()=>{Object(T.a)(Le,ke.a,Me.a,U.a),Object(te.a)(),Object(d.c)(),Object(A.b)("login",He)};class He extends p.a{static get styles(){return ie}get strings(){return re}get flyout(){return this.renderRoot.querySelector(".flyout")}static get requiredScopes(){return[...new Set(["user.read",...d.a.requiredScopes])]}get _userDetailsKey(){return"-userDetails"}constructor(){super(),this.showPresence=!1,this.loginView="full",this._arrowKeyLocation=-1,this.logout=()=>Ue(this,void 0,void 0,function*(){if(!this.fireCustomEvent("logoutInitiated"))return;const e=_.a.globalProvider;(null==e?void 0:e.isMultiAccountSupportedAndEnabled)&&localStorage.removeItem(e.getActiveAccount().id+this._userDetailsKey),(null==e?void 0:e.logout)&&(yield e.logout(),this.userDetails=null,e.isMultiAccountSupportedAndEnabled&&localStorage.removeItem(e.getActiveAccount().id+this._userDetailsKey),this.hideFlyout(),this.fireCustomEvent("logoutCompleted"))}),this.flyoutOpened=()=>{this._isFlyoutOpen=!0},this.flyoutClosed=()=>{this._isFlyoutOpen=!1},this.onUserKeyDown=e=>{if(!this.flyout.isOpen)return;const t=this.renderRoot.querySelector(".popup-content"),n=t.querySelectorAll("ul, fluent-button"),a=t.querySelector("#signout-button")||n[0],i=t.querySelector("#signin-different-account-button")||n[n.length-1];if("Tab"===e.key&&e.shiftKey&&a===e.target&&(e.preventDefault(),null==i||i.focus()),"Tab"!==e.key||e.shiftKey||i!==e.target||(e.preventDefault(),null==a||a.focus()),"Escape"===e.key){const e=this.renderRoot.querySelector("#login-button");null==e||e.focus()}const r=this.renderRoot.querySelector("fluent-card");e.shiftKey&&"Tab"===e.key&&e.target===r&&this.hideFlyout()},this.handleAccountListKeyDown=e=>{const t=this.renderRoot.querySelector("ul.account-list");let n;const a=null==t?void 0:t.children;for(const e of a){const t=e;t.setAttribute("tabindex","-1"),t.blur()}const i=t.childElementCount,r=e.key;if("ArrowDown"===r)this._arrowKeyLocation=(this._arrowKeyLocation+1+i)%i;else if("ArrowUp"===r)this._arrowKeyLocation=(this._arrowKeyLocation-1+i)%i;else if("Tab"===r||"Escape"===r)return this._arrowKeyLocation=-1,t.blur(),void("Escape"===r&&(e.preventDefault(),e.stopPropagation()));this._arrowKeyLocation>-1&&(n=a[this._arrowKeyLocation],n.setAttribute("tabindex","1"),n.focus())},this.onClick=()=>{this.userDetails&&this._isFlyoutOpen?this.hideFlyout():this.userDetails?this.showFlyout():this.login()},this._isFlyoutOpen=!1}connectedCallback(){super.connectedCallback(),this.addEventListener("click",e=>e.stopPropagation())}login(){return Ue(this,void 0,void 0,function*(){const e=_.a.globalProvider;(e.isMultiAccountSupportedAndEnabled||!this.userDetails&&this.fireCustomEvent("loginInitiated"))&&(null==e?void 0:e.login)&&(yield e.login(),e.state===i.c.SignedIn?this.fireCustomEvent("loginCompleted"):this.fireCustomEvent("loginFailed"))})}render(){return u.c` + + `}loadState(){return Ue(this,void 0,void 0,function*(){const e=_.a.globalProvider;e&&!this.userDetails&&(e.state===i.c.SignedIn?(this.userDetails=yield Object(ne.a)(e.graph.forComponent(this)),this.userDetails.personImage&&(this._image=this.userDetails.personImage),e.isMultiAccountSupportedAndEnabled&&localStorage.setItem(_.a.globalProvider.getActiveAccount().id+this._userDetailsKey,JSON.stringify(this.userDetails)),this.fireCustomEvent("loginCompleted")):this.userDetails=null)})}renderButton(){var e;const t=(null===(e=_.a.globalProvider)||void 0===e?void 0:e.state)===i.c.SignedIn,n=Object(F.a)({"signed-in":t&&Boolean(this.userDetails),"signed-out":!t,small:"avatar"===this.loginView}),a=t?"stealth":"neutral",r=t&&this.userDetails,o=r?this.renderSignedInButtonContent(this.userDetails,this._image):this.renderSignedOutButtonContent(),s=r?this._isFlyoutOpen:void 0;return u.c` + + ${o} + `}renderFlyout(){return m.a` + + + ${this.renderFlyoutContent()} + + `}renderFlyoutContent(){if(this.userDetails)return u.c` + + `}get hasMultipleAccounts(){var e,t,n,a;return(null===(e=_.a.globalProvider)||void 0===e?void 0:e.isMultiAccountSupportedAndEnabled)&&(null===(a=null===(n=null===(t=_.a.globalProvider)||void 0===t?void 0:t.getAllAccounts)||void 0===n?void 0:n.call(t))||void 0===a?void 0:a.length)>1}get usesVerticalPersonCard(){return"full"===this.loginView||this.hasMultipleAccounts}renderFlyoutPersonDetails(e,t){return this.renderTemplate("flyout-person-details",{personDetails:e,personImage:t})||m.a` + + `}renderFlyoutCommands(){return this.renderTemplate("flyout-commands",{handleSignOut:()=>this.logout()})||u.c` + + ${this.strings.signOutLinkSubtitle} + `}renderButtonContent(){return this.userDetails?this.renderSignedInButtonContent(this.userDetails,this._image):this.renderSignedOutButtonContent()}renderAddAccountContent(){if(_.a.globalProvider.isMultiAccountSupportedAndEnabled)return u.c` + `}parsePersonDisplayConfiguration(){const e={view:ee.a.twolines,avatarSize:"small"};switch(this.loginView){case"avatar":e.view=ee.a.image,e.avatarSize="small";break;case"compact":e.view=ee.a.oneline,e.avatarSize="small";break;default:e.view=ee.a.twolines,e.avatarSize="auto"}return e}renderSignedInButtonContent(e,t){const n=this.renderTemplate("signed-in-button-content",{personDetails:e,personImage:t}),a=this.parsePersonDisplayConfiguration();return n||m.a` + `}renderAccounts(){if(_.a.globalProvider.state===i.c.SignedIn&&_.a.globalProvider.isMultiAccountSupportedAndEnabled){const e=_.a.globalProvider,t=e.getAllAccounts();if((null==t?void 0:t.length)>1)return u.c` +
    + +
    + `}}setActiveAccount(e){_.a.globalProvider.setActiveAccount(e)}clearState(){this.userDetails=null,this._image=null}renderSignedOutButtonContent(){return this.renderTemplate("signed-out-button-content",null)||u.c` + ${this.strings.signInLinkSubtitle}`}showFlyout(){const e=this.flyout;e&&e.open()}hideFlyout(){const e=this.flyout;e&&e.close()}}Pe([Object(f.b)({attribute:"user-details",type:Object}),Te("design:type",Object)],He.prototype,"userDetails",void 0),Pe([Object(f.b)({attribute:"show-presence",type:Boolean}),Te("design:type",Object)],He.prototype,"showPresence",void 0),Pe([Object(f.b)({attribute:"login-view",type:String}),Te("design:type",String)],He.prototype,"loginView",void 0),Pe([Object(f.c)(),Te("design:type",Boolean)],He.prototype,"_isFlyoutOpen",void 0),Pe([Object(f.c)(),Te("design:type",Object)],He.prototype,"_arrowKeyLocation",void 0);var Re,Ne=function(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})};!function(e){e[e.any=0]="any",e[e.unified=1]="unified",e[e.security=2]="security",e[e.mailenabledsecurity=4]="mailenabledsecurity",e[e.distribution=8]="distribution"}(Re||(Re={}));const Be=()=>V.a.config.groups.invalidationPeriod||V.a.config.defaultInvalidationPeriod,je=()=>V.a.config.groups.isEnabled&&V.a.config.isEnabled,Ve=(e,t,n=10,a=Re.any,i="")=>Ne(void 0,void 0,void 0,function*(){const r="Group.Read.All";let o;const s=`${t||"*"}*${a}*${i}:${n}`;if(je()){o=V.a.getCache(K.a.groups,K.a.groups.stores.groupsQuery);const e=yield o.getValue(s);if(e&&Be()>Date.now()-e.timeCached&&e.top>=n)return e.groups.map(e=>JSON.parse(e)).slice(0,n+1)}let c,d="";const l=[];if(""!==t&&(d=`(startswith(displayName,'${t}') or startswith(mailNickname,'${t}') or startswith(mail,'${t}'))`),i&&(d+=`${t?" and ":""}${i}`),a!==Re.any){const t=e.createBatch(),i=[];Re.unified===(a&Re.unified)&&i.push("groupTypes/any(c:c+eq+'Unified')"),Re.security===(a&Re.security)&&i.push("(mailEnabled eq false and securityEnabled eq true)"),Re.mailenabledsecurity===(a&Re.mailenabledsecurity)&&i.push("(mailEnabled eq true and securityEnabled eq true)"),Re.distribution===(a&Re.distribution)&&i.push("(mailEnabled eq true and securityEnabled eq false)"),d=d?`${d} and `:"";for(const e of i)t.get(e,`/groups?$filter=${d+e}`,["Group.Read.All"]);try{c=yield t.executeAll();for(const e of i)if(c.get(e).content.value)for(const t of c.get(e).content.value)l.find(e=>e.id===t.id)||l.push(t)}catch(t){try{const t=[];for(const a of i)t.push(e.api("groups").filter(`${d} and ${a}`).top(n).count(!0).header("ConsistencyLevel","eventual").middlewareOptions(Object(b.a)(r)).get());return(yield Promise.all(t)).map(e=>e.value).reduce((e,t)=>e.concat(t),[])}catch(e){return[]}}}else if(0===l.length){const t=yield e.api("groups").filter(d).top(n).count(!0).header("ConsistencyLevel","eventual").middlewareOptions(Object(b.a)(r)).get();return je()&&t&&(yield o.putValue(s,{groups:t.value.map(e=>JSON.stringify(e)),top:n})),t?t.value:null}return l}),ze=(e,t,n)=>Ne(void 0,void 0,void 0,function*(){let a;if(je()){a=V.a.getCache(K.a.groups,K.a.groups.stores.groups);const e=yield a.getValue(t);if(e&&Be()>Date.now()-e.timeCached){const t=e.group?JSON.parse(e.group):null,a=n&&t?n.filter(e=>!Object.keys(t).includes(e)):null;if(!a||a.length<=1)return t}}let i=`/groups/${t}`;n&&(i=i+"?$select="+n.toString());const r=yield e.api(i).middlewareOptions(Object(b.a)("Group.Read.All")).get();return je()&&(yield a.putValue(t,{group:JSON.stringify(r)})),r}),Ge=(e,t,n="")=>Ne(void 0,void 0,void 0,function*(){if(!t||0===t.length)return[];const a=e.createBatch(),i={},r=[];let o;je()&&(o=V.a.getCache(K.a.groups,K.a.groups.stores.groups));for(const e of t){let t;if(i[e]=null,je()&&(t=yield o.getValue(e)),t&&Be()>Date.now()-t.timeCached)i[e]=t.group?JSON.parse(t.group):null;else if(""!==e){let t=`/groups/${e}`;n&&(t=`${t}?$filters=${n}`),a.get(e,t,["Group.Read.All"]),r.push(e)}}try{const e=yield a.executeAll();for(const n of t){const t=e.get(n);(null==t?void 0:t.content)&&(i[n]=t.content,je()&&(yield o.putValue(n,{group:JSON.stringify(t.content)})))}return Promise.all(Object.values(i))}catch(n){try{return t.filter(e=>r.includes(e)).forEach(t=>{i[t]=ze(e,t)}),je()&&(yield Promise.all(t.filter(e=>r.includes(e)).map(e=>Ne(void 0,void 0,void 0,function*(){return yield o.putValue(e,{group:JSON.stringify(yield i[e])})})))),Promise.all(Object.values(i))}catch(e){return[]}}});var Ke=n("/4Fm");const We=[u.b` +:host([hidden]){display:none}:host{display:block;font-family:var(--default-font-family, "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, "BlinkMacSystemFont", "Roboto", "Helvetica Neue", sans-serif);font-size:var(--default-font-size,14px);--theme-primary-color:#0078d7;--theme-dark-color:#005a9e}:focus-visible{outline-color:var(--focus-ring-color,Highlight);outline-color:var(--focus-ring-color,-webkit-focus-ring-color);outline-style:var(--focus-ring-style,auto)}.ms-icon{display:inline-block;font-family:FabricMDL2Icons;font-style:normal;font-weight:400;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:4px 0}.error{background-color:#fde7e9;padding-block:8px;padding-inline:8px 12px}.ms-icon-chevron-down::before{content:"\\\e70d"}.ms-icon-chevron-up::before{content:"\\\e70e"}.ms-icon-contact::before{content:"\\\e77b"}.ms-icon-add-friend::before{content:"\\\e8fa"}.ms-icon-outlook-logo-inverser::before{content:"\\\eb6d"}:host{--person-details-wrapper-width:0;width:auto}:host fluent-text-field{width:100%}:host fluent-text-field::part(root){display:flex;flex-wrap:wrap;height:auto;background:padding-box linear-gradient(var(--people-picker-input-background,var(--neutral-fill-input-rest)),var(--people-picker-input-background,var(--neutral-fill-input-rest))),border-box var(--people-picker-input-border-color,var(--neutral-stroke-input-rest))}:host fluent-text-field::part(root):hover{background:padding-box linear-gradient(var(--people-picker-input-hover-background,var(--neutral-fill-input-hover)),var(--people-picker-input-hover-background,var(--neutral-fill-input-hover))),border-box var(--people-picker-input-hover-border-color,var(--neutral-stroke-input-hover))}:host fluent-text-field::part(root):focus,:host fluent-text-field::part(root):focus-within{background:padding-box linear-gradient(var(--people-picker-input-focus-background,var(--neutral-fill-input-focus)),var(--people-picker-input-focus-background,var(--neutral-fill-input-focus))),border-box var(--people-picker-input-focus-border-color,var(--neutral-stroke-input-focus))}:host fluent-text-field::part(start){margin:unset}:host fluent-text-field::part(control){width:min-content;height:calc((var(--base-height-multiplier) + var(--density)) * var(--design-unit) * 1px);word-spacing:inherit;text-indent:inherit;letter-spacing:inherit}:host fluent-text-field::part(control)::placeholder{color:var(--people-picker-input-placeholder-text-color,var(--input-placeholder-rest))}:host fluent-text-field::part(control):hover::placeholder{color:var(--people-picker-input-placeholder-hover-text-color,var(--input-placeholder-hover))}:host fluent-text-field::part(control):focus-within::placeholder,:host fluent-text-field::part(control):focus::placeholder{color:var(--people-picker-input-placeholder-focus-text-color,var(--input-placeholder-filled))}:host fluent-text-field .search-icon{display:flex;padding-top:10px;padding-inline-start:10px}:host fluent-text-field .search-icon svg path{fill:var(--people-picker-search-icon-color,currentColor)}:host .selected-list{display:flex;flex-wrap:wrap;column-gap:5px;padding:unset;margin:0 5px}:host .selected-list-item{display:flex;column-gap:5px;border-radius:100px;margin-top:3px;background-color:var(--people-picker-selected-option-background-color,var(--person-background-color,var(--neutral-layer-3)))}:host .selected-list-item.highlighted{background-color:var(--people-picker-selected-option-highlight-background-color,var(--accent-fill-rest))}:host .selected-list-item-close-icon{display:flex;justify-content:center;align-items:center;padding-inline-end:8px;cursor:pointer}:host .selected-list-item-close-icon svg path{fill:var(--people-picker-remove-selected-close-icon-color,currentColor)}:host .selected-list-item-person{width:max-content}:host fluent-card{margin-top:4px;background-color:var(--people-picker-dropdown-background-color,var(--neutral-layer-card-container))}:host .searched-people-list{list-style:none;padding:4px;margin:auto}:host .searched-people-list-result{padding:4px;border-radius:4px;background:var(--people-picker-dropdown-result-background-color,var(--person-background-color,transparent))}:host .searched-people-list-result:hover{background:var(--people-picker-dropdown-result-hover-background-color,var(--person-background-color,var(--neutral-fill-rest)))}:host .searched-people-list-result:focus,:host .searched-people-list-result:focus-within{background:var(--people-picker-dropdown-result-focus-background-color,var(--person-background-color,var(--neutral-fill-rest)))}:host .message-parent{display:flex;place-content:center;flex-direction:row;padding:10px 15px;column-gap:5px}:host .message-parent .loading-text,:host .message-parent .search-error-text{font-style:normal;font-weight:600;font-size:14px;line-height:19px;text-align:center;color:var(--people-picker-no-results-text-color,var(--neutral-foreground-hint))} +`];var qe=n("P2Ap");const Qe={inputPlaceholderText:"Search for a name",maxSelectionsPlaceHolder:"Max contacts added",maxSelectionsAriaLabel:"Maximum contact selections reached",noResultsFound:"We didn't find any matches.",loadingMessage:"Loading...",selected:"selected",removeSelectedUser:"Remove ",selectContact:"select a contact",suggestionsTitle:"Suggested contacts"};var Ye=n("D4ZN"),Je=n("o2vq"),Xe=function(e,t,n,a){var i,r=arguments.length,o=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,a);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o},Ze=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},$e=function(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})};const et=()=>{Object(T.a)(qe.a,U.a),Object(te.a)(),Object(d.c)(),Object(Ye.b)(),Object(A.b)("people-picker",tt)};class tt extends p.a{static get styles(){return We}get strings(){return Qe}get flyout(){return this.renderRoot.querySelector(".flyout")}get input(){return this.renderRoot.querySelector("fluent-text-field")}get groupId(){return this._groupId}set groupId(e){this._groupId!==e&&(this._groupId=e,this.requestStateUpdate(!0))}get groupIds(){return this._groupIds}set groupIds(e){Object(O.a)(this._groupIds,e)||(this._groupIds=e,this.requestStateUpdate(!0))}get type(){return this._type}set type(e){this._type!==e&&(this._type=e,this.requestStateUpdate(!0))}get groupType(){return this._groupType}set groupType(e){this._groupType!==e&&(this._groupType=e,this.requestStateUpdate(!0))}get userType(){return this._userType}set userType(e){this._userType!==e&&(this._userType=e,this.requestStateUpdate(!0))}get transitiveSearch(){return this._transitiveSearch}set transitiveSearch(e){this.transitiveSearch!==e&&(this._transitiveSearch=e,this.requestStateUpdate(!0))}get people(){return this._people}set people(e){Object(O.a)(this._people,e)||(this._people=e,this.requestStateUpdate(!0))}get showMax(){return this._showMax}set showMax(e){e!==this._showMax&&(this._showMax=e,this.requestStateUpdate(!0))}get selectedPeople(){return this._selectedPeople}set selectedPeople(e){e||(e=[]),Object(O.a)(this._selectedPeople,e)||(this._selectedPeople=e,this.fireCustomEvent("selectionChanged",this._selectedPeople),this.requestUpdate())}get defaultSelectedUserIds(){return this._defaultSelectedUserIds}set defaultSelectedUserIds(e){Object(O.a)(this._defaultSelectedUserIds,e)||(this._defaultSelectedUserIds=e,this.requestStateUpdate(!0))}get defaultSelectedGroupIds(){return this._defaultSelectedGroupIds}set defaultSelectedGroupIds(e){Object(O.a)(this._defaultSelectedGroupIds,e)||(this._defaultSelectedGroupIds=e,this.requestStateUpdate(!0))}get userIds(){return this._userIds}set userIds(e){Object(O.a)(this._userIds,e)||(this._userIds=e,this.requestStateUpdate(!0))}get userFilters(){return this._userFilters}set userFilters(e){this._userFilters=e,this.requestStateUpdate(!0)}get peopleFilters(){return this._peopleFilters}set peopleFilters(e){this._peopleFilters=e,this.requestStateUpdate(!0)}get groupFilters(){return this._groupFilters}set groupFilters(e){this._groupFilters=e,this.requestStateUpdate(!0)}static get requiredScopes(){return[...new Set(["user.read.all","people.read","group.read.all","user.readbasic.all",...d.a.requiredScopes])]}constructor(){super(),this._type=I.a.person,this._groupType=Re.any,this._userType=I.b.any,this._selectedPeople=[],this._arrowSelectionCount=-1,this.defaultSelectedUsers=[],this.defaultSelectedGroups=[],this._highlightedUsers=[],this._currentHighlightedUserPos=0,this._isFocused=!1,this._setAnyEmail=!1,this.handleSelectionChanged=()=>{0!==this.selectedPeople.length||this.disabled||this.enableTextInput()},this.handleInputClick=()=>{this.flyout.isOpen||this.handleUserSearch()},this.gainedFocus=()=>{this.clearHighlighted(),this._isFocused=!0,this.loadState(),this.showFlyout()},this.lostFocus=()=>{this._isFocused=!1,this.input&&this.input.setAttribute("aria-activedescendant","");const e=this.renderRoot.querySelector(".people-list");if(e)for(const t of e.children)t.classList.remove("focused"),t.setAttribute("aria-selected","false");this.requestUpdate()},this.onUserKeyUp=e=>{const t=e.key,n=e.getModifierState("Control")||e.getModifierState("Meta"),a=n&&"v"===t,i=["ArrowDown","ArrowRight","ArrowUp","ArrowLeft"].includes(t);return!a&&n||i?((n||["ArrowLeft","ArrowRight"].includes(t))&&this.hideFlyout(),void("ArrowDown"===t&&!this.flyout.isOpen&&this._isFocused&&this.handleUserSearch())):["Tab","Enter","Shift"].includes(t)?void 0:"Escape"===t?(this.clearInput(),this._foundPeople=[],void(this._arrowSelectionCount=-1)):"Backspace"===t&&0===this.userInput.length&&this.selectedPeople.length>0?(this.clearHighlighted(),this.selectedPeople=this.selectedPeople.splice(0,this.selectedPeople.length-1),this.loadState(),void this.hideFlyout()):void([";",","].includes(t)&&this.allowAnyEmail&&(this._setAnyEmail=!0,e.preventDefault(),e.stopPropagation()))},this.onUserInput=e=>{const t=e.target;this.userInput=t.value,this.userInput&&(Object(Ke.o)(this.userInput)&&this.allowAnyEmail?this._setAnyEmail&&this.handleAnyEmail():this.handleUserSearch(),this._setAnyEmail=!1)},this.onUserKeyDown=e=>{const t=e.key,n=this.renderRoot.querySelector(".selected-list"),a=e.getModifierState("Control")||e.getModifierState("Meta");if(a&&n){const e=n.querySelectorAll("mgt-person.selected-list-item-person");if(this.hideFlyout(),a&&"ArrowLeft"===t)this._currentHighlightedUserPos=(this._currentHighlightedUserPos-1+e.length)%e.length,this._currentHighlightedUserPos>=0&&!Number.isNaN(this._currentHighlightedUserPos)?this._highlightedUsers.push(e[this._currentHighlightedUserPos]):this._currentHighlightedUserPos=0;else if(a&&"ArrowRight"===t){const e=this._highlightedUsers.pop();if(e){const t=e.parentElement;t&&(this.clearHighlighted(t),this._currentHighlightedUserPos++)}}else a&&"a"===t&&(this._highlightedUsers=[],e.forEach(e=>this._highlightedUsers.push(e)));this._highlightedUsers&&this.highlightSelectedPeople(this._highlightedUsers)}else if(this.clearHighlighted(),this.flyout.isOpen){if("ArrowUp"!==t&&"ArrowDown"!==t||(this.handleArrowSelection(e),e.preventDefault()),"Enter"===t)if(!e.shiftKey&&this._foundPeople){e.preventDefault(),e.stopPropagation();const t=this._foundPeople[this._arrowSelectionCount];t&&(this.addPerson(t),this.hideFlyout(),this.input.value="",this.hasMaxSelections&&this.disableTextInput())}else this.allowAnyEmail?this.handleAnyEmail():this.showFlyout();"Escape"===t&&e.stopPropagation(),"Tab"===t&&this.hideFlyout(),[";",","].includes(t)&&this.allowAnyEmail&&(e.preventDefault(),e.stopPropagation(),this.userInput=this.input.value,this.handleAnyEmail())}},this.handleCut=()=>{this.writeHighlightedText().then(()=>{this.removeHighlightedOnCut()},()=>{})},this.handleCopy=()=>{this.writeHighlightedText()},this.handlePaste=()=>{navigator.clipboard.readText().then(e=>{if(e)try{const t=JSON.parse(e);if(t&&t.length>0)for(const e of t)this.addPerson(e)}catch(t){if(t instanceof SyntaxError){const t=[",",";"];let n;try{for(const a of t)if(n=e.split(a),n.length>1){this.hideFlyout(),this.selectUsersById(n);break}}catch(e){}}}},e=>{})},this.clearState(),this._showLoading=!0,this.showMax=6,this.disableImages=!1,this.disabled=!1,this.allowAnyEmail=!1,this.addEventListener("copy",this.handleCopy),this.addEventListener("cut",this.handleCut),this.addEventListener("paste",this.handlePaste),this.addEventListener("selectionChanged",this.handleSelectionChanged)}disableTextInput(){const e=this.input.shadowRoot.querySelector("input");e&&(e.setAttribute("disabled","true"),e.value="")}enableTextInput(){const e=this.input.shadowRoot.querySelector("input");e&&(e.removeAttribute("disabled"),e.focus())}get hasMaxSelections(){return"single"===this.selectionMode&&this.selectedPeople.length>=1}focus(e){this.input&&(this.input.focus(e),this.input.select())}selectUsersById(e){var t;return $e(this,void 0,void 0,function*(){const n=_.a.globalProvider,a=_.a.globalProvider.graph;if(n&&n.state===i.c.SignedIn)for(const n in e){const i=e[n];try{const e=yield Object(C.f)(a,i,d.b);this.addPerson(e)}catch(e){if(Object(Je.a)(e)&&(null===(t=e.message)||void 0===t?void 0:t.includes("does not exist"))&&this.allowAnyEmail&&Object(Ke.o)(i)){const e={mail:i,displayName:i};this.addPerson(e)}}}})}selectGroupsById(e){return $e(this,void 0,void 0,function*(){const t=_.a.globalProvider,n=_.a.globalProvider.graph;if(t&&t.state===i.c.SignedIn)for(const t in e)try{const a=yield ze(n,e[t]);this.addPerson(a)}catch(e){}})}render(){const e=this.renderTemplate("default",{people:this._foundPeople});if(e)return e;const t=this.renderSelectedPeople(this.selectedPeople),n=this.renderInput(t),a=this.renderFlyout(n);return u.c` +
    + ${a} +
    + `}clearState(){this.selectedPeople=[],this.userInput="",this._highlightedUsers=[],this._currentHighlightedUserPos=0}requestStateUpdate(e){return e&&(this._groupPeople=null,this._foundPeople=null,this.selectedPeople=[],this.defaultPeople=null),super.requestStateUpdate(e)}renderInput(e){var t,n,a;const i=this.disabled?"":this.placeholder||this.strings.inputPlaceholderText,r=this.hasMaxSelections?this.strings.maxSelectionsAriaLabel:"",o=u.c`${Object(S.b)(S.a.Search)}`,s=(null===(t=this.selectedPeople)||void 0===t?void 0:t.length)>0?e:o;return u.c` + + ${s} + + `}renderSelectedPeople(e){return(null==e?void 0:e.length)?u.c` +
      + ${Object(D.a)(e,e=>null==e?void 0:e.id,e=>{var t;return u.c` +
    • + ${this.renderTemplate("selected-person",{person:e},`selected-${(null==e?void 0:e.id)?e.id:e.displayName}`)||this.renderSelectedPerson(e)} + +
      + ${Object(S.b)(S.a.Close)} +
      +
    • `})} +
    `:u.c``}renderFlyout(e){return m.a` + + ${e} + this.handleSectionScroll(e)} + @keydown=${e=>this.onUserKeyDown(e)} + class="custom"> + ${this.renderFlyoutContent()} + + + `}renderFlyoutContent(){if(this.isLoadingState||this._showLoading)return this.renderLoading();const e=this._foundPeople;return e&&0!==e.length&&0!==this.showMax?this.renderSearchResults(e):this.renderNoData()}renderLoading(){return this.renderTemplate("loading",null)||m.a` +
    + +
    + ${this.strings.loadingMessage} +
    +
    + `}renderNoData(){if(this._isFocused)return this.renderTemplate("error",null)||this.renderTemplate("no-data",null)||u.c` +
    +
    + ${this.strings.noResultsFound} +
    +
    + `}renderSearchResults(e){const t=e.filter(e=>e.id);return u.c` +
      + ${Object(D.a)(t,e=>e.id,e=>u.c` +
    • + ${this.renderPersonResult(e)} +
    • + `)} +
    + `}renderPersonResult(e){return this.renderTemplate("person",{person:e},e.id)||m.a` + + .personCardInteraction=${w.a.none} + `}renderSelectedPerson(e){return m.a` + + + `}loadState(){var e,t,n,a;return $e(this,void 0,void 0,function*(){let r=this.people;const o=this.userInput.toLowerCase(),s=_.a.globalProvider;if(r){if(o){const e=r.filter(e=>null==e?void 0:e.displayName.toLowerCase().includes(o));r=e}this._showLoading=!1}else if(!r&&s&&s.state===i.c.SignedIn){const i=s.graph.forComponent(this);if(!o.length){if(this.defaultPeople)r=this.defaultPeople;else{if(this.groupId||this.groupIds){if(null===this._groupPeople)if(this.groupId)try{this.type===I.a.group?this._groupPeople=yield Object(C.a)(i,null,this.groupId,this.showMax,this.type,this.transitiveSearch):this._groupPeople=yield Object(C.a)(i,null,this.groupId,this.showMax,this.type,this.transitiveSearch,this.userFilters,this.peopleFilters)}catch(e){this._groupPeople=[]}else if(this.groupIds)if(this.type===I.a.group)try{this._groupPeople=yield Ge(i,this.groupIds,this.groupFilters)}catch(e){this._groupPeople=[]}else try{const e=yield Object(C.c)(i,"",this.groupIds,this.showMax,this.type,this.transitiveSearch,this.userFilters);this._groupPeople=e}catch(e){this._groupPeople=[]}r=this._groupPeople||[]}else if(this.type===I.a.person||this.type===I.a.any)if(this.userIds)r=yield Object(C.j)(i,this.userIds,"",this.userFilters);else{const e=this.userType===I.b.user||this.userType===I.b.contact;r=this._userFilters&&e?yield Object(C.h)(i,this._userFilters,this.showMax):yield Object(I.f)(i,this.userType,this._peopleFilters,this.showMax)}else if(this.type===I.a.group)if(this.groupIds)try{r=yield this.getGroupsForGroupIds(i,r)}catch(e){}else{let e=(yield Ve(i,"",this.showMax,this.groupType,this._groupFilters))||[];e.length>0&&e[0].value&&(e=e[0].value),r=e}this.defaultPeople=r}this._isFocused&&(this._showLoading=!1)}if(!((null===(e=this.defaultSelectedUserIds)||void 0===e?void 0:e.length)>0||(null===(t=this.defaultSelectedGroupIds)||void 0===t?void 0:t.length)>0)||this.selectedPeople.length||this.defaultSelectedUsers.length||this.defaultSelectedGroups.length||(this.defaultSelectedUsers=yield Object(C.j)(i,this.defaultSelectedUserIds,"",this.userFilters),this.defaultSelectedGroups=yield Ge(i,this.defaultSelectedGroupIds,this.peopleFilters),this.defaultSelectedGroups=this.defaultSelectedGroups.filter(e=>null!==e),this.defaultSelectedUsers=this.defaultSelectedUsers.filter(e=>null!==e),this.selectedPeople=[...this.defaultSelectedUsers,...this.defaultSelectedGroups],this.requestUpdate()),o)if(r=[],this.groupId)r=(yield Object(C.a)(i,o,this.groupId,this.showMax,this.type,this.transitiveSearch,this.userFilters,this.peopleFilters))||[];else{if(this.type===I.a.person||this.type===I.a.any){try{if(this.userType===I.b.contact||this.userType===I.b.user)r=(null===(n=this.userIds)||void 0===n?void 0:n.length)?yield Object(C.j)(i,this.userIds,o,this._userFilters):yield Object(C.b)(i,o,this.showMax,this._userFilters);else if(this.groupIds)try{r=yield Object(C.c)(i,o,this.groupIds,this.showMax,this.type,this.transitiveSearch,this.userFilters)}catch(e){}else r=(null===(a=this.userIds)||void 0===a?void 0:a.length)?yield Object(C.j)(i,this.userIds,o,this._userFilters):(yield Object(I.d)(i,o,this.showMax,this.userType,this._peopleFilters))||[]}catch(e){}if(r&&r.lengthe.id));for(const n of e)t.has(n.id)||r.push(n)}catch(e){}}if((this.type===I.a.group||this.type===I.a.any)&&r.lengthNe(void 0,void 0,void 0,function*(){const o=[],s=yield Ve(e,t,a,i,r);if(s)for(const e of s)e.id&&n.includes(e.id)&&o.push(e);return o}))(i,o,this.groupIds,this.showMax,this.groupType,this.userFilters)}catch(e){}else{let e=[];try{e=(yield Ve(i,o,this.showMax,this.groupType,this._groupFilters))||[],r=r.concat(e)}catch(e){}}}}this._foundPeople=this.filterPeople(r)})}getGroupsForGroupIds(e,t){return $e(this,void 0,void 0,function*(){const n=yield Ge(e,this.groupIds,this.groupFilters);for(const e of n)t=t.concat(e);return t=t.filter(e=>e)})}hideFlyout(){const e=this.flyout;e&&e.close(),this.input&&this.input.setAttribute("aria-activedescendant",""),this._arrowSelectionCount=-1}showFlyout(){const e=this.flyout;e&&e.open(),this._arrowSelectionCount=-1}removePerson(e,t){t.stopPropagation();const n=this.selectedPeople.filter(t=>!e.id&&t.displayName?t.displayName!==e.displayName:t.id!==e.id);this.hasMaxSelections&&this.enableTextInput(),this.selectedPeople=n,this.loadState()}handleRemovePersonKeyDown(e,t){"Enter"===t.key&&this.removePerson(e,t)}addPerson(e){e&&(setTimeout(()=>{this.clearInput()},50),0===this.selectedPeople.filter(t=>!e.id&&t.displayName?t.displayName===e.displayName:t.id===e.id).length&&(this.selectedPeople=[...this.selectedPeople,e],this.loadState(),this._foundPeople=[],this._arrowSelectionCount=-1))}clearInput(){this.clearHighlighted(),"single"!==this.selectionMode&&(this.input.value=""),this.userInput=""}handleAnyEmail(){if(this._showLoading=!1,this._arrowSelectionCount=-1,Object(Ke.o)(this.userInput)){const e={mail:this.userInput,displayName:this.userInput};this.addPerson(e)}this.hideFlyout(),this.input&&(this.input.focus(),this._isFocused=!0)}handleSuggestionClick(e){this.addPerson(e),this.hasMaxSelections&&(this.disableTextInput(),this.input.value=""),this.hideFlyout()}handleUserSearch(){this._debouncedSearch||(this._debouncedSearch=Object(Ke.b)(()=>$e(this,void 0,void 0,function*(){const e=setTimeout(()=>{this._showLoading=!0},50);yield this.loadState(),clearTimeout(e),this._showLoading=!1,this._arrowSelectionCount=-1,this.showFlyout()}),400)),this._debouncedSearch()}writeHighlightedText(){return $e(this,void 0,void 0,function*(){const e=[];for(const t of this._highlightedUsers){const{id:n,displayName:a,mail:i,userPrincipalName:r,scoredEmailAddresses:o}=t._personDetails;let s;s=o&&o.length>0?o.pop().address:r||i,e.push({id:n,displayName:a,email:s})}let t="";e.length>0&&(t=JSON.stringify(e)),yield navigator.clipboard.writeText(t)})}removeHighlightedOnCut(){this.selectedPeople=this.selectedPeople.splice(0,this.selectedPeople.length-this._highlightedUsers.length),this._highlightedUsers=[],this._currentHighlightedUserPos=0,this.loadState(),this.hideFlyout()}highlightSelectedPeople(e){for(const t of e)(null==t?void 0:t.parentElement).classList.add("highlighted")}clearHighlighted(e){if(e)e.classList.remove("highlighted");else{for(const e of this._highlightedUsers){const t=e.parentElement;t&&t.classList.remove("highlighted")}this._highlightedUsers=[],this._currentHighlightedUserPos=0}}handleArrowSelection(e){var t,n;const a=this.renderRoot.querySelector(".searched-people-list");if(null===(t=null==a?void 0:a.children)||void 0===t?void 0:t.length){e&&("ArrowUp"===e.key&&(-1===this._arrowSelectionCount?this._arrowSelectionCount=0:this._arrowSelectionCount=(this._arrowSelectionCount-1+a.children.length)%a.children.length),"ArrowDown"===e.key&&(-1===this._arrowSelectionCount?this._arrowSelectionCount=0:this._arrowSelectionCount=(this._arrowSelectionCount+1+a.children.length)%a.children.length));for(const e of null!==(n=null==a?void 0:a.children)&&void 0!==n?n:[]){const t=e;t.setAttribute("aria-selected","false"),t.blur(),t.removeAttribute("tabindex")}const t=a.children[this._arrowSelectionCount];t&&(t.setAttribute("tabindex","0"),t.focus(),t.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"}),t.setAttribute("aria-selected","true"),this.input.setAttribute("aria-activedescendant",null==t?void 0:t.id))}}filterPeople(e){const t=[];if(e&&e.length>0){e=e.filter(e=>e);const n=this.selectedPeople.map(e=>e.id?e.id:e.displayName),a=e.filter(e=>(null==e?void 0:e.id)?-1===n.indexOf(e.id):-1===n.indexOf(null==e?void 0:e.displayName)),i=new Set;for(const e of a){const t=JSON.stringify(e);i.add(t)}i.forEach(e=>{const n=JSON.parse(e);t.push(n)})}return t}handleSectionScroll(e){const t=this.renderRoot.querySelector(".flyout-root");t&&(e.deltaY<0&&0===t.scrollTop||e.deltaY>0&&t.clientHeight+t.scrollTop>=t.scrollHeight-1||e.stopPropagation())}}Xe([Object(f.b)({attribute:"group-id",converter:e=>e.trim()}),Ze("design:type",String),Ze("design:paramtypes",[Object])],tt.prototype,"groupId",null),Xe([Object(f.b)({attribute:"group-ids",converter:e=>e.split(",").map(e=>e.trim())}),Ze("design:type",Array),Ze("design:paramtypes",[Object])],tt.prototype,"groupIds",null),Xe([Object(f.b)({attribute:"type",converter:e=>(e=e.toLowerCase())&&0!==e.length?void 0===I.a[e]?I.a.any:I.a[e]:I.a.any}),Ze("design:type",Object),Ze("design:paramtypes",[Object])],tt.prototype,"type",null),Xe([Object(f.b)({attribute:"group-type",converter:e=>{if(!e||0===e.length)return Re.any;const t=e.split(","),n=[];for(let e of t)e=e.trim(),void 0!==Re[e]&&n.push(Re[e]);return 0===n.length?Re.any:n.reduce((e,t)=>e|t)}}),Ze("design:type",Number),Ze("design:paramtypes",[Object])],tt.prototype,"groupType",null),Xe([Object(f.b)({attribute:"user-type",converter:e=>(e=e.toLowerCase())&&void 0!==I.b[e]?I.b[e]:I.b.any}),Ze("design:type",String),Ze("design:paramtypes",[Object])],tt.prototype,"userType",null),Xe([Object(f.b)({attribute:"transitive-search",type:Boolean}),Ze("design:type",Boolean),Ze("design:paramtypes",[Boolean])],tt.prototype,"transitiveSearch",null),Xe([Object(f.b)({attribute:"people",type:Object}),Ze("design:type",Array),Ze("design:paramtypes",[Array])],tt.prototype,"people",null),Xe([Object(f.b)({attribute:"show-max",type:Number}),Ze("design:type",Number),Ze("design:paramtypes",[Number])],tt.prototype,"showMax",null),Xe([Object(f.b)({attribute:"disable-images",type:Boolean}),Ze("design:type",Boolean)],tt.prototype,"disableImages",void 0),Xe([Object(f.b)({attribute:"show-presence",type:Boolean}),Ze("design:type",Boolean)],tt.prototype,"showPresence",void 0),Xe([Object(f.b)({attribute:"selected-people",type:Array}),Ze("design:type",Array),Ze("design:paramtypes",[Array])],tt.prototype,"selectedPeople",null),Xe([Object(f.b)({attribute:"default-selected-user-ids",converter:e=>e.split(",").map(e=>e.trim()),type:String}),Ze("design:type",Array),Ze("design:paramtypes",[Object])],tt.prototype,"defaultSelectedUserIds",null),Xe([Object(f.b)({attribute:"default-selected-group-ids",converter:e=>e.split(",").map(e=>e.trim()),type:String}),Ze("design:type",Array),Ze("design:paramtypes",[Object])],tt.prototype,"defaultSelectedGroupIds",null),Xe([Object(f.b)({attribute:"placeholder",type:String}),Ze("design:type",String)],tt.prototype,"placeholder",void 0),Xe([Object(f.b)({attribute:"disabled",type:Boolean}),Ze("design:type",Boolean)],tt.prototype,"disabled",void 0),Xe([Object(f.b)({attribute:"allow-any-email",type:Boolean}),Ze("design:type",Boolean)],tt.prototype,"allowAnyEmail",void 0),Xe([Object(f.b)({attribute:"selection-mode",type:String}),Ze("design:type",String)],tt.prototype,"selectionMode",void 0),Xe([Object(f.b)({attribute:"user-ids",converter:e=>e.split(",").map(e=>e.trim()),type:String}),Ze("design:type",Array),Ze("design:paramtypes",[Array])],tt.prototype,"userIds",null),Xe([Object(f.b)({attribute:"user-filters"}),Ze("design:type",String),Ze("design:paramtypes",[String])],tt.prototype,"userFilters",null),Xe([Object(f.b)({attribute:"people-filters"}),Ze("design:type",String),Ze("design:paramtypes",[String])],tt.prototype,"peopleFilters",null),Xe([Object(f.b)({attribute:"group-filters"}),Ze("design:type",String),Ze("design:paramtypes",[String])],tt.prototype,"groupFilters",null),Xe([Object(f.b)({attribute:"aria-label",type:String}),Ze("design:type",String)],tt.prototype,"ariaLabel",void 0),Xe([Object(f.c)(),Ze("design:type",Boolean)],tt.prototype,"_showLoading",void 0),Xe([Object(f.c)(),Ze("design:type",Object)],tt.prototype,"_arrowSelectionCount",void 0),Xe([Object(f.c)(),Ze("design:type",Array)],tt.prototype,"_highlightedUsers",void 0),Xe([Object(f.c)(),Ze("design:type",Object)],tt.prototype,"_isFocused",void 0),Xe([Object(f.c)(),Ze("design:type",Object)],tt.prototype,"_setAnyEmail",void 0),Xe([Object(f.c)(),Ze("design:type",Array)],tt.prototype,"_foundPeople",void 0);const nt=[u.b` +:host([hidden]){display:none}:host{display:block;font-family:var(--default-font-family, "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, "BlinkMacSystemFont", "Roboto", "Helvetica Neue", sans-serif);font-size:var(--default-font-size,14px);--theme-primary-color:#0078d7;--theme-dark-color:#005a9e}:focus-visible{outline-color:var(--focus-ring-color,Highlight);outline-color:var(--focus-ring-color,-webkit-focus-ring-color);outline-style:var(--focus-ring-style,auto)}.ms-icon{display:inline-block;font-family:FabricMDL2Icons;font-style:normal;font-weight:400;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:4px 0}.error{background-color:#fde7e9;padding-block:8px;padding-inline:8px 12px}.ms-icon-chevron-down::before{content:"\\\e70d"}.ms-icon-chevron-up::before{content:"\\\e70e"}.ms-icon-contact::before{content:"\\\e77b"}.ms-icon-add-friend::before{content:"\\\e8fa"}.ms-icon-outlook-logo-inverser::before{content:"\\\eb6d"}:host{background-color:var(--tasks-background-color,transparent);padding:var(--tasks-padding,12px);border:var(--tasks-border,0);border-radius:var(--tasks-border-radius,0);font-family:var(--default-font-family);--skeleton-fill:var(--neutral-foreground-active)}:host .header{display:flex;align-items:center;justify-content:space-between;padding:var(--tasks-header-padding,0 0 14px 0);margin:var(--tasks-header-padding,0 0 14px 0);font-size:var(--tasks-header-font-size,16px);font-weight:var(--tasks-header-font-weight,600);color:var(--tasks-header-text-color,var(--neutral-foreground-hint))}:host .header:hover{color:var(--tasks-header-text-hover-color,var(--neutral-foreground-hover))}:host .header .title{justify-content:left;display:flex;align-items:center}:host .header .title .shimmer{width:80px;height:20px}:host .header .title svg{margin-top:3px;padding:0 4px;width:16px;height:16px}:host .header .new-task-button{justify-content:right}:host .header .new-task-button .shimmer{width:40px;height:24px}:host .header .new-task-button::part(control){font-weight:var(--tasks-new-button-text-font-weight,700);color:var(--tasks-new-button-text-color,var(--foreground-on-accent-rest));width:var(--tasks-new-button-width,none);height:var(--tasks-new-button-height,none);background:var(--tasks-new-button-background,padding-box linear-gradient(var(--accent-fill-rest),var(--accent-fill-rest)),border-box var(--accent-stroke-control-rest))}:host .header .new-task-button::part(control):hover{background:var(--tasks-new-button-background-hover,var(--accent-fill-hover))}:host .header .new-task-button::part(control):active{background:var(--tasks-new-button-background-active,var(--accent-fill-active))}:host .tasks{display:flex;flex-direction:column;row-gap:var(--tasks-gap,20px)}:host .tasks .task{display:flex;column-gap:4px;align-items:flex-start;justify-content:space-between}:host .tasks .task.updating{background:var(--neutral-stroke-rest)!important;pointer-events:none;opacity:.4}:host .tasks .task.complete{border:var(--task-complete-border,2px dotted var(--neutral-foreground-active));border-radius:var(--task-complete-border-radius,4px);background:var(--task-complete-background-color,transparent);padding:var(--task-complete-padding,10px)}:host .tasks .task.incomplete{border:var(--task-incomplete-border,1px solid var(--neutral-foreground-active));border-radius:var(--task-complete-border-radius,4px);background:var(--task-incomplete-background-color,var(--neutral-layer-1));padding:var(--task-incomplete-padding,10px)}:host .tasks .task .task-details-container{display:flex;flex-direction:column;row-gap:12px;width:100%}:host .tasks .task .task-details-container .top{display:flex;justify-content:space-between;column-gap:4px}:host .tasks .task .task-details-container .top.add-new-task{flex-direction:row}:host .tasks .task .task-details-container .top .check-and-title{display:flex;align-items:flex-start;flex-direction:column;width:100%;row-gap:12px}:host .tasks .task .task-details-container .top .check-and-title.shimmer{display:flex;flex-direction:inherit;gap:10px}:host .tasks .task .task-details-container .top .check-and-title.shimmer .checkbox{height:10px;width:10px}:host .tasks .task .task-details-container .top .check-and-title.shimmer .title{height:10px;width:100%}:host .tasks .task .task-details-container .top .check-and-title .task-content{display:grid;grid-template-columns:repeat(auto-fit,250px);gap:12px;justify-content:start;width:100%}:host .tasks .task .task-details-container .top .check-and-title .task-content .picker{max-width:250px}:host .tasks .task .task-details-container .top .check-and-title .task-content .task-due fluent-text-field.dark::part(control){color-scheme:dark}:host .tasks .task .task-details-container .top .task-options .options{height:10px;width:20px}:host .tasks .task .task-details-container .top .task-options.new-task-action-buttons{display:flex;flex-direction:column;row-gap:12px}:host .tasks .task .task-details-container .bottom{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;grid-column-gap:6px}:host .tasks .task .task-details-container .bottom .task-bucket,:host .tasks .task .task-details-container .bottom .task-due,:host .tasks .task .task-details-container .bottom .task-group{display:flex;align-items:center;gap:6px}:host .tasks .task .task-details-container .bottom .task-bucket .task-icon,:host .tasks .task .task-details-container .bottom .task-due .task-icon,:host .tasks .task .task-details-container .bottom .task-group .task-icon{display:flex;place-content:center;width:var(--task-icons-width,20px);height:var(--task-icons-height,20px)}:host .tasks .task .task-details-container .bottom .task-bucket .task-icon .shimmer.icon,:host .tasks .task .task-details-container .bottom .task-due .task-icon .shimmer.icon,:host .tasks .task .task-details-container .bottom .task-group .task-icon .shimmer.icon{width:20px;height:20px}:host .tasks .task .task-details-container .bottom .task-bucket .task-icon svg,:host .tasks .task .task-details-container .bottom .task-due .task-icon svg,:host .tasks .task .task-details-container .bottom .task-group .task-icon svg{width:var(--task-icons-width,20px);height:var(--task-icons-height,20px)}:host .tasks .task .task-details-container .bottom .task-bucket .task-icon svg path,:host .tasks .task .task-details-container .bottom .task-due .task-icon svg path,:host .tasks .task .task-details-container .bottom .task-group .task-icon svg path{fill:var(--task-icons-background-color,var(--neutral-foreground-hint))}:host .tasks .task .task-details-container .bottom .task-bucket .task-icon-text,:host .tasks .task .task-details-container .bottom .task-due .task-icon-text,:host .tasks .task .task-details-container .bottom .task-group .task-icon-text{color:var(--task-icons-text-font-color,var(--neutral-foreground-hint));font-size:var(--task-icons-text-font-size,12px);font-weight:var(--task-icons-text-font-weight,600);white-space:normal;width:100%}:host .tasks .task .task-details-container .bottom .task-bucket .task-icon-text .shimmer.text,:host .tasks .task .task-details-container .bottom .task-due .task-icon-text .shimmer.text,:host .tasks .task .task-details-container .bottom .task-group .task-icon-text .shimmer.text{width:100%;height:10px}:host .tasks .task .task-details-container .task-details{display:flex;flex-direction:column;row-gap:8px}:host .tasks .task .task-details-container .task-details.shimmer{flex-direction:row;place-items:center;column-gap:6px}:host .tasks .task .task-details-container .task-details.shimmer .shimmer.icon{width:24px;height:24px}:host .tasks .task .task-details-container .task-details.shimmer .shimmer.text{width:100%;height:10px}:host .tasks .task .task-details-container .task-details .task-title{color:var(--foreground-on-neutral-rest)}:host .tasks .task .task-details-container .task-details .task-body{display:flex}:host fluent-button.add-task::part(control){font-weight:var(--task-add-new-button-text-font-weight,initial);color:var(--task-add-new-button-text-color,var(--neutral-foreground-rest));width:var(--task-add-new-button-width,none);height:var(--task-add-new-button-height,none);background:var(--task-add-new-button-background,padding-box linear-gradient(var(--neutral-fill-active),var(--neutral-fill-active)),border-box var(--neutral-stroke-control-active));border:var(--task-add-new-button-border,calc(var(--stroke-width) * 1px) solid transparent)}:host fluent-button.add-task::part(control):hover{background:var(--task-add-new-button-background-hover,padding-box linear-gradient(var(--neutral-fill-hover),var(--neutral-fill-hover)),border-box var(--neutral-stroke-control-hover))}:host fluent-button.add-task::part(control):active{background:var(--task-add-new-button-background-active,padding-box linear-gradient(var(--neutral-fill-active),var(--neutral-fill-active)),border-box var(--neutral-stroke-control-active))}:host fluent-button.cancel-task::part(control){font-weight:var(--task-cancel-new-button-text-font-weight,initial);color:var(--task-cancel-new-button-text-color,var(--neutral-foreground-rest));width:var(--task-cancel-new-button-width,none);height:var(--task-cancel-new-button-height,none);background:var(--task-cancel-new-button-background,padding-box linear-gradient(var(--neutral-fill-active),var(--neutral-fill-active)),border-box var(--neutral-stroke-control-active));border:var(--task-cancel-new-button-border,calc(var(--stroke-width) * 1px) solid transparent)}:host fluent-button.cancel-task::part(control):hover{background:var(--task-cancel-new-button-background-hover,padding-box linear-gradient(var(--neutral-fill-hover),var(--neutral-fill-hover)),border-box var(--neutral-stroke-control-hover))}:host fluent-button.cancel-task::part(control):active{background:var(--task-cancel-new-button-background-active,padding-box linear-gradient(var(--neutral-fill-active),var(--neutral-fill-active)),border-box var(--neutral-stroke-control-active))}:host fluent-option{background:var(--task-new-dropdown-list-background-color,var(--fill-color))}:host fluent-option:hover{background:var(--task-new-dropdown-option-hover-background-color,var(--neutral-fill-stealth-hover))}:host fluent-option::part(content){color:var(--task-new-dropdown-option-text-color,var(--neutral-foreground-rest))}:host fluent-select::part(listbox){background:var(--task-new-dropdown-list-background-color,var(--fill-color))}:host fluent-select::part(control){border:var(--task-new-dropdown-border,calc(var(--stroke-width) * 1px) solid transparent);border-radius:var(--task-new-dropdown-border-radius,calc(var(--control-corner-radius) * 1px));background:var(--task-new-dropdown-background-color,padding-box linear-gradient(var(--neutral-fill-input-rest),var(--neutral-fill-input-rest)),border-box var(--neutral-stroke-input-rest))}:host fluent-select::part(control):hover{background:var(--task-new-dropdown-hover-background-color,padding-box linear-gradient(var(--neutral-fill-input-hover),var(--neutral-fill-input-hover)),border-box var(--neutral-stroke-input-hover))}:host fluent-select::part(control)::placeholder{color:var(--task-new-dropdown-placeholder-color,var(--input-placeholder-rest))}:host fluent-checkbox{padding-top:1px}:host fluent-checkbox::part(control){border-radius:50%;background:var(--task-incomplete-checkbox-background-color,var(--neutral-fill-input-alt-rest))}:host fluent-checkbox::part(control):hover{background:var(--task-incomplete-checkbox-background-hover-color,var(--neutral-fill-input-alt-hover))}:host fluent-checkbox::part(label){font-size:var(--task-title-text-font-size,medium);font-weight:var(--task-title-text-font-weight,600);color:var(--task-incomplete-title-text-color,var(var(--neutral-foreground-rest)))}:host fluent-checkbox.checked::part(control){background:var(--task-complete-checkbox-background-color,var(--accent-fill-rest));color:var(--task-complete-checkbox-text-color,currentColor)}:host fluent-checkbox.checked::part(label){text-decoration:line-through;color:var(--task-complete-title-text-color,var(--neutral-foreground-hint))}:host fluent-text-field.new-task{width:100%}:host fluent-text-field.new-task::part(root){border:var(--task-new-input-border,calc(var(--stroke-width) * 1px) solid transparent);border-radius:var(--task-new-input-border-radius,calc(var(--control-corner-radius) * 1px));background:var(--task-new-input-background-color,padding-box linear-gradient(var(--neutral-fill-input-rest),var(--neutral-fill-input-rest)),border-box var(--neutral-stroke-input-rest))}:host fluent-text-field.new-task::part(root):hover{background:var(--task-new-input-hover-background-color,padding-box linear-gradient(var(--neutral-fill-input-hover),var(--neutral-fill-input-hover)),border-box var(--neutral-stroke-input-hover))}:host fluent-text-field.new-task::part(root)::placeholder{color:var(--task-new-input-placeholder-color,var(--input-placeholder-rest))}:host .people [slot=no-data] fluent-button::part(control){color:var(--task-new-person-icon-text-color,var(--neutral-foreground-hint))}:host .people [slot=no-data] svg{fill:var(--task-new-person-icon-color,var(--neutral-foreground-hint))}@media only screen and (width <= 600px){:host fluent-select{width:100%}:host .tasks .task .task-details-container .bottom{display:grid;grid-auto-flow:row;grid-auto-columns:unset;row-gap:4px}:host .tasks .task .task-details-container .bottom .ask-bucket,:host .tasks .task .task-details-container .bottom .ask-due,:host .tasks .task .task-details-container .bottom .ask-group{margin-inline-start:8px}:host .tasks .task .task-details-container .top.add-new-task{flex-direction:column;row-gap:12px}:host .tasks .task .task-details-container .top.add-new-task .check-and-title .task-content{display:grid;grid-auto-flow:row;row-gap:12px;width:100%}:host .tasks .task .task-details-container .top.add-new-task .task-options.new-task-action-buttons{flex-direction:row;column-gap:4px}} +`],at={removeTaskSubtitle:"Delete Task",cancelNewTaskSubtitle:"Cancel",newTaskPlaceholder:"Adding a task...",addTaskButtonSubtitle:"Add",due:"Due ",addTaskDate:"Add the task date",assign:"Assign"};var it=n("pnUA"),rt=function(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})};const ot=(e,t,n)=>rt(void 0,void 0,void 0,function*(){const a={assignments:n,appliedCategories:{category4:!0}};yield st(e,t,a)}),st=(e,t,n)=>rt(void 0,void 0,void 0,function*(){let a;try{a=yield e.api(`/planner/tasks/${t.id}`).header("Cache-Control","no-store").middlewareOptions(Object(b.a)("Group.ReadWrite.All")).header("Prefer","return=representation").header("If-Match",t.eTag).update(n)}catch(e){}return a});var ct=function(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})};const dt=(e,t,n,a)=>ct(void 0,void 0,void 0,function*(){return yield e.api(`/me/outlook/tasks/${t}`).header("Cache-Control","no-store").header("If-Match",a).middlewareOptions(Object(b.a)("Tasks.ReadWrite")).patch(n)});var lt=function(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})};class ut{constructor(e){this.graph=it.a.fromGraph(e)}}class ft extends ut{getTaskGroups(){return lt(this,void 0,void 0,function*(){var e;return(yield(e=this.graph,rt(void 0,void 0,void 0,function*(){const t=yield e.api("/me/planner/plans").header("Cache-Control","no-store").middlewareOptions(Object(b.a)("Group.Read.All")).get();return null==t?void 0:t.value}))).map(e=>{var t;return{id:e.id,title:e.title,containerId:null===(t=null==e?void 0:e.container)||void 0===t?void 0:t.containerId}})})}getTaskGroupsForGroup(e){return lt(this,void 0,void 0,function*(){var t,n;return(yield(t=this.graph,n=e,rt(void 0,void 0,void 0,function*(){const e=`/groups/${n}/planner/plans`,a=yield t.api(e).header("Cache-Control","no-store").middlewareOptions(Object(b.a)("Group.Read.All")).get();return null==a?void 0:a.value}))).map(e=>({id:e.id,title:e.title}))})}getTaskGroup(e){return lt(this,void 0,void 0,function*(){const t=yield(n=this.graph,a=e,rt(void 0,void 0,void 0,function*(){return yield n.api(`/planner/plans/${a}`).header("Cache-Control","no-store").middlewareOptions(Object(b.a)("Group.Read.All")).get()}));var n,a;return{id:t.id,title:t.title,_raw:t}})}getTaskFoldersForTaskGroup(e){return lt(this,void 0,void 0,function*(){var t,n;return(yield(t=this.graph,n=e,rt(void 0,void 0,void 0,function*(){const e=yield t.api(`/planner/plans/${n}/buckets`).header("Cache-Control","no-store").middlewareOptions(Object(b.a)("Group.Read.All")).get();return null==e?void 0:e.value}))).map(e=>({_raw:e,id:e.id,name:e.name,parentId:e.planId}))})}getTasksForTaskFolder(e){return lt(this,void 0,void 0,function*(){var t,n;return(yield(t=this.graph,n=e,rt(void 0,void 0,void 0,function*(){const e=yield t.api(`/planner/buckets/${n}/tasks`).header("Cache-Control","no-store").middlewareOptions(Object(b.a)("Group.Read.All")).get();return null==e?void 0:e.value}))).map(e=>({_raw:e,assignments:e.assignments,completed:100===e.percentComplete,dueDate:e.dueDateTime&&new Date(e.dueDateTime),eTag:e["@odata.etag"],id:e.id,immediateParentId:e.bucketId,name:e.title,topParentId:e.planId}))})}setTaskComplete(e){return lt(this,void 0,void 0,function*(){return yield((e,t)=>rt(void 0,void 0,void 0,function*(){yield st(e,t,{percentComplete:100})}))(this.graph,e)})}setTaskIncomplete(e){return lt(this,void 0,void 0,function*(){return((e,t)=>rt(void 0,void 0,void 0,function*(){yield st(e,t,{percentComplete:0})}))(this.graph,e)})}addTask(e){var t;return lt(this,void 0,void 0,function*(){return yield((e,t)=>rt(void 0,void 0,void 0,function*(){return yield e.api("/planner/tasks").header("Cache-Control","no-store").middlewareOptions(Object(b.a)("Group.ReadWrite.All")).post(t)}))(this.graph,{assignments:e.assignments,bucketId:e.immediateParentId,dueDateTime:null===(t=e.dueDate)||void 0===t?void 0:t.toISOString(),planId:e.topParentId,title:e.name})})}assignPeopleToTask(e,t){return lt(this,void 0,void 0,function*(){return ot(this.graph,e,t)})}removeTask(e){return lt(this,void 0,void 0,function*(){return yield((e,t)=>rt(void 0,void 0,void 0,function*(){yield e.api(`/planner/tasks/${t.id}`).header("Cache-Control","no-store").header("If-Match",t.eTag).middlewareOptions(Object(b.a)("Group.ReadWrite.All")).delete()}))(this.graph,e)})}isAssignedToMe(e,t){return Object.keys(e.assignments).includes(t)}}class pt extends ut{getTaskGroups(){return lt(this,void 0,void 0,function*(){var e;return(yield(e=this.graph,ct(void 0,void 0,void 0,function*(){const t=yield e.api("/me/outlook/taskGroups").header("Cache-Control","no-store").middlewareOptions(Object(b.a)("Tasks.Read")).get();return null==t?void 0:t.value}))).map(e=>({_raw:e,id:e.id,secondaryId:e.groupKey,title:e.name}))})}getTaskGroup(e){return lt(this,void 0,void 0,function*(){const t=yield(n=this.graph,a=e,ct(void 0,void 0,void 0,function*(){return yield n.api(`/me/outlook/taskGroups/${a}`).header("Cache-Control","no-store").middlewareOptions(Object(b.a)("Tasks.Read")).get()}));var n,a;return{id:t.id,secondaryId:t.groupKey,title:t.name,_raw:t}})}getTaskFoldersForTaskGroup(e){return lt(this,void 0,void 0,function*(){var t,n;return(yield(t=this.graph,n=e,ct(void 0,void 0,void 0,function*(){const e=yield t.api(`/me/outlook/taskGroups/${n}/taskFolders`).header("Cache-Control","no-store").middlewareOptions(Object(b.a)("Tasks.Read")).get();return null==e?void 0:e.value}))).map(t=>({_raw:t,id:t.id,name:t.name,parentId:e}))})}getTasksForTaskFolder(e,t){return lt(this,void 0,void 0,function*(){var n,a;return(yield(n=this.graph,a=e,ct(void 0,void 0,void 0,function*(){const e=yield n.api(`/me/outlook/taskFolders/${a}/tasks`).header("Cache-Control","no-store").middlewareOptions(Object(b.a)("Tasks.Read")).get();return null==e?void 0:e.value}))).map(n=>({_raw:n,assignments:{},completed:!!n.completedDateTime,dueDate:n.dueDateTime&&new Date(n.dueDateTime.dateTime+"Z"),eTag:n["@odata.etag"],id:n.id,immediateParentId:e,name:n.subject,topParentId:t}))})}setTaskComplete(e){return lt(this,void 0,void 0,function*(){var t,n,a;yield(t=this.graph,n=e.id,a=e.eTag,ct(void 0,void 0,void 0,function*(){return yield dt(t,n,{isReminderOn:!1,status:"completed"},a)}))})}assignPeopleToTask(e,t){return lt(this,void 0,void 0,function*(){return yield ot(this.graph,e,t)})}setTaskIncomplete(e){return lt(this,void 0,void 0,function*(){var t,n,a;yield(t=this.graph,n=e.id,a=e.eTag,ct(void 0,void 0,void 0,function*(){return yield dt(t,n,{isReminderOn:!0,status:"notStarted"},a)}))})}addTask(e){return lt(this,void 0,void 0,function*(){const t={parentFolderId:e.immediateParentId,subject:e.name};return e.dueDate&&(t.dueDateTime={dateTime:e.dueDate.toISOString(),timeZone:"UTC"}),yield((e,t)=>ct(void 0,void 0,void 0,function*(){const{parentFolderId:n=null}=t;return n?yield e.api(`/me/outlook/taskFolders/${n}/tasks`).header("Cache-Control","no-store").middlewareOptions(Object(b.a)("Tasks.ReadWrite")).post(t):yield e.api("/me/outlook/tasks").header("Cache-Control","no-store").middlewareOptions(Object(b.a)("Tasks.ReadWrite")).post(t)}))(this.graph,t)})}removeTask(e){return lt(this,void 0,void 0,function*(){return yield(t=this.graph,n=e.id,a=e.eTag,ct(void 0,void 0,void 0,function*(){yield t.api(`/me/outlook/tasks/${n}`).header("Cache-Control","no-store").header("If-Match",a).middlewareOptions(Object(b.a)("Tasks.ReadWrite")).delete()}));var t,n,a})}isAssignedToMe(e,t){return Object.keys(e.assignments).includes(t)}getTaskGroupsForGroup(e){return lt(this,void 0,void 0,function*(){return Promise.resolve(void 0)})}}var mt=n("Kct4"),_t=n("i2HT");const ht=e=>{const t=Ee.o.getValueFor(e);return Object(mt.a)(_t.a.create(t,t,t))};var bt=n("3rEL"),gt=n("o87Z");class vt extends Ce{}class yt extends(Object(gt.b)(vt)){constructor(){super(...arguments),this.proxy=document.createElement("select")}}const St="above",Dt="below";class It extends yt{constructor(){super(...arguments),this.open=!1,this.forcedPosition=!1,this.listboxId=Object(le.a)("listbox-"),this.maxHeight=0}openChanged(e,t){if(this.collapsible){if(this.open)return this.ariaControls=this.listboxId,this.ariaExpanded="true",this.setPositioning(),this.focusAndScrollOptionIntoView(),this.indexWhenOpened=this.selectedIndex,void Ie.a.queueUpdate(()=>this.focus());this.ariaControls="",this.ariaExpanded="false"}}get collapsible(){return!(this.multiple||"number"==typeof this.size)}get value(){return se.b.track(this,"value"),this._value}set value(e){var t,n,a,i,r,o,s;const c=`${this._value}`;if(null===(t=this._options)||void 0===t?void 0:t.length){const t=this._options.findIndex(t=>t.value===e),c=null!==(a=null===(n=this._options[this.selectedIndex])||void 0===n?void 0:n.value)&&void 0!==a?a:null,d=null!==(r=null===(i=this._options[t])||void 0===i?void 0:i.value)&&void 0!==r?r:null;-1!==t&&c===d||(e="",this.selectedIndex=t),e=null!==(s=null===(o=this.firstSelectedOption)||void 0===o?void 0:o.value)&&void 0!==s?s:e}c!==e&&(this._value=e,super.valueChanged(c,e),se.b.notify(this,"value"),this.updateDisplayValue())}updateValue(e){var t,n;this.$fastController.isConnected&&(this.value=null!==(n=null===(t=this.firstSelectedOption)||void 0===t?void 0:t.value)&&void 0!==n?n:""),e&&(this.$emit("input"),this.$emit("change",this,{bubbles:!0,composed:void 0}))}selectedIndexChanged(e,t){super.selectedIndexChanged(e,t),this.updateValue()}positionChanged(e,t){this.positionAttribute=t,this.setPositioning()}setPositioning(){const e=this.getBoundingClientRect(),t=window.innerHeight-e.bottom;this.position=this.forcedPosition?this.positionAttribute:e.top>t?St:Dt,this.positionAttribute=this.forcedPosition?this.positionAttribute:this.position,this.maxHeight=this.position===St?~~e.top:~~t}get displayValue(){var e,t;return se.b.track(this,"displayValue"),null!==(t=null===(e=this.firstSelectedOption)||void 0===e?void 0:e.text)&&void 0!==t?t:""}disabledChanged(e,t){super.disabledChanged&&super.disabledChanged(e,t),this.ariaDisabled=this.disabled?"true":"false"}formResetCallback(){this.setProxyOptions(),super.setDefaultSelectedOption(),-1===this.selectedIndex&&(this.selectedIndex=0)}clickHandler(e){if(!this.disabled){if(this.open){const t=e.target.closest("option,[role=option]");if(t&&t.disabled)return}return super.clickHandler(e),this.open=this.collapsible&&!this.open,this.open||this.indexWhenOpened===this.selectedIndex||this.updateValue(!0),!0}}focusoutHandler(e){var t;if(super.focusoutHandler(e),!this.open)return!0;const n=e.relatedTarget;this.isSameNode(n)?this.focus():(null===(t=this.options)||void 0===t?void 0:t.includes(n))||(this.open=!1,this.indexWhenOpened!==this.selectedIndex&&this.updateValue(!0))}handleChange(e,t){super.handleChange(e,t),"value"===t&&this.updateValue()}slottedOptionsChanged(e,t){this.options.forEach(e=>{se.b.getNotifier(e).unsubscribe(this,"value")}),super.slottedOptionsChanged(e,t),this.options.forEach(e=>{se.b.getNotifier(e).subscribe(this,"value")}),this.setProxyOptions(),this.updateValue()}mousedownHandler(e){var t;return e.offsetX>=0&&e.offsetX<=(null===(t=this.listbox)||void 0===t?void 0:t.scrollWidth)?super.mousedownHandler(e):this.collapsible}multipleChanged(e,t){super.multipleChanged(e,t),this.proxy&&(this.proxy.multiple=t)}selectedOptionsChanged(e,t){var n;super.selectedOptionsChanged(e,t),null===(n=this.options)||void 0===n||n.forEach((e,t)=>{var n;const a=null===(n=this.proxy)||void 0===n?void 0:n.options.item(t);a&&(a.selected=e.selected)})}setDefaultSelectedOption(){var e;const t=null!==(e=this.options)&&void 0!==e?e:Array.from(this.children).filter(ve.slottedOptionFilter),n=null==t?void 0:t.findIndex(e=>e.hasAttribute("selected")||e.selected||e.value===this.value);this.selectedIndex=-1===n?0:n}setProxyOptions(){this.proxy instanceof HTMLSelectElement&&this.options&&(this.proxy.options.length=0,this.options.forEach(e=>{const t=e.proxy||(e instanceof HTMLOptionElement?e.cloneNode():null);t&&this.proxy.options.add(t)}))}keydownHandler(e){super.keydownHandler(e);const t=e.key||e.key.charCodeAt(0);switch(t){case de.m:e.preventDefault(),this.collapsible&&this.typeAheadExpired&&(this.open=!this.open);break;case de.j:case de.f:e.preventDefault();break;case de.g:e.preventDefault(),this.open=!this.open;break;case de.h:this.collapsible&&this.open&&(e.preventDefault(),this.open=!1);break;case de.n:return this.collapsible&&this.open&&(e.preventDefault(),this.open=!1),!0}return this.open||this.indexWhenOpened===this.selectedIndex||(this.updateValue(!0),this.indexWhenOpened=this.selectedIndex),!(t===de.b||t===de.e)}connectedCallback(){super.connectedCallback(),this.forcedPosition=!!this.positionAttribute,this.addEventListener("contentchange",this.updateDisplayValue)}disconnectedCallback(){this.removeEventListener("contentchange",this.updateDisplayValue),super.disconnectedCallback()}sizeChanged(e,t){super.sizeChanged(e,t),this.proxy&&(this.proxy.size=t)}updateDisplayValue(){this.collapsible&&se.b.notify(this,"displayValue")}}Object(oe.a)([Object(ce.c)({attribute:"open",mode:"boolean"})],It.prototype,"open",void 0),Object(oe.a)([se.e],It.prototype,"collapsible",null),Object(oe.a)([se.d],It.prototype,"control",void 0),Object(oe.a)([Object(ce.c)({attribute:"position"})],It.prototype,"positionAttribute",void 0),Object(oe.a)([se.d],It.prototype,"position",void 0),Object(oe.a)([se.d],It.prototype,"maxHeight",void 0);class xt{}Object(oe.a)([se.d],xt.prototype,"ariaControls",void 0),Object(_e.a)(xt,ye),Object(_e.a)(It,me.a,xt);var Ct=n("6vBc"),Ot=n("+53S"),wt=n("wHpb"),Et=n("2i1/"),At=n("oqLQ"),Lt=n("j9Xn"),kt=n("cQsl"),Mt=n("QkLF"),Pt=n("57ob"),Tt=n("NLdk"),Ut=n("81Gc"),Ft=n("KKsr");const Ht=".control",Rt=":not([disabled]):not([open])",Nt="[disabled]",Bt=(e,t)=>Oe.a` + ${Object(we.a)("inline-flex")} + + :host { + border-radius: calc(${Ee.q} * 1px); + box-sizing: border-box; + color: ${Ee.fb}; + fill: currentcolor; + font-family: ${Ee.p}; + position: relative; + user-select: none; + min-width: 250px; + vertical-align: top; + } + + .listbox { + box-shadow: ${kt.c}; + background: ${Ee.v}; + border-radius: calc(${Ee.D} * 1px); + box-sizing: border-box; + display: inline-flex; + flex-direction: column; + left: 0; + max-height: calc(var(--max-height) - (${Mt.a} * 1px)); + padding: calc((${Ee.s} - ${Ee.vb} ) * 1px); + overflow-y: auto; + position: absolute; + width: 100%; + z-index: 1; + margin: 1px 0; + border: calc(${Ee.vb} * 1px) solid transparent; + } + + .listbox[hidden] { + display: none; + } + + .control { + border: calc(${Ee.vb} * 1px) solid transparent; + border-radius: calc(${Ee.q} * 1px); + height: calc(${Mt.a} * 1px); + align-items: center; + box-sizing: border-box; + cursor: pointer; + display: flex; + ${Tt.a} + min-height: 100%; + padding: 0 calc(${Ee.s} * 2.25px); + width: 100%; + } + + :host(:${wt.a}) { + ${Ae.a} + } + + :host([disabled]) .control { + cursor: ${Et.a}; + opacity: ${Ee.u}; + user-select: none; + } + + :host([open][position='above']) .listbox { + bottom: calc((${Mt.a} + ${Ee.s} * 2) * 1px); + } + + :host([open][position='below']) .listbox { + top: calc((${Mt.a} + ${Ee.s} * 2) * 1px); + } + + .selected-value { + font-family: inherit; + flex: 1 1 auto; + text-align: start; + } + + .indicator { + flex: 0 0 auto; + margin-inline-start: 1em; + } + + slot[name='listbox'] { + display: none; + width: 100%; + } + + :host([open]) slot[name='listbox'] { + display: flex; + position: absolute; + } + + .start { + margin-inline-end: 11px; + } + + .end { + margin-inline-start: 11px; + } + + .start, + .end, + .indicator, + ::slotted(svg) { + display: flex; + } + + ::slotted([role='option']) { + flex: 0 0 auto; + } + `;class jt extends It{appearanceChanged(e,t){e!==t&&(this.classList.add(t),this.classList.remove(e))}connectedCallback(){super.connectedCallback(),this.appearance||(this.appearance="outline"),this.listbox&&Ee.v.setValueFor(this.listbox,Ee.gb)}}Object(bt.a)([Object(ce.c)({mode:"fromView"})],jt.prototype,"appearance",void 0);const Vt=jt.compose({baseName:"select",baseClass:It,template:(e,t)=>Se.a` + +`,styles:(e,t)=>Bt().withBehaviors(Object(Pt.a)("outline",Object(Ut.c)(e,t,Rt,Nt)),Object(Pt.a)("filled",Object(Ft.b)(e,t,Ht,Rt).withBehaviors(Object(At.a)(Object(Ft.c)(e,t,Ht,Rt)))),Object(Pt.a)("stealth",Object(Ut.e)(e,t,Rt,Nt)),Object(At.a)(Oe.a` + :host([open]) .listbox { + background: ${Lt.a.ButtonFace}; + border-color: ${Lt.a.CanvasText}; + } + `)),indicator:'\n \n \n \n '});class zt{constructor(e,t){this.cache=new WeakMap,this.ltr=e,this.rtl=t}bind(e){this.attach(e)}unbind(e){const t=this.cache.get(e);t&&Ee.t.unsubscribe(t)}attach(e){const t=this.cache.get(e)||new Gt(this.ltr,this.rtl,e),n=Ee.t.getValueFor(e);Ee.t.subscribe(t),t.attach(n),this.cache.set(e,t)}}class Gt{constructor(e,t,n){this.ltr=e,this.rtl=t,this.source=n,this.attached=null}handleChange({target:e,token:t}){this.attach(t.getValueFor(this.source))}attach(e){this.attached!==this[e]&&(null!==this.attached&&this.source.$fastController.removeStyles(this.attached),this.attached=this[e],null!==this.attached&&this.source.$fastController.addStyles(this.attached))}}const Kt=be.compose({baseName:"option",template:(e,t)=>Se.a` + +`,styles:(e,t)=>Oe.a` + ${Object(we.a)("inline-flex")} :host { + position: relative; + ${Tt.a} + background: ${Ee.ab}; + border-radius: calc(${Ee.q} * 1px); + border: calc(${Ee.vb} * 1px) solid transparent; + box-sizing: border-box; + color: ${Ee.fb}; + cursor: pointer; + fill: currentcolor; + height: calc(${Mt.a} * 1px); + overflow: hidden; + align-items: center; + padding: 0 calc(((${Ee.s} * 3) - ${Ee.vb} - 1) * 1px); + user-select: none; + white-space: nowrap; + } + + :host::before { + content: ''; + display: block; + position: absolute; + left: calc((${Ee.y} - ${Ee.vb}) * 1px); + top: calc((${Mt.a} / 4) - ${Ee.y} * 1px); + width: 3px; + height: calc((${Mt.a} / 2) * 1px); + background: transparent; + border-radius: calc(${Ee.q} * 1px); + } + + :host(:not([disabled]):hover) { + background: ${Ee.Y}; + } + + :host(:not([disabled]):active) { + background: ${Ee.W}; + } + + :host(:not([disabled]):active)::before { + background: ${Ee.e}; + height: calc(((${Mt.a} / 2) - 6) * 1px); + } + + :host([aria-selected='true'])::before { + background: ${Ee.e}; + } + + :host(:${wt.a}) { + ${Ae.a} + background: ${Ee.X}; + } + + :host([aria-selected='true']) { + background: ${Ee.V}; + } + + :host(:not([disabled])[aria-selected='true']:hover) { + background: ${Ee.T}; + } + + :host(:not([disabled])[aria-selected='true']:active) { + background: ${Ee.R}; + } + + :host(:not([disabled]):not([aria-selected='true']):hover) { + background: ${Ee.Y}; + } + + :host(:not([disabled]):not([aria-selected='true']):active) { + background: ${Ee.W}; + } + + :host([disabled]) { + cursor: ${Et.a}; + opacity: ${Ee.u}; + } + + .content { + grid-column-start: 2; + justify-self: start; + overflow: hidden; + text-overflow: ellipsis; + } + + .start, + .end, + ::slotted(svg) { + display: flex; + } + + ::slotted([slot='end']) { + margin-inline-start: 1ch; + } + + ::slotted([slot='start']) { + margin-inline-end: 1ch; + } + `.withBehaviors(new zt(null,Oe.a` + :host::before { + right: calc((${Ee.y} - ${Ee.vb}) * 1px); + } + `),Object(At.a)(Oe.a` + :host { + background: ${Lt.a.ButtonFace}; + border-color: ${Lt.a.ButtonFace}; + color: ${Lt.a.ButtonText}; + } + :host(:not([disabled]):not([aria-selected="true"]):hover), + :host(:not([disabled])[aria-selected="true"]:hover), + :host([aria-selected="true"]) { + forced-color-adjust: none; + background: ${Lt.a.Highlight}; + color: ${Lt.a.HighlightText}; + } + :host(:not([disabled]):active)::before, + :host([aria-selected='true'])::before { + background: ${Lt.a.HighlightText}; + } + :host([disabled]), + :host([disabled]:not([aria-selected='true']):hover) { + background: ${Lt.a.Canvas}; + color: ${Lt.a.GrayText}; + fill: currentcolor; + opacity: 1; + } + :host(:${wt.a}) { + outline-color: ${Lt.a.CanvasText}; + } + `))});var Wt=n("kd7Q");class qt extends ue.a{constructor(){super(...arguments),this.shape="rect"}}Object(oe.a)([ce.c],qt.prototype,"fill",void 0),Object(oe.a)([ce.c],qt.prototype,"shape",void 0),Object(oe.a)([ce.c],qt.prototype,"pattern",void 0),Object(oe.a)([Object(ce.c)({mode:"boolean"})],qt.prototype,"shimmer",void 0);const Qt=qt.compose({baseName:"skeleton",template:(e,t)=>Se.a` + +`,styles:(e,t)=>Oe.a` + ${Object(we.a)("block")} :host { + --skeleton-fill-default: ${Ee.V}; + overflow: hidden; + width: 100%; + position: relative; + background-color: var(--skeleton-fill, var(--skeleton-fill-default)); + --skeleton-animation-gradient-default: linear-gradient( + 270deg, + var(--skeleton-fill, var(--skeleton-fill-default)) 0%, + ${Ee.T} 51%, + var(--skeleton-fill, var(--skeleton-fill-default)) 100% + ); + --skeleton-animation-timing-default: ease-in-out; + } + + :host(.rect) { + border-radius: calc(${Ee.q} * 1px); + } + + :host(.circle) { + border-radius: 100%; + overflow: hidden; + } + + object { + position: absolute; + width: 100%; + height: auto; + z-index: 2; + } + + object img { + width: 100%; + height: auto; + } + + ${Object(we.a)("block")} span.shimmer { + position: absolute; + width: 100%; + height: 100%; + background-image: var(--skeleton-animation-gradient, var(--skeleton-animation-gradient-default)); + background-size: 0px 0px / 90% 100%; + background-repeat: no-repeat; + background-color: var(--skeleton-animation-fill, ${Ee.V}); + animation: shimmer 2s infinite; + animation-timing-function: var(--skeleton-animation-timing, var(--skeleton-timing-default)); + animation-direction: normal; + z-index: 1; + } + + ::slotted(svg) { + z-index: 2; + } + + ::slotted(.pattern) { + width: 100%; + height: 100%; + } + + @keyframes shimmer { + 0% { + transform: translateX(-100%); + } + 100% { + transform: translateX(100%); + } + } + `.withBehaviors(Object(At.a)(Oe.a` + :host{ + background-color: ${Lt.a.CanvasText}; + } + `))}),Yt="menuitem",Jt="menuitemcheckbox",Xt="menuitemradio",Zt={[Yt]:"menuitem",[Jt]:"menuitemcheckbox",[Xt]:"menuitemradio"};var $t=n("qibw");const en=e=>{const t=e.closest("[dir]");return null!==t&&"rtl"===t.dir?$t.a.rtl:$t.a.ltr};class tn extends ue.a{constructor(){super(...arguments),this.role=Yt,this.hasSubmenu=!1,this.currentDirection=$t.a.ltr,this.focusSubmenuOnLoad=!1,this.handleMenuItemKeyDown=e=>{if(e.defaultPrevented)return!1;switch(e.key){case de.g:case de.m:return this.invoke(),!1;case de.d:return this.expandAndFocus(),!1;case de.c:if(this.expanded)return this.expanded=!1,this.focus(),!1}return!0},this.handleMenuItemClick=e=>(e.defaultPrevented||this.disabled||this.invoke(),!1),this.submenuLoaded=()=>{this.focusSubmenuOnLoad&&(this.focusSubmenuOnLoad=!1,this.hasSubmenu&&(this.submenu.focus(),this.setAttribute("tabindex","-1")))},this.handleMouseOver=e=>(this.disabled||!this.hasSubmenu||this.expanded||(this.expanded=!0),!1),this.handleMouseOut=e=>(!this.expanded||this.contains(document.activeElement)||(this.expanded=!1),!1),this.expandAndFocus=()=>{this.hasSubmenu&&(this.focusSubmenuOnLoad=!0,this.expanded=!0)},this.invoke=()=>{if(!this.disabled)switch(this.role){case Jt:this.checked=!this.checked;break;case Yt:this.updateSubmenu(),this.hasSubmenu?this.expandAndFocus():this.$emit("change");break;case Xt:this.checked||(this.checked=!0)}},this.updateSubmenu=()=>{this.submenu=this.domChildren().find(e=>"menu"===e.getAttribute("role")),this.hasSubmenu=void 0!==this.submenu}}expandedChanged(e){if(this.$fastController.isConnected){if(void 0===this.submenu)return;!1===this.expanded?this.submenu.collapseExpandedItem():this.currentDirection=en(this),this.$emit("expanded-change",this,{bubbles:!1})}}checkedChanged(e,t){this.$fastController.isConnected&&this.$emit("change")}connectedCallback(){super.connectedCallback(),Ie.a.queueUpdate(()=>{this.updateSubmenu()}),this.startColumnCount||(this.startColumnCount=1),this.observer=new MutationObserver(this.updateSubmenu)}disconnectedCallback(){super.disconnectedCallback(),this.submenu=void 0,void 0!==this.observer&&(this.observer.disconnect(),this.observer=void 0)}domChildren(){return Array.from(this.children).filter(e=>!e.hasAttribute("hidden"))}}Object(oe.a)([Object(ce.c)({mode:"boolean"})],tn.prototype,"disabled",void 0),Object(oe.a)([Object(ce.c)({mode:"boolean"})],tn.prototype,"expanded",void 0),Object(oe.a)([se.d],tn.prototype,"startColumnCount",void 0),Object(oe.a)([ce.c],tn.prototype,"role",void 0),Object(oe.a)([Object(ce.c)({mode:"boolean"})],tn.prototype,"checked",void 0),Object(oe.a)([se.d],tn.prototype,"submenuRegion",void 0),Object(oe.a)([se.d],tn.prototype,"hasSubmenu",void 0),Object(oe.a)([se.d],tn.prototype,"currentDirection",void 0),Object(oe.a)([se.d],tn.prototype,"submenu",void 0),Object(_e.a)(tn,me.a);class nn extends ue.a{constructor(){super(...arguments),this.expandedItem=null,this.focusIndex=-1,this.isNestedMenu=()=>null!==this.parentElement&&Object(fe.c)(this.parentElement)&&"menuitem"===this.parentElement.getAttribute("role"),this.handleFocusOut=e=>{if(!this.contains(e.relatedTarget)&&void 0!==this.menuItems){this.collapseExpandedItem();const e=this.menuItems.findIndex(this.isFocusableElement);this.menuItems[this.focusIndex].setAttribute("tabindex","-1"),this.menuItems[e].setAttribute("tabindex","0"),this.focusIndex=e}},this.handleItemFocus=e=>{const t=e.target;void 0!==this.menuItems&&t!==this.menuItems[this.focusIndex]&&(this.menuItems[this.focusIndex].setAttribute("tabindex","-1"),this.focusIndex=this.menuItems.indexOf(t),t.setAttribute("tabindex","0"))},this.handleExpandedChanged=e=>{if(e.defaultPrevented||null===e.target||void 0===this.menuItems||this.menuItems.indexOf(e.target)<0)return;e.preventDefault();const t=e.target;null===this.expandedItem||t!==this.expandedItem||!1!==t.expanded?t.expanded&&(null!==this.expandedItem&&this.expandedItem!==t&&(this.expandedItem.expanded=!1),this.menuItems[this.focusIndex].setAttribute("tabindex","-1"),this.expandedItem=t,this.focusIndex=this.menuItems.indexOf(t),t.setAttribute("tabindex","0")):this.expandedItem=null},this.removeItemListeners=()=>{void 0!==this.menuItems&&this.menuItems.forEach(e=>{e.removeEventListener("expanded-change",this.handleExpandedChanged),e.removeEventListener("focus",this.handleItemFocus)})},this.setItems=()=>{const e=this.domChildren();this.removeItemListeners(),this.menuItems=e;const t=this.menuItems.filter(this.isMenuItemElement);t.length&&(this.focusIndex=0);const n=t.reduce((e,t)=>{const n=function(e){const t=e.getAttribute("role"),n=e.querySelector("[slot=start]");return t!==Yt&&null===n||t===Yt&&null!==n?1:t!==Yt&&null!==n?2:0}(t);return e>n?e:n},0);t.forEach((e,t)=>{e.setAttribute("tabindex",0===t?"0":"-1"),e.addEventListener("expanded-change",this.handleExpandedChanged),e.addEventListener("focus",this.handleItemFocus),e instanceof tn&&(e.startColumnCount=n)})},this.changeHandler=e=>{if(void 0===this.menuItems)return;const t=e.target,n=this.menuItems.indexOf(t);if(-1!==n&&"menuitemradio"===t.role&&!0===t.checked){for(let e=n-1;e>=0;--e){const t=this.menuItems[e],n=t.getAttribute("role");if(n===Xt&&(t.checked=!1),"separator"===n)break}const e=this.menuItems.length-1;for(let t=n+1;t<=e;++t){const e=this.menuItems[t],n=e.getAttribute("role");if(n===Xt&&(e.checked=!1),"separator"===n)break}}},this.isMenuItemElement=e=>Object(fe.c)(e)&&nn.focusableElementRoles.hasOwnProperty(e.getAttribute("role")),this.isFocusableElement=e=>this.isMenuItemElement(e)}itemsChanged(e,t){this.$fastController.isConnected&&void 0!==this.menuItems&&this.setItems()}connectedCallback(){super.connectedCallback(),Ie.a.queueUpdate(()=>{this.setItems()}),this.addEventListener("change",this.changeHandler)}disconnectedCallback(){super.disconnectedCallback(),this.removeItemListeners(),this.menuItems=void 0,this.removeEventListener("change",this.changeHandler)}focus(){this.setFocus(0,1)}collapseExpandedItem(){null!==this.expandedItem&&(this.expandedItem.expanded=!1,this.expandedItem=null)}handleMenuKeyDown(e){if(!e.defaultPrevented&&void 0!==this.menuItems)switch(e.key){case de.b:return void this.setFocus(this.focusIndex+1,1);case de.e:return void this.setFocus(this.focusIndex-1,-1);case de.f:return void this.setFocus(this.menuItems.length-1,-1);case de.j:return void this.setFocus(0,1);default:return!0}}domChildren(){return Array.from(this.children).filter(e=>!e.hasAttribute("hidden"))}setFocus(e,t){if(void 0!==this.menuItems)for(;e>=0&&e-1&&this.menuItems.length>=this.focusIndex-1&&this.menuItems[this.focusIndex].setAttribute("tabindex","-1"),this.focusIndex=e,n.setAttribute("tabindex","0"),n.focus();break}e+=t}}}nn.focusableElementRoles=Zt,Object(oe.a)([se.d],nn.prototype,"items",void 0);const an="horizontal";class rn extends ue.a{constructor(){super(...arguments),this.role="separator",this.orientation=an}}Object(oe.a)([ce.c],rn.prototype,"role",void 0),Object(oe.a)([ce.c],rn.prototype,"orientation",void 0);const on=class extends nn{connectedCallback(){super.connectedCallback(),Ee.v.setValueFor(this,Ee.gb)}}.compose({baseName:"menu",baseClass:nn,template:(e,t)=>Se.a` + +`,styles:(e,t)=>Oe.a` + ${Object(we.a)("block")} :host { + background: ${Ee.gb}; + border: calc(${Ee.vb} * 1px) solid transparent; + border-radius: calc(${Ee.D} * 1px); + box-shadow: ${kt.c}; + padding: calc((${Ee.s} - ${Ee.vb}) * 1px) 0; + max-width: 368px; + min-width: 64px; + } + + :host([slot='submenu']) { + width: max-content; + margin: 0 calc(${Ee.s} * 2px); + } + + ::slotted(${e.tagFor(tn)}) { + margin: 0 calc(${Ee.s} * 1px); + } + + ::slotted(${e.tagFor(rn)}) { + margin: calc(${Ee.s} * 1px) 0; + } + + ::slotted(hr) { + box-sizing: content-box; + height: 0; + margin: calc(${Ee.s} * 1px) 0; + border: none; + border-top: calc(${Ee.vb} * 1px) solid ${Ee.mb}; + } + `.withBehaviors(Object(At.a)(Oe.a` + :host([slot='submenu']) { + background: ${Lt.a.Canvas}; + border-color: ${Lt.a.CanvasText}; + } + `))}),sn="focus",cn="focusin",dn="focusout",ln="keydown",un="resize",fn="scroll";var pn=n("oZuh");class mn extends ue.a{constructor(){super(...arguments),this.anchor="",this.viewport="",this.horizontalPositioningMode="uncontrolled",this.horizontalDefaultPosition="unset",this.horizontalViewportLock=!1,this.horizontalInset=!1,this.horizontalScaling="content",this.verticalPositioningMode="uncontrolled",this.verticalDefaultPosition="unset",this.verticalViewportLock=!1,this.verticalInset=!1,this.verticalScaling="content",this.fixedPlacement=!1,this.autoUpdateMode="anchor",this.anchorElement=null,this.viewportElement=null,this.initialLayoutComplete=!1,this.resizeDetector=null,this.baseHorizontalOffset=0,this.baseVerticalOffset=0,this.pendingPositioningUpdate=!1,this.pendingReset=!1,this.currentDirection=$t.a.ltr,this.regionVisible=!1,this.forceUpdate=!1,this.updateThreshold=.5,this.update=()=>{this.pendingPositioningUpdate||this.requestPositionUpdates()},this.startObservers=()=>{this.stopObservers(),null!==this.anchorElement&&(this.requestPositionUpdates(),null!==this.resizeDetector&&(this.resizeDetector.observe(this.anchorElement),this.resizeDetector.observe(this)))},this.requestPositionUpdates=()=>{null===this.anchorElement||this.pendingPositioningUpdate||(mn.intersectionService.requestPosition(this,this.handleIntersection),mn.intersectionService.requestPosition(this.anchorElement,this.handleIntersection),null!==this.viewportElement&&mn.intersectionService.requestPosition(this.viewportElement,this.handleIntersection),this.pendingPositioningUpdate=!0)},this.stopObservers=()=>{this.pendingPositioningUpdate&&(this.pendingPositioningUpdate=!1,mn.intersectionService.cancelRequestPosition(this,this.handleIntersection),null!==this.anchorElement&&mn.intersectionService.cancelRequestPosition(this.anchorElement,this.handleIntersection),null!==this.viewportElement&&mn.intersectionService.cancelRequestPosition(this.viewportElement,this.handleIntersection)),null!==this.resizeDetector&&this.resizeDetector.disconnect()},this.getViewport=()=>"string"!=typeof this.viewport||""===this.viewport?document.documentElement:document.getElementById(this.viewport),this.getAnchor=()=>document.getElementById(this.anchor),this.handleIntersection=e=>{this.pendingPositioningUpdate&&(this.pendingPositioningUpdate=!1,this.applyIntersectionEntries(e)&&this.updateLayout())},this.applyIntersectionEntries=e=>{const t=e.find(e=>e.target===this),n=e.find(e=>e.target===this.anchorElement),a=e.find(e=>e.target===this.viewportElement);return void 0!==t&&void 0!==a&&void 0!==n&&!!(!this.regionVisible||this.forceUpdate||void 0===this.regionRect||void 0===this.anchorRect||void 0===this.viewportRect||this.isRectDifferent(this.anchorRect,n.boundingClientRect)||this.isRectDifferent(this.viewportRect,a.boundingClientRect)||this.isRectDifferent(this.regionRect,t.boundingClientRect))&&(this.regionRect=t.boundingClientRect,this.anchorRect=n.boundingClientRect,this.viewportElement===document.documentElement?this.viewportRect=new DOMRectReadOnly(a.boundingClientRect.x+document.documentElement.scrollLeft,a.boundingClientRect.y+document.documentElement.scrollTop,a.boundingClientRect.width,a.boundingClientRect.height):this.viewportRect=a.boundingClientRect,this.updateRegionOffset(),this.forceUpdate=!1,!0)},this.updateRegionOffset=()=>{this.anchorRect&&this.regionRect&&(this.baseHorizontalOffset=this.baseHorizontalOffset+(this.anchorRect.left-this.regionRect.left)+(this.translateX-this.baseHorizontalOffset),this.baseVerticalOffset=this.baseVerticalOffset+(this.anchorRect.top-this.regionRect.top)+(this.translateY-this.baseVerticalOffset))},this.isRectDifferent=(e,t)=>Math.abs(e.top-t.top)>this.updateThreshold||Math.abs(e.right-t.right)>this.updateThreshold||Math.abs(e.bottom-t.bottom)>this.updateThreshold||Math.abs(e.left-t.left)>this.updateThreshold,this.handleResize=e=>{this.update()},this.reset=()=>{this.pendingReset&&(this.pendingReset=!1,null===this.anchorElement&&(this.anchorElement=this.getAnchor()),null===this.viewportElement&&(this.viewportElement=this.getViewport()),this.currentDirection=en(this),this.startObservers())},this.updateLayout=()=>{let e,t;if("uncontrolled"!==this.horizontalPositioningMode){const e=this.getPositioningOptions(this.horizontalInset);if("center"===this.horizontalDefaultPosition)t="center";else if("unset"!==this.horizontalDefaultPosition){let e=this.horizontalDefaultPosition;if("start"===e||"end"===e){const t=en(this);if(t!==this.currentDirection)return this.currentDirection=t,void this.initialize();e=this.currentDirection===$t.a.ltr?"start"===e?"left":"right":"start"===e?"right":"left"}switch(e){case"left":t=this.horizontalInset?"insetStart":"start";break;case"right":t=this.horizontalInset?"insetEnd":"end"}}const n=void 0!==this.horizontalThreshold?this.horizontalThreshold:void 0!==this.regionRect?this.regionRect.width:0,a=void 0!==this.anchorRect?this.anchorRect.left:0,i=void 0!==this.anchorRect?this.anchorRect.right:0,r=void 0!==this.anchorRect?this.anchorRect.width:0,o=void 0!==this.viewportRect?this.viewportRect.left:0,s=void 0!==this.viewportRect?this.viewportRect.right:0;(void 0===t||"locktodefault"!==this.horizontalPositioningMode&&this.getAvailableSpace(t,a,i,r,o,s)this.getAvailableSpace(e[1],a,i,r,o,s)?e[0]:e[1])}if("uncontrolled"!==this.verticalPositioningMode){const t=this.getPositioningOptions(this.verticalInset);if("center"===this.verticalDefaultPosition)e="center";else if("unset"!==this.verticalDefaultPosition)switch(this.verticalDefaultPosition){case"top":e=this.verticalInset?"insetStart":"start";break;case"bottom":e=this.verticalInset?"insetEnd":"end"}const n=void 0!==this.verticalThreshold?this.verticalThreshold:void 0!==this.regionRect?this.regionRect.height:0,a=void 0!==this.anchorRect?this.anchorRect.top:0,i=void 0!==this.anchorRect?this.anchorRect.bottom:0,r=void 0!==this.anchorRect?this.anchorRect.height:0,o=void 0!==this.viewportRect?this.viewportRect.top:0,s=void 0!==this.viewportRect?this.viewportRect.bottom:0;(void 0===e||"locktodefault"!==this.verticalPositioningMode&&this.getAvailableSpace(e,a,i,r,o,s)this.getAvailableSpace(t[1],a,i,r,o,s)?t[0]:t[1])}const n=this.getNextRegionDimension(t,e),a=this.horizontalPosition!==t||this.verticalPosition!==e;if(this.setHorizontalPosition(t,n),this.setVerticalPosition(e,n),this.updateRegionStyle(),!this.initialLayoutComplete)return this.initialLayoutComplete=!0,void this.requestPositionUpdates();this.regionVisible||(this.regionVisible=!0,this.style.removeProperty("pointer-events"),this.style.removeProperty("opacity"),this.classList.toggle("loaded",!0),this.$emit("loaded",this,{bubbles:!1})),this.updatePositionClasses(),a&&this.$emit("positionchange",this,{bubbles:!1})},this.updateRegionStyle=()=>{this.style.width=this.regionWidth,this.style.height=this.regionHeight,this.style.transform=`translate(${this.translateX}px, ${this.translateY}px)`},this.updatePositionClasses=()=>{this.classList.toggle("top","start"===this.verticalPosition),this.classList.toggle("bottom","end"===this.verticalPosition),this.classList.toggle("inset-top","insetStart"===this.verticalPosition),this.classList.toggle("inset-bottom","insetEnd"===this.verticalPosition),this.classList.toggle("vertical-center","center"===this.verticalPosition),this.classList.toggle("left","start"===this.horizontalPosition),this.classList.toggle("right","end"===this.horizontalPosition),this.classList.toggle("inset-left","insetStart"===this.horizontalPosition),this.classList.toggle("inset-right","insetEnd"===this.horizontalPosition),this.classList.toggle("horizontal-center","center"===this.horizontalPosition)},this.setHorizontalPosition=(e,t)=>{if(void 0===e||void 0===this.regionRect||void 0===this.anchorRect||void 0===this.viewportRect)return;let n=0;switch(this.horizontalScaling){case"anchor":case"fill":n=this.horizontalViewportLock?this.viewportRect.width:t.width,this.regionWidth=`${n}px`;break;case"content":n=this.regionRect.width,this.regionWidth="unset"}let a=0;switch(e){case"start":this.translateX=this.baseHorizontalOffset-n,this.horizontalViewportLock&&this.anchorRect.left>this.viewportRect.right&&(this.translateX=this.translateX-(this.anchorRect.left-this.viewportRect.right));break;case"insetStart":this.translateX=this.baseHorizontalOffset-n+this.anchorRect.width,this.horizontalViewportLock&&this.anchorRect.right>this.viewportRect.right&&(this.translateX=this.translateX-(this.anchorRect.right-this.viewportRect.right));break;case"insetEnd":this.translateX=this.baseHorizontalOffset,this.horizontalViewportLock&&this.anchorRect.leftthis.viewportRect.right)?this.translateX=this.translateX-(e-this.viewportRect.left):t>this.viewportRect.right&&!(e{if(void 0===e||void 0===this.regionRect||void 0===this.anchorRect||void 0===this.viewportRect)return;let n=0;switch(this.verticalScaling){case"anchor":case"fill":n=this.verticalViewportLock?this.viewportRect.height:t.height,this.regionHeight=`${n}px`;break;case"content":n=this.regionRect.height,this.regionHeight="unset"}let a=0;switch(e){case"start":this.translateY=this.baseVerticalOffset-n,this.verticalViewportLock&&this.anchorRect.top>this.viewportRect.bottom&&(this.translateY=this.translateY-(this.anchorRect.top-this.viewportRect.bottom));break;case"insetStart":this.translateY=this.baseVerticalOffset-n+this.anchorRect.height,this.verticalViewportLock&&this.anchorRect.bottom>this.viewportRect.bottom&&(this.translateY=this.translateY-(this.anchorRect.bottom-this.viewportRect.bottom));break;case"insetEnd":this.translateY=this.baseVerticalOffset,this.verticalViewportLock&&this.anchorRect.topthis.viewportRect.bottom)?this.translateY=this.translateY-(e-this.viewportRect.top):t>this.viewportRect.bottom&&!(ee?["insetStart","insetEnd"]:["start","end"],this.getAvailableSpace=(e,t,n,a,i,r)=>{const o=t-i,s=r-(t+a);switch(e){case"start":return o;case"insetStart":return o+a;case"insetEnd":return s+a;case"end":return s;case"center":return 2*Math.min(o,s)+a}},this.getNextRegionDimension=(e,t)=>{const n={height:void 0!==this.regionRect?this.regionRect.height:0,width:void 0!==this.regionRect?this.regionRect.width:0};return void 0!==e&&"fill"===this.horizontalScaling?n.width=this.getAvailableSpace(e,void 0!==this.anchorRect?this.anchorRect.left:0,void 0!==this.anchorRect?this.anchorRect.right:0,void 0!==this.anchorRect?this.anchorRect.width:0,void 0!==this.viewportRect?this.viewportRect.left:0,void 0!==this.viewportRect?this.viewportRect.right:0):"anchor"===this.horizontalScaling&&(n.width=void 0!==this.anchorRect?this.anchorRect.width:0),void 0!==t&&"fill"===this.verticalScaling?n.height=this.getAvailableSpace(t,void 0!==this.anchorRect?this.anchorRect.top:0,void 0!==this.anchorRect?this.anchorRect.bottom:0,void 0!==this.anchorRect?this.anchorRect.height:0,void 0!==this.viewportRect?this.viewportRect.top:0,void 0!==this.viewportRect?this.viewportRect.bottom:0):"anchor"===this.verticalScaling&&(n.height=void 0!==this.anchorRect?this.anchorRect.height:0),n},this.startAutoUpdateEventListeners=()=>{window.addEventListener(un,this.update,{passive:!0}),window.addEventListener(fn,this.update,{passive:!0,capture:!0}),null!==this.resizeDetector&&null!==this.viewportElement&&this.resizeDetector.observe(this.viewportElement)},this.stopAutoUpdateEventListeners=()=>{window.removeEventListener(un,this.update),window.removeEventListener(fn,this.update),null!==this.resizeDetector&&null!==this.viewportElement&&this.resizeDetector.unobserve(this.viewportElement)}}anchorChanged(){this.initialLayoutComplete&&(this.anchorElement=this.getAnchor())}viewportChanged(){this.initialLayoutComplete&&(this.viewportElement=this.getViewport())}horizontalPositioningModeChanged(){this.requestReset()}horizontalDefaultPositionChanged(){this.updateForAttributeChange()}horizontalViewportLockChanged(){this.updateForAttributeChange()}horizontalInsetChanged(){this.updateForAttributeChange()}horizontalThresholdChanged(){this.updateForAttributeChange()}horizontalScalingChanged(){this.updateForAttributeChange()}verticalPositioningModeChanged(){this.requestReset()}verticalDefaultPositionChanged(){this.updateForAttributeChange()}verticalViewportLockChanged(){this.updateForAttributeChange()}verticalInsetChanged(){this.updateForAttributeChange()}verticalThresholdChanged(){this.updateForAttributeChange()}verticalScalingChanged(){this.updateForAttributeChange()}fixedPlacementChanged(){this.$fastController.isConnected&&this.initialLayoutComplete&&this.initialize()}autoUpdateModeChanged(e,t){this.$fastController.isConnected&&this.initialLayoutComplete&&("auto"===e&&this.stopAutoUpdateEventListeners(),"auto"===t&&this.startAutoUpdateEventListeners())}anchorElementChanged(){this.requestReset()}viewportElementChanged(){this.$fastController.isConnected&&this.initialLayoutComplete&&this.initialize()}connectedCallback(){super.connectedCallback(),"auto"===this.autoUpdateMode&&this.startAutoUpdateEventListeners(),this.initialize()}disconnectedCallback(){super.disconnectedCallback(),"auto"===this.autoUpdateMode&&this.stopAutoUpdateEventListeners(),this.stopObservers(),this.disconnectResizeDetector()}adoptedCallback(){this.initialize()}disconnectResizeDetector(){null!==this.resizeDetector&&(this.resizeDetector.disconnect(),this.resizeDetector=null)}initializeResizeDetector(){this.disconnectResizeDetector(),this.resizeDetector=new window.ResizeObserver(this.handleResize)}updateForAttributeChange(){this.$fastController.isConnected&&this.initialLayoutComplete&&(this.forceUpdate=!0,this.update())}initialize(){this.initializeResizeDetector(),null===this.anchorElement&&(this.anchorElement=this.getAnchor()),this.requestReset()}requestReset(){this.$fastController.isConnected&&!1===this.pendingReset&&(this.setInitialState(),Ie.a.queueUpdate(()=>this.reset()),this.pendingReset=!0)}setInitialState(){this.initialLayoutComplete=!1,this.regionVisible=!1,this.translateX=0,this.translateY=0,this.baseHorizontalOffset=0,this.baseVerticalOffset=0,this.viewportRect=void 0,this.regionRect=void 0,this.anchorRect=void 0,this.verticalPosition=void 0,this.horizontalPosition=void 0,this.style.opacity="0",this.style.pointerEvents="none",this.forceUpdate=!1,this.style.position=this.fixedPlacement?"fixed":"absolute",this.updatePositionClasses(),this.updateRegionStyle()}}mn.intersectionService=new class{constructor(){this.intersectionDetector=null,this.observedElements=new Map,this.requestPosition=(e,t)=>{var n;null!==this.intersectionDetector&&(this.observedElements.has(e)?null===(n=this.observedElements.get(e))||void 0===n||n.push(t):(this.observedElements.set(e,[t]),this.intersectionDetector.observe(e)))},this.cancelRequestPosition=(e,t)=>{const n=this.observedElements.get(e);if(void 0!==n){const e=n.indexOf(t);-1!==e&&n.splice(e,1)}},this.initializeIntersectionDetector=()=>{pn.a.IntersectionObserver&&(this.intersectionDetector=new IntersectionObserver(this.handleIntersection,{root:null,rootMargin:"0px",threshold:[0,1]}))},this.handleIntersection=e=>{if(null===this.intersectionDetector)return;const t=[],n=[];e.forEach(e=>{var a;null===(a=this.intersectionDetector)||void 0===a||a.unobserve(e.target);const i=this.observedElements.get(e.target);void 0!==i&&(i.forEach(a=>{let i=t.indexOf(a);-1===i&&(i=t.length,t.push(a),n.push([])),n[i].push(e)}),this.observedElements.delete(e.target))}),t.forEach((e,t)=>{e(n[t])})},this.initializeIntersectionDetector()}},Object(oe.a)([ce.c],mn.prototype,"anchor",void 0),Object(oe.a)([ce.c],mn.prototype,"viewport",void 0),Object(oe.a)([Object(ce.c)({attribute:"horizontal-positioning-mode"})],mn.prototype,"horizontalPositioningMode",void 0),Object(oe.a)([Object(ce.c)({attribute:"horizontal-default-position"})],mn.prototype,"horizontalDefaultPosition",void 0),Object(oe.a)([Object(ce.c)({attribute:"horizontal-viewport-lock",mode:"boolean"})],mn.prototype,"horizontalViewportLock",void 0),Object(oe.a)([Object(ce.c)({attribute:"horizontal-inset",mode:"boolean"})],mn.prototype,"horizontalInset",void 0),Object(oe.a)([Object(ce.c)({attribute:"horizontal-threshold"})],mn.prototype,"horizontalThreshold",void 0),Object(oe.a)([Object(ce.c)({attribute:"horizontal-scaling"})],mn.prototype,"horizontalScaling",void 0),Object(oe.a)([Object(ce.c)({attribute:"vertical-positioning-mode"})],mn.prototype,"verticalPositioningMode",void 0),Object(oe.a)([Object(ce.c)({attribute:"vertical-default-position"})],mn.prototype,"verticalDefaultPosition",void 0),Object(oe.a)([Object(ce.c)({attribute:"vertical-viewport-lock",mode:"boolean"})],mn.prototype,"verticalViewportLock",void 0),Object(oe.a)([Object(ce.c)({attribute:"vertical-inset",mode:"boolean"})],mn.prototype,"verticalInset",void 0),Object(oe.a)([Object(ce.c)({attribute:"vertical-threshold"})],mn.prototype,"verticalThreshold",void 0),Object(oe.a)([Object(ce.c)({attribute:"vertical-scaling"})],mn.prototype,"verticalScaling",void 0),Object(oe.a)([Object(ce.c)({attribute:"fixed-placement",mode:"boolean"})],mn.prototype,"fixedPlacement",void 0),Object(oe.a)([Object(ce.c)({attribute:"auto-update-mode"})],mn.prototype,"autoUpdateMode",void 0),Object(oe.a)([se.d],mn.prototype,"anchorElement",void 0),Object(oe.a)([se.d],mn.prototype,"viewportElement",void 0),Object(oe.a)([se.d],mn.prototype,"initialLayoutComplete",void 0);const _n=tn.compose({baseName:"menu-item",template:(e,t)=>Se.a` + +`,styles:(e,t)=>Oe.a` + ${Object(we.a)("grid")} :host { + contain: layout; + overflow: visible; + ${Tt.a} + box-sizing: border-box; + height: calc(${Mt.a} * 1px); + grid-template-columns: minmax(32px, auto) 1fr minmax(32px, auto); + grid-template-rows: auto; + justify-items: center; + align-items: center; + padding: 0; + white-space: nowrap; + color: ${Ee.fb}; + fill: currentcolor; + cursor: pointer; + border-radius: calc(${Ee.q} * 1px); + border: calc(${Ee.vb} * 1px) solid transparent; + position: relative; + } + + :host(.indent-0) { + grid-template-columns: auto 1fr minmax(32px, auto); + } + + :host(.indent-0) .content { + grid-column: 1; + grid-row: 1; + margin-inline-start: 10px; + } + + :host(.indent-0) .expand-collapse-glyph-container { + grid-column: 5; + grid-row: 1; + } + + :host(.indent-2) { + grid-template-columns: minmax(32px, auto) minmax(32px, auto) 1fr minmax(32px, auto) minmax(32px, auto); + } + + :host(.indent-2) .content { + grid-column: 3; + grid-row: 1; + margin-inline-start: 10px; + } + + :host(.indent-2) .expand-collapse-glyph-container { + grid-column: 5; + grid-row: 1; + } + + :host(.indent-2) .start { + grid-column: 2; + } + + :host(.indent-2) .end { + grid-column: 4; + } + + :host(:${wt.a}) { + ${Ae.a} + } + + :host(:not([disabled]):hover) { + background: ${Ee.Y}; + } + + :host(:not([disabled]):active), + :host(.expanded) { + background: ${Ee.W}; + color: ${Ee.fb}; + z-index: 2; + } + + :host([disabled]) { + cursor: ${Et.a}; + opacity: ${Ee.u}; + } + + .content { + grid-column-start: 2; + justify-self: start; + overflow: hidden; + text-overflow: ellipsis; + } + + .start, + .end { + display: flex; + justify-content: center; + } + + :host(.indent-0[aria-haspopup='menu']) { + display: grid; + grid-template-columns: minmax(32px, auto) auto 1fr minmax(32px, auto) minmax(32px, auto); + align-items: center; + min-height: 32px; + } + + :host(.indent-1[aria-haspopup='menu']), + :host(.indent-1[role='menuitemcheckbox']), + :host(.indent-1[role='menuitemradio']) { + display: grid; + grid-template-columns: minmax(32px, auto) auto 1fr minmax(32px, auto) minmax(32px, auto); + align-items: center; + min-height: 32px; + } + + :host(.indent-2:not([aria-haspopup='menu'])) .end { + grid-column: 5; + } + + :host .input-container, + :host .expand-collapse-glyph-container { + display: none; + } + + :host([aria-haspopup='menu']) .expand-collapse-glyph-container, + :host([role='menuitemcheckbox']) .input-container, + :host([role='menuitemradio']) .input-container { + display: grid; + } + + :host([aria-haspopup='menu']) .content, + :host([role='menuitemcheckbox']) .content, + :host([role='menuitemradio']) .content { + grid-column-start: 3; + } + + :host([aria-haspopup='menu'].indent-0) .content { + grid-column-start: 1; + } + + :host([aria-haspopup='menu']) .end, + :host([role='menuitemcheckbox']) .end, + :host([role='menuitemradio']) .end { + grid-column-start: 4; + } + + :host .expand-collapse, + :host .checkbox, + :host .radio { + display: flex; + align-items: center; + justify-content: center; + position: relative; + box-sizing: border-box; + } + + :host .checkbox-indicator, + :host .radio-indicator, + slot[name='checkbox-indicator'], + slot[name='radio-indicator'] { + display: none; + } + + ::slotted([slot='end']:not(svg)) { + margin-inline-end: 10px; + color: ${Ee.cb}; + } + + :host([aria-checked='true']) .checkbox-indicator, + :host([aria-checked='true']) slot[name='checkbox-indicator'], + :host([aria-checked='true']) .radio-indicator, + :host([aria-checked='true']) slot[name='radio-indicator'] { + display: flex; + } + `.withBehaviors(Object(At.a)(Oe.a` + :host, + ::slotted([slot='end']:not(svg)) { + forced-color-adjust: none; + color: ${Lt.a.ButtonText}; + fill: currentcolor; + } + :host(:not([disabled]):hover) { + background: ${Lt.a.Highlight}; + color: ${Lt.a.HighlightText}; + fill: currentcolor; + } + :host(:hover) .start, + :host(:hover) .end, + :host(:hover)::slotted(svg), + :host(:active) .start, + :host(:active) .end, + :host(:active)::slotted(svg), + :host(:hover) ::slotted([slot='end']:not(svg)), + :host(:${wt.a}) ::slotted([slot='end']:not(svg)) { + color: ${Lt.a.HighlightText}; + fill: currentcolor; + } + :host(.expanded) { + background: ${Lt.a.Highlight}; + color: ${Lt.a.HighlightText}; + } + :host(:${wt.a}) { + background: ${Lt.a.Highlight}; + outline-color: ${Lt.a.ButtonText}; + color: ${Lt.a.HighlightText}; + fill: currentcolor; + } + :host([disabled]), + :host([disabled]:hover), + :host([disabled]:hover) .start, + :host([disabled]:hover) .end, + :host([disabled]:hover)::slotted(svg), + :host([disabled]:${wt.a}) { + background: ${Lt.a.ButtonFace}; + color: ${Lt.a.GrayText}; + fill: currentcolor; + opacity: 1; + } + :host([disabled]:${wt.a}) { + outline-color: ${Lt.a.GrayText}; + } + :host .expanded-toggle, + :host .checkbox, + :host .radio { + border-color: ${Lt.a.ButtonText}; + background: ${Lt.a.HighlightText}; + } + :host([checked]) .checkbox, + :host([checked]) .radio { + background: ${Lt.a.HighlightText}; + border-color: ${Lt.a.HighlightText}; + } + :host(:hover) .expanded-toggle, + :host(:hover) .checkbox, + :host(:hover) .radio, + :host(:${wt.a}) .expanded-toggle, + :host(:${wt.a}) .checkbox, + :host(:${wt.a}) .radio, + :host([checked]:hover) .checkbox, + :host([checked]:hover) .radio, + :host([checked]:${wt.a}) .checkbox, + :host([checked]:${wt.a}) .radio { + border-color: ${Lt.a.HighlightText}; + } + :host([aria-checked='true']) { + background: ${Lt.a.Highlight}; + color: ${Lt.a.HighlightText}; + } + :host([aria-checked='true']) .checkbox-indicator, + :host([aria-checked='true']) ::slotted([slot='checkbox-indicator']), + :host([aria-checked='true']) ::slotted([slot='radio-indicator']) { + fill: ${Lt.a.Highlight}; + } + :host([aria-checked='true']) .radio-indicator { + background: ${Lt.a.Highlight}; + } + `),new zt(Oe.a` + .expand-collapse-glyph-container { + transform: rotate(0deg); + } + `,Oe.a` + .expand-collapse-glyph-container { + transform: rotate(180deg); + } + `)),checkboxIndicator:'\n \n \n \n ',expandCollapseGlyph:'\n \n \n \n ',radioIndicator:'\n \n \n \n '});var hn=n("dblZ");const bn={dotOptionsTitle:"More options"},gn=[u.b` +:host([hidden]){display:none}:host{display:block;font-family:var(--default-font-family, "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, "BlinkMacSystemFont", "Roboto", "Helvetica Neue", sans-serif);font-size:var(--default-font-size,14px);--theme-primary-color:#0078d7;--theme-dark-color:#005a9e}:focus-visible{outline-color:var(--focus-ring-color,Highlight);outline-color:var(--focus-ring-color,-webkit-focus-ring-color);outline-style:var(--focus-ring-style,auto)}.ms-icon{display:inline-block;font-family:FabricMDL2Icons;font-style:normal;font-weight:400;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:4px 0}.error{background-color:#fde7e9;padding-block:8px;padding-inline:8px 12px}.ms-icon-chevron-down::before{content:"\\\e70d"}.ms-icon-chevron-up::before{content:"\\\e70e"}.ms-icon-contact::before{content:"\\\e77b"}.ms-icon-add-friend::before{content:"\\\e8fa"}.ms-icon-outlook-logo-inverser::before{content:"\\\eb6d"}:host{display:flex;flex-direction:column;align-items:flex-end}:host .dot-icon{font-family:FabricMDL2Icons;min-width:40px;min-height:30px;text-align:center;line-height:30px}:host .menu{position:absolute;box-shadow:var(--neutral-fill-rest) 0 0 40px 5px;background:var(--neutral-fill-rest);z-index:1;display:none;white-space:nowrap;transform:var(--dot-options-translatey,translateY(32px))}:host .menu.open{display:block}:host fluent-button::part(control){background:inherit} +`];var vn=function(e,t,n,a){var i,r=arguments.length,o=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,a);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o},yn=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};class Sn extends hn.b{constructor(){super(...arguments),this._clickHandler=()=>this.open=!1,this.handleItemClick=(e,t)=>{e.preventDefault(),e.stopPropagation(),t(e),this.open=!1},this.handleItemKeydown=(e,t)=>{this.handleKeydownMenuOption(e),t(e),this.open=!1},this.onDotClick=e=>{e.preventDefault(),e.stopPropagation(),this.open=!this.open},this.onDotKeydown=e=>{"Enter"===e.key&&(e.preventDefault(),e.stopPropagation(),this.open=!this.open)}}static get styles(){return gn}get strings(){return bn}connectedCallback(){super.connectedCallback(),window.addEventListener("click",this._clickHandler)}disconnectedCallback(){window.removeEventListener("click",this._clickHandler),super.disconnectedCallback()}render(){const e=Object.keys(this.options);return u.c` + \uE712 + + ${e.map(e=>this.getMenuOption(e,this.options[e]))} + `}getMenuOption(e,t){return u.c` +
    + + ${e} + `}handleKeydownMenuOption(e){"Enter"===e.key&&(e.preventDefault(),e.stopPropagation())}}vn([Object(f.b)({type:Boolean}),yn("design:type",Boolean)],Sn.prototype,"open",void 0),vn([Object(f.b)({type:Object}),yn("design:type",Object)],Sn.prototype,"options",void 0);const Dn=[u.b` +:host([hidden]){display:none}:host{display:block;font-family:var(--default-font-family, "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, "BlinkMacSystemFont", "Roboto", "Helvetica Neue", sans-serif);font-size:var(--default-font-size,14px);--theme-primary-color:#0078d7;--theme-dark-color:#005a9e}:focus-visible{outline-color:var(--focus-ring-color,Highlight);outline-color:var(--focus-ring-color,-webkit-focus-ring-color);outline-style:var(--focus-ring-style,auto)}.ms-icon{display:inline-block;font-family:FabricMDL2Icons;font-style:normal;font-weight:400;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:4px 0}.error{background-color:#fde7e9;padding-block:8px;padding-inline:8px 12px}.ms-icon-chevron-down::before{content:"\\\e70d"}.ms-icon-chevron-up::before{content:"\\\e70e"}.ms-icon-contact::before{content:"\\\e77b"}.ms-icon-add-friend::before{content:"\\\e8fa"}.ms-icon-outlook-logo-inverser::before{content:"\\\eb6d"}:host{position:relative}:host .header::part(control){font-size:var(--arrow-options-button-font-size,large);font-weight:var(--arrow-options-button-font-weight,600);color:var(--arrow-options-button-font-color,var(--accent-base-color));background:var(--arrow-options-button-background-color,transparent)}:host .header::part(control):hover{background:var(--neutral-fill-stealth-hover)}:host .header::part(control):active,:host .header::part(control):focus{background:var(--neutral-fill-stealth-active)}:host .menu{position:absolute;left:var(--arrow-options-left,0);z-index:1;display:none}:host .menu.open{display:block;width:max-content} +`];var In=function(e,t,n,a){var i,r=arguments.length,o=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,a);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o},xn=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};class Cn extends hn.b{static get styles(){return Dn}constructor(){super(),this.onHeaderClick=e=>{Object.keys(this.options).length>1&&(e.preventDefault(),e.stopPropagation(),this.open=!this.open)},this.onHeaderKeyDown=e=>{if("Enter"===e.key){e.preventDefault(),e.stopPropagation(),this.open=!this.open;const t=this.renderRoot.querySelector("fluent-menu");t&&(t.classList.remove("closed"),t.classList.add("open"));const n=e.target;if(n){const e=this.renderRoot.querySelector("fluent-menu-item[tabindex='0']");e&&(n.blur(),e.focus())}}},this.value="",this.options={},this._clickHandler=()=>this.open=!1,window.addEventListener("onblur",()=>this.open=!1)}connectedCallback(){super.connectedCallback(),window.addEventListener("click",this._clickHandler)}disconnectedCallback(){window.removeEventListener("click",this._clickHandler),super.disconnectedCallback()}render(){return u.c` + + ${this.value} + + + ${this.getMenuOptions()} + `}getMenuOptions(){return Object.keys(this.options).map(e=>u.c` + {this.open=!1,this.options[e](t)}} + @keydown=${t=>{const n=this.renderRoot.querySelector(".header");"Enter"===t.key?(this.open=!1,this.options[e](t),n.focus()):"Tab"===t.key?this.open=!1:"Escape"===t.key&&(this.open=!1,n&&n.focus())}}> + ${e} + `)}}In([Object(f.b)({type:Boolean}),xn("design:type",Boolean)],Cn.prototype,"open",void 0),In([Object(f.b)({type:String}),xn("design:type",String)],Cn.prototype,"value",void 0),In([Object(f.b)({type:Object}),xn("design:type",Object)],Cn.prototype,"options",void 0);var On,wn=function(e,t,n,a){var i,r=arguments.length,o=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,a);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o},En=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},An=function(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})};!function(e){e[e.planner=0]="planner",e[e.todo=1]="todo"}(On||(On={}));const Ln={BASE_SELF_ASSIGNED:"All Tasks",BUCKETS_SELF_ASSIGNED:"All Tasks",BUCKET_NOT_FOUND:"Folder not found",PLANS_SELF_ASSIGNED:"All groups",PLAN_NOT_FOUND:"Group not found"},kn={BASE_SELF_ASSIGNED:"Assigned to Me",BUCKETS_SELF_ASSIGNED:"All Tasks",BUCKET_NOT_FOUND:"Bucket not found",PLANS_SELF_ASSIGNED:"All Plans",PLAN_NOT_FOUND:"Plan not found"},Mn={"@odata.type":"#microsoft.graph.plannerAssignment",orderHint:" !"},Pn=()=>{Object(T.a)(Vt,Kt,qe.a,Me.a,Wt.a,Qt),Object(T.a)(on,_n,Me.a),Object(A.b)("arrow-options",Cn),Object(T.a)(on,_n,Me.a),Object(A.b)("dot-options",Sn),Object(te.a)(),M(),et(),Object(A.b)("tasks",Tn)};class Tn extends p.a{get res(){switch(this.dataSource){case On.todo:return Ln;case On.planner:default:return kn}}static get styles(){return nt}get strings(){return at}get isNewTaskVisible(){return this._isNewTaskVisible}set isNewTaskVisible(e){this._isNewTaskVisible=e,e||(this._newTaskDueDate=null,this._newTaskName="",this._newTaskGroupId="",this._newTaskContainerId="")}static get requiredScopes(){return[...new Set(["group.read.all","group.readwrite.all","tasks.read","tasks.readwrite",...P.requiredScopes,...tt.requiredScopes])]}constructor(){super(),this.dataSource=On.planner,this._isDarkMode=!1,this._me=null,this.onResize=()=>{this.mediaQuery!==this.previousMediaQuery&&(this.previousMediaQuery=this.mediaQuery,this.requestUpdate())},this.onThemeChanged=()=>{this._isDarkMode=ht(this)},this.onAddTaskClick=()=>{var e;const t=this.getPeoplePicker(null),n={};if(t)for(const a of null!==(e=null==t?void 0:t.selectedPeople)&&void 0!==e?e:[])n[a.id]=Mn;!this._newTaskBeingAdded&&this._newTaskName&&(this._currentGroup||this._newTaskGroupId)&&this.addTask(this._newTaskName,this._newTaskDueDate,this._currentGroup?this._currentGroup:this._newTaskGroupId,this._currentFolder?this._currentFolder:this._newTaskFolderId,n)},this.onAddTaskKeyDown=e=>{"Enter"!==e.key&&" "!==e.key||this.onAddTaskClick()},this.newTaskButtonKeydown=e=>{"Enter"===e.key&&(this.isNewTaskVisible=!this.isNewTaskVisible)},this.addNewTaskButtonClick=()=>{this.isNewTaskVisible=!this.isNewTaskVisible},this.handleNewTaskDateChange=e=>{const t=e.target.value;this._newTaskDueDate=t?new Date(t+"T17:00"):null},this.handleSelectedPlan=e=>{var t,n;if(this._newTaskGroupId=e.target.value,this.dataSource===On.planner){const e=this._groups.filter(e=>e.id===this._newTaskGroupId);this._newTaskContainerId=null!==(n=null===(t=e.pop())||void 0===t?void 0:t.containerId)&&void 0!==n?n:this._newTaskContainerId}},this.newTaskVisible=e=>{"Enter"===e.key&&(this.isNewTaskVisible=!1)},this.handleDateChange=e=>{const t=e.target.value;this._newTaskDueDate=t?new Date(t+"T17:00"):null},this.renderPlannerIcon=e=>Object(S.b)(S.a.Planner,e),this.renderBucketIcon=e=>Object(S.b)(S.a.Milestone,e),this.handlePeopleClick=(e,t)=>{this.togglePeoplePicker(t),e.stopPropagation()},this.handlePeopleKeydown=(e,t)=>{"Enter"!==e.key&&" "!==e.key||(this.togglePeoplePicker(t),e.stopPropagation(),e.preventDefault())},this.handlePeoplePickerKeydown=e=>{"Enter"===e.key&&e.stopPropagation()},this.clearState(),this.previousMediaQuery=this.mediaQuery}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.onResize),window.addEventListener("darkmodechanged",this.onThemeChanged),this.onThemeChanged()}disconnectedCallback(){window.removeEventListener("resize",this.onResize),window.removeEventListener("darkmodechanged",this.onThemeChanged),super.disconnectedCallback()}attributeChangedCallback(e,t,n){super.attributeChangedCallback(e,t,n),"data-source"===e&&(this.dataSource===On.planner?(this._currentGroup=this.initialId,this._currentFolder=this.initialBucketId):this.dataSource===On.todo&&(this._currentGroup=null,this._currentFolder=this.initialId),this.clearState(),this.requestStateUpdate())}clearState(){this._newTaskFolderId="",this._newTaskGroupId="",this._newTaskDueDate=null,this._newTaskName="",this._newTaskBeingAdded=!1,this._tasks=[],this._folders=[],this._groups=[],this._hiddenTasks=[],this._loadingTasks=[],this._hasDoneInitialLoad=!1,this._inTaskLoad=!1,this._todoDefaultSet=!1}firstUpdated(e){super.firstUpdated(e),this.initialId&&!this._currentGroup&&(this.dataSource===On.planner?this._currentGroup=this.initialId:this.dataSource===On.todo&&(this._currentFolder=this.initialId)),this.dataSource===On.planner&&this.initialBucketId&&!this._currentFolder&&(this._currentFolder=this.initialBucketId)}render(){const e=this._inTaskLoad&&!this._hasDoneInitialLoad?this.renderLoadingTask():null;let t;return this.hideHeader||(t=u.c` +
    + ${this.renderPlanOptions()} +
    + `),u.c` + ${t} +
    + ${this._isNewTaskVisible?this.renderNewTask():null} ${e} + ${Object(D.a)(this._tasks,e=>e.id,e=>this.renderTask(e))} +
    + `}loadState(){return An(this,void 0,void 0,function*(){const e=this.getTaskSource();if(!e)return;const t=_.a.globalProvider;if(t&&t.state===i.c.SignedIn){if(this._inTaskLoad=!0,!this._me){const e=t.graph.forComponent(this);this._me=yield Object(C.e)(e)}this.groupId&&this.dataSource===On.planner?yield this._loadTasksForGroup(e):this.targetId?this.dataSource===On.todo?yield this._loadTargetTodoTasks(e):yield this._loadTargetPlannerTasks(e):yield this._loadAllTasks(e),this._tasks=this._tasks.filter(e=>this.isTaskInSelectedGroupFilter(e)).filter(e=>this.isTaskInSelectedFolderFilter(e)).filter(e=>!this._hiddenTasks.includes(e.id)),this.taskFilter&&(this._tasks=this._tasks.filter(e=>this.taskFilter(e._raw))),this._inTaskLoad=!1,this._hasDoneInitialLoad=!0}})}_loadTargetTodoTasks(e){return An(this,void 0,void 0,function*(){const t=yield e.getTaskGroups(),n=(yield Promise.all(t.map(t=>e.getTaskFoldersForTaskGroup(t.id)))).reduce((e,t)=>[...e,...t],[]),a=(yield Promise.all(n.map(t=>e.getTasksForTaskFolder(t.id,t.parentId)))).reduce((e,t)=>[...e,...t],[]);this._tasks=a,this._folders=n,this._groups=t,this._currentGroup=null})}_loadTargetPlannerTasks(e){return An(this,void 0,void 0,function*(){const t=yield e.getTaskGroup(this.targetId);let n=yield e.getTaskFoldersForTaskGroup(t.id);this.targetBucketId&&(n=n.filter(e=>e.id===this.targetBucketId));const a=(yield Promise.all(n.map(t=>e.getTasksForTaskFolder(t.id,t.parentId)))).reduce((e,t)=>[...e,...t],[]);this._tasks=a,this._folders=n,this._groups=[t]})}_loadAllTasks(e){return An(this,void 0,void 0,function*(){const t=yield e.getTaskGroups(),n=(yield Promise.all(t.map(t=>e.getTaskFoldersForTaskGroup(t.id)))).reduce((e,t)=>[...e,...t],[]);if(!this.initialId&&this.dataSource===On.todo&&!this._todoDefaultSet){this._todoDefaultSet=!0;const e=n.find(e=>e._raw.isDefaultFolder);e&&(this._currentFolder=e.id)}const a=(yield Promise.all(n.map(t=>e.getTasksForTaskFolder(t.id,t.parentId)))).reduce((e,t)=>[...e,...t],[]);this._tasks=a,this._folders=n,this._groups=t})}_loadTasksForGroup(e){return An(this,void 0,void 0,function*(){const t=yield e.getTaskGroupsForGroup(this.groupId),n=(yield Promise.all(t.map(t=>e.getTaskFoldersForTaskGroup(t.id)))).reduce((e,t)=>[...e,...t],[]),a=(yield Promise.all(n.map(t=>e.getTasksForTaskFolder(t.id,t.parentId)))).reduce((e,t)=>[...e,...t],[]);this._tasks=a,this._folders=n,this._groups=t})}addTask(e,t,n,a,i={}){return An(this,void 0,void 0,function*(){const r=this.getTaskSource();if(!r)return;const o={assignments:i,dueDate:t,immediateParentId:a,name:e,topParentId:n};this._newTaskBeingAdded=!0,o._raw=yield r.addTask(o),this.fireCustomEvent("taskAdded",o),yield this.requestStateUpdate(),this._newTaskBeingAdded=!1,this.isNewTaskVisible=!1})}completeTask(e){return An(this,void 0,void 0,function*(){const t=this.getTaskSource();t&&(this._loadingTasks=[...this._loadingTasks,e.id],yield t.setTaskComplete(e),this.fireCustomEvent("taskChanged",e),yield this.requestStateUpdate(),this._loadingTasks=this._loadingTasks.filter(t=>t!==e.id))})}uncompleteTask(e){return An(this,void 0,void 0,function*(){const t=this.getTaskSource();t&&(this._loadingTasks=[...this._loadingTasks,e.id],yield t.setTaskIncomplete(e),this.fireCustomEvent("taskChanged",e),yield this.requestStateUpdate(),this._loadingTasks=this._loadingTasks.filter(t=>t!==e.id))})}removeTask(e){return An(this,void 0,void 0,function*(){const t=this.getTaskSource();t&&(this._hiddenTasks=[...this._hiddenTasks,e.id],yield t.removeTask(e),this.fireCustomEvent("taskRemoved",e),yield this.requestStateUpdate(),this._hiddenTasks=this._hiddenTasks.filter(t=>t!==e.id))})}assignPeople(e,t=[]){return An(this,void 0,void 0,function*(){const n=this.getTaskSource();if(!n)return;let a=[];e&&e.assignments&&(a=Object.keys(e.assignments).sort());const i=t.map(e=>e.id);if(i.length===a.length&&i.sort().every((e,t)=>e===a[t]))return;const r={};for(const e of a)i.includes(e)?r[e]=Mn:r[e]=null;i.forEach(e=>{a.includes(e)||(r[e]=Mn)}),e&&(yield n.assignPeopleToTask(e,r),yield this.requestStateUpdate(),this._loadingTasks=this._loadingTasks.filter(t=>t!==e.id))})}renderPlanOptions(){var e;const t=_.a.globalProvider;if(!t||t.state!==i.c.SignedIn)return null;if(this._inTaskLoad&&!this._hasDoneInitialLoad)return u.c``;const n=this.readOnly||this._isNewTaskVisible?null:u.c` + this.isNewTaskVisible=!this.isNewTaskVisible}> + ${Object(S.b)(S.a.Add,"currentColor")} + ${this.strings.addTaskButtonSubtitle} + + `;if(this.dataSource===On.planner){const t=this._groups.find(e=>e.id===this._currentGroup)||{title:this.res.BASE_SELF_ASSIGNED},a={[this.res.BASE_SELF_ASSIGNED]:()=>{this._currentGroup=null,this._currentFolder=null}};for(const e of this._groups)a[e.title]=()=>{this._currentGroup=e.id,this._currentFolder=null};const i=m.a` + `,r=this._currentGroup?Object(S.b)(S.a.ChevronRight):null,o=this._folders.find(e=>e.id===this._currentFolder)||{name:this.res.BUCKETS_SELF_ASSIGNED},s={[this.res.BUCKETS_SELF_ASSIGNED]:()=>{this._currentFolder=null}};for(const e of this._folders.filter(e=>e.parentId===this._currentGroup))s[e.name]=()=>{this._currentFolder=e.id};const c=this.targetBucketId?u.c` + + ${(null===(e=this._folders[0])||void 0===e?void 0:e.name)||""} + `:m.a` + + `;return u.c` +
    + ${i} ${r} ${this._currentGroup?c:null} +
    + ${n} + `}{const e=this._folders.find(e=>e.id===this.targetId)||{name:this.res.BUCKETS_SELF_ASSIGNED},t=this._folders.find(e=>e.id===this._currentFolder)||{name:this.res.BUCKETS_SELF_ASSIGNED},a={};for(const e of this._folders)a[e.name]=()=>{this._currentFolder=e.id};a[this.res.BUCKETS_SELF_ASSIGNED]=()=>{this._currentFolder=null};const i=this.targetId?u.c` + + ${e.name} + + `:m.a` + + `;return u.c` + + ${i} + + ${n} + `}}renderNewTask(){const e="var(--neutral-foreground-hint)",t=u.c` + this._newTaskName=e.target.value}> + `;this._groups.length>0&&!this._newTaskGroupId&&(this._newTaskGroupId=this._groups[0].id);const n=u.c` + ${Object(D.a)(this._groups,e=>e.id,e=>u.c`${e.title}`)}`,a=this.dataSource===On.todo?null:this._currentGroup?u.c` + + ${this.renderPlannerIcon(e)} + ${this.getPlanTitle(this._currentGroup)} + `:u.c` + + ${this.renderPlannerIcon(e)} + ${this._groups.length>0?n:u.c`No groups found`} + `,i=this._folders.filter(e=>this._currentGroup&&e.parentId===this._currentGroup||!this._currentGroup&&e.parentId===this._newTaskGroupId);i.length>0&&!this._newTaskFolderId&&(this._newTaskFolderId=i[0].id);const r=u.c` + ${Object(D.a)(i,e=>e.id,e=>u.c`${e.name}`)}`,o=this._currentFolder?u.c` + + ${this.renderBucketIcon(e)} + ${this.getFolderName(this._currentFolder)} + + `:u.c` + + ${this.renderBucketIcon(e)} + ${i.length>0?r:u.c`No folders found`} + `,s={dark:this._isDarkMode,"new-task":!0},c=u.c` + + `,d=this.dataSource===On.todo?null:this.renderAssignedPeople(null),l=this._newTaskBeingAdded?u.c`
    `:u.c` + + ${this.strings.addTaskButtonSubtitle} + + this.isNewTaskVisible=!1} + @keydown=${this.newTaskVisible} + appearance="neutral"> + ${this.strings.cancelNewTaskSubtitle} + `;return u.c` +
    +
    +
    +
    + ${t} +
    +
    ${a}
    +
    ${o}
    + ${d} +
    ${c}
    +
    +
    +
    ${l}
    +
    +
    +
    + `}togglePeoplePicker(e){const t=this.getPeoplePicker(e),n=this.getMgtPeople(e),a=this.getFlyout(e);t&&n&&a&&(a.isOpen?a.close():(t.selectedPeople=n.people,a.open(),setTimeout(()=>t.focus(),100)))}updateAssignedPeople(e){const t=this.getPeoplePicker(e),n=this.getMgtPeople(e);t&&t.selectedPeople!==n.people&&(n.people=t.selectedPeople,this.assignPeople(e,t.selectedPeople))}getPeoplePicker(e){const t=e?e.id:"new-task";return this.renderRoot.querySelector(`.picker-${t}`)}getMgtPeople(e){const t=e?e.id:"new-task";return this.renderRoot.querySelector(`.people-${t}`)}getFlyout(e){const t=e?e.id:"new-task";return this.renderRoot.querySelector(`.flyout-${t}`)}renderTask(e){const{name:t="Task",completed:n=!1,dueDate:a}=e,i=this._currentGroup?null:this.getPlanTitle(e.topParentId),r=this._currentFolder?null:this.getFolderName(e.immediateParentId),o={task:Object.assign(Object.assign({},e._raw),{groupTitle:i,folderTitle:r})},s=this.renderTemplate("task",o,e.id);if(s)return s;let c=this.renderTemplate("task-details",o,`task-details-${e.id}`);if(!c){const t="var(--neutral-foreground-hint)",n=this.dataSource===On.todo||this._currentGroup?null:u.c` +
    + ${this.renderPlannerIcon(t)} + ${this.getPlanTitle(e.topParentId)} +
    + `,i=this._currentFolder?null:u.c` +
    + ${this.renderBucketIcon(t)} + ${this.getFolderName(e.immediateParentId)} +
    + `,r=a?u.c` +
    + ${this.strings.due}${Object(Ke.n)(a)} +
    + `:null,o=this.dataSource===On.todo?null:this.renderAssignedPeople(e);c=u.c`${n} ${i} ${o} ${r}`}const d=this.readOnly||this.hideOptions?null:m.a` + `,l=Object(F.a)({task:!0,complete:n,incomplete:!n,"read-only":this.readOnly});return u.c` +
    this.handleTaskClick(e)}> +
    +
    +
    + this.checkTask(t,e)} + @keydown=${t=>this.handleTaskCheckKeyDown(t,e)} + ?checked=${n}> + ${t} + +
    +
    ${d}
    +
    +
    ${c}
    +
    +
    + `}handleTaskCheckKeyDown(e,t){return An(this,void 0,void 0,function*(){"Enter"===e.key&&(this.readOnly||(t.completed?yield this.uncompleteTask(t):yield this.completeTask(t),e.stopPropagation(),e.preventDefault()))})}checkTask(e,t){return An(this,void 0,void 0,function*(){if(!this.readOnly){const n=this.shadowRoot.querySelector(`[data-id='task-${t.id}'`);n&&n.classList.add("updating"),t.completed?yield this.uncompleteTask(t):yield this.completeTask(t),n&&n.classList.remove("updating"),e.stopPropagation(),e.preventDefault()}})}renderAssignedPeople(e){var t;let n;const a={"new-task-assignee":null===e,"task-assignee":null!==e,"task-detail":null!==e},i=e?e.id:"new-task";a[`flyout-${i}`]=!0;const r=e?Object.keys(e.assignments).map(e=>e):[];if(!this.newTaskVisible){const a=null==e?void 0:e._raw,i=null==a?void 0:a.planId;i&&(n=null===(t=this._groups.filter(e=>e.id===i).pop())||void 0===t?void 0:t.containerId)}const o=this.isNewTaskVisible?this._newTaskContainerId:n,s=m.a` + this.handlePeopleClick(t,e)} + @keydown=${t=>this.handlePeopleKeydown(t,e)} + > + + `,c=m.a` + + >`;return m.a` + this.updateAssignedPeople(e)} + > +
    ${s}
    +
    ${c}
    +
    + `}handleTaskClick(e){e&&this.fireCustomEvent("taskClick",e)}renderLoadingTask(){return u.c` +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    +
    + + +
    +
    + +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + + + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + `}getTaskSource(){const e=_.a.globalProvider;if(!e||e.state!==i.c.SignedIn)return null;const t=e.graph.forComponent(this);return this.dataSource===On.planner?new ft(t):this.dataSource===On.todo?new pt(t):null}getPlanTitle(e){return e?e===this.res.PLANS_SELF_ASSIGNED?this.res.PLANS_SELF_ASSIGNED:(this._groups.find(t=>t.id===e)||{title:this.res.PLAN_NOT_FOUND}).title:this.res.BASE_SELF_ASSIGNED}getFolderName(e){return e?(this._folders.find(t=>t.id===e)||{name:this.res.BUCKET_NOT_FOUND}).name:this.res.BUCKETS_SELF_ASSIGNED}isTaskInSelectedGroupFilter(e){var t;return!this._currentGroup||e.topParentId===this._currentGroup||!this._currentGroup&&this.getTaskSource().isAssignedToMe(e,null===(t=this._me)||void 0===t?void 0:t.id)}isTaskInSelectedFolderFilter(e){return e.immediateParentId===this._currentFolder||!this._currentFolder}dateToInputValue(e){return e?new Date(e.getTime()-6e4*e.getTimezoneOffset()).toISOString().split("T")[0]:null}}wn([Object(f.b)({attribute:"read-only",type:Boolean}),En("design:type",Boolean)],Tn.prototype,"readOnly",void 0),wn([Object(f.b)({attribute:"data-source",converter:(e,t)=>(e=e.toLowerCase(),On[e]||On.planner)}),En("design:type",Number)],Tn.prototype,"dataSource",void 0),wn([Object(f.b)({attribute:"target-id",type:String}),En("design:type",String)],Tn.prototype,"targetId",void 0),wn([Object(f.b)({attribute:"target-bucket-id",type:String}),En("design:type",String)],Tn.prototype,"targetBucketId",void 0),wn([Object(f.b)({attribute:"initial-id",type:String}),En("design:type",String)],Tn.prototype,"initialId",void 0),wn([Object(f.b)({attribute:"initial-bucket-id",type:String}),En("design:type",String)],Tn.prototype,"initialBucketId",void 0),wn([Object(f.b)({attribute:"hide-header",type:Boolean}),En("design:type",Boolean)],Tn.prototype,"hideHeader",void 0),wn([Object(f.b)({attribute:"hide-options",type:Boolean}),En("design:type",Boolean)],Tn.prototype,"hideOptions",void 0),wn([Object(f.b)({attribute:"group-id",type:String}),En("design:type",String)],Tn.prototype,"groupId",void 0),wn([Object(f.b)(),En("design:type",Boolean)],Tn.prototype,"_isNewTaskVisible",void 0),wn([Object(f.b)(),En("design:type",Boolean)],Tn.prototype,"_newTaskBeingAdded",void 0),wn([Object(f.b)(),En("design:type",String)],Tn.prototype,"_newTaskName",void 0),wn([Object(f.b)(),En("design:type",Date)],Tn.prototype,"_newTaskDueDate",void 0),wn([Object(f.b)(),En("design:type",String)],Tn.prototype,"_newTaskGroupId",void 0),wn([Object(f.b)(),En("design:type",String)],Tn.prototype,"_newTaskFolderId",void 0),wn([Object(f.b)(),En("design:type",String)],Tn.prototype,"_newTaskContainerId",void 0),wn([Object(f.b)(),En("design:type",Array)],Tn.prototype,"_groups",void 0),wn([Object(f.b)(),En("design:type",Array)],Tn.prototype,"_folders",void 0),wn([Object(f.b)(),En("design:type",Array)],Tn.prototype,"_tasks",void 0),wn([Object(f.b)(),En("design:type",Array)],Tn.prototype,"_hiddenTasks",void 0),wn([Object(f.b)(),En("design:type",Array)],Tn.prototype,"_loadingTasks",void 0),wn([Object(f.b)(),En("design:type",Boolean)],Tn.prototype,"_inTaskLoad",void 0),wn([Object(f.b)(),En("design:type",Boolean)],Tn.prototype,"_hasDoneInitialLoad",void 0),wn([Object(f.b)(),En("design:type",Boolean)],Tn.prototype,"_todoDefaultSet",void 0),wn([Object(f.b)(),En("design:type",String)],Tn.prototype,"_currentGroup",void 0),wn([Object(f.b)(),En("design:type",String)],Tn.prototype,"_currentFolder",void 0),wn([Object(f.c)(),En("design:type",Object)],Tn.prototype,"_isDarkMode",void 0),wn([Object(f.c)(),En("design:type",Object)],Tn.prototype,"_me",void 0);const Un=[u.b` +:host([hidden]){display:none}:host{display:block;font-family:var(--default-font-family, "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, "BlinkMacSystemFont", "Roboto", "Helvetica Neue", sans-serif);font-size:var(--default-font-size,14px);--theme-primary-color:#0078d7;--theme-dark-color:#005a9e}:focus-visible{outline-color:var(--focus-ring-color,Highlight);outline-color:var(--focus-ring-color,-webkit-focus-ring-color);outline-style:var(--focus-ring-style,auto)}.ms-icon{display:inline-block;font-family:FabricMDL2Icons;font-style:normal;font-weight:400;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:4px 0}.error{background-color:#fde7e9;padding-block:8px;padding-inline:8px 12px}.ms-icon-chevron-down::before{content:"\\\e70d"}.ms-icon-chevron-up::before{content:"\\\e70e"}.ms-icon-contact::before{content:"\\\e77b"}.ms-icon-add-friend::before{content:"\\\e8fa"}.ms-icon-outlook-logo-inverser::before{content:"\\\eb6d"}:host .container{display:flex;flex-direction:column;position:relative}:host .dropdown{display:none;position:absolute;z-index:1000;top:34px}:host .dropdown.visible{display:flex}:host .dropdown .team-photo{width:24px;position:inherit;border-radius:50%;margin:0 6px}:host .dropdown .team-start-slot{width:max-content}:host .dropdown .team-parent-name{width:auto}:host .loading-text,:host .search-error-text{font-style:normal;font-weight:400;font-size:14px;line-height:20px}:host .message-parent{display:flex;flex-direction:row;gap:5px;padding:5px}:host .message-parent .loading-text{margin:auto}:host fluent-card{background:var(--channel-picker-dropdown-background-color,var(--fill-color));padding:2px;--card-height:auto;--width:var(--card-width)}:host fluent-text-field{width:100%}:host fluent-text-field::part(root){background:padding-box linear-gradient(var(--channel-picker-input-background-color,var(--neutral-fill-input-rest)),var(--channel-picker-input-background-color,var(--neutral-fill-input-rest))),border-box var(--channel-picker-input-border-color,var(--neutral-stroke-input-rest))}:host fluent-text-field::part(root):hover{background:padding-box linear-gradient(var(--channel-picker-input-background-color-hover,var(--neutral-fill-input-hover)),var(--channel-picker-input-background-color-hover,var(--neutral-fill-input-hover))),border-box var(--channel-picker-input-hover-border-color,var(--neutral-stroke-input-hover))}:host fluent-text-field::part(root):focus,:host fluent-text-field::part(root):focus-within{background:padding-box linear-gradient(var(--channel-picker-input-background-color-focus,var(--neutral-fill-input-focus)),var(--channel-picker-input-background-color-focus,var(--neutral-fill-input-focus))),border-box var(--channel-picker-input-focus-border-color,var(--neutral-stroke-input-focus))}:host fluent-text-field::part(control){word-spacing:inherit;text-indent:inherit;letter-spacing:inherit}:host fluent-text-field::part(control)::placeholder{color:var(--channel-picker-input-placeholder-text-color,var(--input-placeholder-rest))}:host fluent-text-field::part(control):hover::placeholder{color:var(--channel-picker-input-placeholder-text-color-hover,var(--input-placeholder-hover))}:host fluent-text-field::part(control):focus-within::placeholder,:host fluent-text-field::part(control):focus::placeholder{color:var(--channel-picker-input-placeholder-text-color-focus,var(--input-placeholder-filled))}:host fluent-text-field .search-icon svg path{fill:var(--channel-picker-search-icon-color,currentColor)}:host fluent-text-field .down-chevron{height:auto;min-width:auto}:host fluent-text-field .down-chevron svg path{fill:var(--channel-picker-down-chevron-color,currentColor)}:host fluent-text-field .up-chevron{height:auto;min-width:auto}:host fluent-text-field .up-chevron svg path{fill:var(--channel-picker-up-chevron-color,currentColor)}:host fluent-text-field .close-icon{height:auto;min-width:auto}:host fluent-text-field .close-icon svg path{fill:var(--channel-picker-close-icon-color,currentColor)}:host fluent-tree-view{min-width:100%;--tree-item-nested-width:2em}:host fluent-tree-item{width:100%;--tree-item-nested-width:2em}:host fluent-tree-item:focus-visible{outline:0}:host fluent-tree-item::part(expand-collapse-button){background:0 0}:host fluent-tree-item::part(content-region),:host fluent-tree-item::part(positioning-region){color:var(--channel-picker-dropdown-item-text-color,currentColor);background:var(--channel-picker-dropdown-background-color,transparent);border:calc(var(--stroke-width) * 2px) solid transparent;height:auto}:host fluent-tree-item::part(content-region):hover,:host fluent-tree-item::part(positioning-region):hover{background:var(--channel-picker-dropdown-item-background-color-hover,var(--neutral-fill-stealth-hover))}:host fluent-tree-item::part(content-region):hover::part(expand-collapse-button),:host fluent-tree-item::part(positioning-region):hover::part(expand-collapse-button){background:var(--channel-picker-dropdown-item-background-color-hover,var(--neutral-fill-stealth-hover))}:host fluent-tree-item fluent-tree-item::part(content-region){height:auto}:host fluent-breadcrumb-item{color:var(--channel-picker-dropdown-item-text-color-selected,var(--neutral-foreground-rest))}:host fluent-breadcrumb-item .team-parent-name{font-weight:700}:host fluent-breadcrumb-item .team-photo{width:19px;position:inherit;border-radius:50%}:host fluent-breadcrumb-item .arrow{margin-left:8px;margin-right:8px}:host fluent-breadcrumb-item .arrow svg{stroke:var(--channel-picker-arrow-fill,var(--neutral-foreground-rest))}[dir=rtl] :host{--direction:rtl}[dir=rtl] .dropdown{text-align:right}[dir=rtl] .arrow{transform:scaleX(-1);filter:fliph;filter:FlipH;margin-right:0;margin-left:5px}[dir=rtl] .selected-team{padding-left:10px}[dir=rtl] .message-parent .loading-text{right:auto;left:10px;padding-right:8px;text-align:right}@media (forced-colors:active) and (prefers-color-scheme:dark){:host fluent-text-field svg{stroke:#fff!important}}@media (forced-colors:active) and (prefers-color-scheme:light){:host fluent-text-field svg{stroke:#000!important}} +`];var Fn=function(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})};const Hn={inputPlaceholderText:"Select a channel",noResultsFound:"We didn't find any matches.",loadingMessage:"Loading...",photoFor:"Teams photo for",teamsChannels:"Teams and channels results",closeButtonAriaLabel:"remove the selected channel"};class Rn extends ue.a{constructor(){super(...arguments),this.handleUnsupportedDelegatesFocus=()=>{var e;window.ShadowRoot&&!window.ShadowRoot.prototype.hasOwnProperty("delegatesFocus")&&(null===(e=this.$fastController.definition.shadowOptions)||void 0===e?void 0:e.delegatesFocus)&&(this.focus=()=>{var e;null===(e=this.control)||void 0===e||e.focus()})}}connectedCallback(){super.connectedCallback(),this.handleUnsupportedDelegatesFocus()}}Object(oe.a)([ce.c],Rn.prototype,"download",void 0),Object(oe.a)([ce.c],Rn.prototype,"href",void 0),Object(oe.a)([ce.c],Rn.prototype,"hreflang",void 0),Object(oe.a)([ce.c],Rn.prototype,"ping",void 0),Object(oe.a)([ce.c],Rn.prototype,"referrerpolicy",void 0),Object(oe.a)([ce.c],Rn.prototype,"rel",void 0),Object(oe.a)([ce.c],Rn.prototype,"target",void 0),Object(oe.a)([ce.c],Rn.prototype,"type",void 0),Object(oe.a)([se.d],Rn.prototype,"defaultSlottedContent",void 0);class Nn{}Object(oe.a)([Object(ce.c)({attribute:"aria-expanded"})],Nn.prototype,"ariaExpanded",void 0),Object(_e.a)(Nn,pe.a),Object(_e.a)(Rn,me.a,Nn);class Bn extends Rn{constructor(){super(...arguments),this.separator=!0}}Object(oe.a)([se.d],Bn.prototype,"separator",void 0),Object(_e.a)(Bn,me.a,Nn);class jn extends ue.a{slottedBreadcrumbItemsChanged(){if(this.$fastController.isConnected){if(void 0===this.slottedBreadcrumbItems||0===this.slottedBreadcrumbItems.length)return;const e=this.slottedBreadcrumbItems[this.slottedBreadcrumbItems.length-1];this.slottedBreadcrumbItems.forEach(t=>{const n=t===e;this.setItemSeparator(t,n),this.setAriaCurrent(t,n)})}}setItemSeparator(e,t){e instanceof Bn&&(e.separator=!t)}findChildWithHref(e){var t,n;return e.childElementCount>0?e.querySelector("a[href]"):(null===(t=e.shadowRoot)||void 0===t?void 0:t.childElementCount)?null===(n=e.shadowRoot)||void 0===n?void 0:n.querySelector("a[href]"):null}setAriaCurrent(e,t){const n=this.findChildWithHref(e);null===n&&e.hasAttribute("href")&&e instanceof Bn?t?e.setAttribute("aria-current","page"):e.removeAttribute("aria-current"):null!==n&&(t?n.setAttribute("aria-current","page"):n.removeAttribute("aria-current"))}}Object(oe.a)([se.d],jn.prototype,"slottedBreadcrumbItems",void 0);var Vn=n("Q5AN");const zn=jn.compose({baseName:"breadcrumb",template:(e,t)=>Se.a` + +`,styles:(e,t)=>Oe.a` + ${Object(we.a)("inline-block")} :host { + box-sizing: border-box; + ${Tt.a}; + } + + .list { + display: flex; + } +`}),Gn=Bn.compose({baseName:"breadcrumb-item",template:(e,t)=>Se.a` +
    + ${Object(Ct.a)(e=>e.href&&e.href.length>0,Se.a` + ${((e,t)=>Se.a` + + ${Object(me.d)(e,t)} + + + + ${Object(me.b)(e,t)} + +`)(e,t)} + `)} + ${Object(Ct.a)(e=>!e.href,Se.a` + ${Object(me.d)(e,t)} + + ${Object(me.b)(e,t)} + `)} + ${Object(Ct.a)(e=>e.separator,Se.a` + + `)} +
    +`,styles:(e,t)=>Oe.a` + ${Object(we.a)("inline-flex")} :host { + background: transparent; + color: ${Ee.fb}; + fill: currentcolor; + box-sizing: border-box; + ${Tt.a}; + min-width: calc(${Mt.a} * 1px); + border-radius: calc(${Ee.q} * 1px); + } + + .listitem { + display: flex; + align-items: center; + border-radius: inherit; + } + + .control { + position: relative; + align-items: center; + box-sizing: border-box; + color: inherit; + fill: inherit; + cursor: pointer; + display: flex; + outline: none; + text-decoration: none; + white-space: nowrap; + border-radius: inherit; + } + + .control:hover { + color: ${Ee.eb}; + } + + .control:active { + color: ${Ee.bb}; + } + + .control:${wt.a} { + ${Ae.b} + } + + :host(:not([href])), + :host([aria-current]) .control { + color: ${Ee.fb}; + fill: currentcolor; + cursor: default; + } + + .start { + display: flex; + margin-inline-end: 6px; + } + + .end { + display: flex; + margin-inline-start: 6px; + } + + .separator { + display: flex; + } + `.withBehaviors(Object(At.a)(Oe.a` + :host(:not([href])), + .start, + .end, + .separator { + background: ${Lt.a.ButtonFace}; + color: ${Lt.a.ButtonText}; + fill: currentcolor; + } + .separator { + fill: ${Lt.a.ButtonText}; + } + :host([href]) { + forced-color-adjust: none; + background: ${Lt.a.ButtonFace}; + color: ${Lt.a.LinkText}; + } + :host([href]) .control:hover { + background: ${Lt.a.LinkText}; + color: ${Lt.a.HighlightText}; + fill: currentcolor; + } + .control:${wt.a} { + outline-color: ${Lt.a.LinkText}; + } + `)),shadowOptions:{delegatesFocus:!0},separator:'\n \n \n \n '});function Kn(e){return Object(fe.c)(e)&&"treeitem"===e.getAttribute("role")}class Wn extends ue.a{constructor(){super(...arguments),this.expanded=!1,this.focusable=!1,this.isNestedItem=()=>Kn(this.parentElement),this.handleExpandCollapseButtonClick=e=>{this.disabled||e.defaultPrevented||(this.expanded=!this.expanded)},this.handleFocus=e=>{this.setAttribute("tabindex","0")},this.handleBlur=e=>{this.setAttribute("tabindex","-1")}}expandedChanged(){this.$fastController.isConnected&&this.$emit("expanded-change",this)}selectedChanged(){this.$fastController.isConnected&&this.$emit("selected-change",this)}itemsChanged(e,t){this.$fastController.isConnected&&this.items.forEach(e=>{Kn(e)&&(e.nested=!0)})}static focusItem(e){e.focusable=!0,e.focus()}childItemLength(){const e=this.childItems.filter(e=>Kn(e));return e?e.length:0}}Object(oe.a)([Object(ce.c)({mode:"boolean"})],Wn.prototype,"expanded",void 0),Object(oe.a)([Object(ce.c)({mode:"boolean"})],Wn.prototype,"selected",void 0),Object(oe.a)([Object(ce.c)({mode:"boolean"})],Wn.prototype,"disabled",void 0),Object(oe.a)([se.d],Wn.prototype,"focusable",void 0),Object(oe.a)([se.d],Wn.prototype,"childItems",void 0),Object(oe.a)([se.d],Wn.prototype,"items",void 0),Object(oe.a)([se.d],Wn.prototype,"nested",void 0),Object(oe.a)([se.d],Wn.prototype,"renderCollapsedChildren",void 0),Object(_e.a)(Wn,me.a);class qn extends ue.a{constructor(){super(...arguments),this.currentFocused=null,this.handleFocus=e=>{if(!(this.slottedTreeItems.length<1))return e.target===this?(null===this.currentFocused&&(this.currentFocused=this.getValidFocusableItem()),void(null!==this.currentFocused&&Wn.focusItem(this.currentFocused))):void(this.contains(e.target)&&(this.setAttribute("tabindex","-1"),this.currentFocused=e.target))},this.handleBlur=e=>{e.target instanceof HTMLElement&&(null===e.relatedTarget||!this.contains(e.relatedTarget))&&this.setAttribute("tabindex","0")},this.handleKeyDown=e=>{if(e.defaultPrevented)return;if(this.slottedTreeItems.length<1)return!0;const t=this.getVisibleNodes();switch(e.key){case de.j:return void(t.length&&Wn.focusItem(t[0]));case de.f:return void(t.length&&Wn.focusItem(t[t.length-1]));case de.c:if(e.target&&this.isFocusableElement(e.target)){const t=e.target;t instanceof Wn&&t.childItemLength()>0&&t.expanded?t.expanded=!1:t instanceof Wn&&t.parentElement instanceof Wn&&Wn.focusItem(t.parentElement)}return!1;case de.d:if(e.target&&this.isFocusableElement(e.target)){const t=e.target;t instanceof Wn&&t.childItemLength()>0&&!t.expanded?t.expanded=!0:t instanceof Wn&&t.childItemLength()>0&&this.focusNextNode(1,e.target)}return;case de.b:return void(e.target&&this.isFocusableElement(e.target)&&this.focusNextNode(1,e.target));case de.e:return void(e.target&&this.isFocusableElement(e.target)&&this.focusNextNode(-1,e.target));case de.g:return void this.handleClick(e)}return!0},this.handleSelectedChange=e=>{if(e.defaultPrevented)return;if(!(e.target instanceof Element&&Kn(e.target)))return!0;const t=e.target;t.selected?(this.currentSelected&&this.currentSelected!==t&&(this.currentSelected.selected=!1),this.currentSelected=t):t.selected||this.currentSelected!==t||(this.currentSelected=null)},this.setItems=()=>{const e=this.treeView.querySelector("[aria-selected='true']");this.currentSelected=e,null!==this.currentFocused&&this.contains(this.currentFocused)||(this.currentFocused=this.getValidFocusableItem()),this.nested=this.checkForNestedItems(),this.getVisibleNodes().forEach(e=>{Kn(e)&&(e.nested=this.nested)})},this.isFocusableElement=e=>Kn(e),this.isSelectedElement=e=>e.selected}slottedTreeItemsChanged(){this.$fastController.isConnected&&this.setItems()}connectedCallback(){super.connectedCallback(),this.setAttribute("tabindex","0"),Ie.a.queueUpdate(()=>{this.setItems()})}handleClick(e){if(e.defaultPrevented)return;if(!(e.target instanceof Element&&Kn(e.target)))return!0;const t=e.target;t.disabled||(t.selected=!t.selected)}focusNextNode(e,t){const n=this.getVisibleNodes();if(!n)return;const a=n[n.indexOf(t)+e];Object(fe.c)(a)&&Wn.focusItem(a)}getValidFocusableItem(){const e=this.getVisibleNodes();let t=e.findIndex(this.isSelectedElement);return-1===t&&(t=e.findIndex(this.isFocusableElement)),-1!==t?e[t]:null}checkForNestedItems(){return this.slottedTreeItems.some(e=>Kn(e)&&e.querySelector("[role='treeitem']"))}getVisibleNodes(){return Object(fe.b)(this,"[role='treeitem']")||[]}}Object(oe.a)([Object(ce.c)({attribute:"render-collapsed-nodes"})],qn.prototype,"renderCollapsedNodes",void 0),Object(oe.a)([se.d],qn.prototype,"currentSelected",void 0),Object(oe.a)([se.d],qn.prototype,"slottedTreeItems",void 0);const Qn=qn.compose({baseName:"tree-view",template:(e,t)=>Se.a` + +`,styles:(e,t)=>Oe.a` + :host([hidden]) { + display: none; + } + + ${Object(we.a)("flex")} :host { + flex-direction: column; + align-items: stretch; + min-width: fit-content; + font-size: 0; + } +`});var Yn=n("/w5G");class Jn extends Vn.a{constructor(e,t){super(e,t),this.observer=null,t.childList=!0}observe(){null===this.observer&&(this.observer=new MutationObserver(this.handleEvent.bind(this))),this.observer.observe(this.target,this.options)}disconnect(){this.observer.disconnect()}getNodes(){return"subtree"in this.options?Array.from(this.target.querySelectorAll(this.options.selector)):Array.from(this.target.childNodes)}}var Xn=n("8GQ4");const Zn=Oe.a` + .expand-collapse-button svg { + transform: rotate(0deg); + } + :host(.nested) .expand-collapse-button { + left: var(--expand-collapse-button-nested-width, calc(${Mt.a} * -1px)); + } + :host([selected])::after { + left: calc(${Ee.y} * 1px); + } + :host([expanded]) > .positioning-region .expand-collapse-button svg { + transform: rotate(90deg); + } +`,$n=Oe.a` + .expand-collapse-button svg { + transform: rotate(180deg); + } + :host(.nested) .expand-collapse-button { + right: var(--expand-collapse-button-nested-width, calc(${Mt.a} * -1px)); + } + :host([selected])::after { + right: calc(${Ee.y} * 1px); + } + :host([expanded]) > .positioning-region .expand-collapse-button svg { + transform: rotate(90deg); + } +`,ea=Oe.b`((${Ee.n} / 2) * ${Ee.s}) + ((${Ee.s} * ${Ee.r}) / 2)`,ta=Xn.a.create("tree-item-expand-collapse-hover").withDefault(e=>{const t=Ee.Z.getValueFor(e);return t.evaluate(e,t.evaluate(e).hover).hover}),na=Xn.a.create("tree-item-expand-collapse-selected-hover").withDefault(e=>{const t=Ee.U.getValueFor(e);return Ee.Z.getValueFor(e).evaluate(e,t.evaluate(e).rest).hover}),aa=Wn.compose({baseName:"tree-item",template:(e,t)=>{return Se.a` + +`;var n},styles:(e,t)=>Oe.a` + ${Object(we.a)("block")} :host { + contain: content; + position: relative; + outline: none; + color: ${Ee.fb}; + fill: currentcolor; + cursor: pointer; + font-family: ${Ee.p}; + --expand-collapse-button-size: calc(${Mt.a} * 1px); + --tree-item-nested-width: 0; + } + + .positioning-region { + display: flex; + position: relative; + box-sizing: border-box; + background: ${Ee.ab}; + border: calc(${Ee.vb} * 1px) solid transparent; + border-radius: calc(${Ee.q} * 1px); + height: calc((${Mt.a} + 1) * 1px); + } + + :host(:${wt.a}) .positioning-region { + ${Ae.a} + } + + .positioning-region::before { + content: ''; + display: block; + width: var(--tree-item-nested-width); + flex-shrink: 0; + } + + :host(:not([disabled])) .positioning-region:hover { + background: ${Ee.Y}; + } + + :host(:not([disabled])) .positioning-region:active { + background: ${Ee.W}; + } + + .content-region { + display: inline-flex; + align-items: center; + white-space: nowrap; + width: 100%; + height: calc(${Mt.a} * 1px); + margin-inline-start: calc(${Ee.s} * 2px + 8px); + ${Tt.a} + } + + .items { + display: none; + ${""} font-size: calc(1em + (${Ee.s} + 16) * 1px); + } + + .expand-collapse-button { + background: none; + border: none; + border-radius: calc(${Ee.q} * 1px); + ${""} width: calc((${ea} + (${Ee.s} * 2)) * 1px); + height: calc((${ea} + (${Ee.s} * 2)) * 1px); + padding: 0; + display: flex; + justify-content: center; + align-items: center; + cursor: pointer; + margin: 0 6px; + } + + .expand-collapse-button svg { + transition: transform 0.1s linear; + pointer-events: none; + } + + .start, + .end { + display: flex; + } + + .start { + ${""} margin-inline-end: calc(${Ee.s} * 2px + 2px); + } + + .end { + ${""} margin-inline-start: calc(${Ee.s} * 2px + 2px); + } + + :host(.expanded) > .items { + display: block; + } + + :host([disabled]) { + opacity: ${Ee.u}; + cursor: ${Et.a}; + } + + :host(.nested) .content-region { + position: relative; + margin-inline-start: var(--expand-collapse-button-size); + } + + :host(.nested) .expand-collapse-button { + position: absolute; + } + + :host(.nested) .expand-collapse-button:hover { + background: ${ta}; + } + + :host(:not([disabled])[selected]) .positioning-region { + background: ${Ee.V}; + } + + :host(:not([disabled])[selected]) .expand-collapse-button:hover { + background: ${na}; + } + + :host([selected])::after { + content: ''; + display: block; + position: absolute; + top: calc((${Mt.a} / 4) * 1px); + width: 3px; + height: calc((${Mt.a} / 2) * 1px); + ${""} background: ${Ee.e}; + border-radius: calc(${Ee.q} * 1px); + } + + ::slotted(fluent-tree-item) { + --tree-item-nested-width: 1em; + --expand-collapse-button-nested-width: calc(${Mt.a} * -1px); + } + `.withBehaviors(new zt(Zn,$n),Object(At.a)(Oe.a` + :host { + color: ${Lt.a.ButtonText}; + } + .positioning-region { + border-color: ${Lt.a.ButtonFace}; + background: ${Lt.a.ButtonFace}; + } + :host(:not([disabled])) .positioning-region:hover, + :host(:not([disabled])) .positioning-region:active, + :host(:not([disabled])[selected]) .positioning-region { + background: ${Lt.a.Highlight}; + } + :host .positioning-region:hover .content-region, + :host([selected]) .positioning-region .content-region { + forced-color-adjust: none; + color: ${Lt.a.HighlightText}; + } + :host([disabled][selected]) .positioning-region .content-region { + color: ${Lt.a.GrayText}; + } + :host([selected])::after { + background: ${Lt.a.HighlightText}; + } + :host(:${wt.a}) .positioning-region { + forced-color-adjust: none; + outline-color: ${Lt.a.ButtonFace}; + } + :host([disabled]), + :host([disabled]) .content-region, + :host([disabled]) .positioning-region:hover .content-region { + opacity: 1; + color: ${Lt.a.GrayText}; + } + :host(.nested) .expand-collapse-button:hover, + :host(:not([disabled])[selected]) .expand-collapse-button:hover { + background: ${Lt.a.ButtonFace}; + fill: ${Lt.a.ButtonText}; + } + `)),expandCollapseGlyph:'\n \n \n \n '});var ia=function(e,t,n,a){var i,r=arguments.length,o=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,a);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o},ra=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},oa=function(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})};const sa=()=>{Object(T.a)(zn,Gn,U.a,Qn,aa,qe.a),Object(Ye.b)(),Object(A.b)("teams-channel-picker",ca)};class ca extends p.a{static get styles(){return Un}get strings(){return Hn}get selectedItem(){return this._selectedItemState?{channel:this._selectedItemState.item,team:this._selectedItemState.parent.item}:null}static get requiredScopes(){return["team.readbasic.all","channel.readbasic.all"]}set items(e){this._items!==e&&(this._items=e,this._treeViewState=e?this.generateTreeViewState(e):[],this.resetFocusState())}get items(){return this._items}get _inputWrapper(){return this.renderRoot.querySelector("fluent-text-field")}get _input(){return this._inputWrapper.shadowRoot.querySelector("input")}constructor(){super(),this.teamsPhotos={},this._inputValue="",this._treeViewState=[],this._focusList=[],this.handleInputClick=e=>{e.stopPropagation(),this.gainedFocus()},this.handleInputKeydown=e=>{const t=e.key;["ArrowDown","Enter"].includes(t)?this._isDropdownVisible?this.renderRoot.querySelector("fluent-tree-item").focus():this.gainedFocus():"Escape"===t&&this.lostFocus()},this.onClickCloseButton=()=>{this.removeSelectedChannel(null)},this.onKeydownCloseButton=e=>{"Enter"===e.key&&this.removeSelectedChannel(null)},this.onKeydownTreeView=e=>{"Escape"===e.key&&this.lostFocus()},this.handleTeamTreeItemClick=e=>{e.preventDefault(),e.stopImmediatePropagation();const t=e.target;t&&(t.getAttribute("expanded")?t.removeAttribute("expanded"):t.setAttribute("expanded","true"),t.removeAttribute("selected"),t.getAttribute("id")&&t.setAttribute("selected","true"))},this.handleInputChanged=e=>{const t=e.target;this._inputValue!==(null==t?void 0:t.value)&&(this._inputValue=null==t?void 0:t.value,this.gainedFocus(),this.debouncedSearch||(this.debouncedSearch=Object(Ke.b)(()=>{this.filterList()},400)),this.debouncedSearch())},this.handleWindowClick=e=>{e.target!==this&&this.lostFocus()},this.gainedFocus=()=>{const e=this._input;e&&e.focus(),this._isDropdownVisible=!0,this.toggleChevron(),this.resetFocusState(),this.requestUpdate()},this.lostFocus=()=>{this._input.value=this._inputValue="",this._input.textContent="",this._inputWrapper.value="",this._isDropdownVisible=!1,this.filterList(),this.toggleChevron(),this.requestUpdate(),void 0!==this._selectedItemState&&this.showCloseIcon()},this.handleFocus=()=>{this.lostFocus(),this.gainedFocus()},this.handleUpChevronClick=e=>{e.stopPropagation(),this.lostFocus()},this.addEventListener("focus",()=>this.loadTeamsIfNotLoaded()),this.addEventListener("mouseover",()=>this.loadTeamsIfNotLoaded()),this.addEventListener("blur",()=>this.lostFocus()),this._inputValue="",this._treeViewState=[],this._focusList=[],this._isDropdownVisible=!1}connectedCallback(){super.connectedCallback(),window.addEventListener("click",this.handleWindowClick);const e=this.renderRoot.ownerDocument;e&&e.documentElement.setAttribute("dir",this.direction)}disconnectedCallback(){window.removeEventListener("click",this.handleWindowClick),super.disconnectedCallback()}selectChannelById(e){return oa(this,void 0,void 0,function*(){const t=_.a.globalProvider;if(t&&t.state===i.c.SignedIn){this.items||(yield this.requestStateUpdate());for(const t of this._treeViewState)for(const n of t.channels)if(n.item.id===e)return t.isExpanded=!0,this.selectChannel(n),this.markSelectedChannelInDropdown(e),!0}return!1})}markSelectedChannelInDropdown(e){const t=this.renderRoot.querySelector(`[id='${e}']`);t&&(t.setAttribute("selected","true"),t.parentElement&&t.parentElement.setAttribute("expanded","true"))}render(){var e;const t={dropdown:!0,visible:this._isDropdownVisible};return this.renderTemplate("default",{teams:null!==(e=this.items)&&void 0!==e?e:[]})||u.c` +
    + +
    ${this.renderSelected()}
    +
    ${this.renderChevrons()}${this.renderCloseButton()}
    +
    + + ${this.renderDropdown()} + +
    `}renderSelected(){var e,t,n,a,i,r;if(!this._selectedItemState)return this.renderSearchIcon();let o;if(this._selectedItemState.parent.channels){const t=null===(e=this.teamsPhotos[this._selectedItemState.parent.item.id])||void 0===e?void 0:e.photo;o=u.c`${this._selectedItemState.parent.item.displayName}`}const s=null===(a=null===(n=null===(t=this._selectedItemState)||void 0===t?void 0:t.parent)||void 0===n?void 0:n.item)||void 0===a?void 0:a.displayName.trim(),c=null===(r=null===(i=this._selectedItemState)||void 0===i?void 0:i.item)||void 0===r?void 0:r.displayName.trim();return u.c` + + + ${o} + ${s} + ${Object(S.b)(S.a.TeamSeparator,"#000000")} + + ${c} + `}clearState(){this._inputValue="",this._treeViewState=[],this._focusList=[],this._isDropdownVisible=!1}renderSearchIcon(){return u.c` +
    + ${Object(S.b)(S.a.Search,"#252424")} +
    + `}renderCloseButton(){return u.c` + + `}showCloseIcon(){const e=this.renderRoot.querySelector(".down-chevron"),t=this.renderRoot.querySelector(".up-chevron"),n=this.renderRoot.querySelector(".close-icon");e&&(e.style.display="none"),t&&(t.style.display="none"),n&&(n.style.display=null)}renderDownChevron(){return u.c` + + + + + `}renderUpChevron(){return u.c` + `}renderChevrons(){return u.c`${this.renderUpChevron()}${this.renderDownChevron()}`}renderDropdown(){return this.isLoadingState||!this._treeViewState?this.renderLoading():this._treeViewState?!this.isLoadingState&&0===this._treeViewState.length&&this._inputValue.length>0?this.renderError():this.renderDropdownList(this._treeViewState):u.c``}renderDropdownList(e){if(e&&e.length>0){let t=null;return u.c` + + ${Object(D.a)(e,e=>null==e?void 0:e.item,e=>{var n;return e.channels&&(t=u.c`${this.strings.photoFor} ${e.item.displayName}`),u.c` + + ${t}${e.item.displayName} + ${Object(D.a)(null==e?void 0:e.channels,e=>e.item,e=>this.renderItem(e))} + `})} + `}return null}renderItem(e){var t;return u.c` + this.onUserKeyDown(t,e)} + @click=${()=>this.handleItemClick(e)}> + ${null==e?void 0:e.item.displayName} + `}renderError(){return this.renderTemplate("error",null,"error")||u.c` +
    +
    + ${this.strings.noResultsFound} +
    +
    + `}renderLoading(){return this.renderTemplate("loading",null,"loading")||m.a` +
    + +
    + ${this.strings.loadingMessage} +
    +
    + `}loadState(){var e,t;return oa(this,void 0,void 0,function*(){const n=_.a.globalProvider;let a;if(n&&n.state===i.c.SignedIn){const i=n.graph.forComponent(this);a=yield((e,t)=>Fn(void 0,void 0,void 0,function*(){const n=yield e.api("/me/joinedTeams").select(["displayName","id","isArchived"]).middlewareOptions(Object(b.a)(...t)).get();return null==n?void 0:n.value}))(i,ca.requiredScopes),a=a.filter(e=>!e.isArchived);const r=it.a.fromGraph(i),o=a.map(e=>e.id);this.teamsPhotos=yield((e,t)=>Fn(void 0,void 0,void 0,function*(){let n,a={};if(Object(z.c)()){n=V.a.getCache(K.a.photos,K.a.photos.stores.teams);for(const e of t)try{const t=yield n.getValue(e);t&&Object(z.g)()>Date.now()-t.timeCached&&(a[e]=t)}catch(e){}if(Object.keys(a).length)return a}const i=["team.readbasic.all"];a={};for(const r of t)try{const t=yield Object(z.e)(e,`/teams/${r}`,i);Object(z.c)()&&t&&(yield n.putValue(r,t)),a[r]=t}catch(e){}return a}))(r,o);const s=i.createBatch();for(const e of a)s.get(e.id,`teams/${e.id}/channels`,ca.requiredScopes);const c=yield s.executeAll();this._items=[];for(const n of a){const a=c.get(n.id);(null===(t=null===(e=a.content)||void 0===e?void 0:e.value)||void 0===t?void 0:t.length)&&this.items.push({item:n,channels:a.content.value.map(e=>({item:e}))})}}this.filterList(),this.resetFocusState()})}removeSelectedChannel(e){this.selectChannel(e);const t=this.renderRoot.querySelectorAll("fluent-tree-item");t&&t.forEach(e=>{e.removeAttribute("expanded"),e.removeAttribute("selected")})}handleItemClick(e){e.channels?e.isExpanded=!e.isExpanded:(this.selectChannel(e),this.lostFocus())}onUserKeyDown(e,t){switch(e.code){case"Enter":this.selectChannel(t),this.resetFocusState(),this.lostFocus(),e.preventDefault();break;case"Backspace":0===this._inputValue.length&&this._selectedItemState&&(this.selectChannel(null),this.resetFocusState(),e.preventDefault())}}filterList(){this.items&&(this._treeViewState=this.generateTreeViewState(this.items,this._inputValue),this.resetFocusState())}generateTreeViewState(e,t="",n=null){const a=[];if(t=t.toLowerCase(),e)for(const i of e){let e;if(0===t.length||i.item.displayName.toLowerCase().includes(t))e={item:i.item,parent:n},i.channels&&(e.channels=this.generateTreeViewState(i.channels,"",e),e.isExpanded=t.length>0);else if(i.channels){const a={item:i.item,parent:n},r=this.generateTreeViewState(i.channels,t,a);r.length>0&&(e=a,e.channels=r,e.isExpanded=!0)}e&&a.push(e)}return a}generateFocusList(e){if(!e||0===e.length)return[];let t=[];for(const n of e)t.push(n),n.channels&&n.isExpanded&&(t=[...t,...this.generateFocusList(n.channels)]);return t}resetFocusState(){this._focusList=this.generateFocusList(this._treeViewState),this.requestUpdate()}loadTeamsIfNotLoaded(){this.items||this.isLoadingState||this.requestStateUpdate()}selectChannel(e){e&&this._selectedItemState!==e?this._input.setAttribute("disabled","true"):this._input.removeAttribute("disabled"),this._selectedItemState=e,this.lostFocus(),this.fireCustomEvent("selectionChanged",this.selectedItem)}hideCloseIcon(){const e=this.renderRoot.querySelector(".close-icon");e&&(e.style.display="none")}toggleChevron(){const e=this.renderRoot.querySelector(".down-chevron"),t=this.renderRoot.querySelector(".up-chevron");this._isDropdownVisible?(e&&(e.style.display="none"),t&&(t.style.display=null)):(e&&(e.style.display=null,this.hideCloseIcon()),t&&(t.style.display="none")),this.hideCloseIcon()}}ia([Object(f.c)(),ra("design:type",Object)],ca.prototype,"_selectedItemState",void 0),ia([Object(f.c)(),ra("design:type",Boolean)],ca.prototype,"_isDropdownVisible",void 0);const da={cancelNewTaskSubtitle:"Cancel",newTaskPlaceholder:"Add a task",addTaskButtonSubtitle:"Add",removeTaskSubtitle:"Delete Task"};class la{constructor(e){if(this.dayFormat="numeric",this.weekdayFormat="long",this.monthFormat="long",this.yearFormat="numeric",this.date=new Date,e)for(const t in e){const n=e[t];"date"===t?this.date=this.getDateObject(n):this[t]=n}}getDateObject(e){if("string"==typeof e){const t=e.split(/[/-]/);return t.length<3?new Date:new Date(parseInt(t[2],10),parseInt(t[0],10)-1,parseInt(t[1],10))}if("day"in e&&"month"in e&&"year"in e){const{day:t,month:n,year:a}=e;return new Date(a,n-1,t)}return e}getDate(e=this.date,t={weekday:this.weekdayFormat,month:this.monthFormat,day:this.dayFormat,year:this.yearFormat},n=this.locale){const a=this.getDateObject(e);if(!a.getTime())return"";const i=Object.assign({timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone},t);return new Intl.DateTimeFormat(n,i).format(a)}getDay(e=this.date.getDate(),t=this.dayFormat,n=this.locale){return this.getDate({month:1,day:e,year:2020},{day:t},n)}getMonth(e=this.date.getMonth()+1,t=this.monthFormat,n=this.locale){return this.getDate({month:e,day:2,year:2020},{month:t},n)}getYear(e=this.date.getFullYear(),t=this.yearFormat,n=this.locale){return this.getDate({month:2,day:2,year:e},{year:t},n)}getWeekday(e=0,t=this.weekdayFormat,n=this.locale){const a=`1-${e+1}-2017`;return this.getDate(a,{weekday:t},n)}getWeekdays(e=this.weekdayFormat,t=this.locale){return Array(7).fill(null).map((n,a)=>this.getWeekday(a,e,t))}}class ua extends ue.a{constructor(){super(...arguments),this.dateFormatter=new la,this.readonly=!1,this.locale="en-US",this.month=(new Date).getMonth()+1,this.year=(new Date).getFullYear(),this.dayFormat="numeric",this.weekdayFormat="short",this.monthFormat="long",this.yearFormat="numeric",this.minWeeks=0,this.disabledDates="",this.selectedDates="",this.oneDayInMs=864e5}localeChanged(){this.dateFormatter.locale=this.locale}dayFormatChanged(){this.dateFormatter.dayFormat=this.dayFormat}weekdayFormatChanged(){this.dateFormatter.weekdayFormat=this.weekdayFormat}monthFormatChanged(){this.dateFormatter.monthFormat=this.monthFormat}yearFormatChanged(){this.dateFormatter.yearFormat=this.yearFormat}getMonthInfo(e=this.month,t=this.year){const n=e=>new Date(e.getFullYear(),e.getMonth(),1).getDay(),a=e=>{const t=new Date(e.getFullYear(),e.getMonth()+1,1);return new Date(t.getTime()-this.oneDayInMs).getDate()},i=new Date(t,e-1),r=new Date(t,e),o=new Date(t,e-2);return{length:a(i),month:e,start:n(i),year:t,previous:{length:a(o),month:o.getMonth()+1,start:n(o),year:o.getFullYear()},next:{length:a(r),month:r.getMonth()+1,start:n(r),year:r.getFullYear()}}}getDays(e=this.getMonthInfo(),t=this.minWeeks){t=t>10?10:t;const{start:n,length:a,previous:i,next:r}=e,o=[];let s=1-n;for(;sa?r:e,c=s<1?i.length+s:s>a?s-a:s,d=`${t}-${c}-${n}`,l={day:c,month:t,year:n,disabled:this.dateInString(d,this.disabledDates),selected:this.dateInString(d,this.selectedDates)},u=o[o.length-1];0===o.length||u.length%7==0?o.push([l]):u.push(l),s++}return o}dateInString(e,t){const n=t.split(",").map(e=>e.trim());return e="string"==typeof e?e:`${e.getMonth()+1}-${e.getDate()}-${e.getFullYear()}`,n.some(t=>t===e)}getDayClassNames(e,t){const{day:n,month:a,year:i,disabled:r,selected:o}=e;return["day",t===`${a}-${n}-${i}`&&"today",this.month!==a&&"inactive",r&&"disabled",o&&"selected"].filter(Boolean).join(" ")}getWeekdayText(){const e=this.dateFormatter.getWeekdays().map(e=>({text:e}));if("long"!==this.weekdayFormat){const t=this.dateFormatter.getWeekdays("long");e.forEach((e,n)=>{e.abbr=t[n]})}return e}handleDateSelect(e,t){e.preventDefault,this.$emit("dateselected",t)}handleKeydown(e,t){return e.key===de.g&&this.handleDateSelect(e,t),!0}}function fa(e,t,n){return{index:e,removed:t,addedCount:n}}Object(oe.a)([Object(ce.c)({mode:"boolean"})],ua.prototype,"readonly",void 0),Object(oe.a)([ce.c],ua.prototype,"locale",void 0),Object(oe.a)([Object(ce.c)({converter:ce.e})],ua.prototype,"month",void 0),Object(oe.a)([Object(ce.c)({converter:ce.e})],ua.prototype,"year",void 0),Object(oe.a)([Object(ce.c)({attribute:"day-format",mode:"fromView"})],ua.prototype,"dayFormat",void 0),Object(oe.a)([Object(ce.c)({attribute:"weekday-format",mode:"fromView"})],ua.prototype,"weekdayFormat",void 0),Object(oe.a)([Object(ce.c)({attribute:"month-format",mode:"fromView"})],ua.prototype,"monthFormat",void 0),Object(oe.a)([Object(ce.c)({attribute:"year-format",mode:"fromView"})],ua.prototype,"yearFormat",void 0),Object(oe.a)([Object(ce.c)({attribute:"min-weeks",converter:ce.e})],ua.prototype,"minWeeks",void 0),Object(oe.a)([Object(ce.c)({attribute:"disabled-dates"})],ua.prototype,"disabledDates",void 0),Object(oe.a)([Object(ce.c)({attribute:"selected-dates"})],ua.prototype,"selectedDates",void 0);function pa(e,t,n,a,i,r){let o=0,s=0;const c=Math.min(n-t,r-i);if(0===t&&0===i&&(o=function(e,t,n){for(let a=0;a0||n>0;){if(0===t){i.push(2),n--;continue}if(0===n){i.push(3),t--;continue}const r=e[t-1][n-1],o=e[t-1][n],s=e[t][n-1];let c;c=o=0){e.splice(t,1),t--,o-=n.addedCount-n.removed.length,i.addedCount+=n.addedCount-a;const s=i.removed.length+n.removed.length-a;if(i.addedCount||s){let e=n.removed;if(i.indexn.index+n.addedCount){const t=i.removed.slice(n.index+n.addedCount-i.index);ma.apply(e,t)}i.removed=e,n.indexa?n=a-e.addedCount:n<0&&(n=a+e.removed.length+n-e.addedCount),n<0&&(n=0),e.index=n,e}class va extends ha.b{constructor(e){super(e),this.oldCollection=void 0,this.splices=void 0,this.needsQueue=!0,this.call=this.flush,Reflect.defineProperty(e,"$fastController",{value:this,enumerable:!1})}subscribe(e){this.flush(),super.subscribe(e)}addSplice(e){void 0===this.splices?this.splices=[e]:this.splices.push(e),this.needsQueue&&(this.needsQueue=!1,Ie.a.queueUpdate(this))}reset(e){this.oldCollection=e,this.needsQueue&&(this.needsQueue=!1,Ie.a.queueUpdate(this))}flush(){const e=this.splices,t=this.oldCollection;if(void 0===e&&void 0===t)return;this.needsQueue=!0,this.splices=void 0,this.oldCollection=void 0;const n=void 0===t?function(e,t){let n=[];const a=function(e){const t=[];for(let n=0,a=e.length;n0?(p<=b&&h.length>0?(u=h[p],p++):(u=s[c],c++),d--):u=r.create(),n.splice(m,0,u),a(u,i,m,t),u.insertBefore(l)}h[p]&&s.push(...h.slice(p))}for(let e=c,t=s.length;enew va(e));const e=Array.prototype;if(e.$fastPatch)return;Reflect.defineProperty(e,"$fastPatch",{value:1,enumerable:!1});const t=e.pop,n=e.push,a=e.reverse,i=e.shift,r=e.sort,o=e.splice,s=e.unshift;e.pop=function(){const e=this.length>0,n=t.apply(this,arguments),a=this.$fastController;return void 0!==a&&e&&a.addSplice(fa(this.length,[n],0)),n},e.push=function(){const e=n.apply(this,arguments),t=this.$fastController;return void 0!==t&&t.addSplice(ga(fa(this.length-arguments.length,[],arguments.length),this)),e},e.reverse=function(){let e;const t=this.$fastController;void 0!==t&&(t.flush(),e=this.slice());const n=a.apply(this,arguments);return void 0!==t&&t.reset(e),n},e.shift=function(){const e=this.length>0,t=i.apply(this,arguments),n=this.$fastController;return void 0!==n&&e&&n.addSplice(fa(0,[t],0)),t},e.sort=function(){let e;const t=this.$fastController;void 0!==t&&(t.flush(),e=this.slice());const n=r.apply(this,arguments);return void 0!==t&&t.reset(e),n},e.splice=function(){const e=o.apply(this,arguments),t=this.$fastController;return void 0!==t&&t.addSplice(ga(fa(+arguments[0],e,arguments.length>2?arguments.length-2:0),this)),e},e.unshift=function(){const e=s.apply(this,arguments),t=this.$fastController;return void 0!==t&&t.addSplice(ga(fa(0,[],arguments.length),this)),e}}(),this.isItemsBindingVolatile=se.b.isVolatileBinding(e),this.isTemplateBindingVolatile=se.b.isVolatileBinding(t)}createBehavior(e){return new xa(e,this.itemsBinding,this.isItemsBindingVolatile,this.templateBinding,this.isTemplateBindingVolatile,this.options)}}function Oa(e,t,n=Sa){return new Ca(e,"function"==typeof t?t:()=>t,Object.assign(Object.assign({},Sa),n))}const wa="sticky",Ea="default",Aa="columnheader",La="default",ka=Se.a` + +`,Ma=Se.a` + +`;class Pa extends ue.a{constructor(){super(...arguments),this.cellType=Ea,this.rowData=null,this.columnDefinition=null,this.isActiveCell=!1,this.customCellView=null,this.updateCellStyle=()=>{this.style.gridColumn=this.gridColumn}}cellTypeChanged(){this.$fastController.isConnected&&this.updateCellView()}gridColumnChanged(){this.$fastController.isConnected&&this.updateCellStyle()}columnDefinitionChanged(e,t){this.$fastController.isConnected&&this.updateCellView()}connectedCallback(){var e;super.connectedCallback(),this.addEventListener(cn,this.handleFocusin),this.addEventListener(dn,this.handleFocusout),this.addEventListener(ln,this.handleKeydown),this.style.gridColumn=`${void 0===(null===(e=this.columnDefinition)||void 0===e?void 0:e.gridColumn)?0:this.columnDefinition.gridColumn}`,this.updateCellView(),this.updateCellStyle()}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(cn,this.handleFocusin),this.removeEventListener(dn,this.handleFocusout),this.removeEventListener(ln,this.handleKeydown),this.disconnectCellView()}handleFocusin(e){if(!this.isActiveCell){if(this.isActiveCell=!0,this.cellType===Aa){if(null!==this.columnDefinition&&!0!==this.columnDefinition.headerCellInternalFocusQueue&&"function"==typeof this.columnDefinition.headerCellFocusTargetCallback){const e=this.columnDefinition.headerCellFocusTargetCallback(this);null!==e&&e.focus()}}else if(null!==this.columnDefinition&&!0!==this.columnDefinition.cellInternalFocusQueue&&"function"==typeof this.columnDefinition.cellFocusTargetCallback){const e=this.columnDefinition.cellFocusTargetCallback(this);null!==e&&e.focus()}this.$emit("cell-focused",this)}}handleFocusout(e){this===document.activeElement||this.contains(document.activeElement)||(this.isActiveCell=!1)}handleKeydown(e){if(!(e.defaultPrevented||null===this.columnDefinition||this.cellType===Ea&&!0!==this.columnDefinition.cellInternalFocusQueue||this.cellType===Aa&&!0!==this.columnDefinition.headerCellInternalFocusQueue))switch(e.key){case de.g:case de.i:if(this.contains(document.activeElement)&&document.activeElement!==this)return;if(this.cellType===Aa){if(void 0!==this.columnDefinition.headerCellFocusTargetCallback){const t=this.columnDefinition.headerCellFocusTargetCallback(this);null!==t&&t.focus(),e.preventDefault()}}else if(void 0!==this.columnDefinition.cellFocusTargetCallback){const t=this.columnDefinition.cellFocusTargetCallback(this);null!==t&&t.focus(),e.preventDefault()}break;case de.h:this.contains(document.activeElement)&&document.activeElement!==this&&(this.focus(),e.preventDefault())}}updateCellView(){if(this.disconnectCellView(),null!==this.columnDefinition)switch(this.cellType){case Aa:void 0!==this.columnDefinition.headerCellTemplate?this.customCellView=this.columnDefinition.headerCellTemplate.render(this,this):this.customCellView=Ma.render(this,this);break;case void 0:case"rowheader":case Ea:void 0!==this.columnDefinition.cellTemplate?this.customCellView=this.columnDefinition.cellTemplate.render(this,this):this.customCellView=ka.render(this,this)}}disconnectCellView(){null!==this.customCellView&&(this.customCellView.dispose(),this.customCellView=null)}}Object(oe.a)([Object(ce.c)({attribute:"cell-type"})],Pa.prototype,"cellType",void 0),Object(oe.a)([Object(ce.c)({attribute:"grid-column"})],Pa.prototype,"gridColumn",void 0),Object(oe.a)([se.d],Pa.prototype,"rowData",void 0),Object(oe.a)([se.d],Pa.prototype,"columnDefinition",void 0);class Ta extends ue.a{constructor(){super(...arguments),this.rowType=La,this.rowData=null,this.columnDefinitions=null,this.isActiveRow=!1,this.cellsRepeatBehavior=null,this.cellsPlaceholder=null,this.focusColumnIndex=0,this.refocusOnLoad=!1,this.updateRowStyle=()=>{this.style.gridTemplateColumns=this.gridTemplateColumns}}gridTemplateColumnsChanged(){this.$fastController.isConnected&&this.updateRowStyle()}rowTypeChanged(){this.$fastController.isConnected&&this.updateItemTemplate()}rowDataChanged(){null!==this.rowData&&this.isActiveRow&&(this.refocusOnLoad=!0)}cellItemTemplateChanged(){this.updateItemTemplate()}headerCellItemTemplateChanged(){this.updateItemTemplate()}connectedCallback(){super.connectedCallback(),null===this.cellsRepeatBehavior&&(this.cellsPlaceholder=document.createComment(""),this.appendChild(this.cellsPlaceholder),this.updateItemTemplate(),this.cellsRepeatBehavior=new Ca(e=>e.columnDefinitions,e=>e.activeCellItemTemplate,{positioning:!0}).createBehavior(this.cellsPlaceholder),this.$fastController.addBehaviors([this.cellsRepeatBehavior])),this.addEventListener("cell-focused",this.handleCellFocus),this.addEventListener(dn,this.handleFocusout),this.addEventListener(ln,this.handleKeydown),this.updateRowStyle(),this.refocusOnLoad&&(this.refocusOnLoad=!1,this.cellElements.length>this.focusColumnIndex&&this.cellElements[this.focusColumnIndex].focus())}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("cell-focused",this.handleCellFocus),this.removeEventListener(dn,this.handleFocusout),this.removeEventListener(ln,this.handleKeydown)}handleFocusout(e){this.contains(e.target)||(this.isActiveRow=!1,this.focusColumnIndex=0)}handleCellFocus(e){this.isActiveRow=!0,this.focusColumnIndex=this.cellElements.indexOf(e.target),this.$emit("row-focused",this)}handleKeydown(e){if(e.defaultPrevented)return;let t=0;switch(e.key){case de.c:t=Math.max(0,this.focusColumnIndex-1),this.cellElements[t].focus(),e.preventDefault();break;case de.d:t=Math.min(this.cellElements.length-1,this.focusColumnIndex+1),this.cellElements[t].focus(),e.preventDefault();break;case de.j:e.ctrlKey||(this.cellElements[0].focus(),e.preventDefault());break;case de.f:e.ctrlKey||(this.cellElements[this.cellElements.length-1].focus(),e.preventDefault())}}updateItemTemplate(){this.activeCellItemTemplate=this.rowType===La&&void 0!==this.cellItemTemplate?this.cellItemTemplate:this.rowType===La&&void 0===this.cellItemTemplate?this.defaultCellItemTemplate:void 0!==this.headerCellItemTemplate?this.headerCellItemTemplate:this.defaultHeaderCellItemTemplate}}Object(oe.a)([Object(ce.c)({attribute:"grid-template-columns"})],Ta.prototype,"gridTemplateColumns",void 0),Object(oe.a)([Object(ce.c)({attribute:"row-type"})],Ta.prototype,"rowType",void 0),Object(oe.a)([se.d],Ta.prototype,"rowData",void 0),Object(oe.a)([se.d],Ta.prototype,"columnDefinitions",void 0),Object(oe.a)([se.d],Ta.prototype,"cellItemTemplate",void 0),Object(oe.a)([se.d],Ta.prototype,"headerCellItemTemplate",void 0),Object(oe.a)([se.d],Ta.prototype,"rowIndex",void 0),Object(oe.a)([se.d],Ta.prototype,"isActiveRow",void 0),Object(oe.a)([se.d],Ta.prototype,"activeCellItemTemplate",void 0),Object(oe.a)([se.d],Ta.prototype,"defaultCellItemTemplate",void 0),Object(oe.a)([se.d],Ta.prototype,"defaultHeaderCellItemTemplate",void 0),Object(oe.a)([se.d],Ta.prototype,"cellElements",void 0);class Ua extends ue.a{constructor(){super(),this.noTabbing=!1,this.generateHeader="default",this.rowsData=[],this.columnDefinitions=null,this.focusRowIndex=0,this.focusColumnIndex=0,this.rowsPlaceholder=null,this.generatedHeader=null,this.isUpdatingFocus=!1,this.pendingFocusUpdate=!1,this.rowindexUpdateQueued=!1,this.columnDefinitionsStale=!0,this.generatedGridTemplateColumns="",this.focusOnCell=(e,t,n)=>{if(0===this.rowElements.length)return this.focusRowIndex=0,void(this.focusColumnIndex=0);const a=Math.max(0,Math.min(this.rowElements.length-1,e)),i=this.rowElements[a].querySelectorAll('[role="cell"], [role="gridcell"], [role="columnheader"], [role="rowheader"]'),r=i[Math.max(0,Math.min(i.length-1,t))];n&&this.scrollHeight!==this.clientHeight&&(a0||a>this.focusRowIndex&&this.scrollTop{e&&e.length&&(e.forEach(e=>{e.addedNodes.forEach(e=>{1===e.nodeType&&"row"===e.getAttribute("role")&&(e.columnDefinitions=this.columnDefinitions)})}),this.queueRowIndexUpdate())},this.queueRowIndexUpdate=()=>{this.rowindexUpdateQueued||(this.rowindexUpdateQueued=!0,Ie.a.queueUpdate(this.updateRowIndexes))},this.updateRowIndexes=()=>{let e=this.gridTemplateColumns;if(void 0===e){if(""===this.generatedGridTemplateColumns&&this.rowElements.length>0){const e=this.rowElements[0];this.generatedGridTemplateColumns=new Array(e.cellElements.length).fill("1fr").join(" ")}e=this.generatedGridTemplateColumns}this.rowElements.forEach((t,n)=>{const a=t;a.rowIndex=n,a.gridTemplateColumns=e,this.columnDefinitionsStale&&(a.columnDefinitions=this.columnDefinitions)}),this.rowindexUpdateQueued=!1,this.columnDefinitionsStale=!1}}static generateTemplateColumns(e){let t="";return e.forEach(e=>{t=`${t}${""===t?"":" "}1fr`}),t}noTabbingChanged(){this.$fastController.isConnected&&(this.noTabbing?this.setAttribute("tabIndex","-1"):this.setAttribute("tabIndex",this.contains(document.activeElement)||this===document.activeElement?"-1":"0"))}generateHeaderChanged(){this.$fastController.isConnected&&this.toggleGeneratedHeader()}gridTemplateColumnsChanged(){this.$fastController.isConnected&&this.updateRowIndexes()}rowsDataChanged(){null===this.columnDefinitions&&this.rowsData.length>0&&(this.columnDefinitions=Ua.generateColumns(this.rowsData[0])),this.$fastController.isConnected&&this.toggleGeneratedHeader()}columnDefinitionsChanged(){null!==this.columnDefinitions?(this.generatedGridTemplateColumns=Ua.generateTemplateColumns(this.columnDefinitions),this.$fastController.isConnected&&(this.columnDefinitionsStale=!0,this.queueRowIndexUpdate())):this.generatedGridTemplateColumns=""}headerCellItemTemplateChanged(){this.$fastController.isConnected&&null!==this.generatedHeader&&(this.generatedHeader.headerCellItemTemplate=this.headerCellItemTemplate)}focusRowIndexChanged(){this.$fastController.isConnected&&this.queueFocusUpdate()}focusColumnIndexChanged(){this.$fastController.isConnected&&this.queueFocusUpdate()}connectedCallback(){super.connectedCallback(),void 0===this.rowItemTemplate&&(this.rowItemTemplate=this.defaultRowItemTemplate),this.rowsPlaceholder=document.createComment(""),this.appendChild(this.rowsPlaceholder),this.toggleGeneratedHeader(),this.rowsRepeatBehavior=new Ca(e=>e.rowsData,e=>e.rowItemTemplate,{positioning:!0}).createBehavior(this.rowsPlaceholder),this.$fastController.addBehaviors([this.rowsRepeatBehavior]),this.addEventListener("row-focused",this.handleRowFocus),this.addEventListener(sn,this.handleFocus),this.addEventListener(ln,this.handleKeydown),this.addEventListener(dn,this.handleFocusOut),this.observer=new MutationObserver(this.onChildListChange),this.observer.observe(this,{childList:!0}),this.noTabbing&&this.setAttribute("tabindex","-1"),Ie.a.queueUpdate(this.queueRowIndexUpdate)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("row-focused",this.handleRowFocus),this.removeEventListener(sn,this.handleFocus),this.removeEventListener(ln,this.handleKeydown),this.removeEventListener(dn,this.handleFocusOut),this.observer.disconnect(),this.rowsPlaceholder=null,this.generatedHeader=null}handleRowFocus(e){this.isUpdatingFocus=!0;const t=e.target;this.focusRowIndex=this.rowElements.indexOf(t),this.focusColumnIndex=t.focusColumnIndex,this.setAttribute("tabIndex","-1"),this.isUpdatingFocus=!1}handleFocus(e){this.focusOnCell(this.focusRowIndex,this.focusColumnIndex,!0)}handleFocusOut(e){null!==e.relatedTarget&&this.contains(e.relatedTarget)||this.setAttribute("tabIndex",this.noTabbing?"-1":"0")}handleKeydown(e){if(e.defaultPrevented)return;let t;const n=this.rowElements.length-1,a=this.offsetHeight+this.scrollTop,i=this.rowElements[n];switch(e.key){case de.e:e.preventDefault(),this.focusOnCell(this.focusRowIndex-1,this.focusColumnIndex,!0);break;case de.b:e.preventDefault(),this.focusOnCell(this.focusRowIndex+1,this.focusColumnIndex,!0);break;case de.l:if(e.preventDefault(),0===this.rowElements.length){this.focusOnCell(0,0,!1);break}if(0===this.focusRowIndex)return void this.focusOnCell(0,this.focusColumnIndex,!1);for(t=this.focusRowIndex-1;t>=0;t--){const e=this.rowElements[t];if(e.offsetTop=n||i.offsetTop+i.offsetHeight<=a)return void this.focusOnCell(n,this.focusColumnIndex,!1);for(t=this.focusRowIndex+1;t<=n;t++){const e=this.rowElements[t];if(e.offsetTop+e.offsetHeight>a){let t=0;this.generateHeader===wa&&null!==this.generatedHeader&&(t=this.generatedHeader.clientHeight),this.scrollTop=e.offsetTop-t;break}}this.focusOnCell(t,this.focusColumnIndex,!1);break;case de.j:e.ctrlKey&&(e.preventDefault(),this.focusOnCell(0,0,!0));break;case de.f:e.ctrlKey&&null!==this.columnDefinitions&&(e.preventDefault(),this.focusOnCell(this.rowElements.length-1,this.columnDefinitions.length-1,!0))}}queueFocusUpdate(){this.isUpdatingFocus&&(this.contains(document.activeElement)||this===document.activeElement)||!1===this.pendingFocusUpdate&&(this.pendingFocusUpdate=!0,Ie.a.queueUpdate(()=>this.updateFocus()))}updateFocus(){this.pendingFocusUpdate=!1,this.focusOnCell(this.focusRowIndex,this.focusColumnIndex,!0)}toggleGeneratedHeader(){if(null!==this.generatedHeader&&(this.removeChild(this.generatedHeader),this.generatedHeader=null),"none"!==this.generateHeader&&this.rowsData.length>0){const e=document.createElement(this.rowElementTag);return this.generatedHeader=e,this.generatedHeader.columnDefinitions=this.columnDefinitions,this.generatedHeader.gridTemplateColumns=this.gridTemplateColumns,this.generatedHeader.rowType=this.generateHeader===wa?"sticky-header":"header",void(null===this.firstChild&&null===this.rowsPlaceholder||this.insertBefore(e,null!==this.firstChild?this.firstChild:this.rowsPlaceholder))}}}Ua.generateColumns=e=>Object.getOwnPropertyNames(e).map((e,t)=>({columnDataKey:e,gridColumn:`${t}`})),Object(oe.a)([Object(ce.c)({attribute:"no-tabbing",mode:"boolean"})],Ua.prototype,"noTabbing",void 0),Object(oe.a)([Object(ce.c)({attribute:"generate-header"})],Ua.prototype,"generateHeader",void 0),Object(oe.a)([Object(ce.c)({attribute:"grid-template-columns"})],Ua.prototype,"gridTemplateColumns",void 0),Object(oe.a)([se.d],Ua.prototype,"rowsData",void 0),Object(oe.a)([se.d],Ua.prototype,"columnDefinitions",void 0),Object(oe.a)([se.d],Ua.prototype,"rowItemTemplate",void 0),Object(oe.a)([se.d],Ua.prototype,"cellItemTemplate",void 0),Object(oe.a)([se.d],Ua.prototype,"headerCellItemTemplate",void 0),Object(oe.a)([se.d],Ua.prototype,"focusRowIndex",void 0),Object(oe.a)([se.d],Ua.prototype,"focusColumnIndex",void 0),Object(oe.a)([se.d],Ua.prototype,"defaultRowItemTemplate",void 0),Object(oe.a)([se.d],Ua.prototype,"rowElementTag",void 0),Object(oe.a)([se.d],Ua.prototype,"rowElements",void 0);const Fa=Se.a` +
    + + ${e=>e.dateFormatter.getMonth(e.month)} + + ${e=>e.dateFormatter.getYear(e.year)} +
    +`,Ha=Oe.a` +.day.disabled::before { + transform: translate(-50%, 0) rotate(45deg); +} +`,Ra=Oe.a` +.day.disabled::before { + transform: translate(50%, 0) rotate(-45deg); +} +`;class Na extends ua{constructor(){super(...arguments),this.readonly=!0}}Object(bt.a)([Object(ce.c)({converter:ce.d})],Na.prototype,"readonly",void 0);const Ba=Na.compose({baseName:"calendar",template:(e,t)=>{var n;const a=new Date,i=`${a.getMonth()+1}-${a.getDate()}-${a.getFullYear()}`;return Se.a` + + `},styles:(e,t)=>Oe.a` +${Object(we.a)("inline-block")} :host { + --calendar-cell-size: calc((${Ee.n} + 2 + ${Ee.r}) * ${Ee.s} * 1px); + --calendar-gap: 2px; + ${Tt.a} + color: ${Ee.fb}; +} + +.title { + padding: calc(${Ee.s} * 2px); + font-weight: 600; +} + +.days { + text-align: center; +} + +.week-days, +.week { + display: grid; + grid-template-columns: repeat(7, 1fr); + grid-gap: var(--calendar-gap); + border: 0; + padding: 0; +} + +.day, +.week-day { + border: 0; + width: var(--calendar-cell-size); + height: var(--calendar-cell-size); + line-height: var(--calendar-cell-size); + padding: 0; + box-sizing: initial; +} + +.week-day { + font-weight: 600; +} + +.day { + border: calc(${Ee.vb} * 1px) solid transparent; + border-radius: calc(${Ee.q} * 1px); +} + +.interact .day { + cursor: pointer; +} + +.date { + height: 100%; +} + +.inactive .date, +.inactive.disabled::before { + color: ${Ee.cb}; +} + +.disabled::before { + content: ''; + display: inline-block; + width: calc(var(--calendar-cell-size) * .8); + height: calc(${Ee.vb} * 1px); + background: currentColor; + position: absolute; + margin-top: calc(var(--calendar-cell-size) / 2); + transform-origin: center; + z-index: 1; +} + +.selected { + color: ${Ee.e}; + border: 1px solid ${Ee.e}; + background: ${Ee.v}; +} + +.selected + .selected { + border-start-start-radius: 0; + border-end-start-radius: 0; + border-inline-start-width: 0; + padding-inline-start: calc(var(--calendar-gap) + (${Ee.vb} + ${Ee.q}) * 1px); + margin-inline-start: calc((${Ee.q} * -1px) - var(--calendar-gap)); +} + +.today.disabled::before { + color: ${Ee.C}; +} + +.today .date { + color: ${Ee.C}; + background: ${Ee.e}; + border-radius: 50%; + position: relative; +} +`.withBehaviors(Object(At.a)(Oe.a` + .day.selected { + color: ${Lt.a.Highlight}; + } + + .today .date { + background: ${Lt.a.Highlight}; + color: ${Lt.a.HighlightText}; + } + `),new zt(Ha,Ra)),title:Fa});var ja=function(e,t,n,a){var i,r=arguments.length,o=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,a);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o},Va=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};class za extends p.a{get strings(){return da}constructor(){super(),this.handleTaskClick=e=>{this.fireCustomEvent("taskClick",{task:e})},this.onResize=()=>{this.mediaQuery!==this._previousMediaQuery&&(this._previousMediaQuery=this.mediaQuery,this.requestUpdate())},Object(T.a)(qe.a,Me.a,Ba),this.clearState(),this._previousMediaQuery=this.mediaQuery}attributeChangedCallback(e,t,n){switch(super.attributeChangedCallback(e,t,n),e){case"target-id":case"initial-id":this.clearState(),this.requestStateUpdate()}}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.onResize)}disconnectedCallback(){window.removeEventListener("resize",this.onResize),super.disconnectedCallback()}render(){const e=_.a.globalProvider;if(!e||e.state!==i.c.SignedIn)return u.c``;if(this.isLoadingState)return this.renderLoadingTask();const t=this.renderPicker(),n=this.renderNewTask(),a=this.isLoadingState?this.renderLoadingTask():this.renderTasks();return u.c` + ${t} + ${n} +
    + ${a} +
    + `}renderLoadingTask(){return u.c` +
    +
    +
    +
    +
    +
    +
    + `}clearState(){this.requestUpdate()}dateToInputValue(e){return e?new Date(e.getTime()-6e4*e.getTimezoneOffset()).toISOString().split("T")[0]:null}}ja([Object(f.b)({attribute:"read-only",type:Boolean}),Va("design:type",Boolean)],za.prototype,"readOnly",void 0),ja([Object(f.b)({attribute:"hide-header",type:Boolean}),Va("design:type",Boolean)],za.prototype,"hideHeader",void 0),ja([Object(f.b)({attribute:"hide-options",type:Boolean}),Va("design:type",Boolean)],za.prototype,"hideOptions",void 0),ja([Object(f.b)({attribute:"target-id",type:String}),Va("design:type",String)],za.prototype,"targetId",void 0),ja([Object(f.b)({attribute:"initial-id",type:String}),Va("design:type",String)],za.prototype,"initialId",void 0);var Ga=function(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})};const Ka=(e,t)=>Ga(void 0,void 0,void 0,function*(){const n=yield e.api(`/me/todo/lists/${t}/tasks`).header("Cache-Control","no-store").middlewareOptions(Object(b.a)("Tasks.Read")).get();return null==n?void 0:n.value}),Wa=(e,t)=>Ga(void 0,void 0,void 0,function*(){return yield e.api(`/me/todo/lists/${t}`).header("Cache-Control","no-store").middlewareOptions(Object(b.a)("Tasks.Read")).get()}),qa=[u.b` +:host([hidden]){display:none}:host{display:block;font-family:var(--default-font-family, "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, "BlinkMacSystemFont", "Roboto", "Helvetica Neue", sans-serif);font-size:var(--default-font-size,14px);--theme-primary-color:#0078d7;--theme-dark-color:#005a9e}:focus-visible{outline-color:var(--focus-ring-color,Highlight);outline-color:var(--focus-ring-color,-webkit-focus-ring-color);outline-style:var(--focus-ring-style,auto)}.ms-icon{display:inline-block;font-family:FabricMDL2Icons;font-style:normal;font-weight:400;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:4px 0}.error{background-color:#fde7e9;padding-block:8px;padding-inline:8px 12px}.ms-icon-chevron-down::before{content:"\\\e70d"}.ms-icon-chevron-up::before{content:"\\\e70e"}.ms-icon-contact::before{content:"\\\e77b"}.ms-icon-add-friend::before{content:"\\\e8fa"}.ms-icon-outlook-logo-inverser::before{content:"\\\eb6d"}:host{display:flex;flex-direction:column;color:var(--color,var(--neutral-foreground-rest))}:host input[type=date]::-webkit-calendar-picker-indicator,:host input[type=date]::-webkit-inner-spin-button{display:none;appearance:none}:host .task-icon{font-family:FabricMDL2Icons;user-select:none}:host .task-icon.divider{vertical-align:initial;margin:0 12px;font-size:16px}:host .header{margin:var(--tasks-header-margin,0 0 12px 0);padding:var(--tasks-title-padding,0);display:flex;align-items:center;justify-content:space-between}:host .header .header__loading{max-width:90px;width:100%;height:20px;background:#f2f2f2}:host .header select{font-size:var(--tasks-plan-title-font-size,1.1em);padding:var(--tasks-plan-title-padding,5px);border:none;appearance:none;cursor:pointer}:host .header select::-ms-expand{display:none}:host .header .plan-title{font-size:var(--tasks-plan-title-font-size,1.1em);padding:var(--tasks-plan-title-padding,5px)}:host .header .add-bar{display:flex}:host .header .add-bar .add-bar-item{flex:1 1 auto}:host .header .new-task-due{display:flex}:host .header .new-task-due input{flex:1 1 auto;background-color:var(--task-background-color,var(--neutral-layer-floating))}:host .header .title-cont{flex:1 1 auto;display:flex;align-items:center;height:var(--tasks-new-button-height,34px)}:host .header .new-task-button{flex:0 0 auto;display:flex;justify-content:center;align-items:center;width:var(--tasks-new-button-width,auto);height:var(--tasks-new-button-height,32px);border-radius:2px;padding:0 20px;background:var(--tasks-new-button-background,#0078d4);border:var(--tasks-new-button-border,solid 1px transparent);color:var(--tasks-new-button-color,#fff);user-select:none;cursor:pointer}:host .header .new-task-button span{font-size:14px;font-weight:600;letter-spacing:.1px;line-height:14px}:host .header .new-task-button .task-icon{margin-right:8px}:host .header .new-task-button.hidden{visibility:hidden}:host .header .new-task-button:hover{background:var(--tasks-new-button-hover-background,#106ebe)}:host .header .new-task-button:active{background:var(--tasks-new-button-active-background,#005a9e)}:host .task{position:relative;margin:var(--task-margin,0 0 0 0);padding:var(--task-padding,0 0 0 0);background-color:var(--task-background-color,var(--neutral-layer-floating));border:var(--task-border,var(--neutral-stroke-input-active));border-radius:8px}:host .task .task-content{display:flex}:host .task .task-content .divider{position:absolute;height:2px;left:0;right:0;bottom:0;background-color:var(--task-background-color,var(--neutral-layer-floating))}:host .task .task-content .task-details-container{flex:1;display:grid;grid-template-columns:auto 1fr;-ms-grid-columns:auto 1fr;grid-template-rows:auto auto auto auto;-ms-grid-rows:auto auto auto auto;justify-content:space-between;align-items:flex-start;color:var(--task-detail-color,var(--neutral-foreground-hint));font-size:12px;font-weight:600;white-space:normal;margin-bottom:12px}:host .task .task-content .task-details-container .task-detail{width:100%;height:100%;margin:4px 24px 6px 0;display:flex;justify-content:flex-start;align-items:center}:host .task .task-content .task-details-container .task-title{color:var(--task-color,var(--neutral-foreground-rest));font-size:14px;font-weight:600;grid-row:1;grid-column:1/3;grid-column:1;-ms-grid-column-span:2;margin:22px 0 4px}:host .task .task-content .task-details-container .task-group{min-height:24px;grid-row:2;grid-column:1}:host .task .task-content .task-details-container .task-bucket{min-height:24px;grid-row:2;grid-column:2}:host .task .task-content .task-details-container .task-due{justify-content:flex-end;align-items:flex-start;grid-row:4;grid-column:1/3;grid-column:1;-ms-grid-column-span:2}:host .task .task-content .task-details-container.tablet{grid-template-columns:1fr .5fr 1fr .5fr;-ms-grid-columns:1fr .5fr 1fr .5fr;grid-template-rows:auto auto;-ms-grid-rows:auto auto}:host .task .task-content .task-details-container.tablet.no-plan{grid-template-columns:0 1fr 1fr 1fr;-ms-grid-columns:0 1fr 1fr 1fr}:host .task .task-content .task-details-container.tablet .task-detail{margin:4px 24px 6px 0}:host .task .task-content .task-details-container.tablet .task-title{grid-row:1;grid-column:1/5;grid-column:1;-ms-grid-column-span:4}:host .task .task-content .task-details-container.tablet .task-group{grid-row:2;grid-column:1}:host .task .task-content .task-details-container.tablet .task-bucket{grid-row:2;grid-column:2}:host .task .task-content .task-details-container.tablet .task-assignee{grid-row:2;grid-column:3}:host .task .task-content .task-details-container.tablet .task-due{justify-content:flex-start;align-items:center;grid-row:2;grid-column:4}:host .task .task-content .task-details-container.desktop{grid-template-columns:2fr 1fr .5fr 1fr .5fr;-ms-grid-columns:2fr 1fr .5fr 1fr .5fr;grid-template-rows:auto;-ms-grid-rows:auto;margin:0}:host .task .task-content .task-details-container.desktop.no-plan{grid-template-columns:2fr 0 1fr 1fr 1fr;-ms-grid-columns:2fr 0 1fr 1fr 1fr}:host .task .task-content .task-details-container.desktop .task-detail{margin:0 24px 0 0}:host .task .task-content .task-details-container.desktop .task-title{padding:0;grid-row:1;grid-column:1}:host .task .task-content .task-details-container.desktop .task-group{min-height:61px;grid-row:1;grid-column:2}:host .task .task-content .task-details-container.desktop .task-bucket{grid-row:1;grid-column:3}:host .task .task-content .task-details-container.desktop .task-assignee{grid-row:1;grid-column:4}:host .task .task-content .task-details-container.desktop .task-due{justify-content:flex-start;align-items:center;grid-row:1;grid-column:5}:host .task .task-content .task-details-container svg{vertical-align:middle;margin-right:4px}:host .task .task-content .task-details-container svg path{fill:var(--task-detail-color,var(--neutral-foreground-hint))}:host .task .task-content .task-details-container select,:host .task .task-content .task-details-container span{vertical-align:middle;color:var(--task-detail-color,var(--neutral-foreground-hint))}:host .task .task-content .task-details-container .task-icon{color:#797775;margin-right:8px}:host .task .task-content .task-details-container .people{color:var(--task-detail-color,var(--neutral-foreground-hint));font-size:16px}:host .task .task-content .task-details-container .person{display:inline-block}:host .task .task-content .task-details-container .picker{background-color:var(--task-background-color,var(--neutral-layer-floating));background-clip:padding-box;width:var(--mgt-flyout-set-width,350px);color:var(--task-detail-color,var(--neutral-foreground-hint))}:host .task .task-content .task-details-container .picker .people-picker{--separator-margin:0px 10px 0px 10px}:host .task .task-content .task-details-container input,:host .task .task-content .task-details-container select{color:var(--task-detail-color,var(--neutral-foreground-hint));font-size:.9em;background-color:var(--task-background-color,var(--neutral-layer-floating))}:host .task .task-check-container{font-family:FabricMDL2Icons;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:var(--task-icon-alignment,flex-start);margin:21px 10px 20px 20px;user-select:none}:host .task .task-check-container.complete .task-check{background-color:var(--task-icon-background-completed,#00ad56);border:var(--task-icon-border-completed,solid 1px #fff);color:var(--task-icon-color-completed,#fff)}:host .task .task-check-container.complete .task-content .task-details-container .task-title{text-decoration:line-through;color:var(--task-detail-color,var(--neutral-foreground-hint))}:host .task .task-check-container .task-check{font-family:FabricMDL2Icons;font-size:12px;width:18px;height:18px;border-radius:var(--task-icon-border-radius,50%);border:var(--task-icon-border,solid 1px #797775);color:var(--task-color,var(--neutral-foreground-rest));display:flex;justify-content:center;align-items:center;background-color:var(--task-icon-background,transparent);user-select:none}:host .task .task-check-container .task-check.loading .task-check-content{animation:rotate-icon 2s infinite linear}:host .task .task-options{cursor:pointer;user-select:none;margin:16px 8px 0 0}:host .task.read-only .task-check-container{cursor:default}:host .task.complete{background:var(--task-complete-background,var(--neutral-layer-1));border:var(--task-complete-border,2px dotted inherit)}:host .task.complete .task-content .task-details-container .task-title{text-decoration:line-through;color:var(--task-detail-color,var(--neutral-foreground-hint))}:host .task.new-task{margin:var(--task-new-margin,var(--task-margin,0 0 24px 0));display:flex;flex-direction:row}:host .task.new-task .self-assign{display:none}:host .task.new-task .assign-to{border:0;background:0 0}:host .task.new-task .fake-check-box{width:15px;height:15px;cursor:pointer;margin:0 5px}:host .task.new-task .fake-check-box::after{font-family:FabricMDL2Icons;content:"uE739"}:host .task.new-task .fake-check-box~:checked{font-family:FabricMDL2Icons;content:"uE73A"}:host .task.new-task .task-content{flex:1 1 auto;align-content:center;vertical-align:middle;margin:0 0 0 12px}:host .task.new-task .task-content .task-details-container{display:flex;flex-direction:column;align-items:stretch;margin:0}:host .task.new-task .task-content .task-details-container .task-title{display:flex;height:32px;padding:2px}:host .task.new-task .task-content .task-details-container .task-title input{flex:1;margin:var(--task-new-input-margin,0 24px 0 16px);padding:var(--task-new-input-padding,6px);font-size:var(--task-new-input-font-size,14px);font-weight:600;border:var(--task-new-border,none);border-bottom:1px solid #e1dfdd;outline:0;border-radius:0;background-color:var(--task-background-color,var(--neutral-layer-floating))}:host .task.new-task .task-content .task-details-container .task-title input:hover{border-bottom:1px solid #106ebe}:host .task.new-task .task-content .task-details-container .task-title input:active{border-bottom:1px solid #005a9e}:host .task.new-task .task-content .task-details-container .task-title input:focus{border-bottom:1px solid #0078d4}:host .task.new-task .task-content .task-details-container .task-details{display:flex;justify-content:stretch;align-items:center;flex-wrap:wrap;margin:14px 0 14px 4px}:host .task.new-task .task-content .task-details-container .task-details .new-task-group{margin:8px 16px}:host .task.new-task .task-content .task-details-container .task-details .new-task-bucket{margin:8px 16px}:host .task.new-task .task-content .task-details-container .task-details .new-task-due{margin:8px 16px}:host .task.new-task .task-content .task-details-container .task-details .new-task-assignee{margin:8px 16px;min-width:80px}:host .task.new-task .task-content .task-details-container .task-details .task-people label{display:flex;align-content:center;align-items:center}:host .task.new-task .task-content .task-details-container .task-details input,:host .task.new-task .task-content .task-details-container .task-details select{font-size:12px;font-weight:600;border:var(--task-new-select-border,none);border-bottom:1px solid #e1dfdd}:host .task.new-task .task-content .task-details-container .task-details input:hover,:host .task.new-task .task-content .task-details-container .task-details select:hover{border-bottom:1px solid #106ebe}:host .task.new-task .task-content .task-details-container .task-details input:active,:host .task.new-task .task-content .task-details-container .task-details select:active{border-bottom:1px solid #005a9e}:host .task.new-task .task-content .task-details-container .task-details input:focus,:host .task.new-task .task-content .task-details-container .task-details select:focus{border-bottom:1px solid #0078d4}:host .task.new-task .task-add-button-container{margin-right:28px}:host .task.new-task .task-add-button-container .task-add,:host .task.new-task .task-add-button-container .task-cancel{justify-content:center;align-items:center;cursor:pointer;flex:0 0 auto;display:flex;width:var(--tasks-new-button-width,100px);height:var(--tasks-new-button-height,32px);border-radius:4px;border:var(--tasks-new-button-border,solid 1px #e5e5e5);font-size:14px;line-height:20px}:host .task.new-task .task-add-button-container .task-add{color:#fff;background:var(--task-new-add-button-background,#0078d4);margin:22px 0 12px auto}:host .task.new-task .task-add-button-container .task-cancel{color:var(--task-new-cancel-button-color,var(--neutral-foreground-rest))}:host .task.new-task .task-add-button-container.disabled .task-add{color:var(--task-new-cancel-button-color,var(--neutral-foreground-rest));background:var(--task-new-add-button-disabled-background,#fff);cursor:default}@keyframes rotate-icon{from{transform:rotate(0)}to{transform:rotate(360deg)}}[dir=rtl] .arrow-options{--arrow-options-left:auto}[dir=rtl] .dot-options{--dot-options-translatex:translateX(60px)}[dir=rtl] .task-details{margin-right:14px!important}[dir=rtl] .task-icon{margin-left:8px}[dir=rtl] .task-detail svg{margin-left:4px}@media (forced-colors:active) and (prefers-color-scheme:dark){:host svg{fill:#fff!important;fill-rule:nonzero!important;clip-rule:nonzero!important}:host svg path{fill:#fff!important;fill-rule:nonzero!important;clip-rule:nonzero!important}}@media (forced-colors:active) and (prefers-color-scheme:light){:host svg{fill:#000!important;fill-rule:nonzero!important;clip-rule:nonzero!important}:host svg path{fill:#000!important;fill-rule:nonzero!important;clip-rule:nonzero!important}}:host{border-radius:8px;width:100%}:host .task,:host.loading-task{margin-block:1px;box-shadow:var(--task-box-shadow,var(--elevation-shadow-card-active));width:100%;background-color:var(--task-background-color,var(--neutral-layer-floating))}:host .task.new-task,:host.loading-task.new-task{margin:14px 0 1px;box-shadow:var(--task-box-shadow,var(--elevation-shadow-card-active))}:host .task.complete,:host.loading-task.complete{text-decoration:line-through;border:1px solid var(--task-border-completed,var(--neutral-stroke-input-active));background:var(--task-complete-background,var(--neutral-layer-1))}:host .task.read-only,:host.loading-task.read-only{opacity:1}:host .task:hover,:host.loading-task:hover{background-color:var(--task-background-color-hover,var(--neutral-fill-hover));border-radius:8px}:host .task .task-details,:host.loading-task .task-details{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;padding:2px;line-height:24px;border-radius:4px}:host .task .task-details .task>div,:host.loading-task .task-details .task>div{display:flex;align-items:center;width:200px}:host .task .task-details .title,:host.loading-task .task-details .title{flex-grow:1}:host .task .task-details .task-delete,:host.loading-task .task-details .task-delete{display:flex}:host .task .task-details .task-due,:host.loading-task .task-details .task-due{min-width:120px;margin-inline-end:12px;height:32px;text-decoration:inherit;display:flex}:host .task .task-details .task-due .task-calendar,:host.loading-task .task-details .task-due .task-calendar{display:flex;margin-top:5px;margin-inline-end:10px}:host .task .task-details .task-due .task-calendar svg,:host.loading-task .task-details .task-due .task-calendar svg{fill:var(--task-color,var(--neutral-foreground-rest))}:host .task .task-details .task-due .task-due-date,:host.loading-task .task-details .task-due .task-due-date{display:flex;margin-top:5px}:host fluent-text-field::part(end),:host fluent-text-field::part(start){margin-inline:unset}:host fluent-text-field::part(control){padding:0;cursor:pointer}:host fluent-text-field::part(root){background:0 0}:host fluent-text-field.new-task{width:100%;height:34px}:host fluent-text-field.new-task div.start .add-icon{display:flex;margin-inline:10px}:host fluent-text-field.new-task div:nth-child(2){display:flex;align-items:center}:host fluent-text-field.new-task div:nth-child(2) .calendar{display:flex;align-items:center}:host fluent-text-field.new-task div:nth-child(2) .calendar svg{fill:var(--task-color,var(--neutral-foreground-rest))}:host fluent-text-field.new-task div:nth-child(2) .calendar .date{margin-inline-start:10px;color:var(--task-color,var(--neutral-foreground-rest));width:auto;cursor:pointer}:host fluent-text-field.new-task div:nth-child(2) .calendar .date::after{border-bottom:none}:host fluent-text-field.new-task div:nth-child(2) .calendar .date.dark::part(control){color-scheme:dark}:host fluent-text-field.new-task div:nth-child(2) .calendar input{flex:1;border:none;border-bottom:1px solid var(--task-color,var(--neutral-foreground-rest));outline:0;border-radius:0}:host fluent-text-field.new-task div:nth-child(2) .calendar input:hover{border-bottom:1px solid var(--task-date-input-hover-color,var(--neutral-layer-1))}:host fluent-text-field.new-task div:nth-child(2) .calendar input:active{border-bottom:1px solid var(--task-date-input-active-color,var(--accent-fill-rest))}:host fluent-text-field.new-task div:nth-child(2) .calendar input:focus{border-bottom:1px solid var(--task-date-input-active-color,var(--accent-fill-rest))}:host fluent-button.task-add-icon.neutral,:host fluent-button.task-cancel-icon.neutral,:host fluent-button.task-delete.neutral{fill:var(--task-color,var(--neutral-foreground-rest))}:host fluent-button.task-add-icon.neutral::part(control),:host fluent-button.task-cancel-icon.neutral::part(control),:host fluent-button.task-delete.neutral::part(control){border:none;background:inherit}:host fluent-button.task-add-icon.neutral::part(control) svg,:host fluent-button.task-cancel-icon.neutral::part(control) svg,:host fluent-button.task-delete.neutral::part(control) svg{fill:var(--task-color,var(--neutral-foreground-rest))}:host fluent-checkbox.task.complete div>svg .filled{display:block}:host fluent-checkbox.task.complete div>svg .regular{display:none}:host fluent-checkbox.task.complete div>svg path{fill:var(--task-radio-background-color,var(--accent-fill-rest))}:host fluent-checkbox.task div>svg .filled{display:none}:host fluent-checkbox.task div>svg .regular{display:block}:host fluent-checkbox.task div>svg path{fill:var(--task-background-color,var(--neutral-layer-floating))}:host fluent-checkbox::part(control){margin-inline-start:10px;background:0 0;border-radius:50%}:host fluent-checkbox::part(label){margin-inline-end:unset;width:100%} +`],Qa={cancelNewTaskSubtitle:"Cancel",newTaskPlaceholder:"Add a task",newTaskLabel:"New Task Input",addTaskButtonSubtitle:"Add",deleteTaskLabel:"Delete Task",dueDate:"Due date",newTaskDateInputLabel:"New Task Date Input",newTaskNameInputLabel:"New Task Name Input",cancelAddingTask:"Cancel adding a new task"};class Ya extends ue.a{constructor(){super(...arguments),this.orientation=an,this.radioChangeHandler=e=>{const t=e.target;t.checked&&(this.slottedRadioButtons.forEach(e=>{e!==t&&(e.checked=!1,this.isInsideFoundationToolbar||e.setAttribute("tabindex","-1"))}),this.selectedRadio=t,this.value=t.value,t.setAttribute("tabindex","0"),this.focusedRadio=t),e.stopPropagation()},this.moveToRadioByIndex=(e,t)=>{const n=e[t];this.isInsideToolbar||(n.setAttribute("tabindex","0"),n.readOnly?this.slottedRadioButtons.forEach(e=>{e!==n&&e.setAttribute("tabindex","-1")}):(n.checked=!0,this.selectedRadio=n)),this.focusedRadio=n,n.focus()},this.moveRightOffGroup=()=>{var e;null===(e=this.nextElementSibling)||void 0===e||e.focus()},this.moveLeftOffGroup=()=>{var e;null===(e=this.previousElementSibling)||void 0===e||e.focus()},this.focusOutHandler=e=>{const t=this.slottedRadioButtons,n=e.target,a=null!==n?t.indexOf(n):0,i=this.focusedRadio?t.indexOf(this.focusedRadio):-1;return(0===i&&a===i||i===t.length-1&&i===a)&&(this.selectedRadio?(this.focusedRadio=this.selectedRadio,this.isInsideFoundationToolbar||(this.selectedRadio.setAttribute("tabindex","0"),t.forEach(e=>{e!==this.selectedRadio&&e.setAttribute("tabindex","-1")}))):(this.focusedRadio=t[0],this.focusedRadio.setAttribute("tabindex","0"),t.forEach(e=>{e!==this.focusedRadio&&e.setAttribute("tabindex","-1")}))),!0},this.clickHandler=e=>{const t=e.target;if(t){const e=this.slottedRadioButtons;t.checked||0===e.indexOf(t)?(t.setAttribute("tabindex","0"),this.selectedRadio=t):(t.setAttribute("tabindex","-1"),this.selectedRadio=null),this.focusedRadio=t}e.preventDefault()},this.shouldMoveOffGroupToTheRight=(e,t,n)=>e===t.length&&this.isInsideToolbar&&n===de.d,this.shouldMoveOffGroupToTheLeft=(e,t)=>(this.focusedRadio?e.indexOf(this.focusedRadio)-1:0)<0&&this.isInsideToolbar&&t===de.c,this.checkFocusedRadio=()=>{null===this.focusedRadio||this.focusedRadio.readOnly||this.focusedRadio.checked||(this.focusedRadio.checked=!0,this.focusedRadio.setAttribute("tabindex","0"),this.focusedRadio.focus(),this.selectedRadio=this.focusedRadio)},this.moveRight=e=>{const t=this.slottedRadioButtons;let n=0;if(n=this.focusedRadio?t.indexOf(this.focusedRadio)+1:1,this.shouldMoveOffGroupToTheRight(n,t,e.key))this.moveRightOffGroup();else for(n===t.length&&(n=0);n1;){if(!t[n].disabled){this.moveToRadioByIndex(t,n);break}if(this.focusedRadio&&n===t.indexOf(this.focusedRadio))break;if(n+1>=t.length){if(this.isInsideToolbar)break;n=0}else n+=1}},this.moveLeft=e=>{const t=this.slottedRadioButtons;let n=0;if(n=this.focusedRadio?t.indexOf(this.focusedRadio)-1:0,n=n<0?t.length-1:n,this.shouldMoveOffGroupToTheLeft(t,e.key))this.moveLeftOffGroup();else for(;n>=0&&t.length>1;){if(!t[n].disabled){this.moveToRadioByIndex(t,n);break}if(this.focusedRadio&&n===t.indexOf(this.focusedRadio))break;n-1<0?n=t.length-1:n-=1}},this.keydownHandler=e=>{const t=e.key;if(t in de.a&&this.isInsideFoundationToolbar)return!0;switch(t){case de.g:this.checkFocusedRadio();break;case de.d:case de.b:this.direction===$t.a.ltr?this.moveRight(e):this.moveLeft(e);break;case de.c:case de.e:this.direction===$t.a.ltr?this.moveLeft(e):this.moveRight(e);break;default:return!0}}}readOnlyChanged(){void 0!==this.slottedRadioButtons&&this.slottedRadioButtons.forEach(e=>{this.readOnly?e.readOnly=!0:e.readOnly=!1})}disabledChanged(){void 0!==this.slottedRadioButtons&&this.slottedRadioButtons.forEach(e=>{this.disabled?e.disabled=!0:e.disabled=!1})}nameChanged(){this.slottedRadioButtons&&this.slottedRadioButtons.forEach(e=>{e.setAttribute("name",this.name)})}valueChanged(){this.slottedRadioButtons&&this.slottedRadioButtons.forEach(e=>{e.value===this.value&&(e.checked=!0,this.selectedRadio=e)}),this.$emit("change")}slottedRadioButtonsChanged(e,t){this.slottedRadioButtons&&this.slottedRadioButtons.length>0&&this.setupRadioButtons()}get parentToolbar(){return this.closest('[role="toolbar"]')}get isInsideToolbar(){var e;return null!==(e=this.parentToolbar)&&void 0!==e&&e}get isInsideFoundationToolbar(){var e;return!!(null===(e=this.parentToolbar)||void 0===e?void 0:e.$fastController)}connectedCallback(){super.connectedCallback(),this.direction=en(this),this.setupRadioButtons()}disconnectedCallback(){this.slottedRadioButtons.forEach(e=>{e.removeEventListener("change",this.radioChangeHandler)})}setupRadioButtons(){const e=this.slottedRadioButtons.filter(e=>e.hasAttribute("checked")),t=e?e.length:0;t>1&&(e[t-1].checked=!0);let n=!1;if(this.slottedRadioButtons.forEach(e=>{void 0!==this.name&&e.setAttribute("name",this.name),this.disabled&&(e.disabled=!0),this.readOnly&&(e.readOnly=!0),this.value&&this.value===e.value?(this.selectedRadio=e,this.focusedRadio=e,e.checked=!0,e.setAttribute("tabindex","0"),n=!0):(this.isInsideFoundationToolbar||e.setAttribute("tabindex","-1"),e.checked=!1),e.addEventListener("change",this.radioChangeHandler)}),void 0===this.value&&this.slottedRadioButtons.length>0){const e=this.slottedRadioButtons.filter(e=>e.hasAttribute("checked")),t=null!==e?e.length:0;if(t>0&&!n){const n=e[t-1];n.checked=!0,this.focusedRadio=n,n.setAttribute("tabindex","0")}else this.slottedRadioButtons[0].setAttribute("tabindex","0"),this.focusedRadio=this.slottedRadioButtons[0]}}}Object(oe.a)([Object(ce.c)({attribute:"readonly",mode:"boolean"})],Ya.prototype,"readOnly",void 0),Object(oe.a)([Object(ce.c)({attribute:"disabled",mode:"boolean"})],Ya.prototype,"disabled",void 0),Object(oe.a)([ce.c],Ya.prototype,"name",void 0),Object(oe.a)([ce.c],Ya.prototype,"value",void 0),Object(oe.a)([ce.c],Ya.prototype,"orientation",void 0),Object(oe.a)([se.d],Ya.prototype,"childItems",void 0),Object(oe.a)([se.d],Ya.prototype,"slottedRadioButtons",void 0);const Ja=Ya.compose({baseName:"radio-group",template:(e,t)=>Se.a` + +`,styles:(e,t)=>Oe.a` + ${Object(we.a)("flex")} :host { + align-items: flex-start; + flex-direction: column; + } + + .positioning-region { + display: flex; + flex-wrap: wrap; + } + + :host([orientation='vertical']) .positioning-region { + flex-direction: column; + } + + :host([orientation='horizontal']) .positioning-region { + flex-direction: row; + } +`});var Xa=n("R2TB");const Za={comboboxPlaceholder:"Select an item"};class $a extends ve{}class ei extends(Object(gt.b)($a)){constructor(){super(...arguments),this.proxy=document.createElement("input")}}class ti extends ei{constructor(){super(...arguments),this._value="",this.filteredOptions=[],this.filter="",this.forcedPosition=!1,this.listboxId=Object(le.a)("listbox-"),this.maxHeight=0,this.open=!1}formResetCallback(){super.formResetCallback(),this.setDefaultSelectedOption(),this.updateValue()}validate(){super.validate(this.control)}get isAutocompleteInline(){return"inline"===this.autocomplete||this.isAutocompleteBoth}get isAutocompleteList(){return"list"===this.autocomplete||this.isAutocompleteBoth}get isAutocompleteBoth(){return"both"===this.autocomplete}openChanged(){if(this.open)return this.ariaControls=this.listboxId,this.ariaExpanded="true",this.setPositioning(),this.focusAndScrollOptionIntoView(),void Ie.a.queueUpdate(()=>this.focus());this.ariaControls="",this.ariaExpanded="false"}get options(){return se.b.track(this,"options"),this.filteredOptions.length?this.filteredOptions:this._options}set options(e){this._options=e,se.b.notify(this,"options")}placeholderChanged(){this.proxy instanceof HTMLInputElement&&(this.proxy.placeholder=this.placeholder)}positionChanged(e,t){this.positionAttribute=t,this.setPositioning()}get value(){return se.b.track(this,"value"),this._value}set value(e){var t,n,a;const i=`${this._value}`;if(this.$fastController.isConnected&&this.options){const i=this.options.findIndex(t=>t.text.toLowerCase()===e.toLowerCase()),r=null===(t=this.options[this.selectedIndex])||void 0===t?void 0:t.text,o=null===(n=this.options[i])||void 0===n?void 0:n.text;this.selectedIndex=r!==o?i:this.selectedIndex,e=(null===(a=this.firstSelectedOption)||void 0===a?void 0:a.text)||e}i!==e&&(this._value=e,super.valueChanged(i,e),se.b.notify(this,"value"))}clickHandler(e){if(!this.disabled){if(this.open){const t=e.target.closest("option,[role=option]");if(!t||t.disabled)return;this.selectedOptions=[t],this.control.value=t.text,this.clearSelectionRange(),this.updateValue(!0)}return this.open=!this.open,this.open&&this.control.focus(),!0}}connectedCallback(){super.connectedCallback(),this.forcedPosition=!!this.positionAttribute,this.value&&(this.initialValue=this.value)}disabledChanged(e,t){super.disabledChanged&&super.disabledChanged(e,t),this.ariaDisabled=this.disabled?"true":"false"}filterOptions(){this.autocomplete&&"none"!==this.autocomplete||(this.filter="");const e=this.filter.toLowerCase();this.filteredOptions=this._options.filter(e=>e.text.toLowerCase().startsWith(this.filter.toLowerCase())),this.isAutocompleteList&&(this.filteredOptions.length||e||(this.filteredOptions=this._options),this._options.forEach(e=>{e.hidden=!this.filteredOptions.includes(e)}))}focusAndScrollOptionIntoView(){this.contains(document.activeElement)&&(this.control.focus(),this.firstSelectedOption&&requestAnimationFrame(()=>{var e;null===(e=this.firstSelectedOption)||void 0===e||e.scrollIntoView({block:"nearest"})}))}focusoutHandler(e){if(this.syncValue(),!this.open)return!0;const t=e.relatedTarget;this.isSameNode(t)?this.focus():this.options&&this.options.includes(t)||(this.open=!1)}inputHandler(e){if(this.filter=this.control.value,this.filterOptions(),this.isAutocompleteInline||(this.selectedIndex=this.options.map(e=>e.text).indexOf(this.control.value)),e.inputType.includes("deleteContent")||!this.filter.length)return!0;this.isAutocompleteList&&!this.open&&(this.open=!0),this.isAutocompleteInline&&(this.filteredOptions.length?(this.selectedOptions=[this.filteredOptions[0]],this.selectedIndex=this.options.indexOf(this.firstSelectedOption),this.setInlineSelection()):this.selectedIndex=-1)}keydownHandler(e){const t=e.key;if(e.ctrlKey||e.shiftKey)return!0;switch(t){case"Enter":this.syncValue(),this.isAutocompleteInline&&(this.filter=this.value),this.open=!1,this.clearSelectionRange();break;case"Escape":if(this.isAutocompleteInline||(this.selectedIndex=-1),this.open){this.open=!1;break}this.value="",this.control.value="",this.filter="",this.filterOptions();break;case"Tab":if(this.setInputToSelection(),!this.open)return!0;e.preventDefault(),this.open=!1;break;case"ArrowUp":case"ArrowDown":if(this.filterOptions(),!this.open){this.open=!0;break}this.filteredOptions.length>0&&super.keydownHandler(e),this.isAutocompleteInline&&this.setInlineSelection();break;default:return!0}}keyupHandler(e){switch(e.key){case"ArrowLeft":case"ArrowRight":case"Backspace":case"Delete":case"Home":case"End":this.filter=this.control.value,this.selectedIndex=-1,this.filterOptions()}}selectedIndexChanged(e,t){if(this.$fastController.isConnected){if((t=Object(xe.b)(-1,this.options.length-1,t))!==this.selectedIndex)return void(this.selectedIndex=t);super.selectedIndexChanged(e,t)}}selectPreviousOption(){!this.disabled&&this.selectedIndex>=0&&(this.selectedIndex=this.selectedIndex-1)}setDefaultSelectedOption(){if(this.$fastController.isConnected&&this.options){const e=this.options.findIndex(e=>null!==e.getAttribute("selected")||e.selected);this.selectedIndex=e,!this.dirtyValue&&this.firstSelectedOption&&(this.value=this.firstSelectedOption.text),this.setSelectedOptions()}}setInputToSelection(){this.firstSelectedOption&&(this.control.value=this.firstSelectedOption.text,this.control.focus())}setInlineSelection(){this.firstSelectedOption&&(this.setInputToSelection(),this.control.setSelectionRange(this.filter.length,this.control.value.length,"backward"))}syncValue(){var e;const t=this.selectedIndex>-1?null===(e=this.firstSelectedOption)||void 0===e?void 0:e.text:this.control.value;this.updateValue(this.value!==t)}setPositioning(){const e=this.getBoundingClientRect(),t=window.innerHeight-e.bottom;this.position=this.forcedPosition?this.positionAttribute:e.top>t?St:Dt,this.positionAttribute=this.forcedPosition?this.positionAttribute:this.position,this.maxHeight=this.position===St?~~e.top:~~t}selectedOptionsChanged(e,t){this.$fastController.isConnected&&this._options.forEach(e=>{e.selected=t.includes(e)})}slottedOptionsChanged(e,t){super.slottedOptionsChanged(e,t),this.updateValue()}updateValue(e){var t;this.$fastController.isConnected&&(this.value=(null===(t=this.firstSelectedOption)||void 0===t?void 0:t.text)||this.control.value,this.control.value=this.value),e&&this.$emit("change")}clearSelectionRange(){const e=this.control.value.length;this.control.setSelectionRange(e,e)}}Object(oe.a)([Object(ce.c)({attribute:"autocomplete",mode:"fromView"})],ti.prototype,"autocomplete",void 0),Object(oe.a)([se.d],ti.prototype,"maxHeight",void 0),Object(oe.a)([Object(ce.c)({attribute:"open",mode:"boolean"})],ti.prototype,"open",void 0),Object(oe.a)([ce.c],ti.prototype,"placeholder",void 0),Object(oe.a)([Object(ce.c)({attribute:"position"})],ti.prototype,"positionAttribute",void 0),Object(oe.a)([se.d],ti.prototype,"position",void 0);class ni{}Object(oe.a)([se.d],ni.prototype,"ariaAutoComplete",void 0),Object(oe.a)([se.d],ni.prototype,"ariaControls",void 0),Object(_e.a)(ni,ye),Object(_e.a)(ti,me.a,ni);const ai=".control",ii=":not([disabled]):not([open])";class ri extends ti{appearanceChanged(e,t){e!==t&&(this.classList.add(t),this.classList.remove(e))}connectedCallback(){super.connectedCallback(),this.appearance||(this.appearance="outline"),this.listbox&&Ee.v.setValueFor(this.listbox,Ee.gb)}}Object(bt.a)([Object(ce.c)({mode:"fromView"})],ri.prototype,"appearance",void 0);const oi=ri.compose({baseName:"combobox",baseClass:ti,shadowOptions:{delegatesFocus:!0},template:(e,t)=>Se.a` + +`,styles:(e,t)=>Oe.a` + ${Bt()} + + ${Object(Ft.e)(e,t,ai)} + + :host(:empty) .listbox { + display: none; + } + + :host([disabled]) *, + :host([disabled]) { + cursor: ${Et.a}; + user-select: none; + } + + :host(:active) .selected-value { + user-select: none; + } + + .selected-value { + -webkit-appearance: none; + background: transparent; + border: none; + color: inherit; + ${Tt.a} + height: calc(100% - ${Ee.vb} * 1px)); + margin: auto 0; + width: 100%; + outline: none; + } + `.withBehaviors(Object(Pt.a)("outline",Object(Ft.d)(e,t,ai,ii)),Object(Pt.a)("filled",Object(Ft.b)(e,t,ai,ii)),Object(At.a)(Object(Ft.c)(e,t,ai,ii))),indicator:'\n \n \n \n '}),si=[u.b` +:host([hidden]){display:none}:host{display:block;font-family:var(--default-font-family, "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, "BlinkMacSystemFont", "Roboto", "Helvetica Neue", sans-serif);font-size:var(--default-font-size,14px);--theme-primary-color:#0078d7;--theme-dark-color:#005a9e}:focus-visible{outline-color:var(--focus-ring-color,Highlight);outline-color:var(--focus-ring-color,-webkit-focus-ring-color);outline-style:var(--focus-ring-style,auto)}.ms-icon{display:inline-block;font-family:FabricMDL2Icons;font-style:normal;font-weight:400;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:4px 0}.error{background-color:#fde7e9;padding-block:8px;padding-inline:8px 12px}.ms-icon-chevron-down::before{content:"\\\e70d"}.ms-icon-chevron-up::before{content:"\\\e70e"}.ms-icon-contact::before{content:"\\\e77b"}.ms-icon-add-friend::before{content:"\\\e8fa"}.ms-icon-outlook-logo-inverser::before{content:"\\\eb6d"}:host{--max-height:var(--picker-max-height, 380px);font-family:var(--default-font-family)}:host .picker{background-color:var(--picker-background-color,transparent)}:host fluent-combobox::part(selected-value)::placeholder{color:var(--picker-text-color,var(--input-filled-placeholder-rest))}:host fluent-combobox::part(selected-value):hover::placeholder{color:var(--picker-text-color-hover,var(--secondary-text-hover-color))}[dir=rtl] .picker{direction:rtl} +`];var ci=function(e,t,n,a){var i,r=arguments.length,o=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,a);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o},di=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};const li=()=>{Object(T.a)(oi,Kt),X(),Object(A.b)("picker",ui)};class ui extends p.a{get strings(){return Za}static get styles(){return si}constructor(){super(),this.version="v1.0",this.maxPages=3,this.scopes=[],this.cacheEnabled=!1,this.cacheInvalidationPeriod=0,this.handleComboboxKeydown=e=>{let t,n;const a=e.key,i=e.target.querySelector(".selected");i&&(t=i.getAttribute("value")),"Enter"===a&&t&&(n=this.response.filter(e=>e.id===t).pop(),this.fireCustomEvent("selectionChanged",n,!0,!1,!0))},this.placeholder=this.strings.comboboxPlaceholder,this.entityType=null,this.keyName=null,this.isRefreshing=!1}refresh(e=!1){this.isRefreshing=!0,e&&this.clearState(),this.requestStateUpdate(e)}clearState(){this.response=null,this.error=null}render(){var e;if(this.isLoadingState&&!this.response)return this.renderTemplate("loading",null);if(this.hasTemplate("error")){const e=this.error?this.error:null;return this.renderTemplate("error",{error:e},"error")}return this.hasTemplate("no-data")?this.renderTemplate("no-data",null):(null===(e=this.response)||void 0===e?void 0:e.length)>0?this.renderPicker():this.renderGet()}renderPicker(){return m.a` + + ${this.response.map(e=>u.c` + this.handleClick(t,e)} + > + ${e[this.keyName]} + `)} + + `}renderGet(){return m.a` + + `}loadState(){return e=this,void 0,n=function*(){if(!this.response){const e=this.renderRoot.querySelector(".mgt-get");e?e.addEventListener("dataChange",e=>this.handleDataChange(e)):Object(Xa.a)("mgt-picker component requires a child mgt-get component. Something has gone horribly wrong.")}this.isRefreshing=!1,yield Promise.resolve()},new((t=void 0)||(t=Promise))(function(a,i){function r(e){try{s(n.next(e))}catch(e){i(e)}}function o(e){try{s(n.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?a(e.value):(n=e.value,n instanceof t?n:new t(function(e){e(n)})).then(r,o)}s((n=n.apply(e,[])).next())});var e,t,n}handleDataChange(e){const t=e.detail.response.value,n=e.detail.error?e.detail.error:null;this.response=t,this.error=n}handleClick(e,t){this.fireCustomEvent("selectionChanged",t,!0,!1,!0)}}ci([Object(f.b)({attribute:"resource",type:String}),di("design:type",String)],ui.prototype,"resource",void 0),ci([Object(f.b)({attribute:"version",type:String}),di("design:type",Object)],ui.prototype,"version",void 0),ci([Object(f.b)({attribute:"max-pages",type:Number}),di("design:type",Object)],ui.prototype,"maxPages",void 0),ci([Object(f.b)({attribute:"placeholder",type:String}),di("design:type",String)],ui.prototype,"placeholder",void 0),ci([Object(f.b)({attribute:"key-name",type:String}),di("design:type",String)],ui.prototype,"keyName",void 0),ci([Object(f.b)({attribute:"entity-type",type:String}),di("design:type",String)],ui.prototype,"entityType",void 0),ci([Object(f.b)({attribute:"scopes",converter:e=>e?e.toLowerCase().split(","):null}),di("design:type",Array)],ui.prototype,"scopes",void 0),ci([Object(f.b)({attribute:"cache-enabled",type:Boolean}),di("design:type",Object)],ui.prototype,"cacheEnabled",void 0),ci([Object(f.b)({attribute:"cache-invalidation-period",type:Number}),di("design:type",Object)],ui.prototype,"cacheInvalidationPeriod",void 0),ci([Object(f.b)({attribute:"selected-value",type:String}),di("design:type",String)],ui.prototype,"selectedValue",void 0),ci([Object(f.c)(),di("design:type",Array)],ui.prototype,"response",void 0);var fi=function(e,t,n,a){var i,r=arguments.length,o=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,a);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o},pi=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},mi=function(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})};const _i=()=>{Object(T.a)(Wt.a,Ja,Me.a),li(),Object(A.b)("todo",hi)};class hi extends za{static get styles(){return qa}get strings(){return Qa}static get requiredScopes(){return["tasks.read","tasks.readwrite"]}constructor(){super(),this._isDarkMode=!1,this.onThemeChanged=()=>{this._isDarkMode=ht(this)},this.addTask=()=>mi(this,void 0,void 0,function*(){if(!this._isNewTaskBeingAdded&&this._newTaskName){this._isNewTaskBeingAdded=!0,this.requestUpdate();try{yield this.createNewTask()}finally{this.clearNewTaskData(),this._isNewTaskBeingAdded=!1,this.requestUpdate()}}}),this.renderNewTask=()=>{const e=this._newTaskName?u.c` + + + `:u.c` + ${Object(S.b)(S.a.Add)} + `,t=u.c` + + ${Object(S.b)(S.a.Cancel)} + + `,n={dark:this._isDarkMode,date:!0},a=u.c` + + + `,i=this.readOnly?u.d:u.c` + +
    ${e}
    + ${this._newTaskName?u.c` +
    + ${a} + ${t} +
    `:u.c``} +
    + `;return u.c` + ${this.currentList?u.c` +
    + ${i} +
    + `:u.c``} + `},this.handleSelectionChanged=e=>{this.currentList=e.detail,this.loadTasks(this.currentList)},this.renderTaskDetails=e=>{const t={task:e,list:this.currentList};if(this.hasTemplate("task"))return this.renderTemplate("task",t,e.id);let n=null;const a=e.dueDateTime?u.c` + ${Object(S.b)(S.a.Calendar)} + ${Object(Ke.f)(new Date(e.dueDateTime.dateTime))} + `:u.c``,i=this.readOnly?u.c``:u.c` + + ${Object(S.b)(S.a.Delete)} + + `;return n=this.hasTemplate("task-details")?this.renderTemplate("task-details",t,`task-details-${e.id}`):u.c` +
    +
    ${e.title}
    +
    ${a}
    + ${i} +
    + `,u.c`${n}`},this.renderTask=e=>{const t=Object(F.a)({"read-only":this.readOnly,task:!0});return u.c` + + ${this.renderTaskDetails(e)} + + `},this.renderCompletedTask=e=>{const t=Object(F.a)({complete:!0,"read-only":this.readOnly,task:!0}),n=u.c`${Object(S.b)(S.a.CheckMark)}`;return u.c` + +
    + ${n} +
    + ${this.renderTaskDetails(e)} +
    + `},this.loadState=()=>mi(this,void 0,void 0,function*(){const e=_.a.globalProvider;if(e&&e.state===i.c.SignedIn){if(this._isLoadingTasks=!0,!this._graph){const t=e.graph.forComponent(this);this._graph=t}if(!this.currentList&&!this.initialId){const e=yield(t=this._graph,Ga(void 0,void 0,void 0,function*(){const e=yield t.api("/me/todo/lists").header("Cache-Control","no-store").middlewareOptions(Object(b.a)("Tasks.Read")).get();return null==e?void 0:e.value})),n=null==e?void 0:e.find(e=>"defaultList"===e.wellknownListName);n&&(yield this.loadTasks(n))}var t;this.targetId?(this.currentList=yield Wa(this._graph,this.targetId),this._tasks=yield Ka(this._graph,this.targetId)):this.initialId&&(this.currentList=yield Wa(this._graph,this.initialId),this._tasks=yield Ka(this._graph,this.initialId)),this._isLoadingTasks=!1}}),this.clearNewTaskData=()=>{this._newTaskDueDate=null,this._newTaskName=""},this.clearState=()=>{super.clearState(),this.currentList=null,this._tasks=[],this._loadingTasks=[],this._isLoadingTasks=!1},this.loadTasks=e=>mi(this,void 0,void 0,function*(){this._isLoadingTasks=!0,this.currentList=e,this._tasks=yield Ka(this._graph,e.id),this._isLoadingTasks=!1,this.requestUpdate()}),this.updateTaskStatus=(e,t)=>mi(this,void 0,void 0,function*(){this._loadingTasks=[...this._loadingTasks,e.id],this.requestUpdate(),e.status=t;const n=this.currentList.id;e=yield((e,t,n,a)=>Ga(void 0,void 0,void 0,function*(){return yield e.api(`/me/todo/lists/${t}/tasks/${n}`).header("Cache-Control","no-store").middlewareOptions(Object(b.a)("Tasks.ReadWrite")).patch(a)}))(this._graph,n,e.id,e);const a=this._tasks.findIndex(t=>t.id===e.id);this._tasks[a]=e,this._loadingTasks=this._loadingTasks.filter(t=>t!==e.id),this.requestUpdate()}),this.removeTask=e=>mi(this,void 0,void 0,function*(){this._tasks=this._tasks.filter(t=>t.id!==e),this.requestUpdate();const t=this.currentList.id;yield((e,t,n)=>Ga(void 0,void 0,void 0,function*(){yield e.api(`/me/todo/lists/${t}/tasks/${n}`).header("Cache-Control","no-store").middlewareOptions(Object(b.a)("Tasks.ReadWrite")).delete()}))(this._graph,t,e),this._tasks=this._tasks.filter(t=>t.id!==e)}),this.handleInput=e=>{"new-task-name-input"===e.target.id&&(this._newTaskName=e.target.value)},this.handleKeyDown=e=>mi(this,void 0,void 0,function*(){"Enter"===e.key&&(yield this.addTask())}),this.handleDateChange=e=>{const t=e.target.value;this._newTaskDueDate=t?new Date(t+"T17:00"):null},this._graph=null,this._newTaskDueDate=null,this._tasks=[],this._loadingTasks=[],this._isLoadingTasks=!1,this.addEventListener("selectionChanged",this.handleSelectionChanged)}connectedCallback(){super.connectedCallback(),window.addEventListener("darkmodechanged",this.onThemeChanged),this.onThemeChanged()}disconnectedCallback(){window.removeEventListener("darkmodechanged",this.onThemeChanged),super.disconnectedCallback()}renderTasks(){if(this._isLoadingTasks)return this.renderLoadingTask();let e=this._tasks;e&&this.taskFilter&&(e=e.filter(e=>this.taskFilter(e)));const t=e.filter(e=>"completed"===e.status),n=Object(D.a)(e.filter(e=>"completed"!==e.status),e=>e.id,e=>this.renderTask(e)),a=Object(D.a)(t.sort((e,t)=>new Date(e.lastModifiedDateTime).getTime()-new Date(t.lastModifiedDateTime).getTime()),e=>e.id,e=>this.renderCompletedTask(e));return u.c` + ${n} + ${a} + `}renderPicker(){var e,t;return this.targetId?u.c`

    ${null===(e=this.currentList)||void 0===e?void 0:e.displayName}

    `:m.a` + + `}createNewTask(){return mi(this,void 0,void 0,function*(){const e=this.currentList.id,t={title:this._newTaskName};this._newTaskDueDate&&(t.dueDateTime={dateTime:new Date(this._newTaskDueDate).toLocaleDateString(),timeZone:"UTC"});const n=yield((e,t,n)=>Ga(void 0,void 0,void 0,function*(){return yield e.api(`/me/todo/lists/${t}/tasks`).header("Cache-Control","no-store").middlewareOptions(Object(b.a)("Tasks.ReadWrite")).post(n)}))(this._graph,e,t);this._tasks.unshift(n)})}handleTaskCheckClick(e){this.handleTaskClick(e),this.readOnly||("completed"===e.status?this.updateTaskStatus(e,"notStarted"):this.updateTaskStatus(e,"completed"))}}fi([Object(f.c)(),pi("design:type",String)],hi.prototype,"_newTaskName",void 0),fi([Object(f.c)(),pi("design:type",Object)],hi.prototype,"currentList",void 0),fi([Object(f.c)(),pi("design:type",Object)],hi.prototype,"_isDarkMode",void 0);var bi=n("Y1eq"),gi=n("dupE");const vi={termsetIdRequired:"The termsetId property or termset-id attribute is required",noTermsFound:"No terms found",comboboxPlaceholder:"Select a term",loadingMessage:"Loading..."},yi=[u.b` +:host([hidden]){display:none}:host{display:block;font-family:var(--default-font-family, "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, "BlinkMacSystemFont", "Roboto", "Helvetica Neue", sans-serif);font-size:var(--default-font-size,14px);--theme-primary-color:#0078d7;--theme-dark-color:#005a9e}:focus-visible{outline-color:var(--focus-ring-color,Highlight);outline-color:var(--focus-ring-color,-webkit-focus-ring-color);outline-style:var(--focus-ring-style,auto)}.ms-icon{display:inline-block;font-family:FabricMDL2Icons;font-style:normal;font-weight:400;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:4px 0}.error{background-color:#fde7e9;padding-block:8px;padding-inline:8px 12px}.ms-icon-chevron-down::before{content:"\\\e70d"}.ms-icon-chevron-up::before{content:"\\\e70e"}.ms-icon-contact::before{content:"\\\e77b"}.ms-icon-add-friend::before{content:"\\\e8fa"}.ms-icon-outlook-logo-inverser::before{content:"\\\eb6d"}:host{--max-height:var(--taxonomy-picker-list-max-height, 380px)}:host .picker{background-color:var(--taxonomy-picker-background-color,transparent)}:host fluent-combobox::part(selected-value)::placeholder{color:var(--taxonomy-picker-placeholder-color,var(--input-filled-placeholder-rest))}:host fluent-combobox::part(selected-value):hover::placeholder{color:var(--taxonomy-picker-placeholder-color-hover,var(--secondary-text-hover-color))}[dir=rtl] .picker{direction:rtl} +`];var Si=function(e,t,n,a){var i,r=arguments.length,o=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,a);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o},Di=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};const Ii=()=>{Object(T.a)(oi,Kt),Object(Ye.b)(),X(),Object(A.b)("taxonomy-picker",xi)};class xi extends p.a{get strings(){return vi}static get styles(){return yi}get defaultSelectedTermId(){return this._defaultSelectedTermId}set defaultSelectedTermId(e){e!==this._defaultSelectedTermId&&(this._defaultSelectedTermId=e,this.requestStateUpdate(!0))}get selectedTerm(){return this._selectedTerm}set selectedTerm(e){this._selectedTerm=e}constructor(){super(),this.version="beta",this.position="below",this.cacheEnabled=!1,this.cacheInvalidationPeriod=0,this.placeholder=this.strings.comboboxPlaceholder,this.isRefreshing=!1,this.noTerms=!1}refresh(e=!1){this.isRefreshing=!0,e&&this.clearState(),this.requestStateUpdate(e)}clearState(){this.terms=null,this.error=null,this.noTerms=!1}render(){var e;return this.isLoadingState&&!this.terms?this.renderLoading():this.error?this.renderError():this.noTerms?this.renderNoData():(null===(e=this.terms)||void 0===e?void 0:e.length)>0?this.renderTaxonomyPicker():this.renderGet()}renderLoading(){return this.renderTemplate("loading",null,"loading")||m.a` +
    + +
    + ${this.strings.loadingMessage} +
    +
    + `}renderError(){return this.renderTemplate("error",null,"error")||u.c` + + ${this.error} + + `}renderNoData(){return this.renderTemplate("no-data",null)||u.c` + + ${this.strings.noTermsFound} + + `}renderTaxonomyPicker(){return m.a` + + ${this.terms.map(e=>this.renderTaxonomyPickerItem(e))} + + `}renderTaxonomyPickerItem(e){const t=this.defaultSelectedTermId&&this.defaultSelectedTermId===e.id;return u.c` + this.handleClick(t,e)}> ${this.renderTemplate("term",{term:e},e.id)||e.labels[0].name} + `}renderGet(){if(!this.termsetId)return u.c` + + ${this.strings.termsetIdRequired} + + `;let e=`/termStore/sets/${this.termsetId}/children`;return this.termId&&(e=`/termStore/sets/${this.termsetId}/terms/${this.termId}/children`),this.siteId&&(e=`/sites/${this.siteId}${e}`),e+="?$select=id,labels,descriptions,properties",m.a` + + `}loadState(){return e=this,void 0,n=function*(){this.terms||this.renderRoot.querySelector(".mgt-get").addEventListener("dataChange",e=>this.handleDataChange(e)),this.isRefreshing=!1,yield Promise.resolve()},new((t=void 0)||(t=Promise))(function(a,i){function r(e){try{s(n.next(e))}catch(e){i(e)}}function o(e){try{s(n.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?a(e.value):(n=e.value,n instanceof t?n:new t(function(e){e(n)})).then(r,o)}s((n=n.apply(e,[])).next())});var e,t,n}handleDataChange(e){const t=e.detail.error?e.detail.error:null;if(t)return void(this.error=t);this.locale&&(this.locale=this.locale.toLowerCase());const n=e.detail.response.value.map(e=>{const t=e.labels;if(t&&t.length>0&&this.locale){const n=t.find(e=>e.languageTag.toLowerCase()===this.locale);n&&(e.labels=[n,...t.filter(e=>e.languageTag.toLowerCase()!==this.locale)])}return e});this.terms=n,0===n.length&&(this.noTerms=!0)}handleClick(e,t){this.selectedTerm=t,this.fireCustomEvent("selectionChanged",t)}}Si([Object(f.b)({attribute:"term-set-id",type:String}),Di("design:type",String)],xi.prototype,"termsetId",void 0),Si([Object(f.b)({attribute:"term-id",type:String}),Di("design:type",String)],xi.prototype,"termId",void 0),Si([Object(f.b)({attribute:"site-id",type:String}),Di("design:type",String)],xi.prototype,"siteId",void 0),Si([Object(f.b)({attribute:"locale",type:String}),Di("design:type",String)],xi.prototype,"locale",void 0),Si([Object(f.b)({attribute:"version",type:String}),Di("design:type",Object)],xi.prototype,"version",void 0),Si([Object(f.b)({attribute:"placeholder",type:String}),Di("design:type",String)],xi.prototype,"placeholder",void 0),Si([Object(f.b)({attribute:"position",type:String,converter:e=>"above"===e?"above":"below"}),Di("design:type",String)],xi.prototype,"position",void 0),Si([Object(f.b)({attribute:"default-selected-term-id",type:String}),Di("design:type",String),Di("design:paramtypes",[String])],xi.prototype,"defaultSelectedTermId",null),Si([Object(f.b)({attribute:"selected-term",type:Object}),Di("design:type",Object),Di("design:paramtypes",[Object])],xi.prototype,"selectedTerm",null),Si([Object(f.b)({attribute:"disabled",type:Boolean}),Di("design:type",Boolean)],xi.prototype,"disabled",void 0),Si([Object(f.b)({attribute:"cache-enabled",type:Boolean}),Di("design:type",Object)],xi.prototype,"cacheEnabled",void 0),Si([Object(f.b)({attribute:"cache-invalidation-period",type:Number}),Di("design:type",Object)],xi.prototype,"cacheInvalidationPeriod",void 0),Si([Object(f.c)(),Di("design:type",Array)],xi.prototype,"terms",void 0),Si([Object(f.c)(),Di("design:type",Boolean)],xi.prototype,"noTerms",void 0);class Ci extends ue.a{}class Oi extends(Object(gt.a)(Ci)){constructor(){super(...arguments),this.proxy=document.createElement("input")}}class wi extends Oi{constructor(){super(),this.initialValue="on",this.keypressHandler=e=>{if(!this.readOnly)switch(e.key){case de.g:case de.m:this.checked=!this.checked}},this.clickHandler=e=>{this.disabled||this.readOnly||(this.checked=!this.checked)},this.proxy.setAttribute("type","checkbox")}readOnlyChanged(){this.proxy instanceof HTMLInputElement&&(this.proxy.readOnly=this.readOnly),this.readOnly?this.classList.add("readonly"):this.classList.remove("readonly")}checkedChanged(e,t){super.checkedChanged(e,t),this.checked?this.classList.add("checked"):this.classList.remove("checked")}}Object(oe.a)([Object(ce.c)({attribute:"readonly",mode:"boolean"})],wi.prototype,"readOnly",void 0),Object(oe.a)([se.d],wi.prototype,"defaultSlottedNodes",void 0);const Ei=wi.compose({baseName:"switch",template:(e,t)=>Se.a` + +`,styles:(e,t)=>Oe.a` + :host([hidden]) { + display: none; + } + + ${Object(we.a)("inline-flex")} :host { + align-items: center; + outline: none; + font-family: ${Ee.p}; + ${""} user-select: none; + } + + :host(.disabled) { + opacity: ${Ee.u}; + } + + :host(.disabled) .label, + :host(.readonly) .label, + :host(.disabled) .switch, + :host(.readonly) .switch, + :host(.disabled) .status-message, + :host(.readonly) .status-message { + cursor: ${Et.a}; + } + + .switch { + position: relative; + box-sizing: border-box; + width: calc(((${Mt.a} / 2) + ${Ee.s}) * 2px); + height: calc(((${Mt.a} / 2) + ${Ee.s}) * 1px); + background: ${Ee.K}; + border-radius: calc(${Mt.a} * 1px); + border: calc(${Ee.vb} * 1px) solid ${Ee.ub}; + cursor: pointer; + } + + :host(:not(.disabled):hover) .switch { + background: ${Ee.J}; + border-color: ${Ee.tb}; + } + + :host(:not(.disabled):active) .switch { + background: ${Ee.H}; + border-color: ${Ee.sb}; + } + + :host(:${wt.a}) .switch { + ${Ae.b} + background: ${Ee.I}; + } + + :host(.checked) .switch { + background: ${Ee.e}; + border-color: transparent; + } + + :host(.checked:not(.disabled):hover) .switch { + background: ${Ee.d}; + border-color: transparent; + } + + :host(.checked:not(.disabled):active) .switch { + background: ${Ee.b}; + border-color: transparent; + } + + slot[name='switch'] { + position: absolute; + display: flex; + border: 1px solid transparent; /* Spacing included in the transform reference box */ + fill: ${Ee.fb}; + transition: all 0.2s ease-in-out; + } + + .status-message { + color: ${Ee.fb}; + cursor: pointer; + ${Tt.a} + } + + .label__hidden { + display: none; + visibility: hidden; + } + + .label { + color: ${Ee.fb}; + ${Tt.a} + margin-inline-end: calc(${Ee.s} * 2px + 2px); + cursor: pointer; + } + + ::slotted([slot="checked-message"]), + ::slotted([slot="unchecked-message"]) { + margin-inline-start: calc(${Ee.s} * 2px + 2px); + } + + :host(.checked) .switch { + background: ${Ee.e}; + } + + :host(.checked) .switch slot[name='switch'] { + fill: ${Ee.C}; + filter: drop-shadow(0px 1px 1px rgba(0, 0, 0, 0.15)); + } + + :host(.checked:not(.disabled)) .switch:hover { + background: ${Ee.d}; + } + + :host(.checked:not(.disabled)) .switch:hover slot[name='switch'] { + fill: ${Ee.B}; + } + + :host(.checked:not(.disabled)) .switch:active { + background: ${Ee.b}; + } + + :host(.checked:not(.disabled)) .switch:active slot[name='switch'] { + fill: ${Ee.z}; + } + + .unchecked-message { + display: block; + } + + .checked-message { + display: none; + } + + :host(.checked) .unchecked-message { + display: none; + } + + :host(.checked) .checked-message { + display: block; + } + `.withBehaviors(new zt(Oe.a` + slot[name='switch'] { + left: 0; + } + + :host(.checked) slot[name='switch'] { + left: 100%; + transform: translateX(-100%); + } + `,Oe.a` + slot[name='switch'] { + right: 0; + } + + :host(.checked) slot[name='switch'] { + right: 100%; + transform: translateX(100%); + } + `),Object(At.a)(Oe.a` + :host(:not(.disabled)) .switch slot[name='switch'] { + forced-color-adjust: none; + fill: ${Lt.a.FieldText}; + } + .switch { + background: ${Lt.a.Field}; + border-color: ${Lt.a.FieldText}; + } + :host(.checked) .switch { + background: ${Lt.a.Highlight}; + border-color: ${Lt.a.Highlight}; + } + :host(:not(.disabled):hover) .switch , + :host(:not(.disabled):active) .switch, + :host(.checked:not(.disabled):hover) .switch { + background: ${Lt.a.HighlightText}; + border-color: ${Lt.a.Highlight}; + } + :host(.checked:not(.disabled)) .switch slot[name="switch"] { + fill: ${Lt.a.HighlightText}; + } + :host(.checked:not(.disabled):hover) .switch slot[name='switch'] { + fill: ${Lt.a.Highlight}; + } + :host(:${wt.a}) .switch { + forced-color-adjust: none; + background: ${Lt.a.Field}; + border-color: ${Lt.a.Highlight}; + outline-color: ${Lt.a.FieldText}; + } + :host(.disabled) { + opacity: 1; + } + :host(.disabled) slot[name='switch'] { + forced-color-adjust: none; + fill: ${Lt.a.GrayText}; + } + :host(.disabled) .switch { + background: ${Lt.a.Field}; + border-color: ${Lt.a.GrayText}; + } + .status-message, + .label { + color: ${Lt.a.FieldText}; + } + `)),switch:'\n \n \n \n '});var Ai=n("yQ0v"),Li=n("YBl9");const ki="#717171",Mi=Xn.a.create("secondary-text-color").withDefault(ki),Pi="#1a1a1a",Ti=Xn.a.create("secondary-text-hover-color").withDefault(Pi),Ui=(e,t=document.body)=>{const n=Hi(e);Fi(n,t)},Fi=(e,t=document.body)=>{var n;Ee.a.setValueFor(t,_t.a.from(Object(Li.a)(e.accentBaseColor))),Ee.E.setValueFor(t,_t.a.from(Object(Li.a)(e.neutralBaseColor))),Ee.o.setValueFor(t,e.baseLayerLuminance),null===(n=e.designTokenOverrides)||void 0===n||n.call(e,t)},Hi=e=>{switch(e){case"contrast":return{accentBaseColor:"#7f85f5",neutralBaseColor:"#adadad",baseLayerLuminance:Ai.a.DarkMode};case"default":return{accentBaseColor:"#5b5fc7",neutralBaseColor:"#616161",baseLayerLuminance:Ai.a.LightMode};case"dark":return{accentBaseColor:"#479ef5",neutralBaseColor:"#adadad",baseLayerLuminance:Ai.a.DarkMode,designTokenOverrides:e=>{Ee.e.setValueFor(e,_t.a.from(Object(Li.a)("#115ea3"))),Ee.d.setValueFor(e,_t.a.from(Object(Li.a)("#0f6cbd"))),Ee.b.setValueFor(e,_t.a.from(Object(Li.a)("#0c3b5e"))),Ee.c.setValueFor(e,_t.a.from(Object(Li.a)("#0f548c"))),Ee.i.setValueFor(e,_t.a.from(Object(Li.a)("#479EF5"))),Ee.h.setValueFor(e,_t.a.from(Object(Li.a)("#62abf5"))),Ee.f.setValueFor(e,_t.a.from(Object(Li.a)("#2886de"))),Ee.g.setValueFor(e,_t.a.from(Object(Li.a)("#479ef5"))),Ee.m.setValueFor(e,_t.a.from(Object(Li.a)("#115ea3"))),Ee.l.setValueFor(e,_t.a.from(Object(Li.a)("#0f6cbd"))),Ee.j.setValueFor(e,_t.a.from(Object(Li.a)("#0c3b5e"))),Ee.k.setValueFor(e,_t.a.from(Object(Li.a)("#0f548c"))),Ee.z.setValueFor(e,_t.a.from(Object(Li.a)("#ffffff"))),Ee.C.setValueFor(e,_t.a.from(Object(Li.a)("#ffffff"))),Ee.B.setValueFor(e,_t.a.from(Object(Li.a)("#ffffff"))),Ee.A.setValueFor(e,_t.a.from(Object(Li.a)("#ffffff"))),Mi.setValueFor(e,"#8e8e8e"),Ti.setValueFor(e,"#ffffff")}};default:return{accentBaseColor:"#0f6cbd",neutralBaseColor:"#616161",baseLayerLuminance:Ai.a.LightMode,designTokenOverrides:e=>{Mi.setValueFor(e,ki),Ti.setValueFor(e,Pi)}}}},Ri={label:"Color mode:",on:"Dark",off:"Light"},Ni=()=>{Object(T.a)(Ei),Object(A.b)("theme-toggle",Bi)};class Bi extends hn.b{constructor(){super(),this.onSwitchChanged=e=>{this.darkModeActive=e.target.checked};const e=window.matchMedia("(prefers-color-scheme:dark)").matches;this.darkModeActive=e,this.applyTheme(this.darkModeActive)}get strings(){return Ri}updated(e){e.has("darkModeActive")&&this.applyTheme(this.darkModeActive)}render(){return u.c` + + ${Ri.on} + ${Ri.off} + + +`}applyTheme(e){const t=e?"dark":"light";Ui(t),document.body.classList.remove("mgt-dark-mode","mgt-light-mode"),document.body.classList.add(`mgt-${t}-mode`),this.fireCustomEvent("darkmodechanged",this.darkModeActive,!0,!1,!0)}}!function(e,t,n,a){var i,r=arguments.length,o=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,a);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);r>3&&o&&Object.defineProperty(t,n,o)}([Object(f.b)({attribute:"mode",reflect:!0,type:String,converter:{fromAttribute:e=>"dark"===e,toAttribute:e=>e?"dark":"light"}}),function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata("design:type",t)}(0,Boolean)],Bi.prototype,"darkModeActive",void 0);class ji extends ue.a{}class Vi extends(Object(gt.b)(ji)){constructor(){super(...arguments),this.proxy=document.createElement("input")}}class zi extends Vi{readOnlyChanged(){this.proxy instanceof HTMLInputElement&&(this.proxy.readOnly=this.readOnly,this.validate())}autofocusChanged(){this.proxy instanceof HTMLInputElement&&(this.proxy.autofocus=this.autofocus,this.validate())}placeholderChanged(){this.proxy instanceof HTMLInputElement&&(this.proxy.placeholder=this.placeholder)}listChanged(){this.proxy instanceof HTMLInputElement&&(this.proxy.setAttribute("list",this.list),this.validate())}maxlengthChanged(){this.proxy instanceof HTMLInputElement&&(this.proxy.maxLength=this.maxlength,this.validate())}minlengthChanged(){this.proxy instanceof HTMLInputElement&&(this.proxy.minLength=this.minlength,this.validate())}patternChanged(){this.proxy instanceof HTMLInputElement&&(this.proxy.pattern=this.pattern,this.validate())}sizeChanged(){this.proxy instanceof HTMLInputElement&&(this.proxy.size=this.size)}spellcheckChanged(){this.proxy instanceof HTMLInputElement&&(this.proxy.spellcheck=this.spellcheck)}connectedCallback(){super.connectedCallback(),this.validate(),this.autofocus&&Ie.a.queueUpdate(()=>{this.focus()})}validate(){super.validate(this.control)}handleTextInput(){this.value=this.control.value}handleClearInput(){this.value="",this.control.focus(),this.handleChange()}handleChange(){this.$emit("change")}}Object(oe.a)([Object(ce.c)({attribute:"readonly",mode:"boolean"})],zi.prototype,"readOnly",void 0),Object(oe.a)([Object(ce.c)({mode:"boolean"})],zi.prototype,"autofocus",void 0),Object(oe.a)([ce.c],zi.prototype,"placeholder",void 0),Object(oe.a)([ce.c],zi.prototype,"list",void 0),Object(oe.a)([Object(ce.c)({converter:ce.e})],zi.prototype,"maxlength",void 0),Object(oe.a)([Object(ce.c)({converter:ce.e})],zi.prototype,"minlength",void 0),Object(oe.a)([ce.c],zi.prototype,"pattern",void 0),Object(oe.a)([Object(ce.c)({converter:ce.e})],zi.prototype,"size",void 0),Object(oe.a)([Object(ce.c)({mode:"boolean"})],zi.prototype,"spellcheck",void 0),Object(oe.a)([se.d],zi.prototype,"defaultSlottedNodes",void 0);class Gi{}Object(_e.a)(Gi,pe.a),Object(_e.a)(zi,me.a,Gi);var Ki=n("6gCt"),Wi=n("Mjrb");const qi=".root",Qi=Xn.a.create("clear-button-hover").withDefault(e=>{const t=Ee.Z.getValueFor(e),n=Ee.N.getValueFor(e);return t.evaluate(e,n.evaluate(e).focus).hover}),Yi=Xn.a.create("clear-button-active").withDefault(e=>{const t=Ee.Z.getValueFor(e),n=Ee.N.getValueFor(e);return t.evaluate(e,n.evaluate(e).focus).active});class Ji extends zi{constructor(){super(...arguments),this.appearance="outline"}}Object(bt.a)([ce.c],Ji.prototype,"appearance",void 0);const Xi=Ji.compose({baseName:"search",baseClass:zi,template:(e,t)=>Se.a` + +`,styles:(e,t)=>Oe.a` + ${Object(we.a)("inline-block")} + + ${Object(Ft.a)(e,t,qi)} + + ${Object(Ft.e)(e,t,qi)} + + .root { + display: flex; + flex-direction: row; + } + .control { + -webkit-appearance: none; + color: inherit; + background: transparent; + border: 0; + height: calc(100% - 4px); + margin-top: auto; + margin-bottom: auto; + padding: 0 calc(${Ee.s} * 2px + 1px); + font-family: inherit; + font-size: inherit; + line-height: inherit; + } + .clear-button { + display: inline-flex; + align-items: center; + margin: 1px; + height: calc(100% - 2px); + opacity: 0; + background: transparent; + color: ${Ee.fb}; + fill: currentcolor; + border: none; + border-radius: calc(${Ee.q} * 1px); + min-width: calc(${Mt.a} * 1px); + ${Tt.a} + outline: none; + padding: 0 calc((10 + (${Ee.s} * 2 * ${Ee.r})) * 1px); + } + .clear-button:hover { + background: ${Qi}; + } + .clear-button:active { + background: ${Yi}; + } + :host(:hover:not([disabled], [readOnly])) .clear-button, + :host(:active:not([disabled], [readOnly])) .clear-button, + :host(:focus-within:not([disabled], [readOnly])) .clear-button { + opacity: 1; + } + :host(:hover:not([disabled], [readOnly])) .clear-button__hidden, + :host(:active:not([disabled], [readOnly])) .clear-button__hidden, + :host(:focus-within:not([disabled], [readOnly])) .clear-button__hidden { + opacity: 0; + } + .control::-webkit-search-cancel-button { + -webkit-appearance: none; + } + .input-wrapper { + display: flex; + position: relative; + width: 100%; + } + .start, + .end { + display: flex; + margin: 1px; + align-items: center; + } + .start { + display: flex; + margin-inline-start: 11px; + } + ::slotted([slot="end"]) { + height: 100% + } + .clear-button__hidden { + opacity: 0; + } + .end { + margin-inline-end: 11px; + } + ::slotted(${e.tagFor(Wi.a)}) { + margin-inline-end: 1px; + } + `.withBehaviors(Object(Pt.a)("outline",Object(Ft.d)(e,t,qi)),Object(Pt.a)("filled",Object(Ft.b)(e,t,qi)),Object(At.a)(Object(Ft.c)(e,t,qi))),start:'',shadowOptions:{delegatesFocus:!0}}),Zi={placeholder:"Search",title:"Search"},$i=[u.b` +:host([hidden]){display:none}:host{display:block;font-family:var(--default-font-family, "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, "BlinkMacSystemFont", "Roboto", "Helvetica Neue", sans-serif);font-size:var(--default-font-size,14px);--theme-primary-color:#0078d7;--theme-dark-color:#005a9e}:focus-visible{outline-color:var(--focus-ring-color,Highlight);outline-color:var(--focus-ring-color,-webkit-focus-ring-color);outline-style:var(--focus-ring-style,auto)}.ms-icon{display:inline-block;font-family:FabricMDL2Icons;font-style:normal;font-weight:400;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:4px 0}.error{background-color:#fde7e9;padding-block:8px;padding-inline:8px 12px}.ms-icon-chevron-down::before{content:"\\\e70d"}.ms-icon-chevron-up::before{content:"\\\e70e"}.ms-icon-contact::before{content:"\\\e77b"}.ms-icon-add-friend::before{content:"\\\e8fa"}.ms-icon-outlook-logo-inverser::before{content:"\\\eb6d"}:host fluent-search{width:100%} +`];var er=function(e,t,n,a){var i,r=arguments.length,o=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,a);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o},tr=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};const nr=()=>{Object(T.a)(Xi),Object(A.b)("search-box",ar)};class ar extends hn.b{static get styles(){return $i}get strings(){return Zi}get searchTerm(){return this._searchTerm}set searchTerm(e){this._searchTerm=e,this.fireSearchTermChanged()}constructor(){super(),this._searchTerm="",this.onInputChanged=e=>{this.searchTerm=e.target.value},Object(Xa.c)(" is a preview component and may change prior to becoming generally available. See more information https://aka.ms/mgt/preview-components"),this.debounceDelay=300}render(){var e;return u.c` + + `}fireSearchTermChanged(){this.debouncedSearchTermChanged||(this.debouncedSearchTermChanged=Object(Ke.b)(()=>{this.fireCustomEvent("searchTermChanged",this.searchTerm)},this.debounceDelay)),this.debouncedSearchTermChanged()}}er([Object(f.b)({attribute:"placeholder",type:String}),tr("design:type",String)],ar.prototype,"placeholder",void 0),er([Object(f.b)({attribute:"search-term",type:String}),tr("design:type",Object),tr("design:paramtypes",[Object])],ar.prototype,"searchTerm",null),er([Object(f.b)({attribute:"debounce-delay",type:Number,reflect:!0}),tr("design:type",Number)],ar.prototype,"debounceDelay",void 0);const ir={modified:"modified on",back:"Back",next:"Next",pages:"pages",page:"Page"},rr=[u.b` +:host([hidden]){display:none}:host{display:block;font-family:var(--default-font-family, "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, "BlinkMacSystemFont", "Roboto", "Helvetica Neue", sans-serif);font-size:var(--default-font-size,14px);--theme-primary-color:#0078d7;--theme-dark-color:#005a9e}:focus-visible{outline-color:var(--focus-ring-color,Highlight);outline-color:var(--focus-ring-color,-webkit-focus-ring-color);outline-style:var(--focus-ring-style,auto)}.ms-icon{display:inline-block;font-family:FabricMDL2Icons;font-style:normal;font-weight:400;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:4px 0}.error{background-color:#fde7e9;padding-block:8px;padding-inline:8px 12px}.ms-icon-chevron-down::before{content:"\\\e70d"}.ms-icon-chevron-up::before{content:"\\\e70e"}.ms-icon-contact::before{content:"\\\e77b"}.ms-icon-add-friend::before{content:"\\\e8fa"}.ms-icon-outlook-logo-inverser::before{content:"\\\eb6d"}.search-results{scroll-margin:100px}.search-result-grid{font-size:14px;margin:16px 4px;display:grid;grid-template-columns:32px 2fr 0fr;gap:.5rem}.search-result{font-size:14px;margin:16px 4px}.file-icon{--file-type-icon-height:32px}.search-result-info{margin:4px 0;display:inline-flex}.search-result-date{padding-top:3px}.search-result-date__shimmer{border-radius:4px;margin-top:2%;margin-left:5px;height:10px;width:200px}.search-result-summary{margin:4px 0;color:var(--body-subtle-text-color)}.search-result-thumbnail__shimmer{width:126px;height:72px}.search-result-thumbnail img{height:72px;max-width:126px;width:126px;object-fit:cover}.search-result-url{font-size:14px;font-weight:600;margin:4px 0}.search-result-url a{color:var(--color);text-decoration:none}.search-result-url a:hover{text-decoration:underline}.search-result-content__shimmer{border-radius:4px;margin-top:10px;height:10px}.search-result-name{font-size:16px;font-weight:600;margin:4px 0}.search-result-name__shimmer{border-radius:4px;margin-top:10px;height:10px;width:20%}.search-result-name a{color:var(--color);text-decoration:none}.search-result-name a:hover{text-decoration:underline}.search-result-author__shimmer{width:24px;height:24px}.search-result-icon{width:30px;height:30px}.search-result-icon__shimmer{width:32px;height:32px}.search-result-icon img{width:100%}.search-result-icon svg,.search-result-icon svg>path{width:100%;height:100%;fill:var(--neutral-foreground-rest);fill-rule:nonzero!important;clip-rule:nonzero!important}.search-results-page-active{border-bottom-style:solid;border-bottom-color:var(--accent-base-color)}.search-results-page svg,.search-results-page svg>path{height:12px;fill:var(--neutral-foreground-rest);fill-rule:nonzero!important;clip-rule:nonzero!important}.search-result-answer{box-shadow:var(--answer-box-shadow,0 3.2px 7.2px rgba(0,0,0,.132),0 .6px 1.8px rgba(0,0,0,.108));border-radius:var(--answer-border-radius,4px);border:var(--answer-border,none);padding:var(--answer-padding,10px)}.search-results-pages{margin:16px 4px} +`];class or extends ue.a{constructor(){super(...arguments),this.anchor="",this.delay=300,this.autoUpdateMode="anchor",this.anchorElement=null,this.viewportElement=null,this.verticalPositioningMode="dynamic",this.horizontalPositioningMode="dynamic",this.horizontalInset="false",this.verticalInset="false",this.horizontalScaling="content",this.verticalScaling="content",this.verticalDefaultPosition=void 0,this.horizontalDefaultPosition=void 0,this.tooltipVisible=!1,this.currentDirection=$t.a.ltr,this.showDelayTimer=null,this.hideDelayTimer=null,this.isAnchorHoveredFocused=!1,this.isRegionHovered=!1,this.handlePositionChange=e=>{this.classList.toggle("top","start"===this.region.verticalPosition),this.classList.toggle("bottom","end"===this.region.verticalPosition),this.classList.toggle("inset-top","insetStart"===this.region.verticalPosition),this.classList.toggle("inset-bottom","insetEnd"===this.region.verticalPosition),this.classList.toggle("center-vertical","center"===this.region.verticalPosition),this.classList.toggle("left","start"===this.region.horizontalPosition),this.classList.toggle("right","end"===this.region.horizontalPosition),this.classList.toggle("inset-left","insetStart"===this.region.horizontalPosition),this.classList.toggle("inset-right","insetEnd"===this.region.horizontalPosition),this.classList.toggle("center-horizontal","center"===this.region.horizontalPosition)},this.handleRegionMouseOver=e=>{this.isRegionHovered=!0},this.handleRegionMouseOut=e=>{this.isRegionHovered=!1,this.startHideDelayTimer()},this.handleAnchorMouseOver=e=>{this.tooltipVisible?this.isAnchorHoveredFocused=!0:this.startShowDelayTimer()},this.handleAnchorMouseOut=e=>{this.isAnchorHoveredFocused=!1,this.clearShowDelayTimer(),this.startHideDelayTimer()},this.handleAnchorFocusIn=e=>{this.startShowDelayTimer()},this.handleAnchorFocusOut=e=>{this.isAnchorHoveredFocused=!1,this.clearShowDelayTimer(),this.startHideDelayTimer()},this.startHideDelayTimer=()=>{this.clearHideDelayTimer(),this.tooltipVisible&&(this.hideDelayTimer=window.setTimeout(()=>{this.updateTooltipVisibility()},60))},this.clearHideDelayTimer=()=>{null!==this.hideDelayTimer&&(clearTimeout(this.hideDelayTimer),this.hideDelayTimer=null)},this.startShowDelayTimer=()=>{this.isAnchorHoveredFocused||(this.delay>1?null===this.showDelayTimer&&(this.showDelayTimer=window.setTimeout(()=>{this.startHover()},this.delay)):this.startHover())},this.startHover=()=>{this.isAnchorHoveredFocused=!0,this.updateTooltipVisibility()},this.clearShowDelayTimer=()=>{null!==this.showDelayTimer&&(clearTimeout(this.showDelayTimer),this.showDelayTimer=null)},this.getAnchor=()=>{const e=this.getRootNode();return e instanceof ShadowRoot?e.getElementById(this.anchor):document.getElementById(this.anchor)},this.handleDocumentKeydown=e=>{!e.defaultPrevented&&this.tooltipVisible&&e.key===de.h&&(this.isAnchorHoveredFocused=!1,this.updateTooltipVisibility(),this.$emit("dismiss"))},this.updateTooltipVisibility=()=>{if(!1===this.visible)this.hideTooltip();else{if(!0===this.visible)return void this.showTooltip();if(this.isAnchorHoveredFocused||this.isRegionHovered)return void this.showTooltip();this.hideTooltip()}},this.showTooltip=()=>{this.tooltipVisible||(this.currentDirection=en(this),this.tooltipVisible=!0,document.addEventListener("keydown",this.handleDocumentKeydown),Ie.a.queueUpdate(this.setRegionProps))},this.hideTooltip=()=>{this.tooltipVisible&&(this.clearHideDelayTimer(),null!==this.region&&void 0!==this.region&&(this.region.removeEventListener("positionchange",this.handlePositionChange),this.region.viewportElement=null,this.region.anchorElement=null,this.region.removeEventListener("mouseover",this.handleRegionMouseOver),this.region.removeEventListener("mouseout",this.handleRegionMouseOut)),document.removeEventListener("keydown",this.handleDocumentKeydown),this.tooltipVisible=!1)},this.setRegionProps=()=>{this.tooltipVisible&&(this.region.viewportElement=this.viewportElement,this.region.anchorElement=this.anchorElement,this.region.addEventListener("positionchange",this.handlePositionChange),this.region.addEventListener("mouseover",this.handleRegionMouseOver,{passive:!0}),this.region.addEventListener("mouseout",this.handleRegionMouseOut,{passive:!0}))}}visibleChanged(){this.$fastController.isConnected&&(this.updateTooltipVisibility(),this.updateLayout())}anchorChanged(){this.$fastController.isConnected&&(this.anchorElement=this.getAnchor())}positionChanged(){this.$fastController.isConnected&&this.updateLayout()}anchorElementChanged(e){if(this.$fastController.isConnected){if(null!=e&&(e.removeEventListener("mouseover",this.handleAnchorMouseOver),e.removeEventListener("mouseout",this.handleAnchorMouseOut),e.removeEventListener("focusin",this.handleAnchorFocusIn),e.removeEventListener("focusout",this.handleAnchorFocusOut)),null!==this.anchorElement&&void 0!==this.anchorElement){this.anchorElement.addEventListener("mouseover",this.handleAnchorMouseOver,{passive:!0}),this.anchorElement.addEventListener("mouseout",this.handleAnchorMouseOut,{passive:!0}),this.anchorElement.addEventListener("focusin",this.handleAnchorFocusIn,{passive:!0}),this.anchorElement.addEventListener("focusout",this.handleAnchorFocusOut,{passive:!0});const e=this.anchorElement.id;null!==this.anchorElement.parentElement&&this.anchorElement.parentElement.querySelectorAll(":hover").forEach(t=>{t.id===e&&this.startShowDelayTimer()})}null!==this.region&&void 0!==this.region&&this.tooltipVisible&&(this.region.anchorElement=this.anchorElement),this.updateLayout()}}viewportElementChanged(){null!==this.region&&void 0!==this.region&&(this.region.viewportElement=this.viewportElement),this.updateLayout()}connectedCallback(){super.connectedCallback(),this.anchorElement=this.getAnchor(),this.updateTooltipVisibility()}disconnectedCallback(){this.hideTooltip(),this.clearShowDelayTimer(),this.clearHideDelayTimer(),super.disconnectedCallback()}updateLayout(){switch(this.verticalPositioningMode="locktodefault",this.horizontalPositioningMode="locktodefault",this.position){case"top":case"bottom":this.verticalDefaultPosition=this.position,this.horizontalDefaultPosition="center";break;case"right":case"left":case"start":case"end":this.verticalDefaultPosition="center",this.horizontalDefaultPosition=this.position;break;case"top-left":this.verticalDefaultPosition="top",this.horizontalDefaultPosition="left";break;case"top-right":this.verticalDefaultPosition="top",this.horizontalDefaultPosition="right";break;case"bottom-left":this.verticalDefaultPosition="bottom",this.horizontalDefaultPosition="left";break;case"bottom-right":this.verticalDefaultPosition="bottom",this.horizontalDefaultPosition="right";break;case"top-start":this.verticalDefaultPosition="top",this.horizontalDefaultPosition="start";break;case"top-end":this.verticalDefaultPosition="top",this.horizontalDefaultPosition="end";break;case"bottom-start":this.verticalDefaultPosition="bottom",this.horizontalDefaultPosition="start";break;case"bottom-end":this.verticalDefaultPosition="bottom",this.horizontalDefaultPosition="end";break;default:this.verticalPositioningMode="dynamic",this.horizontalPositioningMode="dynamic",this.verticalDefaultPosition=void 0,this.horizontalDefaultPosition="center"}}}Object(oe.a)([Object(ce.c)({mode:"boolean"})],or.prototype,"visible",void 0),Object(oe.a)([ce.c],or.prototype,"anchor",void 0),Object(oe.a)([ce.c],or.prototype,"delay",void 0),Object(oe.a)([ce.c],or.prototype,"position",void 0),Object(oe.a)([Object(ce.c)({attribute:"auto-update-mode"})],or.prototype,"autoUpdateMode",void 0),Object(oe.a)([Object(ce.c)({attribute:"horizontal-viewport-lock"})],or.prototype,"horizontalViewportLock",void 0),Object(oe.a)([Object(ce.c)({attribute:"vertical-viewport-lock"})],or.prototype,"verticalViewportLock",void 0),Object(oe.a)([se.d],or.prototype,"anchorElement",void 0),Object(oe.a)([se.d],or.prototype,"viewportElement",void 0),Object(oe.a)([se.d],or.prototype,"verticalPositioningMode",void 0),Object(oe.a)([se.d],or.prototype,"horizontalPositioningMode",void 0),Object(oe.a)([se.d],or.prototype,"horizontalInset",void 0),Object(oe.a)([se.d],or.prototype,"verticalInset",void 0),Object(oe.a)([se.d],or.prototype,"horizontalScaling",void 0),Object(oe.a)([se.d],or.prototype,"verticalScaling",void 0),Object(oe.a)([se.d],or.prototype,"verticalDefaultPosition",void 0),Object(oe.a)([se.d],or.prototype,"horizontalDefaultPosition",void 0),Object(oe.a)([se.d],or.prototype,"tooltipVisible",void 0),Object(oe.a)([se.d],or.prototype,"currentDirection",void 0);const sr=class extends or{connectedCallback(){super.connectedCallback(),Ee.v.setValueFor(this,Ee.gb)}}.compose({baseName:"tooltip",baseClass:or,template:(e,t)=>Se.a` + ${Object(Ct.a)(e=>e.tooltipVisible,Se.a` + <${e.tagFor(mn)} + fixed-placement="true" + auto-update-mode="${e=>e.autoUpdateMode}" + vertical-positioning-mode="${e=>e.verticalPositioningMode}" + vertical-default-position="${e=>e.verticalDefaultPosition}" + vertical-inset="${e=>e.verticalInset}" + vertical-scaling="${e=>e.verticalScaling}" + horizontal-positioning-mode="${e=>e.horizontalPositioningMode}" + horizontal-default-position="${e=>e.horizontalDefaultPosition}" + horizontal-scaling="${e=>e.horizontalScaling}" + horizontal-inset="${e=>e.horizontalInset}" + vertical-viewport-lock="${e=>e.horizontalViewportLock}" + horizontal-viewport-lock="${e=>e.verticalViewportLock}" + dir="${e=>e.currentDirection}" + ${Object(Ot.a)("region")} + > + + + `)} + `,styles:(e,t)=>Oe.a` + :host { + position: relative; + contain: layout; + overflow: visible; + height: 0; + width: 0; + z-index: 10000; + } + + .tooltip { + box-sizing: border-box; + border-radius: calc(${Ee.q} * 1px); + border: calc(${Ee.vb} * 1px) solid ${Ee.qb}; + background: ${Ee.v}; + color: ${Ee.fb}; + padding: 4px 12px; + height: fit-content; + width: fit-content; + ${Tt.a} + white-space: nowrap; + box-shadow: ${kt.d}; + } + + ${e.tagFor(mn)} { + display: flex; + justify-content: center; + align-items: center; + overflow: visible; + flex-direction: row; + } + + ${e.tagFor(mn)}.right, + ${e.tagFor(mn)}.left { + flex-direction: column; + } + + ${e.tagFor(mn)}.top .tooltip::after, + ${e.tagFor(mn)}.bottom .tooltip::after, + ${e.tagFor(mn)}.left .tooltip::after, + ${e.tagFor(mn)}.right .tooltip::after { + content: ''; + width: 12px; + height: 12px; + background: ${Ee.v}; + border-top: calc(${Ee.vb} * 1px) solid ${Ee.qb}; + border-left: calc(${Ee.vb} * 1px) solid ${Ee.qb}; + position: absolute; + } + + ${e.tagFor(mn)}.top .tooltip::after { + transform: translateX(-50%) rotate(225deg); + bottom: 5px; + left: 50%; + } + + ${e.tagFor(mn)}.top .tooltip { + margin-bottom: 12px; + } + + ${e.tagFor(mn)}.bottom .tooltip::after { + transform: translateX(-50%) rotate(45deg); + top: 5px; + left: 50%; + } + + ${e.tagFor(mn)}.bottom .tooltip { + margin-top: 12px; + } + + ${e.tagFor(mn)}.left .tooltip::after { + transform: translateY(-50%) rotate(135deg); + top: 50%; + right: 5px; + } + + ${e.tagFor(mn)}.left .tooltip { + margin-right: 12px; + } + + ${e.tagFor(mn)}.right .tooltip::after { + transform: translateY(-50%) rotate(-45deg); + top: 50%; + left: 5px; + } + + ${e.tagFor(mn)}.right .tooltip { + margin-left: 12px; + } + `.withBehaviors(Object(At.a)(Oe.a` + :host([disabled]) { + opacity: 1; + } + ${e.tagFor(mn)}.top .tooltip::after, + ${e.tagFor(mn)}.bottom .tooltip::after, + ${e.tagFor(mn)}.left .tooltip::after, + ${e.tagFor(mn)}.right .tooltip::after { + content: ''; + width: unset; + height: unset; + } + `))}),cr=rn.compose({baseName:"divider",template:(e,t)=>Se.a` + +`,styles:(e,t)=>Oe.a` + ${Object(we.a)("block")} :host { + box-sizing: content-box; + height: 0; + border: none; + border-top: calc(${Ee.vb} * 1px) solid ${Ee.mb}; + } + + :host([orientation="vertical"]) { + border: none; + height: 100%; + margin: 0 calc(${Ee.s} * 1px); + border-left: calc(${Ee.vb} * 1px) solid ${Ee.mb}; + } + `});var dr=function(e,t,n,a){var i,r=arguments.length,o=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,a);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o},lr=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};const ur=()=>{Object(T.a)(Qt,Me.a,sr,cr),Object(bi.b)(),Object(d.c)(),Object(A.b)("search-results",fr)};class fr extends p.a{static get styles(){return rr}get strings(){return ir}get queryString(){return this._queryString}set queryString(e){this._queryString!==e&&(this._queryString=e,this._currentPage=1,this.setLoadingState(!0),this.requestStateUpdate(!0))}get from(){return(this.currentPage-1)*this.size}get size(){return this._size}set size(e){e>this.maxPageSize?this._size=this.maxPageSize:this._size=e}get searchEndpoint(){return"/search/query"}get maxPageSize(){return 1e3}get currentPage(){return this._currentPage}set currentPage(e){this._currentPage!==e&&(this._currentPage=e,this.requestStateUpdate(!0))}constructor(){super(),this._size=10,this.entityTypes=["driveItem","listItem","site"],this.scopes=[],this.contentSources=[],this.version="v1.0",this.pagingMax=7,this.enableTopResults=!1,this.cacheEnabled=!1,this.cacheInvalidationPeriod=3e4,this.isRefreshing=!1,this.defaultFields=["webUrl","lastModifiedBy","lastModifiedDateTime","summary","displayName","name"],this._currentPage=1,this.onFirstPageClick=()=>{this.currentPage=1,this.scrollToFirstResult()},this.onPageBackClick=()=>{this.currentPage--,this.scrollToFirstResult()},this.onPageNextClick=()=>{this.currentPage++,this.scrollToFirstResult()},Object(Xa.c)(" is a preview component and may change prior to becoming generally available. See more information https://aka.ms/mgt/preview-components")}attributeChangedCallback(e,t,n){super.attributeChangedCallback(e,t,n),this.requestStateUpdate()}refresh(e=!1){this.isRefreshing=!0,e&&this.clearState(),this.requestStateUpdate(e)}clearState(){this.response=null}render(){var e,t,n,a,i,r,o,s;let c=null,d=null,l=null;return this.hasTemplate("header")&&(d=this.renderTemplate("header",this.response)),l=this.renderFooter(null===(t=null===(e=this.response)||void 0===e?void 0:e.value[0])||void 0===t?void 0:t.hitsContainers[0]),c=this.isLoadingState?this.renderLoading():this.error?this.renderError():this.response&&this.hasTemplate("default")?this.renderTemplate("default",this.response)||u.c``:(null===(a=null===(n=this.response)||void 0===n?void 0:n.value[0])||void 0===a?void 0:a.hitsContainers[0])?u.c`${null===(s=null===(o=null===(r=null===(i=this.response)||void 0===i?void 0:i.value[0])||void 0===r?void 0:r.hitsContainers[0])||void 0===o?void 0:o.hits)||void 0===s?void 0:s.map(e=>this.renderResult(e))}`:this.hasTemplate("no-data")?this.renderTemplate("no-data",null):u.c``,u.c` + ${d} +
    + ${c} +
    + ${l}`}loadState(){var e,t,n,a,r,o,s,c,d;return s=this,void 0,d=function*(){const s=_.a.globalProvider;if(this.error=null,s&&s.state===i.c.SignedIn){if(this.queryString){try{const i=this.getRequestOptions();let c;const d=JSON.stringify({endpoint:`${this.version}${this.searchEndpoint}`,requestOptions:i});let l=null;if(this.shouldRetrieveCache()){c=V.a.getCache(K.a.search,K.a.search.stores.responses);const e=Object(Ke.i)()?yield c.getValue(d):null;e&&Object(Ke.m)(this.cacheInvalidationPeriod)>Date.now()-e.timeCached&&(l=JSON.parse(e.response))}if(!l){const u=s.graph.forComponent(this);let f=u.api(this.searchEndpoint).version(this.version);if((null===(e=this.scopes)||void 0===e?void 0:e.length)&&(f=f.middlewareOptions(Object(b.a)(...this.scopes))),l=yield f.post({requests:[i]}),this.fetchThumbnail){const e=u.createBatch(),i=it.a.fromGraph(u).createBatch(),s=(null===(t=l.value)||void 0===t?void 0:t.length)&&(null===(n=l.value[0].hitsContainers)||void 0===n?void 0:n.length)&&null!==(r=null===(a=l.value[0].hitsContainers[0])||void 0===a?void 0:a.hits)&&void 0!==r?r:[];for(const t of s){const n=t.resource;!(n.size>0||(null===(o=n.webUrl)||void 0===o?void 0:o.endsWith(".aspx")))||"#microsoft.graph.driveItem"!==n["@odata.type"]&&"#microsoft.graph.listItem"!==n["@odata.type"]||("#microsoft.graph.listItem"===n["@odata.type"]?i.get(t.hitId.toString(),`/sites/${n.parentReference.siteId}/pages/${n.id}`):e.get(t.hitId.toString(),`/drives/${n.parentReference.driveId}/items/${n.id}/thumbnails/0/medium`))}const c=e=>{if(e&&e.size>0)for(const[t,n]of e){const e=l.value[0].hitsContainers[0].hits[t],a="#microsoft.graph.listItem"===e.resource["@odata.type"]?{url:n.content.thumbnailWebUrl}:{url:n.content.url};e.resource.thumbnail=a}};try{c(yield e.executeAll()),c(yield i.executeAll())}catch(e){}}this.shouldUpdateCache()&&l&&(c=V.a.getCache(K.a.search,K.a.search.stores.responses),yield c.putValue(d,{response:JSON.stringify(l)}))}Object(O.b)(this.response,l)||(this.response=l)}catch(e){this.error=e}this.response&&(this.error=null)}else this.response=null;this.isRefreshing=!1,this.fireCustomEvent("dataChange",{response:this.response,error:this.error})}},new((c=void 0)||(c=Promise))(function(e,t){function n(e){try{i(d.next(e))}catch(e){t(e)}}function a(e){try{i(d.throw(e))}catch(e){t(e)}}function i(t){var i;t.done?e(t.value):(i=t.value,i instanceof c?i:new c(function(e){e(i)})).then(n,a)}i((d=d.apply(s,[])).next())})}renderLoading(){return this.renderTemplate("loading",null)||u.c` + ${[...Array(this.size)].map(()=>u.c` +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    + + +
    + ${this.fetchThumbnail&&u.c` +
    + +
    + `} +
    + +
    + `)} + `}renderResult(e){const t=this.getResourceType(e.resource);if(this.hasTemplate(`result-${t}`))return this.renderTemplate(`result-${t}`,e,e.hitId);switch(e.resource["@odata.type"]){case"#microsoft.graph.driveItem":return this.renderDriveItem(e);case"#microsoft.graph.site":return this.renderSite(e);case"#microsoft.graph.person":return this.renderPerson(e);case"#microsoft.graph.drive":case"#microsoft.graph.list":return this.renderList(e);case"#microsoft.graph.listItem":return this.renderListItem(e);case"#microsoft.graph.search.bookmark":return this.renderBookmark(e);case"#microsoft.graph.search.acronym":return this.renderAcronym(e);case"#microsoft.graph.search.qna":return this.renderQnA(e);default:return this.renderDefault(e)}}renderFooter(e){if(this.pagingRequired(e)){const t=this.getActivePages(e.total);return u.c` +
    + ${this.renderPreviousPage()} + ${this.renderFirstPage(t)} + ${this.renderAllPages(t)} + ${this.renderNextPage()} +
    + `}}pagingRequired(e){return(null==e?void 0:e.moreResultsAvailable)||this.currentPage*this.size<(null==e?void 0:e.total)}getActivePages(e){const t=[],n=(()=>{const e=this.currentPage-Math.floor(this.pagingMax/2)-1;return e>=Math.floor(this.pagingMax/2)?e:0})();if(n+1>this.pagingMax-this.currentPage||this.pagingMax===this.currentPage)for(let a=n+1;au.c` + + ${e} + `)}`}renderFirstPage(e){return u.c` + ${e.some(e=>1===e)?u.d:u.c` + + 1 + `?u.c` + + ... + `:u.d}`}getDotButtonTitle(){return`${ir.back} ${Math.ceil(this.pagingMax/2)} ${ir.pages}`}renderPreviousPage(){return this.currentPage>1?u.c` + + ${Object(S.b)(S.a.ChevronLeft)} + `:u.d}renderNextPage(){return this.isLastPage()?u.d:u.c` + + ${Object(S.b)(S.a.ChevronRight)} + `}onPageClick(e){this.currentPage=e,this.scrollToFirstResult()}isLastPage(){return this.currentPage===Math.ceil(this.response.value[0].hitsContainers[0].total/this.size)}scrollToFirstResult(){this.renderRoot.querySelector(".search-results").scrollIntoView({block:"start",behavior:"smooth"})}getResourceType(e){return e["@odata.type"].split(".").pop()}renderDriveItem(e){var t,n;const a=e.resource;return m.a` +
    +
    + + +
    +
    + +
    +
    + + +
    +
    +   ${ir.modified} ${Object(Ke.l)(new Date(a.lastModifiedDateTime))} +
    +
    +
    +
    + ${(null===(t=a.thumbnail)||void 0===t?void 0:t.url)&&u.c` +
    + ${a.name} +
    `} + +
    + + `}renderSite(e){const t=e.resource;return u.c` +
    +
    + ${this.getResourceIcon(t)} +
    +
    + +
    + +
    +
    +
    +
    + + `}renderList(e){const t=e.resource;return m.a` + + + `}renderListItem(e){var t,n;const a=e.resource;return m.a` +
    +
    + ${a.webUrl.endsWith(".aspx")?Object(S.b)(S.a.News):Object(S.b)(S.a.FileOuter)} +
    +
    + +
    +
    + + +
    +
    +   ${ir.modified} ${Object(Ke.l)(new Date(a.lastModifiedDateTime))} +
    +
    +
    +
    + ${(null===(t=a.thumbnail)||void 0===t?void 0:t.url)&&u.c` +
    + ${Object(Ke.q)(a.name||Object(Ke.k)(a.webUrl))} +
    `} +
    + + `}renderPerson(e){const t=e.resource;return m.a` +
    + + +
    + + `}renderBookmark(e){return this.renderAnswer(e,S.a.DoubleBookmark)}renderAcronym(e){return this.renderAnswer(e,S.a.BookOpen)}renderQnA(e){return this.renderAnswer(e,S.a.BookQuestion)}renderAnswer(e,t){const n=e.resource;return u.c` +
    +
    + ${Object(S.b)(t)} +
    +
    + +
    ${n.description}
    +
    +
    + + `}renderDefault(e){const t=e.resource,n=this.getResourceUrl(t);return u.c` +
    +
    + ${this.getResourceIcon(t)} +
    +
    +
    + ${n?u.c` + ${this.getResourceName(t)} + `:u.c` + ${this.getResourceName(t)} + `} +
    +
    +
    +
    + + `}getResourceUrl(e){return e.webUrl||e.webLink||null}getResourceName(e){return e.displayName||e.subject||Object(Ke.q)(e.name)}getResultSummary(e){var t;return Object(Ke.p)(e.summary||(null===(t=e.resource)||void 0===t?void 0:t.description)||null)}getResourceIcon(e){switch(e["@odata.type"]){case"#microsoft.graph.site":return Object(S.b)(S.a.Globe);case"#microsoft.graph.message":return Object(S.b)(S.a.Email);case"#microsoft.graph.event":return Object(S.b)(S.a.Event);case"microsoft.graph.chatMessage":return Object(S.b)(S.a.SmallChat);default:return Object(S.b)(S.a.FileOuter)}}shouldRetrieveCache(){return Object(Ke.i)()&&this.cacheEnabled&&!this.isRefreshing}shouldUpdateCache(){return Object(Ke.i)()&&this.cacheEnabled}getRequestOptions(){const e={entityTypes:this.entityTypes,query:{queryString:this.queryString},from:this.from?this.from:void 0,size:this.size?this.size:void 0,fields:this.getFields(),enableTopResults:this.enableTopResults?this.enableTopResults:void 0};return this.entityTypes.includes("externalItem")&&(e.contentSources=this.contentSources),"beta"===this.version&&(e.query.queryTemplate=this.queryTemplate?this.queryTemplate:void 0),e}getFields(){if(this.fields)return this.defaultFields.concat(this.fields)}}dr([Object(f.b)({attribute:"query-string",type:String}),lr("design:type",String),lr("design:paramtypes",[String])],fr.prototype,"queryString",null),dr([Object(f.b)({attribute:"query-template",type:String}),lr("design:type",String)],fr.prototype,"queryTemplate",void 0),dr([Object(f.b)({attribute:"entity-types",converter:e=>e.split(",").map(e=>e.trim()),type:String}),lr("design:type",Array)],fr.prototype,"entityTypes",void 0),dr([Object(f.b)({attribute:"scopes",converter:(e,t)=>e?e.toLowerCase().split(","):null}),lr("design:type",Array)],fr.prototype,"scopes",void 0),dr([Object(f.b)({attribute:"content-sources",converter:(e,t)=>e?e.toLowerCase().split(","):null}),lr("design:type",Array)],fr.prototype,"contentSources",void 0),dr([Object(f.b)({attribute:"version",reflect:!0,type:String}),lr("design:type",Object)],fr.prototype,"version",void 0),dr([Object(f.b)({attribute:"size",reflect:!0,type:Number}),lr("design:type",Number),lr("design:paramtypes",[Object])],fr.prototype,"size",null),dr([Object(f.b)({attribute:"paging-max",reflect:!0,type:Number}),lr("design:type",Object)],fr.prototype,"pagingMax",void 0),dr([Object(f.b)({attribute:"fetch-thumbnail",type:Boolean}),lr("design:type",Boolean)],fr.prototype,"fetchThumbnail",void 0),dr([Object(f.b)({attribute:"fields",converter:e=>e.split(",").map(e=>e.trim()),type:String}),lr("design:type",Array)],fr.prototype,"fields",void 0),dr([Object(f.b)({attribute:"enable-top-results",reflect:!0,type:Boolean}),lr("design:type",Object)],fr.prototype,"enableTopResults",void 0),dr([Object(f.b)({attribute:"cache-enabled",reflect:!0,type:Boolean}),lr("design:type",Object)],fr.prototype,"cacheEnabled",void 0),dr([Object(f.b)({attribute:"cache-invalidation-period",reflect:!0,type:Number}),lr("design:type",Object)],fr.prototype,"cacheInvalidationPeriod",void 0),dr([Object(f.c)(),lr("design:type",Object)],fr.prototype,"response",void 0),dr([Object(f.c)(),lr("design:type",Number),lr("design:paramtypes",[Number])],fr.prototype,"currentPage",null);const pr=()=>{Object(d.c)(),Object(l.registerMgtPersonCardComponent)(),B(),X(),Fe(),et(),M(),Pn(),sa(),_i(),Object(bi.b)(),Object(gi.b)(),li(),Ii(),Ni(),nr(),ur(),Object(Ye.b)()};var mr=n("YZrM"),_r=n("icq5"),hr=n("1/1t"),br=n("tnKu"),gr=n("Ys1X"),vr=n("3ATu"),yr=n("fU9z"),Sr=n("qwWh")},o2vq:function(e,t,n){"use strict";n.d(t,"a",function(){return a});const a=e=>{const t=e;return t.statusCode&&"code"in t&&"body"in t&&t.date&&"message"in t&&"name"in t&&"requestId"in t}},o87Z:function(e,t,n){"use strict";n.d(t,"b",function(){return f}),n.d(t,"a",function(){return p});var a=n("oZuh"),i=n("5ZAu"),r=n("QBS5"),o=n("oePG"),s=n("Gy7L");const c="form-associated-proxy",d="ElementInternals",l=d in window&&"setFormValue"in window[d].prototype,u=new WeakMap;function f(e){const t=class extends e{constructor(...e){super(...e),this.dirtyValue=!1,this.disabled=!1,this.proxyEventsToBlock=["change","click"],this.proxyInitialized=!1,this.required=!1,this.initialValue=this.initialValue||"",this.elementInternals||(this.formResetCallback=this.formResetCallback.bind(this))}static get formAssociated(){return l}get validity(){return this.elementInternals?this.elementInternals.validity:this.proxy.validity}get form(){return this.elementInternals?this.elementInternals.form:this.proxy.form}get validationMessage(){return this.elementInternals?this.elementInternals.validationMessage:this.proxy.validationMessage}get willValidate(){return this.elementInternals?this.elementInternals.willValidate:this.proxy.willValidate}get labels(){if(this.elementInternals)return Object.freeze(Array.from(this.elementInternals.labels));if(this.proxy instanceof HTMLElement&&this.proxy.ownerDocument&&this.id){const e=this.proxy.labels,t=Array.from(this.proxy.getRootNode().querySelectorAll(`[for='${this.id}']`)),n=e?t.concat(Array.from(e)):t;return Object.freeze(n)}return a.d}valueChanged(e,t){this.dirtyValue=!0,this.proxy instanceof HTMLElement&&(this.proxy.value=this.value),this.currentValue=this.value,this.setFormValue(this.value),this.validate()}currentValueChanged(){this.value=this.currentValue}initialValueChanged(e,t){this.dirtyValue||(this.value=this.initialValue,this.dirtyValue=!1)}disabledChanged(e,t){this.proxy instanceof HTMLElement&&(this.proxy.disabled=this.disabled),i.a.queueUpdate(()=>this.classList.toggle("disabled",this.disabled))}nameChanged(e,t){this.proxy instanceof HTMLElement&&(this.proxy.name=this.name)}requiredChanged(e,t){this.proxy instanceof HTMLElement&&(this.proxy.required=this.required),i.a.queueUpdate(()=>this.classList.toggle("required",this.required)),this.validate()}get elementInternals(){if(!l)return null;let e=u.get(this);return e||(e=this.attachInternals(),u.set(this,e)),e}connectedCallback(){super.connectedCallback(),this.addEventListener("keypress",this._keypressHandler),this.value||(this.value=this.initialValue,this.dirtyValue=!1),this.elementInternals||(this.attachProxy(),this.form&&this.form.addEventListener("reset",this.formResetCallback))}disconnectedCallback(){this.proxyEventsToBlock.forEach(e=>this.proxy.removeEventListener(e,this.stopPropagation)),!this.elementInternals&&this.form&&this.form.removeEventListener("reset",this.formResetCallback)}checkValidity(){return this.elementInternals?this.elementInternals.checkValidity():this.proxy.checkValidity()}reportValidity(){return this.elementInternals?this.elementInternals.reportValidity():this.proxy.reportValidity()}setValidity(e,t,n){this.elementInternals?this.elementInternals.setValidity(e,t,n):"string"==typeof t&&this.proxy.setCustomValidity(t)}formDisabledCallback(e){this.disabled=e}formResetCallback(){this.value=this.initialValue,this.dirtyValue=!1}attachProxy(){var e;this.proxyInitialized||(this.proxyInitialized=!0,this.proxy.style.display="none",this.proxyEventsToBlock.forEach(e=>this.proxy.addEventListener(e,this.stopPropagation)),this.proxy.disabled=this.disabled,this.proxy.required=this.required,"string"==typeof this.name&&(this.proxy.name=this.name),"string"==typeof this.value&&(this.proxy.value=this.value),this.proxy.setAttribute("slot",c),this.proxySlot=document.createElement("slot"),this.proxySlot.setAttribute("name",c)),null===(e=this.shadowRoot)||void 0===e||e.appendChild(this.proxySlot),this.appendChild(this.proxy)}detachProxy(){var e;this.removeChild(this.proxy),null===(e=this.shadowRoot)||void 0===e||e.removeChild(this.proxySlot)}validate(e){this.proxy instanceof HTMLElement&&this.setValidity(this.proxy.validity,this.proxy.validationMessage,e)}setFormValue(e,t){this.elementInternals&&this.elementInternals.setFormValue(e,t||e)}_keypressHandler(e){if(e.key===s.g&&this.form instanceof HTMLFormElement){const e=this.form.querySelector("[type=submit]");null==e||e.click()}}stopPropagation(e){e.stopPropagation()}};return Object(r.c)({mode:"boolean"})(t.prototype,"disabled"),Object(r.c)({mode:"fromView",attribute:"value"})(t.prototype,"initialValue"),Object(r.c)({attribute:"current-value"})(t.prototype,"currentValue"),Object(r.c)(t.prototype,"name"),Object(r.c)({mode:"boolean"})(t.prototype,"required"),Object(o.d)(t.prototype,"value"),t}function p(e){class t extends(f(e)){}class n extends t{constructor(...e){super(e),this.dirtyChecked=!1,this.checkedAttribute=!1,this.checked=!1,this.dirtyChecked=!1}checkedAttributeChanged(){this.defaultChecked=this.checkedAttribute}defaultCheckedChanged(){this.dirtyChecked||(this.checked=this.defaultChecked,this.dirtyChecked=!1)}checkedChanged(e,t){this.dirtyChecked||(this.dirtyChecked=!0),this.currentChecked=this.checked,this.updateForm(),this.proxy instanceof HTMLInputElement&&(this.proxy.checked=this.checked),void 0!==e&&this.$emit("change"),this.validate()}currentCheckedChanged(e,t){this.checked=this.currentChecked}updateForm(){const e=this.checked?this.value:null;this.setFormValue(e,e)}connectedCallback(){super.connectedCallback(),this.updateForm()}formResetCallback(){super.formResetCallback(),this.checked=!!this.checkedAttribute,this.dirtyChecked=!1}}return Object(r.c)({attribute:"checked",mode:"boolean"})(n.prototype,"checkedAttribute"),Object(r.c)({attribute:"current-checked",converter:r.d})(n.prototype,"currentChecked"),Object(o.d)(n.prototype,"defaultChecked"),Object(o.d)(n.prototype,"checked"),n}},oZuh:function(e,t,n){"use strict";(function(e){n.d(t,"a",function(){return a}),n.d(t,"b",function(){return r}),n.d(t,"d",function(){return o}),n.d(t,"c",function(){return s});const a=function(){if("undefined"!=typeof globalThis)return globalThis;if(void 0!==e)return e;if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;try{return new Function("return this")()}catch(e){return{}}}();void 0===a.trustedTypes&&(a.trustedTypes={createPolicy:(e,t)=>t});const i={configurable:!1,enumerable:!1,writable:!1};void 0===a.FAST&&Reflect.defineProperty(a,"FAST",Object.assign({value:Object.create(null)},i));const r=a.FAST;if(void 0===r.getById){const e=Object.create(null);Reflect.defineProperty(r,"getById",Object.assign({value(t,n){let a=e[t];return void 0===a&&(a=n?e[t]=n():null),a}},i))}const o=Object.freeze([]);function s(){const e=new WeakMap;return function(t){let n=e.get(t);if(void 0===n){let a=Reflect.getPrototypeOf(t);for(;void 0===n&&null!==a;)n=e.get(a),a=Reflect.getPrototypeOf(a);n=void 0===n?[]:n.slice(0),e.set(t,n)}return n}}}).call(this,n("EKCE"))},oaDa:function(e,t,n){"use strict";n.d(t,"a",function(){return a});class a{static renderTemplate(e,t,n){var a;let i;if(t.$parentTemplateContext&&(n=Object.assign(Object.assign({},n),{$parent:t.$parentTemplateContext})),null===(a=t.content)||void 0===a?void 0:a.childNodes.length){const a=t.content.cloneNode(!0);i=this.renderNode(a,e,n)}else if(t.childNodes.length){const a=document.createElement("div");for(const e of t.childNodes)a.appendChild(this.simpleCloneNode(e));i=this.renderNode(a,e,n)}i&&e.appendChild(i)}static setBindingSyntax(e,t){this._startExpression=e,this._endExpression=t;const n=this.escapeRegex(this._startExpression),a=this.escapeRegex(this._endExpression);this._expression=new RegExp(`${n}\\s*([$\\w\\.,'"\\s()\\[\\]]+)\\s*${a}`,"g")}static get globalContext(){return this._globalContext}static get expression(){return this._expression||this.setBindingSyntax("{{","}}"),this._expression}static escapeRegex(e){return e.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")}static simpleCloneNode(e){if(!e)return null;const t=e.cloneNode(!1);for(const n of e.childNodes){const e=this.simpleCloneNode(n);e&&t.appendChild(e)}return t}static expandExpressionsAsString(e,t){return e.replace(this.expression,(e,n)=>{const a=this.evalInContext(n||this.trimExpression(e),t);return a?"object"==typeof a?JSON.stringify(a):a.toString():""})}static renderNode(e,t,n){if("#text"===e.nodeName)return e.textContent=this.expandExpressionsAsString(e.textContent,n),e;if("TEMPLATE"===e.nodeName)return e.$parentTemplateContext=n,e;const a=e;if(a.attributes)for(const e of a.attributes)if("data-props"===e.name){const i=this.trimExpression(e.value);for(const e of i.split(",")){const i=e.trim().split(":");if(2===i.length){const e=i[0].trim(),r=this.evalInContext(i[1].trim(),n);e.startsWith("@")?"function"==typeof r&&a.addEventListener(e.substring(1),e=>r(e,n,t)):a[e]=r}}}else a.setAttribute(e.name,this.expandExpressionsAsString(e.value,n));const i=[],r=[];let o=!1;for(const a of e.childNodes){const e=a;let s=!1;if(e.dataset){let c=!1;if(e.dataset.if){const t=e.dataset.if;this.evalBoolInContext(this.trimExpression(t),n)?(e.removeAttribute("data-if"),o=!0,s=!0):(r.push(e),c=!0)}else void 0!==e.dataset.else&&(o?(r.push(e),c=!0):e.removeAttribute("data-else"));e.dataset.for&&!c?i.push(e):c||this.renderNode(a,t,n)}else this.renderNode(a,t,n);s||"#text"===a.nodeName||(o=!1)}for(const e of r)a.removeChild(e);for(const e of i){const i=e.dataset.for,r=this.trimExpression(i).split(/\s(in|of)\s/i);if(3===r.length){const i=r[0].trim(),o=r[2].trim(),s=this.evalInContext(o,n);if(Array.isArray(s)){e.removeAttribute("data-for");for(let r=0;r{const e=/(:|&&|\|\||if)/,t=new WeakMap,n=a.a.queueUpdate;let o,s=e=>{throw new Error("Must call enableArrayObservation before observing arrays.")};function c(e){let n=e.$fastController||t.get(e);return void 0===n&&(Array.isArray(e)?n=s(e):t.set(e,n=new r.a(e))),n}const d=Object(i.c)();class l{constructor(e){this.name=e,this.field=`_${e}`,this.callback=`${e}Changed`}getValue(e){return void 0!==o&&o.watch(e,this.name),e[this.field]}setValue(e,t){const n=this.field,a=e[n];if(a!==t){e[n]=t;const i=e[this.callback];"function"==typeof i&&i.call(e,a,t),c(e).notify(this.name)}}}class u extends r.b{constructor(e,t,n=!1){super(e,t),this.binding=e,this.isVolatileBinding=n,this.needsRefresh=!0,this.needsQueue=!0,this.first=this,this.last=null,this.propertySource=void 0,this.propertyName=void 0,this.notifier=void 0,this.next=void 0}observe(e,t){this.needsRefresh&&null!==this.last&&this.disconnect();const n=o;o=this.needsRefresh?this:void 0,this.needsRefresh=this.isVolatileBinding;const a=this.binding(e,t);return o=n,a}disconnect(){if(null!==this.last){let e=this.first;for(;void 0!==e;)e.notifier.unsubscribe(this,e.propertyName),e=e.next;this.last=null,this.needsRefresh=this.needsQueue=!0}}watch(e,t){const n=this.last,a=c(e),i=null===n?this.first:{};if(i.propertySource=e,i.propertyName=t,i.notifier=a,a.subscribe(this,t),null!==n){if(!this.needsRefresh){let t;o=void 0,t=n.propertySource[n.propertyName],o=this,e===t&&(this.needsRefresh=!0)}n.next=i}this.last=i}handleChange(){this.needsQueue&&(this.needsQueue=!1,n(this))}call(){null!==this.last&&(this.needsQueue=!0,this.notify(this))}records(){let e=this.first;return{next:()=>{const t=e;return void 0===t?{value:void 0,done:!0}:(e=e.next,{value:t,done:!1})},[Symbol.iterator]:function(){return this}}}}return Object.freeze({setArrayObserverFactory(e){s=e},getNotifier:c,track(e,t){void 0!==o&&o.watch(e,t)},trackVolatile(){void 0!==o&&(o.needsRefresh=!0)},notify(e,t){c(e).notify(t)},defineProperty(e,t){"string"==typeof t&&(t=new l(t)),d(e).push(t),Reflect.defineProperty(e,t.name,{enumerable:!0,get:function(){return t.getValue(this)},set:function(e){t.setValue(this,e)}})},getAccessors:d,binding(e,t,n=this.isVolatileBinding(e)){return new u(e,t,n)},isVolatileBinding:t=>e.test(t.toString())})});function s(e,t){o.defineProperty(e,t)}function c(e,t,n){return Object.assign({},n,{get:function(){return o.trackVolatile(),n.get.apply(this)}})}const d=i.b.getById(3,()=>{let e=null;return{get:()=>e,set(t){e=t}}});class l{constructor(){this.index=0,this.length=0,this.parent=null,this.parentContext=null}get event(){return d.get()}get isEven(){return this.index%2==0}get isOdd(){return this.index%2!=0}get isFirst(){return 0===this.index}get isInMiddle(){return!this.isFirst&&!this.isLast}get isLast(){return this.index===this.length-1}static setEvent(e){d.set(e)}}o.defineProperty(l.prototype,"index"),o.defineProperty(l.prototype,"length");const u=Object.seal(new l)},olMv:function(e,t,n){"use strict";n.d(t,"a",function(){return a});class a{createCSS(){return""}createBehavior(){}}},oqLQ:function(e,t,n){"use strict";n.d(t,"a",function(){return r});class a{constructor(e){this.listenerCache=new WeakMap,this.query=e}bind(e){const{query:t}=this,n=this.constructListener(e);n.bind(t)(),t.addListener(n),this.listenerCache.set(e,n)}unbind(e){const t=this.listenerCache.get(e);t&&(this.query.removeListener(t),this.listenerCache.delete(e))}}class i extends a{constructor(e,t){super(e),this.styles=t}static with(e){return t=>new i(e,t)}constructListener(e){let t=!1;const n=this.styles;return function(){const{matches:a}=this;a&&!t?(e.$fastController.addStyles(n),t=a):!a&&t&&(e.$fastController.removeStyles(n),t=a)}}unbind(e){super.unbind(e),e.$fastController.removeStyles(this.styles)}}const r=i.with(window.matchMedia("(forced-colors)"));i.with(window.matchMedia("(prefers-color-scheme: dark)")),i.with(window.matchMedia("(prefers-color-scheme: light)"))},ox5k:function(e,t,n){"use strict";n.d(t,"a",function(){return i});var a=n("5rba");const i=e=>null!=e?e:a.d},pnUA:function(e,t,n){"use strict";n.d(t,"a",function(){return i});var a=n("SUtl");class i extends a.a{static fromGraph(e){const t=new i(e.client);return t.setComponent(e.componentName),t}constructor(e,t="beta"){super(e,t)}forComponent(e){const t=new i(this.client);return this.setComponent(e),t}}},ptXv:function(e,t,n){"use strict";n.d(t,"b",function(){return c}),n.d(t,"a",function(){return w}),n.d(t,"c",function(){return x}),n.d(t,"d",function(){return C});const a=globalThis,i=a.ShadowRoot&&(void 0===a.ShadyCSS||a.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,r=Symbol(),o=new WeakMap;class s{constructor(e,t,n){if(this._$cssResult$=!0,n!==r)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(i&&void 0===e){const n=void 0!==t&&1===t.length;n&&(e=o.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&o.set(t,e))}return e}toString(){return this.cssText}}const c=(e,...t)=>{const n=1===e.length?e[0]:t.reduce((t,n,a)=>t+(e=>{if(!0===e._$cssResult$)return e.cssText;if("number"==typeof e)return e;throw Error("Value passed to 'css' function must be a 'css' function result: "+e+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(n)+e[a+1],e[0]);return new s(n,e,r)},d=i?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const n of e.cssRules)t+=n.cssText;return(e=>new s("string"==typeof e?e:e+"",void 0,r))(t)})(e):e;var l,u,f;const{is:p,defineProperty:m,getOwnPropertyDescriptor:_,getOwnPropertyNames:h,getOwnPropertySymbols:b,getPrototypeOf:g}=Object,v=globalThis,y=v.trustedTypes,S=y?y.emptyScript:"",D=v.reactiveElementPolyfillSupport,I=(e,t)=>e,x={toAttribute(e,t){switch(t){case Boolean:e=e?S:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=null!==e;break;case Number:n=null===e?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch(e){n=null}}return n}},C=(e,t)=>!p(e,t),O={attribute:!0,type:String,converter:x,reflect:!1,hasChanged:C};null!==(l=Symbol.metadata)&&void 0!==l||(Symbol.metadata=Symbol("metadata")),null!==(u=v.litPropertyMetadata)&&void 0!==u||(v.litPropertyMetadata=new WeakMap);class w extends HTMLElement{static addInitializer(e){var t;this._$Ei(),(null!==(t=this.l)&&void 0!==t?t:this.l=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=O){if(t.state&&(t.attribute=!1),this._$Ei(),this.elementProperties.set(e,t),!t.noAccessor){const n=Symbol(),a=this.getPropertyDescriptor(e,n,t);void 0!==a&&m(this.prototype,e,a)}}static getPropertyDescriptor(e,t,n){var a;const{get:i,set:r}=null!==(a=_(this.prototype,e))&&void 0!==a?a:{get(){return this[t]},set(e){this[t]=e}};return{get(){return null==i?void 0:i.call(this)},set(t){const a=null==i?void 0:i.call(this);r.call(this,t),this.requestUpdate(e,a,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){var t;return null!==(t=this.elementProperties.get(e))&&void 0!==t?t:O}static _$Ei(){if(this.hasOwnProperty(I("elementProperties")))return;const e=g(this);e.finalize(),void 0!==e.l&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(I("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(I("properties"))){const e=this.properties,t=[...h(e),...b(e)];for(const n of t)this.createProperty(n,e[n])}const e=this[Symbol.metadata];if(null!==e){const t=litPropertyMetadata.get(e);if(void 0!==t)for(const[e,n]of t)this.elementProperties.set(e,n)}this._$Eh=new Map;for(const[e,t]of this.elementProperties){const n=this._$Eu(e,t);void 0!==n&&this._$Eh.set(n,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const n=new Set(e.flat(1/0).reverse());for(const e of n)t.unshift(d(e))}else void 0!==e&&t.push(d(e));return t}static _$Eu(e,t){const n=t.attribute;return!1===n?void 0:"string"==typeof n?n:"string"==typeof e?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){var e;this._$Eg=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),null===(e=this.constructor.l)||void 0===e||e.forEach(e=>e(this))}addController(e){var t,n;(null!==(t=this._$ES)&&void 0!==t?t:this._$ES=[]).push(e),void 0!==this.renderRoot&&this.isConnected&&(null===(n=e.hostConnected)||void 0===n||n.call(e))}removeController(e){var t;null===(t=this._$ES)||void 0===t||t.splice(this._$ES.indexOf(e)>>>0,1)}_$E_(){const e=new Map,t=this.constructor.elementProperties;for(const n of t.keys())this.hasOwnProperty(n)&&(e.set(n,this[n]),delete this[n]);e.size>0&&(this._$Ep=e)}createRenderRoot(){var e;const t=null!==(e=this.shadowRoot)&&void 0!==e?e:this.attachShadow(this.constructor.shadowRootOptions);return((e,t)=>{if(i)e.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(const n of t){const t=document.createElement("style"),i=a.litNonce;void 0!==i&&t.setAttribute("nonce",i),t.textContent=n.cssText,e.appendChild(t)}})(t,this.constructor.elementStyles),t}connectedCallback(){var e,t;null!==(e=this.renderRoot)&&void 0!==e||(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$ES)||void 0===t||t.forEach(e=>{var t;return null===(t=e.hostConnected)||void 0===t?void 0:t.call(e)})}enableUpdating(e){}disconnectedCallback(){var e;null===(e=this._$ES)||void 0===e||e.forEach(e=>{var t;return null===(t=e.hostDisconnected)||void 0===t?void 0:t.call(e)})}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$EO(e,t){const n=this.constructor.elementProperties.get(e),a=this.constructor._$Eu(e,n);if(void 0!==a&&!0===n.reflect){var i;const r=(void 0!==(null===(i=n.converter)||void 0===i?void 0:i.toAttribute)?n.converter:x).toAttribute(t,n.type);this._$Em=e,null==r?this.removeAttribute(a):this.setAttribute(a,r),this._$Em=null}}_$AK(e,t){const n=this.constructor,a=n._$Eh.get(e);if(void 0!==a&&this._$Em!==a){var i;const e=n.getPropertyOptions(a),r="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==(null===(i=e.converter)||void 0===i?void 0:i.fromAttribute)?e.converter:x;this._$Em=a,this[a]=r.fromAttribute(t,e.type),this._$Em=null}}requestUpdate(e,t,n,a=!1,i){if(void 0!==e){var r,o;if(null!==(r=n)&&void 0!==r||(n=this.constructor.getPropertyOptions(e)),!(null!==(o=n.hasChanged)&&void 0!==o?o:C)(a?i:this[e],t))return;this.C(e,t,n)}!1===this.isUpdatePending&&(this._$Eg=this._$EP())}C(e,t,n){var a;this._$AL.has(e)||this._$AL.set(e,t),!0===n.reflect&&this._$Em!==e&&(null!==(a=this._$Ej)&&void 0!==a?a:this._$Ej=new Set).add(e)}async _$EP(){this.isUpdatePending=!0;try{await this._$Eg}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this._$Ep){for(const[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}const e=this.constructor.elementProperties;if(e.size>0)for(const[t,n]of e)!0!==n.wrapped||this._$AL.has(t)||void 0===this[t]||this.C(t,this[t],n)}let e=!1;const t=this._$AL;try{var n;e=this.shouldUpdate(t),e?(this.willUpdate(t),null!==(n=this._$ES)&&void 0!==n&&n.forEach(e=>{var t;return null===(t=e.hostUpdate)||void 0===t?void 0:t.call(e)}),this.update(t)):this._$ET()}catch(t){throw e=!1,this._$ET(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){var t;null!==(t=this._$ES)&&void 0!==t&&t.forEach(e=>{var t;return null===(t=e.hostUpdated)||void 0===t?void 0:t.call(e)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$ET(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$Eg}shouldUpdate(e){return!0}update(e){this._$Ej&&(this._$Ej=this._$Ej.forEach(e=>this._$EO(e,this[e]))),this._$ET()}updated(e){}firstUpdated(e){}}w.elementStyles=[],w.shadowRootOptions={mode:"open"},w[I("elementProperties")]=new Map,w[I("finalized")]=new Map,null!=D&&D({ReactiveElement:w}),(null!==(f=v.reactiveElementVersions)&&void 0!==f?f:v.reactiveElementVersions=[]).push("2.0.0")},"q/PQ":function(e,t,n){"use strict";n.d(t,"a",function(){return i});var a=n("/49y");const i=e=>{try{const t=new URL(e).origin;if(a.b.has(t))return t}catch(e){return}}},q5bN:function(e,t,n){"use strict";n.d(t,"a",function(){return p}),n.d(t,"b",function(){return M});var a=n("P4Ao"),i=n("oZuh");const r=new Map;"metadata"in Reflect||(Reflect.metadata=function(e,t){return function(n){Reflect.defineMetadata(e,t,n)}},Reflect.defineMetadata=function(e,t,n){let a=r.get(n);void 0===a&&r.set(n,a=new Map),a.set(e,t)},Reflect.getOwnMetadata=function(e,t){const n=r.get(t);if(void 0!==n)return n.get(e)});class o{constructor(e,t){this.container=e,this.key=t}instance(e){return this.registerResolver(0,e)}singleton(e){return this.registerResolver(1,e)}transient(e){return this.registerResolver(2,e)}callback(e){return this.registerResolver(3,e)}cachedCallback(e){return this.registerResolver(3,k(e))}aliasTo(e){return this.registerResolver(5,e)}registerResolver(e,t){const{container:n,key:a}=this;return this.container=this.key=void 0,n.registerResolver(a,new v(a,e,t))}}function s(e){const t=e.slice(),n=Object.keys(e),a=n.length;let i;for(let r=0;rnew v(e,1,e),transient:e=>new v(e,2,e)}),d=Object.freeze({default:Object.freeze({parentLocator:()=>null,responsibleForOwnerRequests:!1,defaultResolver:c.singleton})}),l=new Map;function u(e){return t=>Reflect.getOwnMetadata(e,t)}let f=null;const p=Object.freeze({createContainer:e=>new A(null,Object.assign({},d.default,e)),findResponsibleContainer(e){const t=e.$$container$$;return t&&t.responsibleForOwnerRequests?t:p.findParentContainer(e)},findParentContainer(e){const t=new CustomEvent(w,{bubbles:!0,composed:!0,cancelable:!0,detail:{container:void 0}});return e.dispatchEvent(t),t.detail.container||p.getOrCreateDOMContainer()},getOrCreateDOMContainer:(e,t)=>e?e.$$container$$||new A(e,Object.assign({},d.default,t,{parentLocator:p.findParentContainer})):f||(f=new A(null,Object.assign({},d.default,t,{parentLocator:()=>null}))),getDesignParamtypes:u("design:paramtypes"),getAnnotationParamtypes:u("di:paramtypes"),getOrCreateAnnotationParamTypes(e){let t=this.getAnnotationParamtypes(e);return void 0===t&&Reflect.defineMetadata("di:paramtypes",t=[],e),t},getDependencies(e){let t=l.get(e);if(void 0===t){const n=e.inject;if(void 0===n){const n=p.getDesignParamtypes(e),a=p.getAnnotationParamtypes(e);if(void 0===n)if(void 0===a){const n=Object.getPrototypeOf(e);t="function"==typeof n&&n!==Function.prototype?s(p.getDependencies(n)):[]}else t=s(a);else if(void 0===a)t=s(n);else{t=s(n);let e,i=a.length;for(let n=0;n{p.findResponsibleContainer(this).get(n)!==this[r]&&(this[r]=e,a.notify(t))};a.subscribe({handleChange:i},"isConnected")}}return e}})},createInterface(e,t){const n="function"==typeof e?e:t,a="string"==typeof e?e:e&&"friendlyName"in e&&e.friendlyName||U,i="string"!=typeof e&&(e&&"respectConnection"in e&&e.respectConnection||!1),r=function(e,t,n){if(null==e||void 0!==new.target)throw new Error(`No registration for interface: '${r.friendlyName}'`);t?p.defineProperty(e,t,r,i):p.getOrCreateAnnotationParamTypes(e)[n]=r};return r.$isInterface=!0,r.friendlyName=null==a?"(anonymous)":a,null!=n&&(r.register=function(e,t){return n(new o(e,null!=t?t:r))}),r.toString=function(){return`InterfaceSymbol<${r.friendlyName}>`},r},inject:(...e)=>function(t,n,a){if("number"==typeof a){const n=p.getOrCreateAnnotationParamTypes(t),i=e[0];void 0!==i&&(n[a]=i)}else if(n)p.defineProperty(t,n,e[0]);else{const n=a?p.getOrCreateAnnotationParamTypes(a.value):p.getOrCreateAnnotationParamTypes(t);let i;for(let t=0;t(e.register=function(t){return M.transient(e,e).register(t)},e.registerInRequestor=!1,e),singleton:(e,t=h)=>(e.register=function(t){return M.singleton(e,e).register(t)},e.registerInRequestor=t.scoped,e)}),m=p.createInterface("Container");function _(e){return function(t){const n=function(e,t,a){p.inject(n)(e,t,a)};return n.$isResolver=!0,n.resolve=function(n,a){return e(t,n,a)},n}}p.inject;const h={scoped:!1};function b(e,t,n){p.inject(b)(e,t,n)}function g(e,t){return t.getFactory(e).construct(t)}_((e,t,n)=>()=>n.get(e)),_((e,t,n)=>n.has(e,!0)?n.get(e):void 0),b.$isResolver=!0,b.resolve=()=>{},_((e,t,n)=>{const a=g(e,t),i=new v(e,0,a);return n.registerResolver(e,i),a}),_((e,t,n)=>g(e,t));class v{constructor(e,t,n){this.key=e,this.strategy=t,this.state=n,this.resolving=!1}get $isResolver(){return!0}register(e){return e.registerResolver(this.key,this)}resolve(e,t){switch(this.strategy){case 0:return this.state;case 1:if(this.resolving)throw new Error(`Cyclic dependency found: ${this.state.name}`);return this.resolving=!0,this.state=e.getFactory(this.state).construct(t),this.strategy=0,this.resolving=!1,this.state;case 2:{const n=e.getFactory(this.state);if(null===n)throw new Error(`Resolver for ${String(this.key)} returned a null factory`);return n.construct(t)}case 3:return this.state(e,t,this);case 4:return this.state[0].resolve(e,t);case 5:return t.get(this.state);default:throw new Error(`Invalid resolver strategy specified: ${this.strategy}.`)}}getFactory(e){var t,n,a;switch(this.strategy){case 1:case 2:return e.getFactory(this.state);case 5:return null!==(a=null===(n=null===(t=e.getResolver(this.state))||void 0===t?void 0:t.getFactory)||void 0===n?void 0:n.call(t,e))&&void 0!==a?a:null;default:return null}}}function y(e){return this.get(e)}function S(e,t){return t(e)}class D{constructor(e,t){this.Type=e,this.dependencies=t,this.transformers=null}construct(e,t){let n;return n=void 0===t?new this.Type(...this.dependencies.map(y,e)):new this.Type(...this.dependencies.map(y,e),...t),null==this.transformers?n:this.transformers.reduce(S,n)}registerTransformer(e){(this.transformers||(this.transformers=[])).push(e)}}const I={$isResolver:!0,resolve:(e,t)=>t};function x(e){return"function"==typeof e.register}function C(e){return function(e){return x(e)&&"boolean"==typeof e.registerInRequestor}(e)&&e.registerInRequestor}const O=new Set(["Array","ArrayBuffer","Boolean","DataView","Date","Error","EvalError","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Number","Object","Promise","RangeError","ReferenceError","RegExp","Set","SharedArrayBuffer","String","SyntaxError","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","URIError","WeakMap","WeakSet"]),w="__DI_LOCATE_PARENT__",E=new Map;class A{constructor(e,t){this.owner=e,this.config=t,this._parent=void 0,this.registerDepth=0,this.context=null,null!==e&&(e.$$container$$=this),this.resolvers=new Map,this.resolvers.set(m,I),e instanceof Node&&e.addEventListener(w,e=>{e.composedPath()[0]!==this.owner&&(e.detail.container=this,e.stopImmediatePropagation())})}get parent(){return void 0===this._parent&&(this._parent=this.config.parentLocator(this.owner)),this._parent}get depth(){return null===this.parent?0:this.parent.depth+1}get responsibleForOwnerRequests(){return this.config.responsibleForOwnerRequests}registerWithContext(e,...t){return this.context=e,this.register(...t),this.context=null,this}register(...e){if(100==++this.registerDepth)throw new Error("Unable to autoregister dependency");let t,n,a,i,r;const o=this.context;for(let s=0,c=e.length;sthis}))}jitRegister(e,t){if("function"!=typeof e)throw new Error(`Attempted to jitRegister something that is not a constructor: '${e}'. Did you forget to register this dependency?`);if(O.has(e.name))throw new Error(`Attempted to jitRegister an intrinsic type: ${e.name}. Did you forget to add @inject(Key)`);if(x(e)){const n=e.register(t);if(!(n instanceof Object)||null==n.resolve){const n=t.resolvers.get(e);if(null!=n)return n;throw new Error("A valid resolver was not returned from the static register method")}return n}if(e.$isInterface)throw new Error(`Attempted to jitRegister an interface: ${e.friendlyName}`);{const n=this.config.defaultResolver(e,t);return t.resolvers.set(e,n),n}}}const L=new WeakMap;function k(e){return function(t,n,a){if(L.has(a))return L.get(a);const i=e(t,n,a);return L.set(a,i),i}}const M=Object.freeze({instance:(e,t)=>new v(e,0,t),singleton:(e,t)=>new v(e,1,t),transient:(e,t)=>new v(e,2,t),callback:(e,t)=>new v(e,3,t),cachedCallback:(e,t)=>new v(e,3,k(t)),aliasTo:(e,t)=>new v(t,5,e)});function P(e){if(null==e)throw new Error("key/value cannot be null or undefined. Are you trying to inject/register something that doesn't exist with DI?")}function T(e,t,n){if(e instanceof v&&4===e.strategy){const a=e.state;let i=a.length;const r=new Array(i);for(;i--;)r[i]=a[i].resolve(t,n);return r}return[e.resolve(t,n)]}const U="(anonymous)";function F(e){return"object"==typeof e&&null!==e||"function"==typeof e}const H=function(){const e=new WeakMap;let t=!1,n="",a=0;return function(i){return t=e.get(i),void 0===t&&(n=i.toString(),a=n.length,t=a>=29&&a<=100&&125===n.charCodeAt(a-1)&&n.charCodeAt(a-2)<=32&&93===n.charCodeAt(a-3)&&101===n.charCodeAt(a-4)&&100===n.charCodeAt(a-5)&&111===n.charCodeAt(a-6)&&99===n.charCodeAt(a-7)&&32===n.charCodeAt(a-8)&&101===n.charCodeAt(a-9)&&118===n.charCodeAt(a-10)&&105===n.charCodeAt(a-11)&&116===n.charCodeAt(a-12)&&97===n.charCodeAt(a-13)&&110===n.charCodeAt(a-14)&&88===n.charCodeAt(a-15),e.set(i,t)),t}}(),R={};function N(e){switch(typeof e){case"number":return e>=0&&(0|e)===e;case"string":{const t=R[e];if(void 0!==t)return t;const n=e.length;if(0===n)return R[e]=!1;let a=0;for(let t=0;t1||a<48||a>57)return R[e]=!1;return R[e]=!0}default:return!1}}},qibw:function(e,t,n){"use strict";var a;n.d(t,"a",function(){return a}),function(e){e.ltr="ltr",e.rtl="rtl"}(a||(a={}))},qqMp:function(e,t,n){"use strict";n.d(t,"b",function(){return r.b}),n.d(t,"c",function(){return o.b}),n.d(t,"d",function(){return o.d}),n.d(t,"a",function(){return s});var a,i,r=n("ptXv"),o=n("5rba");class s extends r.a{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var e,t;const n=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=n.firstChild),n}update(e){const t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=Object(o.e)(t,this.renderRoot,this.renderOptions)}connectedCallback(){var e;super.connectedCallback(),null===(e=this._$Do)||void 0===e||e.setConnected(!0)}disconnectedCallback(){var e;super.disconnectedCallback(),null===(e=this._$Do)||void 0===e||e.setConnected(!1)}render(){return o.c}}s._$litElement$=!0,s.finalized=!0,null===(a=globalThis.litElementHydrateSupport)||void 0===a||a.call(globalThis,{LitElement:s});const c=globalThis.litElementPolyfillSupport;null==c||c({LitElement:s}),(null!==(i=globalThis.litElementVersions)&&void 0!==i?i:globalThis.litElementVersions=[]).push("4.0.0")},qwWh:function(e,t,n){"use strict";n.d(t,"a",function(){return a.a}),n.d(t,"l",function(){return i.a}),n.d(t,"m",function(){return i.b}),n.d(t,"g",function(){return r.a}),n.d(t,"B",function(){return r.b}),n.d(t,"b",function(){return o.a}),n.d(t,"e",function(){return s.a}),n.d(t,"n",function(){return s.b}),n.d(t,"o",function(){return u}),n.d(t,"p",function(){return f.a}),n.d(t,"D",function(){return p.a}),n.d(t,"i",function(){return m.a}),n.d(t,"k",function(){return m.b}),n.d(t,"s",function(){return m.c}),n.d(t,"t",function(){return _.a}),n.d(t,"u",function(){return _.b}),n.d(t,"v",function(){return h}),n.d(t,"E",function(){return b.b}),n.d(t,"c",function(){return b.a}),n.d(t,"d",function(){return g.a}),n.d(t,"f",function(){return v.a}),n.d(t,"F",function(){return y.b}),n.d(t,"y",function(){return y.a}),n.d(t,"A",function(){return S.a}),n.d(t,"J",function(){return D.a}),n.d(t,"L",function(){return I.a}),n.d(t,"w",function(){return x.a}),n.d(t,"x",function(){return C.a}),n.d(t,"h",function(){return O.a}),n.d(t,"j",function(){return w.a}),n.d(t,"I",function(){return E.a}),n.d(t,"C",function(){return L}),n.d(t,"H",function(){return A.b}),n.d(t,"M",function(){return A.c}),n.d(t,"G",function(){return A.a}),n.d(t,"z",function(){return k.a}),n.d(t,"K",function(){return k.b}),n.d(t,"r",function(){return M.a}),n.d(t,"q",function(){return N});var a=n("4Eu1"),i=n("/49y"),r=n("SUtl"),o=n("pnUA"),s=n("dblZ"),c=n("ZgG/"),d=function(e,t,n,a){var i,r=arguments.length,o=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,a);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o},l=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};class u extends s.b{constructor(){super(...arguments),this.stateChangedHandler=()=>{this.fireCustomEvent("onStateChanged",this.provider.state)}}get provider(){return this._provider}set provider(e){this._provider&&this.provider.removeStateChangedHandler(()=>this.stateChangedHandler),this._provider=e,this._provider&&this.provider.onStateChanged(()=>this.stateChangedHandler)}get isAvailable(){return!0}firstUpdated(e){super.firstUpdated(e);let t=!1;if(this.dependsOn){let e=this.dependsOn;for(;e;){if(e.isAvailable){t=!0;break}e=e.dependsOn}}!t&&this.isAvailable&&this.initializeProvider()}initializeProvider(){}}d([Object(c.b)({attribute:"depends-on",converter:e=>document.querySelector(e),type:String}),l("design:type",u)],u.prototype,"dependsOn",void 0),d([Object(c.b)({attribute:"base-url",type:String}),l("design:type",String)],u.prototype,"baseUrl",void 0),d([Object(c.b)({attribute:"custom-hosts",type:String,converter:e=>e.split(",").map(e=>e.trim())}),l("design:type",Array)],u.prototype,"customHosts",void 0);var f=n("Y1A4"),p=n("HN6m"),m=n("/i08"),_=n("zFbe");class h extends m.a{get name(){return"MgtSimpleProvider"}constructor(e,t,n){super(),this._getAccessTokenHandler=e,this._loginHandler=t,this._logoutHandler=n,this.graph=Object(r.b)(this)}getAccessToken(e){return this._getAccessTokenHandler(null==e?void 0:e.scopes)}login(){return this._loginHandler()}logout(){return this._logoutHandler()}}var b=n("DNu6"),g=n("d3jT"),v=n("x+GM"),y=n("ylMe"),S=n("E7Zv"),D=n("RIOo"),I=n("q/PQ"),x=n("Yn9m"),C=n("oaDa"),O=n("WHff"),w=n("zb6c"),E=n("cBsD"),A=n("R2TB");const L=e=>{const t=`${p.a.prefix}-${e}`,n=customElements.get(t),a=e=>e.packageVersion||" Unknown likely <3.0.0";return n?e=>(Object(A.a)(`Tag name ${t} is already defined using class ${n.name} version ${a(n)}\n`,`Currently registering class ${e.name} with version ${a(e)}\n`,"Please use the disambiguation feature to define a unique tag name for this component see: https://github.com/microsoftgraph/microsoft-graph-toolkit/tree/main/packages/mgt-components#disambiguation"),e):Object(c.a)(t)};var k=n("0mOt"),M=n("2oY9"),P=n("EYXE");class T{constructor(){this.session=window.sessionStorage}setItem(e,t){this.session.setItem(e,t)}getItem(e){return this.session.getItem(e)}clear(){this.session.clear()}}var U=function(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})};class F{static get _sessionCache(){return!this._cache&&(e=>{let t;try{t=window.sessionStorage;const e="__storage_test__";return t.setItem(e,e),t.removeItem(e),!0}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&t&&0!==t.length}})()&&(this._cache=new T),this._cache}execute(e){return U(this,void 0,void 0,function*(){try{const t=yield F.getBaseUrl();e.request=t+encodeURIComponent(e.request)}catch(e){}return yield this._nextMiddleware.execute(e)})}setNext(e){this._nextMiddleware=e}static getBaseUrl(){var e,t;return U(this,void 0,void 0,function*(){if(!this._baseUrl){const n=null===(e=this._sessionCache)||void 0===e?void 0:e.getItem("endpointURL");if(n)this._baseUrl=n;else{try{const e=yield fetch("https://cdn.graph.office.net/en-us/graph/api/proxy/endpoint"),t=yield e.json();"string"!=typeof t?F.setBaseFallbackUrl():this._baseUrl=t+"?url="}catch(e){F.setBaseFallbackUrl()}null===(t=this._sessionCache)||void 0===t||t.setItem("endpointURL",this._baseUrl)}}return this._baseUrl})}static setBaseFallbackUrl(){this._baseUrl="https://proxy.apisandbox.msdn.microsoft.com/svc?url="}}class H extends r.a{static create(e){return t=this,void 0,a=function*(){const t=[new P.AuthenticationHandler(e),new P.RetryHandler(new P.RetryHandlerOptions),new P.TelemetryHandler,new F,new P.HTTPMessageHandler];return new H(P.Client.initWithMiddleware({middleware:Object(S.a)(...t),customHosts:new Set([new URL(yield F.getBaseUrl()).hostname])}))},new((n=void 0)||(n=Promise))(function(e,i){function r(e){try{s(a.next(e))}catch(e){i(e)}}function o(e){try{s(a.throw(e))}catch(e){i(e)}}function s(t){var a;t.done?e(t.value):(a=t.value,a instanceof n?a:new n(function(e){e(a)})).then(r,o)}s((a=a.apply(t,[])).next())});var t,n,a}forComponent(e){return this}}var R=function(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})};class N extends m.a{constructor(e=!1,t=[]){super(),this._accounts=[],this._mockGraphPromise=H.create(this);const n=Boolean(t.length);this.isMultipleAccountSupported=n,this.isMultipleAccountDisabled=!n,this._accounts=t,this.initializeMockGraph(e)}get isMultiAccountSupportedAndEnabled(){return!this.isMultipleAccountDisabled&&this.isMultipleAccountSupported}getAllAccounts(){return this._accounts}getActiveAccount(){if(this._accounts.length)return this._accounts[0]}login(){return R(this,void 0,void 0,function*(){this.setState(m.c.Loading),yield this._mockGraphPromise,yield new Promise(e=>setTimeout(e,3e3)),this.setState(m.c.SignedIn)})}logout(){return R(this,void 0,void 0,function*(){this.setState(m.c.Loading),yield this._mockGraphPromise,yield new Promise(e=>setTimeout(e,3e3)),this.setState(m.c.SignedOut)})}getAccessToken(){return Promise.resolve("{token:https://graph.microsoft.com/}")}get name(){return"MgtMockProvider"}initializeMockGraph(e=!1){return R(this,void 0,void 0,function*(){this.graph=yield this._mockGraphPromise,e?this.setState(m.c.SignedIn):this.setState(m.c.SignedOut)})}}},s2f2:function(e,t,n){"use strict";n.d(t,"a",function(){return i});var a=n("Kct4");function i(e){return Object(a.a)(e)?-1:1}},s9K1:function(e,t,n){"use strict";n.d(t,"g",function(){return c}),n.d(t,"d",function(){return d}),n.d(t,"h",function(){return l}),n.d(t,"e",function(){return u}),n.d(t,"f",function(){return f}),n.d(t,"j",function(){return p}),n.d(t,"i",function(){return m}),n.d(t,"b",function(){return _}),n.d(t,"a",function(){return h}),n.d(t,"c",function(){return b});var a=n("DNu6"),i=n("RIOo"),r=n("imsm"),o=n("z0DP"),s=function(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})};const c=()=>a.a.config.users.invalidationPeriod||a.a.config.defaultInvalidationPeriod,d=()=>a.a.config.users.isEnabled&&a.a.config.isEnabled,l=(e,t="",n=10)=>s(void 0,void 0,void 0,function*(){let o;const s=`${""===t?"*":t}:${n}`,l={maxResults:n,results:null};if(d()){o=a.a.getCache(r.a.users,r.a.users.stores.userFilters);const e=yield o.getValue(s);if(e&&c()>Date.now()-e.timeCached)return e.results.map(e=>JSON.parse(e))}const u=e.api("/users").top(n);t&&u.filter(t);try{const e=yield u.middlewareOptions(Object(i.a)("user.read")).get();return d()&&e&&(l.results=e.value.map(e=>JSON.stringify(e)),yield o.putValue(t,l)),e.value}catch(e){}}),u=(e,t)=>s(void 0,void 0,void 0,function*(){let n;if(d()){n=a.a.getCache(r.a.users,r.a.users.stores.users);const e=yield n.getValue("me");if(e&&c()>Date.now()-e.timeCached){const n=JSON.parse(e.user),a=t?t.filter(e=>!Object.keys(n).includes(e)):null;if(!a||a.length<=1)return n}}let o="me";t&&(o=o+"?$select="+t.toString());const s=yield e.api(o).middlewareOptions(Object(i.a)("user.read")).get();return d()&&(yield n.putValue("me",{user:JSON.stringify(s)})),s}),f=(e,t,n)=>s(void 0,void 0,void 0,function*(){let o;if(d()){o=a.a.getCache(r.a.users,r.a.users.stores.users);const e=yield o.getValue(t);if(e&&c()>Date.now()-e.timeCached){const t=e.user?JSON.parse(e.user):null,a=n&&t?n.filter(e=>!Object.keys(t).includes(e)):null;if(!a||a.length<=1)return t}}let s,l=`/users/${t}`;n&&(l=l+"?$select="+n.toString());try{s=yield e.api(l).middlewareOptions(Object(i.a)("user.readbasic.all")).get()}catch(e){}return d()&&(yield o.putValue(t,{user:JSON.stringify(s)})),s}),p=(e,t,n="",i="",o)=>s(void 0,void 0,void 0,function*(){if(!t||0===t.length)return[];const l=e.createBatch(),p={},m={},_=[];let h;n=n.toLowerCase(),d()&&(h=a.a.getCache(r.a.users,r.a.users.stores.users));for(const a of t){p[a]=null;let t,r,o=`/users/${a}`;if(d()&&(r=yield h.getValue(a)),(null==r?void 0:r.user)&&c()>Date.now()-r.timeCached)if(t=JSON.parse(null==r?void 0:r.user),n){if(t){const e=t.displayName;(null==e?void 0:e.toLowerCase().includes(n))&&(m[a]=t)}}else t?p[a]=t:(l.get(a,o,["user.readbasic.all"]),_.push(a));else""!==a&&("me"===a.toString()?p[a]=yield u(e):(o=`/users/${a}`,i&&(o+=`${o}?$filter=${i}`),l.get(a,o,["user.readbasic.all"]),_.push(a)))}try{if(l.hasRequests){const e=yield l.executeAll();for(const a of t){const t=e.get(a);if(null==t?void 0:t.content){const e=t.content;n?((null==e?void 0:e.displayName.toLowerCase())||"").includes(n)&&(m[a]=e):p[a]=e,d()&&(yield h.putValue(a,{user:JSON.stringify(e)}))}else{const e=o.find(e=>Object.values(e).includes(a));e&&(p[a]=e)}}}return n&&Object.keys(m).length?Promise.all(Object.values(m)):Promise.all(Object.values(p))}catch(n){try{return t.filter(e=>_.includes(e)).forEach(t=>{p[t]=f(e,t)}),d()&&(yield Promise.all(t.filter(e=>_.includes(e)).map(e=>s(void 0,void 0,void 0,function*(){return yield h.putValue(e,{user:JSON.stringify(yield p[e])})})))),Promise.all(Object.values(p))}catch(e){return[]}}}),m=(e,t,n)=>s(void 0,void 0,void 0,function*(){var i;if(!t||0===t.length)return[];const l=e.createBatch(),u=[];let f,p;d()&&(p=a.a.getCache(r.a.users,r.a.users.stores.usersQuery));for(const e of t)if(d()&&(f=yield p.getValue(e)),d()&&(null==f?void 0:f.results[0])&&c()>Date.now()-f.timeCached){const e=JSON.parse(f.results[0]);u.push(e)}else l.get(e,`/me/people?$search="${e}"`,["people.read"],{"X-PeopleQuery-QuerySources":"Mailbox,Directory"});if(l.hasRequests)try{const e=yield l.executeAll();for(const a of t){const t=e.get(a);if((null===(i=null==t?void 0:t.content)||void 0===i?void 0:i.value)&&t.content.value.length>0)u.push(t.content.value[0]),d()&&(yield p.putValue(a,{maxResults:1,results:[JSON.stringify(t.content.value[0])]}));else{const e=n.find(e=>Object.values(e).includes(a));e&&u.push(e)}}return u}catch(n){try{return Promise.all(t.filter(e=>e&&""!==e).map(t=>s(void 0,void 0,void 0,function*(){const n=yield Object(o.d)(e,t,1);if(null==n?void 0:n.length)return d()&&(yield p.putValue(t,{maxResults:1,results:[JSON.stringify(n[0])]})),n[0]})))}catch(e){return[]}}return u}),_=(e,t,n=10,o="")=>s(void 0,void 0,void 0,function*(){const s={maxResults:n,results:null},l=`${t}:${n}:${o}`;let u;if(d()){u=a.a.getCache(r.a.users,r.a.users.stores.usersQuery);const e=yield u.getValue(l);if(e&&c()>Date.now()-e.timeCached)return e.results.map(e=>JSON.parse(e))}const f=`${t.replace(/#/g,"%2523")}`,p=e.api("users").header("ConsistencyLevel","eventual").count(!0).search(`"displayName:${f}" OR "mail:${f}"`);let m;""!==o&&p.filter(o);try{m=yield p.top(n).middlewareOptions(Object(i.a)("User.ReadBasic.All")).get()}catch(e){}return d()&&m&&(s.results=m.value.map(e=>JSON.stringify(e)),yield u.putValue(t,s)),m?m.value:null}),h=(e,t,n,l=10,u=o.a.person,f=!1,p="",m="")=>s(void 0,void 0,void 0,function*(){const s={maxResults:l,results:null};let _;const h=`${n||"*"}:${t||"*"}:${l}:${u}:${f}:${p}`;if(d()){_=a.a.getCache(r.a.users,r.a.users.stores.usersQuery);const e=yield _.getValue(h);if(e&&c()>Date.now()-e.timeCached)return e.results.map(e=>JSON.parse(e))}let b="";t&&(b=`startswith(displayName,'${t}') or startswith(givenName,'${t}') or startswith(surname,'${t}') or startswith(mail,'${t}') or startswith(userPrincipalName,'${t}')`);let g=`/groups/${n}/${f?"transitiveMembers":"members"}`;u===o.a.person?g+="/microsoft.graph.user":u===o.a.group&&(g+="/microsoft.graph.group",t&&(b=`startswith(displayName,'${t}') or startswith(mail,'${t}')`)),p&&(b+=t?` and ${p}`:p),m&&(b+=t?` and ${m}`:m);const v=yield e.api(g).count(!0).top(l).filter(b).header("ConsistencyLevel","eventual").middlewareOptions(Object(i.a)("GroupMember.Read.All")).get();return d()&&v&&(s.results=v.value.map(e=>JSON.stringify(e)),yield _.putValue(h,s)),v?v.value:null}),b=(e,t,n,a=10,i=o.a.person,r=!1,c="")=>s(void 0,void 0,void 0,function*(){const o=[];for(const s of n)try{const n=yield h(e,t,s,a,i,r,c);o.push(...n)}catch(e){continue}return o})},swXE:function(e,t,n){"use strict";n.d(t,"j",function(){return l}),n.d(t,"a",function(){return p}),n.d(t,"f",function(){return m}),n.d(t,"b",function(){return _}),n.d(t,"g",function(){return h}),n.d(t,"c",function(){return b}),n.d(t,"k",function(){return g}),n.d(t,"l",function(){return v}),n.d(t,"h",function(){return y}),n.d(t,"d",function(){return S}),n.d(t,"i",function(){return D}),n.d(t,"e",function(){return I});var a=n("PT2o"),i=n("tq/8"),r=n("RN7+"),o=n("SiT+"),s=n("6eT7"),c=n("xAa8"),d=n("0q6d");function l(e){function t(e){return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)}return function(e){return.2126*e.r+.7152*e.g+.0722*e.b}(new s.a(t(e.r),t(e.g),t(e.b),1))}function u(e,t,n){return n-t==0?0:(e-t)/(n-t)}function f(e,t,n){return(u(e.r,t.r,n.r)+u(e.g,t.g,n.g)+u(e.b,t.b,n.b))/3}function p(e,t,n=null){let a=0,i=n;return null!==i?a=f(e,t,i):(i=new s.a(0,0,0,1),a=f(e,t,i),a<=0&&(i=new s.a(1,1,1,1),a=f(e,t,i))),a=Math.round(1e3*a)/1e3,new s.a(i.r,i.g,i.b,a)}function m(e){const t=Math.max(e.r,e.g,e.b),n=Math.min(e.r,e.g,e.b),i=t-n;let r=0;0!==i&&(r=t===e.r?(e.g-e.b)/i%6*60:t===e.g?60*((e.b-e.r)/i+2):60*((e.r-e.g)/i+4)),r<0&&(r+=360);const o=(t+n)/2;let s=0;return 0!==i&&(s=i/(1-Math.abs(2*o-1))),new a.a(r,s,o)}function _(e,t=1){const n=(1-Math.abs(2*e.l-1))*e.s,a=n*(1-Math.abs(e.h/60%2-1)),i=e.l-n/2;let r=0,o=0,c=0;return e.h<60?(r=n,o=a,c=0):e.h<120?(r=a,o=n,c=0):e.h<180?(r=0,o=n,c=a):e.h<240?(r=0,o=a,c=n):e.h<300?(r=a,o=0,c=n):e.h<360&&(r=n,o=0,c=a),new s.a(r+i,o+i,c+i,t)}function h(e){const t=Math.max(e.r,e.g,e.b),n=t-Math.min(e.r,e.g,e.b);let a=0;0!==n&&(a=t===e.r?(e.g-e.b)/n%6*60:t===e.g?60*((e.b-e.r)/n+2):60*((e.r-e.g)/n+4)),a<0&&(a+=360);let r=0;return 0!==t&&(r=n/t),new i.a(a,r,t)}function b(e,t=1){const n=e.s*e.v,a=n*(1-Math.abs(e.h/60%2-1)),i=e.v-n;let r=0,o=0,c=0;return e.h<60?(r=n,o=a,c=0):e.h<120?(r=a,o=n,c=0):e.h<180?(r=0,o=n,c=a):e.h<240?(r=0,o=a,c=n):e.h<300?(r=a,o=0,c=n):e.h<360&&(r=n,o=0,c=a),new s.a(r+i,o+i,c+i,t)}function g(e){function t(e){return e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}const n=t(e.r),a=t(e.g),i=t(e.b),r=.4124564*n+.3575761*a+.1804375*i,o=.2126729*n+.7151522*a+.072175*i,s=.0193339*n+.119192*a+.9503041*i;return new c.a(r,o,s)}function v(e,t=1){function n(e){return e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055}const a=n(3.2404542*e.x-1.5371385*e.y-.4985314*e.z),i=n(-.969266*e.x+1.8760108*e.y+.041556*e.z),r=n(.0556434*e.x-.2040259*e.y+1.0572252*e.z);return new s.a(a,i,r,t)}function y(e){return function(e){function t(e){return e>r.a.epsilon?Math.pow(e,1/3):(r.a.kappa*e+16)/116}const n=t(e.x/c.a.whitePoint.x),a=t(e.y/c.a.whitePoint.y),i=116*a-16,o=500*(n-a),s=200*(a-t(e.z/c.a.whitePoint.z));return new r.a(i,o,s)}(g(e))}function S(e,t=1){return v(function(e){const t=(e.l+16)/116,n=t+e.a/500,a=t-e.b/200,i=Math.pow(n,3),o=Math.pow(t,3),s=Math.pow(a,3);let d=0;d=i>r.a.epsilon?i:(116*n-16)/r.a.kappa;let l=0;l=e.l>r.a.epsilon*r.a.kappa?o:e.l/r.a.kappa;let u=0;return u=s>r.a.epsilon?s:(116*a-16)/r.a.kappa,d=c.a.whitePoint.x*d,l=c.a.whitePoint.y*l,u=c.a.whitePoint.z*u,new c.a(d,l,u)}(e),t)}function D(e){return function(e){let t=0;(Math.abs(e.b)>.001||Math.abs(e.a)>.001)&&(t=Object(d.h)(Math.atan2(e.b,e.a))),t<0&&(t+=360);const n=Math.sqrt(e.a*e.a+e.b*e.b);return new o.a(e.l,n,t)}(y(e))}function I(e,t=1){return S(function(e){let t=0,n=0;return 0!==e.h&&(t=Math.cos(Object(d.b)(e.h))*e.c,n=Math.sin(Object(d.b)(e.h))*e.c),new r.a(e.l,t,n)}(e),t)}},tezw:function(e,t,n){"use strict";n.d(t,"a",function(){return s});var a=n("eftJ"),i=n("QBS5"),r=n("oePG"),o=n("TDEi");class s extends o.a{constructor(){super(...arguments),this.percentComplete=0}valueChanged(){this.$fastController.isConnected&&this.updatePercentComplete()}minChanged(){this.$fastController.isConnected&&this.updatePercentComplete()}maxChanged(){this.$fastController.isConnected&&this.updatePercentComplete()}connectedCallback(){super.connectedCallback(),this.updatePercentComplete()}updatePercentComplete(){const e="number"==typeof this.min?this.min:0,t="number"==typeof this.max?this.max:100,n="number"==typeof this.value?this.value:0,a=t-e;this.percentComplete=0===a?0:Math.fround((n-e)/a*100)}}Object(a.a)([Object(i.c)({converter:i.e})],s.prototype,"value",void 0),Object(a.a)([Object(i.c)({converter:i.e})],s.prototype,"min",void 0),Object(a.a)([Object(i.c)({converter:i.e})],s.prototype,"max",void 0),Object(a.a)([Object(i.c)({mode:"boolean"})],s.prototype,"paused",void 0),Object(a.a)([r.d],s.prototype,"percentComplete",void 0)},tnKu:function(e,t,n){"use strict";n.d(t,"b",function(){return l}),n.d(t,"a",function(){return u});var a=n("qqMp"),i=n("C001"),r=n("7Cdu"),o=n("/4Fm");const s=[a.b` +:host([hidden]){display:none}:host{display:block;font-family:var(--default-font-family, "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, "BlinkMacSystemFont", "Roboto", "Helvetica Neue", sans-serif);font-size:var(--default-font-size,14px);--theme-primary-color:#0078d7;--theme-dark-color:#005a9e}:focus-visible{outline-color:var(--focus-ring-color,Highlight);outline-color:var(--focus-ring-color,-webkit-focus-ring-color);outline-style:var(--focus-ring-style,auto)}.ms-icon{display:inline-block;font-family:FabricMDL2Icons;font-style:normal;font-weight:400;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:4px 0}.error{background-color:#fde7e9;padding-block:8px;padding-inline:8px 12px}.ms-icon-chevron-down::before{content:"\\\e70d"}.ms-icon-chevron-up::before{content:"\\\e70e"}.ms-icon-contact::before{content:"\\\e77b"}.ms-icon-add-friend::before{content:"\\\e8fa"}.ms-icon-outlook-logo-inverser::before{content:"\\\eb6d"}:host .loading,:host .no-data{margin:0 20px;display:flex;justify-content:center}:host .no-data{font-style:normal;font-weight:600;font-size:14px;color:var(--font-color,#323130);line-height:19px}:host([hidden]){display:none}:host{display:block;font-family:var(--default-font-family, "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, "BlinkMacSystemFont", "Roboto", "Helvetica Neue", sans-serif);font-size:var(--default-font-size,14px);--theme-primary-color:#0078d7;--theme-dark-color:#005a9e}:focus-visible{outline-color:var(--focus-ring-color,Highlight);outline-color:var(--focus-ring-color,-webkit-focus-ring-color);outline-style:var(--focus-ring-style,auto)}.ms-icon{display:inline-block;font-family:FabricMDL2Icons;font-style:normal;font-weight:400;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:4px 0}.error{background-color:#fde7e9;padding-block:8px;padding-inline:8px 12px}.ms-icon-chevron-down::before{content:"\\\e70d"}.ms-icon-chevron-up::before{content:"\\\e70e"}.ms-icon-contact::before{content:"\\\e77b"}.ms-icon-add-friend::before{content:"\\\e8fa"}.ms-icon-outlook-logo-inverser::before{content:"\\\eb6d"}:host{position:relative;user-select:none}:host .root.compact{padding:0}:host .root .message{padding:8px 20px;display:flex;align-items:center;justify-content:space-between}:host .root .message:hover{background-color:var(--message-hover-color,var(--neutral-fill-hover));cursor:pointer}:host .root .message:last-child{margin-bottom:unset}:host .root .message .message__detail{min-width:0;line-height:normal}:host .root .message .message__detail .message__subject{color:var(--message-subject-color,var(--neutral-foreground-color));font-size:var(--message-subject-font-size,14px);font-weight:var(--message-subject-font-weight,600);line-height:var(--message-subject-line-height,20px)}:host .root .message .message__detail .message__from{font-size:var(--message-subject-font-size,12px);color:var(--message-from-color,var(--neutral-foreground-color));line-height:var(--message-subject-line-height,16px);font-weight:var(--message-subject-font-weight,400)}:host .root .message .message__detail .message__message{font-size:var(--message-subject-font-size,12px);color:var(--message-color,var(--neutral-foreground-hint));line-height:var(--message-subject-line-height,16px);font-weight:var(--message-subject-font-weight,400)}:host .root .message .message__detail>div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .root .message .message__date{margin-top:8px;font-size:12px;color:var(--message-date,var(--neutral-foreground-hint));margin-left:10px;white-space:nowrap} +`],c={emailsSectionTitle:"Emails"};var d=n("0mOt");const l=()=>Object(d.b)("messages",u);class u extends i.a{static get styles(){return s}get strings(){return c}constructor(e){super(),this._messages=e}get displayName(){return this.strings.emailsSectionTitle}get cardTitle(){return this.strings.emailsSectionTitle}clearState(){super.clearState(),this._messages=[]}renderIcon(){return Object(r.b)(r.a.Messages)}renderCompactView(){var e;let t;if(this.isLoadingState)t=this.renderLoading();else if(null===(e=this._messages)||void 0===e?void 0:e.length){const e=this._messages?this._messages.slice(0,3).map(e=>this.renderMessage(e)):[];t=a.c` + ${e} + `}else t=this.renderNoData();return a.c` +
    + ${t} +
    + `}renderFullView(){var e;let t;return t=this.isLoadingState?this.renderLoading():(null===(e=this._messages)||void 0===e?void 0:e.length)?a.c` + ${this._messages.slice(0,5).map(e=>this.renderMessage(e))} + `:this.renderNoData(),a.c` +
    + ${t} +
    + `}renderMessage(e){return a.c` +
    this.handleMessageClick(e)}> +
    +
    ${e.subject}
    +
    ${e.from.emailAddress.name}
    +
    ${e.bodyPreview}
    +
    +
    ${Object(o.l)(new Date(e.receivedDateTime))}
    +
    + `}handleMessageClick(e){window.open(e.webLink,"_blank","noreferrer")}}},"tq/8":function(e,t,n){"use strict";n.d(t,"a",function(){return i});var a=n("0q6d");class i{constructor(e,t,n){this.h=e,this.s=t,this.v=n}static fromObject(e){return!e||isNaN(e.h)||isNaN(e.s)||isNaN(e.v)?null:new i(e.h,e.s,e.v)}equalValue(e){return this.h===e.h&&this.s===e.s&&this.v===e.v}roundToPrecision(e){return new i(Object(a.i)(this.h,e),Object(a.i)(this.s,e),Object(a.i)(this.v,e))}toObject(){return{h:this.h,s:this.s,v:this.v}}}},uVfA:function(e,t,n){"use strict";n.r(t),n.d(t,"registerMgtPersonCardComponent",function(){return he}),n.d(t,"MgtPersonCard",function(){return be});var a=n("qqMp"),i=n("ZgG/"),r=n("h2QR"),o=n("Y1A4"),s=n("Yn9m"),c=n("cBsD"),d=n("zFbe"),l=n("/i08"),u=n("HN6m"),f=n("z0DP"),p=n("ZzBS"),m=n("glp4"),_=n("hgjj"),h=n("7Cdu"),b=n("zlIh"),g=n("RIOo"),v=n("YZrM"),y=function(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})};const S="businessPhones,companyName,department,displayName,givenName,jobTitle,mail,mobilePhone,officeLocation,preferredLanguage,surname,userPrincipalName,id,accountEnabled";var D=n("7SX6");const I=[a.b` +:host([hidden]){display:none}:host{display:block;font-family:var(--default-font-family, "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, "BlinkMacSystemFont", "Roboto", "Helvetica Neue", sans-serif);font-size:var(--default-font-size,14px);--theme-primary-color:#0078d7;--theme-dark-color:#005a9e}:focus-visible{outline-color:var(--focus-ring-color,Highlight);outline-color:var(--focus-ring-color,-webkit-focus-ring-color);outline-style:var(--focus-ring-style,auto)}.ms-icon{display:inline-block;font-family:FabricMDL2Icons;font-style:normal;font-weight:400;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:4px 0}.error{background-color:#fde7e9;padding-block:8px;padding-inline:8px 12px}.ms-icon-chevron-down::before{content:"\\\e70d"}.ms-icon-chevron-up::before{content:"\\\e70e"}.ms-icon-contact::before{content:"\\\e77b"}.ms-icon-add-friend::before{content:"\\\e8fa"}.ms-icon-outlook-logo-inverser::before{content:"\\\eb6d"}:host{box-shadow:var(--person-card-box-shadow,var(--elevation-shadow-card-rest));width:var(--mgt-flyout-set-width,375px);overflow:hidden;user-select:none;border-radius:8px;background-color:var(--person-card-background-color,var(--neutral-layer-floating));--file-list-background-color:transparent;--file-list-box-shadow:none;--file-item-background-color:transparent}:host .small{max-height:100vh;overflow:hidden auto}:host .nav{height:0;position:relative;z-index:100}:host .nav__back{padding-top:18px;padding-inline-start:12px;height:32px;width:32px}:host .nav__back svg{fill:var(--person-card-icon-color,var(--accent-foreground-rest))}:host .nav__back:hover{cursor:pointer}:host .nav__back:hover svg{fill:var(--person-card-nav-back-arrow-hover-color,var(--neutral-foreground-rest))}:host .close-card-container{position:relative;z-index:100}:host .close-card-container .close-button{position:absolute;right:10px;margin-top:9px;z-index:1;border:1px solid transparent}:host .close-card-container .close-button svg path{fill:var(--person-card-icon-color,var(--accent-foreground-rest))}:host .close-card-container .close-button:hover svg path{fill:var(--person-card-close-button-hover-color,var(--neutral-foreground-rest))}:host .person-details-container{display:flex;flex-direction:column;padding-inline-start:22px;padding-block:36px;border-bottom:1px solid var(--person-card-border-color,var(--neutral-stroke-rest))}:host .person-details-container .person-image{--person-avatar-top-spacing:var(--person-card-avatar-top-spacing, 15px);--person-details-left-spacing:var(--person-card-details-left-spacing, 15px);--person-details-bottom-spacing:var(--person-card-details-bottom-spacing, 0);--person-background-color:var(--person-card-background-color, var(--neutral-layer-floating));--person-line1-font-size:var(--person-card-line1-font-size, 20px);--person-line1-font-weight:var(--person-card-line1-font-weight, 600);--person-line1-text-line-height:var(--person-card-line1-line-height, 28px);--person-line1-text-color:var(--person-card-line1-text-color, var(--neutral-foreground-rest));--person-line2-font-size:var(--person-card-line2-font-size, 14px);--person-line2-font-weight:var(--person-card-line2-font-weight, 400);--person-line2-text-line-height:var(--person-card-line2-line-height, 20px);--person-line2-text-color:var(--person-card-line2-text-color, var(--neutral-foreground-hint));--person-line3-font-size:var(--person-card-line3-font-size, 14px);--person-line3-font-weight:var(--person-card-line3-font-weight, 400);--person-line3-text-line-height:var(--person-card-line3-line-height, 19px);--person-line3-text-color:var(--person-card-line3-text-color, var(--neutral-foreground-hint));--person-avatar-size:var(--person-card-avatar-size, 75px);--person-presence-wrapper-bottom:-15px}:host .person-details-container .base-icons{display:flex;align-items:center;margin-inline-start:var(--person-card-base-icons-left-spacing,calc(var(--person-card-avatar-size,75px) + var(--person-card-details-left-spacing,15px) - 8px));z-index:1}:host .person-details-container .base-icons .icon{display:flex;align-items:center;font-size:13px;white-space:nowrap}:host .person-details-container .base-icons .icon:not(:last-child){margin-inline-end:28px}:host .person-details-container .base-icons .icon svg .filled{display:none}:host .person-details-container .base-icons .icon svg .regular{display:block}:host .person-details-container .base-icons .icon svg path{fill:var(--person-card-icon-color,var(--accent-foreground-rest))}:host .person-details-container .base-icons .icon:active svg .filled,:host .person-details-container .base-icons .icon:hover svg .filled{display:block}:host .person-details-container .base-icons .icon:active svg .regular,:host .person-details-container .base-icons .icon:hover svg .regular{display:none}:host .person-details-container .base-icons .icon:active svg path,:host .person-details-container .base-icons .icon:hover svg path{fill:var(--person-card-icon-hover-color,var(--accent-foreground-hover))}:host .expanded-details-container{display:flex;flex-direction:column;position:relative}:host .expanded-details-container .expanded-details-button{display:flex;justify-content:center;height:32px}:host .expanded-details-container .expanded-details-button svg path{stroke:var(--person-card-icon-color,var(--accent-foreground-rest))}:host .expanded-details-container .expanded-details-button:hover{cursor:pointer;background-color:var(--person-card-expanded-background-color-hover,var(--neutral-fill-hover))}:host .expanded-details-container .sections .section{padding:20px 0;display:flex;flex-direction:column;position:relative}:host .expanded-details-container .sections .section:not(:last-child)::after{position:absolute;content:"";width:90%;transform:translateX(-50%);border-bottom:1px solid var(--person-card-border-color,var(--neutral-stroke-rest));left:50%;bottom:0}:host .expanded-details-container .sections .section__header{display:flex;flex-direction:row;padding:0 20px}:host .expanded-details-container .sections .section__title{flex-grow:1;color:var(--person-card-line1-text-color,var(--neutral-foreground-rest));font-size:14px;font-weight:600;line-height:19px}:host .expanded-details-container .sections .section__show-more{font-size:12px;font-weight:600;align-self:center;vertical-align:top;--base-height-multiplier:6}:host .expanded-details-container .sections .section__show-more:hover{background-color:var(--person-card-fluent-background-color-hover,var(--neutral-fill-hover))}:host .expanded-details-container .sections .section__content{margin-top:14px}:host .expanded-details-container .sections .section .additional-details{padding:0 20px}:host .expanded-details-container .divider{z-index:100;position:relative;width:375px;margin:0;border-style:none;border-bottom:1px solid var(--person-card-border-color,var(--neutral-stroke-rest))}:host .expanded-details-container .section-nav{height:35px}:host .expanded-details-container .section-nav fluent-tabs{grid-template-columns:minmax(1px,.1fr)}:host .expanded-details-container .section-nav fluent-tabs.horizontal::part(activeIndicator){width:10px}:host .expanded-details-container .section-nav fluent-tabs fluent-tab-panel{max-height:360px;min-height:360px;overflow:hidden auto;padding:0;scrollbar-width:thin}:host .expanded-details-container .section-nav fluent-tabs fluent-tab-panel .inserted{padding:20px 0;max-width:var(--mgt-flyout-set-width,375px);min-width:var(--mgt-flyout-set-width,360px);--file-list-box-shadow:none;--file-list-padding:0}:host .expanded-details-container .section-nav fluent-tabs fluent-tab-panel .inserted .title{font-size:14px;font-weight:600;color:var(--title-color-subtitle,var(--neutral-foreground-rest,#1a1a1a));margin:0 20px 20px;line-height:19px}:host .expanded-details-container .section-nav fluent-tabs fluent-tab-panel .overview-panel{max-width:var(--mgt-flyout-set-width,375px)}:host .expanded-details-container .section-nav fluent-tabs fluent-tab-panel::-webkit-scrollbar{height:4em;width:4px;border-radius:11px}:host .expanded-details-container .section-nav fluent-tabs fluent-tab-panel::-webkit-scrollbar-button{height:1px}:host .expanded-details-container .section-nav fluent-tabs fluent-tab-panel::-webkit-scrollbar-track{border-radius:10px}:host .expanded-details-container .section-nav fluent-tabs fluent-tab-panel::-webkit-scrollbar-thumb{background:grey;border-radius:10px;height:4px}:host .expanded-details-container .section-nav fluent-tabs fluent-tab{padding-bottom:1px!important;border:1px solid transparent!important}:host .expanded-details-container .section-nav fluent-tabs fluent-tab:focus-visible{border:1px solid #2b2b2b!important}:host .expanded-details-container .section-nav fluent-tabs fluent-tab.section-nav__icon{cursor:pointer;box-sizing:border-box;width:53px;height:36px;display:flex;align-items:center;justify-content:center}:host .expanded-details-container .section-nav fluent-tabs fluent-tab.section-nav__icon svg{fill:var(--person-card-fluent-background-color,transparent)}:host .expanded-details-container .section-nav fluent-tabs fluent-tab.section-nav__icon:hover{background:var(--person-card-fluent-background-color-hover,var(--neutral-fill-hover));border-radius:4px;z-index:0;position:relative}:host .expanded-details-container .section-host{min-height:360px;overflow:hidden auto}:host .expanded-details-container .section-host::-webkit-scrollbar{height:4em;width:4px;border-radius:11px}:host .expanded-details-container .section-host::-webkit-scrollbar-button{background:#fff}:host .expanded-details-container .section-host::-webkit-scrollbar-track{background:#fff;border-radius:10px}:host .expanded-details-container .section-host::-webkit-scrollbar-track-piece{background:#fff}:host .expanded-details-container .section-host::-webkit-scrollbar-thumb{background:grey;border-radius:10px;height:4px}:host .expanded-details-container .section-host.small{overflow-y:hidden}:host .loading{margin:40px 20px;display:flex;justify-content:center;height:360px}:host .message-section{border-bottom:1px solid var(--person-card-chat-input-border-color,var(--neutral-foreground-hint));display:flex}:host .message-section fluent-text-field{margin:10px 10px 10px 16px;--neutral-fill-input-rest:$person-card-background-color;--neutral-fill-input-hover:$person-card-chat-input-hover-color;--neutral-fill-input-focus:$person-card-chat-input-focus-color;width:300px;margin-inline-start:16px;border-radius:4px;border:1px solid var(--person-card-chat-input-border-color,var(--neutral-foreground-hint))}:host .message-section .send-message-icon{max-width:15px;margin-top:10px}:host .message-section svg{height:17px;width:16px;fill:var(--person-card-chat-input-border-color,var(--neutral-foreground-hint))}:host .message-section svg:hover{filter:brightness(.5)}:host .message-section svg:disabled{filter:none}:host .person-root.large,:host .person-root.threelines{--person-avatar-size-3-lines:75px}:host fluent-button.close-button.lightweight::part(control),:host fluent-button.expanded-details-button::part(control),:host fluent-button.section__show-more.lightweight::part(control){background:var(--person-card-fluent-background-color,transparent)}:host fluent-button.icon::part(control),:host fluent-button.nav__back::part(control){border:none;padding:0;background:0 0}:host fluent-button.icon::part(control) :hover,:host fluent-button.nav__back::part(control) :hover{background:0 0}[dir=rtl] .base-icons{right:91px}[dir=rtl] .nav__back{width:20px!important;transform:scaleX(-1);filter:fliph;filter:FlipH}[dir=rtl] .close-card-container .close-button{right:auto;left:10px}[dir=rtl] .message-section svg{transform:scale(-1,1)}@media (forced-colors:active) and (prefers-color-scheme:dark){.root{border:1px solid #fff;border-radius:inherit}.root svg,.root svg>path{fill:#fff!important;fill-rule:nonzero!important;clip-rule:nonzero!important}.expanded-details-container>svg,.expanded-details-container>svg>path,svg,svg>path{fill:#fff!important;fill-rule:nonzero!important;clip-rule:nonzero!important}}@media (forced-colors:active) and (prefers-color-scheme:light){.root{border:1px solid #000;border-radius:inherit}.root svg,.root svg>path{fill:#000!important;fill-rule:nonzero!important;clip-rule:nonzero!important}.expanded-details-container>svg,.expanded-details-container>svg>path,svg,svg>path{fill:#000!important;fill-rule:nonzero!important;clip-rule:nonzero!important}} +`];var x=n("1/1t"),C=n("dupE"),O=n("tnKu"),w=n("Ys1X"),E=n("3ATu"),A=n("icq5");const L={showMoreSectionButton:"Show more",endOfCard:"End of the card",quickMessage:"Send a quick message",expandDetailsLabel:"Expand details",sendMessageLabel:"Send message",emailButtonLabel:"Email",callButtonLabel:"Call",chatButtonLabel:"Chat",closeCardLabel:"Close card",videoButtonLabel:"Video",goBackLabel:"Go Back"};var k=n("fU9z"),M=n("bica"),P=n("eftJ"),T=n("QBS5"),U=n("oePG"),F=n("Gy7L"),H=n("kpPY"),R=n("VRJB"),N=n("C5kU"),B=n("6fxl"),j=n("TDEi");const V="horizontal";class z extends j.a{constructor(){super(...arguments),this.orientation=V,this.activeindicator=!0,this.showActiveIndicator=!0,this.prevActiveTabIndex=0,this.activeTabIndex=0,this.ticking=!1,this.change=()=>{this.$emit("change",this.activetab)},this.isDisabledElement=e=>"true"===e.getAttribute("aria-disabled"),this.isHiddenElement=e=>e.hasAttribute("hidden"),this.isFocusableElement=e=>!this.isDisabledElement(e)&&!this.isHiddenElement(e),this.setTabs=()=>{const e="gridColumn",t="gridRow",n=this.isHorizontal()?e:t;this.activeTabIndex=this.getActiveIndex(),this.showActiveIndicator=!1,this.tabs.forEach((a,i)=>{if("tab"===a.slot){const e=this.activeTabIndex===i&&this.isFocusableElement(a);this.activeindicator&&this.isFocusableElement(a)&&(this.showActiveIndicator=!0);const t=this.tabIds[i],n=this.tabpanelIds[i];a.setAttribute("id",t),a.setAttribute("aria-selected",e?"true":"false"),a.setAttribute("aria-controls",n),a.addEventListener("click",this.handleTabClick),a.addEventListener("keydown",this.handleTabKeyDown),a.setAttribute("tabindex",e?"0":"-1"),e&&(this.activetab=a,this.activeid=t)}a.style[e]="",a.style[t]="",a.style[n]=`${i+1}`,this.isHorizontal()?a.classList.remove("vertical"):a.classList.add("vertical")})},this.setTabPanels=()=>{this.tabpanels.forEach((e,t)=>{const n=this.tabIds[t],a=this.tabpanelIds[t];e.setAttribute("id",a),e.setAttribute("aria-labelledby",n),this.activeTabIndex!==t?e.setAttribute("hidden",""):e.removeAttribute("hidden")})},this.handleTabClick=e=>{const t=e.currentTarget;1===t.nodeType&&this.isFocusableElement(t)&&(this.prevActiveTabIndex=this.activeTabIndex,this.activeTabIndex=this.tabs.indexOf(t),this.setComponent())},this.handleTabKeyDown=e=>{if(this.isHorizontal())switch(e.key){case F.c:e.preventDefault(),this.adjustBackward(e);break;case F.d:e.preventDefault(),this.adjustForward(e)}else switch(e.key){case F.e:e.preventDefault(),this.adjustBackward(e);break;case F.b:e.preventDefault(),this.adjustForward(e)}switch(e.key){case F.j:e.preventDefault(),this.adjust(-this.activeTabIndex);break;case F.f:e.preventDefault(),this.adjust(this.tabs.length-this.activeTabIndex-1)}},this.adjustForward=e=>{const t=this.tabs;let n=0;for(n=this.activetab?t.indexOf(this.activetab)+1:1,n===t.length&&(n=0);n1;){if(this.isFocusableElement(t[n])){this.moveToTabByIndex(t,n);break}if(this.activetab&&n===t.indexOf(this.activetab))break;n+1>=t.length?n=0:n+=1}},this.adjustBackward=e=>{const t=this.tabs;let n=0;for(n=this.activetab?t.indexOf(this.activetab)-1:0,n=n<0?t.length-1:n;n>=0&&t.length>1;){if(this.isFocusableElement(t[n])){this.moveToTabByIndex(t,n);break}n-1<0?n=t.length-1:n-=1}},this.moveToTabByIndex=(e,t)=>{const n=e[t];this.activetab=n,this.prevActiveTabIndex=this.activeTabIndex,this.activeTabIndex=t,n.focus(),this.setComponent()}}orientationChanged(){this.$fastController.isConnected&&(this.setTabs(),this.setTabPanels(),this.handleActiveIndicatorPosition())}activeidChanged(e,t){this.$fastController.isConnected&&this.tabs.length<=this.tabpanels.length&&(this.prevActiveTabIndex=this.tabs.findIndex(t=>t.id===e),this.setTabs(),this.setTabPanels(),this.handleActiveIndicatorPosition())}tabsChanged(){this.$fastController.isConnected&&this.tabs.length<=this.tabpanels.length&&(this.tabIds=this.getTabIds(),this.tabpanelIds=this.getTabPanelIds(),this.setTabs(),this.setTabPanels(),this.handleActiveIndicatorPosition())}tabpanelsChanged(){this.$fastController.isConnected&&this.tabpanels.length<=this.tabs.length&&(this.tabIds=this.getTabIds(),this.tabpanelIds=this.getTabPanelIds(),this.setTabs(),this.setTabPanels(),this.handleActiveIndicatorPosition())}getActiveIndex(){return void 0!==this.activeid?-1===this.tabIds.indexOf(this.activeid)?0:this.tabIds.indexOf(this.activeid):0}getTabIds(){return this.tabs.map(e=>{var t;return null!==(t=e.getAttribute("id"))&&void 0!==t?t:`tab-${Object(H.a)()}`})}getTabPanelIds(){return this.tabpanels.map(e=>{var t;return null!==(t=e.getAttribute("id"))&&void 0!==t?t:`panel-${Object(H.a)()}`})}setComponent(){this.activeTabIndex!==this.prevActiveTabIndex&&(this.activeid=this.tabIds[this.activeTabIndex],this.focusTab(),this.change())}isHorizontal(){return this.orientation===V}handleActiveIndicatorPosition(){this.showActiveIndicator&&this.activeindicator&&this.activeTabIndex!==this.prevActiveTabIndex&&(this.ticking?this.ticking=!1:(this.ticking=!0,this.animateActiveIndicator()))}animateActiveIndicator(){this.ticking=!0;const e=this.isHorizontal()?"gridColumn":"gridRow",t=this.isHorizontal()?"translateX":"translateY",n=this.isHorizontal()?"offsetLeft":"offsetTop",a=this.activeIndicatorRef[n];this.activeIndicatorRef.style[e]=`${this.activeTabIndex+1}`;const i=this.activeIndicatorRef[n];this.activeIndicatorRef.style[e]=`${this.prevActiveTabIndex+1}`;const r=i-a;this.activeIndicatorRef.style.transform=`${t}(${r}px)`,this.activeIndicatorRef.classList.add("activeIndicatorTransition"),this.activeIndicatorRef.addEventListener("transitionend",()=>{this.ticking=!1,this.activeIndicatorRef.style[e]=`${this.activeTabIndex+1}`,this.activeIndicatorRef.style.transform=`${t}(0px)`,this.activeIndicatorRef.classList.remove("activeIndicatorTransition")})}adjust(e){const t=this.tabs.filter(e=>this.isFocusableElement(e)),n=t.indexOf(this.activetab),a=Object(R.b)(0,t.length-1,n+e),i=this.tabs.indexOf(t[a]);i>-1&&this.moveToTabByIndex(this.tabs,i)}focusTab(){this.tabs[this.activeTabIndex].focus()}connectedCallback(){super.connectedCallback(),this.tabIds=this.getTabIds(),this.tabpanelIds=this.getTabPanelIds(),this.activeTabIndex=this.getActiveIndex()}}Object(P.a)([T.c],z.prototype,"orientation",void 0),Object(P.a)([T.c],z.prototype,"activeid",void 0),Object(P.a)([U.d],z.prototype,"tabs",void 0),Object(P.a)([U.d],z.prototype,"tabpanels",void 0),Object(P.a)([Object(T.c)({mode:"boolean"})],z.prototype,"activeindicator",void 0),Object(P.a)([U.d],z.prototype,"activeIndicatorRef",void 0),Object(P.a)([U.d],z.prototype,"showActiveIndicator",void 0),Object(B.a)(z,N.a);var G=n("6BDD"),K=n("UauI"),W=n("6vBc"),q=n("+53S"),Q=n("4X57"),Y=n("j9Xn"),J=n("xY0q"),X=n("oqLQ"),Z=n("8hiW"),$=n("QkLF"),ee=n("NLdk");const te=z.compose({baseName:"tabs",template:(e,t)=>G.a` + +`,styles:(e,t)=>Q.a` + ${Object(J.a)("grid")} :host { + box-sizing: border-box; + ${ee.a} + color: ${Z.fb}; + grid-template-columns: auto 1fr auto; + grid-template-rows: auto 1fr; + } + + .tablist { + display: grid; + grid-template-rows: calc(${$.a} * 1px); auto; + grid-template-columns: auto; + position: relative; + width: max-content; + align-self: end; + } + + .start, + .end { + align-self: center; + } + + .activeIndicator { + grid-row: 2; + grid-column: 1; + width: 20px; + height: 3px; + border-radius: calc(${Z.q} * 1px); + justify-self: center; + background: ${Z.e}; + } + + .activeIndicatorTransition { + transition: transform 0.2s ease-in-out; + } + + .tabpanel { + grid-row: 2; + grid-column-start: 1; + grid-column-end: 4; + position: relative; + } + + :host(.vertical) { + grid-template-rows: auto 1fr auto; + grid-template-columns: auto 1fr; + } + + :host(.vertical) .tablist { + grid-row-start: 2; + grid-row-end: 2; + display: grid; + grid-template-rows: auto; + grid-template-columns: auto 1fr; + position: relative; + width: max-content; + justify-self: end; + align-self: flex-start; + width: 100%; + } + + :host(.vertical) .tabpanel { + grid-column: 2; + grid-row-start: 1; + grid-row-end: 4; + } + + :host(.vertical) .end { + grid-row: 3; + } + + :host(.vertical) .activeIndicator { + grid-column: 1; + grid-row: 1; + width: 3px; + height: 20px; + margin-inline-start: calc(${Z.y} * 1px); + border-radius: calc(${Z.q} * 1px); + align-self: center; + background: ${Z.e}; + } + + :host(.vertical) .activeIndicatorTransition { + transition: transform 0.2s linear; + } + `.withBehaviors(Object(X.a)(Q.a` + .activeIndicator, + :host(.vertical) .activeIndicator { + background: ${Y.a.Highlight}; + } + `))});class ne extends j.a{}Object(P.a)([Object(T.c)({mode:"boolean"})],ne.prototype,"disabled",void 0);var ae=n("wHpb"),ie=n("FVZ7");const re=ne.compose({baseName:"tab",template:(e,t)=>G.a` + +`,styles:(e,t)=>Q.a` + ${Object(J.a)("inline-flex")} :host { + box-sizing: border-box; + ${ee.a} + height: calc((${$.a} + (${Z.s} * 2)) * 1px); + padding: 0 calc((6 + (${Z.s} * 2 * ${Z.r})) * 1px); + color: ${Z.fb}; + border-radius: calc(${Z.q} * 1px); + border: calc(${Z.vb} * 1px) solid transparent; + align-items: center; + justify-content: center; + grid-row: 1 / 3; + cursor: pointer; + } + + :host([aria-selected='true']) { + z-index: 2; + } + + :host(:hover), + :host(:active) { + color: ${Z.fb}; + } + + :host(:${ae.a}) { + ${ie.a} + } + + :host(.vertical) { + justify-content: start; + grid-column: 1 / 3; + } + + :host(.vertical[aria-selected='true']) { + z-index: 2; + } + + :host(.vertical:hover), + :host(.vertical:active) { + color: ${Z.fb}; + } + + :host(.vertical:hover[aria-selected='true']) { + } + `.withBehaviors(Object(X.a)(Q.a` + :host { + forced-color-adjust: none; + border-color: transparent; + color: ${Y.a.ButtonText}; + fill: currentcolor; + } + :host(:hover), + :host(.vertical:hover), + :host([aria-selected='true']:hover) { + background: transparent; + color: ${Y.a.Highlight}; + fill: currentcolor; + } + :host([aria-selected='true']) { + background: transparent; + color: ${Y.a.Highlight}; + fill: currentcolor; + } + :host(:${ae.a}) { + background: transparent; + outline-color: ${Y.a.ButtonText}; + } + `))});class oe extends j.a{}const se=oe.compose({baseName:"tab-panel",template:(e,t)=>G.a` + +`,styles:(e,t)=>Q.a` + ${Object(J.a)("block")} :host { + box-sizing: border-box; + ${ee.a} + padding: 0 calc((6 + (${Z.s} * 2 * ${Z.r})) * 1px); + } +`});var ce=n("m1Vi"),de=n("P2Ap"),le=n("VDxL"),ue=n("0mOt"),fe=n("D4ZN"),pe=function(e,t,n,a){var i,r=arguments.length,o=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,a);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o},me=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},_e=function(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})};const he=()=>{Object(le.a)(M.a,te,re,se,ce.a,de.a),Object(ue.b)("person-card",be),Object(fe.b)(),Object(x.b)(),Object(w.b)(),Object(O.b)(),Object(C.b)(),Object(E.b)(),customElements.get(Object(ue.a)("person"))||Object(D.c)()};class be extends o.a{static get styles(){return I}get strings(){return L}static get requiredScopes(){return Object(A.a)()}get personDetails(){return this._personDetails}set personDetails(e){this._personDetails!==e&&(this._personDetails=e,this.personImage=this.getImage(),this.requestStateUpdate())}get userId(){return this._userId}set userId(e){e!==this._userId&&(this._userId=e,this.personDetails=null,this._cardState=null,this.requestStateUpdate())}get internalPersonDetails(){var e;return(null===(e=this._cardState)||void 0===e?void 0:e.person)||this.personDetails}constructor(){super(),this.isSending=!1,this.goBack=()=>{var e;if(!(null===(e=this._history)||void 0===e?void 0:e.length))return;const t=this._history.pop();this._currentSection=null;const n=this.renderRoot.querySelector("fluent-tab");n&&n.click(),this._cardState=t.state,this._personDetails=t.state.person,this.personImage=t.personImage,this.loadSections()},this.handleEndOfCard=e=>{if(e&&"Tab"===e.code){const e=this.renderRoot.querySelector("#end-of-container");if(e){e.blur();const t=this.renderRoot.querySelector("mgt-person");t&&t.focus()}}},this.closeCard=()=>{this.updateCurrentSection(null),this.isExpanded=!1},this.sendQuickMessage=()=>_e(this,void 0,void 0,function*(){const e=this._chatInput.trim();if(!(null==e?void 0:e.length))return;const t=this.personDetails,n=this._me.userPrincipalName;this.isSending=!0;const a=yield((e,t,n)=>y(void 0,void 0,void 0,function*(){const a={chatType:"oneonOne",members:[{"@odata.type":"#microsoft.graph.aadUserConversationMember",roles:["owner"],"user@odata.bind":`https://graph.microsoft.com/v1.0/users('${n}')`},{"@odata.type":"#microsoft.graph.aadUserConversationMember",roles:["owner"],"user@odata.bind":`https://graph.microsoft.com/v1.0/users('${t}')`}]};return yield e.api("/chats").header("Cache-Control","no-store").middlewareOptions(Object(g.a)("Chat.Create","Chat.ReadWrite")).post(a)}))(this._graph,t.userPrincipalName,n),i={body:{content:e}};yield((e,t,n)=>y(void 0,void 0,void 0,function*(){return yield e.api(`/chats/${t}/messages`).header("Cache-Control","no-store").middlewareOptions(Object(g.a)("Chat.ReadWrite","ChatMessage.Send")).post(n)}))(this._graph,a.id,i),this.isSending=!1,this.clearInputData()}),this.emailUser=()=>{const e=this.internalPersonDetails;if(e){const t=Object(f.e)(e);t&&window.open("mailto:"+t,"_blank","noreferrer")}},this.callUser=()=>{var e,t;const n=this.personDetails,a=this.personDetails;if(null===(e=null==n?void 0:n.businessPhones)||void 0===e?void 0:e.length){const e=n.businessPhones[0];e&&window.open("tel:"+e,"_blank","noreferrer")}else if(null===(t=null==a?void 0:a.phones)||void 0===t?void 0:t.length){const e=this.getPersonBusinessPhones(a)[0];e&&window.open("tel:"+e,"_blank","noreferrer")}},this.chatUser=(e=null)=>{const t=this.personDetails;if(null==t?void 0:t.userPrincipalName){let n=`https://teams.microsoft.com/l/chat/0/0?users=${t.userPrincipalName}`;(null==e?void 0:e.length)&&(n+=`&message=${e}`);const a=()=>window.open(n,"_blank","noreferrer");s.a.isAvailable?s.a.executeDeepLink(n,e=>{e||a()}):a()}},this.videoCallUser=()=>{const e=this.personDetails;if(null==e?void 0:e.userPrincipalName){const t=`https://teams.microsoft.com/l/call/0/0?users=${e.userPrincipalName}&withVideo=true`,n=()=>window.open(t,"_blank");s.a.isAvailable?s.a.executeDeepLink(t,e=>{e||n()}):n()}},this.showExpandedDetails=()=>{const e=this.renderRoot.querySelector(".root");(null==e?void 0:e.animate)&&e.animate([{height:"auto",transformOrigin:"top left"},{height:"auto",transformOrigin:"top left"}],{duration:1e3,easing:"ease-in-out",fill:"both"}),this.isExpanded=!0,this.fireCustomEvent("expanded",null,!0)},this.sendQuickMessageOnEnter=e=>{"Enter"===e.code&&this.sendQuickMessage()},this.handleGoBack=e=>{"Enter"===e.code&&this.goBack()},this._chatInput="",this._currentSection=null,this._history=[],this.sections=[],this._graph=null}attributeChangedCallback(e,t,n){super.attributeChangedCallback(e,t,n),t!==n&&"person-query"===e&&(this.personDetails=null,this._cardState=null,this.requestStateUpdate())}navigate(e){this._history.push({personDetails:this.personDetails,personImage:this.getImage(),state:this._cardState}),this._personDetails=e,this._cardState=null,this.personImage=null,this._currentSection=null,this.sections=[],this._chatInput="",this.requestStateUpdate()}clearHistory(){var e;if(this._currentSection=null,!(null===(e=this._history)||void 0===e?void 0:e.length))return;const t=this._history[0];this._history=[],this._cardState=t.state,this._personDetails=t.personDetails,this.personImage=t.personImage,this.loadSections()}render(){var e;if(!this.internalPersonDetails)return this.renderNoData();const t=this.internalPersonDetails,n=this.getImage();if(this.hasTemplate("default"))return this.renderTemplate("default",{person:this.internalPersonDetails,personImage:n});let i;i=this.strings.closeCardLabel;const o=this.isExpanded?a.c` +
    + + ${Object(h.b)(h.a.Close)} + +
    + `:null;i=this.strings.goBackLabel;const s=(null===(e=this._history)||void 0===e?void 0:e.length)?a.c` + + `:null;let c=this.renderTemplate("person-details",{person:this.internalPersonDetails,personImage:n});if(!c){const e=this.renderPerson(),n=this.renderContactIcons(t);c=a.c` + ${e} ${n} + `}const d=this.isExpanded?this.renderExpandedDetails():this.renderExpandedDetailsButton();this._windowHeight=window.innerHeight&&document.documentElement.clientHeight?Math.min(window.innerHeight,document.documentElement.clientHeight):window.innerHeight||document.documentElement.clientHeight,this._windowHeight<250&&(this._smallView=!0);const l=this.lockTabNavigation?a.c`
    `:a.c``;return a.c` +
    +
    + ${s} + ${o} +
    ${c}
    +
    ${d}
    + ${l} +
    +
    + `}renderNoData(){return this.renderTemplate("no-data",null)||a.c``}renderPerson(){return c.a` + + `}renderPersonSubtitle(e){if(e=e||this.internalPersonDetails,Object(k.c)(e)&&e.department)return a.c` +
    ${e.department}
    + `}renderContactIcons(e){const t=e=e||this.internalPersonDetails;let n,i,r;Object(f.e)(e)&&(n=`${this.strings.emailButtonLabel} ${e.displayName}`,i=a.c` + + ${Object(h.b)(h.a.SmallEmail)} + + `),(null==t?void 0:t.userPrincipalName)&&(n=`${this.strings.chatButtonLabel} ${e.displayName}`,r=a.c` + + ${Object(h.b)(h.a.SmallChat)} + + `),n=`${this.strings.videoButtonLabel} ${e.displayName}`;const o=a.c` + + ${Object(h.b)(h.a.Video)} + + `;let s;return t.userPrincipalName&&(n=`${this.strings.callButtonLabel} ${e.displayName}`,s=a.c` + + ${Object(h.b)(h.a.Call)} + + `),a.c` +
    + ${i} ${r} ${o} ${s} +
    + `}renderExpandedDetailsButton(){return a.c` + + ${Object(h.b)(h.a.ExpandDown)} + + `}renderExpandedDetails(){if(!this._cardState&&this._isStateLoading)return c.a` +
    + +
    + `;d.a.globalProvider.state===l.c.SignedOut&&this.loadSections();const e=this.renderSectionNavigation();return a.c` +
    + ${e} +
    +
    +
    this.handleSectionScroll(e)} + tabindex=0 + >
    + `}renderSectionNavigation(){if(!this.sections||this.sections.length<2&&!this.hasTemplate("additional-details"))return;const e=this._currentSection?this.sections.indexOf(this._currentSection):-1,t=this.sections.map((t,n)=>{const i=t.tagName.toLowerCase(),o=Object(r.a)({active:n===e,"section-nav__icon":!0});return a.c` + this.updateCurrentSection(t)} + > + ${t.renderIcon()} + + `}),n=this.sections.map(e=>a.c` + +
    +
    ${e.cardTitle}
    + ${this._currentSection?e.asFullView():null} +
    +
    + `),i=Object(r.a)({active:-1===e,"section-nav__icon":!0,overviewTab:!0});return a.c` + this.handleSectionScroll(e)} + > + this.updateCurrentSection(null)} + > +
    ${Object(h.b)(h.a.Overview)}
    +
    + ${t} + +
    ${this._currentSection?null:this.renderOverviewSection()}
    +
    + ${n} +
    + `}renderOverviewSection(){const e=this.sections.map(e=>a.c` +
    +
    +
    ${e.displayName}
    + this.updateCurrentSection(e)} + > + ${this.strings.showMoreSectionButton} + +
    +
    ${e.asCompactView()}
    +
    + `),t=this.renderTemplate("additional-details",{person:this.internalPersonDetails,personImage:this.getImage(),state:this._cardState});return t&&e.splice(1,0,a.c` +
    +
    ${t}
    +
    + `),a.c` +
    + ${this.renderMessagingSection()} + ${e} +
    + `}renderCurrentSection(){var e;if((null===(e=this.sections)||void 0===e?void 0:e.length)||this.hasTemplate("additional-details"))return 1!==this.sections.length||this.hasTemplate("additional-details")?this._currentSection?a.c` + ${this._currentSection.asFullView()} + `:this.renderOverviewSection():a.c` + ${this.sections[0].asFullView()} + `}renderMessagingSection(){const e=this.personDetails,t=this._me.userPrincipalName,n=this._chatInput;return(null==e?void 0:e.userPrincipalName)===t?void 0:v.a.isSendMessageVisible?a.c` +
    + {this._chatInput=e.target.value,this.requestUpdate()}} + @keydown="${e=>this.sendQuickMessageOnEnter(e)}"> + + + ${this.isSending?Object(h.b)(h.a.Confirmation):Object(h.b)(h.a.Send)} + +
    + `:a.d}loadState(){var e,t;return _e(this,void 0,void 0,function*(){if(this._cardState)return;if(!this.personDetails&&this.inheritDetails){let e=this.parentElement;for(;e&&e.tagName!==`${u.a.prefix}-PERSON`.toUpperCase();)e=e.parentElement;const t=e.personDetails||e.personDetailsInternal;e&&t&&(this.personDetails=t,this.personImage=e.personImage)}const n=d.a.globalProvider;if(!n||n.state!==l.c.SignedIn)return;const a=n.graph.forComponent(this);if(this._graph=a,this._isStateLoading=!0,this._me||(this._me=yield d.a.me()),this.personDetails){const e=this.personDetails;let t;if(Object(k.c)(e)&&(t=e.userPrincipalName||e.id),t&&!Object(f.e)(e)){const e=yield Object(_.a)(a,t);this.personDetails=e,this.personImage=this.getImage()}}else if(this.userId||"me"===this.personQuery){const e=yield Object(_.a)(a,this.userId);this.personDetails=e,this.personImage=this.getImage()}else if(this.personQuery){const e=yield Object(f.d)(a,this.personQuery,1);(null==e?void 0:e.length)&&(this.personDetails=e[0],yield Object(m.d)(a,this.personDetails,v.a.useContactApis).then(e=>{e&&(this.personDetails.personImage=e,this.personImage=e)}))}const i={activity:"Offline",availability:"Offline",id:null};if(!this.personPresence&&this.showPresence)try{(null===(e=this.personDetails)||void 0===e?void 0:e.id)?this.personPresence=yield Object(b.a)(a,this.personDetails.id):this.personPresence=i}catch(e){this.personPresence=i}(null===(t=this.personDetails)||void 0===t?void 0:t.id)&&(this._cardState=yield((e,t,n)=>y(void 0,void 0,void 0,function*(){var a;const i=t.id,r=Object(f.e)(t),o="classification"in t||"personType"in t&&("PersonalContact"===t.personType.subclass||"Group"===t.personType.class),s=e.createBatch();let c;o||v.a.sections.organization&&(((e,t)=>{const n=`manager($levels=max;$select=${S})`;e.get("person",`users/${t}?$expand=${n}&$select=${S}&$count=true`,["user.read.all"],{ConsistencyLevel:"eventual"}),e.get("directReports",`users/${t}/directReports?$select=${S}`)})(s,i),v.a.sections.organization.showWorksWith&&((e,t)=>{e.get("people",`users/${t}/people?$filter=personType/class eq 'Person'`,["People.Read.All"])})(s,i)),v.a.sections.mailMessages&&r&&((e,t)=>{e.get("messages",`me/messages?$search="from:${t}"`,["Mail.ReadBasic"])})(s,r),v.a.sections.files&&((e,t)=>{let n;n=t?`me/insights/shared?$filter=lastshared/sharedby/address eq '${t}'`:"me/insights/used",e.get("files",n,["Sites.Read.All"])})(s,n?null:r);const d={};try{c=yield s.executeAll()}catch(e){}if(c)for(const[e,t]of c)d[e]=(null===(a=t.content)||void 0===a?void 0:a.value)||t.content;if(!o&&v.a.sections.profile)try{const t=yield((e,t)=>y(void 0,void 0,void 0,function*(){return yield e.api(`/users/${t}/profile`).version("beta").get()}))(e,i);t&&(d.profile=t)}catch(e){}return d.directReports&&d.directReports.length>0&&(d.directReports=d.directReports.filter(e=>e.accountEnabled)),d}))(a,this.personDetails,this._me===this.personDetails.id)),this.loadSections(),this._isStateLoading=!1})}get hasPhone(){var e,t;const n=this.personDetails,a=this.personDetails;return Boolean(null===(e=null==n?void 0:n.businessPhones)||void 0===e?void 0:e.length)||Boolean(null===(t=null==a?void 0:a.phones)||void 0===t?void 0:t.length)}loadSections(){if(this.sections=[],!this.internalPersonDetails)return;const e=new x.a(this.internalPersonDetails);if(e.hasData&&this.sections.push(e),!this._cardState)return;const{person:t,directReports:n,messages:a,files:i,profile:r}=this._cardState;if(v.a.sections.organization&&((null==t?void 0:t.manager)||(null==n?void 0:n.length))&&this.sections.push(new w.a(this._cardState,this._me)),v.a.sections.mailMessages&&(null==a?void 0:a.length)&&this.sections.push(new O.a(a)),v.a.sections.files&&(null==i?void 0:i.length)&&this.sections.push(new C.a),v.a.sections.profile&&r){const e=new E.a(r);e.hasData&&this.sections.push(e)}}getImage(){if(this.personImage)return this.personImage;const e=this.personDetails;return(null==e?void 0:e.personImage)?e.personImage:null}clearInputData(){this._chatInput="",this.requestUpdate()}getPersonBusinessPhones(e){const t=e.phones,n=[];for(const e of t)"business"===e.type&&n.push(e.number);return n}updateCurrentSection(e){if(e){const t=e.tagName.toLowerCase();this.renderRoot.querySelector(`#${t}-Tab`).click()}const t=this.renderRoot.querySelectorAll("fluent-tab-panel");for(const e of t)e.scrollTop=0;this._currentSection=e,this.requestUpdate()}handleSectionScroll(e){const t=this.renderRoot.querySelectorAll("fluent-tab-panel");for(const n of t)n&&(e.deltaY<0&&0===n.scrollTop||e.deltaY>0&&n.clientHeight+n.scrollTop>=n.scrollHeight-1||e.stopPropagation())}}pe([Object(i.b)({attribute:"person-details",type:Object}),me("design:type",Object),me("design:paramtypes",[Object])],be.prototype,"personDetails",null),pe([Object(i.b)({attribute:"person-query"}),me("design:type",String)],be.prototype,"personQuery",void 0),pe([Object(i.b)({attribute:"lock-tab-navigation",type:Boolean}),me("design:type",Boolean)],be.prototype,"lockTabNavigation",void 0),pe([Object(i.b)({attribute:"user-id"}),me("design:type",String),me("design:paramtypes",[String])],be.prototype,"userId",null),pe([Object(i.b)({attribute:"person-image",type:String}),me("design:type",String)],be.prototype,"personImage",void 0),pe([Object(i.b)({attribute:"fetch-image",type:Boolean}),me("design:type",Boolean)],be.prototype,"fetchImage",void 0),pe([Object(i.b)({attribute:"is-expanded",type:Boolean}),me("design:type",Boolean)],be.prototype,"isExpanded",void 0),pe([Object(i.b)({attribute:"inherit-details",type:Boolean}),me("design:type",Boolean)],be.prototype,"inheritDetails",void 0),pe([Object(i.b)({attribute:"show-presence",type:Boolean}),me("design:type",Boolean)],be.prototype,"showPresence",void 0),pe([Object(i.b)({attribute:"person-presence",type:Object}),me("design:type",Object)],be.prototype,"personPresence",void 0),pe([Object(i.c)(),me("design:type",Object)],be.prototype,"isSending",void 0),pe([Object(i.c)(),me("design:type",Object)],be.prototype,"_cardState",void 0),pe([Object(i.c)(),me("design:type",Boolean)],be.prototype,"_isStateLoading",void 0)},uXNP:function(e,t,n){"use strict";n.d(t,"a",function(){return r});var a=n("eftJ"),i=n("QBS5");class r{}Object(a.a)([Object(i.c)({attribute:"aria-atomic"})],r.prototype,"ariaAtomic",void 0),Object(a.a)([Object(i.c)({attribute:"aria-busy"})],r.prototype,"ariaBusy",void 0),Object(a.a)([Object(i.c)({attribute:"aria-controls"})],r.prototype,"ariaControls",void 0),Object(a.a)([Object(i.c)({attribute:"aria-current"})],r.prototype,"ariaCurrent",void 0),Object(a.a)([Object(i.c)({attribute:"aria-describedby"})],r.prototype,"ariaDescribedby",void 0),Object(a.a)([Object(i.c)({attribute:"aria-details"})],r.prototype,"ariaDetails",void 0),Object(a.a)([Object(i.c)({attribute:"aria-disabled"})],r.prototype,"ariaDisabled",void 0),Object(a.a)([Object(i.c)({attribute:"aria-errormessage"})],r.prototype,"ariaErrormessage",void 0),Object(a.a)([Object(i.c)({attribute:"aria-flowto"})],r.prototype,"ariaFlowto",void 0),Object(a.a)([Object(i.c)({attribute:"aria-haspopup"})],r.prototype,"ariaHaspopup",void 0),Object(a.a)([Object(i.c)({attribute:"aria-hidden"})],r.prototype,"ariaHidden",void 0),Object(a.a)([Object(i.c)({attribute:"aria-invalid"})],r.prototype,"ariaInvalid",void 0),Object(a.a)([Object(i.c)({attribute:"aria-keyshortcuts"})],r.prototype,"ariaKeyshortcuts",void 0),Object(a.a)([Object(i.c)({attribute:"aria-label"})],r.prototype,"ariaLabel",void 0),Object(a.a)([Object(i.c)({attribute:"aria-labelledby"})],r.prototype,"ariaLabelledby",void 0),Object(a.a)([Object(i.c)({attribute:"aria-live"})],r.prototype,"ariaLive",void 0),Object(a.a)([Object(i.c)({attribute:"aria-owns"})],r.prototype,"ariaOwns",void 0),Object(a.a)([Object(i.c)({attribute:"aria-relevant"})],r.prototype,"ariaRelevant",void 0),Object(a.a)([Object(i.c)({attribute:"aria-roledescription"})],r.prototype,"ariaRoledescription",void 0)},wHpb:function(e,t,n){"use strict";n.d(t,"a",function(){return i});var a=n("FGLN");const i=Object(a.a)()?"focus-visible":"focus"},"x+GM":function(e,t,n){"use strict";n.d(t,"a",function(){return a});class a{constructor(){this.eventHandlers=[]}fire(e){for(const t of this.eventHandlers)t(e)}add(e){this.eventHandlers.push(e)}remove(e){for(let t=0;ti(e,t,new Set),i=(e,t,n)=>{const a=Object.prototype.toString.call(e),r=Object.prototype.toString.call(t);if("object"==typeof e&&"object"==typeof t&&a===r&&"[object Object]"===a&&!n.has(e)){n.add(e);for(const a in e)if(!i(e[a],t[a],n))return!1;for(const n in t)if(!Object.prototype.hasOwnProperty.call(e,n))return!1;return!0}if(Array.isArray(e)&&Array.isArray(t)&&!n.has(e)){if(n.add(e),e.length!==t.length)return!1;for(let a=0;a{if(e===t)return!0;if(!e||!t)return!1;if(e.length!==t.length)return!1;if(0===e.length)return!0;const n=new Set(e);for(const e of t)if(!n.has(e))return!1;return!0}},z0DP:function(e,t,n){"use strict";n.d(t,"a",function(){return a}),n.d(t,"b",function(){return i}),n.d(t,"d",function(){return f}),n.d(t,"f",function(){return p}),n.d(t,"e",function(){return m}),n.d(t,"c",function(){return _}),n.d(t,"g",function(){return h});var a,i,r=n("DNu6"),o=n("RIOo"),s=n("/4Fm"),c=n("imsm"),d=function(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})};!function(e){e[e.any=0]="any",e.person="person",e.group="group"}(a||(a={})),function(e){e.any="any",e.user="user",e.contact="contact"}(i||(i={}));const l=()=>r.a.config.people.invalidationPeriod||r.a.config.defaultInvalidationPeriod,u=()=>r.a.config.people.isEnabled&&r.a.config.isEnabled,f=(e,t,n=10,a=i.any,s="")=>d(void 0,void 0,void 0,function*(){const d=`${t}:${n}:${a}`;let f;if(u()){const e=c.a.people,t=c.a.people.stores.peopleQuery;f=r.a.getCache(e,t);const n=u()?yield f.getValue(d):null;if(n&&l()>Date.now()-n.timeCached)return n.results.map(e=>JSON.parse(e))}let p,m="personType/class eq 'Person'";a!==i.any&&(a===i.user?m+="and personType/subclass eq 'OrganizationUser'":m+="and (personType/subclass eq 'ImplicitContact' or personType/subclass eq 'PersonalContact')"),""!==s&&(m+=` and ${s}`);try{let r=e.api("/me/people").search('"'+t+'"').top(n).filter(m).middlewareOptions(Object(o.a)("people.read"));if(a!==i.contact&&(r=r.header("X-PeopleQuery-QuerySources","Mailbox,Directory")),p=yield r.get(),u()&&p){const e={maxResults:n,results:null};e.results=p.value.map(e=>JSON.stringify(e)),yield f.putValue(d,e)}}catch(e){}return null==p?void 0:p.value}),p=(e,t=i.any,n="",a=10)=>d(void 0,void 0,void 0,function*(){let s;const d=`${n||`*:${t}`}:${a}`;if(u()){s=r.a.getCache(c.a.people,c.a.people.stores.peopleQuery);const e=yield s.getValue(d);if(e&&l()>Date.now()-e.timeCached)return e.results.map(e=>JSON.parse(e))}let f,p="personType/class eq 'Person'";t!==i.any&&(t===i.user?p+="and personType/subclass eq 'OrganizationUser'":p+="and (personType/subclass eq 'ImplicitContact' or personType/subclass eq 'PersonalContact')"),n&&(p+=` and ${n}`);try{let n=e.api("/me/people").middlewareOptions(Object(o.a)("people.read")).top(a).filter(p);t!==i.contact&&(n=n.header("X-PeopleQuery-QuerySources","Mailbox,Directory")),f=yield n.get(),u()&&f&&(yield s.putValue(d,{maxResults:10,results:f.value.map(e=>JSON.stringify(e))}))}catch(e){}return f?f.value:null}),m=e=>{var t,n;const a=e,i=e,r=e;return i.mail?Object(s.c)(i.mail):(null===(t=a.scoredEmailAddresses)||void 0===t?void 0:t.length)?Object(s.c)(a.scoredEmailAddresses[0].address):(null===(n=r.emailAddresses)||void 0===n?void 0:n.length)?Object(s.c)(r.emailAddresses[0].address):null},_=(e,t)=>d(void 0,void 0,void 0,function*(){let n;if(u()){n=r.a.getCache(c.a.people,c.a.people.stores.contacts);const e=yield n.getValue(t);if(e&&l()>Date.now()-e.timeCached)return JSON.parse(e.person)}const a=`${t.replace(/#/g,"%2523")}`,i=yield e.api("/me/contacts").filter(`emailAddresses/any(a:a/address eq '${a}')`).middlewareOptions(Object(o.a)("contacts.read")).get();return u()&&i&&(yield n.putValue(t,{person:JSON.stringify(i.value)})),i?i.value:null}),h=(e,t,n,a)=>d(void 0,void 0,void 0,function*(){var i;let s;const d=`${t}${n}`;if(u()){s=r.a.getCache(c.a.people,c.a.people.stores.peopleQuery);const e=yield s.getValue(d);if(e&&l()>Date.now()-e.timeCached)return e.results.map(e=>JSON.parse(e))}let f=e.api(n).version(t);(null==a?void 0:a.length)&&(f=f.middlewareOptions(Object(o.a)(...a)));let p=yield f.get();if(p&&Array.isArray(p.value)&&p["@odata.nextLink"]){let n=p;for(;null==n?void 0:n["@odata.nextLink"];){const a=n["@odata.nextLink"].split(t)[1];n=yield e.client.api(a).version(t).get(),(null===(i=null==n?void 0:n.value)||void 0===i?void 0:i.length)&&(n.value=p.value.concat(n.value),p=n)}}if(u()&&p){const e={results:null};Array.isArray(p.value)?e.results=p.value.map(e=>JSON.stringify(e)):e.results=[JSON.stringify(p)],yield s.putValue(d,e)}return null==p?void 0:p.value})},zCAG:function(e,t,n){"use strict";var a;n.d(t,"a",function(){return a}),function(e){e[e.none=0]="none",e[e.hover=1]="hover",e[e.click=2]="click"}(a||(a={}))},zFbe:function(e,t,n){"use strict";n.d(t,"a",function(){return s}),n.d(t,"b",function(){return a});var a,i=n("x+GM"),r=n("/i08"),o=function(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})};class s{static get globalProvider(){return this._globalProvider}static set globalProvider(e){e!==this._globalProvider&&(this._globalProvider&&(this._globalProvider.removeStateChangedHandler(this.handleProviderStateChanged),this._globalProvider.isMultiAccountSupportedAndEnabled&&this._globalProvider.removeActiveAccountChangedHandler(this.handleActiveAccountChanged)),e&&(e.onStateChanged(this.handleProviderStateChanged),e.isMultiAccountSupportedAndEnabled&&e.onActiveAccountChanged(this.handleActiveAccountChanged)),this._globalProvider=e,this._eventDispatcher.fire(a.ProviderChanged))}static onProviderUpdated(e){this._eventDispatcher.add(e)}static removeProviderUpdatedListener(e){this._eventDispatcher.remove(e)}static onActiveAccountChanged(e){this._activeAccountChangedDispatcher.add(e)}static removeActiveAccountChangedListener(e){this._activeAccountChangedDispatcher.remove(e)}static me(){return this.client?(this._mePromise||(this._mePromise=this.getMe()),this._mePromise):(this._mePromise=null,null)}static getMe(){return o(this,void 0,void 0,function*(){try{const e=yield this.client.api("me").get();if(null==e?void 0:e.id)return e}catch(e){}return null})}static getCacheId(){var e;return o(this,void 0,void 0,function*(){if(this._cacheId)return this._cacheId;if((null===(e=s.globalProvider)||void 0===e?void 0:e.state)===r.c.SignedIn&&!this._cacheId&&this.client)try{this._cacheId=yield this.createCacheId()}catch(e){}return this._cacheId})}static unsetCacheId(){this._cacheId=null,this._mePromise=null}static createCacheId(){return o(this,void 0,void 0,function*(){if(s.globalProvider.isMultiAccountSupportedAndEnabled){const e=this.createCacheIdWithAccountDetails();if(e)return e}return yield this.createCacheIdWithUserDetails()})}static createCacheIdWithUserDetails(){return o(this,void 0,void 0,function*(){const e=yield this.me();return(null==e?void 0:e.id)?e.id+"-"+e.userPrincipalName:null})}static createCacheIdWithAccountDetails(){const e=s.globalProvider.getActiveAccount();return e.tenantId&&e.id?e.tenantId+e.id:null}static get client(){return s.globalProvider&&s.globalProvider.state===r.c.SignedIn?s.globalProvider.graph.client:null}}s._eventDispatcher=new i.a,s._activeAccountChangedDispatcher=new i.a,s.handleProviderStateChanged=()=>{s.globalProvider&&s.globalProvider.state===r.c.SignedIn||(s._mePromise=null),s._eventDispatcher.fire(a.ProviderStateChanged)},s.handleActiveAccountChanged=()=>{s.unsetCacheId(),s._activeAccountChangedDispatcher.fire(null)},function(e){e[e.ProviderChanged=0]="ProviderChanged",e[e.ProviderStateChanged=1]="ProviderStateChanged"}(a||(a={}))},zb6c:function(e,t,n){"use strict";n.d(t,"a",function(){return i});var a=n("x+GM");class i{static get strings(){return this._strings}static set strings(e){this._strings=e,this._stringsEventDispatcher.fire(null)}static getDocumentDirection(){var e,t;switch((null===(e=document.body)||void 0===e?void 0:e.getAttribute("dir"))||(null===(t=document.documentElement)||void 0===t?void 0:t.getAttribute("dir"))){case"rtl":return"rtl";case"auto":return"auto";default:return"ltr"}}static onStringsUpdated(e){this._stringsEventDispatcher.add(e)}static removeOnStringsUpdated(e){this._stringsEventDispatcher.remove(e)}static onDirectionUpdated(e){this._directionEventDispatcher.add(e),this.initDirection()}static removeOnDirectionUpdated(e){this._directionEventDispatcher.remove(e)}static initDirection(){if(this._isDirectionInit)return;this._isDirectionInit=!0,this.mutationObserver=new MutationObserver(e=>{e.forEach(e=>{"dir"===e.attributeName&&this._directionEventDispatcher.fire(null)})});const e={attributes:!0,attributeFilter:["dir"]};this.mutationObserver.observe(document.body,e),this.mutationObserver.observe(document.documentElement,e)}static updateStringsForTag(e,t){var n;if((e=e.toLowerCase()).startsWith("mgt-")&&(e=e.substring(4)),this._strings&&t){for(const e of Object.entries(t)){const n=this._strings[e[0]];"string"==typeof n&&(t[e[0]]=n)}if(null===(n=this._strings._components)||void 0===n?void 0:n[e]){const n=this._strings._components[e];for(const e of Object.keys(n))t[e]&&(t[e]=n[e])}}return t}}i._stringsEventDispatcher=new a.a,i._directionEventDispatcher=new a.a,i._isDirectionInit=!1},zlIh:function(e,t,n){"use strict";n.d(t,"a",function(){return d}),n.d(t,"b",function(){return l});var a=n("DNu6"),i=n("RIOo"),r=n("imsm"),o=function(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})};const s=()=>a.a.config.presence.invalidationPeriod||a.a.config.defaultInvalidationPeriod,c=()=>a.a.config.presence.isEnabled&&a.a.config.isEnabled,d=(e,t)=>o(void 0,void 0,void 0,function*(){let n;if(c()){n=a.a.getCache(r.a.presence,r.a.presence.stores.presence);const e=yield n.getValue(t||"me");if(e&&s()>Date.now()-e.timeCached)return JSON.parse(e.presence)}const o=t?["presence.read.all"]:["presence.read"],d=t?`/users/${t}/presence`:"/me/presence",l=yield e.api(d).middlewareOptions(Object(i.a)(...o)).get();return c()&&(yield n.putValue(t||"me",{presence:JSON.stringify(l)})),l}),l=(e,t,n=!1)=>o(void 0,void 0,void 0,function*(){if(!t||0===t.length)return{};const o={},l=[],u=["presence.read.all"];let f;c()&&(f=a.a.getCache(r.a.presence,r.a.presence.stores.presence));for(const e of t)if(null==e?void 0:e.id){const t=e.id;let a;o[t]=null,!n&&c()&&(a=yield f.getValue(t)),!n&&c()&&a&&s()>Date.now()-a.timeCached?o[t]=JSON.parse(a.presence):l.push(t)}try{if(l.length>0){const t=yield e.api("/communications/getPresencesByUserId").middlewareOptions(Object(i.a)(...u)).post({ids:l});for(const e of t.value)o[e.id]=e,c()&&(yield f.putValue(e.id,{presence:JSON.stringify(e)}))}return o}catch(n){try{const n=yield Promise.all(t.filter(e=>(null==e?void 0:e.id)&&!o[e.id]&&"personType"in e&&"OrganizationUser"===e.personType.subclass).map(t=>d(e,t.id)));for(const e of n)o[e.id]=e;return o}catch(e){return null}}})}})}); \ No newline at end of file diff --git a/packages/mgt-spfx/release/assets/mgt-library_c60f15e144a88710925f.js.LICENSE.txt b/packages/mgt-spfx/release/assets/mgt-library_c60f15e144a88710925f.js.LICENSE.txt new file mode 100644 index 0000000000..4420743be2 --- /dev/null +++ b/packages/mgt-spfx/release/assets/mgt-library_c60f15e144a88710925f.js.LICENSE.txt @@ -0,0 +1,48 @@ +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */ +/** + * @license + * Copyright 2020 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */ +/** + * @license + * Copyright 2021 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */ +/*! +* tabbable 5.3.3 +* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE +*/ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ +/** + * @license + * Copyright 2018 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */ +/** + * @license + * Copyright 2019 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */ +/** + * @license + * Copyright 2022 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */ diff --git a/packages/mgt-spfx/release/component-dependency-audit/mgt-spfx.json b/packages/mgt-spfx/release/component-dependency-audit/mgt-spfx.json new file mode 100644 index 0000000000..68298ba655 --- /dev/null +++ b/packages/mgt-spfx/release/component-dependency-audit/mgt-spfx.json @@ -0,0 +1,15 @@ +{ + "bundles": { + "mgt-library": { + "dependencies": [ + { + "componentId": "32b9363b-09ff-4959-929a-cab2663fb223", + "componentName": "@microsoft/microsoft-graph-client", + "componentVersion": "3.0.2", + "isDirectDependency": true + } + ], + "asyncChunks": {} + } + } +} diff --git a/packages/mgt-spfx/release/manifests/78b11c7d-7ca8-47cb-a93c-d3beabb519a1.manifest.json b/packages/mgt-spfx/release/manifests/78b11c7d-7ca8-47cb-a93c-d3beabb519a1.manifest.json new file mode 100644 index 0000000000..8b99d54964 --- /dev/null +++ b/packages/mgt-spfx/release/manifests/78b11c7d-7ca8-47cb-a93c-d3beabb519a1.manifest.json @@ -0,0 +1,24 @@ +{ + "id": "78b11c7d-7ca8-47cb-a93c-d3beabb519a1", + "alias": "MgtSpfxLibrary", + "componentType": "Library", + "version": "3.0.1", + "manifestVersion": 2, + "loaderConfig": { + "internalModuleBaseUrls": [ + "" + ], + "entryModuleId": "mgt-library", + "scriptResources": { + "mgt-library": { + "type": "path", + "path": "mgt-library_c60f15e144a88710925f.js" + }, + "@microsoft/microsoft-graph-client": { + "type": "component", + "id": "32b9363b-09ff-4959-929a-cab2663fb223", + "version": "3.0.2" + } + } + } +} \ No newline at end of file diff --git a/packages/mgt-spfx/temp/manifests.js b/packages/mgt-spfx/temp/manifests.js new file mode 100644 index 0000000000..74c30bf2cc --- /dev/null +++ b/packages/mgt-spfx/temp/manifests.js @@ -0,0 +1 @@ +(()=>{"use strict";var e={};e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),(()=>{var t;e.g.importScripts&&(t=e.g.location+"");var n=e.g.document;if(!t&&n&&(n.currentScript&&(t=n.currentScript.src),!t)){var a=n.getElementsByTagName("script");if(a.length)for(var i=a.length-1;i>-1&&!t;)t=a[i--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),e.p=t})();var t=[{"id":"78b11c7d-7ca8-47cb-a93c-d3beabb519a1","alias":"MgtSpfxLibrary","componentType":"Library","version":"3.0.1","manifestVersion":2,"loaderConfig":{"internalModuleBaseUrls":["https://localhost:4321/dist/"],"entryModuleId":"mgt-library","scriptResources":{"mgt-library":{"type":"path","path":"mgt-library_c60f15e144a88710925f.js"},"@microsoft/microsoft-graph-client":{"type":"component","id":"32b9363b-09ff-4959-929a-cab2663fb223","version":"3.0.2"}}}}];function n(e){e=e.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var t=new RegExp("[\\?&]"+e+"=([^&#]*)").exec(window.location.search);return null===t?"":decodeURIComponent(t[1].replace(/\+/g," "))}var a={_metadata:undefined,getManifests:function(){var a=JSON.parse(JSON.stringify(t),function(e,t){if("paths"===e){var n=t,a={};for(var i in n.l)a[i]="".concat(n.p).concat(n.l[i]).concat(n.s);return a}return t}),i=""||e.p,r=n("market")||n("locale");r&&(r=r.toLowerCase()),i||console.error("Unable to determine ".concat("manifests.js"," file URL. Using default base URL. ")+'This is expected if you are running "gulp serve."');for(var o=0,s=a;o { - if (message.eventType === 'msal:acquireTokenSuccess' && 'scopes' in message.payload) { + if (message.eventType === EventType.ACQUIRE_TOKEN_SUCCESS && 'scopes' in message.payload) { this.approvedScopes = message.payload.scopes; } }; @@ -726,19 +750,22 @@ export class Msal2Provider extends IProvider { /** * Returns access token for scopes * - * @param {AuthenticationProviderOptions} [options] + * @param {ExtendedAuthenticationProviderOptions} [options] * @return {*} {Promise} * @memberof Msal2Provider */ - public async getAccessToken(options?: AuthenticationProviderOptions): Promise { + public async getAccessToken(options?: ExtendedAuthenticationProviderOptions): Promise { const scopes = options ? options.scopes || this.scopes : this.scopes; + const forceRefresh = options ? options.forceTokenRefresh || false : false; const accessTokenRequest: SilentRequest = { scopes, - account: this.getAccount() + account: this.getAccount(), + forceRefresh // Ensure fresh token is fetched when flag is set }; try { const silentRequest: SilentRequest = accessTokenRequest; const response = await this._publicClientApplication.acquireTokenSilent(silentRequest); + log('response.accessToken', response.accessToken); return response.accessToken; } catch (e) { if (e instanceof InteractionRequiredAuthError) { @@ -761,6 +788,12 @@ export class Msal2Provider extends IProvider { throw popUpErr; } } + } else if (e instanceof BrowserAuthError && e.message.indexOf('no_network_connectivity') > -1) { + // don't force a signout; this can maybe be recovered from + throw e; + } else if (e instanceof BrowserAuthError && e.message.indexOf('post_request_failed') > -1) { + // don't force a signout; this can happen if there is a break in network during a call + throw e; } else { // if we don't know what the error is, just ask the user to sign in again this.setState(ProviderState.SignedOut); diff --git a/packages/providers/mgt-msal2-provider/src/mgt-msal2-provider.ts b/packages/providers/mgt-msal2-provider/src/mgt-msal2-provider.ts index 88ba2f8dc6..632f1ca140 100644 --- a/packages/providers/mgt-msal2-provider/src/mgt-msal2-provider.ts +++ b/packages/providers/mgt-msal2-provider/src/mgt-msal2-provider.ts @@ -128,6 +128,39 @@ class MgtMsal2Provider extends MgtBaseProvider { }) public isMultiAccountDisabled; + /** + * enables web proxy support for the provider + * + * @memberof MgtMsal2Provider + */ + @property({ + attribute: 'is-web-proxy-enabled', + type: Boolean + }) + public isWebProxyEnabled: boolean; + + /** + * url for the web proxy + * + * @memberof MgtMsal2Provider + */ + @property({ + attribute: 'web-proxy-url', + type: String + }) + public webProxyURL: string; + + /** + * API Scope for the web proxy + * + * @memberof MgtMsal2Provider + */ + @property({ + attribute: 'web-proxy-api-scope', + type: String + }) + public webProxyAPIScope: string; + /** * Gets whether this provider can be used in this environment * @@ -202,6 +235,18 @@ class MgtMsal2Provider extends MgtBaseProvider { config.customHosts = this.customHosts; } + if (this.isWebProxyEnabled) { + config.isWebProxyEnabled = this.isWebProxyEnabled; + } + + if (this.webProxyURL) { + config.webProxyURL = this.webProxyURL; + } + + if (this.webProxyAPIScope) { + config.webProxyAPIScope = this.webProxyAPIScope; + } + this.provider = new Msal2Provider(config); Providers.globalProvider = this.provider; } diff --git a/playwright-ct.config.ts b/playwright-ct.config.ts new file mode 100644 index 0000000000..6fac73505a --- /dev/null +++ b/playwright-ct.config.ts @@ -0,0 +1,43 @@ +import { defineConfig, devices } from '@playwright/experimental-ct-react17'; + +/** + * See https://playwright.dev/docs/test-configuration. + */ +export default defineConfig({ + testDir: './packages/mgt-chat/src/', + testMatch: '**/?(*.)+(spec|test).[tj]s?(x)', + /* The base directory, relative to the config file, for snapshot files created with toMatchSnapshot and toHaveScreenshot. */ + snapshotDir: './__snapshots__', + /* Maximum time one test can run for. */ + timeout: 15 * 1000, + /* Run tests in files in parallel */ + fullyParallel: true, + /* Fail the build on CI if you accidentally left test.only in the source code. */ + forbidOnly: !!process.env.CI, + /* Retry on CI only */ + retries: process.env.CI ? 2 : 0, + /* Opt out of parallel tests on CI. */ + workers: process.env.CI ? 1 : undefined, + /* Reporter to use. See https://playwright.dev/docs/test-reporters */ + reporter: 'html', + /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ + use: { + /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ + trace: 'on-first-retry', + + /* Port to use for Playwright component endpoint. */ + ctPort: 3100 + }, + + /* Configure projects for major browsers */ + projects: [ + { + name: 'chromium', + use: { ...devices['Desktop Chrome'] } + }, + { + name: 'webkit', + use: { ...devices['Desktop Safari'] } + } + ] +}); diff --git a/playwright/index.html b/playwright/index.html new file mode 100644 index 0000000000..610ddf8a43 --- /dev/null +++ b/playwright/index.html @@ -0,0 +1,12 @@ + + + + + + Testing Page + + +
    + + + diff --git a/playwright/index.tsx b/playwright/index.tsx new file mode 100644 index 0000000000..ac6de14bf2 --- /dev/null +++ b/playwright/index.tsx @@ -0,0 +1,2 @@ +// Import styles, initialize component theme here. +// import '../src/common.css'; diff --git a/samples/react-chat/src/App.css b/samples/react-chat/src/App.css index 9a83540f08..74d9d050a7 100644 --- a/samples/react-chat/src/App.css +++ b/samples/react-chat/src/App.css @@ -30,10 +30,21 @@ height: 90vh; } -.chat-selector, +.chat-selector { + width: 30%; + height: 99%; /* 100% causes a rightmost scrollbar to appear */ + border: 1px solid; +} + +.chatlist-pane { + width: 30%; + height: 99%; /* 100% causes a rightmost scrollbar to appear */ + border: 1px solid; +} + .chat-pane { - width: 50%; - height: 100%; + width: 40%; + height: 99%; /* 100% causes a rightmost scrollbar to appear */ border: 1px solid; } diff --git a/samples/react-chat/src/App.tsx b/samples/react-chat/src/App.tsx index dc2111332f..e93a6204d8 100644 --- a/samples/react-chat/src/App.tsx +++ b/samples/react-chat/src/App.tsx @@ -1,30 +1,120 @@ -import React, { memo, useCallback, useState } from 'react'; +import { useCallback, useState, useEffect } from 'react'; import './App.css'; -import { Get, Login } from '@microsoft/mgt-react'; -import { Chat, NewChat } from '@microsoft/mgt-chat'; -import { Chat as GraphChat } from '@microsoft/microsoft-graph-types'; -import ChatListTemplate from './components/ChatListTemplate/ChatListTemplate'; +import { Login } from '@microsoft/mgt-react'; +import { Chat, ChatList, NewChat, ChatListButtonItem, ChatListMenuItem, IChatListActions } from '@microsoft/mgt-chat'; +import { ChatMessage, Chat as GraphChat } from '@microsoft/microsoft-graph-types'; +import { Compose24Filled, Compose24Regular, bundleIcon } from '@fluentui/react-icons'; +import { GraphChatThread } from '../../../packages/mgt-chat/src/statefulClient/StatefulGraphChatListClient'; +import { Providers, ProviderState } from '@microsoft/mgt-element'; -const ChatList = memo(({ chatSelected }: { chatSelected: (e: GraphChat) => void }) => { - return ( - - - - ); -}); +const ChatAddIconBundle = bundleIcon(Compose24Filled, Compose24Regular); + +export const ChatAddIcon = (): JSX.Element => { + const iconColor = 'var(--colorBrandForeground2)'; + return ; +}; + +function useIsSignedIn(): [boolean] { + const [isSignedIn, setIsSignedIn] = useState(false); + + useEffect(() => { + const updateState = () => { + const provider = Providers.globalProvider; + setIsSignedIn(provider?.state === ProviderState.SignedIn); + }; + + Providers.onProviderUpdated(updateState); + updateState(); + + return () => { + Providers.removeProviderUpdatedListener(updateState); + }; + }, []); + + return [isSignedIn]; +} function App() { - const [chatId, setChatId] = useState(''); - const chatSelected = useCallback((e: GraphChat) => { + let sessionChatId = sessionStorage.getItem('chatId') ?? ''; + console.log('sessionChatId: ', sessionChatId); + + const [isSignedIn] = useIsSignedIn(); + const [chatId, setChatId] = useState(sessionChatId); + const [chatThreadsPerPage, setChatThreadsPerPage] = useState(10); + const [showNewChat, setShowNewChat] = useState(false); + // we are using a different state to track the selected chat id fired from chat list. + const [selectedChatListChatId, setSelectedChatListChatId] = useState(''); + + sessionStorage.removeItem('chatId'); + + const saveChatAndRefresh = () => { + if (chatId !== '') { + console.log('setting chatId: ', chatId); + sessionStorage.setItem('chatId', chatId); + // force a page refesh, this will test setting the initial chat id. + window.location.reload(); + } + }; + + const clearSelectedChat = () => { + setChatId(''); + setSelectedChatListChatId(''); + }; + + const onChatSelected = useCallback((e: GraphChatThread) => { + console.log('Selected: ', e.id); setChatId(e.id ?? ''); + setSelectedChatListChatId(e.id ?? ''); }, []); - const [showNewChat, setShowNewChat] = useState(false); const onChatCreated = useCallback((chat: GraphChat) => { setChatId(chat.id ?? ''); + setSelectedChatListChatId(chat.id ?? ''); setShowNewChat(false); }, []); + const buttons: ChatListButtonItem[] = [ + { + renderIcon: () => , + onClick: () => setShowNewChat(true) + } + ]; + + const menus: ChatListMenuItem[] = [ + { + displayText: 'Mark all as read', + onClick: (actions: IChatListActions) => actions.markAllChatThreadsAsRead() + }, + { + displayText: 'My custom menu item', + onClick: () => console.log('My custom menu item clicked') + } + ]; + + const onAllMessagesRead = useCallback((chatIds: string[]) => { + console.log(`Number of chats marked as read: ${chatIds.length}`); + }, []); + + const onLoaded = useCallback((chatThreads: GraphChatThread[]) => { + console.log('Chat threads loaded: ', chatThreads.length); + }, []); + + const onMessageReceived = useCallback((msg: ChatMessage) => { + console.log('SampleChatLog: Message received', msg); + }, []); + + const onConnectionChanged = useCallback((connected: boolean) => { + console.log('Connection changed: ', connected); + }, []); + + const onUnselected = useCallback((chatThread: GraphChatThread) => { + console.log('Unselected: ', chatThread.id); + }, []); + + const handleChange = useCallback((event: React.ChangeEvent) => { + setChatThreadsPerPage(parseInt(event.target.value)); + }, []); + return (
    @@ -34,21 +124,50 @@ function App() {
    - - Selected chat: {chatId} + +
    + +
    +
    - + Chat threads per page: {chatThreadsPerPage}
    +
    + Selected chat id: {chatId} +
    + Selected chatlist chat id: {selectedChatListChatId} +
    {showNewChat && (
    setShowNewChat(false)} mode="auto" />
    )}
    - +
    + {isSignedIn && ( + + )} +
    {/* NOTE: removed the chatId guard as this case has an error state. */} -
    {}
    +
    {}
    ); diff --git a/samples/react-chat/src/config.ts b/samples/react-chat/src/config.ts new file mode 100644 index 0000000000..f6b0d31392 --- /dev/null +++ b/samples/react-chat/src/config.ts @@ -0,0 +1,8 @@ +const config = { + clientId: 'b523855e-a25d-4f35-a130-375f7ba26bb0', //this is the app if of the app registration + isWebProxyEnabled: true, //this is the web proxy setting to enable the web proxy + webProxyURL: 'http://localhost:5000/api', //this is the web proxy url + webProxyAPIScope: 'api://7095e991-0488-48cc-beb4-cf18103f806a/API.All' //this is the web proxy api scope +}; + +export default config; diff --git a/samples/react-chat/src/index.tsx b/samples/react-chat/src/index.tsx index 5ab21b552d..384bdaf970 100644 --- a/samples/react-chat/src/index.tsx +++ b/samples/react-chat/src/index.tsx @@ -5,7 +5,8 @@ import App from './App'; import reportWebVitals from './reportWebVitals'; import { Providers } from '@microsoft/mgt-react'; import { Msal2Provider } from '@microsoft/mgt-msal2-provider'; -import { allChatScopes, brokerSettings, GraphConfig } from '@microsoft/mgt-chat'; +import { allChatListScopes, brokerSettings, GraphConfig } from '@microsoft/mgt-chat'; +import config from './config'; // import the config file brokerSettings.defaultSubscriptionLifetimeInMinutes = 7; brokerSettings.renewalThreshold = 65; @@ -13,8 +14,11 @@ brokerSettings.renewalTimerInterval = 15; Providers.globalProvider = new Msal2Provider({ baseURL: GraphConfig.graphEndpoint, - clientId: 'ed072e38-e76e-45ae-ab76-073cb95495bb', - scopes: allChatScopes + clientId: config.clientId, + scopes: allChatListScopes, + isWebProxyEnabled: config.isWebProxyEnabled, + webProxyURL: config.webProxyURL, + webProxyAPIScope: config.webProxyAPIScope }); ReactDOM.render(, document.getElementById('root')); diff --git a/samples/react-contoso/src/pages/ChatPage.tsx b/samples/react-contoso/src/pages/ChatPage.tsx index 6c880fdb03..26e24ae87f 100644 --- a/samples/react-contoso/src/pages/ChatPage.tsx +++ b/samples/react-contoso/src/pages/ChatPage.tsx @@ -1,41 +1,25 @@ import * as React from 'react'; +import { memo, useCallback } from 'react'; import { PageHeader } from '../components/PageHeader'; -import { Get } from '@microsoft/mgt-react'; -import { Loading } from '../components/Loading'; -import { - shorthands, - makeStyles, - mergeClasses, - Button, - Dialog, - DialogTrigger, - DialogSurface, - DialogBody, - DialogTitle -} from '@fluentui/react-components'; -import { Chat as GraphChat } from '@microsoft/microsoft-graph-types'; -import { Chat, NewChat } from '@microsoft/mgt-chat'; -import ChatListTemplate from './Chats/ChatListTemplate'; +import { shorthands, makeStyles, Dialog, DialogSurface, DialogBody, DialogTitle } from '@fluentui/react-components'; +import { Chat as GraphChat, ChatMessage } from '@microsoft/microsoft-graph-types'; +import { ChatList, Chat, NewChat, ChatListButtonItem, ChatListMenuItem, IChatListActions } from '@microsoft/mgt-chat'; +import { Compose24Filled, Compose24Regular, bundleIcon } from '@fluentui/react-icons'; +import { GraphChatThread } from '../../../../packages/mgt-chat/src/statefulClient/StatefulGraphChatListClient'; +import { useIsSignedIn } from '../hooks/useIsSignedIn'; + +const ChatAddIconBundle = bundleIcon(Compose24Filled, Compose24Regular); + +export const ChatAddIcon = (): JSX.Element => { + const iconColor = 'var(--colorBrandForeground2)'; + return ; +}; const useStyles = makeStyles({ container: { display: 'flex', - flexDirection: 'row' - }, - panels: { - ...shorthands.padding('10px') - }, - main: { - display: 'flex', - flexDirection: 'column', - flexWrap: 'nowrap', - width: '300px', - minWidth: '300px', - ...shorthands.overflow('auto'), - maxHeight: '80vh', - borderRightColor: 'var(--neutral-stroke-rest)', - borderRightStyle: 'solid', - borderRightWidth: '1px' + flexDirection: 'row', + height: '79vh' }, side: { display: 'flex', @@ -59,32 +43,88 @@ const useStyles = makeStyles({ } }); -const getPreviousDate = (months: number) => { - const date = new Date(); - date.setMonth(date.getMonth() - months); - return date.toISOString(); -}; +interface ChatListWrapperProps { + onSelected: (e: GraphChatThread) => void; + onNewChat: (actions: IChatListActions) => void; + selectedChatId: string | undefined; +} -const nextResourceUrl = () => - `me/chats?$expand=members,lastMessagePreview&$orderBy=lastMessagePreview/createdDateTime desc&$filter=viewpoint/lastMessageReadDateTime ge ${getPreviousDate( - 9 - )}`; +const ChatListWrapper = memo(({ onSelected, onNewChat, selectedChatId }: ChatListWrapperProps) => { + const buttons: ChatListButtonItem[] = [ + { + renderIcon: () => , + onClick: onNewChat + } + ]; + const menus: ChatListMenuItem[] = [ + { + displayText: 'Mark all as read', + onClick: (actions: IChatListActions) => actions.markAllChatThreadsAsRead() + }, + { + displayText: 'My custom menu item', + onClick: () => console.log('My custom menu item clicked') + } + ]; + const onAllMessagesRead = useCallback((chatIds: string[]) => { + console.log(`Number of chats marked as read: ${chatIds.length}`); + }, []); + const onLoaded = useCallback((chatThreads: GraphChatThread[]) => { + console.log(chatThreads.length, ' total chat threads loaded.'); + }, []); + const onMessageReceived = useCallback((msg: ChatMessage) => { + console.log('SampleChatLog: Message received', msg); + }, []); + const onConnectionChanged = React.useCallback((connected: boolean) => { + console.log('Connection changed: ', connected); + }, []); + const onUnselected = useCallback((chatThread: GraphChatThread) => { + console.log('Unselected: ', chatThread.id); + }, []); + + return ( + + ); +}); const ChatPage: React.FunctionComponent = () => { const styles = useStyles(); - - const [resourceUrl, setResourceUrl] = React.useState(nextResourceUrl); - - const [selectedChat, setSelectedChat] = React.useState(); + const [chatId, setChatId] = React.useState(''); const [isNewChatOpen, setIsNewChatOpen] = React.useState(false); + const [isSignedIn] = useIsSignedIn(); + const onChatSelected = React.useCallback( + (e: GraphChatThread) => { + if (chatId !== e.id) { + setChatId(e.id ?? ''); + } + }, + [chatId] + ); - const onChatCreated = (e: GraphChat) => { - if (e.id !== selectedChat?.id && isNewChatOpen) { + const onNewChat = React.useCallback(() => { + setIsNewChatOpen(true); + }, []); + + const onChatCreated = React.useCallback( + (e: GraphChat) => { setIsNewChatOpen(false); - setResourceUrl(nextResourceUrl); - } - setSelectedChat(e); - }; + if (chatId !== e.id) { + setChatId(e.id ?? ''); + } + }, + [chatId] + ); return ( <> @@ -92,49 +132,26 @@ const ChatPage: React.FunctionComponent = () => { title={'Chats'} description={'Stay in touch with your teammates and navigate your chats'} > -
    -
    -
    - - - - - - - New Chat - { - setIsNewChatOpen(false); - }} - > - - - -
    - +
    + + + + New Chat + setIsNewChatOpen(false)}> + + + +
    +
    + {isSignedIn && } +
    +
    +
    -
    {selectedChat && }
    ); }; -interface ChatListProps { - onChatSelected: (e: GraphChat) => void; - resourceUrl: string; -} - -const ChatList = React.memo((props: ChatListProps) => { - return ( - - - - - ); -}); - export default ChatPage; diff --git a/yarn.lock b/yarn.lock index a39e145034..219e457dfd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2905,13 +2905,13 @@ __metadata: linkType: hard "@fluentui/fluent2-theme@npm:^8.0.0": - version: 8.107.63 - resolution: "@fluentui/fluent2-theme@npm:8.107.63" + version: 8.107.64 + resolution: "@fluentui/fluent2-theme@npm:8.107.64" dependencies: - "@fluentui/react": ^8.115.4 + "@fluentui/react": ^8.115.5 "@fluentui/set-version": ^8.2.14 tslib: ^2.1.0 - checksum: 75c40709b7e2c0f9b8c96ced13df2f71b9f43bf4c35da44da50ab02e7dd02f96830c7ede3afb1fdf3d63ac93723a587e82a152e76ca3618069303cd715ea028c + checksum: f0e23dd000ff46a1afc4cd5f6f5d6188a8f9b8c144a28e02a45b82100dd84a3331f990fda816dd5562240bbd5e8b562beb49f4fb40cb951057327cf7290f7cac languageName: node linkType: hard @@ -2980,30 +2980,6 @@ __metadata: languageName: node linkType: hard -"@fluentui/react-accordion@npm:^9.3.40": - version: 9.3.40 - resolution: "@fluentui/react-accordion@npm:9.3.40" - dependencies: - "@fluentui/react-aria": ^9.8.1 - "@fluentui/react-context-selector": ^9.1.51 - "@fluentui/react-icons": ^2.0.224 - "@fluentui/react-jsx-runtime": ^9.0.29 - "@fluentui/react-shared-contexts": ^9.14.0 - "@fluentui/react-tabster": ^9.18.0 - "@fluentui/react-theme": ^9.1.16 - "@fluentui/react-utilities": ^9.18.0 - "@griffel/react": ^1.5.14 - "@swc/helpers": ^0.5.1 - peerDependencies: - "@types/react": ">=16.14.0 <19.0.0" - "@types/react-dom": ">=16.9.0 <19.0.0" - react: ">=16.14.0 <19.0.0" - react-dom: ">=16.14.0 <19.0.0" - scheduler: ^0.19.0 || ^0.20.0 - checksum: be798cc9f8fa4d1d68c8c461d0dafcbb7425c376827b183d0065cd024835e30986b912bb8cda7c506d65199687fc004ae8dcca1e96193c259cf04a75378dfb7a - languageName: node - linkType: hard - "@fluentui/react-accordion@npm:^9.3.41": version: 9.3.41 resolution: "@fluentui/react-accordion@npm:9.3.41" @@ -3028,28 +3004,6 @@ __metadata: languageName: node linkType: hard -"@fluentui/react-alert@npm:9.0.0-beta.108": - version: 9.0.0-beta.108 - resolution: "@fluentui/react-alert@npm:9.0.0-beta.108" - dependencies: - "@fluentui/react-avatar": ^9.6.13 - "@fluentui/react-button": ^9.3.67 - "@fluentui/react-icons": ^2.0.224 - "@fluentui/react-jsx-runtime": ^9.0.29 - "@fluentui/react-tabster": ^9.18.0 - "@fluentui/react-theme": ^9.1.16 - "@fluentui/react-utilities": ^9.18.0 - "@griffel/react": ^1.5.14 - "@swc/helpers": ^0.5.1 - peerDependencies: - "@types/react": ">=16.14.0 <19.0.0" - "@types/react-dom": ">=16.9.0 <19.0.0" - react: ">=16.14.0 <19.0.0" - react-dom: ">=16.14.0 <19.0.0" - checksum: 53b87e6d0fbf07d61a01dc084f66c975ef80fd49224c0bb8061c1bfbf721b75ae034fd3bc1588fabaaca683de6b3bc758005f61b8465c6ba09d55297372c1abd - languageName: node - linkType: hard - "@fluentui/react-alert@npm:9.0.0-beta.109": version: 9.0.0-beta.109 resolution: "@fluentui/react-alert@npm:9.0.0-beta.109" @@ -3072,24 +3026,6 @@ __metadata: languageName: node linkType: hard -"@fluentui/react-aria@npm:^9.8.1": - version: 9.8.1 - resolution: "@fluentui/react-aria@npm:9.8.1" - dependencies: - "@fluentui/keyboard-keys": ^9.0.7 - "@fluentui/react-shared-contexts": ^9.14.0 - "@fluentui/react-tabster": ^9.18.0 - "@fluentui/react-utilities": ^9.18.0 - "@swc/helpers": ^0.5.1 - peerDependencies: - "@types/react": ">=16.14.0 <19.0.0" - "@types/react-dom": ">=16.9.0 <19.0.0" - react: ">=16.14.0 <19.0.0" - react-dom: ">=16.14.0 <19.0.0" - checksum: f818b2fc911183f1ddefd787e73d3f47d36d9900570453c54c7ffb1b9e0dede277a4c88fb1742c54e62943b12ba4f72e46ea50c3c8cf11d371e953ca4c100ac5 - languageName: node - linkType: hard - "@fluentui/react-aria@npm:^9.8.2": version: 9.8.2 resolution: "@fluentui/react-aria@npm:9.8.2" @@ -3109,32 +3045,6 @@ __metadata: languageName: node linkType: hard -"@fluentui/react-avatar@npm:^9.6.13": - version: 9.6.13 - resolution: "@fluentui/react-avatar@npm:9.6.13" - dependencies: - "@fluentui/react-badge": ^9.2.24 - "@fluentui/react-context-selector": ^9.1.51 - "@fluentui/react-icons": ^2.0.224 - "@fluentui/react-jsx-runtime": ^9.0.29 - "@fluentui/react-popover": ^9.8.37 - "@fluentui/react-shared-contexts": ^9.14.0 - "@fluentui/react-tabster": ^9.18.0 - "@fluentui/react-theme": ^9.1.16 - "@fluentui/react-tooltip": ^9.4.15 - "@fluentui/react-utilities": ^9.18.0 - "@griffel/react": ^1.5.14 - "@swc/helpers": ^0.5.1 - peerDependencies: - "@types/react": ">=16.14.0 <19.0.0" - "@types/react-dom": ">=16.9.0 <19.0.0" - react: ">=16.14.0 <19.0.0" - react-dom: ">=16.14.0 <19.0.0" - scheduler: ^0.19.0 || ^0.20.0 - checksum: cce65c63f15ed10862d677657165654ad87ad069049e7230e50e7b1c85e3a82808ccc04a455b73b1ab847bc37ce80524fd87c2e3e2d932a3ccdccb6cd3fd2b83 - languageName: node - linkType: hard - "@fluentui/react-avatar@npm:^9.6.14": version: 9.6.14 resolution: "@fluentui/react-avatar@npm:9.6.14" @@ -3206,30 +3116,6 @@ __metadata: languageName: node linkType: hard -"@fluentui/react-breadcrumb@npm:^9.0.13": - version: 9.0.13 - resolution: "@fluentui/react-breadcrumb@npm:9.0.13" - dependencies: - "@fluentui/react-aria": ^9.8.1 - "@fluentui/react-button": ^9.3.67 - "@fluentui/react-icons": ^2.0.224 - "@fluentui/react-jsx-runtime": ^9.0.29 - "@fluentui/react-link": ^9.2.9 - "@fluentui/react-shared-contexts": ^9.14.0 - "@fluentui/react-tabster": ^9.18.0 - "@fluentui/react-theme": ^9.1.16 - "@fluentui/react-utilities": ^9.18.0 - "@griffel/react": ^1.5.14 - "@swc/helpers": ^0.5.1 - peerDependencies: - "@types/react": ">=16.14.0 <19.0.0" - "@types/react-dom": ">=16.9.0 <19.0.0" - react: ">=16.14.0 <19.0.0" - react-dom: ">=16.14.0 <19.0.0" - checksum: a27666af4a1261e85ef89a85f4e11cbe9197c1438372f67b62f38d70a35ff3336916f83f44edf4c2cbc2354e12debd1fa566843fcd7bc15e0e14dc39ab984b0c - languageName: node - linkType: hard - "@fluentui/react-breadcrumb@npm:^9.0.14": version: 9.0.14 resolution: "@fluentui/react-breadcrumb@npm:9.0.14" @@ -3254,29 +3140,6 @@ __metadata: languageName: node linkType: hard -"@fluentui/react-button@npm:^9.3.67": - version: 9.3.67 - resolution: "@fluentui/react-button@npm:9.3.67" - dependencies: - "@fluentui/keyboard-keys": ^9.0.7 - "@fluentui/react-aria": ^9.8.1 - "@fluentui/react-icons": ^2.0.224 - "@fluentui/react-jsx-runtime": ^9.0.29 - "@fluentui/react-shared-contexts": ^9.14.0 - "@fluentui/react-tabster": ^9.18.0 - "@fluentui/react-theme": ^9.1.16 - "@fluentui/react-utilities": ^9.18.0 - "@griffel/react": ^1.5.14 - "@swc/helpers": ^0.5.1 - peerDependencies: - "@types/react": ">=16.14.0 <19.0.0" - "@types/react-dom": ">=16.9.0 <19.0.0" - react: ">=16.14.0 <19.0.0" - react-dom: ">=16.14.0 <19.0.0" - checksum: 33ad6ee7332bd63bdda604df58d2e4b44a0654a1cf8b1973cdb13a318f73080ca30e95ba60100b3e8e475c4a0779d8e63494f4026af17e3e5ae21aabcdcc79a8 - languageName: node - linkType: hard - "@fluentui/react-button@npm:^9.3.68": version: 9.3.68 resolution: "@fluentui/react-button@npm:9.3.68" @@ -3300,26 +3163,6 @@ __metadata: languageName: node linkType: hard -"@fluentui/react-card@npm:^9.0.66": - version: 9.0.66 - resolution: "@fluentui/react-card@npm:9.0.66" - dependencies: - "@fluentui/keyboard-keys": ^9.0.7 - "@fluentui/react-jsx-runtime": ^9.0.29 - "@fluentui/react-tabster": ^9.18.0 - "@fluentui/react-theme": ^9.1.16 - "@fluentui/react-utilities": ^9.18.0 - "@griffel/react": ^1.5.14 - "@swc/helpers": ^0.5.1 - peerDependencies: - "@types/react": ">=16.14.0 <19.0.0" - "@types/react-dom": ">=16.9.0 <19.0.0" - react: ">=16.14.0 <19.0.0" - react-dom: ">=16.14.0 <19.0.0" - checksum: e9ceea0082e7664e321f1a3da52124b339d3e734bd0dda3372a6cfc9c4bc3de6653121e9c01a1b40af66812bb46f805df3e9e8f3c7500eace4669d582b0d1f52 - languageName: node - linkType: hard - "@fluentui/react-card@npm:^9.0.67": version: 9.0.67 resolution: "@fluentui/react-card@npm:9.0.67" @@ -3340,29 +3183,6 @@ __metadata: languageName: node linkType: hard -"@fluentui/react-checkbox@npm:^9.2.11": - version: 9.2.11 - resolution: "@fluentui/react-checkbox@npm:9.2.11" - dependencies: - "@fluentui/react-field": ^9.1.53 - "@fluentui/react-icons": ^2.0.224 - "@fluentui/react-jsx-runtime": ^9.0.29 - "@fluentui/react-label": ^9.1.61 - "@fluentui/react-shared-contexts": ^9.14.0 - "@fluentui/react-tabster": ^9.18.0 - "@fluentui/react-theme": ^9.1.16 - "@fluentui/react-utilities": ^9.18.0 - "@griffel/react": ^1.5.14 - "@swc/helpers": ^0.5.1 - peerDependencies: - "@types/react": ">=16.14.0 <19.0.0" - "@types/react-dom": ">=16.9.0 <19.0.0" - react: ">=16.14.0 <19.0.0" - react-dom: ">=16.14.0 <19.0.0" - checksum: 8d3dbb7fba7370c00074ed8e1324cbaa5747c014368397914f76c1b60b8700e32e1b8552930c8576d5c17ebdb6dea6f06adde1610d134fff4e8bc98c2b090db2 - languageName: node - linkType: hard - "@fluentui/react-checkbox@npm:^9.2.12": version: 9.2.12 resolution: "@fluentui/react-checkbox@npm:9.2.12" @@ -3386,33 +3206,6 @@ __metadata: languageName: node linkType: hard -"@fluentui/react-combobox@npm:^9.7.4": - version: 9.7.4 - resolution: "@fluentui/react-combobox@npm:9.7.4" - dependencies: - "@fluentui/keyboard-keys": ^9.0.7 - "@fluentui/react-context-selector": ^9.1.51 - "@fluentui/react-field": ^9.1.53 - "@fluentui/react-icons": ^2.0.224 - "@fluentui/react-jsx-runtime": ^9.0.29 - "@fluentui/react-portal": ^9.4.12 - "@fluentui/react-positioning": ^9.13.2 - "@fluentui/react-shared-contexts": ^9.14.0 - "@fluentui/react-tabster": ^9.18.0 - "@fluentui/react-theme": ^9.1.16 - "@fluentui/react-utilities": ^9.18.0 - "@griffel/react": ^1.5.14 - "@swc/helpers": ^0.5.1 - peerDependencies: - "@types/react": ">=16.14.0 <19.0.0" - "@types/react-dom": ">=16.9.0 <19.0.0" - react: ">=16.14.0 <19.0.0" - react-dom: ">=16.14.0 <19.0.0" - scheduler: ^0.19.0 || ^0.20.0 - checksum: 496e865a8843d05e0c40ec8636413e3d03b8f6a29961215dd558bd154d0ce2787ddf192942c09075c8ac10c15a93d7e73e9da18d8ef149208692585535c607dc - languageName: node - linkType: hard - "@fluentui/react-combobox@npm:^9.7.5": version: 9.7.5 resolution: "@fluentui/react-combobox@npm:9.7.5" @@ -3465,73 +3258,7 @@ __metadata: languageName: node linkType: hard -"@fluentui/react-components@npm:^9.19.1": - version: 9.46.3 - resolution: "@fluentui/react-components@npm:9.46.3" - dependencies: - "@fluentui/react-accordion": ^9.3.40 - "@fluentui/react-alert": 9.0.0-beta.108 - "@fluentui/react-aria": ^9.8.1 - "@fluentui/react-avatar": ^9.6.13 - "@fluentui/react-badge": ^9.2.24 - "@fluentui/react-breadcrumb": ^9.0.13 - "@fluentui/react-button": ^9.3.67 - "@fluentui/react-card": ^9.0.66 - "@fluentui/react-checkbox": ^9.2.11 - "@fluentui/react-combobox": ^9.7.4 - "@fluentui/react-dialog": ^9.9.9 - "@fluentui/react-divider": ^9.2.60 - "@fluentui/react-drawer": ^9.1.3 - "@fluentui/react-field": ^9.1.53 - "@fluentui/react-image": ^9.1.57 - "@fluentui/react-infobutton": 9.0.0-beta.92 - "@fluentui/react-infolabel": ^9.0.20 - "@fluentui/react-input": ^9.4.63 - "@fluentui/react-label": ^9.1.61 - "@fluentui/react-link": ^9.2.9 - "@fluentui/react-menu": ^9.12.49 - "@fluentui/react-message-bar": ^9.0.18 - "@fluentui/react-overflow": ^9.1.10 - "@fluentui/react-persona": ^9.2.72 - "@fluentui/react-popover": ^9.8.37 - "@fluentui/react-portal": ^9.4.12 - "@fluentui/react-positioning": ^9.13.2 - "@fluentui/react-progress": ^9.1.63 - "@fluentui/react-provider": ^9.13.10 - "@fluentui/react-radio": ^9.2.6 - "@fluentui/react-select": ^9.1.63 - "@fluentui/react-shared-contexts": ^9.14.0 - "@fluentui/react-skeleton": ^9.0.51 - "@fluentui/react-slider": ^9.1.68 - "@fluentui/react-spinbutton": ^9.2.63 - "@fluentui/react-spinner": ^9.3.41 - "@fluentui/react-switch": ^9.1.68 - "@fluentui/react-table": ^9.11.9 - "@fluentui/react-tabs": ^9.4.8 - "@fluentui/react-tabster": ^9.18.0 - "@fluentui/react-tags": ^9.0.26 - "@fluentui/react-text": ^9.4.9 - "@fluentui/react-textarea": ^9.3.63 - "@fluentui/react-theme": ^9.1.16 - "@fluentui/react-toast": ^9.3.29 - "@fluentui/react-toolbar": ^9.1.69 - "@fluentui/react-tooltip": ^9.4.15 - "@fluentui/react-tree": ^9.4.29 - "@fluentui/react-utilities": ^9.18.0 - "@fluentui/react-virtualizer": 9.0.0-alpha.68 - "@griffel/react": ^1.5.14 - "@swc/helpers": ^0.5.1 - peerDependencies: - "@types/react": ">=16.14.0 <19.0.0" - "@types/react-dom": ">=16.9.0 <19.0.0" - react: ">=16.14.0 <19.0.0" - react-dom: ">=16.14.0 <19.0.0" - scheduler: ^0.19.0 || ^0.20.0 - checksum: 909f93dd632e1ecee61815b6fed80fde9d5c72d49f0cc0ac5a9bec35308d46a7636c237bf2627983e188b6121a2b05ac758ff2301ae675a59ed96e5a6a828a43 - languageName: node - linkType: hard - -"@fluentui/react-components@npm:^9.46.2, @fluentui/react-components@npm:^9.46.4": +"@fluentui/react-components@npm:^9.19.1, @fluentui/react-components@npm:^9.46.2, @fluentui/react-components@npm:^9.46.4": version: 9.46.4 resolution: "@fluentui/react-components@npm:9.46.4" dependencies: @@ -3655,32 +3382,6 @@ __metadata: languageName: node linkType: hard -"@fluentui/react-dialog@npm:^9.9.9": - version: 9.9.9 - resolution: "@fluentui/react-dialog@npm:9.9.9" - dependencies: - "@fluentui/keyboard-keys": ^9.0.7 - "@fluentui/react-aria": ^9.8.1 - "@fluentui/react-context-selector": ^9.1.51 - "@fluentui/react-icons": ^2.0.224 - "@fluentui/react-jsx-runtime": ^9.0.29 - "@fluentui/react-portal": ^9.4.12 - "@fluentui/react-shared-contexts": ^9.14.0 - "@fluentui/react-tabster": ^9.18.0 - "@fluentui/react-theme": ^9.1.16 - "@fluentui/react-utilities": ^9.18.0 - "@griffel/react": ^1.5.14 - "@swc/helpers": ^0.5.1 - react-transition-group: ^4.4.1 - peerDependencies: - "@types/react": ">=16.14.0 <19.0.0" - "@types/react-dom": ">=16.9.0 <19.0.0" - react: ">=16.14.0 <19.0.0" - react-dom: ">=16.14.0 <19.0.0" - checksum: dc060d8a33b02db7d4f49dc8dd5684adcc6b797ba638867f36aa38376c2a1651e33b599b5ca95ad2ba8acdd6ffd2170c804b6c750f518202fb0132dce7b0fda9 - languageName: node - linkType: hard - "@fluentui/react-divider@npm:^9.2.60": version: 9.2.60 resolution: "@fluentui/react-divider@npm:9.2.60" @@ -3700,28 +3401,6 @@ __metadata: languageName: node linkType: hard -"@fluentui/react-drawer@npm:^9.1.3": - version: 9.1.3 - resolution: "@fluentui/react-drawer@npm:9.1.3" - dependencies: - "@fluentui/react-dialog": ^9.9.9 - "@fluentui/react-jsx-runtime": ^9.0.29 - "@fluentui/react-motion-preview": ^0.5.12 - "@fluentui/react-shared-contexts": ^9.14.0 - "@fluentui/react-tabster": ^9.18.0 - "@fluentui/react-theme": ^9.1.16 - "@fluentui/react-utilities": ^9.18.0 - "@griffel/react": ^1.5.14 - "@swc/helpers": ^0.5.1 - peerDependencies: - "@types/react": ">=16.14.0 <19.0.0" - "@types/react-dom": ">=16.9.0 <19.0.0" - react: ">=16.14.0 <19.0.0" - react-dom: ">=16.14.0 <19.0.0" - checksum: 96fe99f080176aef90fc4b7b6928fc15934ee8ef3d9ff602f2967eea50874782a395c5404428d7c6fd062193c110d905feaff89198b523cd281207e2ca6c3019 - languageName: node - linkType: hard - "@fluentui/react-drawer@npm:^9.1.4": version: 9.1.4 resolution: "@fluentui/react-drawer@npm:9.1.4" @@ -3858,28 +3537,6 @@ __metadata: languageName: node linkType: hard -"@fluentui/react-infobutton@npm:9.0.0-beta.92": - version: 9.0.0-beta.92 - resolution: "@fluentui/react-infobutton@npm:9.0.0-beta.92" - dependencies: - "@fluentui/react-icons": ^2.0.224 - "@fluentui/react-jsx-runtime": ^9.0.29 - "@fluentui/react-label": ^9.1.61 - "@fluentui/react-popover": ^9.8.37 - "@fluentui/react-tabster": ^9.18.0 - "@fluentui/react-theme": ^9.1.16 - "@fluentui/react-utilities": ^9.18.0 - "@griffel/react": ^1.5.14 - "@swc/helpers": ^0.5.1 - peerDependencies: - "@types/react": ">=16.14.0 <19.0.0" - "@types/react-dom": ">=16.9.0 <19.0.0" - react: ">=16.14.0 <19.0.0" - react-dom: ">=16.14.0 <19.0.0" - checksum: 012895056aeeea5d2df70bc53dfbd706584ad2acbd6632f8851d1ab7b3f0ce04ee3a9ea5269e3c23878064b926135e1d53a2799e1c094a44da52580bf7992bf0 - languageName: node - linkType: hard - "@fluentui/react-infobutton@npm:9.0.0-beta.93": version: 9.0.0-beta.93 resolution: "@fluentui/react-infobutton@npm:9.0.0-beta.93" @@ -3902,28 +3559,6 @@ __metadata: languageName: node linkType: hard -"@fluentui/react-infolabel@npm:^9.0.20": - version: 9.0.20 - resolution: "@fluentui/react-infolabel@npm:9.0.20" - dependencies: - "@fluentui/react-icons": ^2.0.224 - "@fluentui/react-jsx-runtime": ^9.0.29 - "@fluentui/react-label": ^9.1.61 - "@fluentui/react-popover": ^9.8.37 - "@fluentui/react-tabster": ^9.18.0 - "@fluentui/react-theme": ^9.1.16 - "@fluentui/react-utilities": ^9.18.0 - "@griffel/react": ^1.5.14 - "@swc/helpers": ^0.5.1 - peerDependencies: - "@types/react": ">=16.8.0 <19.0.0" - "@types/react-dom": ">=16.8.0 <19.0.0" - react: ">=16.8.0 <19.0.0" - react-dom: ">=16.8.0 <19.0.0" - checksum: a55fd7af19f43dde37186a04945a9a30a78c2ad337f177a53c5da7b0bd4ada26e00650cf86389ce7979568bdb3e144a782c9f4e13b6e9b9b8491229893c9f572 - languageName: node - linkType: hard - "@fluentui/react-infolabel@npm:^9.0.21": version: 9.0.21 resolution: "@fluentui/react-infolabel@npm:9.0.21" @@ -4020,54 +3655,6 @@ __metadata: languageName: node linkType: hard -"@fluentui/react-link@npm:^9.2.9": - version: 9.2.9 - resolution: "@fluentui/react-link@npm:9.2.9" - dependencies: - "@fluentui/keyboard-keys": ^9.0.7 - "@fluentui/react-jsx-runtime": ^9.0.29 - "@fluentui/react-shared-contexts": ^9.14.0 - "@fluentui/react-tabster": ^9.18.0 - "@fluentui/react-theme": ^9.1.16 - "@fluentui/react-utilities": ^9.18.0 - "@griffel/react": ^1.5.14 - "@swc/helpers": ^0.5.1 - peerDependencies: - "@types/react": ">=16.14.0 <19.0.0" - "@types/react-dom": ">=16.9.0 <19.0.0" - react: ">=16.14.0 <19.0.0" - react-dom: ">=16.14.0 <19.0.0" - checksum: 181f6f3d5b48b96b0ec51bcda0ba4f891d4859a83edc03c8100eb841236ab23245e6609de490b3b848be2e0a9de9bcb6a771d9ebc0d772450a085cbfeaa4d505 - languageName: node - linkType: hard - -"@fluentui/react-menu@npm:^9.12.49": - version: 9.12.49 - resolution: "@fluentui/react-menu@npm:9.12.49" - dependencies: - "@fluentui/keyboard-keys": ^9.0.7 - "@fluentui/react-aria": ^9.8.1 - "@fluentui/react-context-selector": ^9.1.51 - "@fluentui/react-icons": ^2.0.224 - "@fluentui/react-jsx-runtime": ^9.0.29 - "@fluentui/react-portal": ^9.4.12 - "@fluentui/react-positioning": ^9.13.2 - "@fluentui/react-shared-contexts": ^9.14.0 - "@fluentui/react-tabster": ^9.18.0 - "@fluentui/react-theme": ^9.1.16 - "@fluentui/react-utilities": ^9.18.0 - "@griffel/react": ^1.5.14 - "@swc/helpers": ^0.5.1 - peerDependencies: - "@types/react": ">=16.14.0 <19.0.0" - "@types/react-dom": ">=16.9.0 <19.0.0" - react: ">=16.14.0 <19.0.0" - react-dom: ">=16.14.0 <19.0.0" - scheduler: ^0.19.0 || ^0.20.0 - checksum: ec069fe5bddec2db44c887bff89be2305e2da9818b9dfff35233a4dc2a97e5126cb820c3761cf82f00071587ab2941f10fbcbc17bc5c5e807991be376f42dce3 - languageName: node - linkType: hard - "@fluentui/react-menu@npm:^9.12.50": version: 9.12.50 resolution: "@fluentui/react-menu@npm:9.12.50" @@ -4095,28 +3682,6 @@ __metadata: languageName: node linkType: hard -"@fluentui/react-message-bar@npm:^9.0.18": - version: 9.0.18 - resolution: "@fluentui/react-message-bar@npm:9.0.18" - dependencies: - "@fluentui/react-button": ^9.3.67 - "@fluentui/react-icons": ^2.0.224 - "@fluentui/react-jsx-runtime": ^9.0.29 - "@fluentui/react-shared-contexts": ^9.14.0 - "@fluentui/react-theme": ^9.1.16 - "@fluentui/react-utilities": ^9.18.0 - "@griffel/react": ^1.5.14 - "@swc/helpers": ^0.5.1 - react-transition-group: ^4.4.1 - peerDependencies: - "@types/react": ">=16.8.0 <19.0.0" - "@types/react-dom": ">=16.8.0 <19.0.0" - react: ">=16.8.0 <19.0.0" - react-dom: ">=16.8.0 <19.0.0" - checksum: b0c757541589a1f4925c3996dc84a165e909bafc3274389b3fc26220abed285e4828e9c0691a7925e697c20cffb26e3290caf87ece3e18302fafac71cbb25c9c - languageName: node - linkType: hard - "@fluentui/react-message-bar@npm:^9.0.19": version: 9.0.19 resolution: "@fluentui/react-message-bar@npm:9.0.19" @@ -4241,27 +3806,6 @@ __metadata: languageName: node linkType: hard -"@fluentui/react-persona@npm:^9.2.72": - version: 9.2.72 - resolution: "@fluentui/react-persona@npm:9.2.72" - dependencies: - "@fluentui/react-avatar": ^9.6.13 - "@fluentui/react-badge": ^9.2.24 - "@fluentui/react-jsx-runtime": ^9.0.29 - "@fluentui/react-shared-contexts": ^9.14.0 - "@fluentui/react-theme": ^9.1.16 - "@fluentui/react-utilities": ^9.18.0 - "@griffel/react": ^1.5.14 - "@swc/helpers": ^0.5.1 - peerDependencies: - "@types/react": ">=16.14.0 <19.0.0" - "@types/react-dom": ">=16.9.0 <19.0.0" - react: ">=16.14.0 <19.0.0" - react-dom: ">=16.14.0 <19.0.0" - checksum: 282bc26b7dc08bb1f062682c2880efb86fd4bf7bfa81aa273208a582c032b28ae3d3dd23f007ebc75ed36ade95cef9d9d1847f3ab34bf3edff7d95b94cb28ae0 - languageName: node - linkType: hard - "@fluentui/react-persona@npm:^9.2.73": version: 9.2.73 resolution: "@fluentui/react-persona@npm:9.2.73" @@ -4283,32 +3827,6 @@ __metadata: languageName: node linkType: hard -"@fluentui/react-popover@npm:^9.8.37": - version: 9.8.37 - resolution: "@fluentui/react-popover@npm:9.8.37" - dependencies: - "@fluentui/keyboard-keys": ^9.0.7 - "@fluentui/react-aria": ^9.8.1 - "@fluentui/react-context-selector": ^9.1.51 - "@fluentui/react-jsx-runtime": ^9.0.29 - "@fluentui/react-portal": ^9.4.12 - "@fluentui/react-positioning": ^9.13.2 - "@fluentui/react-shared-contexts": ^9.14.0 - "@fluentui/react-tabster": ^9.18.0 - "@fluentui/react-theme": ^9.1.16 - "@fluentui/react-utilities": ^9.18.0 - "@griffel/react": ^1.5.14 - "@swc/helpers": ^0.5.1 - peerDependencies: - "@types/react": ">=16.14.0 <19.0.0" - "@types/react-dom": ">=16.9.0 <19.0.0" - react: ">=16.14.0 <19.0.0" - react-dom: ">=16.14.0 <19.0.0" - scheduler: ^0.19.0 || ^0.20.0 - checksum: 8d4663856fce54a6e9f89a0ac778fbfb96767e04b327774e6de56d34ba168b4eb50779f3b4d60e1a0be339d74684c6e6085bbd44f87731a46accaa6ea5d0a3ed - languageName: node - linkType: hard - "@fluentui/react-popover@npm:^9.8.38": version: 9.8.38 resolution: "@fluentui/react-popover@npm:9.8.38" @@ -4347,25 +3865,6 @@ __metadata: languageName: node linkType: hard -"@fluentui/react-portal@npm:^9.4.12": - version: 9.4.12 - resolution: "@fluentui/react-portal@npm:9.4.12" - dependencies: - "@fluentui/react-shared-contexts": ^9.14.0 - "@fluentui/react-tabster": ^9.18.0 - "@fluentui/react-utilities": ^9.18.0 - "@griffel/react": ^1.5.14 - "@swc/helpers": ^0.5.1 - use-disposable: ^1.0.1 - peerDependencies: - "@types/react": ">=16.14.0 <19.0.0" - "@types/react-dom": ">=16.9.0 <19.0.0" - react: ">=16.14.0 <19.0.0" - react-dom: ">=16.14.0 <19.0.0" - checksum: d3d5d306efa0ba4aa35148b55fff2249de2d9f60f9ec003e06ba404e1a84a580c71c4dd662e2035ea2776dc2fd46ff239ee4d3ab9e76d4e2598fdff596e2f40d - languageName: node - linkType: hard - "@fluentui/react-portal@npm:^9.4.13": version: 9.4.13 resolution: "@fluentui/react-portal@npm:9.4.13" @@ -4385,26 +3884,6 @@ __metadata: languageName: node linkType: hard -"@fluentui/react-positioning@npm:^9.13.2": - version: 9.13.2 - resolution: "@fluentui/react-positioning@npm:9.13.2" - dependencies: - "@floating-ui/devtools": 0.2.1 - "@floating-ui/dom": ^1.2.0 - "@fluentui/react-shared-contexts": ^9.14.0 - "@fluentui/react-theme": ^9.1.16 - "@fluentui/react-utilities": ^9.18.0 - "@griffel/react": ^1.5.14 - "@swc/helpers": ^0.5.1 - peerDependencies: - "@types/react": ">=16.14.0 <19.0.0" - "@types/react-dom": ">=16.9.0 <19.0.0" - react: ">=16.14.0 <19.0.0" - react-dom: ">=16.14.0 <19.0.0" - checksum: c87687a566862e249e9be831af5d4af52ef12d99bf9b30203c8d7608eb8d84e9f50bedc2154f057f991c30a1e4195210a8ebe73b2227767c73154444eedb9f8c - languageName: node - linkType: hard - "@fluentui/react-positioning@npm:^9.13.3": version: 9.13.3 resolution: "@fluentui/react-positioning@npm:9.13.3" @@ -4445,28 +3924,6 @@ __metadata: languageName: node linkType: hard -"@fluentui/react-provider@npm:^9.13.10": - version: 9.13.10 - resolution: "@fluentui/react-provider@npm:9.13.10" - dependencies: - "@fluentui/react-icons": ^2.0.224 - "@fluentui/react-jsx-runtime": ^9.0.29 - "@fluentui/react-shared-contexts": ^9.14.0 - "@fluentui/react-tabster": ^9.18.0 - "@fluentui/react-theme": ^9.1.16 - "@fluentui/react-utilities": ^9.18.0 - "@griffel/core": ^1.14.1 - "@griffel/react": ^1.5.14 - "@swc/helpers": ^0.5.1 - peerDependencies: - "@types/react": ">=16.14.0 <19.0.0" - "@types/react-dom": ">=16.9.0 <19.0.0" - react: ">=16.14.0 <19.0.0" - react-dom: ">=16.14.0 <19.0.0" - checksum: 929028975ebca0ea9328634de7ccfdccdd86bfe12114e48c32c121219f29e1f613be6933989e54b05d2a72aa249ca94b6c6d39c0b7ac1e0cbb476ce285f7073c - languageName: node - linkType: hard - "@fluentui/react-provider@npm:^9.13.11": version: 9.13.11 resolution: "@fluentui/react-provider@npm:9.13.11" @@ -4489,29 +3946,6 @@ __metadata: languageName: node linkType: hard -"@fluentui/react-radio@npm:^9.2.6": - version: 9.2.6 - resolution: "@fluentui/react-radio@npm:9.2.6" - dependencies: - "@fluentui/react-field": ^9.1.53 - "@fluentui/react-jsx-runtime": ^9.0.29 - "@fluentui/react-label": ^9.1.61 - "@fluentui/react-shared-contexts": ^9.14.0 - "@fluentui/react-tabster": ^9.18.0 - "@fluentui/react-theme": ^9.1.16 - "@fluentui/react-utilities": ^9.18.0 - "@griffel/react": ^1.5.14 - "@swc/helpers": ^0.5.1 - peerDependencies: - "@types/react": ">=16.14.0 <19.0.0" - "@types/react-dom": ">=16.9.0 <19.0.0" - react: ">=16.14.0 <19.0.0" - react-dom: ">=16.14.0 <19.0.0" - scheduler: ^0.19.0 || ^0.20.0 - checksum: 39074c55057f98b5a4b71aadb2bee5e5d4cf7c6e5c62ba2871c251101c68dc0e0ad4345a031e39a930f903d3974cb00aacfa37104f6f7400e12350c339a7d9b2 - languageName: node - linkType: hard - "@fluentui/react-radio@npm:^9.2.7": version: 9.2.7 resolution: "@fluentui/react-radio@npm:9.2.7" @@ -4589,27 +4023,6 @@ __metadata: languageName: node linkType: hard -"@fluentui/react-slider@npm:^9.1.68": - version: 9.1.68 - resolution: "@fluentui/react-slider@npm:9.1.68" - dependencies: - "@fluentui/react-field": ^9.1.53 - "@fluentui/react-jsx-runtime": ^9.0.29 - "@fluentui/react-shared-contexts": ^9.14.0 - "@fluentui/react-tabster": ^9.18.0 - "@fluentui/react-theme": ^9.1.16 - "@fluentui/react-utilities": ^9.18.0 - "@griffel/react": ^1.5.14 - "@swc/helpers": ^0.5.1 - peerDependencies: - "@types/react": ">=16.14.0 <19.0.0" - "@types/react-dom": ">=16.9.0 <19.0.0" - react: ">=16.14.0 <19.0.0" - react-dom: ">=16.14.0 <19.0.0" - checksum: 71cc3f5ce7127b43a20850b3b3513df39e43d7e9118f9f61429a9b4cc9c021b3ff410fd078772ac6bfa5896d3e0450a4296e74dd1714776164ca8c4951b8c076 - languageName: node - linkType: hard - "@fluentui/react-slider@npm:^9.1.69": version: 9.1.69 resolution: "@fluentui/react-slider@npm:9.1.69" @@ -4678,101 +4091,24 @@ __metadata: resolution: "@fluentui/react-stylesheets@npm:0.2.9" dependencies: "@uifabric/set-version": ^7.0.24 - tslib: ^1.10.0 - peerDependencies: - "@types/react": ">=16.8.0 <18.0.0" - react: ">=16.8.0 <18.0.0" - checksum: 18a6acc5881f698c8c97a19a3954eb98d7ae13e0bdb2bae83d83de4da613538e74b5b935877c29d39112a798794e11ae4633bfe1924b740335ddf9412fc8eab4 - languageName: node - linkType: hard - -"@fluentui/react-switch@npm:^9.1.68": - version: 9.1.68 - resolution: "@fluentui/react-switch@npm:9.1.68" - dependencies: - "@fluentui/react-field": ^9.1.53 - "@fluentui/react-icons": ^2.0.224 - "@fluentui/react-jsx-runtime": ^9.0.29 - "@fluentui/react-label": ^9.1.61 - "@fluentui/react-shared-contexts": ^9.14.0 - "@fluentui/react-tabster": ^9.18.0 - "@fluentui/react-theme": ^9.1.16 - "@fluentui/react-utilities": ^9.18.0 - "@griffel/react": ^1.5.14 - "@swc/helpers": ^0.5.1 - peerDependencies: - "@types/react": ">=16.14.0 <19.0.0" - "@types/react-dom": ">=16.9.0 <19.0.0" - react: ">=16.14.0 <19.0.0" - react-dom: ">=16.14.0 <19.0.0" - checksum: e4234abf9d928b39a6447e9c64ece26ac52375112ca48760fd6a0f80a4589f5aa052a06dd2bb744f8f8aa11266aba13d5b7e54f24d34b66bc546c511d4a571ac - languageName: node - linkType: hard - -"@fluentui/react-switch@npm:^9.1.69": - version: 9.1.69 - resolution: "@fluentui/react-switch@npm:9.1.69" - dependencies: - "@fluentui/react-field": ^9.1.53 - "@fluentui/react-icons": ^2.0.224 - "@fluentui/react-jsx-runtime": ^9.0.29 - "@fluentui/react-label": ^9.1.61 - "@fluentui/react-shared-contexts": ^9.14.0 - "@fluentui/react-tabster": ^9.19.0 - "@fluentui/react-theme": ^9.1.16 - "@fluentui/react-utilities": ^9.18.0 - "@griffel/react": ^1.5.14 - "@swc/helpers": ^0.5.1 - peerDependencies: - "@types/react": ">=16.14.0 <19.0.0" - "@types/react-dom": ">=16.9.0 <19.0.0" - react: ">=16.14.0 <19.0.0" - react-dom: ">=16.14.0 <19.0.0" - checksum: 9dd98c24795482a7a0921d0932477a73d23a5200762a7609a04f4fc09b6ac48a538767867f39dd7219b7d9480f46eef3959228a55173d9a2ab7583d4afc84b58 - languageName: node - linkType: hard - -"@fluentui/react-table@npm:^9.11.10": - version: 9.11.10 - resolution: "@fluentui/react-table@npm:9.11.10" - dependencies: - "@fluentui/keyboard-keys": ^9.0.7 - "@fluentui/react-aria": ^9.8.2 - "@fluentui/react-avatar": ^9.6.14 - "@fluentui/react-checkbox": ^9.2.12 - "@fluentui/react-context-selector": ^9.1.51 - "@fluentui/react-icons": ^2.0.224 - "@fluentui/react-jsx-runtime": ^9.0.29 - "@fluentui/react-radio": ^9.2.7 - "@fluentui/react-shared-contexts": ^9.14.0 - "@fluentui/react-tabster": ^9.19.0 - "@fluentui/react-theme": ^9.1.16 - "@fluentui/react-utilities": ^9.18.0 - "@griffel/react": ^1.5.14 - "@swc/helpers": ^0.5.1 + tslib: ^1.10.0 peerDependencies: - "@types/react": ">=16.14.0 <19.0.0" - "@types/react-dom": ">=16.9.0 <19.0.0" - react: ">=16.14.0 <19.0.0" - react-dom: ">=16.14.0 <19.0.0" - checksum: fd486a66f29eccbe2c7a316cffb733cdb2a344fc3cb49b981de895eb876f0e8a11fbf03ff9c206b02f04fad5eb3b04c2f5f29247b5554e2afd0632d2907069ac + "@types/react": ">=16.8.0 <18.0.0" + react: ">=16.8.0 <18.0.0" + checksum: 18a6acc5881f698c8c97a19a3954eb98d7ae13e0bdb2bae83d83de4da613538e74b5b935877c29d39112a798794e11ae4633bfe1924b740335ddf9412fc8eab4 languageName: node linkType: hard -"@fluentui/react-table@npm:^9.11.9": - version: 9.11.9 - resolution: "@fluentui/react-table@npm:9.11.9" +"@fluentui/react-switch@npm:^9.1.69": + version: 9.1.69 + resolution: "@fluentui/react-switch@npm:9.1.69" dependencies: - "@fluentui/keyboard-keys": ^9.0.7 - "@fluentui/react-aria": ^9.8.1 - "@fluentui/react-avatar": ^9.6.13 - "@fluentui/react-checkbox": ^9.2.11 - "@fluentui/react-context-selector": ^9.1.51 + "@fluentui/react-field": ^9.1.53 "@fluentui/react-icons": ^2.0.224 "@fluentui/react-jsx-runtime": ^9.0.29 - "@fluentui/react-radio": ^9.2.6 + "@fluentui/react-label": ^9.1.61 "@fluentui/react-shared-contexts": ^9.14.0 - "@fluentui/react-tabster": ^9.18.0 + "@fluentui/react-tabster": ^9.19.0 "@fluentui/react-theme": ^9.1.16 "@fluentui/react-utilities": ^9.18.0 "@griffel/react": ^1.5.14 @@ -4782,18 +4118,24 @@ __metadata: "@types/react-dom": ">=16.9.0 <19.0.0" react: ">=16.14.0 <19.0.0" react-dom: ">=16.14.0 <19.0.0" - checksum: f654fe8e755655bb7d937ceef993494ed98905a031d400206a22ef8dc381ca501935b8e8df11fc838f8d1b3631d694254e1313268f8afa6a13d9235fac27da75 + checksum: 9dd98c24795482a7a0921d0932477a73d23a5200762a7609a04f4fc09b6ac48a538767867f39dd7219b7d9480f46eef3959228a55173d9a2ab7583d4afc84b58 languageName: node linkType: hard -"@fluentui/react-tabs@npm:^9.4.8": - version: 9.4.8 - resolution: "@fluentui/react-tabs@npm:9.4.8" +"@fluentui/react-table@npm:^9.11.10": + version: 9.11.10 + resolution: "@fluentui/react-table@npm:9.11.10" dependencies: + "@fluentui/keyboard-keys": ^9.0.7 + "@fluentui/react-aria": ^9.8.2 + "@fluentui/react-avatar": ^9.6.14 + "@fluentui/react-checkbox": ^9.2.12 "@fluentui/react-context-selector": ^9.1.51 + "@fluentui/react-icons": ^2.0.224 "@fluentui/react-jsx-runtime": ^9.0.29 + "@fluentui/react-radio": ^9.2.7 "@fluentui/react-shared-contexts": ^9.14.0 - "@fluentui/react-tabster": ^9.18.0 + "@fluentui/react-tabster": ^9.19.0 "@fluentui/react-theme": ^9.1.16 "@fluentui/react-utilities": ^9.18.0 "@griffel/react": ^1.5.14 @@ -4803,8 +4145,7 @@ __metadata: "@types/react-dom": ">=16.9.0 <19.0.0" react: ">=16.14.0 <19.0.0" react-dom: ">=16.14.0 <19.0.0" - scheduler: ^0.19.0 || ^0.20.0 - checksum: 77044eacbdaeca7c8659943b079d31cc4768eff3a19f6f69589549a3177b5b314668e4c8764297bb4214c618d6097c725dc84da40e2f138115a2454ad63eaca3 + checksum: fd486a66f29eccbe2c7a316cffb733cdb2a344fc3cb49b981de895eb876f0e8a11fbf03ff9c206b02f04fad5eb3b04c2f5f29247b5554e2afd0632d2907069ac languageName: node linkType: hard @@ -4830,26 +4171,6 @@ __metadata: languageName: node linkType: hard -"@fluentui/react-tabster@npm:^9.18.0": - version: 9.18.0 - resolution: "@fluentui/react-tabster@npm:9.18.0" - dependencies: - "@fluentui/react-shared-contexts": ^9.14.0 - "@fluentui/react-theme": ^9.1.16 - "@fluentui/react-utilities": ^9.18.0 - "@griffel/react": ^1.5.14 - "@swc/helpers": ^0.5.1 - keyborg: ^2.5.0 - tabster: ^6.0.0 - peerDependencies: - "@types/react": ">=16.14.0 <19.0.0" - "@types/react-dom": ">=16.9.0 <19.0.0" - react: ">=16.14.0 <19.0.0" - react-dom: ">=16.14.0 <19.0.0" - checksum: 7d7f46cb450bb359410f0dec5256750de3a0492cad5c2b0ff8f50c99bc70be141e2253d283d82ee805d8f1f92647ed15130f7ed167c0a8b14bcfc1468b3f41f4 - languageName: node - linkType: hard - "@fluentui/react-tabster@npm:^9.19.0": version: 9.19.0 resolution: "@fluentui/react-tabster@npm:9.19.0" @@ -4870,30 +4191,6 @@ __metadata: languageName: node linkType: hard -"@fluentui/react-tags@npm:^9.0.26": - version: 9.0.26 - resolution: "@fluentui/react-tags@npm:9.0.26" - dependencies: - "@fluentui/keyboard-keys": ^9.0.7 - "@fluentui/react-aria": ^9.8.1 - "@fluentui/react-avatar": ^9.6.13 - "@fluentui/react-icons": ^2.0.224 - "@fluentui/react-jsx-runtime": ^9.0.29 - "@fluentui/react-shared-contexts": ^9.14.0 - "@fluentui/react-tabster": ^9.18.0 - "@fluentui/react-theme": ^9.1.16 - "@fluentui/react-utilities": ^9.18.0 - "@griffel/react": ^1.5.14 - "@swc/helpers": ^0.5.1 - peerDependencies: - "@types/react": ">=16.14.0 <19.0.0" - "@types/react-dom": ">=16.9.0 <19.0.0" - react: ">=16.14.0 <19.0.0" - react-dom: ">=16.14.0 <19.0.0" - checksum: 58ef5d088ee0469e11b005196ec9a68d5584c1f3bd99523286a4da3879fa33d620382ff1df8f39c9aa7d93b04f5e66f0021478413046c564a005d8610f28ddb1 - languageName: node - linkType: hard - "@fluentui/react-tags@npm:^9.0.27": version: 9.0.27 resolution: "@fluentui/react-tags@npm:9.0.27" @@ -4988,31 +4285,6 @@ __metadata: languageName: node linkType: hard -"@fluentui/react-toast@npm:^9.3.29": - version: 9.3.29 - resolution: "@fluentui/react-toast@npm:9.3.29" - dependencies: - "@fluentui/keyboard-keys": ^9.0.7 - "@fluentui/react-aria": ^9.8.1 - "@fluentui/react-icons": ^2.0.224 - "@fluentui/react-jsx-runtime": ^9.0.29 - "@fluentui/react-portal": ^9.4.12 - "@fluentui/react-shared-contexts": ^9.14.0 - "@fluentui/react-tabster": ^9.18.0 - "@fluentui/react-theme": ^9.1.16 - "@fluentui/react-utilities": ^9.18.0 - "@griffel/react": ^1.5.14 - "@swc/helpers": ^0.5.1 - react-transition-group: ^4.4.1 - peerDependencies: - "@types/react": ">=16.14.0 <19.0.0" - "@types/react-dom": ">=16.9.0 <19.0.0" - react: ">=16.14.0 <19.0.0" - react-dom: ">=16.14.0 <19.0.0" - checksum: 3f6817b6116e8fda6ff07503bb5aa1ca5f38d92434131e324595ba28f99f6f24b49b7220f80eda79da723f05e7ec622abf99aeb1497e723025b31fc8f520de63 - languageName: node - linkType: hard - "@fluentui/react-toast@npm:^9.3.30": version: 9.3.30 resolution: "@fluentui/react-toast@npm:9.3.30" @@ -5038,30 +4310,6 @@ __metadata: languageName: node linkType: hard -"@fluentui/react-toolbar@npm:^9.1.69": - version: 9.1.69 - resolution: "@fluentui/react-toolbar@npm:9.1.69" - dependencies: - "@fluentui/react-button": ^9.3.67 - "@fluentui/react-context-selector": ^9.1.51 - "@fluentui/react-divider": ^9.2.60 - "@fluentui/react-jsx-runtime": ^9.0.29 - "@fluentui/react-radio": ^9.2.6 - "@fluentui/react-shared-contexts": ^9.14.0 - "@fluentui/react-tabster": ^9.18.0 - "@fluentui/react-theme": ^9.1.16 - "@fluentui/react-utilities": ^9.18.0 - "@griffel/react": ^1.5.14 - "@swc/helpers": ^0.5.1 - peerDependencies: - "@types/react": ">=16.14.0 <19.0.0" - "@types/react-dom": ">=16.9.0 <19.0.0" - react: ">=16.14.0 <19.0.0" - react-dom: ">=16.14.0 <19.0.0" - checksum: 0e918a660c8ebee5ce1820c545c8591bd62ce6168d95252872c186825863d3935c2565834dcff32c3cba0d66acb6fccd32778e5345064b0cec82e123b4dadfd5 - languageName: node - linkType: hard - "@fluentui/react-toolbar@npm:^9.1.70": version: 9.1.70 resolution: "@fluentui/react-toolbar@npm:9.1.70" @@ -5086,29 +4334,6 @@ __metadata: languageName: node linkType: hard -"@fluentui/react-tooltip@npm:^9.4.15": - version: 9.4.15 - resolution: "@fluentui/react-tooltip@npm:9.4.15" - dependencies: - "@fluentui/keyboard-keys": ^9.0.7 - "@fluentui/react-jsx-runtime": ^9.0.29 - "@fluentui/react-portal": ^9.4.12 - "@fluentui/react-positioning": ^9.13.2 - "@fluentui/react-shared-contexts": ^9.14.0 - "@fluentui/react-tabster": ^9.18.0 - "@fluentui/react-theme": ^9.1.16 - "@fluentui/react-utilities": ^9.18.0 - "@griffel/react": ^1.5.14 - "@swc/helpers": ^0.5.1 - peerDependencies: - "@types/react": ">=16.14.0 <19.0.0" - "@types/react-dom": ">=16.9.0 <19.0.0" - react: ">=16.14.0 <19.0.0" - react-dom: ">=16.14.0 <19.0.0" - checksum: 0710e4c4587c3d665a14903211574b55a4f4732f01313e2983c6bbce1216d64597a082e8263a0220cc8646c3d47c8936aeb87dd7c10c7c60f650fa9446e8d3ca - languageName: node - linkType: hard - "@fluentui/react-tooltip@npm:^9.4.16": version: 9.4.16 resolution: "@fluentui/react-tooltip@npm:9.4.16" @@ -5132,34 +4357,6 @@ __metadata: languageName: node linkType: hard -"@fluentui/react-tree@npm:^9.4.29": - version: 9.4.29 - resolution: "@fluentui/react-tree@npm:9.4.29" - dependencies: - "@fluentui/keyboard-keys": ^9.0.7 - "@fluentui/react-aria": ^9.8.1 - "@fluentui/react-avatar": ^9.6.13 - "@fluentui/react-button": ^9.3.67 - "@fluentui/react-checkbox": ^9.2.11 - "@fluentui/react-context-selector": ^9.1.51 - "@fluentui/react-icons": ^2.0.224 - "@fluentui/react-jsx-runtime": ^9.0.29 - "@fluentui/react-radio": ^9.2.6 - "@fluentui/react-shared-contexts": ^9.14.0 - "@fluentui/react-tabster": ^9.18.0 - "@fluentui/react-theme": ^9.1.16 - "@fluentui/react-utilities": ^9.18.0 - "@griffel/react": ^1.5.14 - "@swc/helpers": ^0.5.1 - peerDependencies: - "@types/react": ">=16.14.0 <19.0.0" - "@types/react-dom": ">=16.9.0 <19.0.0" - react: ">=16.14.0 <19.0.0" - react-dom: ">=16.14.0 <19.0.0" - checksum: ff2e96aaf3a44cfc3a661c3ec74a1bb6a5b65183f20f97cbba5c61282e0f293a6cb2f7ef972f4b87dd62b436f0c95474d0b68d54b553eaad3dc7dbdccc794609 - languageName: node - linkType: hard - "@fluentui/react-tree@npm:^9.4.30": version: 9.4.30 resolution: "@fluentui/react-tree@npm:9.4.30" @@ -5248,34 +4445,7 @@ __metadata: languageName: node linkType: hard -"@fluentui/react@npm:^8.0.0, @fluentui/react@npm:^8.115.4": - version: 8.115.4 - resolution: "@fluentui/react@npm:8.115.4" - dependencies: - "@fluentui/date-time-utilities": ^8.5.16 - "@fluentui/font-icons-mdl2": ^8.5.32 - "@fluentui/foundation-legacy": ^8.2.52 - "@fluentui/merge-styles": ^8.5.15 - "@fluentui/react-focus": ^8.8.40 - "@fluentui/react-hooks": ^8.6.36 - "@fluentui/react-portal-compat-context": ^9.0.11 - "@fluentui/react-window-provider": ^2.2.18 - "@fluentui/set-version": ^8.2.14 - "@fluentui/style-utilities": ^8.10.3 - "@fluentui/theme": ^2.6.41 - "@fluentui/utilities": ^8.13.24 - "@microsoft/load-themed-styles": ^1.10.26 - tslib: ^2.1.0 - peerDependencies: - "@types/react": ">=16.8.0 <19.0.0" - "@types/react-dom": ">=16.8.0 <19.0.0" - react: ">=16.8.0 <19.0.0" - react-dom: ">=16.8.0 <19.0.0" - checksum: 68edf218d90ff319e7c180d29b4c090c73951cb9f0e1d3c2ebf01a5d9b513c47c957d2a60c7a45a73f9db73b65c83c895bb21ebb8e6b4c4dd3c628d35fb5af2c - languageName: node - linkType: hard - -"@fluentui/react@npm:^8.115.2": +"@fluentui/react@npm:^8.0.0, @fluentui/react@npm:^8.115.2, @fluentui/react@npm:^8.115.5": version: 8.115.5 resolution: "@fluentui/react@npm:8.115.5" dependencies: @@ -6142,7 +5312,9 @@ __metadata: "@microsoft/microsoft-graph-types": ^2.0.0 "@microsoft/microsoft-graph-types-beta": ^0.16.0-preview "@microsoft/signalr": ^7.0.4 + "@types/html-to-text": ^9.0.4 "@types/react": ^17.0.0 + html-to-text: ^9.0.5 immer: ^9.0.6 opencrypto: 1.5.5 react: ^17.0.0 @@ -7893,6 +7065,16 @@ __metadata: languageName: node linkType: hard +"@selderee/plugin-htmlparser2@npm:^0.11.0": + version: 0.11.0 + resolution: "@selderee/plugin-htmlparser2@npm:0.11.0" + dependencies: + domhandler: ^5.0.3 + selderee: ^0.11.0 + checksum: 6deafedd153e492359f8f0407d20903d82f2ef4950e420f4b2ee6ffbb955753524631aac7d6a5fe61dc7c7893e6928b4d8409e886157ad64a60ab37bc08b17c4 + languageName: node + linkType: hard + "@sigstore/bundle@npm:^1.1.0": version: 1.1.0 resolution: "@sigstore/bundle@npm:1.1.0" @@ -8031,48 +7213,48 @@ __metadata: linkType: hard "@storybook/addon-a11y@npm:^7.6.7": - version: 7.6.12 - resolution: "@storybook/addon-a11y@npm:7.6.12" + version: 7.6.13 + resolution: "@storybook/addon-a11y@npm:7.6.13" dependencies: - "@storybook/addon-highlight": 7.6.12 + "@storybook/addon-highlight": 7.6.13 axe-core: ^4.2.0 - checksum: c40cbe3c541ddf753324e4cc6aa0f44a02cecc72f6dadccb5065d66ca5e84d8b0856ea9f2ad4f6b48415314c5d9aa4ba766a1138e9368055eaafccd7fd4fc502 + checksum: e6fa76e6449711004038ac3d8d08f37651ffb382a7da17251a66bddbf1096cf607a006fc15a8c3ff4dc2659cdeb4e7ad40dd21f9aa005bd6a21f28bd944f00c4 languageName: node linkType: hard "@storybook/addon-actions@npm:^7.6.7": - version: 7.6.12 - resolution: "@storybook/addon-actions@npm:7.6.12" + version: 7.6.13 + resolution: "@storybook/addon-actions@npm:7.6.13" dependencies: - "@storybook/core-events": 7.6.12 + "@storybook/core-events": 7.6.13 "@storybook/global": ^5.0.0 "@types/uuid": ^9.0.1 dequal: ^2.0.2 polished: ^4.2.2 uuid: ^9.0.0 - checksum: 894aeaf29d19a062952f9c51f92262599b00d1556fabbb055d7126d808c5d23dab78bc45a70948d71c152bbaf1b44d9046cd83954849d42ba766797cac331148 + checksum: 9f76a8fce6396d47a244e7107759fcbdf5605f7c3d6d666d5a444ea92c3e4f210855e0d8f8083ad92f3405e43e753e3953ea23ac65642af40dab4a23887eacfb languageName: node linkType: hard "@storybook/addon-docs@npm:^7.6.7": - version: 7.6.12 - resolution: "@storybook/addon-docs@npm:7.6.12" + version: 7.6.13 + resolution: "@storybook/addon-docs@npm:7.6.13" dependencies: "@jest/transform": ^29.3.1 "@mdx-js/react": ^2.1.5 - "@storybook/blocks": 7.6.12 - "@storybook/client-logger": 7.6.12 - "@storybook/components": 7.6.12 - "@storybook/csf-plugin": 7.6.12 - "@storybook/csf-tools": 7.6.12 + "@storybook/blocks": 7.6.13 + "@storybook/client-logger": 7.6.13 + "@storybook/components": 7.6.13 + "@storybook/csf-plugin": 7.6.13 + "@storybook/csf-tools": 7.6.13 "@storybook/global": ^5.0.0 "@storybook/mdx2-csf": ^1.0.0 - "@storybook/node-logger": 7.6.12 - "@storybook/postinstall": 7.6.12 - "@storybook/preview-api": 7.6.12 - "@storybook/react-dom-shim": 7.6.12 - "@storybook/theming": 7.6.12 - "@storybook/types": 7.6.12 + "@storybook/node-logger": 7.6.13 + "@storybook/postinstall": 7.6.13 + "@storybook/preview-api": 7.6.13 + "@storybook/react-dom-shim": 7.6.13 + "@storybook/theming": 7.6.13 + "@storybook/types": 7.6.13 fs-extra: ^11.1.0 remark-external-links: ^8.0.0 remark-slug: ^6.0.0 @@ -8080,16 +7262,16 @@ __metadata: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: fedf10ffc976e19bdfd17a1bec7f71362a147a352a34c9d2777c3f61919e9ec1dcb333171fe1a9039306149cd6178ba2518e0a0abba92b366deecfa7fb9e9938 + checksum: 29bfb824ec71e7f671e838ef368843660883e1c404ea9bec6907a8c0416b3f3687135c039aba8b31be92d46236ec4e234c997ae74869cb2fc1c762f786c1ea7a languageName: node linkType: hard -"@storybook/addon-highlight@npm:7.6.12": - version: 7.6.12 - resolution: "@storybook/addon-highlight@npm:7.6.12" +"@storybook/addon-highlight@npm:7.6.13": + version: 7.6.13 + resolution: "@storybook/addon-highlight@npm:7.6.13" dependencies: "@storybook/global": ^5.0.0 - checksum: c9e92093535facd897f32f15cd7e5bc80059f2dfad62ede2ca59629c5c894378a483ae20dbe516794c11ed27861551afe5b496af130bf20962c8d8d09198f612 + checksum: 6d391a62c7a2774ff01ef1c7571a6019dba01ac78a5a4899777f249e3d30c38728424955d07f4d653c11193745db639c2a15d78af2f40a0d478950e3d6fdd63b languageName: node linkType: hard @@ -8126,8 +7308,8 @@ __metadata: linkType: hard "@storybook/addon-links@npm:^7.6.7": - version: 7.6.12 - resolution: "@storybook/addon-links@npm:7.6.12" + version: 7.6.13 + resolution: "@storybook/addon-links@npm:7.6.13" dependencies: "@storybook/csf": ^0.1.2 "@storybook/global": ^5.0.0 @@ -8137,47 +7319,47 @@ __metadata: peerDependenciesMeta: react: optional: true - checksum: dabec27b3d81e4e2d89f49fea3b594325f9b31936db5bf2633992459e0bf5da1f1dc5e0f5c3c746e89a3372ac67e9be63b401c92eedce42cd9312eb32b862981 + checksum: 8f15704c7052afb9366339971163461ea5e9ddcd23e24b9ce936867e51d4dda47afd0115e8c97fee6030eef8410e50d73d990f400dd5f95a7df03fd25b18f75a languageName: node linkType: hard "@storybook/addon-mdx-gfm@npm:^7.6.7": - version: 7.6.12 - resolution: "@storybook/addon-mdx-gfm@npm:7.6.12" + version: 7.6.13 + resolution: "@storybook/addon-mdx-gfm@npm:7.6.13" dependencies: - "@storybook/node-logger": 7.6.12 + "@storybook/node-logger": 7.6.13 remark-gfm: ^3.0.1 ts-dedent: ^2.0.0 - checksum: 53e388f93d193c99a96e890785a36fe909267a08bdddca84a9c6e967a3f5607667da4229b8e23ea70dea21658da1fc28a4584d9debccaf9d8690d35976233cf7 + checksum: 40b5bebff13c0d079736393acc53e3b4fbe96532832c9b63d9b373811fa0331d78036c26645ac69af6e4e6d64f959c9ffcc029200cf2d9ac43ee2f9d455c7071 languageName: node linkType: hard "@storybook/addon-storysource@npm:^7.6.7": - version: 7.6.12 - resolution: "@storybook/addon-storysource@npm:7.6.12" + version: 7.6.13 + resolution: "@storybook/addon-storysource@npm:7.6.13" dependencies: - "@storybook/source-loader": 7.6.12 + "@storybook/source-loader": 7.6.13 estraverse: ^5.2.0 tiny-invariant: ^1.3.1 - checksum: 3e8b1f5684d1d709427b2f57e5369210fd76e318361fe168edc1460f218660abc50cce626b6a35986369338e6f299766a3a033f8fbe4d3090cd291593bc0ad64 + checksum: 3326aae29e5b16b0333e3c71d980d4d8eaf41e99f92accf6f6524eee51b4844a9db8edca72b77e4e66188147f0ba58f83866fb1c82b12c777690e454a505d3cd languageName: node linkType: hard -"@storybook/blocks@npm:7.6.12": - version: 7.6.12 - resolution: "@storybook/blocks@npm:7.6.12" +"@storybook/blocks@npm:7.6.13": + version: 7.6.13 + resolution: "@storybook/blocks@npm:7.6.13" dependencies: - "@storybook/channels": 7.6.12 - "@storybook/client-logger": 7.6.12 - "@storybook/components": 7.6.12 - "@storybook/core-events": 7.6.12 + "@storybook/channels": 7.6.13 + "@storybook/client-logger": 7.6.13 + "@storybook/components": 7.6.13 + "@storybook/core-events": 7.6.13 "@storybook/csf": ^0.1.2 - "@storybook/docs-tools": 7.6.12 + "@storybook/docs-tools": 7.6.13 "@storybook/global": ^5.0.0 - "@storybook/manager-api": 7.6.12 - "@storybook/preview-api": 7.6.12 - "@storybook/theming": 7.6.12 - "@storybook/types": 7.6.12 + "@storybook/manager-api": 7.6.13 + "@storybook/preview-api": 7.6.13 + "@storybook/theming": 7.6.13 + "@storybook/types": 7.6.13 "@types/lodash": ^4.14.167 color-convert: ^2.0.1 dequal: ^2.0.2 @@ -8193,18 +7375,18 @@ __metadata: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: c99e36593a4d9826a6e02ecbf877193d3a566b7152c0ab3968323302e948a2174257a900d5b45759ce18cddd8d41f8dfb876bdba12e67d3e3f440b1c887570bf + checksum: a612c04d83a48cdba2ca3b59622dd5c9e895326fe5953435f71d92a077d71f47717e2bb5699a7a9adaa6ecc84a9f272489d34cee70ca09ce9cd72a5a0351a721 languageName: node linkType: hard -"@storybook/builder-manager@npm:7.6.12": - version: 7.6.12 - resolution: "@storybook/builder-manager@npm:7.6.12" +"@storybook/builder-manager@npm:7.6.13": + version: 7.6.13 + resolution: "@storybook/builder-manager@npm:7.6.13" dependencies: "@fal-works/esbuild-plugin-global-externals": ^2.1.2 - "@storybook/core-common": 7.6.12 - "@storybook/manager": 7.6.12 - "@storybook/node-logger": 7.6.12 + "@storybook/core-common": 7.6.13 + "@storybook/manager": 7.6.13 + "@storybook/node-logger": 7.6.13 "@types/ejs": ^3.1.1 "@types/find-cache-dir": ^3.2.1 "@yarnpkg/esbuild-plugin-pnp": ^3.0.0-rc.10 @@ -8217,23 +7399,23 @@ __metadata: fs-extra: ^11.1.0 process: ^0.11.10 util: ^0.12.4 - checksum: 6a866387546048ac6d87cf6bef78714e921d25a92ae1917a7e87e2a9349d8778668cbde89a7331384eae96c58276eda34aca8133708d9fd2b60f9179478004aa + checksum: 739aca9eb29174a52f56db8fdd8a337198b10a496a589b57ba3c4c376c7a48925976c03cc0def42810911fe322fd69f5e7213703235aa9bd12c3ba5a2d23844e languageName: node linkType: hard -"@storybook/builder-webpack5@npm:7.6.12": - version: 7.6.12 - resolution: "@storybook/builder-webpack5@npm:7.6.12" +"@storybook/builder-webpack5@npm:7.6.13": + version: 7.6.13 + resolution: "@storybook/builder-webpack5@npm:7.6.13" dependencies: "@babel/core": ^7.23.2 - "@storybook/channels": 7.6.12 - "@storybook/client-logger": 7.6.12 - "@storybook/core-common": 7.6.12 - "@storybook/core-events": 7.6.12 - "@storybook/core-webpack": 7.6.12 - "@storybook/node-logger": 7.6.12 - "@storybook/preview": 7.6.12 - "@storybook/preview-api": 7.6.12 + "@storybook/channels": 7.6.13 + "@storybook/client-logger": 7.6.13 + "@storybook/core-common": 7.6.13 + "@storybook/core-events": 7.6.13 + "@storybook/core-webpack": 7.6.13 + "@storybook/node-logger": 7.6.13 + "@storybook/preview": 7.6.13 + "@storybook/preview-api": 7.6.13 "@swc/core": ^1.3.82 "@types/node": ^18.0.0 "@types/semver": ^7.3.4 @@ -8266,40 +7448,40 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 3526edfa1dad4a82fd945cd04e21e9d7f584eca55b38d77149ce306d8b134fcb3bc032f3a790bd65ba6bf11d63601d97524fbee5f56f3815b89efad75399fe32 + checksum: 5270ea2a19cc66d38ab89af4c381a1a449ec4a642cb9f8d324ae45d522d47b7e37d7e8316d1be5849ae93eac7e0c26e311c898b813af9a281a7184fc9e863dad languageName: node linkType: hard -"@storybook/channels@npm:7.6.12": - version: 7.6.12 - resolution: "@storybook/channels@npm:7.6.12" +"@storybook/channels@npm:7.6.13": + version: 7.6.13 + resolution: "@storybook/channels@npm:7.6.13" dependencies: - "@storybook/client-logger": 7.6.12 - "@storybook/core-events": 7.6.12 + "@storybook/client-logger": 7.6.13 + "@storybook/core-events": 7.6.13 "@storybook/global": ^5.0.0 qs: ^6.10.0 telejson: ^7.2.0 tiny-invariant: ^1.3.1 - checksum: 275dea29f10eff6fd0887fe323133312226310f39254146045486ad6887a350026ff79a3f31408873a82b6be698bcea64d7d048be6baa0a214bfa8953caed47e + checksum: 1b50f6511e3819f4da13efaaabb70aeb46503623229e7ba6fed4b77063e0a94d81e1e55b81852b657ea5cb82964c943e9a8eb546574951a0ac1242c5bf2610e4 languageName: node linkType: hard -"@storybook/cli@npm:7.6.12, @storybook/cli@npm:^7.6.7": - version: 7.6.12 - resolution: "@storybook/cli@npm:7.6.12" +"@storybook/cli@npm:7.6.13, @storybook/cli@npm:^7.6.7": + version: 7.6.13 + resolution: "@storybook/cli@npm:7.6.13" dependencies: "@babel/core": ^7.23.2 "@babel/preset-env": ^7.23.2 "@babel/types": ^7.23.0 "@ndelangen/get-tarball": ^3.0.7 - "@storybook/codemod": 7.6.12 - "@storybook/core-common": 7.6.12 - "@storybook/core-events": 7.6.12 - "@storybook/core-server": 7.6.12 - "@storybook/csf-tools": 7.6.12 - "@storybook/node-logger": 7.6.12 - "@storybook/telemetry": 7.6.12 - "@storybook/types": 7.6.12 + "@storybook/codemod": 7.6.13 + "@storybook/core-common": 7.6.13 + "@storybook/core-events": 7.6.13 + "@storybook/core-server": 7.6.13 + "@storybook/csf-tools": 7.6.13 + "@storybook/node-logger": 7.6.13 + "@storybook/telemetry": 7.6.13 + "@storybook/types": 7.6.13 "@types/semver": ^7.3.4 "@yarnpkg/fslib": 2.10.3 "@yarnpkg/libzip": 2.3.0 @@ -8331,30 +7513,30 @@ __metadata: bin: getstorybook: ./bin/index.js sb: ./bin/index.js - checksum: 52b62155fd95b64b7379093bd84f73e3f0d6f64dac6df0016242b7406bc7297dcb2cd5fefc7d6a877941365073d17c1cac4488cbb3131850c714ad1564c5859a + checksum: 54afbfa204bcbf560571d2358ee340cf9c76de83a9d152741ed88ce965f239cdf2f64278b856cfdaa0952be8791620ed9ddf54e5a91153c5f1a3d6efb022b4f5 languageName: node linkType: hard -"@storybook/client-logger@npm:7.6.12": - version: 7.6.12 - resolution: "@storybook/client-logger@npm:7.6.12" +"@storybook/client-logger@npm:7.6.13": + version: 7.6.13 + resolution: "@storybook/client-logger@npm:7.6.13" dependencies: "@storybook/global": ^5.0.0 - checksum: 4a0a1c15fcab93005462b486f4f549d081487471610fffdaabc311247a0ba7ab3df59491800273aaed05f47a85cbf280580eaa768d9a1c7829d30faefbe43d20 + checksum: 89aa3fe9dbbc3b98c56eb270665693dd28ffab9505245d401fd849fa847a7deb7ed4dea458e6839c08c86377ef387604db1c6a0f4a78292505cd39abdd5c0be1 languageName: node linkType: hard -"@storybook/codemod@npm:7.6.12": - version: 7.6.12 - resolution: "@storybook/codemod@npm:7.6.12" +"@storybook/codemod@npm:7.6.13": + version: 7.6.13 + resolution: "@storybook/codemod@npm:7.6.13" dependencies: "@babel/core": ^7.23.2 "@babel/preset-env": ^7.23.2 "@babel/types": ^7.23.0 "@storybook/csf": ^0.1.2 - "@storybook/csf-tools": 7.6.12 - "@storybook/node-logger": 7.6.12 - "@storybook/types": 7.6.12 + "@storybook/csf-tools": 7.6.13 + "@storybook/node-logger": 7.6.13 + "@storybook/types": 7.6.13 "@types/cross-spawn": ^6.0.2 cross-spawn: ^7.0.3 globby: ^11.0.2 @@ -8362,48 +7544,48 @@ __metadata: lodash: ^4.17.21 prettier: ^2.8.0 recast: ^0.23.1 - checksum: a384d528b9ab23790f6a6e3ba5adecedd078f8e2c8459f2303aa8d4620e173db40e120e13de4fab618fbb91193ab5c8f6d4b3d520c053b77cc605e70f678702e + checksum: 76c13ece7d43a2bf2b510860812103470ba601f7e8b27820e64557862388b46bbb85efb09f87802aacdf96801066eca597133af5c1e93133029d5d9917de122d languageName: node linkType: hard -"@storybook/components@npm:7.6.12": - version: 7.6.12 - resolution: "@storybook/components@npm:7.6.12" +"@storybook/components@npm:7.6.13": + version: 7.6.13 + resolution: "@storybook/components@npm:7.6.13" dependencies: "@radix-ui/react-select": ^1.2.2 "@radix-ui/react-toolbar": ^1.0.4 - "@storybook/client-logger": 7.6.12 + "@storybook/client-logger": 7.6.13 "@storybook/csf": ^0.1.2 "@storybook/global": ^5.0.0 - "@storybook/theming": 7.6.12 - "@storybook/types": 7.6.12 + "@storybook/theming": 7.6.13 + "@storybook/types": 7.6.13 memoizerific: ^1.11.3 use-resize-observer: ^9.1.0 util-deprecate: ^1.0.2 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 2ac43a04ba07d35d87254c1c9155991731b0316f685a7f14997bf3a120fc5f5560bed3929fe581b4b6a3b13f5a9c010c79fe4bd6810bda7ed6c03499323f9bc9 + checksum: 2e041f69762dc60f8c469a5cb1bf7f5ffeee9a6fdfd1ca87ea445f10213472a176c7cd0d74bc1d6f393f37a979641de44daf7c568de622a7c3c3f36eac6d764e languageName: node linkType: hard -"@storybook/core-client@npm:7.6.12": - version: 7.6.12 - resolution: "@storybook/core-client@npm:7.6.12" +"@storybook/core-client@npm:7.6.13": + version: 7.6.13 + resolution: "@storybook/core-client@npm:7.6.13" dependencies: - "@storybook/client-logger": 7.6.12 - "@storybook/preview-api": 7.6.12 - checksum: 663df478fd964d5a6f85598ed38305edb911c088dae085438eae20ca9d666ab711b0adc1cd3cfaab4f7599f14f380ca17ead08ed66dc2895a2970ed5e9a096ce + "@storybook/client-logger": 7.6.13 + "@storybook/preview-api": 7.6.13 + checksum: 59e1014ce4c969322a0f30993dd43b9d1a85e9a01f8db38cabf12cf1404b8cc0ad24b4e48e8214858d384fcdbf4a16548538de1a9867cf6dd367f2a9f5d4fb9e languageName: node linkType: hard -"@storybook/core-common@npm:7.6.12": - version: 7.6.12 - resolution: "@storybook/core-common@npm:7.6.12" +"@storybook/core-common@npm:7.6.13": + version: 7.6.13 + resolution: "@storybook/core-common@npm:7.6.13" dependencies: - "@storybook/core-events": 7.6.12 - "@storybook/node-logger": 7.6.12 - "@storybook/types": 7.6.12 + "@storybook/core-events": 7.6.13 + "@storybook/node-logger": 7.6.13 + "@storybook/types": 7.6.13 "@types/find-cache-dir": ^3.2.1 "@types/node": ^18.0.0 "@types/node-fetch": ^2.6.4 @@ -8424,38 +7606,38 @@ __metadata: pretty-hrtime: ^1.0.3 resolve-from: ^5.0.0 ts-dedent: ^2.0.0 - checksum: 17c4dc4be48d7a35d7fa164696c40addd050d7119d3fd38e7006930f914b98363fa9524a8d34d657931b87172cf08b30d5e1ab6a751b7a5e2b259ef84cf223d7 + checksum: 69692ecab9c2fdf2dbeb80cf54e4bd877a158b3c1115f5a2ff17a6bd583d8d468f9b89e45f70e07f6034c645ac6c310013cf5de7be11f790f05a321a4f62298c languageName: node linkType: hard -"@storybook/core-events@npm:7.6.12": - version: 7.6.12 - resolution: "@storybook/core-events@npm:7.6.12" +"@storybook/core-events@npm:7.6.13": + version: 7.6.13 + resolution: "@storybook/core-events@npm:7.6.13" dependencies: ts-dedent: ^2.0.0 - checksum: d66a18b53fe06a7f51f99e8aa8f6e2fc8de255d4a966d4d7c72f20c2fdfd3b518bc5c0062932a9e9eeb9ccf53c629b3dc8ca8d2462e857b5817a83e5a2c08e4a + checksum: 43096118c0bdd0dc633f57640eb369eef021e14061bb3a4751c762e5fb623d7618fe1b00697964783b966431b695b14a862b90333fe80ae157f15f88b73b0995 languageName: node linkType: hard -"@storybook/core-server@npm:7.6.12": - version: 7.6.12 - resolution: "@storybook/core-server@npm:7.6.12" +"@storybook/core-server@npm:7.6.13": + version: 7.6.13 + resolution: "@storybook/core-server@npm:7.6.13" dependencies: "@aw-web-design/x-default-browser": 1.4.126 "@discoveryjs/json-ext": ^0.5.3 - "@storybook/builder-manager": 7.6.12 - "@storybook/channels": 7.6.12 - "@storybook/core-common": 7.6.12 - "@storybook/core-events": 7.6.12 + "@storybook/builder-manager": 7.6.13 + "@storybook/channels": 7.6.13 + "@storybook/core-common": 7.6.13 + "@storybook/core-events": 7.6.13 "@storybook/csf": ^0.1.2 - "@storybook/csf-tools": 7.6.12 + "@storybook/csf-tools": 7.6.13 "@storybook/docs-mdx": ^0.1.0 "@storybook/global": ^5.0.0 - "@storybook/manager": 7.6.12 - "@storybook/node-logger": 7.6.12 - "@storybook/preview-api": 7.6.12 - "@storybook/telemetry": 7.6.12 - "@storybook/types": 7.6.12 + "@storybook/manager": 7.6.13 + "@storybook/node-logger": 7.6.13 + "@storybook/preview-api": 7.6.13 + "@storybook/telemetry": 7.6.13 + "@storybook/types": 7.6.13 "@types/detect-port": ^1.3.0 "@types/node": ^18.0.0 "@types/pretty-hrtime": ^1.0.0 @@ -8482,47 +7664,47 @@ __metadata: util-deprecate: ^1.0.2 watchpack: ^2.2.0 ws: ^8.2.3 - checksum: a0bd3664ff05046468d3ddd13366f92625e2eeb4b034dcd037338eb2e8e01685ce11d80a79ae1d69e0ef42e7bcacae0f77c226000307d3ac26b82e8b45a0a526 + checksum: fbcaeed46a105f7825a1c4dea9d66ed57f5a380822474eb7ccb3f0ec75df70e1827ccc15d40a8057896935e5a71e88b9e7e41e59e251a4db241907bf9b9f67e6 languageName: node linkType: hard -"@storybook/core-webpack@npm:7.6.12": - version: 7.6.12 - resolution: "@storybook/core-webpack@npm:7.6.12" +"@storybook/core-webpack@npm:7.6.13": + version: 7.6.13 + resolution: "@storybook/core-webpack@npm:7.6.13" dependencies: - "@storybook/core-common": 7.6.12 - "@storybook/node-logger": 7.6.12 - "@storybook/types": 7.6.12 + "@storybook/core-common": 7.6.13 + "@storybook/node-logger": 7.6.13 + "@storybook/types": 7.6.13 "@types/node": ^18.0.0 ts-dedent: ^2.0.0 - checksum: f5e5ef2da7da26c9e6cf68a9ac3925f3db6e8bfa0f263d57be3c6e30c8fc3a8510c8778ebe765805f787f85facccbf6e6ec1519fdd2e3431fca2da7e8a92d0e2 + checksum: 33c74cafc2414d8cad9ab7b07f4c8e72a121454d0b8cb1e29612a90e0f83c10c265405ca4b895f2459c7c6364d9391ab0e54905ca9f2834e11ec2ec48f7ff91b languageName: node linkType: hard -"@storybook/csf-plugin@npm:7.6.12": - version: 7.6.12 - resolution: "@storybook/csf-plugin@npm:7.6.12" +"@storybook/csf-plugin@npm:7.6.13": + version: 7.6.13 + resolution: "@storybook/csf-plugin@npm:7.6.13" dependencies: - "@storybook/csf-tools": 7.6.12 + "@storybook/csf-tools": 7.6.13 unplugin: ^1.3.1 - checksum: c9232c4933583ec059f972582ae679f2c8d704dd8937f519a8b93e21b0274d4d29b9e1b671a6e769f4258757c0232ff7b67d2ef0abc0a4ba0f0f8ef4de0f46f6 + checksum: b93ee3a5276c07991ab6f5978c477aa192289a3f146a7d32956fdbcc9aebcee9260f2fe93b2bbfcfae1ed5b47042f28278aaa54de4ec55efc3e6a0be790a6b6d languageName: node linkType: hard -"@storybook/csf-tools@npm:7.6.12": - version: 7.6.12 - resolution: "@storybook/csf-tools@npm:7.6.12" +"@storybook/csf-tools@npm:7.6.13": + version: 7.6.13 + resolution: "@storybook/csf-tools@npm:7.6.13" dependencies: "@babel/generator": ^7.23.0 "@babel/parser": ^7.23.0 "@babel/traverse": ^7.23.2 "@babel/types": ^7.23.0 "@storybook/csf": ^0.1.2 - "@storybook/types": 7.6.12 + "@storybook/types": 7.6.13 fs-extra: ^11.1.0 recast: ^0.23.1 ts-dedent: ^2.0.0 - checksum: 74396f0d63b29bdcb3e5b22f3e44c723f0bed2c4cfa353445b303f10a9e0cd3ae55bc5d5e2568b9127ddba62ad3ccc365f1e83cb3e37e3ade6526b6a83c3e4b9 + checksum: 82394efcf048b9f1f14348410ba906cf4f42bee7d703200b875af6dc38b2d19974300dcdc33fd81dbb9250cf4871458a73567c769ba23ca75e09cc593ed131b7 languageName: node linkType: hard @@ -8551,18 +7733,18 @@ __metadata: languageName: node linkType: hard -"@storybook/docs-tools@npm:7.6.12": - version: 7.6.12 - resolution: "@storybook/docs-tools@npm:7.6.12" +"@storybook/docs-tools@npm:7.6.13": + version: 7.6.13 + resolution: "@storybook/docs-tools@npm:7.6.13" dependencies: - "@storybook/core-common": 7.6.12 - "@storybook/preview-api": 7.6.12 - "@storybook/types": 7.6.12 + "@storybook/core-common": 7.6.13 + "@storybook/preview-api": 7.6.13 + "@storybook/types": 7.6.13 "@types/doctrine": ^0.0.3 assert: ^2.1.0 doctrine: ^3.0.0 lodash: ^4.17.21 - checksum: bb6923793e03795862d9e98016e9375f0a922765ee15e9d1f8789668735ee60449769b89e676e806a3ac9f151462903a7e9d02b4b4864830efa007ab41f5333e + checksum: 71631318529e58da3a0a1c5ecc135a786b1294db431e4734b22b9c13cd386852a0771525cafb3e33eff2ac8c3424c803573d34d4f5a97a1341d57f45706054cd languageName: node linkType: hard @@ -8573,32 +7755,32 @@ __metadata: languageName: node linkType: hard -"@storybook/manager-api@npm:7.6.12": - version: 7.6.12 - resolution: "@storybook/manager-api@npm:7.6.12" +"@storybook/manager-api@npm:7.6.13": + version: 7.6.13 + resolution: "@storybook/manager-api@npm:7.6.13" dependencies: - "@storybook/channels": 7.6.12 - "@storybook/client-logger": 7.6.12 - "@storybook/core-events": 7.6.12 + "@storybook/channels": 7.6.13 + "@storybook/client-logger": 7.6.13 + "@storybook/core-events": 7.6.13 "@storybook/csf": ^0.1.2 "@storybook/global": ^5.0.0 - "@storybook/router": 7.6.12 - "@storybook/theming": 7.6.12 - "@storybook/types": 7.6.12 + "@storybook/router": 7.6.13 + "@storybook/theming": 7.6.13 + "@storybook/types": 7.6.13 dequal: ^2.0.2 lodash: ^4.17.21 memoizerific: ^1.11.3 store2: ^2.14.2 telejson: ^7.2.0 ts-dedent: ^2.0.0 - checksum: 91d5947e1d5719ebbfbd2581322e8a8a5b41d984caac9831d5a016ad81558a48b8f304c025eb62af75d823a885f3aebd1ee70d0ced014b23320e5c53c0e551e9 + checksum: 227f5b86afd49dcb3a4706c3bcb6eb6b302387a3fa56b66401ba10cdbe35cc6794c1dbc5ee725ed0a6fb12cfa45bdbf79999e4d34c0decb7413afc1944da93cb languageName: node linkType: hard -"@storybook/manager@npm:7.6.12": - version: 7.6.12 - resolution: "@storybook/manager@npm:7.6.12" - checksum: 2e0706adbfb6873df30b57bb800c4c55bf995ab4544263768b89a6c9875cc751d6467f568cf3d0e82aade285ab89a2b809b3b5a468fd8b76acc2491bec0af016 +"@storybook/manager@npm:7.6.13": + version: 7.6.13 + resolution: "@storybook/manager@npm:7.6.13" + checksum: 9ca47b6c40276693bd4bdfe8a627e46ed6a2d8f4fbb674eeec44b78998ce9d9eab4065b2b5475c199c5bd865269f78c0107e633243b0ceadbe58baf9bf15179b languageName: node linkType: hard @@ -8609,47 +7791,47 @@ __metadata: languageName: node linkType: hard -"@storybook/node-logger@npm:7.6.12": - version: 7.6.12 - resolution: "@storybook/node-logger@npm:7.6.12" - checksum: 2f1e06a1204598a6737b20cd7892f2dc1da25ad6e0a0b862196603f6fdc5d331dcb1e907a9bb40c64e6b13fc249d4c26060d159dd19a0a6523fbeb3cad6a3241 +"@storybook/node-logger@npm:7.6.13": + version: 7.6.13 + resolution: "@storybook/node-logger@npm:7.6.13" + checksum: 27d45899ddabd078e693dc90be8d63f5506f7a97004fbf810af14dac1fbfa30a697b11b76e9c05d5440f4aa0da9ea93dedc9f1167d910c5f28e13a53306c8caa languageName: node linkType: hard -"@storybook/postinstall@npm:7.6.12": - version: 7.6.12 - resolution: "@storybook/postinstall@npm:7.6.12" - checksum: 6230b6689e1965254b1e1d7d0eb47effbd80b12f203db8013b2105f7c8b3334cae1abef0ac5f75d87eac7b215f187cde53eb15854aa395cb78c076af58ab7aac +"@storybook/postinstall@npm:7.6.13": + version: 7.6.13 + resolution: "@storybook/postinstall@npm:7.6.13" + checksum: 35394d7a361423c14a2e79cab49147ab7cdb357b10b9683ba8d2856e9fb04a1e3feb0eac8c825b8da9f3fef131aa84a944f749ecf4ee091b5e849022bfa7f136 languageName: node linkType: hard -"@storybook/preset-web-components-webpack@npm:7.6.12": - version: 7.6.12 - resolution: "@storybook/preset-web-components-webpack@npm:7.6.12" +"@storybook/preset-web-components-webpack@npm:7.6.13": + version: 7.6.13 + resolution: "@storybook/preset-web-components-webpack@npm:7.6.13" dependencies: "@babel/plugin-syntax-dynamic-import": ^7.8.3 "@babel/plugin-syntax-import-meta": ^7.10.4 "@babel/preset-env": ^7.23.2 - "@storybook/core-webpack": 7.6.12 + "@storybook/core-webpack": 7.6.13 "@types/node": ^18.0.0 babel-loader: ^7.0.0 || ^8.0.0 || ^9.0.0 babel-plugin-bundled-import-meta: ^0.3.1 peerDependencies: lit: ^2.0.0 || ^3.0.0 - checksum: 4414ddda6e338558d188efc2fd8ad54c05614a5c0e450319fe98a6479142fbd5d0ee54d2913fa6795c26c4488574b76f8507768cae90a0ae87ef958f115db4d4 + checksum: eb0433e7064466f74750851ab0fd9e1e529839afc4deb2d717adac5dcdc8a0d888524deda3da2ac1637b6c0bca23d16e996f8d2ebfc81055f5a409573577114b languageName: node linkType: hard -"@storybook/preview-api@npm:7.6.12": - version: 7.6.12 - resolution: "@storybook/preview-api@npm:7.6.12" +"@storybook/preview-api@npm:7.6.13": + version: 7.6.13 + resolution: "@storybook/preview-api@npm:7.6.13" dependencies: - "@storybook/channels": 7.6.12 - "@storybook/client-logger": 7.6.12 - "@storybook/core-events": 7.6.12 + "@storybook/channels": 7.6.13 + "@storybook/client-logger": 7.6.13 + "@storybook/core-events": 7.6.13 "@storybook/csf": ^0.1.2 "@storybook/global": ^5.0.0 - "@storybook/types": 7.6.12 + "@storybook/types": 7.6.13 "@types/qs": ^6.9.5 dequal: ^2.0.2 lodash: ^4.17.21 @@ -8658,126 +7840,126 @@ __metadata: synchronous-promise: ^2.0.15 ts-dedent: ^2.0.0 util-deprecate: ^1.0.2 - checksum: 52c2bf313fb12c5bac8ca80e0bdeb2879c120918fc1885d2f8f6ac71c34a8e92a7bc29725db6132887fded52d10e371cbe8a30266d3e2394ecfbfdd543d71c09 + checksum: 0e6da3feb53b8fbda27b4a2d6158105fa9460e8b06b8d558be844fe17bb3919cccc8e98bb142e4df5bf971e0a156092d182f5922b312895620ae3c2a33745789 languageName: node linkType: hard -"@storybook/preview@npm:7.6.12": - version: 7.6.12 - resolution: "@storybook/preview@npm:7.6.12" - checksum: bba55fcfd48b447249e89c393d59b8756283df3223127659c19689b6f64772d99fcd4f273c3f548f3a48237e6b577c30b820552c8561a68ac89536ed04718106 +"@storybook/preview@npm:7.6.13": + version: 7.6.13 + resolution: "@storybook/preview@npm:7.6.13" + checksum: cc29bebd2c8a1803166e2b6b4457ca6e572faf59a4e5fdf85cffa7e87f0deb650ff1496e4eb1d3db2e02088c7e63ee1c55775402292aacd1c7d0a6ec6f73bfd1 languageName: node linkType: hard -"@storybook/react-dom-shim@npm:7.6.12": - version: 7.6.12 - resolution: "@storybook/react-dom-shim@npm:7.6.12" +"@storybook/react-dom-shim@npm:7.6.13": + version: 7.6.13 + resolution: "@storybook/react-dom-shim@npm:7.6.13" peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 07beffa0a674d15e061dbf7058a3d9ac718f38443dd974c6ad827cb818e676b19f29aa6ad7ff495dfa826fb1be999e6967bbff9b7c13bc2106727285b5824a8b + checksum: ad0fa512e433ee29d95de415df26fc588d1e0bab46b8e1d2b8c42a29334bba9e0e9770f0249bbb962c6e1a6f9514c7e5465300e5ae651ff1957d78b53b7f5fd6 languageName: node linkType: hard -"@storybook/router@npm:7.6.12": - version: 7.6.12 - resolution: "@storybook/router@npm:7.6.12" +"@storybook/router@npm:7.6.13": + version: 7.6.13 + resolution: "@storybook/router@npm:7.6.13" dependencies: - "@storybook/client-logger": 7.6.12 + "@storybook/client-logger": 7.6.13 memoizerific: ^1.11.3 qs: ^6.10.0 - checksum: 9effbf80b2871a80debe300c5ef087da2ae875ec11cb0d13becdd534848fa698ae5f6cbc59c70d2253c5550d4eb6be2d0ec4d217519dafac325366bedd0de1d6 + checksum: aadd1d2d48e1d849bd06b308fe00d833502442b4a080ebc1aff8589098b8bdf09e06f776e2f2cc853796aa1625c0ec231386d4cef63fe12fc8bff0987b883269 languageName: node linkType: hard -"@storybook/source-loader@npm:7.6.12": - version: 7.6.12 - resolution: "@storybook/source-loader@npm:7.6.12" +"@storybook/source-loader@npm:7.6.13": + version: 7.6.13 + resolution: "@storybook/source-loader@npm:7.6.13" dependencies: "@storybook/csf": ^0.1.2 - "@storybook/types": 7.6.12 + "@storybook/types": 7.6.13 estraverse: ^5.2.0 lodash: ^4.17.21 prettier: ^2.8.0 - checksum: 488ad5b1330efb1d20660c27b1617b299c7b84bd85f813ba3042ad763d9de9b14ee3b73c7a8519b97bb82ee95e82831fe1e62b75a6ee7b5af475b07fb4da9543 + checksum: 71377d444b059029fdf7ce3dfd9423beb0f0fa18b6dee39aeafb43fd1b027cdd96eb3cb627115d46986bb27c4566b6e41f7e0e05b134d8a9fb00723a204ec239 languageName: node linkType: hard -"@storybook/telemetry@npm:7.6.12": - version: 7.6.12 - resolution: "@storybook/telemetry@npm:7.6.12" +"@storybook/telemetry@npm:7.6.13": + version: 7.6.13 + resolution: "@storybook/telemetry@npm:7.6.13" dependencies: - "@storybook/client-logger": 7.6.12 - "@storybook/core-common": 7.6.12 - "@storybook/csf-tools": 7.6.12 + "@storybook/client-logger": 7.6.13 + "@storybook/core-common": 7.6.13 + "@storybook/csf-tools": 7.6.13 chalk: ^4.1.0 detect-package-manager: ^2.0.1 fetch-retry: ^5.0.2 fs-extra: ^11.1.0 read-pkg-up: ^7.0.1 - checksum: 1aea8af10d851d44d784bdd7a35f4223e3198efafbed494f2f7faeb17e747f3915fe99574830be1919ae50766cd0fd73cb92a4d6535a88a0c434bfa64079ba3d + checksum: 391df809b8ee1b075b7e316dc52a8fa41198832e572122f76561d71025841edbb482a97f2fc0473a51450151cd2b68f9d8b8e3d55642bcc02aa635cc420c039d languageName: node linkType: hard -"@storybook/theming@npm:7.6.12": - version: 7.6.12 - resolution: "@storybook/theming@npm:7.6.12" +"@storybook/theming@npm:7.6.13": + version: 7.6.13 + resolution: "@storybook/theming@npm:7.6.13" dependencies: "@emotion/use-insertion-effect-with-fallbacks": ^1.0.0 - "@storybook/client-logger": 7.6.12 + "@storybook/client-logger": 7.6.13 "@storybook/global": ^5.0.0 memoizerific: ^1.11.3 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: e72a7ef3fa4ec3987b69fb4ffbfaa08e9f475877969b02c0279dbae0c69fff193570f04df8d803915c8ee958f48d3c4c083bd6e368de6a47e25debe49eae80d4 + checksum: a05e4410a2c0a1d127de033e8761aecbc5853f0f4c8f00d40cfc17eb16c38d2c67b77bc4dc818eaf26f6651e8e1b5136c4d303f45dc76d131966589afe60ecf4 languageName: node linkType: hard -"@storybook/types@npm:7.6.12": - version: 7.6.12 - resolution: "@storybook/types@npm:7.6.12" +"@storybook/types@npm:7.6.13": + version: 7.6.13 + resolution: "@storybook/types@npm:7.6.13" dependencies: - "@storybook/channels": 7.6.12 + "@storybook/channels": 7.6.13 "@types/babel__core": ^7.0.0 "@types/express": ^4.7.0 file-system-cache: 2.3.0 - checksum: d5d124063939008a67226d928ff662924c3eb76c372aec1403f7bb18fe60f51e93d6d7f83e44bc19e0492f8bc674b590b34be91231015525be160752bb72d698 + checksum: 3880746f80efbd64fa9a7e5cb30a82ca8ca30294edda95d0d2baefcb0f4815ec84ef8f988af628d24c0611efdf9d032371b444abe712b450de20c2db061419f4 languageName: node linkType: hard "@storybook/web-components-webpack5@npm:^7.6.7": - version: 7.6.12 - resolution: "@storybook/web-components-webpack5@npm:7.6.12" + version: 7.6.13 + resolution: "@storybook/web-components-webpack5@npm:7.6.13" dependencies: "@babel/preset-env": ^7.23.2 - "@storybook/builder-webpack5": 7.6.12 - "@storybook/core-common": 7.6.12 - "@storybook/preset-web-components-webpack": 7.6.12 - "@storybook/web-components": 7.6.12 + "@storybook/builder-webpack5": 7.6.13 + "@storybook/core-common": 7.6.13 + "@storybook/preset-web-components-webpack": 7.6.13 + "@storybook/web-components": 7.6.13 "@types/node": ^18.0.0 peerDependencies: lit: ^2.0.0 || ^3.0.0 - checksum: 674651e0a7b89cb697e5f483fcfbc73c9b45f148ac304b1076c08476e9ecce5cb614190e89e50d55f09f17e9d22cc158cbdb5391598f6a7a522105a09431601d + checksum: c0b90bc9cf96405fd2f8ad1013614e83bc26a8bfa4d1959d40963c08e36b07284babb38d238b936a982df48fc77503968fc1e6aaabfb2eb4e894672914689957 languageName: node linkType: hard -"@storybook/web-components@npm:7.6.12, @storybook/web-components@npm:^7.6.7": - version: 7.6.12 - resolution: "@storybook/web-components@npm:7.6.12" +"@storybook/web-components@npm:7.6.13, @storybook/web-components@npm:^7.6.7": + version: 7.6.13 + resolution: "@storybook/web-components@npm:7.6.13" dependencies: - "@storybook/client-logger": 7.6.12 - "@storybook/core-client": 7.6.12 - "@storybook/docs-tools": 7.6.12 + "@storybook/client-logger": 7.6.13 + "@storybook/core-client": 7.6.13 + "@storybook/docs-tools": 7.6.13 "@storybook/global": ^5.0.0 - "@storybook/manager-api": 7.6.12 - "@storybook/preview-api": 7.6.12 - "@storybook/types": 7.6.12 + "@storybook/manager-api": 7.6.13 + "@storybook/preview-api": 7.6.13 + "@storybook/types": 7.6.13 tiny-invariant: ^1.3.1 ts-dedent: ^2.0.0 peerDependencies: lit: ^2.0.0 || ^3.0.0 - checksum: 4498ba95215855d71df822c5effabe04e327e8ee46b7eef1797d1216d59ff4788583d792b1dfec6601ac3a1041f25aca43ea61817176823da9f183f6ce19fb98 + checksum: 57be469ce2b93cafbc6b0a99d85de99a3a4f071717513edbfef4072302e69b316f088dc69343b3ecc45ac2f3d6f781e8ecb00505aa1b69de2bcc5c9bc3c08e45 languageName: node linkType: hard @@ -9479,6 +8661,13 @@ __metadata: languageName: node linkType: hard +"@types/html-to-text@npm:^9.0.4": + version: 9.0.4 + resolution: "@types/html-to-text@npm:9.0.4" + checksum: 58ab5564080febdf7a5db99e713bdcf1be8b1ca31c40dae76f8278eba6b1cf62a0291082abe1e00537350aaf1c5d64f92ff37b718c1f880bf5e6174fceb41b78 + languageName: node + linkType: hard + "@types/http-assert@npm:*": version: 1.5.5 resolution: "@types/http-assert@npm:1.5.5" @@ -9798,11 +8987,11 @@ __metadata: linkType: hard "@types/react-dom@npm:^18.0.0": - version: 18.2.18 - resolution: "@types/react-dom@npm:18.2.18" + version: 18.2.19 + resolution: "@types/react-dom@npm:18.2.19" dependencies: "@types/react": "*" - checksum: 8e3da404c980e2b2a76da3852f812ea6d8b9d0e7f5923fbaf3bfbbbfa1d59116ff91c129de8f68e9b7668a67ae34484fe9df74d5a7518cf8591ec07a0c4dad57 + checksum: 087a19d8e4c1c0900ec4ac5ddb749a811a38274b25683d233c11755d2895cc6e475e8bf9bea3dee36519769298e078d4c2feab9ab4bd13b26bc2a6170716437e languageName: node linkType: hard @@ -9816,13 +9005,13 @@ __metadata: linkType: hard "@types/react@npm:*, @types/react@npm:>=16": - version: 18.2.54 - resolution: "@types/react@npm:18.2.54" + version: 18.2.55 + resolution: "@types/react@npm:18.2.55" dependencies: "@types/prop-types": "*" "@types/scheduler": "*" csstype: ^3.0.2 - checksum: 261bf1f5d8320708f059b9b2e691eb60dff94a2b7d2e821f55289b611b8a215b4b23d69358d621ef9b5969d88198a32024ef43d5dd979c9df60aeae98cd27b0e + checksum: a8eb4fa77f73831b9112d4f11a7006217dc0740361649b9b0da3fd441d151a9cd415d5d68b91c0af4e430e063424d301c77489e5edaddc9f711c4e46cf9818a5 languageName: node linkType: hard @@ -11123,7 +10312,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.11.2, acorn@npm:^8.2.4, acorn@npm:^8.7.1, acorn@npm:^8.8.2, acorn@npm:^8.9.0": +"acorn@npm:^8.11.3, acorn@npm:^8.2.4, acorn@npm:^8.7.1, acorn@npm:^8.8.2, acorn@npm:^8.9.0": version: 8.11.3 resolution: "acorn@npm:8.11.3" bin: @@ -11725,15 +10914,15 @@ __metadata: linkType: hard "array.prototype.findlastindex@npm:^1.2.3": - version: 1.2.3 - resolution: "array.prototype.findlastindex@npm:1.2.3" + version: 1.2.4 + resolution: "array.prototype.findlastindex@npm:1.2.4" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - es-shim-unscopables: ^1.0.0 - get-intrinsic: ^1.2.1 - checksum: 31f35d7b370c84db56484618132041a9af401b338f51899c2e78ef7690fbba5909ee7ca3c59a7192085b328cc0c68c6fd1f6d1553db01a689a589ae510f3966e + call-bind: ^1.0.5 + define-properties: ^1.2.1 + es-abstract: ^1.22.3 + es-errors: ^1.3.0 + es-shim-unscopables: ^1.0.2 + checksum: cc8dce27a06dddf6d9c40a15d4c573f96ac5ca3583f89f8d8cd7d7ffdb96a71d819890a5bdb211f221bda8fafa0d97d1d8cbb5460a5cbec1fff57ae80b8abc31 languageName: node linkType: hard @@ -12001,9 +11190,9 @@ __metadata: linkType: hard "axe-core@npm:^4.2.0, axe-core@npm:^4.3.3": - version: 4.8.3 - resolution: "axe-core@npm:4.8.3" - checksum: f546c74d1f3a7bff81752457fe9e5573693a8ecce11d3c265db501a82105efe0cd29964a491dd98e5979f6f3d85db6776e5e46626c2b09ab579a3729108964fd + version: 4.8.4 + resolution: "axe-core@npm:4.8.4" + checksum: 644da2fec17bcf6f834edaab1baa5a75a9a3ee370c323215c73da6d7e45fac11d01470d92d0a3d5f26695e15c1d9b781733dfbe1fe09d505076c58f09ed74e02 languageName: node linkType: hard @@ -12028,9 +11217,9 @@ __metadata: linkType: hard "b4a@npm:^1.6.4": - version: 1.6.4 - resolution: "b4a@npm:1.6.4" - checksum: 81b086f9af1f8845fbef4476307236bda3d660c158c201db976f19cdce05f41f93110ab6b12fd7a2696602a490cc43d5410ee36a56d6eef93afb0d6ca69ac3b2 + version: 1.6.6 + resolution: "b4a@npm:1.6.6" + checksum: c46a27e3ac9c84426ae728f0fc46a6ae7703a7bc03e771fa0bef4827fd7cf3bb976d1a3d5afff54606248372ab8fdf595bd0114406690edf37f14d120630cf7f languageName: node linkType: hard @@ -12768,14 +11957,15 @@ __metadata: languageName: node linkType: hard -"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2, call-bind@npm:^1.0.5": - version: 1.0.5 - resolution: "call-bind@npm:1.0.5" +"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.6": + version: 1.0.6 + resolution: "call-bind@npm:1.0.6" dependencies: + es-errors: ^1.3.0 function-bind: ^1.1.2 - get-intrinsic: ^1.2.1 - set-function-length: ^1.1.1 - checksum: 449e83ecbd4ba48e7eaac5af26fea3b50f8f6072202c2dd7c5a6e7a6308f2421abe5e13a3bbd55221087f76320c5e09f25a8fdad1bab2b77c68ae74d92234ea5 + get-intrinsic: ^1.2.3 + set-function-length: ^1.2.0 + checksum: 9e75989b60124df0fee40c129b2f8f401efb54e40451e18f112b64654c7d6d0dd7b6195e990edaeb3fdb447911926a19ffe1635858de00d68826ced6eeab24a9 languageName: node linkType: hard @@ -12860,9 +12050,9 @@ __metadata: linkType: hard "caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001578, caniuse-lite@npm:^1.0.30001580": - version: 1.0.30001584 - resolution: "caniuse-lite@npm:1.0.30001584" - checksum: de7018759561795ef31864b0d1584735eef267033d4e9b5f046b976756e06c43e85afd46705c5d63c63e3c36484c26794c259b9748eefffa582750b4ad0822ce + version: 1.0.30001585 + resolution: "caniuse-lite@npm:1.0.30001585" + checksum: c5994f0b5de857349ae0c157a3c61883e800ed154bbeab339aecf01a0a0fd24f67d23ebb48bc995c4c9cde2a281a51b682d1b14bbf2f832f6b2261119f450af4 languageName: node linkType: hard @@ -13007,8 +12197,8 @@ __metadata: linkType: hard "chokidar@npm:>=3.0.0 <4.0.0, chokidar@npm:^3.4.2, chokidar@npm:^3.4.3, chokidar@npm:^3.5.3": - version: 3.5.3 - resolution: "chokidar@npm:3.5.3" + version: 3.6.0 + resolution: "chokidar@npm:3.6.0" dependencies: anymatch: ~3.1.2 braces: ~3.0.2 @@ -13021,7 +12211,7 @@ __metadata: dependenciesMeta: fsevents: optional: true - checksum: b49fcde40176ba007ff361b198a2d35df60d9bb2a5aab228279eb810feae9294a6b4649ab15981304447afe1e6ffbf4788ad5db77235dc770ab777c6e771980c + checksum: d2f29f499705dcd4f6f3bbed79a9ce2388cf530460122eed3b9c48efeab7a4e28739c6551fd15bec9245c6b9eeca7a32baa64694d64d9b6faeb74ddb8c4a413d languageName: node linkType: hard @@ -14618,7 +13808,7 @@ __metadata: languageName: node linkType: hard -"deepmerge@npm:^4.2.2": +"deepmerge@npm:^4.2.2, deepmerge@npm:^4.3.1": version: 4.3.1 resolution: "deepmerge@npm:4.3.1" checksum: 2024c6a980a1b7128084170c4cf56b0fd58a63f2da1660dcfe977415f27b17dbe5888668b59d0b063753f3220719d5e400b7f113609489c90160bb9a5518d052 @@ -14676,14 +13866,15 @@ __metadata: languageName: node linkType: hard -"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.1": - version: 1.1.1 - resolution: "define-data-property@npm:1.1.1" +"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.2": + version: 1.1.2 + resolution: "define-data-property@npm:1.1.2" dependencies: - get-intrinsic: ^1.2.1 + es-errors: ^1.3.0 + get-intrinsic: ^1.2.2 gopd: ^1.0.1 - has-property-descriptors: ^1.0.0 - checksum: a29855ad3f0630ea82e3c5012c812efa6ca3078d5c2aa8df06b5f597c1cde6f7254692df41945851d903e05a1668607b6d34e778f402b9ff9ffb38111f1a3f0d + has-property-descriptors: ^1.0.1 + checksum: a903d932c83ede85d47d7764fff23435e038e8d7c2ed09a5461d59a0279bf590ed7459ac9ab468e550e24d81aa91e4de1714df155ecce4c925e94bc5ea94f9f3 languageName: node linkType: hard @@ -15112,7 +14303,7 @@ __metadata: languageName: node linkType: hard -"domutils@npm:^3.1.0": +"domutils@npm:^3.0.1, domutils@npm:^3.1.0": version: 3.1.0 resolution: "domutils@npm:3.1.0" dependencies: @@ -15271,9 +14462,9 @@ __metadata: linkType: hard "electron-to-chromium@npm:^1.4.648": - version: 1.4.657 - resolution: "electron-to-chromium@npm:1.4.657" - checksum: 6168b51c1bfa1388d16dde6e501bcaaa3509d44e833f35b410543c421c5136b438b4476ef0fab66bc29d4980152495cf1fe813c9e36748afc5a2a8d107c446cf + version: 1.4.662 + resolution: "electron-to-chromium@npm:1.4.662" + checksum: dceacdd7aa7ebf4802d5d44389d8bf098dcba3973219484a1900905a835ef9e262f121b6856c5f2151ccaa42209fb4ff67d3faa658e710e19069bd65936b859e languageName: node linkType: hard @@ -15376,7 +14567,7 @@ __metadata: languageName: node linkType: hard -"entities@npm:^4.2.0, entities@npm:^4.5.0": +"entities@npm:^4.2.0, entities@npm:^4.4.0, entities@npm:^4.5.0": version: 4.5.0 resolution: "entities@npm:4.5.0" checksum: 853f8ebd5b425d350bffa97dd6958143179a5938352ccae092c62d1267c4e392a039be1bae7d51b6e4ffad25f51f9617531fedf5237f15df302ccfb452cbf2d7 @@ -15494,7 +14685,7 @@ __metadata: languageName: node linkType: hard -"es-errors@npm:^1.0.0, es-errors@npm:^1.1.0, es-errors@npm:^1.2.1": +"es-errors@npm:^1.0.0, es-errors@npm:^1.1.0, es-errors@npm:^1.2.1, es-errors@npm:^1.3.0": version: 1.3.0 resolution: "es-errors@npm:1.3.0" checksum: ec1414527a0ccacd7f15f4a3bc66e215f04f595ba23ca75cdae0927af099b5ec865f9f4d33e9d7e86f512f252876ac77d4281a7871531a50678132429b1271b5 @@ -17592,16 +16783,16 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.2, get-intrinsic@npm:^1.2.3": - version: 1.2.3 - resolution: "get-intrinsic@npm:1.2.3" +"get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.2, get-intrinsic@npm:^1.2.3, get-intrinsic@npm:^1.2.4": + version: 1.2.4 + resolution: "get-intrinsic@npm:1.2.4" dependencies: - es-errors: ^1.0.0 + es-errors: ^1.3.0 function-bind: ^1.1.2 has-proto: ^1.0.1 has-symbols: ^1.0.3 hasown: ^2.0.0 - checksum: 497fe6e444a2c570d174486c2450fc2b8c5020ae33a945a4b3d06c88bd69fb02a4611163e7a5bd9a5f61162e85ee83e55f06400dd3de108d6407eea32c6330b7 + checksum: 414e3cdf2c203d1b9d7d33111df746a4512a1aa622770b361dadddf8ed0b5aeb26c560f49ca077e24bfafb0acb55ca908d1f709216ccba33ffc548ec8a79a951 languageName: node linkType: hard @@ -17694,12 +16885,13 @@ __metadata: linkType: hard "get-symbol-description@npm:^1.0.0": - version: 1.0.0 - resolution: "get-symbol-description@npm:1.0.0" + version: 1.0.2 + resolution: "get-symbol-description@npm:1.0.2" dependencies: - call-bind: ^1.0.2 - get-intrinsic: ^1.1.1 - checksum: 9ceff8fe968f9270a37a1f73bf3f1f7bda69ca80f4f80850670e0e7b9444ff99323f7ac52f96567f8b5f5fbe7ac717a0d81d3407c7313e82810c6199446a5247 + call-bind: ^1.0.5 + es-errors: ^1.3.0 + get-intrinsic: ^1.2.4 + checksum: e1cb53bc211f9dbe9691a4f97a46837a553c4e7caadd0488dc24ac694db8a390b93edd412b48dcdd0b4bbb4c595de1709effc75fc87c0839deedc6968f5bd973 languageName: node linkType: hard @@ -18649,6 +17841,19 @@ __metadata: languageName: node linkType: hard +"html-to-text@npm:^9.0.5": + version: 9.0.5 + resolution: "html-to-text@npm:9.0.5" + dependencies: + "@selderee/plugin-htmlparser2": ^0.11.0 + deepmerge: ^4.3.1 + dom-serializer: ^2.0.0 + htmlparser2: ^8.0.2 + selderee: ^0.11.0 + checksum: 205e0faa9b9aa281b369122acdffc5f348848e400f4037fde1fb12d68a6baa11644d2b64c3cc6821a79d3bc7316d89e85cc733d86f7f709858cb5c5b72faac65 + languageName: node + linkType: hard + "html-webpack-plugin@npm:^5.5.0": version: 5.6.0 resolution: "html-webpack-plugin@npm:5.6.0" @@ -18694,6 +17899,18 @@ __metadata: languageName: node linkType: hard +"htmlparser2@npm:^8.0.2": + version: 8.0.2 + resolution: "htmlparser2@npm:8.0.2" + dependencies: + domelementtype: ^2.3.0 + domhandler: ^5.0.3 + domutils: ^3.0.1 + entities: ^4.4.0 + checksum: 29167a0f9282f181da8a6d0311b76820c8a59bc9e3c87009e21968264c2987d2723d6fde5a964d4b7b6cba663fca96ffb373c06d8223a85f52a6089ced942700 + languageName: node + linkType: hard + "http-assert@npm:^1.3.0": version: 1.5.0 resolution: "http-assert@npm:1.5.0" @@ -19181,13 +18398,13 @@ __metadata: linkType: hard "internal-slot@npm:^1.0.4, internal-slot@npm:^1.0.5": - version: 1.0.6 - resolution: "internal-slot@npm:1.0.6" + version: 1.0.7 + resolution: "internal-slot@npm:1.0.7" dependencies: - get-intrinsic: ^1.2.2 + es-errors: ^1.3.0 hasown: ^2.0.0 side-channel: ^1.0.4 - checksum: 7872454888047553ce97a3fa1da7cc054a28ec5400a9c2e9f4dbe4fe7c1d041cb8e8301467614b80d4246d50377aad2fb58860b294ed74d6700cc346b6f89549 + checksum: cadc5eea5d7d9bc2342e93aae9f31f04c196afebb11bde97448327049f492cd7081e18623ae71388aac9cd237b692ca3a105be9c68ac39c1dec679d7409e33eb languageName: node linkType: hard @@ -19867,7 +19084,7 @@ __metadata: languageName: node linkType: hard -"is-typed-array@npm:^1.1.10, is-typed-array@npm:^1.1.12, is-typed-array@npm:^1.1.3, is-typed-array@npm:^1.1.9": +"is-typed-array@npm:^1.1.10, is-typed-array@npm:^1.1.12, is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.3, is-typed-array@npm:^1.1.9": version: 1.1.13 resolution: "is-typed-array@npm:1.1.13" dependencies: @@ -21402,6 +20619,13 @@ __metadata: languageName: node linkType: hard +"leac@npm:^0.6.0": + version: 0.6.0 + resolution: "leac@npm:0.6.0" + checksum: a7a722cfc2ddfd6fb2620e5dee3ac8e9b0af4eb04325f3c8286a820de78becba3010a4d7026ff5189bb159eb7a851c3a1ac73e076eb0d54fcee0adaf695291ba + languageName: node + linkType: hard + "lead@npm:^1.0.0": version: 1.0.0 resolution: "lead@npm:1.0.0" @@ -23657,9 +22881,9 @@ __metadata: linkType: hard "node-fetch-native@npm:^1.6.1": - version: 1.6.1 - resolution: "node-fetch-native@npm:1.6.1" - checksum: 1a248ada34561ce1010f09ca81cf5cd9c834b51aec957e82b6811d673e209a44630a835da599f0dd0c3d927f15c5f864d6ed494093c4a42601609f988d5919f2 + version: 1.6.2 + resolution: "node-fetch-native@npm:1.6.2" + checksum: a6e7b9bf2f671895421441177ebd1d12d2a6f18bc1afc29b8d413f65716faebb6c03adab332eff6392e538da8f40e862c67402bfb8a12c6b54b6a84a1a267377 languageName: node linkType: hard @@ -24226,7 +23450,7 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.13.1, object-inspect@npm:^1.9.0": +"object-inspect@npm:^1.13.1": version: 1.13.1 resolution: "object-inspect@npm:1.13.1" checksum: 7d9fa9221de3311dcb5c7c307ee5dc011cdd31dc43624b7c184b3840514e118e05ef0002be5388304c416c0eb592feb46e983db12577fc47e47d5752fbbfb61f @@ -24919,6 +24143,16 @@ __metadata: languageName: node linkType: hard +"parseley@npm:^0.12.0": + version: 0.12.1 + resolution: "parseley@npm:0.12.1" + dependencies: + leac: ^0.6.0 + peberminta: ^0.9.0 + checksum: 147760bce6c4a4f8c62af021a84ced262f078f60a1119e6891eba69567a953e06295ad2c70e5e89892ad1d4af0126f0856742d657a19a29ebf58422cf3bfd4f3 + languageName: node + linkType: hard + "parseurl@npm:^1.3.2, parseurl@npm:~1.3.2, parseurl@npm:~1.3.3": version: 1.3.3 resolution: "parseurl@npm:1.3.3" @@ -25096,6 +24330,13 @@ __metadata: languageName: node linkType: hard +"peberminta@npm:^0.9.0": + version: 0.9.0 + resolution: "peberminta@npm:0.9.0" + checksum: b983b68077269ca8a3327520a0a3f027fa930faa9fb3cb53bed1cb3847ebc0ed55db936d70b1745a756149911f5f450e898e87e25ab207f1b8b892bed48fb540 + languageName: node + linkType: hard + "peek-stream@npm:^1.1.0": version: 1.1.3 resolution: "peek-stream@npm:1.1.3" @@ -26218,13 +25459,13 @@ __metadata: linkType: hard "postcss@npm:^8.3.5, postcss@npm:^8.4.23, postcss@npm:^8.4.28, postcss@npm:^8.4.33, postcss@npm:^8.4.4": - version: 8.4.34 - resolution: "postcss@npm:8.4.34" + version: 8.4.35 + resolution: "postcss@npm:8.4.35" dependencies: nanoid: ^3.3.7 picocolors: ^1.0.0 source-map-js: ^1.0.2 - checksum: 46c32b51810a23060288c86fdb5195237c497f952c674167fd1cbb3f0c628389a3fd48ae0b289447e5368b4abbc95f81e2d318bfdc5554063b2a7e8192e1a540 + checksum: cf3c3124d3912a507603f6d9a49b3783f741075e9aa73eb592a6dd9194f9edab9d20a8875d16d137d4f779fe7b6fbd1f5727e39bfd1c3003724980ee4995e1da languageName: node linkType: hard @@ -28288,13 +27529,13 @@ __metadata: linkType: hard "safe-regex-test@npm:^1.0.0": - version: 1.0.2 - resolution: "safe-regex-test@npm:1.0.2" + version: 1.0.3 + resolution: "safe-regex-test@npm:1.0.3" dependencies: - call-bind: ^1.0.5 - get-intrinsic: ^1.2.2 + call-bind: ^1.0.6 + es-errors: ^1.3.0 is-regex: ^1.1.4 - checksum: 4af5ce05a2daa4f6d4bfd5a3c64fc33d6b886f6592122e93c0efad52f7147b9b605e5ffc03c269a1e3d1f8db2a23bc636628a961c9fd65bafdc09503330673fd + checksum: 6c7d392ff1ae7a3ae85273450ed02d1d131f1d2c76e177d6b03eb88e6df8fa062639070e7d311802c1615f351f18dc58f9454501c58e28d5ffd9b8f502ba6489 languageName: node linkType: hard @@ -28424,6 +27665,15 @@ __metadata: languageName: node linkType: hard +"selderee@npm:^0.11.0": + version: 0.11.0 + resolution: "selderee@npm:0.11.0" + dependencies: + parseley: ^0.12.0 + checksum: af8a68c1f4cde858152943b6fc9f2b7164c8fb1a1c9f01b44350dffd1f79783930d77a0ae33548a036816d17c8130eeb9d15f1db65c9262ca368ad3a0d750f66 + languageName: node + linkType: hard + "select-hose@npm:^2.0.0": version: 2.0.0 resolution: "select-hose@npm:2.0.0" @@ -28593,16 +27843,17 @@ __metadata: languageName: node linkType: hard -"set-function-length@npm:^1.1.1": - version: 1.2.0 - resolution: "set-function-length@npm:1.2.0" +"set-function-length@npm:^1.2.0": + version: 1.2.1 + resolution: "set-function-length@npm:1.2.1" dependencies: - define-data-property: ^1.1.1 + define-data-property: ^1.1.2 + es-errors: ^1.3.0 function-bind: ^1.1.2 - get-intrinsic: ^1.2.2 + get-intrinsic: ^1.2.3 gopd: ^1.0.1 has-property-descriptors: ^1.0.1 - checksum: 63e34b45a2ff9abb419f52583481bf8ba597d33c0c85e56999085eb6078a0f7fbb4222051981c287feceeb358aa7789e7803cea2c82ac94c0ab37059596aff79 + checksum: 23742476d695f2eae86348c069bd164d4f25fa7c26546a46a2b5f370f1f84b98ec64366d2cd17785d5b41bbf16b95855da4b7eb188e7056fe3b0248d61f6afda languageName: node linkType: hard @@ -28717,13 +27968,14 @@ __metadata: linkType: hard "side-channel@npm:^1.0.4": - version: 1.0.4 - resolution: "side-channel@npm:1.0.4" + version: 1.0.5 + resolution: "side-channel@npm:1.0.5" dependencies: - call-bind: ^1.0.0 - get-intrinsic: ^1.0.2 - object-inspect: ^1.9.0 - checksum: 351e41b947079c10bd0858364f32bb3a7379514c399edb64ab3dce683933483fc63fb5e4efe0a15a2e8a7e3c436b6a91736ddb8d8c6591b0460a24bb4a1ee245 + call-bind: ^1.0.6 + es-errors: ^1.3.0 + get-intrinsic: ^1.2.4 + object-inspect: ^1.13.1 + checksum: 640446b4e5a9554116ed6f5bec17c6740fa8da2c1a19e4d69c1202191185d4cc24f21ba0dd3ccca140eb6a8ee978d0b5bc5132f09b7962db7f9c4bc7872494ac languageName: node linkType: hard @@ -29269,14 +28521,14 @@ __metadata: linkType: hard "storybook@npm:^7.6.7": - version: 7.6.12 - resolution: "storybook@npm:7.6.12" + version: 7.6.13 + resolution: "storybook@npm:7.6.13" dependencies: - "@storybook/cli": 7.6.12 + "@storybook/cli": 7.6.13 bin: sb: ./index.js storybook: ./index.js - checksum: e497c5074476cdec8da771b94721c683a777622fcae941a4e4ea19091ea40258d22cb92e3a8b9a17c93c9c27f19a71b133300d3bac43e840f41f9119829a42de + checksum: bda87cf64f7028a1a7b167e0839405ed82ca8091a64b08caf116fbad57a7290878e08e8b348d79cc1dfccdcd970137613851119a27511753cfb4ab33d337cd4b languageName: node linkType: hard @@ -30026,12 +29278,12 @@ __metadata: linkType: hard "tabster@npm:^6.0.0": - version: 6.0.0 - resolution: "tabster@npm:6.0.0" + version: 6.0.1 + resolution: "tabster@npm:6.0.1" dependencies: keyborg: 2.5.0 tslib: ^2.3.1 - checksum: e7741645eb52b685fd3061c106e0c71d036f06ea5538bfceeeb9432adc4b363c1f483803737856b8bcc3ef637feee0f35bbacd3b0bc2fedd006c6f12ee15468b + checksum: f7cd7664e65c0aff52cb3d9d74ba0cc2214147ecded6e41bf8a35f9fc1728fa7eb96be8029ee4ab5a8efb3221fcda5b8b322f86f09396123c2fa4618ec4aa70e languageName: node linkType: hard @@ -30391,11 +29643,11 @@ __metadata: linkType: hard "tlds@npm:^1.199.0": - version: 1.249.0 - resolution: "tlds@npm:1.249.0" + version: 1.250.0 + resolution: "tlds@npm:1.250.0" bin: tlds: bin.js - checksum: 66bec7fbe9a87e187691ad10e5e63df4a538adb76b35990efe158c49a6d224ba42a877784149f38a33d38def7e269e22fd494c6b5477358b8e950d6d8532898a + checksum: 559a6757445fa7655fec52d80f96698233a9ab47bd0fabe8ece05ba48b209e7c9b927c05a929f187c38b33aa0c3a02178cf5c1bcd219c81e02c108fe82e94d55 languageName: node linkType: hard @@ -30593,11 +29845,11 @@ __metadata: linkType: hard "ts-api-utils@npm:^1.0.1": - version: 1.2.0 - resolution: "ts-api-utils@npm:1.2.0" + version: 1.2.1 + resolution: "ts-api-utils@npm:1.2.1" peerDependencies: typescript: ">=4.2.0" - checksum: 9f11d4fdb8171e68cca664ae7b9c0438a2f57f66283f2e5aec8eb7ca3cb5126fb35be9cdf8884b35bf75bbf4cf222d7ea5f30e12bc7b984a720e42a4e44524bb + checksum: 17a2a4454d65a6765b9351304cfd516fcda3098f49d72bba90cb7f22b6a09a573b4a1993fd7de7d6b8046c408960c5f21a25e64ccb969d484b32ea3b3e19d6e4 languageName: node linkType: hard @@ -30815,13 +30067,13 @@ __metadata: linkType: hard "typed-array-buffer@npm:^1.0.0": - version: 1.0.0 - resolution: "typed-array-buffer@npm:1.0.0" + version: 1.0.1 + resolution: "typed-array-buffer@npm:1.0.1" dependencies: - call-bind: ^1.0.2 - get-intrinsic: ^1.2.1 - is-typed-array: ^1.1.10 - checksum: 3e0281c79b2a40cd97fe715db803884301993f4e8c18e8d79d75fd18f796e8cd203310fec8c7fdb5e6c09bedf0af4f6ab8b75eb3d3a85da69328f28a80456bd3 + call-bind: ^1.0.6 + es-errors: ^1.3.0 + is-typed-array: ^1.1.13 + checksum: 1d65e46b2b9b7ec2a30df39b9ddf32e55ad08d6119aec33975506a3dba56057796bdc3c64dbeb7fdb61bf340a75e279dfd55b48ce8f3b874f01731e1da6833d2 languageName: node linkType: hard @@ -30986,9 +30238,9 @@ __metadata: linkType: hard "ufo@npm:^1.3.2": - version: 1.3.2 - resolution: "ufo@npm:1.3.2" - checksum: f1180bb715ff4dd46152fd4dec41c731e84d7b9eaf1432548a0210b2f7e0cd29de125ac88e582c6a079d8ae5bc9ab04ef2bdbafe125086480b10c1006b81bfce + version: 1.4.0 + resolution: "ufo@npm:1.4.0" + checksum: 7c7ca3d823ae56a0439bc7038116a26a8c4e95aa9252aef43091f08f104af5557c2d220d990d07891c2771ca7c0589c479e330737ce6d7bbee485bb031046f19 languageName: node linkType: hard @@ -31285,14 +30537,14 @@ __metadata: linkType: hard "unplugin@npm:^1.3.1": - version: 1.6.0 - resolution: "unplugin@npm:1.6.0" + version: 1.7.1 + resolution: "unplugin@npm:1.7.1" dependencies: - acorn: ^8.11.2 + acorn: ^8.11.3 chokidar: ^3.5.3 webpack-sources: ^3.2.3 webpack-virtual-modules: ^0.6.1 - checksum: 1c2817f791f4fe59543f5b0cbedba6c37f66005c43c48260dc5934d13bb90ea347aa0040a9701bfeca072b99dd464e67133f5d5237191874499db73d62ab01fa + checksum: 932349e15bc3eb04e86822bb01453e59715640b60e776e373adc7fa75e48cbe60939cf7de253def1d6c97a7cbb514f753a35f1008eff02b5065c40940d51b343 languageName: node linkType: hard