@softwareone/spi-sv5-library 0.0.7 → 0.0.9
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/README.md +1 -0
- package/dist/Header/Header.svelte +136 -0
- package/dist/Header/Header.svelte.d.ts +12 -0
- package/dist/Header/HeaderAccount.svelte +106 -0
- package/dist/Header/HeaderAccount.svelte.d.ts +7 -0
- package/dist/Header/HeaderLoader.svelte +33 -0
- package/dist/Header/HeaderLoader.svelte.d.ts +18 -0
- package/dist/Header/HeaderLogo.svelte +13 -0
- package/dist/Header/HeaderLogo.svelte.d.ts +18 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { Menu, CircleHelp, Bell } from 'lucide-svelte';
|
|
3
|
+
import HeaderLogo from './HeaderLogo.svelte';
|
|
4
|
+
import HeaderAccount from './HeaderAccount.svelte';
|
|
5
|
+
import HeaderLoader from './HeaderLoader.svelte';
|
|
6
|
+
|
|
7
|
+
interface HeaderProps {
|
|
8
|
+
title?: string;
|
|
9
|
+
homeUrl?: string;
|
|
10
|
+
menuButton?: () => void;
|
|
11
|
+
accountName?: string;
|
|
12
|
+
userName?: string;
|
|
13
|
+
profileUrl?: string;
|
|
14
|
+
loader?: boolean;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
let { title, homeUrl, menuButton, accountName, userName, profileUrl, loader }: HeaderProps =
|
|
18
|
+
$props();
|
|
19
|
+
|
|
20
|
+
title = title || 'Default Title';
|
|
21
|
+
homeUrl = homeUrl || '/';
|
|
22
|
+
accountName = accountName || 'Company Name';
|
|
23
|
+
userName = userName || 'User Name';
|
|
24
|
+
profileUrl = profileUrl || '/profile';
|
|
25
|
+
loader = loader || true;
|
|
26
|
+
|
|
27
|
+
if (!menuButton) {
|
|
28
|
+
menuButton = () => {
|
|
29
|
+
console.log('Menu button clicked');
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
</script>
|
|
33
|
+
|
|
34
|
+
<div class="header-container">
|
|
35
|
+
<div class="header">
|
|
36
|
+
<div class="header-left">
|
|
37
|
+
<div class="header-hamburger">
|
|
38
|
+
<button class="header-hamburger" onclick={menuButton}>
|
|
39
|
+
<Menu size="24" />
|
|
40
|
+
</button>
|
|
41
|
+
</div>
|
|
42
|
+
<div class="header-logo">
|
|
43
|
+
<a href={homeUrl}>
|
|
44
|
+
<HeaderLogo />
|
|
45
|
+
</a>
|
|
46
|
+
</div>
|
|
47
|
+
<div class="header-title">
|
|
48
|
+
{title}
|
|
49
|
+
</div>
|
|
50
|
+
</div>
|
|
51
|
+
<div class="header-right">
|
|
52
|
+
<button class="header-btn"><CircleHelp /></button>
|
|
53
|
+
<button class="header-btn"><Bell /></button>
|
|
54
|
+
<div>
|
|
55
|
+
<a class="header-btn" href={profileUrl}>
|
|
56
|
+
<HeaderAccount {accountName} {userName} />
|
|
57
|
+
</a>
|
|
58
|
+
</div>
|
|
59
|
+
</div>
|
|
60
|
+
</div>
|
|
61
|
+
</div>
|
|
62
|
+
|
|
63
|
+
{#if loader}
|
|
64
|
+
<HeaderLoader />
|
|
65
|
+
{/if}
|
|
66
|
+
|
|
67
|
+
<style>
|
|
68
|
+
.header-container {
|
|
69
|
+
display: flex;
|
|
70
|
+
width: auto;
|
|
71
|
+
align-items: flex-start;
|
|
72
|
+
flex: 1 0 0;
|
|
73
|
+
}
|
|
74
|
+
.header {
|
|
75
|
+
display: flex;
|
|
76
|
+
height: 80px;
|
|
77
|
+
padding: 0px 24px;
|
|
78
|
+
justify-content: space-between;
|
|
79
|
+
align-items: center;
|
|
80
|
+
flex: 1 0 0;
|
|
81
|
+
border-bottom: 3px solid #aeb1b9;
|
|
82
|
+
background: #fff;
|
|
83
|
+
}
|
|
84
|
+
.header-left {
|
|
85
|
+
display: flex;
|
|
86
|
+
height: 41px;
|
|
87
|
+
align-items: center;
|
|
88
|
+
gap: 32px;
|
|
89
|
+
}
|
|
90
|
+
.header-right {
|
|
91
|
+
display: flex;
|
|
92
|
+
max-width: 350px;
|
|
93
|
+
padding: 8px 24px;
|
|
94
|
+
align-items: center;
|
|
95
|
+
gap: 16px;
|
|
96
|
+
border-radius: 8px;
|
|
97
|
+
background: #fff;
|
|
98
|
+
color: #6b7180;
|
|
99
|
+
}
|
|
100
|
+
.header-hamburger {
|
|
101
|
+
display: flex;
|
|
102
|
+
justify-content: center;
|
|
103
|
+
align-items: center;
|
|
104
|
+
gap: 10px;
|
|
105
|
+
border: none;
|
|
106
|
+
cursor: pointer;
|
|
107
|
+
background-color: transparent;
|
|
108
|
+
color: #6b7180;
|
|
109
|
+
}
|
|
110
|
+
.header-logo {
|
|
111
|
+
width: 65px;
|
|
112
|
+
height: 22.941px;
|
|
113
|
+
flex-shrink: 0;
|
|
114
|
+
fill: #000;
|
|
115
|
+
}
|
|
116
|
+
.header-title {
|
|
117
|
+
color: #000;
|
|
118
|
+
|
|
119
|
+
/* medium/6 */
|
|
120
|
+
font-family: 'Neue Haas Grotesk Display Pro', sans-serif;
|
|
121
|
+
font-size: 24px;
|
|
122
|
+
font-style: normal;
|
|
123
|
+
font-weight: 500;
|
|
124
|
+
line-height: normal;
|
|
125
|
+
}
|
|
126
|
+
.header-btn {
|
|
127
|
+
text-align: left;
|
|
128
|
+
border: none;
|
|
129
|
+
background: transparent;
|
|
130
|
+
color: #6b7180;
|
|
131
|
+
text-decoration: none;
|
|
132
|
+
}
|
|
133
|
+
.header-btn:hover {
|
|
134
|
+
cursor: pointer;
|
|
135
|
+
}
|
|
136
|
+
</style>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
interface HeaderProps {
|
|
2
|
+
title?: string;
|
|
3
|
+
homeUrl?: string;
|
|
4
|
+
menuButton?: () => void;
|
|
5
|
+
accountName?: string;
|
|
6
|
+
userName?: string;
|
|
7
|
+
profileUrl?: string;
|
|
8
|
+
loader?: boolean;
|
|
9
|
+
}
|
|
10
|
+
declare const Header: import("svelte").Component<HeaderProps, {}, "">;
|
|
11
|
+
type Header = ReturnType<typeof Header>;
|
|
12
|
+
export default Header;
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
interface HeaderAccountProps {
|
|
3
|
+
accountName?: string;
|
|
4
|
+
userName?: string;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
let { accountName, userName }: HeaderAccountProps = $props();
|
|
8
|
+
|
|
9
|
+
accountName = accountName || 'SoftwareOne';
|
|
10
|
+
userName = userName || 'John Doe';
|
|
11
|
+
|
|
12
|
+
let avatarName = $state(
|
|
13
|
+
userName
|
|
14
|
+
.split(' ')
|
|
15
|
+
.map((word) => word[0])
|
|
16
|
+
.join('')
|
|
17
|
+
);
|
|
18
|
+
</script>
|
|
19
|
+
|
|
20
|
+
<div class="account-container">
|
|
21
|
+
<div class="account-avatar">
|
|
22
|
+
<svg class="min-w-[40px] min-h-[40px]" width="40" height="40" viewBox="0 0 40 40"
|
|
23
|
+
><circle cx="20" cy="20" r="20" fill="#25282D"></circle><text
|
|
24
|
+
x="20"
|
|
25
|
+
y="25"
|
|
26
|
+
text-anchor="middle"
|
|
27
|
+
font-size="14"
|
|
28
|
+
font-weight="normal"
|
|
29
|
+
fill="#FFFFFF">{avatarName}</text
|
|
30
|
+
></svg
|
|
31
|
+
>
|
|
32
|
+
</div>
|
|
33
|
+
<div class="account">
|
|
34
|
+
<div class="account-name">{accountName}</div>
|
|
35
|
+
<div class="account-more">
|
|
36
|
+
<div class="account-more-name">Operations | {userName}</div>
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
</div>
|
|
40
|
+
|
|
41
|
+
<style>
|
|
42
|
+
.account-container {
|
|
43
|
+
display: flex;
|
|
44
|
+
max-width: 300px;
|
|
45
|
+
/* padding: 8px 24px; */
|
|
46
|
+
align-items: center;
|
|
47
|
+
gap: 16px;
|
|
48
|
+
border-radius: 8px;
|
|
49
|
+
background: #fff;
|
|
50
|
+
}
|
|
51
|
+
.account-avatar {
|
|
52
|
+
display: flex;
|
|
53
|
+
width: 48px;
|
|
54
|
+
height: 48px;
|
|
55
|
+
/* padding: 15px 0px 15.194px 0px; */
|
|
56
|
+
justify-content: center;
|
|
57
|
+
align-items: center;
|
|
58
|
+
font-family: 'Neue Haas Grotesk Display Pro', sans-serif;
|
|
59
|
+
}
|
|
60
|
+
.account {
|
|
61
|
+
display: flex;
|
|
62
|
+
flex-direction: column;
|
|
63
|
+
align-items: flex-start;
|
|
64
|
+
}
|
|
65
|
+
.account-name {
|
|
66
|
+
display: -webkit-box;
|
|
67
|
+
-webkit-box-orient: vertical;
|
|
68
|
+
-webkit-line-clamp: 1;
|
|
69
|
+
line-clamp: 1;
|
|
70
|
+
width: auto;
|
|
71
|
+
max-width: auto;
|
|
72
|
+
overflow: hidden;
|
|
73
|
+
color: var(--brand-type, #000);
|
|
74
|
+
text-overflow: ellipsis;
|
|
75
|
+
|
|
76
|
+
/* medium/2 */
|
|
77
|
+
font-family: 'Neue Haas Grotesk Display Pro', sans-serif;
|
|
78
|
+
font-size: 14px;
|
|
79
|
+
font-style: normal;
|
|
80
|
+
font-weight: 600;
|
|
81
|
+
line-height: 20px; /* 142.857% */
|
|
82
|
+
}
|
|
83
|
+
.account-more {
|
|
84
|
+
display: flex;
|
|
85
|
+
align-items: center;
|
|
86
|
+
color: #6b7180;
|
|
87
|
+
}
|
|
88
|
+
.account-more-name {
|
|
89
|
+
display: -webkit-box;
|
|
90
|
+
width: auto;
|
|
91
|
+
max-width: auto;
|
|
92
|
+
-webkit-box-orient: vertical;
|
|
93
|
+
-webkit-line-clamp: 1;
|
|
94
|
+
line-clamp: 1;
|
|
95
|
+
overflow: hidden;
|
|
96
|
+
color: var(--gray-4, #6b7180);
|
|
97
|
+
text-overflow: ellipsis;
|
|
98
|
+
|
|
99
|
+
/* regular/1 */
|
|
100
|
+
font-family: 'Neue Haas Grotesk Display Pro', sans-serif;
|
|
101
|
+
font-size: 12px;
|
|
102
|
+
font-style: normal;
|
|
103
|
+
font-weight: 500;
|
|
104
|
+
line-height: normal;
|
|
105
|
+
}
|
|
106
|
+
</style>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { navigating } from '$app/state';
|
|
3
|
+
import { expoOut } from 'svelte/easing';
|
|
4
|
+
import { slide } from 'svelte/transition';
|
|
5
|
+
|
|
6
|
+
</script>
|
|
7
|
+
|
|
8
|
+
{#if navigating.to}
|
|
9
|
+
<!--
|
|
10
|
+
Loading animation for next page since svelte doesn't show any indicator.
|
|
11
|
+
- delay 100ms because most page loads are instant, and we don't want to flash
|
|
12
|
+
- long 12s duration because we don't actually know how long it will take
|
|
13
|
+
- exponential easing so fast loads (>100ms and <1s) still see enough progress,
|
|
14
|
+
while slow networks see it moving for a full 12 seconds
|
|
15
|
+
-->
|
|
16
|
+
<div
|
|
17
|
+
class="navigation-loader"
|
|
18
|
+
in:slide={{ delay: 100, duration: 12000, axis: 'x', easing: expoOut }}
|
|
19
|
+
>
|
|
20
|
+
</div>
|
|
21
|
+
{/if}
|
|
22
|
+
|
|
23
|
+
<style>
|
|
24
|
+
.navigation-loader {
|
|
25
|
+
position: fixed;
|
|
26
|
+
top: 88px;
|
|
27
|
+
right: 0;
|
|
28
|
+
left: 10px;
|
|
29
|
+
height: 3px;
|
|
30
|
+
z-index: 50;
|
|
31
|
+
background: linear-gradient(90deg, #392D9C, #472AFF, #00c9cd);
|
|
32
|
+
}
|
|
33
|
+
</style>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
2
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
3
|
+
$$bindings?: Bindings;
|
|
4
|
+
} & Exports;
|
|
5
|
+
(internal: unknown, props: {
|
|
6
|
+
$$events?: Events;
|
|
7
|
+
$$slots?: Slots;
|
|
8
|
+
}): Exports & {
|
|
9
|
+
$set?: any;
|
|
10
|
+
$on?: any;
|
|
11
|
+
};
|
|
12
|
+
z_$$bindings?: Bindings;
|
|
13
|
+
}
|
|
14
|
+
declare const HeaderLoader: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
|
|
15
|
+
[evt: string]: CustomEvent<any>;
|
|
16
|
+
}, {}, {}, string>;
|
|
17
|
+
type HeaderLoader = InstanceType<typeof HeaderLoader>;
|
|
18
|
+
export default HeaderLoader;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
</script>
|
|
3
|
+
|
|
4
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="65" height="24" viewBox="0 0 65 24" fill="none">
|
|
5
|
+
<path
|
|
6
|
+
d="M22.6371 14.1927C21.6122 19.5775 16.8887 23.4706 11.4225 23.4706C5.12455 23.4706 0 18.3245 0 12C0 5.66061 5.12455 0.529419 11.4225 0.529419C16.9036 0.529419 21.6122 4.42256 22.6371 9.80732V1.17082H29.1282V3.82591C30.9404 1.54372 32.9604 0.529419 35.649 0.529419C40.3725 0.529419 43.2987 3.96015 43.2987 9.509V9.91173C44.1899 4.2734 48.5866 0.529419 54.3499 0.529419C60.6776 0.529419 65 5.31753 65 12.2983V13.7452H49.6115C50.072 16.9075 51.9138 18.7123 54.6766 18.7123C56.6967 18.7123 58.1524 17.7726 58.598 16.1616H64.7029C63.8414 20.547 59.8012 23.4706 54.5875 23.4706C48.7351 23.4706 44.2047 19.7117 43.2987 14.1032V22.8292H36.7036V10.1951C36.7036 7.48039 35.3668 5.97385 32.9753 5.97385C30.7324 5.97385 29.247 7.64447 29.247 10.1951V22.8292H22.6371V14.1927ZM58.5535 9.56866C58.1376 6.74949 56.5334 5.10871 54.2162 5.10871C51.8841 5.10871 50.2502 6.71966 49.7155 9.56866H58.5535Z"
|
|
7
|
+
fill="black"
|
|
8
|
+
/>
|
|
9
|
+
<path
|
|
10
|
+
d="M0.88623 12.3732H1.7069C1.75786 12.6506 1.91609 12.7718 2.23792 12.7718C2.50612 12.7718 2.68312 12.6344 2.68312 12.4244C2.68312 12.2708 2.56512 12.1712 2.32911 12.1308L2.00996 12.0769C1.27779 11.953 0.958643 11.681 0.958643 11.1801C0.958643 10.6495 1.47357 10.2752 2.20306 10.2752C2.93791 10.2752 3.37774 10.5741 3.47697 11.1451H2.66435C2.6268 10.9215 2.4632 10.8003 2.19769 10.8003C1.94827 10.8003 1.76322 10.9458 1.76322 11.1424C1.76322 11.2878 1.87854 11.3686 2.14674 11.4171L2.49271 11.479C3.20073 11.6056 3.51184 11.8884 3.51184 12.4055C3.51184 12.963 3.00495 13.3373 2.24865 13.3373C1.43871 13.3373 0.942551 12.9872 0.88623 12.3732ZM3.64862 11.8157C3.64862 10.9242 4.29228 10.2752 5.18 10.2752C6.06235 10.2752 6.68456 10.9 6.68456 11.7914C6.68456 12.6937 6.04894 13.3373 5.15854 13.3373C4.26814 13.3373 3.64862 12.7125 3.64862 11.8157ZM5.81562 11.7968C5.81562 11.2609 5.56351 10.9215 5.16391 10.9215C4.76966 10.9215 4.51756 11.2663 4.51756 11.8022C4.51756 12.3516 4.7643 12.691 5.16391 12.691C5.5662 12.691 5.81562 12.3462 5.81562 11.7968ZM6.63897 10.364H7.11099V10.084C7.11099 9.43758 7.406 9.1521 8.06844 9.1521C8.17839 9.1521 8.31249 9.16287 8.38758 9.17634V9.7877C8.33931 9.785 8.33931 9.785 8.28031 9.785C8.03893 9.785 7.95848 9.85503 7.95848 10.0705V10.364H8.79524V9.46182H9.64005V10.364H10.9596L11.2653 11.7376C11.3082 11.9342 11.3511 12.1443 11.386 12.3409C11.4289 12.1362 11.4798 11.9315 11.5308 11.7403L11.8875 10.3856H12.5794L12.9415 11.7403C12.9844 11.9073 13.0354 12.1227 13.0783 12.3058C13.1292 12.0284 13.1561 11.8938 13.1909 11.7403L13.4967 10.364H14.3307L13.5154 13.2485H12.7028L12.2174 11.4009L11.7427 13.2485H10.9059L10.273 10.9673H9.64005V12.2816C9.64005 12.5294 9.72855 12.6129 9.98601 12.6129C10.0611 12.6129 10.1013 12.6102 10.1764 12.5967V13.2215C10.0343 13.2485 9.87337 13.2673 9.74464 13.2673C9.06343 13.2673 8.79524 13.0142 8.79524 12.3705V10.9673H7.95848V13.2485H7.11099V10.9673H6.63897V10.364ZM14.1725 12.5051C14.1725 11.9827 14.5104 11.7187 15.3767 11.5706C15.8433 11.4925 16.0123 11.3848 16.0123 11.1639C16.0123 10.9431 15.8487 10.8084 15.5778 10.8084C15.2909 10.8084 15.1273 10.9404 15.1085 11.1909H14.3281C14.3897 10.5984 14.8323 10.2752 15.5859 10.2752C16.4173 10.2752 16.8276 10.6765 16.8276 11.4925V12.6371C16.8276 12.9926 16.8464 13.095 16.9403 13.2485H16.1249C16.0847 13.1515 16.0579 13.0411 16.0472 12.893C15.8246 13.1865 15.5376 13.3212 15.1407 13.3212C14.5399 13.3212 14.1725 13.0115 14.1725 12.5051ZM15.5376 12.0069C15.1353 12.0877 14.9851 12.2008 14.9851 12.4244C14.9851 12.6506 15.13 12.7799 15.3874 12.7799C15.7763 12.7799 16.015 12.5321 16.015 12.1362V11.8669C15.8916 11.9261 15.7897 11.9557 15.5376 12.0069ZM17.2487 10.364H18.0881V10.8057C18.2705 10.4745 18.5092 10.3156 18.831 10.3156C18.8686 10.3156 18.9463 10.3236 19.0107 10.3371V11.0427C18.9571 11.0293 18.9007 11.0239 18.7827 11.0239C18.3697 11.0239 18.1042 11.2905 18.1042 11.7053V13.2485H17.2487V10.364ZM18.9839 11.8157C18.9839 10.8973 19.5846 10.2752 20.4724 10.2752C21.3172 10.2752 21.8857 10.9108 21.8857 11.8615V12.0096H19.8341C19.8904 12.489 20.1371 12.761 20.5153 12.761C20.7995 12.761 20.9846 12.6263 21.0463 12.3813H21.8455C21.7302 12.9549 21.1938 13.3373 20.5045 13.3373C19.6007 13.3373 18.9839 12.7206 18.9839 11.8157ZM21.0436 11.506C20.99 11.067 20.7861 10.8327 20.4563 10.8327C20.1264 10.8327 19.9199 11.0643 19.8501 11.506H21.0436Z"
|
|
11
|
+
fill="white"
|
|
12
|
+
/>
|
|
13
|
+
</svg>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
2
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
3
|
+
$$bindings?: Bindings;
|
|
4
|
+
} & Exports;
|
|
5
|
+
(internal: unknown, props: {
|
|
6
|
+
$$events?: Events;
|
|
7
|
+
$$slots?: Slots;
|
|
8
|
+
}): Exports & {
|
|
9
|
+
$set?: any;
|
|
10
|
+
$on?: any;
|
|
11
|
+
};
|
|
12
|
+
z_$$bindings?: Bindings;
|
|
13
|
+
}
|
|
14
|
+
declare const HeaderLogo: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
|
|
15
|
+
[evt: string]: CustomEvent<any>;
|
|
16
|
+
}, {}, {}, string>;
|
|
17
|
+
type HeaderLogo = InstanceType<typeof HeaderLogo>;
|
|
18
|
+
export default HeaderLogo;
|
package/dist/index.d.ts
CHANGED
|
@@ -4,4 +4,5 @@ import Spinner from "./Spinner/Spinner.svelte";
|
|
|
4
4
|
import Toaster from "./Toast/Toast.svelte";
|
|
5
5
|
import { addToast, type Toast } from "./Toast/toastState.svelte";
|
|
6
6
|
import Toggle from "./Toggle/Toggle.svelte";
|
|
7
|
-
|
|
7
|
+
import Header from "./Header/Header.svelte";
|
|
8
|
+
export { Button, Modal, Spinner, Toaster, addToast, type Toast, Toggle, Header };
|
package/dist/index.js
CHANGED
|
@@ -5,4 +5,5 @@ import Spinner from "./Spinner/Spinner.svelte";
|
|
|
5
5
|
import Toaster from "./Toast/Toast.svelte";
|
|
6
6
|
import { addToast } from "./Toast/toastState.svelte";
|
|
7
7
|
import Toggle from "./Toggle/Toggle.svelte";
|
|
8
|
-
|
|
8
|
+
import Header from "./Header/Header.svelte";
|
|
9
|
+
export { Button, Modal, Spinner, Toaster, addToast, Toggle, Header };
|