@stubber/ui 1.7.3 → 1.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/PrimaryButton.svelte.d.ts +2 -2
- package/dist/components/input/input.svelte +1 -2
- package/dist/composites/account-menu/account-menu.svelte +100 -0
- package/dist/composites/account-menu/account-menu.svelte.d.ts +37 -0
- package/dist/composites/account-menu/index.d.ts +2 -0
- package/dist/composites/account-menu/index.js +2 -0
- package/dist/composites/app-switcher/app-switcher.svelte +40 -0
- package/dist/composites/app-switcher/app-switcher.svelte.d.ts +20 -0
- package/dist/composites/app-switcher/index.d.ts +2 -0
- package/dist/composites/app-switcher/index.js +2 -0
- package/dist/composites/org-switcher/index.d.ts +2 -0
- package/dist/composites/org-switcher/index.js +2 -0
- package/dist/{components/OrgSwitcher.svelte → composites/org-switcher/org-switcher.svelte} +6 -6
- package/dist/index.d.ts +0 -3
- package/dist/index.js +0 -3
- package/package.json +5 -1
- package/dist/components/NavProfile.svelte +0 -70
- package/dist/components/NavProfile.svelte.d.ts +0 -31
- package/dist/components/OrgSwitcherNew.svelte +0 -213
- package/dist/components/OrgSwitcherNew.svelte.d.ts +0 -35
- package/dist/components/ProfileMenu.svelte +0 -58
- package/dist/components/ProfileMenu.svelte.d.ts +0 -37
- package/dist/components/input-new/index.d.ts +0 -23
- package/dist/components/input-new/index.js +0 -4
- package/dist/components/input-new/input.svelte +0 -32
- package/dist/components/input-new/input.svelte.d.ts +0 -14
- package/dist/{components/OrgSwitcher.svelte.d.ts → composites/org-switcher/org-switcher.svelte.d.ts} +2 -2
|
@@ -6,9 +6,9 @@ export default class PrimaryButton extends SvelteComponent<{
|
|
|
6
6
|
color?: string | undefined;
|
|
7
7
|
variant?: string | undefined;
|
|
8
8
|
icon?: string | undefined;
|
|
9
|
-
width?: string | undefined;
|
|
10
9
|
disabled?: boolean | undefined;
|
|
11
10
|
type?: string | undefined;
|
|
11
|
+
width?: string | undefined;
|
|
12
12
|
}, {
|
|
13
13
|
mouseout: MouseEvent;
|
|
14
14
|
mouseover: MouseEvent;
|
|
@@ -29,9 +29,9 @@ declare const __propDef: {
|
|
|
29
29
|
color?: string | undefined;
|
|
30
30
|
variant?: string | undefined;
|
|
31
31
|
icon?: string | undefined;
|
|
32
|
-
width?: string | undefined;
|
|
33
32
|
disabled?: boolean | undefined;
|
|
34
33
|
type?: string | undefined;
|
|
34
|
+
width?: string | undefined;
|
|
35
35
|
};
|
|
36
36
|
events: {
|
|
37
37
|
mouseout: MouseEvent;
|
|
@@ -7,10 +7,9 @@ export let readonly = void 0;
|
|
|
7
7
|
|
|
8
8
|
<input
|
|
9
9
|
class={cn(
|
|
10
|
-
"border-input bg-
|
|
10
|
+
"border-input bg-background selection:bg-primary dark:bg-input/30 selection:text-primary-foreground ring-offset-background placeholder:text-muted-foreground shadow-xs flex h-9 w-full min-w-0 rounded-md border px-3 py-1 text-base outline-none transition-[color,box-shadow] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-[invalid]:border-destructive aria-[invalid]:ring-destructive/50 aria-[invalid]:focus-visible:ring-destructive/50",
|
|
11
11
|
className
|
|
12
12
|
)}
|
|
13
|
-
style="box-shadow: inset 0px 16px 16px -16px rgba(0, 0, 0, 0.1333);"
|
|
14
13
|
bind:value
|
|
15
14
|
{readonly}
|
|
16
15
|
on:blur
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
import { Button } from "../../components/button/index";
|
|
3
|
+
import * as Popover from "../../components/popover/index";
|
|
4
|
+
import { badgeVariants } from "../../components/badge/index";
|
|
5
|
+
import Tooltip from "../../components/Tooltip.svelte";
|
|
6
|
+
import StubberIcon from "../../assets/stubber-icon.svg";
|
|
7
|
+
import DocsIcon from "../../assets/docs-icon.svg";
|
|
8
|
+
import { createEventDispatcher } from "svelte";
|
|
9
|
+
|
|
10
|
+
export let avatarUrl = "";
|
|
11
|
+
export let profileName = "";
|
|
12
|
+
export let stubberhandle = "";
|
|
13
|
+
export let settingsUrl = "";
|
|
14
|
+
|
|
15
|
+
const dispatch = createEventDispatcher();
|
|
16
|
+
|
|
17
|
+
let tooltip = "Copy stubberhandle";
|
|
18
|
+
|
|
19
|
+
function handle_copy_stubberhandle() {
|
|
20
|
+
navigator.clipboard.writeText(stubberhandle);
|
|
21
|
+
dispatch("copied", { stubberhandle });
|
|
22
|
+
tooltip = "Copied!";
|
|
23
|
+
setTimeout(() => {
|
|
24
|
+
tooltip = "Copy stubberhandle";
|
|
25
|
+
}, 2000);
|
|
26
|
+
}
|
|
27
|
+
</script>
|
|
28
|
+
|
|
29
|
+
<Popover.Root>
|
|
30
|
+
<Popover.Trigger asChild let:builder>
|
|
31
|
+
<Button builders={[builder]} variant="ghost" class="h-full aspect-square">
|
|
32
|
+
{#if avatarUrl}
|
|
33
|
+
<img
|
|
34
|
+
class="rounded-full w-7 h-7 object-cover"
|
|
35
|
+
src={avatarUrl}
|
|
36
|
+
alt=""
|
|
37
|
+
width="28"
|
|
38
|
+
height="28"
|
|
39
|
+
/>
|
|
40
|
+
{:else}
|
|
41
|
+
<img
|
|
42
|
+
class="rounded-full"
|
|
43
|
+
src={`https://ui-avatars.com/api/?name=${profileName}&background=3b82f6&color=fff`}
|
|
44
|
+
width="28px"
|
|
45
|
+
alt=""
|
|
46
|
+
/>
|
|
47
|
+
{/if}
|
|
48
|
+
</Button>
|
|
49
|
+
</Popover.Trigger>
|
|
50
|
+
<Popover.Content class="w-auto p-0">
|
|
51
|
+
<div class="w-[230px] border border-surface-100 rounded-lg">
|
|
52
|
+
<div class="p-2 pt-6 bg-surface-50 flex flex-col gap-4 items-center rounded-t-lg">
|
|
53
|
+
<img width="25px" src={StubberIcon} alt="stubber" />
|
|
54
|
+
<h3 class="text-lg text-surface-900">{profileName}</h3>
|
|
55
|
+
<Tooltip>
|
|
56
|
+
<span slot="subject">
|
|
57
|
+
<button
|
|
58
|
+
on:click={handle_copy_stubberhandle}
|
|
59
|
+
class="${badgeVariants({
|
|
60
|
+
variant: 'outline',
|
|
61
|
+
})} focus:ring-transparent border-primary text-primary"
|
|
62
|
+
>
|
|
63
|
+
{stubberhandle}
|
|
64
|
+
</button>
|
|
65
|
+
</span>
|
|
66
|
+
<span slot="tooltip">{tooltip}</span>
|
|
67
|
+
</Tooltip>
|
|
68
|
+
|
|
69
|
+
<Button href={settingsUrl} target="_blank" variant="link" class="w-full">
|
|
70
|
+
Personal Settings
|
|
71
|
+
</Button>
|
|
72
|
+
</div>
|
|
73
|
+
<div class="p-2.5 bg-white border-b border-surface-100">
|
|
74
|
+
<Button
|
|
75
|
+
variant="ghost"
|
|
76
|
+
href="https://docs.stubber.com"
|
|
77
|
+
target="_blank"
|
|
78
|
+
class="w-full flex items-center justify-start h-[40px] space-x-3 text-surface-900 hover:bg-surface-50 rounded-lg px-4"
|
|
79
|
+
>
|
|
80
|
+
<div class="flex justify-center items-center w-5 h-5">
|
|
81
|
+
<img height="16px" src={DocsIcon} alt="stubber docs" />
|
|
82
|
+
</div>
|
|
83
|
+
Documentation
|
|
84
|
+
</Button>
|
|
85
|
+
</div>
|
|
86
|
+
<div class="p-2.5 bg-white rounded-b-lg">
|
|
87
|
+
<Button
|
|
88
|
+
variant="ghost"
|
|
89
|
+
on:click={() => dispatch("logout")}
|
|
90
|
+
class="w-full flex items-center justify-start h-[40px] space-x-3 text-surface-900 hover:bg-surface-50 rounded-lg px-4"
|
|
91
|
+
>
|
|
92
|
+
<div class="flex justify-center items-center w-5 h-5">
|
|
93
|
+
<i class="far fa-arrow-right-from-bracket" />
|
|
94
|
+
</div>
|
|
95
|
+
Log out
|
|
96
|
+
</Button>
|
|
97
|
+
</div>
|
|
98
|
+
</div>
|
|
99
|
+
</Popover.Content>
|
|
100
|
+
</Popover.Root>
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/** @typedef {typeof __propDef.props} AccountMenuProps */
|
|
2
|
+
/** @typedef {typeof __propDef.events} AccountMenuEvents */
|
|
3
|
+
/** @typedef {typeof __propDef.slots} AccountMenuSlots */
|
|
4
|
+
export default class AccountMenu extends SvelteComponent<{
|
|
5
|
+
avatarUrl?: string | undefined;
|
|
6
|
+
profileName?: string | undefined;
|
|
7
|
+
stubberhandle?: string | undefined;
|
|
8
|
+
settingsUrl?: string | undefined;
|
|
9
|
+
}, {
|
|
10
|
+
logout: CustomEvent<any>;
|
|
11
|
+
copied: CustomEvent<any>;
|
|
12
|
+
} & {
|
|
13
|
+
[evt: string]: CustomEvent<any>;
|
|
14
|
+
}, {}> {
|
|
15
|
+
}
|
|
16
|
+
export type AccountMenuProps = typeof __propDef.props;
|
|
17
|
+
export type AccountMenuEvents = typeof __propDef.events;
|
|
18
|
+
export type AccountMenuSlots = typeof __propDef.slots;
|
|
19
|
+
import { SvelteComponent } from "svelte";
|
|
20
|
+
declare const __propDef: {
|
|
21
|
+
props: {
|
|
22
|
+
avatarUrl?: string | undefined;
|
|
23
|
+
profileName?: string | undefined;
|
|
24
|
+
stubberhandle?: string | undefined;
|
|
25
|
+
settingsUrl?: string | undefined;
|
|
26
|
+
};
|
|
27
|
+
events: {
|
|
28
|
+
logout: CustomEvent<any>;
|
|
29
|
+
copied: CustomEvent<any>;
|
|
30
|
+
} & {
|
|
31
|
+
[evt: string]: CustomEvent<any>;
|
|
32
|
+
};
|
|
33
|
+
slots: {};
|
|
34
|
+
exports?: undefined;
|
|
35
|
+
bindings?: undefined;
|
|
36
|
+
};
|
|
37
|
+
export {};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<script>import { Button } from "../../components/button/index";
|
|
2
|
+
import * as Popover from "../../components/popover/index";
|
|
3
|
+
export let consoleOrigin = "";
|
|
4
|
+
export let stubsOrigin = "";
|
|
5
|
+
export let builderOrigin = "";
|
|
6
|
+
let stubsUrl = `${stubsOrigin}/_/inbox/assigned`;
|
|
7
|
+
let consoleUrl = `${consoleOrigin}/_/contacts`;
|
|
8
|
+
let builderUrl = `${builderOrigin}/_/drive/folders`;
|
|
9
|
+
</script>
|
|
10
|
+
|
|
11
|
+
<Popover.Root>
|
|
12
|
+
<Popover.Trigger asChild let:builder>
|
|
13
|
+
<Button builders={[builder]} variant="ghost" class="h-full aspect-square">
|
|
14
|
+
<i class="fa-lg fa-fw fa-solid fa-grid-2 text-surface-700" />
|
|
15
|
+
</Button>
|
|
16
|
+
</Popover.Trigger>
|
|
17
|
+
<Popover.Content class="w-auto p-5 space-y-2">
|
|
18
|
+
<!-- Stubs -->
|
|
19
|
+
<Button href={stubsUrl} class="h-20 w-20" variant="ghost">
|
|
20
|
+
<div class="flex flex-col items-center space-y-2 text-surface-700">
|
|
21
|
+
<i class="fa-regular fa-list-tree fa-2x" />
|
|
22
|
+
<p class="text-label">Stubs</p>
|
|
23
|
+
</div>
|
|
24
|
+
</Button>
|
|
25
|
+
<!-- Console -->
|
|
26
|
+
<Button href={consoleUrl} class="h-20 w-20" variant="ghost">
|
|
27
|
+
<div class="flex flex-col items-center space-y-2 text-surface-700">
|
|
28
|
+
<i class="fa-solid fa-sliders-simple fa-2x" />
|
|
29
|
+
<p class="text-label">Console</p>
|
|
30
|
+
</div>
|
|
31
|
+
</Button>
|
|
32
|
+
<!-- Builder -->
|
|
33
|
+
<Button href={builderUrl} class="h-20 w-20" variant="ghost">
|
|
34
|
+
<div class="flex flex-col items-center space-y-2 text-surface-700">
|
|
35
|
+
<i class="fa-regular fa-diagram-subtask fa-2x" />
|
|
36
|
+
<p class="text-label">Builder</p>
|
|
37
|
+
</div>
|
|
38
|
+
</Button>
|
|
39
|
+
</Popover.Content>
|
|
40
|
+
</Popover.Root>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
consoleOrigin?: string;
|
|
5
|
+
stubsOrigin?: string;
|
|
6
|
+
builderOrigin?: string;
|
|
7
|
+
};
|
|
8
|
+
events: {
|
|
9
|
+
[evt: string]: CustomEvent<any>;
|
|
10
|
+
};
|
|
11
|
+
slots: {};
|
|
12
|
+
exports?: {} | undefined;
|
|
13
|
+
bindings?: string | undefined;
|
|
14
|
+
};
|
|
15
|
+
export type AppSwitcherProps = typeof __propDef.props;
|
|
16
|
+
export type AppSwitcherEvents = typeof __propDef.events;
|
|
17
|
+
export type AppSwitcherSlots = typeof __propDef.slots;
|
|
18
|
+
export default class AppSwitcher extends SvelteComponent<AppSwitcherProps, AppSwitcherEvents, AppSwitcherSlots> {
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
import { createEventDispatcher, tick } from "svelte";
|
|
3
3
|
import { slide } from "svelte/transition";
|
|
4
4
|
import { quintOut } from "svelte/easing";
|
|
5
|
-
import * as Popover from "
|
|
6
|
-
import * as Command from "
|
|
7
|
-
import * as Tooltip from "
|
|
8
|
-
import { Button } from "
|
|
5
|
+
import * as Popover from "../../components/popover/index";
|
|
6
|
+
import * as Command from "../../components/command/index";
|
|
7
|
+
import * as Tooltip from "../../components/tooltip/index";
|
|
8
|
+
import { Button } from "../../components/button/index";
|
|
9
9
|
import { toast } from "svelte-sonner";
|
|
10
10
|
|
|
11
11
|
export let orgs = [];
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
|
|
29
29
|
// Filter orgs based on search
|
|
30
30
|
$: filteredOrgs = orgs.filter((org) =>
|
|
31
|
-
org.label.toLowerCase().includes(searchValue.toLowerCase())
|
|
31
|
+
org.label.toLowerCase().includes(searchValue.toLowerCase()),
|
|
32
32
|
);
|
|
33
33
|
|
|
34
34
|
function selectOrg(orguuid) {
|
|
@@ -140,7 +140,7 @@
|
|
|
140
140
|
<Command.Input placeholder="Search organizations..." bind:value={searchValue} />
|
|
141
141
|
<Command.Empty>No organizations found.</Command.Empty>
|
|
142
142
|
<Command.Group class="max-h-80 overflow-y-auto">
|
|
143
|
-
{#each filteredOrgs as org}
|
|
143
|
+
{#each filteredOrgs as org (org.orguuid)}
|
|
144
144
|
<div class="relative group">
|
|
145
145
|
<Command.Item
|
|
146
146
|
value={org.orguuid}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
export { default as HorizontalTabs } from "./components/HorizontalTabs.svelte";
|
|
2
|
-
export { default as ProfileMenu } from "./components/ProfileMenu.svelte";
|
|
3
2
|
export { default as Breadcrumbs } from "./components/Breadcrumbs.svelte";
|
|
4
|
-
export { default as OrgSwitcher } from "./components/OrgSwitcher.svelte";
|
|
5
|
-
export { default as OrgSwitcherNew } from "./components/OrgSwitcherNew.svelte";
|
|
6
3
|
export { default as Checkbox } from "./components/fields/Checkbox.svelte";
|
|
7
4
|
export { default as Radio } from "./components/fields/Radio.svelte";
|
|
8
5
|
export { default as SideNavItem } from "./components/SideNav/SideNavItem.svelte";
|
package/dist/index.js
CHANGED
|
@@ -4,10 +4,7 @@
|
|
|
4
4
|
// export { default as IconButton } from "./components/IconButton.svelte";
|
|
5
5
|
// export { default as Chip } from "./components/Chip.svelte";
|
|
6
6
|
export { default as HorizontalTabs } from "./components/HorizontalTabs.svelte";
|
|
7
|
-
export { default as ProfileMenu } from "./components/ProfileMenu.svelte";
|
|
8
7
|
export { default as Breadcrumbs } from "./components/Breadcrumbs.svelte";
|
|
9
|
-
export { default as OrgSwitcher } from "./components/OrgSwitcher.svelte";
|
|
10
|
-
export { default as OrgSwitcherNew } from "./components/OrgSwitcherNew.svelte";
|
|
11
8
|
export { default as Checkbox } from "./components/fields/Checkbox.svelte";
|
|
12
9
|
export { default as Radio } from "./components/fields/Radio.svelte";
|
|
13
10
|
export { default as SideNavItem } from "./components/SideNav/SideNavItem.svelte";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stubber/ui",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.1",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"dev": "vite dev",
|
|
6
6
|
"build": "vite build && pnpm run package && node ./fix_dts_imports.js",
|
|
@@ -23,6 +23,10 @@
|
|
|
23
23
|
"./*": {
|
|
24
24
|
"types": "./dist/components/*/index.d.ts",
|
|
25
25
|
"svelte": "./dist/components/*/index.js"
|
|
26
|
+
},
|
|
27
|
+
"./composites/*": {
|
|
28
|
+
"types": "./dist/composites/*/index.d.ts",
|
|
29
|
+
"svelte": "./dist/composites/*/index.js"
|
|
26
30
|
}
|
|
27
31
|
},
|
|
28
32
|
"files": [
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
import { createEventDispatcher } from "svelte";
|
|
3
|
-
import { clickOutside } from "../utils/actions.js";
|
|
4
|
-
|
|
5
|
-
export let avatarLink = "";
|
|
6
|
-
export let manageLink = "";
|
|
7
|
-
|
|
8
|
-
const dispatch = createEventDispatcher();
|
|
9
|
-
|
|
10
|
-
//states
|
|
11
|
-
let isMenu = false;
|
|
12
|
-
|
|
13
|
-
const toggleMenu = () => {
|
|
14
|
-
isMenu = !isMenu;
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
function closeMenu() {
|
|
18
|
-
if (isMenu) {
|
|
19
|
-
isMenu = false;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
</script>
|
|
23
|
-
|
|
24
|
-
<button
|
|
25
|
-
use:clickOutside={closeMenu}
|
|
26
|
-
on:click={toggleMenu}
|
|
27
|
-
id="user-profile-btn"
|
|
28
|
-
class="h-full aspect-square flex items-center justify-center hover:bg-surface-100 focus:bg-surface-50"
|
|
29
|
-
>
|
|
30
|
-
<div
|
|
31
|
-
class="rounded-full {isMenu ? 'outline outline-2 outline-offset-1 outline-primary-100' : ''}"
|
|
32
|
-
>
|
|
33
|
-
{#if avatarLink}
|
|
34
|
-
<img class="rounded-full" src={avatarLink} width="28px" alt="" />
|
|
35
|
-
{:else}
|
|
36
|
-
<div class="h-9 aspect-square bg-surface-100 rounded-full text-center" />
|
|
37
|
-
{/if}
|
|
38
|
-
</div>
|
|
39
|
-
</button>
|
|
40
|
-
|
|
41
|
-
<!-- Menu -->
|
|
42
|
-
{#if isMenu}
|
|
43
|
-
<div
|
|
44
|
-
class="absolute z-20 divide-y top-[49px] right-0 w-60 border border-surface-200 bg-surface-0 shadow-md rounded-b-md"
|
|
45
|
-
on:click={(e) => {
|
|
46
|
-
e.stopImmediatePropagation();
|
|
47
|
-
}}
|
|
48
|
-
on:keypress={(e) => {
|
|
49
|
-
e.stopImmediatePropagation();
|
|
50
|
-
}}
|
|
51
|
-
>
|
|
52
|
-
<div>
|
|
53
|
-
<a
|
|
54
|
-
href={manageLink}
|
|
55
|
-
class="w-full px-4 py-3 space-x-2 flex flex-row items-center text-left text-surface-700 hover:text-surface-900 focus:text-surface-700 hover:bg-surface-100 focus:outline-none focus:bg-surface-100"
|
|
56
|
-
>
|
|
57
|
-
<i class="fa-regular fa-lg fa-fw fa-cog" />
|
|
58
|
-
<p class="text-button">Settings</p>
|
|
59
|
-
</a>
|
|
60
|
-
</div>
|
|
61
|
-
<button
|
|
62
|
-
on:click={dispatch("logout")}
|
|
63
|
-
id="logout-btn"
|
|
64
|
-
class="w-full px-4 py-3 space-x-2 flex flex-row items-center text-left text-surface-700 hover:text-surface-900 focus:text-surface-700 hover:bg-surface-100 focus:outline-none focus:bg-surface-100"
|
|
65
|
-
>
|
|
66
|
-
<i class="fa-regular fa-lg fa-fw fa-right-from-bracket" />
|
|
67
|
-
<p class="text-button">Logout</p>
|
|
68
|
-
</button>
|
|
69
|
-
</div>
|
|
70
|
-
{/if}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/** @typedef {typeof __propDef.props} NavProfileProps */
|
|
2
|
-
/** @typedef {typeof __propDef.events} NavProfileEvents */
|
|
3
|
-
/** @typedef {typeof __propDef.slots} NavProfileSlots */
|
|
4
|
-
export default class NavProfile extends SvelteComponent<{
|
|
5
|
-
manageLink?: string | undefined;
|
|
6
|
-
avatarLink?: string | undefined;
|
|
7
|
-
}, {
|
|
8
|
-
logout: CustomEvent<any>;
|
|
9
|
-
} & {
|
|
10
|
-
[evt: string]: CustomEvent<any>;
|
|
11
|
-
}, {}> {
|
|
12
|
-
}
|
|
13
|
-
export type NavProfileProps = typeof __propDef.props;
|
|
14
|
-
export type NavProfileEvents = typeof __propDef.events;
|
|
15
|
-
export type NavProfileSlots = typeof __propDef.slots;
|
|
16
|
-
import { SvelteComponent } from "svelte";
|
|
17
|
-
declare const __propDef: {
|
|
18
|
-
props: {
|
|
19
|
-
manageLink?: string | undefined;
|
|
20
|
-
avatarLink?: string | undefined;
|
|
21
|
-
};
|
|
22
|
-
events: {
|
|
23
|
-
logout: CustomEvent<any>;
|
|
24
|
-
} & {
|
|
25
|
-
[evt: string]: CustomEvent<any>;
|
|
26
|
-
};
|
|
27
|
-
slots: {};
|
|
28
|
-
exports?: undefined;
|
|
29
|
-
bindings?: undefined;
|
|
30
|
-
};
|
|
31
|
-
export {};
|
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
import { createEventDispatcher, tick } from "svelte";
|
|
3
|
-
import * as Popover from "./popover/index";
|
|
4
|
-
import * as Command from "./command/index";
|
|
5
|
-
import * as Tooltip from "./tooltip/index";
|
|
6
|
-
import { Button } from "./button/index";
|
|
7
|
-
import { toast } from "svelte-sonner";
|
|
8
|
-
|
|
9
|
-
export let orgs = [];
|
|
10
|
-
export let selectedorguuid = undefined;
|
|
11
|
-
export let createOrgLink = "";
|
|
12
|
-
export let loading = false;
|
|
13
|
-
|
|
14
|
-
$: selectedOrg = orgs.find((org) => org.orguuid === selectedorguuid);
|
|
15
|
-
|
|
16
|
-
const dispatch = createEventDispatcher();
|
|
17
|
-
const alertColorMap = {
|
|
18
|
-
error: "danger-500",
|
|
19
|
-
warning: "warning-500",
|
|
20
|
-
success: "success-500",
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
// Combobox state
|
|
24
|
-
let open = false;
|
|
25
|
-
let searchValue = "";
|
|
26
|
-
|
|
27
|
-
// Filter orgs based on search
|
|
28
|
-
$: filteredOrgs = orgs.filter((org) =>
|
|
29
|
-
org.label.toLowerCase().includes(searchValue.toLowerCase())
|
|
30
|
-
);
|
|
31
|
-
|
|
32
|
-
function selectOrg(orguuid) {
|
|
33
|
-
dispatch("selectOrg", orguuid);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
function closeAndFocusTrigger(triggerId) {
|
|
37
|
-
open = false;
|
|
38
|
-
searchValue = "";
|
|
39
|
-
tick().then(() => {
|
|
40
|
-
document.getElementById(triggerId)?.focus();
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
function copyToClipboard(uuid, event) {
|
|
45
|
-
if (event) {
|
|
46
|
-
event.stopPropagation();
|
|
47
|
-
event.preventDefault();
|
|
48
|
-
}
|
|
49
|
-
navigator.clipboard.writeText(uuid);
|
|
50
|
-
toast.success("UUID copied to clipboard!");
|
|
51
|
-
}
|
|
52
|
-
</script>
|
|
53
|
-
|
|
54
|
-
<Popover.Root bind:open let:ids>
|
|
55
|
-
<Popover.Trigger asChild let:builder>
|
|
56
|
-
<Button
|
|
57
|
-
builders={[builder]}
|
|
58
|
-
id={ids.trigger}
|
|
59
|
-
variant="outline"
|
|
60
|
-
role="combobox"
|
|
61
|
-
aria-expanded={open}
|
|
62
|
-
class="w-full sm:w-[280px] pl-3 pr-3 py-2 h-auto border-surface-100 transition-colors group justify-start"
|
|
63
|
-
>
|
|
64
|
-
<div class="flex items-center w-full">
|
|
65
|
-
<div class="flex items-center justify-center mr-3">
|
|
66
|
-
{#if selectedOrg?.filesrc && !loading}
|
|
67
|
-
<img
|
|
68
|
-
class="h-[25px] w-[25px] object-cover rounded-full"
|
|
69
|
-
src={selectedOrg.filesrc}
|
|
70
|
-
alt={selectedOrg.label}
|
|
71
|
-
/>
|
|
72
|
-
{:else if selectedOrg?.placeholderColor}
|
|
73
|
-
<div
|
|
74
|
-
class="h-[25px] w-[25px] rounded-full"
|
|
75
|
-
style="background-color: {selectedOrg.placeholderColor}"
|
|
76
|
-
/>
|
|
77
|
-
{:else}
|
|
78
|
-
<div class="h-[25px] w-[25px] rounded-full bg-surface-100" />
|
|
79
|
-
{/if}
|
|
80
|
-
</div>
|
|
81
|
-
|
|
82
|
-
{#if loading}
|
|
83
|
-
<span class="h-[25px] w-40 bg-surface-100 rounded-md" />
|
|
84
|
-
{:else}
|
|
85
|
-
<div class="w-full text-left truncate">
|
|
86
|
-
<p class="text-label text-surface-900 truncate">
|
|
87
|
-
{selectedOrg?.label ?? "No Org"}
|
|
88
|
-
</p>
|
|
89
|
-
{#if selectedOrg?.alert}
|
|
90
|
-
<div class="flex items-center space-x-1">
|
|
91
|
-
<span
|
|
92
|
-
class="h-[6px] w-[6px] bg-{alertColorMap[selectedOrg.alert?.type]} rounded-full"
|
|
93
|
-
/>
|
|
94
|
-
<p class="text-small italic text-{alertColorMap[selectedOrg.alert?.type]}">
|
|
95
|
-
{selectedOrg.alert?.message}
|
|
96
|
-
</p>
|
|
97
|
-
</div>
|
|
98
|
-
{/if}
|
|
99
|
-
</div>
|
|
100
|
-
{/if}
|
|
101
|
-
|
|
102
|
-
{#if selectedOrg}
|
|
103
|
-
<Tooltip.Root openDelay={0} disableHoverableContent={true}>
|
|
104
|
-
<Tooltip.Trigger>
|
|
105
|
-
<div
|
|
106
|
-
class="opacity-100 sm:opacity-0 sm:group-hover:opacity-100 transition-opacity ml-2 mr-2"
|
|
107
|
-
>
|
|
108
|
-
<i
|
|
109
|
-
role="button"
|
|
110
|
-
tabindex="0"
|
|
111
|
-
on:click={(e) => {
|
|
112
|
-
e.stopPropagation();
|
|
113
|
-
copyToClipboard(selectedOrg.orguuid, e);
|
|
114
|
-
}}
|
|
115
|
-
on:keydown={(e) => {
|
|
116
|
-
if (e.key === "Enter" || e.key === " ") {
|
|
117
|
-
e.stopPropagation();
|
|
118
|
-
copyToClipboard(selectedOrg.orguuid, e);
|
|
119
|
-
}
|
|
120
|
-
}}
|
|
121
|
-
class="far fa-copy text-surface-400 cursor-pointer"
|
|
122
|
-
/>
|
|
123
|
-
</div>
|
|
124
|
-
</Tooltip.Trigger>
|
|
125
|
-
<Tooltip.Content>Copy UUID</Tooltip.Content>
|
|
126
|
-
</Tooltip.Root>
|
|
127
|
-
{/if}
|
|
128
|
-
</div>
|
|
129
|
-
</Button>
|
|
130
|
-
</Popover.Trigger>
|
|
131
|
-
|
|
132
|
-
<Popover.Content class="w-full sm:w-[280px] p-0">
|
|
133
|
-
<Command.Root shouldFilter={false}>
|
|
134
|
-
<Command.Input placeholder="Search organizations..." bind:value={searchValue} />
|
|
135
|
-
<Command.Empty>No organizations found.</Command.Empty>
|
|
136
|
-
<Command.Group>
|
|
137
|
-
{#each filteredOrgs as org}
|
|
138
|
-
<div class="relative group">
|
|
139
|
-
<Command.Item
|
|
140
|
-
value={org.orguuid}
|
|
141
|
-
onSelect={() => {
|
|
142
|
-
selectOrg(org.orguuid);
|
|
143
|
-
closeAndFocusTrigger(ids.trigger);
|
|
144
|
-
}}
|
|
145
|
-
class="pr-12"
|
|
146
|
-
>
|
|
147
|
-
<div class="flex items-center w-full">
|
|
148
|
-
<div class="flex items-center justify-center mr-3">
|
|
149
|
-
{#if org.filesrc}
|
|
150
|
-
<img
|
|
151
|
-
class="h-[25px] w-[25px] object-cover rounded-full"
|
|
152
|
-
src={org.filesrc}
|
|
153
|
-
alt={org.label}
|
|
154
|
-
/>
|
|
155
|
-
{:else if org.placeholderColor}
|
|
156
|
-
<div
|
|
157
|
-
class="h-[25px] w-[25px] rounded-full"
|
|
158
|
-
style="background-color: {org.placeholderColor}"
|
|
159
|
-
/>
|
|
160
|
-
{:else}
|
|
161
|
-
<div class="h-[25px] w-[25px] rounded-full bg-surface-100" />
|
|
162
|
-
{/if}
|
|
163
|
-
</div>
|
|
164
|
-
|
|
165
|
-
<div class="flex-1 text-left">
|
|
166
|
-
<p class="text-label text-surface-900">
|
|
167
|
-
{org.label}
|
|
168
|
-
</p>
|
|
169
|
-
{#if org.alert}
|
|
170
|
-
<div class="flex items-center space-x-1">
|
|
171
|
-
<span
|
|
172
|
-
class="h-[6px] w-[6px] bg-{alertColorMap[org.alert.type]} rounded-full"
|
|
173
|
-
/>
|
|
174
|
-
<p class="text-small italic text-{alertColorMap[org.alert.type]}">
|
|
175
|
-
{org.alert?.message}
|
|
176
|
-
</p>
|
|
177
|
-
</div>
|
|
178
|
-
{/if}
|
|
179
|
-
</div>
|
|
180
|
-
</div>
|
|
181
|
-
</Command.Item>
|
|
182
|
-
|
|
183
|
-
<!-- Copy button positioned absolutely -->
|
|
184
|
-
<div class="absolute right-2 top-1/2 -translate-y-1/2">
|
|
185
|
-
<Button
|
|
186
|
-
variant="ghost"
|
|
187
|
-
size="icon"
|
|
188
|
-
class="h-8 w-8 opacity-100 sm:opacity-0 sm:group-hover:opacity-100 transition-opacity"
|
|
189
|
-
on:click={(e) => {
|
|
190
|
-
e.stopPropagation();
|
|
191
|
-
copyToClipboard(org.orguuid, e);
|
|
192
|
-
}}
|
|
193
|
-
>
|
|
194
|
-
<i class="far fa-copy text-surface-400" />
|
|
195
|
-
</Button>
|
|
196
|
-
</div>
|
|
197
|
-
</div>
|
|
198
|
-
{/each}
|
|
199
|
-
</Command.Group>
|
|
200
|
-
|
|
201
|
-
{#if createOrgLink}
|
|
202
|
-
<Command.Separator />
|
|
203
|
-
<a
|
|
204
|
-
href={createOrgLink}
|
|
205
|
-
class="flex items-center px-8 py-2 text-sm text-primary-500 hover:bg-accent rounded-sm"
|
|
206
|
-
>
|
|
207
|
-
<i class="far fa-plus mr-2" />
|
|
208
|
-
<span>Create org</span>
|
|
209
|
-
</a>
|
|
210
|
-
{/if}
|
|
211
|
-
</Command.Root>
|
|
212
|
-
</Popover.Content>
|
|
213
|
-
</Popover.Root>
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/** @typedef {typeof __propDef.props} OrgSwitcherNewProps */
|
|
2
|
-
/** @typedef {typeof __propDef.events} OrgSwitcherNewEvents */
|
|
3
|
-
/** @typedef {typeof __propDef.slots} OrgSwitcherNewSlots */
|
|
4
|
-
export default class OrgSwitcherNew extends SvelteComponent<{
|
|
5
|
-
orgs?: any[] | undefined;
|
|
6
|
-
selectedorguuid?: any;
|
|
7
|
-
createOrgLink?: string | undefined;
|
|
8
|
-
loading?: boolean | undefined;
|
|
9
|
-
}, {
|
|
10
|
-
selectOrg: CustomEvent<any>;
|
|
11
|
-
} & {
|
|
12
|
-
[evt: string]: CustomEvent<any>;
|
|
13
|
-
}, {}> {
|
|
14
|
-
}
|
|
15
|
-
export type OrgSwitcherNewProps = typeof __propDef.props;
|
|
16
|
-
export type OrgSwitcherNewEvents = typeof __propDef.events;
|
|
17
|
-
export type OrgSwitcherNewSlots = typeof __propDef.slots;
|
|
18
|
-
import { SvelteComponent } from "svelte";
|
|
19
|
-
declare const __propDef: {
|
|
20
|
-
props: {
|
|
21
|
-
orgs?: any[] | undefined;
|
|
22
|
-
selectedorguuid?: any;
|
|
23
|
-
createOrgLink?: string | undefined;
|
|
24
|
-
loading?: boolean | undefined;
|
|
25
|
-
};
|
|
26
|
-
events: {
|
|
27
|
-
selectOrg: CustomEvent<any>;
|
|
28
|
-
} & {
|
|
29
|
-
[evt: string]: CustomEvent<any>;
|
|
30
|
-
};
|
|
31
|
-
slots: {};
|
|
32
|
-
exports?: undefined;
|
|
33
|
-
bindings?: undefined;
|
|
34
|
-
};
|
|
35
|
-
export {};
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
import StubberIcon from "../assets/stubber-icon.svg";
|
|
3
|
-
import DocsIcon from "../assets/docs-icon.svg";
|
|
4
|
-
import PrimaryButton from "./PrimaryButton.svelte";
|
|
5
|
-
import Chip from "./Chip.svelte";
|
|
6
|
-
import { createEventDispatcher } from "svelte";
|
|
7
|
-
import Tooltip from "./Tooltip.svelte";
|
|
8
|
-
|
|
9
|
-
export let manageLink = "";
|
|
10
|
-
export let documentationLink = "";
|
|
11
|
-
export let profileName = "";
|
|
12
|
-
export let stubberhandle = "";
|
|
13
|
-
|
|
14
|
-
const dispatch = createEventDispatcher();
|
|
15
|
-
</script>
|
|
16
|
-
|
|
17
|
-
<div class="w-[230px] [&>*]:w-full border border-surface-100 rounded-lg">
|
|
18
|
-
<div class="p-2.5 bg-surface-50 flex flex-col items-center rounded-t-lg">
|
|
19
|
-
<img class="mt-5 mb-[23px]" width="25px" src={StubberIcon} alt="stubber" />
|
|
20
|
-
<h3 class="mb-2 text-heading-6 font-normal text-center text-surface-900">{profileName}</h3>
|
|
21
|
-
<Tooltip>
|
|
22
|
-
<span slot="subject">
|
|
23
|
-
<Chip
|
|
24
|
-
on:click={() => dispatch("copystubberhandle")}
|
|
25
|
-
label={stubberhandle}
|
|
26
|
-
color="success"
|
|
27
|
-
/>
|
|
28
|
-
</span>
|
|
29
|
-
<span slot="tooltip"> Copy stubberhandle </span>
|
|
30
|
-
</Tooltip>
|
|
31
|
-
<a class="mt-[17px] w-full" href={manageLink}>
|
|
32
|
-
<PrimaryButton label="Personal Settings" variant="secondary-transparent" width="full" />
|
|
33
|
-
</a>
|
|
34
|
-
</div>
|
|
35
|
-
<a href={documentationLink}>
|
|
36
|
-
<div class="p-2.5 bg-white border-b border-surface-100">
|
|
37
|
-
<button
|
|
38
|
-
class="w-full flex items-center h-[40px] space-x-4 text-surface-900 hover:bg-surface-50 rounded-lg"
|
|
39
|
-
>
|
|
40
|
-
<button class="h-10 flex justify-center items-center aspect-square">
|
|
41
|
-
<img height="16px" src={DocsIcon} alt="stubber docs" />
|
|
42
|
-
</button>
|
|
43
|
-
<span class="text-button font-normal">Documentation</span>
|
|
44
|
-
</button>
|
|
45
|
-
</div>
|
|
46
|
-
</a>
|
|
47
|
-
<div class="p-2.5 bg-white rounded-b-lg">
|
|
48
|
-
<button
|
|
49
|
-
on:click={() => dispatch("logout")}
|
|
50
|
-
class="w-full flex items-center h-[40px] space-x-4 text-surface-900 hover:bg-surface-50 rounded-lg"
|
|
51
|
-
>
|
|
52
|
-
<button class="h-10 aspect-square">
|
|
53
|
-
<i class="far fa-arrow-right-from-bracket" />
|
|
54
|
-
</button>
|
|
55
|
-
<span class="text-button font-normal">Log out</span>
|
|
56
|
-
</button>
|
|
57
|
-
</div>
|
|
58
|
-
</div>
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/** @typedef {typeof __propDef.props} ProfileMenuProps */
|
|
2
|
-
/** @typedef {typeof __propDef.events} ProfileMenuEvents */
|
|
3
|
-
/** @typedef {typeof __propDef.slots} ProfileMenuSlots */
|
|
4
|
-
export default class ProfileMenu extends SvelteComponent<{
|
|
5
|
-
manageLink?: string | undefined;
|
|
6
|
-
documentationLink?: string | undefined;
|
|
7
|
-
profileName?: string | undefined;
|
|
8
|
-
stubberhandle?: string | undefined;
|
|
9
|
-
}, {
|
|
10
|
-
copystubberhandle: CustomEvent<any>;
|
|
11
|
-
logout: CustomEvent<any>;
|
|
12
|
-
} & {
|
|
13
|
-
[evt: string]: CustomEvent<any>;
|
|
14
|
-
}, {}> {
|
|
15
|
-
}
|
|
16
|
-
export type ProfileMenuProps = typeof __propDef.props;
|
|
17
|
-
export type ProfileMenuEvents = typeof __propDef.events;
|
|
18
|
-
export type ProfileMenuSlots = typeof __propDef.slots;
|
|
19
|
-
import { SvelteComponent } from "svelte";
|
|
20
|
-
declare const __propDef: {
|
|
21
|
-
props: {
|
|
22
|
-
manageLink?: string | undefined;
|
|
23
|
-
documentationLink?: string | undefined;
|
|
24
|
-
profileName?: string | undefined;
|
|
25
|
-
stubberhandle?: string | undefined;
|
|
26
|
-
};
|
|
27
|
-
events: {
|
|
28
|
-
copystubberhandle: CustomEvent<any>;
|
|
29
|
-
logout: CustomEvent<any>;
|
|
30
|
-
} & {
|
|
31
|
-
[evt: string]: CustomEvent<any>;
|
|
32
|
-
};
|
|
33
|
-
slots: {};
|
|
34
|
-
exports?: undefined;
|
|
35
|
-
bindings?: undefined;
|
|
36
|
-
};
|
|
37
|
-
export {};
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import Root from "./input.svelte";
|
|
2
|
-
export type FormInputEvent<T extends Event = Event> = T & {
|
|
3
|
-
currentTarget: EventTarget & HTMLInputElement;
|
|
4
|
-
};
|
|
5
|
-
export type InputEvents = {
|
|
6
|
-
blur: FormInputEvent<FocusEvent>;
|
|
7
|
-
change: FormInputEvent<Event>;
|
|
8
|
-
click: FormInputEvent<MouseEvent>;
|
|
9
|
-
focus: FormInputEvent<FocusEvent>;
|
|
10
|
-
focusin: FormInputEvent<FocusEvent>;
|
|
11
|
-
focusout: FormInputEvent<FocusEvent>;
|
|
12
|
-
keydown: FormInputEvent<KeyboardEvent>;
|
|
13
|
-
keypress: FormInputEvent<KeyboardEvent>;
|
|
14
|
-
keyup: FormInputEvent<KeyboardEvent>;
|
|
15
|
-
mouseover: FormInputEvent<MouseEvent>;
|
|
16
|
-
mouseenter: FormInputEvent<MouseEvent>;
|
|
17
|
-
mouseleave: FormInputEvent<MouseEvent>;
|
|
18
|
-
mousemove: FormInputEvent<MouseEvent>;
|
|
19
|
-
paste: FormInputEvent<ClipboardEvent>;
|
|
20
|
-
input: FormInputEvent<InputEvent>;
|
|
21
|
-
wheel: FormInputEvent<WheelEvent>;
|
|
22
|
-
};
|
|
23
|
-
export { Root, Root as Input, };
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
<script>import { cn } from "../../utils/shadcn-utils.js";
|
|
2
|
-
let className = void 0;
|
|
3
|
-
export let value = void 0;
|
|
4
|
-
export { className as class };
|
|
5
|
-
export let readonly = void 0;
|
|
6
|
-
</script>
|
|
7
|
-
|
|
8
|
-
<input
|
|
9
|
-
class={cn(
|
|
10
|
-
"border-input bg-background selection:bg-primary dark:bg-input/30 selection:text-primary-foreground ring-offset-background placeholder:text-muted-foreground shadow-xs flex h-9 w-full min-w-0 rounded-md border px-3 py-1 text-base outline-none transition-[color,box-shadow] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-[invalid]:border-destructive aria-[invalid]:ring-destructive/50 aria-[invalid]:focus-visible:ring-destructive/50",
|
|
11
|
-
className
|
|
12
|
-
)}
|
|
13
|
-
bind:value
|
|
14
|
-
{readonly}
|
|
15
|
-
on:blur
|
|
16
|
-
on:change
|
|
17
|
-
on:click
|
|
18
|
-
on:focus
|
|
19
|
-
on:focusin
|
|
20
|
-
on:focusout
|
|
21
|
-
on:keydown
|
|
22
|
-
on:keypress
|
|
23
|
-
on:keyup
|
|
24
|
-
on:mouseover
|
|
25
|
-
on:mouseenter
|
|
26
|
-
on:mouseleave
|
|
27
|
-
on:mousemove
|
|
28
|
-
on:paste
|
|
29
|
-
on:input
|
|
30
|
-
on:wheel|passive
|
|
31
|
-
{...$$restProps}
|
|
32
|
-
/>
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
|
2
|
-
import type { HTMLInputAttributes } from "svelte/elements";
|
|
3
|
-
import type { InputEvents } from "./index.js";
|
|
4
|
-
declare const __propDef: {
|
|
5
|
-
props: HTMLInputAttributes;
|
|
6
|
-
slots: {};
|
|
7
|
-
events: InputEvents;
|
|
8
|
-
};
|
|
9
|
-
export type InputProps = typeof __propDef.props;
|
|
10
|
-
type InputEvents_ = typeof __propDef.events;
|
|
11
|
-
export { InputEvents_ as InputEvents };
|
|
12
|
-
export type InputSlots = typeof __propDef.slots;
|
|
13
|
-
export default class Input extends SvelteComponent<InputProps, InputEvents_, InputSlots> {
|
|
14
|
-
}
|
package/dist/{components/OrgSwitcher.svelte.d.ts → composites/org-switcher/org-switcher.svelte.d.ts}
RENAMED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
/** @typedef {typeof __propDef.events} OrgSwitcherEvents */
|
|
3
3
|
/** @typedef {typeof __propDef.slots} OrgSwitcherSlots */
|
|
4
4
|
export default class OrgSwitcher extends SvelteComponent<{
|
|
5
|
+
loading?: boolean | undefined;
|
|
5
6
|
orgs?: any[] | undefined;
|
|
6
7
|
selectedorguuid?: any;
|
|
7
8
|
createOrgLink?: string | undefined;
|
|
8
|
-
loading?: boolean | undefined;
|
|
9
9
|
}, {
|
|
10
10
|
selectOrg: CustomEvent<any>;
|
|
11
11
|
} & {
|
|
@@ -18,10 +18,10 @@ export type OrgSwitcherSlots = typeof __propDef.slots;
|
|
|
18
18
|
import { SvelteComponent } from "svelte";
|
|
19
19
|
declare const __propDef: {
|
|
20
20
|
props: {
|
|
21
|
+
loading?: boolean | undefined;
|
|
21
22
|
orgs?: any[] | undefined;
|
|
22
23
|
selectedorguuid?: any;
|
|
23
24
|
createOrgLink?: string | undefined;
|
|
24
|
-
loading?: boolean | undefined;
|
|
25
25
|
};
|
|
26
26
|
events: {
|
|
27
27
|
selectOrg: CustomEvent<any>;
|