flowbite-svelte 0.29.9 → 0.29.11
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/CHANGELOG.md +29 -0
- package/accordions/AccordionItem.svelte +1 -1
- package/avatar/Avatar.svelte +22 -19
- package/avatar/Avatar.svelte.d.ts +1 -2
- package/badges/Badge.svelte +70 -22
- package/badges/Badge.svelte.d.ts +6 -1
- package/drawer/Drawer.svelte.d.ts +1 -1
- package/footer/FooterCopyright.svelte +2 -1
- package/footer/FooterCopyright.svelte.d.ts +1 -0
- package/footer/FooterLink.svelte +1 -2
- package/forms/Select.svelte +5 -1
- package/forms/Select.svelte.d.ts +3 -1
- package/forms/Textarea.svelte +1 -0
- package/forms/Textarea.svelte.d.ts +1 -0
- package/index.d.ts +1 -0
- package/index.js +2 -0
- package/indicators/Indicator.svelte +61 -0
- package/indicators/Indicator.svelte.d.ts +24 -0
- package/modals/Modal.svelte +18 -13
- package/navbar/NavUl.svelte +2 -1
- package/navbar/NavUl.svelte.d.ts +2 -0
- package/package.json +2 -2
- package/paginations/PaginationItem.svelte +1 -1
- package/ratings/Rating.svelte +2 -2
- package/ratings/RatingComment.svelte +51 -51
- package/tables/TableHead.svelte +7 -2
- package/tables/TableHead.svelte.d.ts +1 -0
- package/types.d.ts +1 -1
- package/typography/Blockquote.svelte.d.ts +1 -1
- package/typography/P.svelte.d.ts +1 -1
- package/utils/backdrop.d.ts +2 -2
- package/utils/backdrop.js +2 -3
- package/avatar/Dot.svelte +0 -34
- package/avatar/Dot.svelte.d.ts +0 -23
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,35 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [0.29.11](https://github.com/themesberg/flowbite-svelte/compare/v0.29.10...v0.29.11) (2023-01-16)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* indicator comp ([#532](https://github.com/themesberg/flowbite-svelte/issues/532)) ([57ce4fc](https://github.com/themesberg/flowbite-svelte/commit/57ce4fcdce3965921c0f6edf71f6ae42c2d42b40))
|
|
11
|
+
* make <TableHead> slot more flexible ([#527](https://github.com/themesberg/flowbite-svelte/issues/527)) ([33803f2](https://github.com/themesberg/flowbite-svelte/commit/33803f23ce90f9425417f6417c70bc6928337bbe))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
* update badge component's style and doc ([#531](https://github.com/themesberg/flowbite-svelte/issues/531)) ([ce9af8c](https://github.com/themesberg/flowbite-svelte/commit/ce9af8cff8f6979f625b00fd165aa2ffadc41604))
|
|
17
|
+
|
|
18
|
+
### [0.29.10](https://github.com/themesberg/flowbite-svelte/compare/v0.29.9...v0.29.10) (2023-01-13)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### Features
|
|
22
|
+
|
|
23
|
+
* add on:input to textarea ([#518](https://github.com/themesberg/flowbite-svelte/issues/518)) ([318ffbf](https://github.com/themesberg/flowbite-svelte/commit/318ffbf676366fcc7bd08c538270800d90ce5189))
|
|
24
|
+
* make Select receive custom options ([#514](https://github.com/themesberg/flowbite-svelte/issues/514)) ([a58b410](https://github.com/themesberg/flowbite-svelte/commit/a58b410a3ffce29432907457baeae8c20977ef42))
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
### Bug Fixes
|
|
28
|
+
|
|
29
|
+
* [#530](https://github.com/themesberg/flowbite-svelte/issues/530) ([16c6650](https://github.com/themesberg/flowbite-svelte/commit/16c66504d42a378705a120fae5a6ca147a776bd4))
|
|
30
|
+
* export slide params ([#516](https://github.com/themesberg/flowbite-svelte/issues/516)) ([c8dd81d](https://github.com/themesberg/flowbite-svelte/commit/c8dd81d5493b908a903648104f0371ac143c1167))
|
|
31
|
+
* modal layout ([#526](https://github.com/themesberg/flowbite-svelte/issues/526)) ([6b25019](https://github.com/themesberg/flowbite-svelte/commit/6b250190f25feefe21191b3d8cab709fe28c6908))
|
|
32
|
+
* npm run check corrections ([#517](https://github.com/themesberg/flowbite-svelte/issues/517)) ([f1f89e3](https://github.com/themesberg/flowbite-svelte/commit/f1f89e30221fd3bb63fed174fe825a46f780d1c7))
|
|
33
|
+
|
|
5
34
|
### [0.29.9](https://github.com/themesberg/flowbite-svelte/compare/v0.29.8...v0.29.9) (2023-01-01)
|
|
6
35
|
|
|
7
36
|
|
|
@@ -35,7 +35,7 @@ onMount(() => {
|
|
|
35
35
|
// this will trigger unsubscribe on destroy
|
|
36
36
|
return selected.subscribe((x) => (open = x === self));
|
|
37
37
|
});
|
|
38
|
-
const handleToggle = (
|
|
38
|
+
const handleToggle = (_) => selected.set(open ? {} : self);
|
|
39
39
|
let buttonClass;
|
|
40
40
|
$: buttonClass = classNames(defaultClass, ctx.flush ? 'py-5' : 'p-5', open && (ctx.flush ? 'text-gray-900 dark:text-white' : activeClasses || ctx.activeClasses), !open && (ctx.flush ? 'text-gray-500 dark:text-gray-400' : inactiveClasses || ctx.inactiveClasses), $$props.class);
|
|
41
41
|
</script>
|
package/avatar/Avatar.svelte
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
<script>import classNames from 'classnames';
|
|
2
2
|
import AvatarPlaceholder from './Placeholder.svelte';
|
|
3
|
-
import
|
|
3
|
+
import Indicator from '../indicators/Indicator.svelte';
|
|
4
4
|
export let src = '';
|
|
5
5
|
export let href = undefined;
|
|
6
6
|
export let rounded = false;
|
|
7
7
|
export let border = false;
|
|
8
8
|
export let stacked = false;
|
|
9
|
-
export let dot =
|
|
9
|
+
export let dot = undefined;
|
|
10
10
|
export let alt = '';
|
|
11
11
|
export let size = 'md';
|
|
12
|
+
$: dot = dot && { placement: 'top-right', color: 'gray', size: 'lg', ...dot };
|
|
13
|
+
$: dot && console.log(dot);
|
|
12
14
|
const sizes = {
|
|
13
15
|
xs: 'w-6 h-6',
|
|
14
16
|
sm: 'w-8 h-8',
|
|
@@ -20,20 +22,21 @@ let avatarClass;
|
|
|
20
22
|
$: avatarClass = classNames(rounded ? 'rounded' : 'rounded-full', border && 'p-1 ring-2 ring-gray-300 dark:ring-gray-500', sizes[size], stacked && 'border-2 -ml-4 border-white dark:border-gray-800', 'bg-gray-100 dark:bg-gray-600 text-gray-600 dark:text-gray-300', $$props.class);
|
|
21
23
|
</script>
|
|
22
24
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
{
|
|
31
|
-
|
|
32
|
-
<slot
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
25
|
+
{#if !src || !!href || $$slots.default || dot}
|
|
26
|
+
<svelte:element
|
|
27
|
+
this={href ? 'a' : 'div'}
|
|
28
|
+
{href}
|
|
29
|
+
{...$$restProps}
|
|
30
|
+
class="relative flex justify-center items-center {avatarClass}">
|
|
31
|
+
{#if src}
|
|
32
|
+
<img {alt} {src} class={rounded ? 'rounded' : 'rounded-full'} />
|
|
33
|
+
{:else}
|
|
34
|
+
<slot><AvatarPlaceholder {rounded} /></slot>
|
|
35
|
+
{/if}
|
|
36
|
+
{#if dot}
|
|
37
|
+
<Indicator border offset={rounded} {...dot} />
|
|
38
|
+
{/if}
|
|
39
|
+
</svelte:element>
|
|
40
|
+
{:else}
|
|
41
|
+
<img {alt} {src} {...$$restProps} class={avatarClass} />
|
|
42
|
+
{/if}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
import type { DotType } from '../types';
|
|
3
2
|
declare const __propDef: {
|
|
4
3
|
props: {
|
|
5
4
|
[x: string]: any;
|
|
@@ -8,7 +7,7 @@ declare const __propDef: {
|
|
|
8
7
|
rounded?: boolean | undefined;
|
|
9
8
|
border?: boolean | undefined;
|
|
10
9
|
stacked?: boolean | undefined;
|
|
11
|
-
dot?:
|
|
10
|
+
dot?: object | undefined;
|
|
12
11
|
alt?: string | undefined;
|
|
13
12
|
size?: "xs" | "sm" | "md" | "lg" | "xl" | undefined;
|
|
14
13
|
};
|
package/badges/Badge.svelte
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
<script>import
|
|
1
|
+
<script>import { createEventDispatcher } from 'svelte';
|
|
2
|
+
import classNames from 'classnames';
|
|
2
3
|
import CloseButton from '../utils/CloseButton.svelte';
|
|
3
4
|
export let color = 'blue';
|
|
4
5
|
export let large = false;
|
|
6
|
+
export let border = false;
|
|
5
7
|
export let href = undefined;
|
|
6
8
|
export let rounded = false;
|
|
7
9
|
export let index = false;
|
|
8
10
|
export let dismissable = false;
|
|
9
|
-
export let baseClass = 'inline-flex items-center justify-center -mb-0.5';
|
|
10
|
-
let hidden = false;
|
|
11
11
|
const colors = {
|
|
12
|
-
blue: 'bg-blue-100 text-blue-800 dark:bg-blue-
|
|
12
|
+
blue: 'bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-300',
|
|
13
13
|
dark: 'bg-gray-100 text-gray-800 dark:bg-gray-700 dark:text-gray-300',
|
|
14
|
-
red: 'bg-red-100 text-red-800 dark:bg-red-
|
|
15
|
-
green: 'bg-green-100 text-green-800 dark:bg-green-
|
|
16
|
-
yellow: 'bg-yellow-100 text-yellow-800 dark:bg-yellow-
|
|
17
|
-
indigo: 'bg-indigo-100 text-indigo-800 dark:bg-indigo-
|
|
18
|
-
purple: 'bg-purple-100 text-purple-800 dark:bg-purple-
|
|
19
|
-
pink: 'bg-pink-100 text-pink-800 dark:bg-pink-
|
|
14
|
+
red: 'bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-300',
|
|
15
|
+
green: 'bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-300',
|
|
16
|
+
yellow: 'bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-300',
|
|
17
|
+
indigo: 'bg-indigo-100 text-indigo-800 dark:bg-indigo-900 dark:text-indigo-300',
|
|
18
|
+
purple: 'bg-purple-100 text-purple-800 dark:bg-purple-900 dark:text-purple-300',
|
|
19
|
+
pink: 'bg-pink-100 text-pink-800 dark:bg-pink-900 dark:text-pink-300',
|
|
20
20
|
['!blue']: 'bg-blue-500 text-blue-100',
|
|
21
21
|
['!dark']: 'bg-gray-500 text-gray-100',
|
|
22
22
|
['!red']: 'bg-red-500 text-white',
|
|
@@ -26,26 +26,74 @@ const colors = {
|
|
|
26
26
|
['!purple']: 'bg-purple-500 text-purple-100',
|
|
27
27
|
['!pink']: 'bg-pink-500 text-pink-100'
|
|
28
28
|
};
|
|
29
|
-
const
|
|
30
|
-
blue: '
|
|
31
|
-
dark: '
|
|
32
|
-
red: '
|
|
33
|
-
green: '
|
|
34
|
-
yellow: '
|
|
35
|
-
indigo: '
|
|
36
|
-
purple: '
|
|
37
|
-
pink: '
|
|
29
|
+
const borderedColors = {
|
|
30
|
+
blue: 'bg-blue-100 text-blue-800 dark:bg-gray-700 dark:text-blue-400 border-blue-400',
|
|
31
|
+
dark: 'bg-gray-100 text-gray-800 dark:bg-gray-700 dark:text-gray-400 border-gray-500',
|
|
32
|
+
red: 'bg-red-100 text-red-800 dark:bg-gray-700 dark:text-red-400 border-red-400',
|
|
33
|
+
green: 'bg-green-100 text-green-800 dark:bg-gray-700 dark:text-green-400 border-green-400',
|
|
34
|
+
yellow: 'bg-yellow-100 text-yellow-800 dark:bg-gray-700 dark:text-yellow-300 border-yellow-300',
|
|
35
|
+
indigo: 'bg-indigo-100 text-indigo-800 dark:bg-gray-700 dark:text-indigo-400 border-indigo-400',
|
|
36
|
+
purple: 'bg-purple-100 text-purple-800 dark:bg-gray-700 dark:text-purple-400 border-purple-400',
|
|
37
|
+
pink: 'bg-pink-100 text-pink-800 dark:bg-gray-700 dark:text-pink-400 border-pink-400'
|
|
38
|
+
};
|
|
39
|
+
const hoverColors = {
|
|
40
|
+
blue: 'hover:bg-blue-200',
|
|
41
|
+
dark: 'hover:bg-gray-200',
|
|
42
|
+
red: 'hover:bg-red-200',
|
|
43
|
+
green: 'hover:bg-green-200',
|
|
44
|
+
yellow: 'hover:bg-yellow-200',
|
|
45
|
+
indigo: 'hover:bg-indigo-200',
|
|
46
|
+
purple: 'hover:bg-purple-200',
|
|
47
|
+
pink: 'hover:bg-pink-200'
|
|
38
48
|
};
|
|
49
|
+
const baseClass = 'font-medium inline-flex items-center justify-center px-2.5 py-0.5';
|
|
50
|
+
let transition = false;
|
|
39
51
|
let badgeClass;
|
|
40
|
-
$: badgeClass = classNames(baseClass, large ? 'text-sm
|
|
52
|
+
$: badgeClass = classNames(baseClass, large ? 'text-sm' : 'text-xs', border ? `border ${borderedColors[color]}` : colors[color], href && hoverColors[color], rounded ? 'rounded-full' : 'rounded', index && 'absolute font-bold border-2 border-white dark:border-gray-900', index && (large ? 'w-7 h-7 -top-3 -right-3' : 'w-6 h-6 -top-2 -right-2'), transition && 'transition-opacity duration-300 ease-out opacity-0', $$props.class);
|
|
53
|
+
const closeBtnBaseClass = 'inline-flex items-center !p-0.5 !m-0 !ml-2 text-sm bg-transparent rounded-sm focus:!ring-0';
|
|
54
|
+
// uncomment the following lines to completely overwrite <CloseButton>'s color palette
|
|
55
|
+
// in case <CloseButton>'s color palette is changed in the future
|
|
56
|
+
// const closeBtnColors = {
|
|
57
|
+
// blue: '!text-blue-400 hover:!bg-blue-200 hover:!text-blue-900 dark:hover:!bg-blue-800 dark:hover:!text-blue-300',
|
|
58
|
+
// dark: '!text-gray-400 hover:!bg-gray-200 hover:!text-gray-900 dark:hover:!bg-gray-600 dark:hover:!text-gray-300',
|
|
59
|
+
// red: '!text-red-400 hover:!bg-red-200 hover:!text-red-900 dark:hover:!bg-red-800 dark:hover:!text-red-300',
|
|
60
|
+
// green: '!text-green-400 hover:!bg-green-200 hover:!text-green-900 dark:hover:!bg-green-800 dark:hover:!text-green-300',
|
|
61
|
+
// yellow: '!text-yellow-400 hover:!bg-yellow-200 hover:!text-yellow-900 dark:hover:!bg-yellow-800 dark:hover:!text-yellow-300',
|
|
62
|
+
// indigo: '!text-indigo-400 hover:!bg-indigo-200 hover:!text-indigo-900 dark:hover:!bg-indigo-800 dark:hover:!text-indigo-300',
|
|
63
|
+
// purple: '!text-purple-400 hover:!bg-purple-200 hover:!text-purple-900 dark:hover:!bg-purple-800 dark:hover:!text-purple-300',
|
|
64
|
+
// pink: '!text-pink-400 hover:!bg-pink-200 hover:!text-pink-900 dark:hover:!bg-pink-800 dark:hover:!text-pink-300'
|
|
65
|
+
// };
|
|
66
|
+
// only overwrite necessary colors (<CloseButton> v0.29.10)
|
|
67
|
+
const closeBtnColors = {
|
|
68
|
+
blue: 'text-blue-400 hover:text-blue-900 dark:hover:!bg-blue-800 dark:hover:text-blue-300',
|
|
69
|
+
dark: 'text-gray-400 hover:!text-gray-400 hover:!bg-gray-200 dark:hover:!text-gray-300',
|
|
70
|
+
red: 'text-red-400 hover:text-red-900 dark:hover:!bg-red-800 dark:hover:text-red-300',
|
|
71
|
+
green: 'text-green-400 hover:text-green-900 dark:hover:!bg-green-800 dark:hover:text-green-300',
|
|
72
|
+
yellow: 'text-yellow-400 hover:text-yellow-900 dark:hover:!bg-yellow-800 dark:hover:text-yellow-300',
|
|
73
|
+
indigo: 'text-indigo-400 hover:text-indigo-900 dark:hover:!bg-indigo-800 dark:hover:text-indigo-300',
|
|
74
|
+
purple: 'text-purple-400 hover:text-purple-900 dark:hover:!bg-purple-800 dark:hover:text-purple-300',
|
|
75
|
+
pink: 'text-pink-400 hover:text-pink-900 dark:hover:!bg-pink-800 dark:hover:text-pink-300'
|
|
76
|
+
};
|
|
77
|
+
let closeBtnClass;
|
|
78
|
+
$: closeBtnClass = classNames(closeBtnBaseClass, closeBtnColors[color]);
|
|
79
|
+
let hidden = false;
|
|
80
|
+
const dispatch = createEventDispatcher();
|
|
41
81
|
const handleHide = () => {
|
|
42
|
-
|
|
82
|
+
transition = true;
|
|
83
|
+
setTimeout(() => {
|
|
84
|
+
hidden = true;
|
|
85
|
+
}, 300);
|
|
86
|
+
dispatch('dismiss', {
|
|
87
|
+
message: 'The badge will be dismissed.'
|
|
88
|
+
});
|
|
43
89
|
};
|
|
44
90
|
</script>
|
|
45
91
|
|
|
46
92
|
<svelte:element this={href ? 'a' : 'span'} {href} {...$$restProps} class={badgeClass} class:hidden>
|
|
47
93
|
<slot />
|
|
48
94
|
{#if dismissable}
|
|
49
|
-
<
|
|
95
|
+
<slot name="closeBtn" {handleHide}>
|
|
96
|
+
<CloseButton {color} on:click={handleHide} size={large ? 'sm' : 'xs'} name="Remove badge" class={closeBtnClass} />
|
|
97
|
+
</slot>
|
|
50
98
|
{/if}
|
|
51
99
|
</svelte:element>
|
package/badges/Badge.svelte.d.ts
CHANGED
|
@@ -4,17 +4,22 @@ declare const __propDef: {
|
|
|
4
4
|
[x: string]: any;
|
|
5
5
|
color?: "red" | "yellow" | "green" | "indigo" | "purple" | "pink" | "blue" | "dark" | undefined;
|
|
6
6
|
large?: boolean | undefined;
|
|
7
|
+
border?: boolean | undefined;
|
|
7
8
|
href?: string | undefined;
|
|
8
9
|
rounded?: boolean | undefined;
|
|
9
10
|
index?: boolean | undefined;
|
|
10
11
|
dismissable?: boolean | undefined;
|
|
11
|
-
baseClass?: string | undefined;
|
|
12
12
|
};
|
|
13
13
|
events: {
|
|
14
|
+
dismiss: CustomEvent<any>;
|
|
15
|
+
} & {
|
|
14
16
|
[evt: string]: CustomEvent<any>;
|
|
15
17
|
};
|
|
16
18
|
slots: {
|
|
17
19
|
default: {};
|
|
20
|
+
closeBtn: {
|
|
21
|
+
handleHide: () => void;
|
|
22
|
+
};
|
|
18
23
|
};
|
|
19
24
|
};
|
|
20
25
|
export type BadgeProps = typeof __propDef.props;
|
|
@@ -14,7 +14,7 @@ declare const __propDef: {
|
|
|
14
14
|
backdrop?: boolean | undefined;
|
|
15
15
|
bgColor?: string | undefined;
|
|
16
16
|
bgOpacity?: string | undefined;
|
|
17
|
-
placement?: "
|
|
17
|
+
placement?: "bottom" | "left" | "right" | "top" | undefined;
|
|
18
18
|
id?: string | undefined;
|
|
19
19
|
divClass?: string | undefined;
|
|
20
20
|
transitionParams?: drawerTransitionParamTypes | undefined;
|
|
@@ -5,6 +5,7 @@ export let year = new Date().getFullYear();
|
|
|
5
5
|
export let href = '';
|
|
6
6
|
export let by = '';
|
|
7
7
|
export let target = undefined;
|
|
8
|
+
export let copyrightMessage = 'All Rights Reserved.';
|
|
8
9
|
</script>
|
|
9
10
|
|
|
10
11
|
<span class={classNames(spanClass, $$props.class)}>
|
|
@@ -16,5 +17,5 @@ export let target = undefined;
|
|
|
16
17
|
{:else}
|
|
17
18
|
<span class="ml-1">{by}</span>
|
|
18
19
|
{/if}
|
|
19
|
-
.
|
|
20
|
+
. {copyrightMessage}
|
|
20
21
|
</span>
|
package/footer/FooterLink.svelte
CHANGED
package/forms/Select.svelte
CHANGED
|
@@ -17,9 +17,13 @@ $: selectClass = classNames(common, underline ? underlineClass : defaultClass, s
|
|
|
17
17
|
</script>
|
|
18
18
|
|
|
19
19
|
<select {...$$restProps} bind:value class={selectClass} on:change on:contextmenu on:input>
|
|
20
|
-
|
|
20
|
+
{#if placeholder}
|
|
21
|
+
<option disabled selected value="">{placeholder}</option>
|
|
22
|
+
{/if}
|
|
21
23
|
|
|
22
24
|
{#each items as { value, name }}
|
|
23
25
|
<option {value}>{name}</option>
|
|
26
|
+
{:else}
|
|
27
|
+
<slot />
|
|
24
28
|
{/each}
|
|
25
29
|
</select>
|
package/forms/Select.svelte.d.ts
CHANGED
package/forms/Textarea.svelte
CHANGED
package/index.d.ts
CHANGED
|
@@ -41,6 +41,7 @@ export { default as SimpleSearch } from './forms/SimpleSearch.svelte';
|
|
|
41
41
|
export { default as Textarea } from './forms/Textarea.svelte';
|
|
42
42
|
export { default as Toggle } from './forms/Toggle.svelte';
|
|
43
43
|
export { default as VoiceSearch } from './forms/VoiceSearch.svelte';
|
|
44
|
+
export { default as Indicator } from './indicators/Indicator.svelte';
|
|
44
45
|
export { default as Kbd } from './kbd/Kbd.svelte';
|
|
45
46
|
export { default as ArrowKeyDown } from './kbd/ArrowKeyDown.svelte';
|
|
46
47
|
export { default as ArrowKeyLeft } from './kbd/ArrowKeyLeft.svelte';
|
package/index.js
CHANGED
|
@@ -56,6 +56,8 @@ export { default as SimpleSearch } from './forms/SimpleSearch.svelte';
|
|
|
56
56
|
export { default as Textarea } from './forms/Textarea.svelte';
|
|
57
57
|
export { default as Toggle } from './forms/Toggle.svelte';
|
|
58
58
|
export { default as VoiceSearch } from './forms/VoiceSearch.svelte';
|
|
59
|
+
// Indicator
|
|
60
|
+
export { default as Indicator } from './indicators/Indicator.svelte';
|
|
59
61
|
// Kbd
|
|
60
62
|
export { default as Kbd } from './kbd/Kbd.svelte';
|
|
61
63
|
export { default as ArrowKeyDown } from './kbd/ArrowKeyDown.svelte';
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
<script>import classNames from 'classnames';
|
|
2
|
+
export let color = 'gray';
|
|
3
|
+
export let rounded = false;
|
|
4
|
+
export let size = 'md';
|
|
5
|
+
export let border = false;
|
|
6
|
+
export let placement = undefined;
|
|
7
|
+
export let offset = true;
|
|
8
|
+
const colors = {
|
|
9
|
+
gray: 'bg-gray-200',
|
|
10
|
+
dark: 'bg-gray-900 dark:bg-gray-700',
|
|
11
|
+
blue: 'bg-blue-600',
|
|
12
|
+
green: 'bg-green-500',
|
|
13
|
+
red: 'bg-red-500',
|
|
14
|
+
purple: 'bg-purple-500',
|
|
15
|
+
indigo: 'bg-indigo-500',
|
|
16
|
+
yellow: 'bg-yellow-300',
|
|
17
|
+
teal: 'bg-teal-500',
|
|
18
|
+
none: ''
|
|
19
|
+
};
|
|
20
|
+
const sizes = {
|
|
21
|
+
xs: 'w-2 h-2',
|
|
22
|
+
sm: 'w-2.5 h-2.5',
|
|
23
|
+
md: 'w-3 h-3',
|
|
24
|
+
lg: 'w-3.5 h-3.5',
|
|
25
|
+
xl: 'w-6 h-6'
|
|
26
|
+
};
|
|
27
|
+
const placements = {
|
|
28
|
+
// top
|
|
29
|
+
'top-left': 'top-0 left-0',
|
|
30
|
+
'top-center': 'top-0 left-1/2 -translate-x-1/2',
|
|
31
|
+
'top-right': 'top-0 right-0',
|
|
32
|
+
// center
|
|
33
|
+
'center-left': 'top-1/2 -translate-y-1/2 left-0',
|
|
34
|
+
center: 'top-1/2 -translate-y-1/2 left-1/2 -translate-x-1/2',
|
|
35
|
+
'center-right': 'top-1/2 -translate-y-1/2 right-0',
|
|
36
|
+
// bottom
|
|
37
|
+
'bottom-left': 'bottom-0 left-0',
|
|
38
|
+
'bottom-center': 'bottom-0 left-1/2 -translate-x-1/2',
|
|
39
|
+
'bottom-right': 'bottom-0 right-0'
|
|
40
|
+
};
|
|
41
|
+
const offsets = {
|
|
42
|
+
// top
|
|
43
|
+
'top-left': '-translate-x-1/3 -translate-y-1/3',
|
|
44
|
+
'top-center': '-translate-y-1/3',
|
|
45
|
+
'top-right': 'translate-x-1/3 -translate-y-1/3',
|
|
46
|
+
// center
|
|
47
|
+
'center-left': '-translate-x-1/3',
|
|
48
|
+
center: '',
|
|
49
|
+
'center-right': 'translate-x-1/3',
|
|
50
|
+
// bottom
|
|
51
|
+
'bottom-left': '-translate-x-1/3 translate-y-1/3',
|
|
52
|
+
'bottom-center': 'translate-y-1/3',
|
|
53
|
+
'bottom-right': 'translate-x-1/3 translate-y-1/3'
|
|
54
|
+
};
|
|
55
|
+
let dotClass;
|
|
56
|
+
$: dotClass = classNames('flex-shrink-0', rounded ? 'rounded' : 'rounded-full', border && 'border-2 border-white dark:border-gray-800', sizes[size], colors[color], $$slots.default && 'inline-flex items-center justify-center', placement && 'absolute ' + placements[placement], placement && offset && offsets[placement], $$props.class);
|
|
57
|
+
let divClass;
|
|
58
|
+
$: divClass = classNames('relative flex-shrink-0');
|
|
59
|
+
</script>
|
|
60
|
+
|
|
61
|
+
<div class={dotClass}><slot /></div>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
[x: string]: any;
|
|
5
|
+
color?: "gray" | "red" | "yellow" | "green" | "indigo" | "purple" | "blue" | "dark" | "none" | "teal" | undefined;
|
|
6
|
+
rounded?: boolean | undefined;
|
|
7
|
+
size?: "xs" | "sm" | "md" | "lg" | "xl" | undefined;
|
|
8
|
+
border?: boolean | undefined;
|
|
9
|
+
placement?: 'top-left' | 'top-center' | 'top-right' | 'center-left' | 'center' | 'center-right' | 'bottom-left' | 'bottom-center' | 'bottom-right' | undefined;
|
|
10
|
+
offset?: boolean | undefined;
|
|
11
|
+
};
|
|
12
|
+
events: {
|
|
13
|
+
[evt: string]: CustomEvent<any>;
|
|
14
|
+
};
|
|
15
|
+
slots: {
|
|
16
|
+
default: {};
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
export type IndicatorProps = typeof __propDef.props;
|
|
20
|
+
export type IndicatorEvents = typeof __propDef.events;
|
|
21
|
+
export type IndicatorSlots = typeof __propDef.slots;
|
|
22
|
+
export default class Indicator extends SvelteComponentTyped<IndicatorProps, IndicatorEvents, IndicatorSlots> {
|
|
23
|
+
}
|
|
24
|
+
export {};
|
package/modals/Modal.svelte
CHANGED
|
@@ -62,15 +62,14 @@ const sizes = {
|
|
|
62
62
|
const onAutoClose = (e) => {
|
|
63
63
|
const target = e.target;
|
|
64
64
|
if (autoclose && target?.tagName === 'BUTTON')
|
|
65
|
-
|
|
65
|
+
hide(e);
|
|
66
66
|
};
|
|
67
|
-
const hide = () => {
|
|
67
|
+
const hide = (e) => {
|
|
68
|
+
e.preventDefault();
|
|
68
69
|
open = false;
|
|
69
70
|
};
|
|
70
|
-
let mainClass;
|
|
71
|
-
$: mainClass = classNames('flex overflow-hidden fixed top-0 right-0 left-0 z-50 w-full md:inset-0 h-modal md:h-full', backdropClasses, ...getPlacementClasses());
|
|
72
71
|
let frameClass;
|
|
73
|
-
$: frameClass = classNames('relative flex flex-col
|
|
72
|
+
$: frameClass = classNames('relative flex flex-col mx-auto', $$props.class);
|
|
74
73
|
const isScrollable = (e) => [
|
|
75
74
|
e.scrollWidth > e.clientWidth && ['scroll', 'auto'].indexOf(getComputedStyle(e).overflowX) >= 0,
|
|
76
75
|
e.scrollHeight > e.clientHeight && ['scroll', 'auto'].indexOf(getComputedStyle(e).overflowY) >= 0
|
|
@@ -82,22 +81,28 @@ function preventWheelDefault(e) {
|
|
|
82
81
|
}
|
|
83
82
|
function handleKeys(e) {
|
|
84
83
|
if (e.key === 'Escape' && !permanent)
|
|
85
|
-
return hide();
|
|
84
|
+
return hide(e);
|
|
86
85
|
}
|
|
87
86
|
</script>
|
|
88
87
|
|
|
89
88
|
{#if open}
|
|
89
|
+
<!-- backdrop -->
|
|
90
|
+
<div class={classNames('fixed inset-0 z-40', backdropClasses)} />
|
|
91
|
+
<!-- dialog -->
|
|
90
92
|
<div
|
|
91
|
-
|
|
92
|
-
class={mainClass}
|
|
93
|
-
aria-modal="true"
|
|
94
|
-
role="dialog"
|
|
95
|
-
on:keydown|preventDefault={handleKeys}
|
|
93
|
+
on:keydown={handleKeys}
|
|
96
94
|
on:wheel|preventDefault
|
|
97
95
|
use:prepareFocus
|
|
98
96
|
use:focusTrap
|
|
99
|
-
on:click={autoclose ? onAutoClose : null}
|
|
100
|
-
|
|
97
|
+
on:click={autoclose ? onAutoClose : null}
|
|
98
|
+
class={classNames(
|
|
99
|
+
'fixed top-0 left-0 right-0 h-modal md:inset-0 md:h-full z-50 w-full p-4 flex',
|
|
100
|
+
...getPlacementClasses()
|
|
101
|
+
)}
|
|
102
|
+
tabindex="-1"
|
|
103
|
+
aria-modal="true"
|
|
104
|
+
role="dialog">
|
|
105
|
+
<div class="flex relative {sizes[size]} w-full max-h-full">
|
|
101
106
|
<!-- Modal content -->
|
|
102
107
|
<Frame rounded shadow {...$$restProps} class={frameClass}>
|
|
103
108
|
<!-- Modal header -->
|
package/navbar/NavUl.svelte
CHANGED
|
@@ -5,6 +5,7 @@ import Frame from '../utils/Frame.svelte';
|
|
|
5
5
|
export let divClass = 'w-full md:block md:w-auto';
|
|
6
6
|
export let ulClass = 'flex flex-col p-4 mt-4 md:flex-row md:space-x-8 md:mt-0 md:text-sm md:font-medium';
|
|
7
7
|
export let hidden = true;
|
|
8
|
+
export let slideParams = { delay: 250, duration: 500, easing: quintOut };
|
|
8
9
|
let _divClass;
|
|
9
10
|
$: _divClass = classNames(divClass, $$props.class);
|
|
10
11
|
let _ulClass;
|
|
@@ -14,7 +15,7 @@ $$props.class);
|
|
|
14
15
|
</script>
|
|
15
16
|
|
|
16
17
|
{#if !hidden}
|
|
17
|
-
<div {...$$restProps} class={_divClass} transition:slide={
|
|
18
|
+
<div {...$$restProps} class={_divClass} transition:slide={slideParams}>
|
|
18
19
|
<Frame tag="ul" border rounded color="navbarUl" class={_ulClass}>
|
|
19
20
|
<slot />
|
|
20
21
|
</Frame>
|
package/navbar/NavUl.svelte.d.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
import { type SlideParams } from 'svelte/transition';
|
|
2
3
|
declare const __propDef: {
|
|
3
4
|
props: {
|
|
4
5
|
[x: string]: any;
|
|
5
6
|
divClass?: string | undefined;
|
|
6
7
|
ulClass?: string | undefined;
|
|
7
8
|
hidden?: boolean | undefined;
|
|
9
|
+
slideParams?: SlideParams | undefined;
|
|
8
10
|
};
|
|
9
11
|
events: {
|
|
10
12
|
[evt: string]: CustomEvent<any>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "flowbite-svelte",
|
|
3
|
-
"version": "0.29.
|
|
3
|
+
"version": "0.29.11",
|
|
4
4
|
"description": "Flowbite components for Svelte",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"author": {
|
|
@@ -108,7 +108,6 @@
|
|
|
108
108
|
"./accordions/AccordionItem.svelte": "./accordions/AccordionItem.svelte",
|
|
109
109
|
"./alerts/Alert.svelte": "./alerts/Alert.svelte",
|
|
110
110
|
"./avatar/Avatar.svelte": "./avatar/Avatar.svelte",
|
|
111
|
-
"./avatar/Dot.svelte": "./avatar/Dot.svelte",
|
|
112
111
|
"./avatar/Placeholder.svelte": "./avatar/Placeholder.svelte",
|
|
113
112
|
"./badges/Badge.svelte": "./badges/Badge.svelte",
|
|
114
113
|
"./breadcrumbs/Breadcrumb.svelte": "./breadcrumbs/Breadcrumb.svelte",
|
|
@@ -155,6 +154,7 @@
|
|
|
155
154
|
"./forms/Toggle.svelte": "./forms/Toggle.svelte",
|
|
156
155
|
"./forms/VoiceSearch.svelte": "./forms/VoiceSearch.svelte",
|
|
157
156
|
".": "./index.js",
|
|
157
|
+
"./indicators/Indicator.svelte": "./indicators/Indicator.svelte",
|
|
158
158
|
"./kbd/ArrowKeyDown.svelte": "./kbd/ArrowKeyDown.svelte",
|
|
159
159
|
"./kbd/ArrowKeyLeft.svelte": "./kbd/ArrowKeyLeft.svelte",
|
|
160
160
|
"./kbd/ArrowKeyRight.svelte": "./kbd/ArrowKeyRight.svelte",
|
package/ratings/Rating.svelte
CHANGED
|
@@ -17,12 +17,12 @@ let grayStars = total - roundedRating;
|
|
|
17
17
|
<p class="ml-2 text-sm font-bold text-gray-900 dark:text-white">{rating}</p>
|
|
18
18
|
<slot />
|
|
19
19
|
{:else}
|
|
20
|
-
{#each Array(roundedRating) as _
|
|
20
|
+
{#each Array(roundedRating) as _}
|
|
21
21
|
<slot name="ratingUp">
|
|
22
22
|
<Star variation="solid" {size} class="text-yellow-300 dark:text-yellow-200" />
|
|
23
23
|
</slot>
|
|
24
24
|
{/each}
|
|
25
|
-
{#each Array(grayStars) as _
|
|
25
|
+
{#each Array(grayStars) as _}
|
|
26
26
|
<slot name="ratingDown">
|
|
27
27
|
<Star {size} class="text-gray-300 dark:text-gray-500" />
|
|
28
28
|
</slot>
|
|
@@ -10,55 +10,55 @@ let grayStars = comment.total - roundedRating;
|
|
|
10
10
|
</script>
|
|
11
11
|
|
|
12
12
|
<article>
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
13
|
+
<div class="flex items-center mb-4 space-x-4">
|
|
14
|
+
<img class="w-10 h-10 rounded-full" src={comment.user.img.src} alt={comment.user.img.alt} />
|
|
15
|
+
<div class="space-y-1 font-medium dark:text-white">
|
|
16
|
+
<p>
|
|
17
|
+
{comment.user.name}
|
|
18
|
+
<time datetime="2014-08-16 19:00" class="block text-sm text-gray-500 dark:text-gray-400"
|
|
19
|
+
>{comment.user.joined}</time>
|
|
20
|
+
</p>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
23
|
+
<div class="flex items-center mb-1">
|
|
24
|
+
{#each Array(roundedRating) as _}
|
|
25
|
+
<slot name="ratingUp">
|
|
26
|
+
<Star variation="solid" size="24" class="text-yellow-300 dark:text-yellow-200" />
|
|
27
|
+
</slot>
|
|
28
|
+
{/each}
|
|
29
|
+
{#each Array(grayStars) as _}
|
|
30
|
+
<slot name="ratingDown">
|
|
31
|
+
<Star size="24" class="px-0.5 text-gray-300 dark:text-gray-500" />
|
|
32
|
+
</slot>
|
|
33
|
+
{/each}
|
|
34
|
+
{#if comment.heading}
|
|
35
|
+
<h3 class="ml-2 text-sm font-semibold text-gray-900 dark:text-white">
|
|
36
|
+
{comment.heading}
|
|
37
|
+
</h3>
|
|
38
|
+
{/if}
|
|
39
|
+
</div>
|
|
40
|
+
{#if comment.address || comment.datetime}
|
|
41
|
+
<footer class="mb-5 text-sm text-gray-500 dark:text-gray-400">
|
|
42
|
+
<p>Reviewed in {comment.address} on {comment.datetime}</p>
|
|
43
|
+
</footer>
|
|
44
|
+
{/if}
|
|
45
|
+
<slot />
|
|
46
|
+
<aside>
|
|
47
|
+
<p class="mt-1 text-xs text-gray-500 dark:text-gray-400">
|
|
48
|
+
<slot name="evaluation" />
|
|
49
|
+
</p>
|
|
50
|
+
{#if helpfullink || abuselink}
|
|
51
|
+
<div class="flex items-center mt-3 space-x-3 divide-x divide-gray-200 dark:divide-gray-600">
|
|
52
|
+
{#if helpfullink}
|
|
53
|
+
<Button size="xs" href="/" color="dark">Helpful</Button>
|
|
54
|
+
{/if}
|
|
55
|
+
{#if abuselink}
|
|
56
|
+
<a
|
|
57
|
+
href={abuselink}
|
|
58
|
+
class="pl-4 text-sm font-medium text-blue-600 hover:underline dark:text-blue-500"
|
|
59
|
+
>Report abuse</a>
|
|
60
|
+
{/if}
|
|
61
|
+
</div>
|
|
62
|
+
{/if}
|
|
63
|
+
</aside>
|
|
64
64
|
</article>
|
package/tables/TableHead.svelte
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<script>import classNames from 'classnames';
|
|
2
2
|
import { getContext } from 'svelte';
|
|
3
3
|
export let theadClass = 'text-xs uppercase';
|
|
4
|
+
export let defaultRow = true;
|
|
4
5
|
let color;
|
|
5
6
|
color = getContext('color');
|
|
6
7
|
let noborder = getContext('noborder');
|
|
@@ -31,7 +32,11 @@ $: theadClassfinal = classNames(theadClass, textColor, striped && borderColors,
|
|
|
31
32
|
</script>
|
|
32
33
|
|
|
33
34
|
<thead {...$$restProps} class={theadClassfinal}>
|
|
34
|
-
|
|
35
|
+
{#if defaultRow}
|
|
36
|
+
<tr>
|
|
37
|
+
<slot />
|
|
38
|
+
</tr>
|
|
39
|
+
{:else}
|
|
35
40
|
<slot />
|
|
36
|
-
|
|
41
|
+
{/if}
|
|
37
42
|
</thead>
|
package/types.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ declare const __propDef: {
|
|
|
8
8
|
bgClass?: string | undefined;
|
|
9
9
|
bg?: boolean | undefined;
|
|
10
10
|
baseClass?: string | undefined;
|
|
11
|
-
alignment?: "
|
|
11
|
+
alignment?: "center" | "left" | "right" | undefined;
|
|
12
12
|
size?: "xs" | "sm" | "lg" | "xl" | "base" | "2xl" | "3xl" | "4xl" | "5xl" | "6xl" | "7xl" | "8xl" | "9xl" | undefined;
|
|
13
13
|
};
|
|
14
14
|
events: {
|
package/typography/P.svelte.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ declare const __propDef: {
|
|
|
4
4
|
[x: string]: any;
|
|
5
5
|
color?: string | undefined;
|
|
6
6
|
height?: "normal" | "relaxed" | "loose" | undefined;
|
|
7
|
-
align?: "
|
|
7
|
+
align?: "center" | "left" | "right" | undefined;
|
|
8
8
|
justify?: boolean | undefined;
|
|
9
9
|
italic?: boolean | undefined;
|
|
10
10
|
firstupper?: boolean | undefined;
|
package/utils/backdrop.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare let open: boolean;
|
|
2
2
|
export declare let placement: string;
|
|
3
|
-
export declare const init: (node:
|
|
4
|
-
update(_open:
|
|
3
|
+
export declare const init: (node: HTMLElement, _open: boolean) => {
|
|
4
|
+
update(_open: boolean): void;
|
|
5
5
|
destroy(): void;
|
|
6
6
|
};
|
package/utils/backdrop.js
CHANGED
|
@@ -15,7 +15,6 @@ export let placement;
|
|
|
15
15
|
export const init = (node, _open) => {
|
|
16
16
|
getPlacementClasses().map((c) => node.classList.add(c));
|
|
17
17
|
_open && createBackdrop(node);
|
|
18
|
-
console.log('init clicked');
|
|
19
18
|
return {
|
|
20
19
|
update(_open) {
|
|
21
20
|
allPlacementClasses.map((c) => node.classList.remove(c));
|
|
@@ -58,7 +57,7 @@ const createBackdrop = (node) => {
|
|
|
58
57
|
if (!backdropEl) {
|
|
59
58
|
backdropEl = document.createElement('div');
|
|
60
59
|
backdropEl.classList.add(...backdropClasses.split(' '));
|
|
61
|
-
const body = document.
|
|
60
|
+
const body = document.body;
|
|
62
61
|
body.append(backdropEl);
|
|
63
62
|
body.style.overflow = 'hidden';
|
|
64
63
|
document.addEventListener('keydown', handleEscape, true);
|
|
@@ -66,7 +65,7 @@ const createBackdrop = (node) => {
|
|
|
66
65
|
dispatch('show', node);
|
|
67
66
|
};
|
|
68
67
|
const destroyBackdrop = (node) => {
|
|
69
|
-
const body = document.
|
|
68
|
+
const body = document.body;
|
|
70
69
|
body.style.overflow = 'auto';
|
|
71
70
|
if (backdropEl)
|
|
72
71
|
backdropEl.remove();
|
package/avatar/Dot.svelte
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
<script>import classNames from 'classnames';
|
|
2
|
-
export let show = false;
|
|
3
|
-
export let top = false;
|
|
4
|
-
export let color = 'bg-gray-300 dark:bg-gray-500';
|
|
5
|
-
export let rounded = false;
|
|
6
|
-
export let size = 'md';
|
|
7
|
-
const sizes = {
|
|
8
|
-
xs: 'w-2.5 h-2.5',
|
|
9
|
-
sm: 'w-3 h-3',
|
|
10
|
-
md: 'w-3.5 h-3.5',
|
|
11
|
-
lg: 'w-6 h-6',
|
|
12
|
-
xl: 'w-10 h-10'
|
|
13
|
-
};
|
|
14
|
-
const offsets = {
|
|
15
|
-
xs: ['left-4', 'left-5'],
|
|
16
|
-
sm: ['left-6', 'left-6'],
|
|
17
|
-
md: ['left-7', 'left-8'],
|
|
18
|
-
lg: ['left-14', 'left-16'],
|
|
19
|
-
xl: ['left-24', 'left-32']
|
|
20
|
-
};
|
|
21
|
-
let dotClass;
|
|
22
|
-
$: dotClass = classNames('absolute rounded-full border-white dark:border-gray-800 border-2', sizes[size], offsets[size][+rounded], top ? 'top-0' : 'bottom-0', rounded && top && 'transform -translate-y-1/2', rounded && !top && 'transform translate-y-1/4', color);
|
|
23
|
-
let divClass;
|
|
24
|
-
$: divClass = classNames('relative flex-shrink-0', $$props.class);
|
|
25
|
-
</script>
|
|
26
|
-
|
|
27
|
-
{#if show}
|
|
28
|
-
<div class={divClass}>
|
|
29
|
-
<slot />
|
|
30
|
-
<span class={dotClass} />
|
|
31
|
-
</div>
|
|
32
|
-
{:else}
|
|
33
|
-
<slot />
|
|
34
|
-
{/if}
|
package/avatar/Dot.svelte.d.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
declare const __propDef: {
|
|
3
|
-
props: {
|
|
4
|
-
[x: string]: any;
|
|
5
|
-
show?: boolean | undefined;
|
|
6
|
-
top?: boolean | undefined;
|
|
7
|
-
color?: string | undefined;
|
|
8
|
-
rounded?: boolean | undefined;
|
|
9
|
-
size?: "xs" | "sm" | "md" | "lg" | "xl" | undefined;
|
|
10
|
-
};
|
|
11
|
-
events: {
|
|
12
|
-
[evt: string]: CustomEvent<any>;
|
|
13
|
-
};
|
|
14
|
-
slots: {
|
|
15
|
-
default: {};
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
export type DotProps = typeof __propDef.props;
|
|
19
|
-
export type DotEvents = typeof __propDef.events;
|
|
20
|
-
export type DotSlots = typeof __propDef.slots;
|
|
21
|
-
export default class Dot extends SvelteComponentTyped<DotProps, DotEvents, DotSlots> {
|
|
22
|
-
}
|
|
23
|
-
export {};
|