flowbite-svelte 0.26.2 → 0.26.3
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 +16 -0
- package/alerts/Alert.svelte +7 -49
- package/alerts/Alert.svelte.d.ts +1 -3
- package/cards/Card.svelte +4 -5
- package/dropdowns/Dropdown.svelte +10 -11
- package/list-group/List.svelte +4 -4
- package/modals/Modal.svelte +6 -11
- package/package.json +4 -5
- package/popover/Popover.svelte +0 -1
- package/popover/Popover.svelte.d.ts +0 -3
- package/toasts/Toast.svelte +7 -24
- package/toasts/Toast.svelte.d.ts +1 -3
- package/utils/Frame.svelte +73 -0
- package/utils/Frame.svelte.d.ts +26 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,22 @@
|
|
|
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.26.3](https://github.com/themesberg/flowbite-svelte/compare/v0.26.2...v0.26.3) (2022-09-01)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* frame abstraction ([47e4126](https://github.com/themesberg/flowbite-svelte/commit/47e4126fa02ff6b9c93d3ee7e17fee79195ac1d3))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* docs fixes due to dropdown api change ([869f8d7](https://github.com/themesberg/flowbite-svelte/commit/869f8d7bdea3a7ba97702e31b52f0e33fce3c911))
|
|
16
|
+
* remove flowbite-svelte-blocks page, add a link ([2b9e3d3](https://github.com/themesberg/flowbite-svelte/commit/2b9e3d3f72731ace8abb563e28e98309dbc58b3b))
|
|
17
|
+
* remove heros icons from ([203f14c](https://github.com/themesberg/flowbite-svelte/commit/203f14c578e57429892e0df41452abbdef1b3a4e))
|
|
18
|
+
* remove svelte-flag-icons from devDependencies ([8f48867](https://github.com/themesberg/flowbite-svelte/commit/8f488677958313a2debaa3f953314d6452a63013))
|
|
19
|
+
* update svelte-sidebar-menu version ([1106d16](https://github.com/themesberg/flowbite-svelte/commit/1106d161d06244d5db61641babc7691d28388fbd))
|
|
20
|
+
|
|
5
21
|
### [0.26.2](https://github.com/themesberg/flowbite-svelte/compare/v0.26.1...v0.26.2) (2022-08-30)
|
|
6
22
|
|
|
7
23
|
|
package/alerts/Alert.svelte
CHANGED
|
@@ -1,64 +1,23 @@
|
|
|
1
|
-
<script>import
|
|
2
|
-
import classNames from 'classnames';
|
|
1
|
+
<script>import classNames from 'classnames';
|
|
3
2
|
import { createEventDispatcher } from 'svelte';
|
|
4
3
|
import CloseButton from '../utils/CloseButton.svelte';
|
|
4
|
+
import Frame from '../utils/Frame.svelte';
|
|
5
5
|
const dispatch = createEventDispatcher();
|
|
6
|
-
setContext('background', true);
|
|
7
6
|
export let color = 'blue';
|
|
8
7
|
export let dismissable = false;
|
|
9
8
|
export let rounded = true;
|
|
10
9
|
export let accent = false;
|
|
11
|
-
export let customBgClass = '';
|
|
12
|
-
export let customBorderAccentClass = '';
|
|
13
|
-
export let customTextColor = '';
|
|
14
10
|
let hidden = false;
|
|
15
|
-
const handleAlert = () => {
|
|
16
|
-
dispatch('handleAlert');
|
|
17
|
-
};
|
|
18
11
|
const handleHide = () => {
|
|
19
12
|
hidden = !hidden;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
gray: 'bg-gray-100 dark:bg-gray-200 ',
|
|
23
|
-
red: 'bg-red-100 dark:bg-red-200',
|
|
24
|
-
yellow: 'bg-yellow-100 dark:bg-yellow-200 ',
|
|
25
|
-
green: 'bg-green-100 dark:bg-green-200 ',
|
|
26
|
-
indigo: 'bg-indigo-100 dark:bg-indigo-200 ',
|
|
27
|
-
purple: 'bg-purple-100 dark:bg-purple-200 ',
|
|
28
|
-
pink: 'bg-pink-100 dark:bg-pink-200 ',
|
|
29
|
-
blue: 'bg-blue-100 dark:bg-blue-200 ',
|
|
30
|
-
dark: 'bg-gray-50 dark:bg-gray-700',
|
|
31
|
-
custom: customBgClass
|
|
32
|
-
};
|
|
33
|
-
const borderAccentClasses = {
|
|
34
|
-
gray: 'border-gray-500 dark:bg-gray-200 ',
|
|
35
|
-
red: 'border-red-500 dark:bg-red-200 ',
|
|
36
|
-
yellow: 'border-yellow-500 dark:bg-tellow-200 ',
|
|
37
|
-
green: 'border-green-500 dark:bg-green-200 ',
|
|
38
|
-
indigo: 'border-indigo-500 dark:bg-indigo-200 ',
|
|
39
|
-
purple: 'border-purple-500 dark:bg-purple-200 ',
|
|
40
|
-
pink: 'border-pink-500 dark:bg-pink-200 ',
|
|
41
|
-
blue: 'border-blue-500 dark:bg-blue-200 ',
|
|
42
|
-
dark: 'border-gray-500',
|
|
43
|
-
custom: customBorderAccentClass
|
|
44
|
-
};
|
|
45
|
-
const textColors = {
|
|
46
|
-
gray: 'text-gray-700 dark:text-gray-800',
|
|
47
|
-
red: 'text-red-700 dark:text-red-800',
|
|
48
|
-
yellow: 'text-yellow-700 dark:text-yellow-800',
|
|
49
|
-
green: 'text-green-700 dark:text-green-800',
|
|
50
|
-
indigo: 'text-indigo-700 dark:text-indigo-800',
|
|
51
|
-
purple: 'text-purple-700 dark:text-purple-800',
|
|
52
|
-
pink: 'text-pink-700 dark:text-pink-800',
|
|
53
|
-
blue: 'text-blue-700 dark:text-blue-800',
|
|
54
|
-
dark: 'text-gray-700 dark:text-gray-300',
|
|
55
|
-
custom: customTextColor
|
|
13
|
+
dispatch('handleAlert');
|
|
14
|
+
dispatch('close'); // preffered name
|
|
56
15
|
};
|
|
57
16
|
let divClass;
|
|
58
|
-
$: divClass = classNames('p-4 text-sm',
|
|
17
|
+
$: divClass = classNames('p-4 text-sm', accent && 'border-t-4 ', hidden && 'hidden', $$props.class);
|
|
59
18
|
</script>
|
|
60
19
|
|
|
61
|
-
<
|
|
20
|
+
<Frame {color} {rounded} {...$$restProps} class={divClass} role="alert">
|
|
62
21
|
<div class="flex items-center whitespace-pre-wrap">
|
|
63
22
|
{#if $$slots.icon}
|
|
64
23
|
<slot name="icon" />
|
|
@@ -71,7 +30,6 @@ $: divClass = classNames('p-4 text-sm', bgClasses[color] ?? bgClasses.blue, acce
|
|
|
71
30
|
class="-mx-1.5 -my-1.5"
|
|
72
31
|
{color}
|
|
73
32
|
on:click={handleHide}
|
|
74
|
-
on:click={handleAlert}
|
|
75
33
|
on:click
|
|
76
34
|
on:change
|
|
77
35
|
on:keydown
|
|
@@ -83,4 +41,4 @@ $: divClass = classNames('p-4 text-sm', bgClasses[color] ?? bgClasses.blue, acce
|
|
|
83
41
|
{/if}
|
|
84
42
|
</div>
|
|
85
43
|
<slot name="extra" />
|
|
86
|
-
</
|
|
44
|
+
</Frame>
|
package/alerts/Alert.svelte.d.ts
CHANGED
|
@@ -6,9 +6,6 @@ declare const __propDef: {
|
|
|
6
6
|
dismissable?: boolean;
|
|
7
7
|
rounded?: boolean;
|
|
8
8
|
accent?: boolean;
|
|
9
|
-
customBgClass?: string;
|
|
10
|
-
customBorderAccentClass?: string;
|
|
11
|
-
customTextColor?: string;
|
|
12
9
|
};
|
|
13
10
|
events: {
|
|
14
11
|
click: MouseEvent;
|
|
@@ -20,6 +17,7 @@ declare const __propDef: {
|
|
|
20
17
|
mouseenter: CustomEvent<any>;
|
|
21
18
|
mouseleave: CustomEvent<any>;
|
|
22
19
|
handleAlert: CustomEvent<any>;
|
|
20
|
+
close: CustomEvent<any>;
|
|
23
21
|
} & {
|
|
24
22
|
[evt: string]: CustomEvent<any>;
|
|
25
23
|
};
|
package/cards/Card.svelte
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
<script>import classNames from 'classnames';
|
|
2
|
-
import
|
|
2
|
+
import Frame from '../utils/Frame.svelte';
|
|
3
3
|
export let href = undefined;
|
|
4
4
|
export let horizontal = false;
|
|
5
5
|
export let reverse = false;
|
|
6
6
|
export let img = undefined;
|
|
7
7
|
export let padding = 'lg';
|
|
8
8
|
export let size = 'sm';
|
|
9
|
-
setContext('background', true);
|
|
10
9
|
const paddings = {
|
|
11
10
|
none: 'p-0',
|
|
12
11
|
sm: 'p-4',
|
|
@@ -24,12 +23,12 @@ const sizes = {
|
|
|
24
23
|
let innerPdding;
|
|
25
24
|
$: innerPdding = paddings[padding];
|
|
26
25
|
let cardClass;
|
|
27
|
-
$: cardClass = classNames('flex', sizes[size], reverse ? 'flex-col-reverse' : 'flex-col', horizontal && (reverse ? 'md:flex-row-reverse md:max-w-xl' : 'md:flex-row md:max-w-xl'),
|
|
26
|
+
$: cardClass = classNames('flex', sizes[size], reverse ? 'flex-col-reverse' : 'flex-col', horizontal && (reverse ? 'md:flex-row-reverse md:max-w-xl' : 'md:flex-row md:max-w-xl'), href && 'hover:bg-gray-100 dark:hover:bg-gray-700', !img && innerPdding, $$props.class);
|
|
28
27
|
let imgClass;
|
|
29
28
|
$: imgClass = classNames(reverse ? 'rounded-b-lg' : 'rounded-t-lg', horizontal && 'object-cover w-full h-96 md:h-auto md:w-48 md:rounded-none', horizontal && (reverse ? 'md:rounded-r-lg' : 'md:rounded-l-lg'));
|
|
30
29
|
</script>
|
|
31
30
|
|
|
32
|
-
<
|
|
31
|
+
<Frame tag={href ? 'a' : 'div'} rounded shadow border {href} class={cardClass}>
|
|
33
32
|
{#if img}
|
|
34
33
|
<img class={imgClass} src={img} alt="" />
|
|
35
34
|
<div class={innerPdding}>
|
|
@@ -38,4 +37,4 @@ $: imgClass = classNames(reverse ? 'rounded-b-lg' : 'rounded-t-lg', horizontal &
|
|
|
38
37
|
{:else}
|
|
39
38
|
<slot />
|
|
40
39
|
{/if}
|
|
41
|
-
</
|
|
40
|
+
</Frame>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
<script>import
|
|
2
|
-
import
|
|
1
|
+
<script>import Button from '../buttons/Button.svelte';
|
|
2
|
+
import Frame from '../utils/Frame.svelte';
|
|
3
3
|
import Popper from '../utils/Popper.svelte';
|
|
4
4
|
import classNames from 'classnames';
|
|
5
5
|
import ChevronUp from '../utils/ChevronUp.svelte';
|
|
@@ -15,7 +15,6 @@ export let placement = 'bottom';
|
|
|
15
15
|
export let open = false;
|
|
16
16
|
export let triggeredBy = undefined;
|
|
17
17
|
let id = generateId();
|
|
18
|
-
setContext('background', true);
|
|
19
18
|
const icons = {
|
|
20
19
|
top: ChevronUp,
|
|
21
20
|
right: ChevronRight,
|
|
@@ -25,7 +24,7 @@ const icons = {
|
|
|
25
24
|
// @ts-ignore
|
|
26
25
|
$: icon = icons[placement.split('-')[0]];
|
|
27
26
|
let popoverClass;
|
|
28
|
-
$: popoverClass = classNames('
|
|
27
|
+
$: popoverClass = classNames('outline-none', $$props.class);
|
|
29
28
|
</script>
|
|
30
29
|
|
|
31
30
|
{#if label}
|
|
@@ -56,15 +55,15 @@ $: popoverClass = classNames('rounded-lg shadow-sm', 'bg-white dark:bg-gray-800'
|
|
|
56
55
|
activeContent={true}
|
|
57
56
|
arrow={false}
|
|
58
57
|
{placement}
|
|
59
|
-
{...$$restProps}
|
|
60
|
-
class={popoverClass}
|
|
61
58
|
trigger="click"
|
|
62
59
|
on:show
|
|
63
60
|
bind:open
|
|
64
61
|
triggeredBy={triggeredBy ?? '#' + id}>
|
|
65
|
-
<
|
|
66
|
-
<
|
|
67
|
-
<
|
|
68
|
-
|
|
69
|
-
|
|
62
|
+
<Frame class={popoverClass} rounded border shadow>
|
|
63
|
+
<slot name="content">
|
|
64
|
+
<ul class="py-1">
|
|
65
|
+
<slot />
|
|
66
|
+
</ul>
|
|
67
|
+
</slot>
|
|
68
|
+
</Frame>
|
|
70
69
|
</Popper>
|
package/list-group/List.svelte
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
<script>import { setContext } from 'svelte';
|
|
2
2
|
import classNames from 'classnames';
|
|
3
3
|
import ListItem from './ListItem.svelte';
|
|
4
|
+
import Frame from '../utils/Frame.svelte';
|
|
4
5
|
export let items = [];
|
|
5
6
|
export let active = false;
|
|
6
|
-
setContext('background', true);
|
|
7
7
|
$: setContext('active', active);
|
|
8
8
|
let groupClass;
|
|
9
|
-
$: groupClass = classNames('
|
|
9
|
+
$: groupClass = classNames('divide-y divide-gray-200 dark:divide-gray-600', $$props.class);
|
|
10
10
|
</script>
|
|
11
11
|
|
|
12
|
-
<
|
|
12
|
+
<Frame tag={active ? 'div' : 'ul'} rounded border class={groupClass}>
|
|
13
13
|
{#each items as item, index}
|
|
14
14
|
<ListItem {active} {...item} {index} on:click><slot {item} {index} /></ListItem>
|
|
15
15
|
{:else}
|
|
16
16
|
<slot />
|
|
17
17
|
{/each}
|
|
18
|
-
</
|
|
18
|
+
</Frame>
|
package/modals/Modal.svelte
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
<script>import
|
|
1
|
+
<script>import Frame from '../utils/Frame.svelte';
|
|
2
|
+
import { createEventDispatcher } from 'svelte';
|
|
2
3
|
import CloseButton from '../utils/CloseButton.svelte';
|
|
3
4
|
import focusTrap from '../utils/focusTrap';
|
|
4
5
|
export let open = false;
|
|
@@ -8,7 +9,6 @@ export let placement = 'center';
|
|
|
8
9
|
export let autoclose = true;
|
|
9
10
|
export let backdropClasses = 'bg-gray-900 bg-opacity-50 dark:bg-opacity-80 fixed inset-0 z-40';
|
|
10
11
|
const dispatch = createEventDispatcher();
|
|
11
|
-
setContext('background', true);
|
|
12
12
|
const allPlacementClasses = [
|
|
13
13
|
'justify-start',
|
|
14
14
|
'justify-center',
|
|
@@ -110,13 +110,10 @@ const hide = () => {
|
|
|
110
110
|
role={open ? 'dialog' : undefined}
|
|
111
111
|
use:init={open}
|
|
112
112
|
use:focusTrap={open}
|
|
113
|
-
on:click={onButtonsClick}
|
|
114
|
-
>
|
|
113
|
+
on:click={onButtonsClick}>
|
|
115
114
|
<div class="relative p-4 w-full {sizes[size]} h-full md:h-auto">
|
|
116
115
|
<!-- Modal content -->
|
|
117
|
-
<
|
|
118
|
-
class="relative bg-white rounded-lg shadow dark:bg-gray-700 text-gray-500 dark:text-gray-400"
|
|
119
|
-
>
|
|
116
|
+
<Frame rounded shadow class="relative">
|
|
120
117
|
<!-- Modal header -->
|
|
121
118
|
{#if $$slots.header || title}
|
|
122
119
|
<div class="flex justify-between items-center p-4 rounded-t border-b dark:border-gray-600">
|
|
@@ -136,12 +133,10 @@ const hide = () => {
|
|
|
136
133
|
</div>
|
|
137
134
|
<!-- Modal footer -->
|
|
138
135
|
{#if $$slots.footer}
|
|
139
|
-
<div
|
|
140
|
-
class="flex items-center p-6 space-x-2 rounded-b border-t border-gray-200 dark:border-gray-600"
|
|
141
|
-
>
|
|
136
|
+
<div class="flex items-center p-6 space-x-2 rounded-b border-t border-gray-200 dark:border-gray-600">
|
|
142
137
|
<slot name="footer" />
|
|
143
138
|
</div>
|
|
144
139
|
{/if}
|
|
145
|
-
</
|
|
140
|
+
</Frame>
|
|
146
141
|
</div>
|
|
147
142
|
</div>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "flowbite-svelte",
|
|
3
|
-
"version": "0.26.
|
|
3
|
+
"version": "0.26.3",
|
|
4
4
|
"description": "Flowbite components for Svelte",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"author": {
|
|
@@ -31,9 +31,8 @@
|
|
|
31
31
|
"prism-themes": "^1.9.0",
|
|
32
32
|
"svelte": "^3.49.0",
|
|
33
33
|
"svelte-check": "^2.8.0",
|
|
34
|
-
"svelte-flag-icons": "^0.1.1",
|
|
35
34
|
"svelte-preprocess": "^4.10.7",
|
|
36
|
-
"svelte-sidebar-menu": "^0.
|
|
35
|
+
"svelte-sidebar-menu": "^0.9.11",
|
|
37
36
|
"svelte2tsx": "^0.5.13",
|
|
38
37
|
"tailwindcss": "^3.1.8",
|
|
39
38
|
"tslib": "^2.4.0",
|
|
@@ -84,8 +83,7 @@
|
|
|
84
83
|
"@floating-ui/dom": "^1.0.1",
|
|
85
84
|
"@popperjs/core": "^2.11.6",
|
|
86
85
|
"classnames": "^2.3.1",
|
|
87
|
-
"flowbite": "^1.5.2"
|
|
88
|
-
"svelte-heros": "^2.3.3"
|
|
86
|
+
"flowbite": "^1.5.2"
|
|
89
87
|
},
|
|
90
88
|
"engines": {
|
|
91
89
|
"npm": ">=7.0.0",
|
|
@@ -236,6 +234,7 @@
|
|
|
236
234
|
"./utils/ChevronRight.svelte": "./utils/ChevronRight.svelte",
|
|
237
235
|
"./utils/ChevronUp.svelte": "./utils/ChevronUp.svelte",
|
|
238
236
|
"./utils/CloseButton.svelte": "./utils/CloseButton.svelte",
|
|
237
|
+
"./utils/Frame.svelte": "./utils/Frame.svelte",
|
|
239
238
|
"./utils/InformationCircle.svelte": "./utils/InformationCircle.svelte",
|
|
240
239
|
"./utils/Popper.svelte": "./utils/Popper.svelte",
|
|
241
240
|
"./utils/UserCircle.svelte": "./utils/UserCircle.svelte",
|
package/popover/Popover.svelte
CHANGED
|
@@ -7,7 +7,6 @@ $: popoverClass = classNames('rounded-lg shadow-sm', 'bg-white dark:bg-gray-800'
|
|
|
7
7
|
</script>
|
|
8
8
|
|
|
9
9
|
<Popper activeContent={true} {triggeredBy} {...$$restProps} class={popoverClass} on:show>
|
|
10
|
-
<slot name="trigger" slot="trigger" />
|
|
11
10
|
{#if $$slots.title || title}
|
|
12
11
|
<div
|
|
13
12
|
class="py-2 px-3 bg-gray-100 rounded-t-lg border-b border-gray-200 dark:border-gray-600 dark:bg-gray-700">
|
package/toasts/Toast.svelte
CHANGED
|
@@ -1,29 +1,12 @@
|
|
|
1
|
-
<script>import
|
|
2
|
-
import
|
|
1
|
+
<script>import Frame from '../utils/Frame.svelte';
|
|
2
|
+
import classNames from 'classnames';
|
|
3
3
|
import CloseButton from '../utils/CloseButton.svelte';
|
|
4
4
|
export let color = 'blue';
|
|
5
5
|
export let simple = false;
|
|
6
|
-
// Export a prop through which you can set a desired transition
|
|
7
|
-
export let transition = 'fade';
|
|
8
|
-
// Pass in extra transition params
|
|
9
|
-
export let params = {};
|
|
10
6
|
// Absolute position
|
|
11
7
|
export let position = undefined; // default not set
|
|
12
8
|
export let visible = true;
|
|
13
|
-
export let divClass = 'w-full max-w-xs p-4
|
|
14
|
-
const colors = {
|
|
15
|
-
blue: 'text-blue-500 bg-blue-100 dark:bg-blue-800 dark:text-blue-200',
|
|
16
|
-
green: 'text-green-500 bg-green-100 dark:bg-green-800 dark:text-green-200',
|
|
17
|
-
red: 'text-red-500 bg-red-100 dark:bg-red-800 dark:text-red-200',
|
|
18
|
-
gray: 'text-gray-500 bg-gray-100 dark:bg-gray-800 dark:text-gray-200',
|
|
19
|
-
purple: 'text-purple-500 bg-purple-100 dark:bg-purple-800 dark:text-purple-200',
|
|
20
|
-
indigo: 'text-indigo-500 bg-indigo-100 dark:bg-indigo-800 dark:text-indigo-200',
|
|
21
|
-
yellow: 'text-yellow-500 bg-yellow-100 dark:bg-yellow-800 dark:text-yellow-200',
|
|
22
|
-
pink: 'text-pink-500 bg-pink-100 dark:bg-pink-800 dark:text-pink-200'
|
|
23
|
-
};
|
|
24
|
-
// have a custom transition function that returns the desired transition
|
|
25
|
-
let transitionFunc;
|
|
26
|
-
$: transitionFunc = transitions[transition] ?? transitions.fade;
|
|
9
|
+
export let divClass = 'w-full max-w-xs p-4';
|
|
27
10
|
$: classDiv = classNames(divClass, {
|
|
28
11
|
'absolute top-5 left-5': position == 'tl',
|
|
29
12
|
'absolute top-5 right-5': position == 'tr',
|
|
@@ -31,14 +14,14 @@ $: classDiv = classNames(divClass, {
|
|
|
31
14
|
'absolute bottom-5 right-5': position == 'br'
|
|
32
15
|
}, $$props.class);
|
|
33
16
|
let iconClass;
|
|
34
|
-
$: iconClass = classNames('inline-flex items-center justify-center flex-shrink-0
|
|
17
|
+
$: iconClass = classNames('inline-flex items-center justify-center flex-shrink-0 w-8 h-8 mr-3');
|
|
35
18
|
</script>
|
|
36
19
|
|
|
37
20
|
{#if visible}
|
|
38
|
-
<
|
|
21
|
+
<Frame rounded border transition="fade" {...$$restProps} class={classDiv} role="alert">
|
|
39
22
|
<div class="flex {$$slots.extra ? 'items-start' : 'items-center'}">
|
|
40
23
|
{#if $$slots.icon}
|
|
41
|
-
<
|
|
24
|
+
<Frame {color} rounded class={iconClass}><slot name="icon" /></Frame>
|
|
42
25
|
{/if}
|
|
43
26
|
|
|
44
27
|
<div class="text-sm font-normal w-full">
|
|
@@ -49,5 +32,5 @@ $: iconClass = classNames('inline-flex items-center justify-center flex-shrink-0
|
|
|
49
32
|
<CloseButton on:click={() => (visible = false)} />
|
|
50
33
|
{/if}
|
|
51
34
|
</div>
|
|
52
|
-
</
|
|
35
|
+
</Frame>
|
|
53
36
|
{/if}
|
package/toasts/Toast.svelte.d.ts
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
import type { Colors
|
|
2
|
+
import type { Colors } from '../types';
|
|
3
3
|
declare const __propDef: {
|
|
4
4
|
props: {
|
|
5
5
|
[x: string]: any;
|
|
6
6
|
color?: Colors;
|
|
7
7
|
simple?: boolean;
|
|
8
|
-
transition?: TransitionTypes;
|
|
9
|
-
params?: TransitionParamTypes;
|
|
10
8
|
position?: 'tl' | 'tr' | 'bl' | 'br';
|
|
11
9
|
visible?: boolean;
|
|
12
10
|
divClass?: string;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
<script>import classNames from 'classnames';
|
|
2
|
+
import { setContext } from 'svelte';
|
|
3
|
+
import * as transitions from 'svelte/transition';
|
|
4
|
+
setContext('background', true);
|
|
5
|
+
$: setContext('color', color);
|
|
6
|
+
export let tag = 'div';
|
|
7
|
+
export let color = 'default';
|
|
8
|
+
export let rounded = false;
|
|
9
|
+
export let border = false;
|
|
10
|
+
export let shadow = false;
|
|
11
|
+
// Export a prop through which you can set a desired transition
|
|
12
|
+
export let transition = undefined;
|
|
13
|
+
// Pass in extra transition params
|
|
14
|
+
export let params = {};
|
|
15
|
+
// your script goes here
|
|
16
|
+
const bgColors = {
|
|
17
|
+
gray: 'bg-gray-100 dark:bg-gray-200 ',
|
|
18
|
+
red: 'bg-red-100 dark:bg-red-200',
|
|
19
|
+
yellow: 'bg-yellow-100 dark:bg-yellow-200 ',
|
|
20
|
+
green: 'bg-green-100 dark:bg-green-200 ',
|
|
21
|
+
indigo: 'bg-indigo-100 dark:bg-indigo-200 ',
|
|
22
|
+
purple: 'bg-purple-100 dark:bg-purple-200 ',
|
|
23
|
+
pink: 'bg-pink-100 dark:bg-pink-200 ',
|
|
24
|
+
blue: 'bg-blue-100 dark:bg-blue-200 ',
|
|
25
|
+
light: 'bg-gray-50 dark:bg-gray-700',
|
|
26
|
+
dark: 'bg-gray-100 dark:bg-gray-700',
|
|
27
|
+
default: 'bg-white dark:bg-gray-800',
|
|
28
|
+
none: ''
|
|
29
|
+
};
|
|
30
|
+
const textColors = {
|
|
31
|
+
gray: 'text-gray-700 dark:text-gray-800',
|
|
32
|
+
red: 'text-red-700 dark:text-red-800',
|
|
33
|
+
yellow: 'text-yellow-700 dark:text-yellow-800',
|
|
34
|
+
green: 'text-green-700 dark:text-green-800',
|
|
35
|
+
indigo: 'text-indigo-700 dark:text-indigo-800',
|
|
36
|
+
purple: 'text-purple-700 dark:text-purple-800',
|
|
37
|
+
pink: 'text-pink-700 dark:text-pink-800',
|
|
38
|
+
blue: 'text-blue-700 dark:text-blue-800',
|
|
39
|
+
light: 'text-gray-700 dark:text-gray-300',
|
|
40
|
+
dark: 'text-gray-700 dark:text-gray-300',
|
|
41
|
+
default: 'text-gray-500 dark:text-gray-400',
|
|
42
|
+
none: ''
|
|
43
|
+
};
|
|
44
|
+
const borderColors = {
|
|
45
|
+
gray: 'border-gray-500 dark:bg-gray-200 ',
|
|
46
|
+
red: 'border-red-500 dark:bg-red-200 ',
|
|
47
|
+
yellow: 'border-yellow-500 dark:bg-tellow-200 ',
|
|
48
|
+
green: 'border-green-500 dark:bg-green-200 ',
|
|
49
|
+
indigo: 'border-indigo-500 dark:bg-indigo-200 ',
|
|
50
|
+
purple: 'border-purple-500 dark:bg-purple-200 ',
|
|
51
|
+
pink: 'border-pink-500 dark:bg-pink-200 ',
|
|
52
|
+
blue: 'border-blue-500 dark:bg-blue-200 ',
|
|
53
|
+
light: 'border-gray-500',
|
|
54
|
+
dark: 'border-gray-500',
|
|
55
|
+
default: 'border-gray-200 dark:border-gray-700',
|
|
56
|
+
none: ''
|
|
57
|
+
};
|
|
58
|
+
// have a custom transition function that returns the desired transition
|
|
59
|
+
let transitionFunc;
|
|
60
|
+
$: transitionFunc = transitions[transition];
|
|
61
|
+
let divClass;
|
|
62
|
+
$: divClass = classNames(bgColors[color], textColors[color], rounded && 'rounded-lg ', border && 'border', borderColors[color], shadow && 'shadow-md', $$props.class);
|
|
63
|
+
</script>
|
|
64
|
+
|
|
65
|
+
{#if transitionFunc}
|
|
66
|
+
<svelte:element this={tag} transition:transitionFunc={params} {...$$restProps} class={divClass}>
|
|
67
|
+
<slot />
|
|
68
|
+
</svelte:element>
|
|
69
|
+
{:else}
|
|
70
|
+
<svelte:element this={tag} {...$$restProps} class={divClass}>
|
|
71
|
+
<slot />
|
|
72
|
+
</svelte:element>
|
|
73
|
+
{/if}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
import type { TransitionTypes, TransitionParamTypes } from '../types';
|
|
3
|
+
declare const __propDef: {
|
|
4
|
+
props: {
|
|
5
|
+
[x: string]: any;
|
|
6
|
+
tag?: string;
|
|
7
|
+
color?: string;
|
|
8
|
+
rounded?: boolean;
|
|
9
|
+
border?: boolean;
|
|
10
|
+
shadow?: boolean;
|
|
11
|
+
transition?: TransitionTypes;
|
|
12
|
+
params?: TransitionParamTypes;
|
|
13
|
+
};
|
|
14
|
+
events: {
|
|
15
|
+
[evt: string]: CustomEvent<any>;
|
|
16
|
+
};
|
|
17
|
+
slots: {
|
|
18
|
+
default: {};
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
export declare type FrameProps = typeof __propDef.props;
|
|
22
|
+
export declare type FrameEvents = typeof __propDef.events;
|
|
23
|
+
export declare type FrameSlots = typeof __propDef.slots;
|
|
24
|
+
export default class Frame extends SvelteComponentTyped<FrameProps, FrameEvents, FrameSlots> {
|
|
25
|
+
}
|
|
26
|
+
export {};
|