sveltacular 0.0.18 → 0.0.20
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/forms/list-box/list-box.svelte +4 -0
- package/dist/forms/money-box/money-box.svelte +16 -0
- package/dist/forms/money-box/money-box.svelte.d.ts +26 -0
- package/dist/helpers/random.d.ts +24 -0
- package/dist/helpers/random.js +108 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +4 -0
- package/dist/navigation/app-bar/app-logo.svelte +22 -10
- package/dist/navigation/app-bar/app-logo.svelte.d.ts +4 -2
- package/dist/placeholders/loading.svelte +56 -0
- package/dist/placeholders/loading.svelte.d.ts +18 -0
- package/dist/placeholders/skeleton-text.svelte +18 -0
- package/dist/placeholders/skeleton-text.svelte.d.ts +17 -0
- package/package.json +1 -1
|
@@ -64,6 +64,8 @@ $:
|
|
|
64
64
|
searchText = searchable ? text : "";
|
|
65
65
|
$:
|
|
66
66
|
filteredItems = searchText ? items.map((item, index) => ({ ...item, index })).filter((item) => item.name.toLowerCase().includes(searchText.toLowerCase())) : items.map((item, index) => ({ ...item, index }));
|
|
67
|
+
$:
|
|
68
|
+
items && (text = getText());
|
|
67
69
|
</script>
|
|
68
70
|
|
|
69
71
|
<FormField {size}>
|
|
@@ -80,6 +82,8 @@ $:
|
|
|
80
82
|
readonly={!searchable}
|
|
81
83
|
on:focus={() => (open = true)}
|
|
82
84
|
on:keyup={onInputKeyPress}
|
|
85
|
+
data-value={value}
|
|
86
|
+
data-text={text}
|
|
83
87
|
/>
|
|
84
88
|
<button type="button" class="icon" on:click={toggle} on:keydown={toggle}>
|
|
85
89
|
<AngleUpIcon />
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<script>import NumberBox from "../number-box/number-box.svelte";
|
|
2
|
+
export let value;
|
|
3
|
+
export let symbol = "$";
|
|
4
|
+
export let allowCents = false;
|
|
5
|
+
export let placeholder = "";
|
|
6
|
+
export let size = "full";
|
|
7
|
+
export let step = 1;
|
|
8
|
+
export let min = 0;
|
|
9
|
+
export let max = 1e6;
|
|
10
|
+
$:
|
|
11
|
+
decimals = allowCents ? 2 : 0;
|
|
12
|
+
</script>
|
|
13
|
+
|
|
14
|
+
<NumberBox bind:value {symbol} {decimals} {placeholder} {size} {min} {max} {step}
|
|
15
|
+
><slot /></NumberBox
|
|
16
|
+
>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
import type { FormFieldSizeOptions } from '../../index.js';
|
|
3
|
+
declare const __propDef: {
|
|
4
|
+
props: {
|
|
5
|
+
value: number;
|
|
6
|
+
symbol?: string | undefined;
|
|
7
|
+
allowCents?: boolean | undefined;
|
|
8
|
+
placeholder?: string | undefined;
|
|
9
|
+
size?: FormFieldSizeOptions | undefined;
|
|
10
|
+
step?: number | undefined;
|
|
11
|
+
min?: number | undefined;
|
|
12
|
+
max?: number | undefined;
|
|
13
|
+
};
|
|
14
|
+
events: {
|
|
15
|
+
[evt: string]: CustomEvent<any>;
|
|
16
|
+
};
|
|
17
|
+
slots: {
|
|
18
|
+
default: {};
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
export type MoneyBoxProps = typeof __propDef.props;
|
|
22
|
+
export type MoneyBoxEvents = typeof __propDef.events;
|
|
23
|
+
export type MoneyBoxSlots = typeof __propDef.slots;
|
|
24
|
+
export default class MoneyBox extends SvelteComponent<MoneyBoxProps, MoneyBoxEvents, MoneyBoxSlots> {
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export declare const randomInt: (min: number, max: number) => number;
|
|
2
|
+
export declare const randomFloat: (min: number, max: number) => number;
|
|
3
|
+
export declare const randomBool: () => boolean;
|
|
4
|
+
export declare const randomString: (length: number) => string;
|
|
5
|
+
export declare const randomDate: (start: Date, end: Date) => Date;
|
|
6
|
+
export declare const randomColor: () => string;
|
|
7
|
+
export declare const randomHex: (length: number) => string;
|
|
8
|
+
export declare const randomRGB: () => string;
|
|
9
|
+
export declare const randomRGBA: () => string;
|
|
10
|
+
export declare const randomHSL: () => string;
|
|
11
|
+
export declare const randomHSLA: () => string;
|
|
12
|
+
export declare const randomEmail: () => string;
|
|
13
|
+
export declare const randomPhone: () => string;
|
|
14
|
+
export declare const randomAddress: () => string;
|
|
15
|
+
export declare const randomCity: () => string;
|
|
16
|
+
export declare const randomState: () => string;
|
|
17
|
+
export declare const randomZip: () => string;
|
|
18
|
+
export declare const randomCountry: () => string;
|
|
19
|
+
export declare const randomName: () => string;
|
|
20
|
+
export declare const randomFirstName: () => string;
|
|
21
|
+
export declare const randomLastName: () => string;
|
|
22
|
+
export declare const randomUsername: () => string;
|
|
23
|
+
export declare const randomPassword: () => string;
|
|
24
|
+
export declare const randomAvatar: () => string;
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
// Generate random integer between min and max
|
|
2
|
+
export const randomInt = (min, max) => {
|
|
3
|
+
return Math.floor(Math.random() * (max - min + 1)) + min;
|
|
4
|
+
};
|
|
5
|
+
// Generate random float between min and max
|
|
6
|
+
export const randomFloat = (min, max) => {
|
|
7
|
+
return Math.random() * (max - min) + min;
|
|
8
|
+
};
|
|
9
|
+
// Generate random boolean
|
|
10
|
+
export const randomBool = () => {
|
|
11
|
+
return Math.random() >= 0.5;
|
|
12
|
+
};
|
|
13
|
+
// Generate random string
|
|
14
|
+
export const randomString = (length) => {
|
|
15
|
+
let result = '';
|
|
16
|
+
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
|
17
|
+
const charactersLength = characters.length;
|
|
18
|
+
for (let i = 0; i < length; i++) {
|
|
19
|
+
result += characters.charAt(Math.floor(Math.random() * charactersLength));
|
|
20
|
+
}
|
|
21
|
+
return result;
|
|
22
|
+
};
|
|
23
|
+
// Generate random date
|
|
24
|
+
export const randomDate = (start, end) => {
|
|
25
|
+
return new Date(start.getTime() + Math.random() * (end.getTime() - start.getTime()));
|
|
26
|
+
};
|
|
27
|
+
// Generate random color
|
|
28
|
+
export const randomColor = () => {
|
|
29
|
+
return '#' + Math.floor(Math.random() * 16777215).toString(16);
|
|
30
|
+
};
|
|
31
|
+
// Generate random hex
|
|
32
|
+
export const randomHex = (length) => {
|
|
33
|
+
let result = '';
|
|
34
|
+
const characters = 'abcdef0123456789';
|
|
35
|
+
const charactersLength = characters.length;
|
|
36
|
+
for (let i = 0; i < length; i++) {
|
|
37
|
+
result += characters.charAt(Math.floor(Math.random() * charactersLength));
|
|
38
|
+
}
|
|
39
|
+
return result;
|
|
40
|
+
};
|
|
41
|
+
// Generate random rgb
|
|
42
|
+
export const randomRGB = () => {
|
|
43
|
+
return `rgb(${randomInt(0, 255)}, ${randomInt(0, 255)}, ${randomInt(0, 255)})`;
|
|
44
|
+
};
|
|
45
|
+
// Generate random rgba
|
|
46
|
+
export const randomRGBA = () => {
|
|
47
|
+
return `rgba(${randomInt(0, 255)}, ${randomInt(0, 255)}, ${randomInt(0, 255)}, ${randomFloat(0, 1)})`;
|
|
48
|
+
};
|
|
49
|
+
// Generate random hsl
|
|
50
|
+
export const randomHSL = () => {
|
|
51
|
+
return `hsl(${randomInt(0, 360)}, ${randomInt(0, 100)}%, ${randomInt(0, 100)}%)`;
|
|
52
|
+
};
|
|
53
|
+
// Generate random hsla
|
|
54
|
+
export const randomHSLA = () => {
|
|
55
|
+
return `hsla(${randomInt(0, 360)}, ${randomInt(0, 100)}%, ${randomInt(0, 100)}%, ${randomFloat(0, 1)})`;
|
|
56
|
+
};
|
|
57
|
+
// Generate random email
|
|
58
|
+
export const randomEmail = () => {
|
|
59
|
+
return `${randomString(10)}@${randomString(5)}.com`;
|
|
60
|
+
};
|
|
61
|
+
// Generate random phone number
|
|
62
|
+
export const randomPhone = () => {
|
|
63
|
+
return `${randomInt(100, 999)}-${randomInt(100, 999)}-${randomInt(1000, 9999)}`;
|
|
64
|
+
};
|
|
65
|
+
// Generate random address
|
|
66
|
+
export const randomAddress = () => {
|
|
67
|
+
return `${randomInt(100, 999)} ${randomString(10)} ${randomString(5)}`;
|
|
68
|
+
};
|
|
69
|
+
// Generate random city
|
|
70
|
+
export const randomCity = () => {
|
|
71
|
+
return `${randomString(10)}`;
|
|
72
|
+
};
|
|
73
|
+
// Generate random state
|
|
74
|
+
export const randomState = () => {
|
|
75
|
+
return `${randomString(2)}`;
|
|
76
|
+
};
|
|
77
|
+
// Generate random zip
|
|
78
|
+
export const randomZip = () => {
|
|
79
|
+
return `${randomInt(10000, 99999)}`;
|
|
80
|
+
};
|
|
81
|
+
// Generate random country
|
|
82
|
+
export const randomCountry = () => {
|
|
83
|
+
return `${randomString(10)}`;
|
|
84
|
+
};
|
|
85
|
+
// Generate random name
|
|
86
|
+
export const randomName = () => {
|
|
87
|
+
return `${randomString(10)} ${randomString(10)}`;
|
|
88
|
+
};
|
|
89
|
+
// Generate random first name
|
|
90
|
+
export const randomFirstName = () => {
|
|
91
|
+
return `${randomString(10)}`;
|
|
92
|
+
};
|
|
93
|
+
// Generate random last name
|
|
94
|
+
export const randomLastName = () => {
|
|
95
|
+
return `${randomString(10)}`;
|
|
96
|
+
};
|
|
97
|
+
// Generate random username
|
|
98
|
+
export const randomUsername = () => {
|
|
99
|
+
return `${randomString(10)}`;
|
|
100
|
+
};
|
|
101
|
+
// Generate random password
|
|
102
|
+
export const randomPassword = () => {
|
|
103
|
+
return `${randomString(10)}`;
|
|
104
|
+
};
|
|
105
|
+
// Generate random avatar
|
|
106
|
+
export const randomAvatar = () => {
|
|
107
|
+
return `https://avatars.dicebear.com/api/avataaars/${randomString(10)}.svg`;
|
|
108
|
+
};
|
package/dist/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export { default as BoolBox } from './forms/bool-box/bool-box.svelte';
|
|
|
7
7
|
export { default as FileBox } from './forms/file-box/file-box.svelte';
|
|
8
8
|
export { default as FileArea } from './forms/file-area/file-area.svelte';
|
|
9
9
|
export { default as NumberBox } from './forms/number-box/number-box.svelte';
|
|
10
|
+
export { default as MoneyBox } from './forms/money-box/money-box.svelte';
|
|
10
11
|
export { default as RadioGroup } from './forms/radio-group/radio-group.svelte';
|
|
11
12
|
export { default as TextArea } from './forms/text-area/text-area.svelte';
|
|
12
13
|
export { default as TextBox } from './forms/text-box/text-box.svelte';
|
|
@@ -68,6 +69,8 @@ export { default as CodeBlock } from './typography/code-block.svelte';
|
|
|
68
69
|
export { default as Paragraph } from './typography/paragraph.svelte';
|
|
69
70
|
export { default as Timeline } from './timeline/timeline.svelte';
|
|
70
71
|
export { default as TimelineItem } from './timeline/timeline-item.svelte';
|
|
72
|
+
export { default as Loading } from './placeholders/loading.svelte';
|
|
73
|
+
export { default as SkeletonText } from './placeholders/skeleton-text.svelte';
|
|
71
74
|
export * from './types/data.js';
|
|
72
75
|
export * from './types/date.js';
|
|
73
76
|
export * from './types/form.js';
|
package/dist/index.js
CHANGED
|
@@ -8,6 +8,7 @@ export { default as BoolBox } from './forms/bool-box/bool-box.svelte';
|
|
|
8
8
|
export { default as FileBox } from './forms/file-box/file-box.svelte';
|
|
9
9
|
export { default as FileArea } from './forms/file-area/file-area.svelte';
|
|
10
10
|
export { default as NumberBox } from './forms/number-box/number-box.svelte';
|
|
11
|
+
export { default as MoneyBox } from './forms/money-box/money-box.svelte';
|
|
11
12
|
export { default as RadioGroup } from './forms/radio-group/radio-group.svelte';
|
|
12
13
|
export { default as TextArea } from './forms/text-area/text-area.svelte';
|
|
13
14
|
export { default as TextBox } from './forms/text-box/text-box.svelte';
|
|
@@ -76,6 +77,9 @@ export { default as Paragraph } from './typography/paragraph.svelte';
|
|
|
76
77
|
// Timeline
|
|
77
78
|
export { default as Timeline } from './timeline/timeline.svelte';
|
|
78
79
|
export { default as TimelineItem } from './timeline/timeline-item.svelte';
|
|
80
|
+
// Placeholders
|
|
81
|
+
export { default as Loading } from './placeholders/loading.svelte';
|
|
82
|
+
export { default as SkeletonText } from './placeholders/skeleton-text.svelte';
|
|
79
83
|
// Types
|
|
80
84
|
export * from './types/data.js';
|
|
81
85
|
export * from './types/date.js';
|
|
@@ -1,18 +1,30 @@
|
|
|
1
1
|
<script>import Image from "../../images/image.svelte";
|
|
2
|
-
export let src;
|
|
2
|
+
export let src = void 0;
|
|
3
3
|
export let alt;
|
|
4
4
|
export let href;
|
|
5
5
|
</script>
|
|
6
6
|
|
|
7
7
|
<div class="logo">
|
|
8
|
-
|
|
8
|
+
{#if src}
|
|
9
|
+
<Image {src} {alt} {href} align="left" />
|
|
10
|
+
{:else}
|
|
11
|
+
<a {href} title={alt}><slot /></a>
|
|
12
|
+
{/if}
|
|
9
13
|
</div>
|
|
10
14
|
|
|
11
|
-
<style>
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
<style>div {
|
|
16
|
+
display: block;
|
|
17
|
+
width: 100%;
|
|
18
|
+
height: 100%;
|
|
19
|
+
overflow: hidden;
|
|
20
|
+
}
|
|
21
|
+
div a {
|
|
22
|
+
display: block;
|
|
23
|
+
width: 100%;
|
|
24
|
+
height: 100%;
|
|
25
|
+
text-decoration: none;
|
|
26
|
+
color: var(--nav-link-fg, #333);
|
|
27
|
+
}
|
|
28
|
+
div a:hover {
|
|
29
|
+
color: var(--nav-link-hover-fg, #333);
|
|
30
|
+
}</style>
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { SvelteComponent } from "svelte";
|
|
2
2
|
declare const __propDef: {
|
|
3
3
|
props: {
|
|
4
|
-
src
|
|
4
|
+
src?: string | undefined;
|
|
5
5
|
alt: string;
|
|
6
6
|
href: string;
|
|
7
7
|
};
|
|
8
8
|
events: {
|
|
9
9
|
[evt: string]: CustomEvent<any>;
|
|
10
10
|
};
|
|
11
|
-
slots: {
|
|
11
|
+
slots: {
|
|
12
|
+
default: {};
|
|
13
|
+
};
|
|
12
14
|
};
|
|
13
15
|
export type AppLogoProps = typeof __propDef.props;
|
|
14
16
|
export type AppLogoEvents = typeof __propDef.events;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
<script>export let type = "spinner";
|
|
2
|
+
</script>
|
|
3
|
+
|
|
4
|
+
<div class={type}>
|
|
5
|
+
<span>
|
|
6
|
+
<slot />
|
|
7
|
+
</span>
|
|
8
|
+
</div>
|
|
9
|
+
|
|
10
|
+
<style>div {
|
|
11
|
+
text-align: center;
|
|
12
|
+
}
|
|
13
|
+
div span {
|
|
14
|
+
display: block;
|
|
15
|
+
width: 100%;
|
|
16
|
+
padding: 1rem;
|
|
17
|
+
}
|
|
18
|
+
div.spinner {
|
|
19
|
+
border: 4px solid rgba(0, 0, 0, 0.1);
|
|
20
|
+
border-top: 4px solid #3498db;
|
|
21
|
+
border-radius: 50%;
|
|
22
|
+
width: 40px;
|
|
23
|
+
height: 40px;
|
|
24
|
+
animation: spin 1s linear infinite;
|
|
25
|
+
}
|
|
26
|
+
div.block {
|
|
27
|
+
width: 100%;
|
|
28
|
+
height: 100%;
|
|
29
|
+
background-color: #ccc;
|
|
30
|
+
color: #888;
|
|
31
|
+
font-size: 1.5rem;
|
|
32
|
+
font-family: var(--base-font-family, sans-serif);
|
|
33
|
+
animation: pulse 2s infinite;
|
|
34
|
+
display: flex;
|
|
35
|
+
align-items: center;
|
|
36
|
+
justify-content: center;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@keyframes spin {
|
|
40
|
+
0% {
|
|
41
|
+
transform: rotate(0deg);
|
|
42
|
+
}
|
|
43
|
+
100% {
|
|
44
|
+
transform: rotate(360deg);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
@keyframes pulse {
|
|
48
|
+
0%, 100% {
|
|
49
|
+
opacity: 0.5;
|
|
50
|
+
transform: scale(0.95);
|
|
51
|
+
}
|
|
52
|
+
50% {
|
|
53
|
+
opacity: 1;
|
|
54
|
+
transform: scale(1);
|
|
55
|
+
}
|
|
56
|
+
}</style>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
type?: "block" | "spinner" | undefined;
|
|
5
|
+
};
|
|
6
|
+
events: {
|
|
7
|
+
[evt: string]: CustomEvent<any>;
|
|
8
|
+
};
|
|
9
|
+
slots: {
|
|
10
|
+
default: {};
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
export type LoadingProps = typeof __propDef.props;
|
|
14
|
+
export type LoadingEvents = typeof __propDef.events;
|
|
15
|
+
export type LoadingSlots = typeof __propDef.slots;
|
|
16
|
+
export default class Loading extends SvelteComponent<LoadingProps, LoadingEvents, LoadingSlots> {
|
|
17
|
+
}
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<script>import { randomInt } from "../helpers/random.js";
|
|
2
|
+
export let min = 50;
|
|
3
|
+
export let max = 100;
|
|
4
|
+
$:
|
|
5
|
+
width = randomInt(min, max);
|
|
6
|
+
</script>
|
|
7
|
+
|
|
8
|
+
<div style="width: {width}%" />
|
|
9
|
+
|
|
10
|
+
<style>
|
|
11
|
+
div {
|
|
12
|
+
height: 1rem;
|
|
13
|
+
background-color: var(--base-color-fg, #ccc);
|
|
14
|
+
opacity: 0.5;
|
|
15
|
+
border-radius: 1rem;
|
|
16
|
+
margin-bottom: 1rem;
|
|
17
|
+
}
|
|
18
|
+
</style>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
min?: number | undefined;
|
|
5
|
+
max?: number | undefined;
|
|
6
|
+
};
|
|
7
|
+
events: {
|
|
8
|
+
[evt: string]: CustomEvent<any>;
|
|
9
|
+
};
|
|
10
|
+
slots: {};
|
|
11
|
+
};
|
|
12
|
+
export type SkeletonTextProps = typeof __propDef.props;
|
|
13
|
+
export type SkeletonTextEvents = typeof __propDef.events;
|
|
14
|
+
export type SkeletonTextSlots = typeof __propDef.slots;
|
|
15
|
+
export default class SkeletonText extends SvelteComponent<SkeletonTextProps, SkeletonTextEvents, SkeletonTextSlots> {
|
|
16
|
+
}
|
|
17
|
+
export {};
|