@likable-hair/svelte 0.0.31 → 0.0.32
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/buttons/Button.svelte +18 -10
- package/buttons/Button.svelte.d.ts +1 -0
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/loaders/CircularLoader.svelte +68 -0
- package/loaders/CircularLoader.svelte.d.ts +19 -0
- package/package.json +2 -1
package/buttons/Button.svelte
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
<script >export let type = 'default', icon = undefined, iconSize = 15, clazz = '', maxWidth = undefined, maxHeight = undefined, minWidth = undefined, minHeight = undefined, width = undefined, height = undefined, textAlign = "center", cursor = "pointer", padding = "5px", fontSize = undefined, color = undefined, backgroundColor = undefined, hoverBackgroundColor = '#88888847', borderRadius = undefined, boxShadow = undefined;
|
|
1
|
+
<script >export let type = 'default', loading = false, icon = undefined, iconSize = 15, clazz = '', maxWidth = undefined, maxHeight = undefined, minWidth = undefined, minHeight = undefined, width = undefined, height = undefined, textAlign = "center", cursor = "pointer", padding = "5px", fontSize = undefined, color = undefined, backgroundColor = undefined, hoverBackgroundColor = '#88888847', borderRadius = undefined, boxShadow = undefined;
|
|
2
2
|
export { clazz as class };
|
|
3
3
|
$: defaultBorderRadius = type == 'icon' ? '50%' : '5px';
|
|
4
4
|
$: position = !!$$slots.append ? 'relative' : undefined;
|
|
5
5
|
import Icon from '../media/Icon.svelte';
|
|
6
|
+
import CircularLoader from '../loaders/CircularLoader.svelte';
|
|
6
7
|
</script>
|
|
7
8
|
|
|
8
9
|
<div
|
|
@@ -30,17 +31,24 @@ import Icon from '../media/Icon.svelte';
|
|
|
30
31
|
class:button-icon={type === 'icon'}
|
|
31
32
|
on:click
|
|
32
33
|
>
|
|
33
|
-
{#if
|
|
34
|
-
<
|
|
34
|
+
{#if loading}
|
|
35
|
+
<CircularLoader
|
|
36
|
+
color={color}
|
|
37
|
+
></CircularLoader>
|
|
35
38
|
{:else}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
{#if !!icon}
|
|
40
|
+
<Icon name={icon} size={iconSize}></Icon>
|
|
41
|
+
{:else}
|
|
42
|
+
<slot></slot>
|
|
43
|
+
{/if}
|
|
44
|
+
{#if $$slots.append}
|
|
45
|
+
<span class="append-item">
|
|
46
|
+
<slot name="append">
|
|
47
|
+
</slot>
|
|
48
|
+
</span>
|
|
49
|
+
{/if}
|
|
43
50
|
{/if}
|
|
51
|
+
|
|
44
52
|
</div>
|
|
45
53
|
|
|
46
54
|
<style>
|
package/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export { default as MediaQuery } from './common/MediaQuery.svelte';
|
|
|
6
6
|
export { default as Dialog } from './dialogs/Dialog.svelte';
|
|
7
7
|
export { default as TextField } from './forms/Textfield.svelte';
|
|
8
8
|
export { default as Skeleton } from './loaders/Skeleton.svelte';
|
|
9
|
+
export { default as CircularLoader } from './loaders/CircularLoader.svelte';
|
|
9
10
|
export { default as AttachmentDownloader } from './media/AttachmentDownloader.svelte';
|
|
10
11
|
export { default as Avatar } from './media/Avatar.svelte';
|
|
11
12
|
export { default as Carousel } from './media/Carousel.svelte';
|
package/index.js
CHANGED
|
@@ -11,6 +11,7 @@ export { default as Dialog } from './dialogs/Dialog.svelte';
|
|
|
11
11
|
export { default as TextField } from './forms/Textfield.svelte';
|
|
12
12
|
// loaders
|
|
13
13
|
export { default as Skeleton } from './loaders/Skeleton.svelte';
|
|
14
|
+
export { default as CircularLoader } from './loaders/CircularLoader.svelte';
|
|
14
15
|
// media
|
|
15
16
|
export { default as AttachmentDownloader } from './media/AttachmentDownloader.svelte';
|
|
16
17
|
export { default as Avatar } from './media/Avatar.svelte';
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
<script >export let loading = true, height = "30px", width = "30px", color = "black";
|
|
2
|
+
</script>
|
|
3
|
+
|
|
4
|
+
<svg
|
|
5
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
6
|
+
viewBox="21.904761904761905 21.904761904761905 43.80952380952381 43.80952380952381"
|
|
7
|
+
style:color={color}
|
|
8
|
+
style:height={height}
|
|
9
|
+
style:width={width}
|
|
10
|
+
class:active={loading}
|
|
11
|
+
>
|
|
12
|
+
<circle
|
|
13
|
+
fill="transparent"
|
|
14
|
+
cx="43.80952380952381"
|
|
15
|
+
cy="43.80952380952381"
|
|
16
|
+
r="20"
|
|
17
|
+
stroke-width="3.8095238095238093"
|
|
18
|
+
stroke-dasharray="125.664"
|
|
19
|
+
stroke-dashoffset="125.66370614359172px"
|
|
20
|
+
style:stroke="currentColor"
|
|
21
|
+
class:active={loading}
|
|
22
|
+
></circle>
|
|
23
|
+
</svg>
|
|
24
|
+
|
|
25
|
+
<style>
|
|
26
|
+
circle.active {
|
|
27
|
+
-webkit-animation: progress-circular-dash 1.4s ease-in-out infinite;
|
|
28
|
+
animation: progress-circular-dash 1.4s ease-in-out infinite;
|
|
29
|
+
stroke-linecap: round;
|
|
30
|
+
stroke-dasharray: 80,200;
|
|
31
|
+
stroke-dashoffset: 0px;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
svg.active {
|
|
35
|
+
animation: progress-circular-rotate 1.4s linear infinite;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
@keyframes progress-circular-dash {
|
|
39
|
+
0% {
|
|
40
|
+
stroke-dasharray:1,200;
|
|
41
|
+
stroke-dashoffset:0px
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
50% {
|
|
45
|
+
stroke-dasharray:100,200;
|
|
46
|
+
stroke-dashoffset:-15px
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
to {
|
|
50
|
+
stroke-dasharray:100,200;
|
|
51
|
+
stroke-dashoffset:-124px
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
@keyframes progress-circular-rotate {
|
|
56
|
+
0% {
|
|
57
|
+
transform: rotate(0deg);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
50% {
|
|
61
|
+
transform: rotate(180deg);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
to {
|
|
65
|
+
transform: rotate(360deg);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
</style>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
loading?: boolean;
|
|
5
|
+
height?: string;
|
|
6
|
+
width?: string;
|
|
7
|
+
color?: string;
|
|
8
|
+
};
|
|
9
|
+
events: {
|
|
10
|
+
[evt: string]: CustomEvent<any>;
|
|
11
|
+
};
|
|
12
|
+
slots: {};
|
|
13
|
+
};
|
|
14
|
+
export declare type CircularLoaderProps = typeof __propDef.props;
|
|
15
|
+
export declare type CircularLoaderEvents = typeof __propDef.events;
|
|
16
|
+
export declare type CircularLoaderSlots = typeof __propDef.slots;
|
|
17
|
+
export default class CircularLoader extends SvelteComponentTyped<CircularLoaderProps, CircularLoaderEvents, CircularLoaderSlots> {
|
|
18
|
+
}
|
|
19
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@likable-hair/svelte",
|
|
3
3
|
"description": "A Svelte component for likablehair",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.32",
|
|
5
5
|
"devDependencies": {
|
|
6
6
|
"@sveltejs/adapter-auto": "next",
|
|
7
7
|
"@sveltejs/kit": "next",
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
"./dialogs/Dialog.svelte": "./dialogs/Dialog.svelte",
|
|
36
36
|
"./forms/Textfield.svelte": "./forms/Textfield.svelte",
|
|
37
37
|
".": "./index.js",
|
|
38
|
+
"./loaders/CircularLoader.svelte": "./loaders/CircularLoader.svelte",
|
|
38
39
|
"./loaders/Skeleton.svelte": "./loaders/Skeleton.svelte",
|
|
39
40
|
"./loaders/sectionType": "./loaders/sectionType.js",
|
|
40
41
|
"./media/AttachmentDownloader.svelte": "./media/AttachmentDownloader.svelte",
|