Run prettier over everything and fix some imports

This commit is contained in:
Ryan Gossiaux
2021-12-13 18:22:16 -08:00
parent 3bf974a654
commit 82b138f0ae
63 changed files with 3317 additions and 3319 deletions

View File

@@ -1,57 +1,57 @@
<script lang="ts" context="module">
export interface PopoverGroupContext {
registerPopover(registerbag: PopoverRegisterBag): void;
unregisterPopover(registerbag: PopoverRegisterBag): void;
isFocusWithinPopoverGroup(): boolean;
closeOthers(buttonId: string): void;
}
export interface PopoverGroupContext {
registerPopover(registerbag: PopoverRegisterBag): void;
unregisterPopover(registerbag: PopoverRegisterBag): void;
isFocusWithinPopoverGroup(): boolean;
closeOthers(buttonId: string): void;
}
</script>
<script lang="ts">
import { PopoverRegisterBag } from "./Popover.svelte";
import { setContext } from "svelte";
let groupRef: HTMLDivElement | undefined;
let popovers: PopoverRegisterBag[] = [];
import type { PopoverRegisterBag } from "./Popover.svelte";
import { setContext } from "svelte";
let groupRef: HTMLDivElement | undefined;
let popovers: PopoverRegisterBag[] = [];
function unregisterPopover(registerBag: PopoverRegisterBag) {
popovers = popovers.filter((bag) => bag != registerBag);
}
function unregisterPopover(registerBag: PopoverRegisterBag) {
popovers = popovers.filter((bag) => bag != registerBag);
}
function registerPopover(registerBag: PopoverRegisterBag) {
popovers = [...popovers, registerBag];
return () => {
unregisterPopover(registerBag);
};
}
function registerPopover(registerBag: PopoverRegisterBag) {
popovers = [...popovers, registerBag];
return () => {
unregisterPopover(registerBag);
};
}
function isFocusWithinPopoverGroup() {
let element = document.activeElement as HTMLElement;
function isFocusWithinPopoverGroup() {
let element = document.activeElement as HTMLElement;
if (groupRef?.contains(element)) return true;
if (groupRef?.contains(element)) return true;
// Check if the focus is in one of the button or panel elements. This is important in case you are rendering inside a Portal.
return popovers.some((bag) => {
return (
document.getElementById(bag.buttonId)?.contains(element) ||
document.getElementById(bag.panelId)?.contains(element)
);
});
}
function closeOthers(buttonId: string) {
for (let popover of popovers) {
if (popover.buttonId !== buttonId) popover.close();
}
}
setContext("PopoverGroup", {
unregisterPopover,
registerPopover,
isFocusWithinPopoverGroup,
closeOthers,
// Check if the focus is in one of the button or panel elements. This is important in case you are rendering inside a Portal.
return popovers.some((bag) => {
return (
document.getElementById(bag.buttonId)?.contains(element) ||
document.getElementById(bag.panelId)?.contains(element)
);
});
}
function closeOthers(buttonId: string) {
for (let popover of popovers) {
if (popover.buttonId !== buttonId) popover.close();
}
}
setContext("PopoverGroup", {
unregisterPopover,
registerPopover,
isFocusWithinPopoverGroup,
closeOthers,
});
</script>
<div {...$$restProps} bind:this={groupRef}>
<slot />
<slot />
</div>