flowbite-svelte 0.19.9 → 0.19.12
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 +17 -0
- package/badges/Badge.svelte +25 -13
- package/badges/Badge.svelte.d.ts +6 -4
- package/breadcrumbs/Breadcrumb.svelte +6 -45
- package/breadcrumbs/Breadcrumb.svelte.d.ts +6 -6
- package/breadcrumbs/BreadcrumbItem.svelte +43 -0
- package/breadcrumbs/BreadcrumbItem.svelte.d.ts +23 -0
- package/forms/Select.svelte +1 -1
- package/forms/Select.svelte.d.ts +2 -0
- package/index.d.ts +1 -2
- package/index.js +1 -2
- package/package.json +3 -3
- package/tables/TableSearch.svelte +0 -7
- package/tables/TableSearch.svelte.d.ts +0 -2
- package/toasts/Toast.svelte +37 -56
- package/toasts/Toast.svelte.d.ts +7 -7
- package/utils/CloseButton.svelte +27 -0
- package/utils/CloseButton.svelte.d.ts +19 -0
- package/badges/BadgeIcon.svelte +0 -22
- package/badges/BadgeIcon.svelte.d.ts +0 -22
- package/badges/BadgeLink.svelte +0 -20
- package/badges/BadgeLink.svelte.d.ts +0 -21
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,23 @@
|
|
|
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.19.12](https://github.com/themesberg/flowbite-svelte/compare/v0.19.11...v0.19.12) (2022-06-30)
|
|
6
|
+
|
|
7
|
+
### [0.19.11](https://github.com/themesberg/flowbite-svelte/compare/v0.19.10...v0.19.11) (2022-06-30)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
* can add own search function to TableSearch component ([514c7f7](https://github.com/themesberg/flowbite-svelte/commit/514c7f71ba0ff48637ff37051c9e453a40a56f11))
|
|
13
|
+
|
|
14
|
+
### [0.19.10](https://github.com/themesberg/flowbite-svelte/compare/v0.19.9...v0.19.10) (2022-06-30)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
* add on change event dispatch to select ([bda74a6](https://github.com/themesberg/flowbite-svelte/commit/bda74a619530567d06d1badc600a3f663711b179))
|
|
20
|
+
* update Breadcrumb components ([b35a970](https://github.com/themesberg/flowbite-svelte/commit/b35a9701ae08f795e37c55b92d24805d02a19b96))
|
|
21
|
+
|
|
5
22
|
### [0.19.9](https://github.com/themesberg/flowbite-svelte/compare/v0.19.8...v0.19.9) (2022-06-27)
|
|
6
23
|
|
|
7
24
|
### [0.19.8](https://github.com/themesberg/flowbite-svelte/compare/v0.19.7...v0.19.8) (2022-06-27)
|
package/badges/Badge.svelte
CHANGED
|
@@ -1,19 +1,31 @@
|
|
|
1
1
|
<script>import classNames from 'classnames';
|
|
2
|
-
export let textSize = 'text-xs';
|
|
3
|
-
export let name = 'Read more';
|
|
4
2
|
export let color = 'blue';
|
|
5
|
-
let
|
|
3
|
+
export let large = false;
|
|
4
|
+
export let href;
|
|
5
|
+
let badgeClass;
|
|
6
6
|
const colors = {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
7
|
+
blue: 'bg-blue-100 text-blue-800 dark:bg-blue-200 dark:text-blue-800',
|
|
8
|
+
dark: 'bg-gray-100 text-gray-800 dark:bg-gray-700 dark:text-gray-300',
|
|
9
|
+
red: 'bg-red-100 text-red-800 dark:bg-red-200 dark:text-red-900',
|
|
10
|
+
green: 'bg-green-100 text-green-800 dark:bg-green-200 dark:text-green-900',
|
|
11
|
+
yellow: 'bg-yellow-100 text-yellow-800 dark:bg-yellow-200 dark:text-yellow-900',
|
|
12
|
+
indigo: 'bg-indigo-100 text-indigo-800 dark:bg-indigo-200 dark:text-indigo-900',
|
|
13
|
+
purple: 'bg-purple-100 text-purple-800 dark:bg-purple-200 dark:text-purple-900',
|
|
14
|
+
pink: 'bg-pink-100 text-pink-800 dark:bg-pink-200 dark:text-pink-900'
|
|
15
15
|
};
|
|
16
|
-
|
|
16
|
+
const hovers = {
|
|
17
|
+
blue: 'hover:bg-blue-200 dark:hover:bg-blue-300',
|
|
18
|
+
dark: 'hover:bg-gray-200 dark:hover:bg-gray-300',
|
|
19
|
+
red: 'hover:bg-red-200 dark:hover:bg-red-300',
|
|
20
|
+
green: 'hover:bg-green-200 dark:hover:bg-green-300',
|
|
21
|
+
yellow: 'hover:bg-yellow-200 dark:hover:bg-yellow-300',
|
|
22
|
+
indigo: 'hover:bg-indigo-200 dark:hover:bg-indigo-300',
|
|
23
|
+
purple: 'hover:bg-purple-200 dark:hover:bg-purple-300',
|
|
24
|
+
pink: 'hover:bg-pink-200 dark:hover:bg-pink-300'
|
|
25
|
+
};
|
|
26
|
+
$: badgeClass = classNames('inline-flex items-center mr-2 px-2.5 py-0.5 rounded', large ? 'text-sm font-medium' : 'text-xs font-semibold', colors[color] ?? colors.blue, href && (hovers[color] ?? hovers.blue), $$props.class);
|
|
17
27
|
</script>
|
|
18
28
|
|
|
19
|
-
<span class={
|
|
29
|
+
<svelte:element this={href ? 'a' : 'span'} {href} class={badgeClass} {...$$restProps}>
|
|
30
|
+
<slot />
|
|
31
|
+
</svelte:element>
|
package/badges/Badge.svelte.d.ts
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
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
|
-
textSize?: Textsize;
|
|
7
|
-
name?: string;
|
|
8
6
|
color?: Colors;
|
|
7
|
+
large?: boolean;
|
|
8
|
+
href: string;
|
|
9
9
|
};
|
|
10
10
|
events: {
|
|
11
11
|
[evt: string]: CustomEvent<any>;
|
|
12
12
|
};
|
|
13
|
-
slots: {
|
|
13
|
+
slots: {
|
|
14
|
+
default: {};
|
|
15
|
+
};
|
|
14
16
|
};
|
|
15
17
|
export declare type BadgeProps = typeof __propDef.props;
|
|
16
18
|
export declare type BadgeEvents = typeof __propDef.events;
|
|
@@ -1,49 +1,10 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
export let
|
|
3
|
-
export let
|
|
4
|
-
export let solid = false;
|
|
5
|
-
let navClass = 'flex';
|
|
6
|
-
if (solid) {
|
|
7
|
-
navClass =
|
|
8
|
-
'flex py-3 px-5 text-gray-700 bg-gray-50 rounded-lg border border-gray-200 dark:bg-gray-800 dark:border-gray-700';
|
|
9
|
-
}
|
|
1
|
+
<script>import classNames from 'classnames';
|
|
2
|
+
export let navClass = 'flex';
|
|
3
|
+
export let olClass = 'inline-flex items-center space-x-1 md:space-x-3';
|
|
10
4
|
</script>
|
|
11
5
|
|
|
12
|
-
<nav
|
|
13
|
-
<ol class=
|
|
14
|
-
|
|
15
|
-
{#if crumb.href === '/'}
|
|
16
|
-
<li class="inline-flex items-center">
|
|
17
|
-
<a href={crumb.href} class={homeClass}>
|
|
18
|
-
<svg
|
|
19
|
-
class="mr-2 w-4 h-4"
|
|
20
|
-
fill="currentColor"
|
|
21
|
-
viewBox="0 0 20 20"
|
|
22
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
23
|
-
><path
|
|
24
|
-
d="M10.707 2.293a1 1 0 00-1.414 0l-7 7a1 1 0 001.414 1.414L4 10.414V17a1 1 0 001 1h2a1 1 0 001-1v-2a1 1 0 011-1h2a1 1 0 011 1v2a1 1 0 001 1h2a1 1 0 001-1v-6.586l.293.293a1 1 0 001.414-1.414l-7-7z"
|
|
25
|
-
/></svg
|
|
26
|
-
>
|
|
27
|
-
{crumb.label}</a
|
|
28
|
-
>
|
|
29
|
-
</li>
|
|
30
|
-
{:else}
|
|
31
|
-
<li>
|
|
32
|
-
<div class="flex items-center">
|
|
33
|
-
<svg
|
|
34
|
-
class="w-6 h-6 text-gray-400"
|
|
35
|
-
fill="currentColor"
|
|
36
|
-
viewBox="0 0 20 20"
|
|
37
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
38
|
-
><path
|
|
39
|
-
fill-rule="evenodd"
|
|
40
|
-
d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
|
|
41
|
-
clip-rule="evenodd"
|
|
42
|
-
/></svg
|
|
43
|
-
><a href={crumb.href} class={crumbClass}>{crumb.label}</a>
|
|
44
|
-
</div>
|
|
45
|
-
</li>
|
|
46
|
-
{/if}
|
|
47
|
-
{/each}
|
|
6
|
+
<nav aria-label="Breadcrumb" class={classNames(navClass, $$props.classNav)} {...$$restProps}>
|
|
7
|
+
<ol class={classNames(olClass, $$props.classOl)}>
|
|
8
|
+
<slot />
|
|
48
9
|
</ol>
|
|
49
10
|
</nav>
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
import type { CrumbType } from '../types';
|
|
3
2
|
declare const __propDef: {
|
|
4
3
|
props: {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
solid?: boolean;
|
|
4
|
+
[x: string]: any;
|
|
5
|
+
navClass?: string;
|
|
6
|
+
olClass?: string;
|
|
9
7
|
};
|
|
10
8
|
events: {
|
|
11
9
|
[evt: string]: CustomEvent<any>;
|
|
12
10
|
};
|
|
13
|
-
slots: {
|
|
11
|
+
slots: {
|
|
12
|
+
default: {};
|
|
13
|
+
};
|
|
14
14
|
};
|
|
15
15
|
export declare type BreadcrumbProps = typeof __propDef.props;
|
|
16
16
|
export declare type BreadcrumbEvents = typeof __propDef.events;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<script>import { ChevronRight } from 'svelte-heros';
|
|
2
|
+
export let icon = null;
|
|
3
|
+
export let variation = null;
|
|
4
|
+
export let iconSize = 20;
|
|
5
|
+
export let iconClass = 'mr-2';
|
|
6
|
+
</script>
|
|
7
|
+
|
|
8
|
+
<li class="group flex items-center" {...$$props}>
|
|
9
|
+
<ChevronRight aria-hidden="true" class="mx-1 h-6 w-6 text-gray-400 group-first:hidden md:mx-2" />
|
|
10
|
+
{#if $$props.href}
|
|
11
|
+
<a
|
|
12
|
+
class="inline-flex items-center text-sm font-medium text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-white"
|
|
13
|
+
href={$$props.href}
|
|
14
|
+
>
|
|
15
|
+
{#if icon}
|
|
16
|
+
<svelte:component
|
|
17
|
+
this={icon}
|
|
18
|
+
{variation}
|
|
19
|
+
size={iconSize}
|
|
20
|
+
aria-hidden="true"
|
|
21
|
+
class={iconClass}
|
|
22
|
+
/>
|
|
23
|
+
{/if}
|
|
24
|
+
<slot />
|
|
25
|
+
</a>
|
|
26
|
+
{:else}
|
|
27
|
+
<span
|
|
28
|
+
class="ml-1 text-sm font-medium text-gray-500 md:ml-2 dark:text-gray-400"
|
|
29
|
+
data-testid="breadcrumb-item"
|
|
30
|
+
>
|
|
31
|
+
{#if icon}
|
|
32
|
+
<svelte:component
|
|
33
|
+
this={icon}
|
|
34
|
+
{variation}
|
|
35
|
+
size={iconSize}
|
|
36
|
+
aria-hidden="true"
|
|
37
|
+
class={iconClass}
|
|
38
|
+
/>
|
|
39
|
+
{/if}
|
|
40
|
+
<slot />
|
|
41
|
+
</span>
|
|
42
|
+
{/if}
|
|
43
|
+
</li>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
import type { SvelteComponent } from 'svelte';
|
|
3
|
+
declare const __propDef: {
|
|
4
|
+
props: {
|
|
5
|
+
[x: string]: any;
|
|
6
|
+
icon?: typeof SvelteComponent | null;
|
|
7
|
+
variation?: 'solid' | null;
|
|
8
|
+
iconSize?: number;
|
|
9
|
+
iconClass?: string;
|
|
10
|
+
};
|
|
11
|
+
events: {
|
|
12
|
+
[evt: string]: CustomEvent<any>;
|
|
13
|
+
};
|
|
14
|
+
slots: {
|
|
15
|
+
default: {};
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
export declare type BreadcrumbItemProps = typeof __propDef.props;
|
|
19
|
+
export declare type BreadcrumbItemEvents = typeof __propDef.events;
|
|
20
|
+
export declare type BreadcrumbItemSlots = typeof __propDef.slots;
|
|
21
|
+
export default class BreadcrumbItem extends SvelteComponentTyped<BreadcrumbItemProps, BreadcrumbItemEvents, BreadcrumbItemSlots> {
|
|
22
|
+
}
|
|
23
|
+
export {};
|
package/forms/Select.svelte
CHANGED
|
@@ -8,6 +8,6 @@ export let selectClass = 'bg-gray-50 border border-gray-300 text-gray-900 text-s
|
|
|
8
8
|
</script>
|
|
9
9
|
|
|
10
10
|
<label for={id} class={labelClass}>{label}</label>
|
|
11
|
-
<select bind:value {id} {name} class={selectClass}>
|
|
11
|
+
<select bind:value {id} {name} class={selectClass} on:change>
|
|
12
12
|
<slot />
|
|
13
13
|
</select>
|
package/forms/Select.svelte.d.ts
CHANGED
package/index.d.ts
CHANGED
|
@@ -3,9 +3,8 @@ export { default as AccordionFlush } from './accordions/AccordionFlush.svelte';
|
|
|
3
3
|
export { default as Alert } from './alerts/Alert.svelte';
|
|
4
4
|
export { default as Avatar } from './avatar/Avatar.svelte';
|
|
5
5
|
export { default as Badge } from './badges/Badge.svelte';
|
|
6
|
-
export { default as BadgeIcon } from './badges/BadgeIcon.svelte';
|
|
7
|
-
export { default as BadgeLink } from './badges/BadgeLink.svelte';
|
|
8
6
|
export { default as Breadcrumb } from './breadcrumbs/Breadcrumb.svelte';
|
|
7
|
+
export { default as BreadcrumbItem } from './breadcrumbs/BreadcrumbItem.svelte';
|
|
9
8
|
export { default as Button } from './buttons/Button.svelte';
|
|
10
9
|
export { default as ColorShadowButton } from './buttons/ColorShadowButton.svelte';
|
|
11
10
|
export { default as GradientDuotoneButton } from './buttons/GradientDuotoneButton.svelte';
|
package/index.js
CHANGED
|
@@ -7,10 +7,9 @@ export { default as Alert } from './alerts/Alert.svelte';
|
|
|
7
7
|
export { default as Avatar } from './avatar/Avatar.svelte';
|
|
8
8
|
// Badges
|
|
9
9
|
export { default as Badge } from './badges/Badge.svelte';
|
|
10
|
-
export { default as BadgeIcon } from './badges/BadgeIcon.svelte';
|
|
11
|
-
export { default as BadgeLink } from './badges/BadgeLink.svelte';
|
|
12
10
|
// Breadcrumbs
|
|
13
11
|
export { default as Breadcrumb } from './breadcrumbs/Breadcrumb.svelte';
|
|
12
|
+
export { default as BreadcrumbItem } from './breadcrumbs/BreadcrumbItem.svelte';
|
|
14
13
|
// Buttons
|
|
15
14
|
export { default as Button } from './buttons/Button.svelte';
|
|
16
15
|
export { default as ColorShadowButton } from './buttons/ColorShadowButton.svelte';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "flowbite-svelte",
|
|
3
|
-
"version": "0.19.
|
|
3
|
+
"version": "0.19.12",
|
|
4
4
|
"description": "Flowbite components for Svelte",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"author": {
|
|
@@ -98,9 +98,8 @@
|
|
|
98
98
|
"./alerts/Alert.svelte": "./alerts/Alert.svelte",
|
|
99
99
|
"./avatar/Avatar.svelte": "./avatar/Avatar.svelte",
|
|
100
100
|
"./badges/Badge.svelte": "./badges/Badge.svelte",
|
|
101
|
-
"./badges/BadgeIcon.svelte": "./badges/BadgeIcon.svelte",
|
|
102
|
-
"./badges/BadgeLink.svelte": "./badges/BadgeLink.svelte",
|
|
103
101
|
"./breadcrumbs/Breadcrumb.svelte": "./breadcrumbs/Breadcrumb.svelte",
|
|
102
|
+
"./breadcrumbs/BreadcrumbItem.svelte": "./breadcrumbs/BreadcrumbItem.svelte",
|
|
104
103
|
"./buttongroups/ButtonGroup.svelte": "./buttongroups/ButtonGroup.svelte",
|
|
105
104
|
"./buttongroups/ButtonGroupItem.svelte": "./buttongroups/ButtonGroupItem.svelte",
|
|
106
105
|
"./buttons/Button.svelte": "./buttons/Button.svelte",
|
|
@@ -209,6 +208,7 @@
|
|
|
209
208
|
"./toasts/Toast.svelte": "./toasts/Toast.svelte",
|
|
210
209
|
"./tooltips/Tooltip.svelte": "./tooltips/Tooltip.svelte",
|
|
211
210
|
"./types": "./types.js",
|
|
211
|
+
"./utils/CloseButton.svelte": "./utils/CloseButton.svelte",
|
|
212
212
|
"./utils/clickOutside": "./utils/clickOutside.js",
|
|
213
213
|
"./utils/generateId": "./utils/generateId.js"
|
|
214
214
|
},
|
|
@@ -4,15 +4,9 @@ export let divClass = 'relative overflow-x-auto shadow-md sm:rounded-lg';
|
|
|
4
4
|
export let inputValue = '';
|
|
5
5
|
export let striped = false;
|
|
6
6
|
export let hoverable = false;
|
|
7
|
-
export let menuItems;
|
|
8
|
-
export let filteredItems = [];
|
|
9
7
|
export let placeholder = 'Search';
|
|
10
8
|
$: setContext('striped', striped);
|
|
11
9
|
$: setContext('hoverable', hoverable);
|
|
12
|
-
const handleInput = () => {
|
|
13
|
-
let result = (filteredItems = menuItems.filter((item) => item[0].toLowerCase().match(inputValue.toLowerCase())));
|
|
14
|
-
return result;
|
|
15
|
-
};
|
|
16
10
|
</script>
|
|
17
11
|
|
|
18
12
|
<div class={divClass}>
|
|
@@ -34,7 +28,6 @@ const handleInput = () => {
|
|
|
34
28
|
</div>
|
|
35
29
|
<input
|
|
36
30
|
bind:value={inputValue}
|
|
37
|
-
on:input={handleInput}
|
|
38
31
|
type="text"
|
|
39
32
|
id="table-search"
|
|
40
33
|
class="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-80 pl-10 p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"
|
package/toasts/Toast.svelte
CHANGED
|
@@ -1,65 +1,46 @@
|
|
|
1
|
-
<script>import
|
|
1
|
+
<script>import classNames from 'classnames';
|
|
2
|
+
import * as transitions from 'svelte/transition';
|
|
3
|
+
import CloseButton from '../utils/CloseButton.svelte';
|
|
4
|
+
export let color = 'blue';
|
|
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 = {};
|
|
2
10
|
let visible = true;
|
|
3
|
-
const
|
|
4
|
-
|
|
11
|
+
const colors = {
|
|
12
|
+
blue: 'text-blue-500 bg-blue-100 dark:bg-blue-800 dark:text-blue-200',
|
|
13
|
+
green: 'text-green-500 bg-green-100 dark:bg-green-800 dark:text-green-200',
|
|
14
|
+
red: 'text-red-500 bg-red-100 dark:bg-red-800 dark:text-red-200',
|
|
15
|
+
gray: 'text-gray-500 bg-gray-100 dark:bg-gray-800 dark:text-gray-200',
|
|
16
|
+
purple: 'text-purple-500 bg-purple-100 dark:bg-purple-800 dark:text-purple-200',
|
|
17
|
+
indigo: 'text-indigo-500 bg-indigo-100 dark:bg-indigo-800 dark:text-indigo-200',
|
|
18
|
+
yellow: 'text-yellow-500 bg-yellow-100 dark:bg-yellow-800 dark:text-yellow-200'
|
|
5
19
|
};
|
|
6
|
-
export let iconColor = 'blue';
|
|
7
|
-
// Export a prop through which you can set a desired transition
|
|
8
|
-
export let transitionType = 'fade';
|
|
9
|
-
// Pass in params
|
|
10
|
-
export let transitionParams = {};
|
|
11
|
-
let iconDivClass;
|
|
12
|
-
export let divClass = 'flex items-center w-full max-w-xs p-4 text-gray-500 bg-white rounded-lg shadow dark:text-gray-400 dark:bg-gray-800';
|
|
13
|
-
export let textClass = 'ml-3 text-sm font-normal';
|
|
14
|
-
export let btnClass = 'ml-auto -mx-1.5 -my-1.5 bg-white text-gray-400 hover:text-gray-900 rounded-lg focus:ring-2 focus:ring-gray-300 p-1.5 hover:bg-gray-100 inline-flex h-8 w-8 dark:text-gray-500 dark:hover:text-white dark:bg-gray-800 dark:hover:bg-gray-700';
|
|
15
|
-
if (iconColor === 'blue') {
|
|
16
|
-
iconDivClass = 'inline-flex items-center justify-center flex-shrink-0 w-8 h-8 text-blue-500 bg-blue-100 rounded-lg dark:bg-blue-800 dark:text-blue-200';
|
|
17
|
-
}
|
|
18
|
-
else if (iconColor === 'green') {
|
|
19
|
-
iconDivClass = 'inline-flex items-center justify-center flex-shrink-0 w-8 h-8 text-green-500 bg-green-100 rounded-lg dark:bg-green-800 dark:text-green-200';
|
|
20
|
-
}
|
|
21
|
-
else if (iconColor === 'red') {
|
|
22
|
-
iconDivClass = 'inline-flex items-center justify-center flex-shrink-0 w-8 h-8 text-red-500 bg-red-100 rounded-lg dark:bg-red-800 dark:text-red-200';
|
|
23
|
-
}
|
|
24
|
-
else if (iconColor === 'gray') {
|
|
25
|
-
iconDivClass = 'inline-flex items-center justify-center flex-shrink-0 w-8 h-8 text-gray-500 bg-gray-100 rounded-lg dark:bg-gray-800 dark:text-gray-200';
|
|
26
|
-
}
|
|
27
|
-
else if (iconColor === 'purple') {
|
|
28
|
-
iconDivClass = 'inline-flex items-center justify-center flex-shrink-0 w-8 h-8 text-purple-500 bg-purple-100 rounded-lg dark:bg-purple-800 dark:text-purple-200';
|
|
29
|
-
}
|
|
30
|
-
else if (iconColor === 'indigo') {
|
|
31
|
-
iconDivClass = 'inline-flex items-center justify-center flex-shrink-0 w-8 h-8 text-indigo-500 bg-indigo-100 rounded-lg dark:bg-indigo-800 dark:text-indigo-200';
|
|
32
|
-
}
|
|
33
|
-
else if (iconColor === 'yellow') {
|
|
34
|
-
iconDivClass = 'inline-flex items-center justify-center flex-shrink-0 w-8 h-8 text-yellow-500 bg-yellow-100 rounded-lg dark:bg-yellow-800 dark:text-yellow-200';
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
iconDivClass = 'inline-flex items-center justify-center flex-shrink-0 w-8 h-8 text-blue-500 bg-blue-100 rounded-lg dark:bg-blue-800 dark:text-blue-200';
|
|
38
|
-
}
|
|
39
20
|
// have a custom transition function that returns the desired transition
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
case 'fly':
|
|
47
|
-
return fly(node, params);
|
|
48
|
-
case 'fade':
|
|
49
|
-
return fade(node, params);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
21
|
+
let transitionFunc;
|
|
22
|
+
$: transitionFunc = transitions[transition] ?? transitions.fade;
|
|
23
|
+
let divClass;
|
|
24
|
+
$: divClass = classNames('w-full max-w-xs p-4 text-gray-500 bg-white rounded-lg shadow dark:text-gray-400 dark:bg-gray-800', $$props.class);
|
|
25
|
+
let iconClass;
|
|
26
|
+
$: iconClass = classNames('inline-flex items-center justify-center flex-shrink-0 rounded-lg w-8 h-8 mr-3', colors[color]);
|
|
52
27
|
</script>
|
|
53
28
|
|
|
54
29
|
{#if visible}
|
|
55
|
-
<div transition:
|
|
56
|
-
<div class=
|
|
57
|
-
|
|
30
|
+
<div transition:transitionFunc={params} class={divClass} role="alert">
|
|
31
|
+
<div class="flex items-center w-full">
|
|
32
|
+
{#if $$slots.icon}
|
|
33
|
+
<div class={iconClass}>
|
|
34
|
+
<slot name="icon" />
|
|
35
|
+
</div>
|
|
36
|
+
{/if}
|
|
37
|
+
|
|
38
|
+
<div class="text-sm font-normal"><slot /></div>
|
|
39
|
+
|
|
40
|
+
{#if !simple}
|
|
41
|
+
<CloseButton on:click={() => (visible = false)} />
|
|
42
|
+
{/if}
|
|
58
43
|
</div>
|
|
59
|
-
<
|
|
60
|
-
<button type="button" class={btnClass} on:click={handleHide} aria-label="Close">
|
|
61
|
-
<span class="sr-only">Close</span>
|
|
62
|
-
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd" /></svg>
|
|
63
|
-
</button>
|
|
44
|
+
<slot name="extra" />
|
|
64
45
|
</div>
|
|
65
46
|
{/if}
|
package/toasts/Toast.svelte.d.ts
CHANGED
|
@@ -2,19 +2,19 @@ import { SvelteComponentTyped } from "svelte";
|
|
|
2
2
|
import type { Colors, TransitionTypes, TransitionParamTypes } from '../types';
|
|
3
3
|
declare const __propDef: {
|
|
4
4
|
props: {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
btnClass?: string;
|
|
5
|
+
[x: string]: any;
|
|
6
|
+
color?: Colors;
|
|
7
|
+
simple?: boolean;
|
|
8
|
+
transition?: TransitionTypes;
|
|
9
|
+
params?: TransitionParamTypes;
|
|
11
10
|
};
|
|
12
11
|
events: {
|
|
13
12
|
[evt: string]: CustomEvent<any>;
|
|
14
13
|
};
|
|
15
14
|
slots: {
|
|
16
15
|
icon: {};
|
|
17
|
-
|
|
16
|
+
default: {};
|
|
17
|
+
extra: {};
|
|
18
18
|
};
|
|
19
19
|
};
|
|
20
20
|
export declare type ToastProps = typeof __propDef.props;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<script>import classNames from 'classnames';
|
|
2
|
+
export let color = 'default';
|
|
3
|
+
const colors = {
|
|
4
|
+
gray: 'bg-gray-100 text-gray-500 focus:ring-gray-400 hover:bg-gray-200 dark:bg-gray-200 dark:text-gray-600 dark:hover:bg-gray-300',
|
|
5
|
+
red: 'bg-red-100 text-red-500 focus:ring-red-400 hover:bg-red-200 dark:bg-red-200 dark:text-red-600 dark:hover:bg-red-300',
|
|
6
|
+
yellow: 'bg-yellow-100 text-yellow-500 focus:ring-yellow-400 hover:bg-yellow-200 dark:bg-yellow-200 dark:text-yellow-600 dark:hover:bg-yellow-300',
|
|
7
|
+
green: 'bg-green-100 text-green-500 focus:ring-green-400 hover:bg-green-200 dark:bg-green-200 dark:text-green-600 dark:hover:bg-green-300',
|
|
8
|
+
indigo: 'bg-indigo-100 text-indigo-500 focus:ring-indigo-400 hover:bg-indigo-200 dark:bg-indigo-200 dark:text-indigo-600 dark:hover:bg-indigo-300',
|
|
9
|
+
purple: 'bg-purple-100 text-purple-500 focus:ring-purple-400 hover:bg-purple-200 dark:bg-purple-200 dark:text-purple-600 dark:hover:bg-purple-300',
|
|
10
|
+
pink: 'bg-pink-100 text-pink-500 focus:ring-pink-400 hover:bg-pink-200 dark:bg-pink-200 dark:text-pink-600 dark:hover:bg-pink-300',
|
|
11
|
+
blue: 'bg-blue-100 text-blue-500 focus:ring-blue-400 hover:bg-blue-200 dark:bg-blue-200 dark:text-blue-600 dark:hover:bg-blue-300',
|
|
12
|
+
default: 'bg-white text-gray-400 hover:text-gray-900 focus:ring-gray-300 hover:bg-gray-100 dark:text-gray-500 dark:hover:text-white dark:bg-gray-800 dark:hover:bg-gray-700'
|
|
13
|
+
};
|
|
14
|
+
let buttonClass = '';
|
|
15
|
+
$: buttonClass = classNames('ml-auto -mx-1 -my-1.5 rounded-lg focus:ring-2 p-1.5 inline-flex h-8 w-8', colors[color] ?? colors.blue, $$props.class);
|
|
16
|
+
</script>
|
|
17
|
+
|
|
18
|
+
<button on:click type="button" class={buttonClass} aria-label="Close">
|
|
19
|
+
<span class="sr-only">Close</span>
|
|
20
|
+
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"
|
|
21
|
+
><path
|
|
22
|
+
fill-rule="evenodd"
|
|
23
|
+
d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z"
|
|
24
|
+
clip-rule="evenodd"
|
|
25
|
+
/></svg
|
|
26
|
+
>
|
|
27
|
+
</button>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
[x: string]: any;
|
|
5
|
+
color?: string;
|
|
6
|
+
};
|
|
7
|
+
events: {
|
|
8
|
+
click: MouseEvent;
|
|
9
|
+
} & {
|
|
10
|
+
[evt: string]: CustomEvent<any>;
|
|
11
|
+
};
|
|
12
|
+
slots: {};
|
|
13
|
+
};
|
|
14
|
+
export declare type CloseButtonProps = typeof __propDef.props;
|
|
15
|
+
export declare type CloseButtonEvents = typeof __propDef.events;
|
|
16
|
+
export declare type CloseButtonSlots = typeof __propDef.slots;
|
|
17
|
+
export default class CloseButton extends SvelteComponentTyped<CloseButtonProps, CloseButtonEvents, CloseButtonSlots> {
|
|
18
|
+
}
|
|
19
|
+
export {};
|
package/badges/BadgeIcon.svelte
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
<script>import classNames from 'classnames';
|
|
2
|
-
export let textSize = 'text-xs';
|
|
3
|
-
export let name = 'Read more';
|
|
4
|
-
export let color = 'blue';
|
|
5
|
-
let badgeClass = 'font-medium inline-flex items-center px-2.5 py-0.5 rounded mr-2 ';
|
|
6
|
-
const colors = {
|
|
7
|
-
gray: `bg-gray-100 text-gray-800 ${textSize} dark:bg-gray-700 dark:text-gray-300`,
|
|
8
|
-
red: `bg-red-100 text-red-800 ${textSize} dark:bg-red-700 dark:text-red-300`,
|
|
9
|
-
green: `bg-green-100 text-green-800 ${textSize} dark:bg-green-700 dark:text-green-300`,
|
|
10
|
-
yellow: `bg-yellow-100 text-yellow-800 ${textSize} dark:bg-yellow-700 dark:text-yellow-300`,
|
|
11
|
-
indigo: `bg-indigo-100 text-indigo-800 ${textSize} dark:bg-indigo-700 dark:text-indigo-300`,
|
|
12
|
-
purple: `bg-purple-100 text-purple-800 ${textSize} dark:bg-purple-700 dark:text-purple-300`,
|
|
13
|
-
pink: `bg-pink-100 text-pink-800 ${textSize} dark:bg-pink-700 dark:text-pink-300`,
|
|
14
|
-
blue: `bg-blue-100 text-blue-800 ${textSize} dark:bg-blue-700 dark:text-blue-300`
|
|
15
|
-
};
|
|
16
|
-
badgeClass += colors[color] ?? colors.blue;
|
|
17
|
-
</script>
|
|
18
|
-
|
|
19
|
-
<span class={classNames(badgeClass, $$props.class)} {...$$restProps}>
|
|
20
|
-
<slot />
|
|
21
|
-
{name}
|
|
22
|
-
</span>
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
import type { Colors, Textsize } from '../types';
|
|
3
|
-
declare const __propDef: {
|
|
4
|
-
props: {
|
|
5
|
-
[x: string]: any;
|
|
6
|
-
textSize?: Textsize;
|
|
7
|
-
name?: string;
|
|
8
|
-
color?: Colors;
|
|
9
|
-
};
|
|
10
|
-
events: {
|
|
11
|
-
[evt: string]: CustomEvent<any>;
|
|
12
|
-
};
|
|
13
|
-
slots: {
|
|
14
|
-
default: {};
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
export declare type BadgeIconProps = typeof __propDef.props;
|
|
18
|
-
export declare type BadgeIconEvents = typeof __propDef.events;
|
|
19
|
-
export declare type BadgeIconSlots = typeof __propDef.slots;
|
|
20
|
-
export default class BadgeIcon extends SvelteComponentTyped<BadgeIconProps, BadgeIconEvents, BadgeIconSlots> {
|
|
21
|
-
}
|
|
22
|
-
export {};
|
package/badges/BadgeLink.svelte
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
<script>import classNames from 'classnames';
|
|
2
|
-
export let textSize = 'text-xs';
|
|
3
|
-
export let name = 'Read more';
|
|
4
|
-
export let color = 'blue';
|
|
5
|
-
export let href = '/';
|
|
6
|
-
let badgeClass = 'font-semibold mr-2 px-2.5 py-0.5 rounded ';
|
|
7
|
-
const colors = {
|
|
8
|
-
gray: `bg-gray-100 hover:bg-gray-200 text-gray-800 ${textSize} dark:bg-gray-200 dark:text-gray-800 dark:hover:bg-gray-300`,
|
|
9
|
-
red: `bg-red-100 hover:bg-red-200 text-red-800 ${textSize} dark:bg-red-200 dark:text-red-800 dark:hover:bg-red-300`,
|
|
10
|
-
green: `bg-green-100 hover:bg-green-200 text-green-800 ${textSize} dark:bg-green-200 dark:text-green-800 dark:hover:bg-green-300`,
|
|
11
|
-
yellow: `bg-yellow-100 hover:bg-yellow-200 text-yellow-800 ${textSize} dark:bg-yellow-200 dark:text-yellow-800 dark:hover:bg-yellow-300`,
|
|
12
|
-
indigo: `bg-indigo-100 hover:bg-indigo-200 text-indigo-800 ${textSize} dark:bg-indigo-200 dark:text-indigo-800 dark:hover:bg-indigo-300`,
|
|
13
|
-
purple: `bg-purple-100 hover:bg-purple-200 text-purple-800 ${textSize} dark:bg-purple-200 dark:text-purple-800 dark:hover:bg-purple-300`,
|
|
14
|
-
pink: `bg-pink-100 hover:bg-pink-200 text-pink-800 ${textSize} dark:bg-pink-200 dark:text-pink-800 dark:hover:bg-pink-300`,
|
|
15
|
-
blue: `bg-blue-100 hover:bg-blue-200 text-blue-800 ${textSize} dark:bg-blue-200 dark:text-blue-800 dark:hover:bg-blue-300`
|
|
16
|
-
};
|
|
17
|
-
badgeClass += colors[color] ?? colors.blue;
|
|
18
|
-
</script>
|
|
19
|
-
|
|
20
|
-
<a {href} class={classNames(badgeClass, $$props.class)} {...$$restProps}>{name}</a>
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
import type { Colors, Textsize } from '../types';
|
|
3
|
-
declare const __propDef: {
|
|
4
|
-
props: {
|
|
5
|
-
[x: string]: any;
|
|
6
|
-
textSize?: Textsize;
|
|
7
|
-
name?: string;
|
|
8
|
-
color?: Colors;
|
|
9
|
-
href?: string;
|
|
10
|
-
};
|
|
11
|
-
events: {
|
|
12
|
-
[evt: string]: CustomEvent<any>;
|
|
13
|
-
};
|
|
14
|
-
slots: {};
|
|
15
|
-
};
|
|
16
|
-
export declare type BadgeLinkProps = typeof __propDef.props;
|
|
17
|
-
export declare type BadgeLinkEvents = typeof __propDef.events;
|
|
18
|
-
export declare type BadgeLinkSlots = typeof __propDef.slots;
|
|
19
|
-
export default class BadgeLink extends SvelteComponentTyped<BadgeLinkProps, BadgeLinkEvents, BadgeLinkSlots> {
|
|
20
|
-
}
|
|
21
|
-
export {};
|