@likable-hair/svelte 0.0.6 → 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/buttons/Button.svelte +1 -1
- package/common/Card.svelte +16 -27
- package/common/Card.svelte.d.ts +13 -3
- package/common/Gesture.svelte +65 -0
- package/common/Gesture.svelte.d.ts +19 -0
- package/common/IntersectionObserver.svelte.d.ts +4 -4
- package/common/tailwind.css +149 -3
- package/dates/Calendar.svelte +1 -1
- package/dates/utils.d.ts +3 -0
- package/dates/utils.js +10 -0
- package/forms/{Textfield.svelte.d.ts → TextField.svelte.d.ts} +4 -4
- package/forms/Textfield.svelte +1 -2
- package/index.d.ts +20 -0
- package/index.js +29 -0
- package/loaders/Skeleton.svelte +1 -0
- package/loaders/Skeleton.svelte.d.ts +1 -0
- package/media/AttachmentDownloader.svelte +59 -0
- package/media/AttachmentDownloader.svelte.d.ts +28 -0
- package/media/Avatar.svelte +16 -0
- package/media/Avatar.svelte.d.ts +23 -0
- package/media/DescriptiveAvatar.svelte +77 -0
- package/media/DescriptiveAvatar.svelte.d.ts +28 -0
- package/media/Icon.svelte +1 -0
- package/media/Icon.svelte.d.ts +1 -0
- package/media/Image.svelte +13 -20
- package/media/Image.svelte.d.ts +2 -0
- package/media/ImageGrid.svelte +1 -0
- package/media/ImageGrid.svelte.d.ts +1 -0
- package/navigation/BreadCrumb.svelte.d.ts +29 -0
- package/navigation/Breadcrumb.svelte +67 -0
- package/navigation/HeaderMenu.svelte +2 -2
- package/navigation/Navigator.svelte +3 -6
- package/navigation/Navigator.svelte.d.ts +1 -0
- package/navigation/TabSwitcher.svelte +2 -1
- package/package.json +8 -5
- package/progress/ProgressBar.svelte +36 -0
- package/progress/ProgressBar.svelte.d.ts +22 -0
- package/shop/ProductsGrid.svelte +1 -0
- package/shop/ProductsGrid.svelte.d.ts +1 -0
- package/timeline/ScrollTimeLine.svelte +65 -174
- package/timeline/ScrollTimeLine.svelte.d.ts +18 -1
- package/timeline/SimpleTimeLine.svelte +165 -1
- package/timeline/SimpleTimeLine.svelte.d.ts +45 -12
- package/enums/elevation.enum.d.ts +0 -7
- package/enums/elevation.enum.js +0 -8
- package/enums/index.d.ts +0 -1
- package/enums/index.js +0 -1
package/buttons/Button.svelte
CHANGED
|
@@ -12,8 +12,8 @@ $: cssVariables = Object.entries({
|
|
|
12
12
|
.reduce((css, [key, value]) => {
|
|
13
13
|
return `${css}${key}: ${value};`;
|
|
14
14
|
}, '');
|
|
15
|
-
import '$lib/common/tailwind.css';
|
|
16
15
|
import Icon from '../media/Icon.svelte';
|
|
16
|
+
import '$lib/common/tailwind.css';
|
|
17
17
|
</script>
|
|
18
18
|
|
|
19
19
|
<div
|
package/common/Card.svelte
CHANGED
|
@@ -1,37 +1,26 @@
|
|
|
1
|
-
<script >
|
|
2
|
-
export let rounded = true, outlined = false, elevation = Elevation.md;
|
|
3
|
-
$: cssVariables = Object.entries({}).filter(([key]) => key.startsWith('--'))
|
|
4
|
-
.reduce((css, [key, value]) => {
|
|
5
|
-
return `${css}${key}: ${value};`;
|
|
6
|
-
}, '');
|
|
1
|
+
<script >export let outlined = false, maxWidth = undefined, maxHeight = undefined, minWidth = undefined, minHeight = undefined, width = 'fit-content', height = undefined, padding = "5px", borderRadius = "5px", backgroundColor = "rgb(252, 252, 252)", color = undefined, borderColor = undefined, borderWidth = undefined, style = "";
|
|
7
2
|
import '$lib/common/tailwind.css';
|
|
8
3
|
</script>
|
|
9
4
|
|
|
10
5
|
<style>
|
|
11
|
-
.card-container {
|
|
12
|
-
height: var(--height, fit-content);
|
|
13
|
-
width: var(--width, fit-content);
|
|
14
|
-
max-height: var(--max-height);
|
|
15
|
-
max-width: var(--max-width);
|
|
16
|
-
min-height: var(--min-height);
|
|
17
|
-
min-width: var(--min-width);
|
|
18
|
-
padding: var(--padding, 5px);
|
|
19
|
-
background-color: var(--background-color, rgb(252, 252, 252));
|
|
20
|
-
color: var(--color);
|
|
21
|
-
border-color: var(--border-color);
|
|
22
|
-
}
|
|
23
6
|
</style>
|
|
24
7
|
|
|
25
|
-
<div
|
|
26
|
-
|
|
27
|
-
style={
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
8
|
+
<div
|
|
9
|
+
style:width={width}
|
|
10
|
+
style:max-width={maxWidth}
|
|
11
|
+
style:min-width={minWidth}
|
|
12
|
+
style:height={height}
|
|
13
|
+
style:max-height={maxHeight}
|
|
14
|
+
style:min-height={minHeight}
|
|
15
|
+
style:padding={padding}
|
|
16
|
+
style:border-radius={borderRadius}
|
|
17
|
+
style:background-color={backgroundColor}
|
|
18
|
+
style:color={color}
|
|
19
|
+
style:border-color={borderColor}
|
|
20
|
+
style:border-width={borderWidth}
|
|
21
|
+
style={style}
|
|
22
|
+
class="flex flex-col shadow-lg"
|
|
33
23
|
class:border-solid={outlined}
|
|
34
|
-
class:rounded-md={rounded}
|
|
35
24
|
>
|
|
36
25
|
<div class="header flex-none">
|
|
37
26
|
<slot name="header"></slot>
|
package/common/Card.svelte.d.ts
CHANGED
|
@@ -1,11 +1,21 @@
|
|
|
1
1
|
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
import { Elevation } from '../enums/elevation.enum';
|
|
3
2
|
import '$lib/common/tailwind.css';
|
|
4
3
|
declare const __propDef: {
|
|
5
4
|
props: {
|
|
6
|
-
rounded?: boolean;
|
|
7
5
|
outlined?: boolean;
|
|
8
|
-
|
|
6
|
+
maxWidth?: string;
|
|
7
|
+
maxHeight?: string;
|
|
8
|
+
minWidth?: string;
|
|
9
|
+
minHeight?: string;
|
|
10
|
+
width?: string;
|
|
11
|
+
height?: string;
|
|
12
|
+
padding?: string;
|
|
13
|
+
borderRadius?: string;
|
|
14
|
+
backgroundColor?: string;
|
|
15
|
+
color?: string;
|
|
16
|
+
borderColor?: string;
|
|
17
|
+
borderWidth?: string;
|
|
18
|
+
style?: string;
|
|
9
19
|
};
|
|
10
20
|
events: {
|
|
11
21
|
[evt: string]: CustomEvent<any>;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
<script >import { createEventDispatcher } from 'svelte';
|
|
2
|
+
const dispatch = createEventDispatcher();
|
|
3
|
+
// TODO export the handler into a service to avoid mount 3 listeners for every component instance
|
|
4
|
+
export let timeThreshold = 200, diagonalThreshold = 100;
|
|
5
|
+
let lastTouch, startTouch, endTouch, startTime, endTime;
|
|
6
|
+
function handleTouchStart(event) {
|
|
7
|
+
lastTouch = event.touches[0];
|
|
8
|
+
startTouch = event.touches[0];
|
|
9
|
+
startTime = new Date();
|
|
10
|
+
}
|
|
11
|
+
function handleTouchEnd(event) {
|
|
12
|
+
endTouch = event.changedTouches[0];
|
|
13
|
+
endTime = new Date();
|
|
14
|
+
let timeDifference = endTime.getTime() - startTime.getTime();
|
|
15
|
+
if (timeDifference < timeThreshold) {
|
|
16
|
+
let direction;
|
|
17
|
+
let xDifference = endTouch.clientX - startTouch.clientX;
|
|
18
|
+
let yDifference = endTouch.clientY - startTouch.clientY;
|
|
19
|
+
// check if is diagonal swipe
|
|
20
|
+
if (Math.abs(Math.abs(xDifference) - Math.abs(yDifference)) < diagonalThreshold)
|
|
21
|
+
return;
|
|
22
|
+
if (Math.abs(xDifference) > Math.abs(yDifference)) {
|
|
23
|
+
// horizontal
|
|
24
|
+
if (xDifference > 0) {
|
|
25
|
+
direction = 'right';
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
direction = 'left';
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
// vertical
|
|
33
|
+
if (yDifference > 0) {
|
|
34
|
+
direction = 'down';
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
direction = 'up';
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
dispatch('swipe-' + direction, {
|
|
41
|
+
direction: direction,
|
|
42
|
+
timeDifference: timeDifference,
|
|
43
|
+
xDifference: xDifference,
|
|
44
|
+
yDifference: yDifference
|
|
45
|
+
});
|
|
46
|
+
dispatch('swipe', {
|
|
47
|
+
direction: direction,
|
|
48
|
+
timeDifference: timeDifference,
|
|
49
|
+
xDifference: xDifference,
|
|
50
|
+
yDifference: yDifference
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function handleTouchMove(event) {
|
|
55
|
+
let currentTouch = event.changedTouches[0];
|
|
56
|
+
lastTouch = currentTouch;
|
|
57
|
+
}
|
|
58
|
+
</script>
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
<svelte:window
|
|
62
|
+
on:touchstart="{handleTouchStart}"
|
|
63
|
+
on:touchend="{handleTouchEnd}"
|
|
64
|
+
on:touchmove="{handleTouchMove}"
|
|
65
|
+
/>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
timeThreshold?: number;
|
|
5
|
+
diagonalThreshold?: number;
|
|
6
|
+
};
|
|
7
|
+
events: {
|
|
8
|
+
swipe: CustomEvent<any>;
|
|
9
|
+
} & {
|
|
10
|
+
[evt: string]: CustomEvent<any>;
|
|
11
|
+
};
|
|
12
|
+
slots: {};
|
|
13
|
+
};
|
|
14
|
+
export declare type GestureProps = typeof __propDef.props;
|
|
15
|
+
export declare type GestureEvents = typeof __propDef.events;
|
|
16
|
+
export declare type GestureSlots = typeof __propDef.slots;
|
|
17
|
+
export default class Gesture extends SvelteComponentTyped<GestureProps, GestureEvents, GestureSlots> {
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
/** @typedef {typeof __propDef.events} IntersectionObserverEvents */
|
|
3
3
|
/** @typedef {typeof __propDef.slots} IntersectionObserverSlots */
|
|
4
4
|
export default class IntersectionObserver extends SvelteComponentTyped<{
|
|
5
|
+
left?: number;
|
|
6
|
+
right?: number;
|
|
5
7
|
once?: boolean;
|
|
6
8
|
top?: number;
|
|
7
9
|
bottom?: number;
|
|
8
|
-
left?: number;
|
|
9
|
-
right?: number;
|
|
10
10
|
}, {
|
|
11
11
|
[evt: string]: CustomEvent<any>;
|
|
12
12
|
}, {
|
|
@@ -21,11 +21,11 @@ export type IntersectionObserverSlots = typeof __propDef.slots;
|
|
|
21
21
|
import { SvelteComponentTyped } from "svelte";
|
|
22
22
|
declare const __propDef: {
|
|
23
23
|
props: {
|
|
24
|
+
left?: number;
|
|
25
|
+
right?: number;
|
|
24
26
|
once?: boolean;
|
|
25
27
|
top?: number;
|
|
26
28
|
bottom?: number;
|
|
27
|
-
left?: number;
|
|
28
|
-
right?: number;
|
|
29
29
|
};
|
|
30
30
|
events: {
|
|
31
31
|
[evt: string]: CustomEvent<any>;
|
package/common/tailwind.css
CHANGED
|
@@ -1,3 +1,149 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
html {
|
|
2
|
+
--shadow-color: #000;
|
|
3
|
+
--ring-inset: inset;
|
|
4
|
+
--ring-offset-width: 0px;
|
|
5
|
+
--ring-color: rgb(255 255 255/0.1);
|
|
6
|
+
--ring-offset-shadow: var(--ring-inset) 0 0 0 calc(1px + var(--ring-offset-width)) var(--ring-color);
|
|
7
|
+
--ring-shadow: 0 0 #0000;
|
|
8
|
+
--shadow: 0 0 #0000;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.relative {
|
|
12
|
+
position: relative;
|
|
13
|
+
}
|
|
14
|
+
.sticky {
|
|
15
|
+
position: sticky;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.transition-all {
|
|
19
|
+
transition-property: all;
|
|
20
|
+
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
21
|
+
transition-duration: 150ms;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.flex {
|
|
25
|
+
display: flex;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.flex-col {
|
|
29
|
+
flex-direction: column;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.flex-none {
|
|
33
|
+
flex: none;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.shrink {
|
|
37
|
+
flex-shrink: 1;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.grow {
|
|
41
|
+
flex-grow: 1;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.text-2xl {
|
|
45
|
+
font-size: 1.5rem/* 24px */;
|
|
46
|
+
line-height: 2rem/* 32px */;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.overflow-y-auto {
|
|
50
|
+
overflow-y: auto;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.items-center {
|
|
54
|
+
align-items: center;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.justify-center {
|
|
58
|
+
justify-content: center;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.rounded-md {
|
|
62
|
+
border-radius: 0.375rem
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.cursor-pointer {
|
|
66
|
+
cursor: pointer;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.border-solid {
|
|
70
|
+
border-style: solid;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.-top-12 {
|
|
74
|
+
top: -3rem/* -48px */;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.-top-14 {
|
|
78
|
+
top: -3.5rem/* -56px */;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.top-0 {
|
|
82
|
+
top: 0;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.bottom-3 {
|
|
86
|
+
bottom: 0.75rem/* 12px */;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.bottom-2 {
|
|
90
|
+
bottom: 0.5rem/* 8px */;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.mt-1 {
|
|
94
|
+
margin-top: 0.25rem/* 4px */;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.mt-6 {
|
|
98
|
+
margin-top: 1.5rem/* 24px */;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.ml-2 {
|
|
102
|
+
margin-left: 0.5rem/* 8px */;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.mr-2 {
|
|
106
|
+
margin-right: 0.5rem/* 8px */;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.mr-5 {
|
|
110
|
+
margin-right: 1.25rem/* 20px */;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.mx-2 {
|
|
114
|
+
margin-left: 0.5rem/* 8px */;
|
|
115
|
+
margin-right: 0.5rem/* 8px */;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.mx-3 {
|
|
119
|
+
margin-left: 0.75rem/* 12px */;
|
|
120
|
+
margin-right: 0.75rem/* 12px */;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.p-2 {
|
|
124
|
+
padding: 0.5rem/* 8px */;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.h-12 {
|
|
128
|
+
height: 3rem/* 48px */;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.h-14 {
|
|
132
|
+
height: 3.5rem/* 56px */;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.h-screen {
|
|
136
|
+
height: 100vh;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.shadow-lg {
|
|
140
|
+
--shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
|
|
141
|
+
--shadow-colored: 0 10px 15px -3px var(--shadow-color), 0 4px 6px -4px var(--shadow-color);
|
|
142
|
+
box-shadow: var(--ring-offset-shadow, 0 0 #0000), var(--ring-shadow, 0 0 #0000), var(--shadow);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.shadow-md {
|
|
146
|
+
--shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
|
|
147
|
+
--shadow-colored: 0 4px 6px -1px var(--shadow-color), 0 2px 4px -2px var(--shadow-color);
|
|
148
|
+
box-shadow: var(--ring-offset-shadow, 0 0 #0000), var(--ring-shadow, 0 0 #0000), var(--shadow);
|
|
149
|
+
}
|
package/dates/Calendar.svelte
CHANGED
package/dates/utils.d.ts
CHANGED
|
@@ -9,3 +9,6 @@ export declare type MonthStats = {
|
|
|
9
9
|
days: number;
|
|
10
10
|
};
|
|
11
11
|
export declare const getDateRows: (monthIndex: number, year: number) => number[];
|
|
12
|
+
declare type dateFormat = 'extended';
|
|
13
|
+
export declare const dateToString: (date: Date, format?: dateFormat) => string;
|
|
14
|
+
export {};
|
package/dates/utils.js
CHANGED
|
@@ -57,3 +57,13 @@ export const getDateRows = (monthIndex, year) => {
|
|
|
57
57
|
}
|
|
58
58
|
return rows.filter(el => !Array.isArray(el));
|
|
59
59
|
};
|
|
60
|
+
export const dateToString = (date, format = 'extended') => {
|
|
61
|
+
let stringDate = "";
|
|
62
|
+
if (format == 'extended') {
|
|
63
|
+
const day = date.getDate();
|
|
64
|
+
const month = getMonthName(date.getMonth());
|
|
65
|
+
const year = date.getFullYear();
|
|
66
|
+
stringDate = `${day} ${month} ${year}`;
|
|
67
|
+
}
|
|
68
|
+
return stringDate;
|
|
69
|
+
};
|
|
@@ -21,9 +21,9 @@ declare const __propDef: {
|
|
|
21
21
|
'append-inner': {};
|
|
22
22
|
};
|
|
23
23
|
};
|
|
24
|
-
export declare type
|
|
25
|
-
export declare type
|
|
26
|
-
export declare type
|
|
27
|
-
export default class
|
|
24
|
+
export declare type TextFieldProps = typeof __propDef.props;
|
|
25
|
+
export declare type TextFieldEvents = typeof __propDef.events;
|
|
26
|
+
export declare type TextFieldSlots = typeof __propDef.slots;
|
|
27
|
+
export default class TextField extends SvelteComponentTyped<TextFieldProps, TextFieldEvents, TextFieldSlots> {
|
|
28
28
|
}
|
|
29
29
|
export {};
|
package/forms/Textfield.svelte
CHANGED
|
@@ -28,7 +28,6 @@ import '$lib/common/tailwind.css';
|
|
|
28
28
|
|
|
29
29
|
<style>
|
|
30
30
|
.input-container {
|
|
31
|
-
margin-top: 15px;
|
|
32
31
|
height: 50px;
|
|
33
32
|
position: relative;
|
|
34
33
|
width: var(--width, 100%);
|
|
@@ -130,7 +129,7 @@ import '$lib/common/tailwind.css';
|
|
|
130
129
|
class="label-outlined"
|
|
131
130
|
bind:this={labelElement}
|
|
132
131
|
>{label}</label>
|
|
133
|
-
<div class="flex content-center relative bottom-
|
|
132
|
+
<div class="flex content-center relative bottom-2 ml-2 mr-2">
|
|
134
133
|
<div>
|
|
135
134
|
<slot name="prepend-inner"></slot>
|
|
136
135
|
</div>
|
package/index.d.ts
CHANGED
|
@@ -1,2 +1,22 @@
|
|
|
1
1
|
export { default as Button } from './buttons/Button.svelte';
|
|
2
|
+
export { default as Card } from './common/Card.svelte';
|
|
3
|
+
export { default as Gesture } from './common/Gesture.svelte';
|
|
4
|
+
export { default as IntersectionObserver } from './common/IntersectionObserver.svelte';
|
|
5
|
+
export { default as TextField } from './forms/TextField.svelte';
|
|
6
|
+
export { default as Skeleton } from './forms/Skeleton.svelte';
|
|
7
|
+
export { default as AttachmentDownloader } from './forms/AttachmentDownloader.svelte';
|
|
8
|
+
export { default as Avatar } from './forms/Avatar.svelte';
|
|
9
|
+
export { default as Carousel } from './forms/Carousel.svelte';
|
|
10
|
+
export { default as DescriptiveAvatar } from './forms/DescriptiveAvatar.svelte';
|
|
11
|
+
export { default as Icon } from './forms/Icon.svelte';
|
|
12
|
+
export { default as Image } from './forms/Image.svelte';
|
|
13
|
+
export { default as ImageGrid } from './forms/ImageGrid.svelte';
|
|
14
|
+
export { default as BreadCrumb } from './navigation/BreadCrumb.svelte';
|
|
2
15
|
export { default as HeaderMenu } from './navigation/HeaderMenu.svelte';
|
|
16
|
+
export { default as Navigator } from './navigation/Navigator.svelte';
|
|
17
|
+
export { default as TabSwitcher } from './navigation/TabSwitcher.svelte';
|
|
18
|
+
export { default as ProgressBar } from './navigation/ProgressBar.svelte';
|
|
19
|
+
export { default as ProductCard } from './shop/ProductCard.svelte';
|
|
20
|
+
export { default as ProductGrid } from './shop/ProductCard.svelte';
|
|
21
|
+
export { default as ScollTimeLine } from './shop/ScrollTimeLine.svelte';
|
|
22
|
+
export { default as SimpleTimeLine } from './shop/SimpleTimeLine.svelte';
|
package/index.js
CHANGED
|
@@ -1,2 +1,31 @@
|
|
|
1
|
+
// buttons
|
|
1
2
|
export { default as Button } from './buttons/Button.svelte';
|
|
3
|
+
// common
|
|
4
|
+
export { default as Card } from './common/Card.svelte';
|
|
5
|
+
export { default as Gesture } from './common/Gesture.svelte';
|
|
6
|
+
export { default as IntersectionObserver } from './common/IntersectionObserver.svelte';
|
|
7
|
+
// forms
|
|
8
|
+
export { default as TextField } from './forms/TextField.svelte';
|
|
9
|
+
// loaders
|
|
10
|
+
export { default as Skeleton } from './forms/Skeleton.svelte';
|
|
11
|
+
// media
|
|
12
|
+
export { default as AttachmentDownloader } from './forms/AttachmentDownloader.svelte';
|
|
13
|
+
export { default as Avatar } from './forms/Avatar.svelte';
|
|
14
|
+
export { default as Carousel } from './forms/Carousel.svelte';
|
|
15
|
+
export { default as DescriptiveAvatar } from './forms/DescriptiveAvatar.svelte';
|
|
16
|
+
export { default as Icon } from './forms/Icon.svelte';
|
|
17
|
+
export { default as Image } from './forms/Image.svelte';
|
|
18
|
+
export { default as ImageGrid } from './forms/ImageGrid.svelte';
|
|
19
|
+
// navigation
|
|
20
|
+
export { default as BreadCrumb } from './navigation/BreadCrumb.svelte';
|
|
2
21
|
export { default as HeaderMenu } from './navigation/HeaderMenu.svelte';
|
|
22
|
+
export { default as Navigator } from './navigation/Navigator.svelte';
|
|
23
|
+
export { default as TabSwitcher } from './navigation/TabSwitcher.svelte';
|
|
24
|
+
// progress
|
|
25
|
+
export { default as ProgressBar } from './navigation/ProgressBar.svelte';
|
|
26
|
+
// shop
|
|
27
|
+
export { default as ProductCard } from './shop/ProductCard.svelte';
|
|
28
|
+
export { default as ProductGrid } from './shop/ProductCard.svelte';
|
|
29
|
+
// timeline
|
|
30
|
+
export { default as ScollTimeLine } from './shop/ScrollTimeLine.svelte';
|
|
31
|
+
export { default as SimpleTimeLine } from './shop/SimpleTimeLine.svelte';
|
package/loaders/Skeleton.svelte
CHANGED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
<script >export let title = undefined, description = undefined, borderColor = "#B8B8B8", iconColor = "#8D8D8D", borderWidth = '1px', maxWidth = undefined, maxHeight = undefined, minWidth = undefined, minHeight = undefined, width = 'fit-content', height = undefined;
|
|
2
|
+
import Icon from './Icon.svelte';
|
|
3
|
+
import Card from '../common/Card.svelte';
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<style>
|
|
7
|
+
.title {
|
|
8
|
+
font-size: 13pt;
|
|
9
|
+
font-weight: 700;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.description {
|
|
13
|
+
margin-top: 5px;
|
|
14
|
+
font-size: 9pt;
|
|
15
|
+
font-weight: 200;
|
|
16
|
+
}
|
|
17
|
+
</style>
|
|
18
|
+
|
|
19
|
+
<Card
|
|
20
|
+
outlined
|
|
21
|
+
borderColor={borderColor}
|
|
22
|
+
borderWidth={borderWidth}
|
|
23
|
+
width={width}
|
|
24
|
+
maxWidth={maxWidth}
|
|
25
|
+
minWidth={minWidth}
|
|
26
|
+
height={height}
|
|
27
|
+
maxHeight={maxHeight}
|
|
28
|
+
minHeight={minHeight}
|
|
29
|
+
on:click
|
|
30
|
+
>
|
|
31
|
+
<div
|
|
32
|
+
style:display="flex"
|
|
33
|
+
style:align-items="center"
|
|
34
|
+
>
|
|
35
|
+
<Icon
|
|
36
|
+
name="mdi-file"
|
|
37
|
+
size={40}
|
|
38
|
+
color={iconColor}
|
|
39
|
+
></Icon>
|
|
40
|
+
<div
|
|
41
|
+
style:margin-left="10px"
|
|
42
|
+
style:margin-right="10px"
|
|
43
|
+
style:margin-top="10px"
|
|
44
|
+
style:margin-bottom="10px"
|
|
45
|
+
>
|
|
46
|
+
{#if !!title}
|
|
47
|
+
<div
|
|
48
|
+
class="title"
|
|
49
|
+
>{title}</div>
|
|
50
|
+
{/if}
|
|
51
|
+
{#if !!description}
|
|
52
|
+
<div
|
|
53
|
+
class="description"
|
|
54
|
+
>{description}</div>
|
|
55
|
+
{/if}
|
|
56
|
+
</div>
|
|
57
|
+
</div>
|
|
58
|
+
</Card>
|
|
59
|
+
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
title?: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
borderColor?: string;
|
|
7
|
+
iconColor?: string;
|
|
8
|
+
borderWidth?: string;
|
|
9
|
+
maxWidth?: string;
|
|
10
|
+
maxHeight?: string;
|
|
11
|
+
minWidth?: string;
|
|
12
|
+
minHeight?: string;
|
|
13
|
+
width?: string;
|
|
14
|
+
height?: string;
|
|
15
|
+
};
|
|
16
|
+
events: {
|
|
17
|
+
click: CustomEvent<any>;
|
|
18
|
+
} & {
|
|
19
|
+
[evt: string]: CustomEvent<any>;
|
|
20
|
+
};
|
|
21
|
+
slots: {};
|
|
22
|
+
};
|
|
23
|
+
export declare type AttachmentDownloaderProps = typeof __propDef.props;
|
|
24
|
+
export declare type AttachmentDownloaderEvents = typeof __propDef.events;
|
|
25
|
+
export declare type AttachmentDownloaderSlots = typeof __propDef.slots;
|
|
26
|
+
export default class AttachmentDownloader extends SvelteComponentTyped<AttachmentDownloaderProps, AttachmentDownloaderEvents, AttachmentDownloaderSlots> {
|
|
27
|
+
}
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<script >export let src, width = "40px", maxWidth = undefined, minWidth = undefined, height = "40px", maxHeight = undefined, minHeight = undefined, borderRadius = "50%";
|
|
2
|
+
import Image from './Image.svelte';
|
|
3
|
+
</script>
|
|
4
|
+
|
|
5
|
+
<Image
|
|
6
|
+
src={src}
|
|
7
|
+
width={width}
|
|
8
|
+
maxWidth={maxWidth}
|
|
9
|
+
minWidth={minWidth}
|
|
10
|
+
height={height}
|
|
11
|
+
maxHeight={maxHeight}
|
|
12
|
+
minHeight={minHeight}
|
|
13
|
+
borderRadius={borderRadius}
|
|
14
|
+
disableHover={true}
|
|
15
|
+
showSkeletonLoader={true}
|
|
16
|
+
></Image>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
src: string;
|
|
5
|
+
width?: string;
|
|
6
|
+
maxWidth?: string;
|
|
7
|
+
minWidth?: string;
|
|
8
|
+
height?: string;
|
|
9
|
+
maxHeight?: string;
|
|
10
|
+
minHeight?: string;
|
|
11
|
+
borderRadius?: string;
|
|
12
|
+
};
|
|
13
|
+
events: {
|
|
14
|
+
[evt: string]: CustomEvent<any>;
|
|
15
|
+
};
|
|
16
|
+
slots: {};
|
|
17
|
+
};
|
|
18
|
+
export declare type AvatarProps = typeof __propDef.props;
|
|
19
|
+
export declare type AvatarEvents = typeof __propDef.events;
|
|
20
|
+
export declare type AvatarSlots = typeof __propDef.slots;
|
|
21
|
+
export default class Avatar extends SvelteComponentTyped<AvatarProps, AvatarEvents, AvatarSlots> {
|
|
22
|
+
}
|
|
23
|
+
export {};
|