flowbite-svelte 0.19.13 → 0.21.1
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 +38 -0
- package/alerts/Alert.svelte +21 -55
- package/alerts/Alert.svelte.d.ts +3 -3
- package/badges/Badge.svelte +3 -2
- package/badges/Badge.svelte.d.ts +1 -0
- package/buttons/Button.svelte +45 -97
- package/buttons/Button.svelte.d.ts +2 -6
- package/footer/Footer.svelte +18 -0
- package/footer/Footer.svelte.d.ts +19 -0
- package/footer/FooterBrand.svelte +19 -0
- package/footer/FooterBrand.svelte.d.ts +25 -0
- package/footer/FooterCopyright.svelte +19 -0
- package/footer/FooterCopyright.svelte.d.ts +21 -0
- package/footer/FooterIcon.svelte +16 -0
- package/footer/FooterIcon.svelte.d.ts +23 -0
- package/footer/FooterLink.svelte +11 -0
- package/footer/FooterLink.svelte.d.ts +21 -0
- package/footer/FooterLinkGroup.svelte +7 -0
- package/footer/FooterLinkGroup.svelte.d.ts +19 -0
- package/footer/LogoFooter.svelte +20 -22
- package/footer/LogoFooter.svelte.d.ts +0 -2
- package/footer/SimpleFooter.svelte +13 -15
- package/footer/SimpleFooter.svelte.d.ts +0 -2
- package/footer/SitemapFooter.svelte +26 -27
- package/footer/SitemapFooter.svelte.d.ts +0 -2
- package/footer/SocialMediaFooter.svelte +39 -40
- package/footer/SocialMediaFooter.svelte.d.ts +3 -3
- package/index.d.ts +6 -8
- package/index.js +6 -8
- package/package.json +7 -1
- package/ratings/RatingComment.svelte +73 -12
- package/spinners/Spinner.svelte +14 -6
- package/toasts/Toast.svelte +14 -8
- package/toasts/Toast.svelte.d.ts +1 -0
- package/utils/CloseButton.svelte +10 -10
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,44 @@
|
|
|
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.21.1](https://github.com/themesberg/flowbite-svelte/compare/v0.21.0...v0.21.1) (2022-07-12)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* add positioning to Toasts ([a88f641](https://github.com/themesberg/flowbite-svelte/commit/a88f641731efc52d55c6474a8f9696598fd339cc))
|
|
11
|
+
* merging jjagielka-buttons ([94ffdcb](https://github.com/themesberg/flowbite-svelte/commit/94ffdcba071488d0d56492c3a1fdb148afdb9450))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
* buttons - transparency for outline ([6ae3d0f](https://github.com/themesberg/flowbite-svelte/commit/6ae3d0ff767e307ae5a4968f7b3c9a52dbb324f4))
|
|
17
|
+
* documentation typos ([942c3b2](https://github.com/themesberg/flowbite-svelte/commit/942c3b2a2624aec3ba4d34cfab2c1098d41cd362))
|
|
18
|
+
* removed bg and text from CloseButton to keep transparency ([b5d36ee](https://github.com/themesberg/flowbite-svelte/commit/b5d36eec584f89a46d59346995b79b9b0d0fd906))
|
|
19
|
+
* reverting Alert ([ccda53a](https://github.com/themesberg/flowbite-svelte/commit/ccda53ad474e0c6a39ffa6297555485f08ea9b5d))
|
|
20
|
+
|
|
21
|
+
## [0.21.0](https://github.com/themesberg/flowbite-svelte/compare/v0.20.0...v0.21.0) (2022-07-01)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### ⚠ BREAKING CHANGES
|
|
25
|
+
|
|
26
|
+
* Footer component updated
|
|
27
|
+
|
|
28
|
+
### Features
|
|
29
|
+
|
|
30
|
+
* Footer component updated ([c144ba6](https://github.com/themesberg/flowbite-svelte/commit/c144ba67bc7bf883066c9de2afaca21f1dc82bf3))
|
|
31
|
+
|
|
32
|
+
## [0.20.0](https://github.com/themesberg/flowbite-svelte/compare/v0.19.13...v0.20.0) (2022-07-01)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
### ⚠ BREAKING CHANGES
|
|
36
|
+
|
|
37
|
+
* Button component API update
|
|
38
|
+
|
|
39
|
+
### Features
|
|
40
|
+
|
|
41
|
+
* Button component API update ([934ff9b](https://github.com/themesberg/flowbite-svelte/commit/934ff9b6fdb63fa8f10bb93a1ed1ef1afaf95421))
|
|
42
|
+
|
|
5
43
|
### [0.19.13](https://github.com/themesberg/flowbite-svelte/compare/v0.19.12...v0.19.13) (2022-06-30)
|
|
6
44
|
|
|
7
45
|
|
package/alerts/Alert.svelte
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
<script>import classNames from 'classnames';
|
|
2
2
|
import { createEventDispatcher } from 'svelte';
|
|
3
|
+
import CloseButton from '../utils/CloseButton.svelte';
|
|
3
4
|
const dispatch = createEventDispatcher();
|
|
4
5
|
export let color = 'blue';
|
|
5
6
|
export let icon = null;
|
|
6
|
-
export let
|
|
7
|
+
export let dismissable = false;
|
|
7
8
|
export let rounded = true;
|
|
8
|
-
export let
|
|
9
|
+
export let accent = false;
|
|
9
10
|
let hidden = false;
|
|
10
11
|
const handleAlert = () => {
|
|
11
12
|
dispatch('handleAlert');
|
|
@@ -13,14 +14,6 @@ const handleAlert = () => {
|
|
|
13
14
|
const handleHide = () => {
|
|
14
15
|
hidden = !hidden;
|
|
15
16
|
};
|
|
16
|
-
let divClass = 'flex flex-col p-4 mb-4 gap-2 ';
|
|
17
|
-
let contentClass;
|
|
18
|
-
let buttonClass = 'ml-auto -mx-1.5 -my-1.5 rounded-lg focus:ring-2 p-1.5 inline-flex h-8 w-8 ';
|
|
19
|
-
// TODO: update on change
|
|
20
|
-
if (rounded)
|
|
21
|
-
divClass += 'rounded-lg ';
|
|
22
|
-
if (borderAccent)
|
|
23
|
-
divClass += 'border-t-4 ';
|
|
24
17
|
const bgClasses = {
|
|
25
18
|
gray: 'bg-gray-100 dark:bg-gray-200 ',
|
|
26
19
|
red: 'bg-red-100 dark:bg-red-200',
|
|
@@ -29,7 +22,8 @@ const bgClasses = {
|
|
|
29
22
|
indigo: 'bg-indigo-100 dark:bg-indigo-200 ',
|
|
30
23
|
purple: 'bg-purple-100 dark:bg-purple-200 ',
|
|
31
24
|
pink: 'bg-pink-100 dark:bg-pink-200 ',
|
|
32
|
-
blue: 'bg-blue-100 dark:bg-blue-200 '
|
|
25
|
+
blue: 'bg-blue-100 dark:bg-blue-200 ',
|
|
26
|
+
dark: 'bg-gray-100 dark:bg-gray-700'
|
|
33
27
|
};
|
|
34
28
|
const borderAccentClasses = {
|
|
35
29
|
gray: 'border-gray-500 dark:bg-gray-200 ',
|
|
@@ -39,9 +33,10 @@ const borderAccentClasses = {
|
|
|
39
33
|
indigo: 'border-indigo-500 dark:bg-indigo-200 ',
|
|
40
34
|
purple: 'border-purple-500 dark:bg-purple-200 ',
|
|
41
35
|
pink: 'border-pink-500 dark:bg-pink-200 ',
|
|
42
|
-
blue: 'border-blue-500 dark:bg-blue-200 '
|
|
36
|
+
blue: 'border-blue-500 dark:bg-blue-200 ',
|
|
37
|
+
dark: 'border-gray-500'
|
|
43
38
|
};
|
|
44
|
-
const
|
|
39
|
+
const textColors = {
|
|
45
40
|
gray: 'text-gray-700 dark:text-gray-800',
|
|
46
41
|
red: 'text-red-700 dark:text-red-800',
|
|
47
42
|
yellow: 'text-yellow-700 dark:text-yellow-800',
|
|
@@ -49,56 +44,27 @@ const contentClasses = {
|
|
|
49
44
|
indigo: 'text-indigo-700 dark:text-indigo-800',
|
|
50
45
|
purple: 'text-purple-700 dark:text-purple-800',
|
|
51
46
|
pink: 'text-pink-700 dark:text-pink-800',
|
|
52
|
-
blue: 'text-blue-700 dark:text-blue-800'
|
|
47
|
+
blue: 'text-blue-700 dark:text-blue-800',
|
|
48
|
+
dark: 'text-gray-700 dark:text-gray-300'
|
|
53
49
|
};
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
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',
|
|
59
|
-
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',
|
|
60
|
-
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',
|
|
61
|
-
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',
|
|
62
|
-
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'
|
|
63
|
-
};
|
|
64
|
-
divClass += bgClasses[color] ?? bgClasses.blue;
|
|
65
|
-
if (borderAccent)
|
|
66
|
-
divClass += borderAccentClasses[color] ?? borderAccentClasses.blue;
|
|
67
|
-
contentClass = contentClasses[color] ?? contentClasses.blue;
|
|
68
|
-
buttonClass += buttonClasses[color] ?? buttonClasses.blue;
|
|
50
|
+
let divClass;
|
|
51
|
+
$: divClass = classNames('flex flex-col p-4 mb-4 gap-2 ', bgClasses[color] ?? bgClasses.blue, accent && (borderAccentClasses[color] ?? borderAccentClasses.blue), rounded && 'rounded-lg ', accent && 'border-t-4 ', $$props.class);
|
|
52
|
+
let textColor;
|
|
53
|
+
$: textColor = textColors[color] ?? textColors.blue;
|
|
69
54
|
</script>
|
|
70
55
|
|
|
71
|
-
<div id={$$props.id} class:hidden class={
|
|
72
|
-
<div class="flex">
|
|
56
|
+
<div id={$$props.id} class:hidden class={divClass} role="alert">
|
|
57
|
+
<div class="flex items-center">
|
|
73
58
|
{#if icon}
|
|
74
|
-
<svelte:component this={icon} class="flex-shrink-0 w-5 h-5 {
|
|
59
|
+
<svelte:component this={icon} class="flex-shrink-0 w-5 h-5 {textColor} mr-3" />
|
|
75
60
|
{/if}
|
|
76
61
|
|
|
77
|
-
<div class="text-sm
|
|
78
|
-
<slot
|
|
62
|
+
<div class="text-sm {textColor}">
|
|
63
|
+
<slot />
|
|
79
64
|
</div>
|
|
80
65
|
|
|
81
|
-
{#if
|
|
82
|
-
<
|
|
83
|
-
on:click={handleHide}
|
|
84
|
-
on:click={handleAlert}
|
|
85
|
-
type="button"
|
|
86
|
-
class={buttonClass}
|
|
87
|
-
aria-label="Close"
|
|
88
|
-
>
|
|
89
|
-
<span class="sr-only">Close</span>
|
|
90
|
-
<svg
|
|
91
|
-
class="w-5 h-5"
|
|
92
|
-
fill="currentColor"
|
|
93
|
-
viewBox="0 0 20 20"
|
|
94
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
95
|
-
><path
|
|
96
|
-
fill-rule="evenodd"
|
|
97
|
-
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"
|
|
98
|
-
clip-rule="evenodd"
|
|
99
|
-
/></svg
|
|
100
|
-
>
|
|
101
|
-
</button>
|
|
66
|
+
{#if dismissable}
|
|
67
|
+
<CloseButton {color} on:click={handleHide} on:click={handleAlert} />
|
|
102
68
|
{/if}
|
|
103
69
|
</div>
|
|
104
70
|
<slot name="extra" />
|
package/alerts/Alert.svelte.d.ts
CHANGED
|
@@ -6,9 +6,9 @@ declare const __propDef: {
|
|
|
6
6
|
[x: string]: any;
|
|
7
7
|
color?: Colors;
|
|
8
8
|
icon?: typeof SvelteComponent | null;
|
|
9
|
-
|
|
9
|
+
dismissable?: boolean;
|
|
10
10
|
rounded?: boolean;
|
|
11
|
-
|
|
11
|
+
accent?: boolean;
|
|
12
12
|
};
|
|
13
13
|
events: {
|
|
14
14
|
handleAlert: CustomEvent<any>;
|
|
@@ -16,7 +16,7 @@ declare const __propDef: {
|
|
|
16
16
|
[evt: string]: CustomEvent<any>;
|
|
17
17
|
};
|
|
18
18
|
slots: {
|
|
19
|
-
|
|
19
|
+
default: {};
|
|
20
20
|
extra: {};
|
|
21
21
|
};
|
|
22
22
|
};
|
package/badges/Badge.svelte
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
export let color = 'blue';
|
|
3
3
|
export let large = false;
|
|
4
4
|
export let href;
|
|
5
|
+
export let rounded = false;
|
|
5
6
|
let badgeClass;
|
|
6
7
|
const colors = {
|
|
7
8
|
blue: 'bg-blue-100 text-blue-800 dark:bg-blue-200 dark:text-blue-800',
|
|
@@ -23,9 +24,9 @@ const hovers = {
|
|
|
23
24
|
purple: 'hover:bg-purple-200 dark:hover:bg-purple-300',
|
|
24
25
|
pink: 'hover:bg-pink-200 dark:hover:bg-pink-300'
|
|
25
26
|
};
|
|
26
|
-
$: badgeClass = classNames('inline-flex items-center
|
|
27
|
+
$: badgeClass = classNames('inline-flex items-center justify-center mr-2', large ? 'text-sm font-medium' : 'text-xs font-semibold', colors[color] ?? colors.blue, href && (hovers[color] ?? hovers.blue), rounded ? 'rounded-full p-1' : 'rounded px-2.5 py-0.5', $$props.class);
|
|
27
28
|
</script>
|
|
28
29
|
|
|
29
|
-
<svelte:element this={href ? 'a' : 'span'} {href} class={badgeClass}
|
|
30
|
+
<svelte:element this={href ? 'a' : 'span'} {href} {...$$restProps} class={badgeClass}>
|
|
30
31
|
<slot />
|
|
31
32
|
</svelte:element>
|
package/badges/Badge.svelte.d.ts
CHANGED
package/buttons/Button.svelte
CHANGED
|
@@ -1,43 +1,36 @@
|
|
|
1
1
|
<script>import classNames from 'classnames';
|
|
2
|
-
export let label = '';
|
|
3
2
|
export let pill = false;
|
|
4
3
|
export let outline = false;
|
|
5
|
-
export let color = 'blue';
|
|
6
|
-
export let size = 'md';
|
|
7
|
-
export let icon = undefined;
|
|
8
4
|
export let gradient = false;
|
|
9
|
-
let
|
|
10
|
-
let
|
|
5
|
+
export let size = 'md';
|
|
6
|
+
export let color = 'blue';
|
|
11
7
|
export let shadow = null;
|
|
12
|
-
export let positionInGroup = null;
|
|
13
|
-
let outlineStyle;
|
|
14
8
|
const colorClasses = {
|
|
15
|
-
blue: 'text-white bg-blue-700
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
light: 'text-gray-900 bg-white border border-gray-300 hover:bg-gray-100 focus:ring-
|
|
19
|
-
green: 'text-white bg-green-700
|
|
20
|
-
red: 'text-white bg-red-700
|
|
21
|
-
yellow: 'text-white bg-yellow-400
|
|
22
|
-
purple: 'text-white bg-purple-700
|
|
23
|
-
none: ''
|
|
9
|
+
blue: 'text-white bg-blue-700 hover:bg-blue-800 focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800',
|
|
10
|
+
dark: 'text-white bg-gray-800 hover:bg-gray-900 focus:ring-gray-300 dark:bg-gray-800 dark:hover:bg-gray-700 dark:focus:ring-gray-700 dark:border-gray-700',
|
|
11
|
+
alternative: 'text-gray-900 bg-white border border-gray-200 hover:bg-gray-100 focus:ring-gray-200 dark:bg-gray-800 dark:text-gray-400 dark:border-gray-600 hover:text-blue-700 dark:hover:text-white dark:hover:bg-gray-700 dark:focus:ring-gray-700',
|
|
12
|
+
light: 'text-gray-900 bg-white border border-gray-300 hover:bg-gray-100 focus:ring-gray-200 dark:bg-gray-800 dark:text-white dark:border-gray-600 dark:hover:bg-gray-700 dark:hover:border-gray-600 dark:focus:ring-gray-700',
|
|
13
|
+
green: 'text-white bg-green-700 hover:bg-green-800 focus:ring-green-300 dark:bg-green-600 dark:hover:bg-green-700 dark:focus:ring-green-800',
|
|
14
|
+
red: 'text-white bg-red-700 hover:bg-red-800 focus:ring-red-300 dark:bg-red-600 dark:hover:bg-red-700 dark:focus:ring-red-900',
|
|
15
|
+
yellow: 'text-white bg-yellow-400 hover:bg-yellow-500 focus:ring-yellow-300 dark:focus:ring-yellow-900',
|
|
16
|
+
purple: 'text-white bg-purple-700 hover:bg-purple-800 focus:ring-purple-300 dark:bg-purple-600 dark:hover:bg-purple-700 dark:focus:ring-purple-900'
|
|
24
17
|
};
|
|
25
18
|
const gradientClasses = {
|
|
26
|
-
blue: 'text-white bg-gradient-to-r from-blue-500 via-blue-600 to-blue-700 hover:bg-gradient-to-br focus:ring-
|
|
27
|
-
green: 'text-white bg-gradient-to-r from-green-400 via-green-500 to-green-600 hover:bg-gradient-to-br focus:ring-
|
|
28
|
-
cyan: 'text-white bg-gradient-to-r from-cyan-400 via-cyan-500 to-cyan-600 hover:bg-gradient-to-br focus:ring-
|
|
29
|
-
teal: 'text-white bg-gradient-to-r from-teal-400 via-teal-500 to-teal-600 hover:bg-gradient-to-br focus:ring-
|
|
30
|
-
lime: 'text-gray-900 bg-gradient-to-r from-lime-200 via-lime-400 to-lime-500 hover:bg-gradient-to-br focus:ring-
|
|
31
|
-
red: 'text-white bg-gradient-to-r from-red-400 via-red-500 to-red-600 hover:bg-gradient-to-br focus:ring-
|
|
32
|
-
pink: 'text-white bg-gradient-to-r from-pink-400 via-pink-500 to-pink-600 hover:bg-gradient-to-br focus:ring-
|
|
33
|
-
purple: 'text-white bg-gradient-to-r from-purple-500 via-purple-600 to-purple-700 hover:bg-gradient-to-br focus:ring-
|
|
34
|
-
purpleToBlue: 'text-white bg-gradient-to-br from-purple-600 to-blue-500 hover:bg-gradient-to-bl focus:ring-
|
|
35
|
-
cyanToBlue: 'text-white bg-gradient-to-r from-cyan-500 to-blue-500 hover:bg-gradient-to-bl focus:ring-
|
|
36
|
-
greenToBlue: 'text-white bg-gradient-to-br from-green-400 to-blue-600 hover:bg-gradient-to-bl focus:ring-
|
|
37
|
-
purpleToPink: 'text-white bg-gradient-to-r from-purple-500 to-pink-500 hover:bg-gradient-to-l focus:ring-
|
|
38
|
-
pinkToOrange: 'text-white bg-gradient-to-br from-pink-500 to-orange-400 hover:bg-gradient-to-bl focus:ring-
|
|
39
|
-
tealToLime: 'text-gray-900 bg-gradient-to-r from-teal-200 to-lime-200 hover:bg-gradient-to-l
|
|
40
|
-
redToYellow: 'text-gray-900 bg-gradient-to-r from-red-200 via-red-300 to-yellow-200 hover:bg-gradient-to-bl focus:ring-
|
|
19
|
+
blue: 'text-white bg-gradient-to-r from-blue-500 via-blue-600 to-blue-700 hover:bg-gradient-to-br focus:ring-blue-300 dark:focus:ring-blue-800 ',
|
|
20
|
+
green: 'text-white bg-gradient-to-r from-green-400 via-green-500 to-green-600 hover:bg-gradient-to-br focus:ring-green-300 dark:focus:ring-green-800',
|
|
21
|
+
cyan: 'text-white bg-gradient-to-r from-cyan-400 via-cyan-500 to-cyan-600 hover:bg-gradient-to-br focus:ring-cyan-300 dark:focus:ring-cyan-800',
|
|
22
|
+
teal: 'text-white bg-gradient-to-r from-teal-400 via-teal-500 to-teal-600 hover:bg-gradient-to-br focus:ring-teal-300 dark:focus:ring-teal-800',
|
|
23
|
+
lime: 'text-gray-900 bg-gradient-to-r from-lime-200 via-lime-400 to-lime-500 hover:bg-gradient-to-br focus:ring-lime-300 dark:focus:ring-lime-800',
|
|
24
|
+
red: 'text-white bg-gradient-to-r from-red-400 via-red-500 to-red-600 hover:bg-gradient-to-br focus:ring-red-300 dark:focus:ring-red-800',
|
|
25
|
+
pink: 'text-white bg-gradient-to-r from-pink-400 via-pink-500 to-pink-600 hover:bg-gradient-to-br focus:ring-pink-300 dark:focus:ring-pink-800',
|
|
26
|
+
purple: 'text-white bg-gradient-to-r from-purple-500 via-purple-600 to-purple-700 hover:bg-gradient-to-br focus:ring-purple-300 dark:focus:ring-purple-800',
|
|
27
|
+
purpleToBlue: 'text-white bg-gradient-to-br from-purple-600 to-blue-500 hover:bg-gradient-to-bl focus:ring-blue-300 dark:focus:ring-blue-800',
|
|
28
|
+
cyanToBlue: 'text-white bg-gradient-to-r from-cyan-500 to-blue-500 hover:bg-gradient-to-bl focus:ring-cyan-300 dark:focus:ring-cyan-800',
|
|
29
|
+
greenToBlue: 'text-white bg-gradient-to-br from-green-400 to-blue-600 hover:bg-gradient-to-bl focus:ring-green-200 dark:focus:ring-green-800',
|
|
30
|
+
purpleToPink: 'text-white bg-gradient-to-r from-purple-500 to-pink-500 hover:bg-gradient-to-l focus:ring-purple-200 dark:focus:ring-purple-800',
|
|
31
|
+
pinkToOrange: 'text-white bg-gradient-to-br from-pink-500 to-orange-400 hover:bg-gradient-to-bl focus:ring-pink-200 dark:focus:ring-pink-800',
|
|
32
|
+
tealToLime: 'text-gray-900 bg-gradient-to-r from-teal-200 to-lime-200 hover:bg-gradient-to-l focus:ring-lime-200 dark:focus:ring-teal-700',
|
|
33
|
+
redToYellow: 'text-gray-900 bg-gradient-to-r from-red-200 via-red-300 to-yellow-200 hover:bg-gradient-to-bl focus:ring-red-100 dark:focus:ring-red-400'
|
|
41
34
|
};
|
|
42
35
|
const coloredShadowClasses = {
|
|
43
36
|
blue: 'shadow-lg shadow-blue-500/50 dark:shadow-lg dark:shadow-blue-800/80',
|
|
@@ -50,13 +43,12 @@ const coloredShadowClasses = {
|
|
|
50
43
|
purple: 'shadow-lg shadow-purple-500/50 dark:shadow-lg dark:shadow-purple-800/80'
|
|
51
44
|
};
|
|
52
45
|
const outlineClasses = {
|
|
53
|
-
|
|
54
|
-
dark: 'text-gray-900 hover:text-white border border-gray-800 hover:bg-gray-900 focus:ring-
|
|
55
|
-
green: 'text-green-700 hover:text-white border border-green-700 hover:bg-green-800 focus:ring-
|
|
56
|
-
red: 'text-red-700 hover:text-white border border-red-700 hover:bg-red-800 focus:ring-
|
|
57
|
-
yellow: 'text-yellow-400 hover:text-white border border-yellow-400 hover:bg-yellow-500 focus:ring-
|
|
58
|
-
purple: 'text-purple-700 hover:text-white border border-purple-700 hover:bg-purple-800 focus:ring-
|
|
59
|
-
white: 'text-gray-900 bg-white rounded-lg border border-gray-200 hover:bg-gray-100 hover:text-blue-700 focus:z-10 focus:ring-4 focus:outline-none focus:ring-blue-700 focus:text-blue-700 dark:bg-gray-800 dark:text-gray-400 dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-700'
|
|
46
|
+
blue: 'text-blue-700 hover:text-white border border-blue-700 hover:bg-blue-800 focus:ring-blue-300 dark:border-blue-500 dark:text-blue-500 dark:hover:text-white dark:hover:bg-blue-600 dark:focus:ring-blue-800',
|
|
47
|
+
dark: 'text-gray-900 hover:text-white border border-gray-800 hover:bg-gray-900 focus:ring-gray-300 dark:border-gray-600 dark:text-gray-400 dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-gray-800',
|
|
48
|
+
green: 'text-green-700 hover:text-white border border-green-700 hover:bg-green-800 focus:ring-green-300 dark:border-green-500 dark:text-green-500 dark:hover:text-white dark:hover:bg-green-600 dark:focus:ring-green-800',
|
|
49
|
+
red: 'text-red-700 hover:text-white border border-red-700 hover:bg-red-800 focus:ring-red-300 dark:border-red-500 dark:text-red-500 dark:hover:text-white dark:hover:bg-red-600 dark:focus:ring-red-900',
|
|
50
|
+
yellow: 'text-yellow-400 hover:text-white border border-yellow-400 hover:bg-yellow-500 focus:ring-yellow-300 dark:border-yellow-300 dark:text-yellow-300 dark:hover:text-white dark:hover:bg-yellow-400 dark:focus:ring-yellow-900',
|
|
51
|
+
purple: 'text-purple-700 hover:text-white border border-purple-700 hover:bg-purple-800 focus:ring-purple-300 dark:border-purple-400 dark:text-purple-400 dark:hover:text-white dark:hover:bg-purple-500 dark:focus:ring-purple-900'
|
|
60
52
|
};
|
|
61
53
|
const sizeClasses = {
|
|
62
54
|
xs: 'text-xs px-2 py-1',
|
|
@@ -65,64 +57,20 @@ const sizeClasses = {
|
|
|
65
57
|
lg: 'text-base px-5 py-2.5',
|
|
66
58
|
xl: 'text-base px-6 py-3'
|
|
67
59
|
};
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
xl: '!p-3'
|
|
74
|
-
};
|
|
60
|
+
let buttonClass;
|
|
61
|
+
$: buttonClass = classNames('group text-center font-medium focus:ring-4 focus:outline-none', outline && gradient ? 'p-0.5' : 'inline-flex items-center justify-center ' + sizeClasses[size], gradient ? gradientClasses[color] : outline ? outlineClasses[color] : colorClasses[color], pill ? 'rounded-full' : 'rounded-lg', shadow && coloredShadowClasses[shadow], $$props.disabled && 'cursor-not-allowed opacity-50', $$props.class);
|
|
62
|
+
let gradientOutlineClass;
|
|
63
|
+
$: gradientOutlineClass = classNames('inline-flex items-center justify-center', sizeClasses[size], pill ? 'rounded-full' : 'rounded-md', 'bg-white text-gray-900 dark:bg-gray-900 dark:text-white', // this is limitation - no transparency
|
|
64
|
+
'transition-all duration-75 ease-in group-hover:bg-opacity-0 group-hover:text-inherit');
|
|
75
65
|
</script>
|
|
76
66
|
|
|
77
|
-
<button
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
outline ? outlineClasses[color] : colorClasses[color],
|
|
87
|
-
shadow && coloredShadowClasses[shadow],
|
|
88
|
-
{
|
|
89
|
-
'border border-gray-900 dark:border-white': color === 'alternative' && outline,
|
|
90
|
-
'cursor-not-allowed opacity-50': $$props.disabled,
|
|
91
|
-
'focus:!ring-2': !!positionInGroup,
|
|
92
|
-
'rounded-r-none': positionInGroup === 'start',
|
|
93
|
-
'!rounded-none border-l-0 pl-0': positionInGroup === 'middle',
|
|
94
|
-
'rounded-l-none border-l-0 pl-0': positionInGroup === 'end'
|
|
95
|
-
},
|
|
96
|
-
$$props.class
|
|
97
|
-
)}
|
|
98
|
-
>
|
|
99
|
-
<span
|
|
100
|
-
class={classNames(
|
|
101
|
-
'flex items-center',
|
|
102
|
-
sizeClasses[size],
|
|
103
|
-
outline && pill ? 'rounded-full' : 'rounded-md',
|
|
104
|
-
{
|
|
105
|
-
'bg-white text-gray-900 transition-all duration-75 ease-in group-hover:bg-opacity-0 group-hover:text-inherit dark:bg-gray-900 dark:text-white':
|
|
106
|
-
outline,
|
|
107
|
-
'rounded-r-none': positionInGroup === 'start',
|
|
108
|
-
'!rounded-none': positionInGroup === 'middle',
|
|
109
|
-
'rounded-l-none': positionInGroup === 'end',
|
|
110
|
-
|
|
111
|
-
[iconSizeClasses[size]]: !!icon
|
|
112
|
-
}
|
|
113
|
-
)}
|
|
114
|
-
>
|
|
115
|
-
{#if icon}
|
|
116
|
-
<svelte:component this={icon} class="h-5 w-5" />
|
|
117
|
-
{:else}
|
|
118
|
-
<slot />
|
|
119
|
-
{#if label}
|
|
120
|
-
<span
|
|
121
|
-
class="ml-2 inline-flex h-4 w-4 items-center justify-center rounded-full bg-blue-200 text-xs font-semibold text-blue-800"
|
|
122
|
-
>
|
|
123
|
-
{label}
|
|
124
|
-
</span>
|
|
125
|
-
{/if}
|
|
126
|
-
{/if}
|
|
127
|
-
</span>
|
|
67
|
+
<button type="button" {...$$restProps} class={buttonClass} on:click>
|
|
68
|
+
{#if outline && gradient}
|
|
69
|
+
<!-- Trick to prentend outline without using border
|
|
70
|
+
This has a limitation of no supporting transparency as
|
|
71
|
+
background is set to bg-white dark:bg-gray-900 -->
|
|
72
|
+
<span class={gradientOutlineClass}><slot /></span>
|
|
73
|
+
{:else}
|
|
74
|
+
<slot />
|
|
75
|
+
{/if}
|
|
128
76
|
</button>
|
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
import type { SvelteComponent } from 'svelte';
|
|
3
2
|
declare const __propDef: {
|
|
4
3
|
props: {
|
|
5
4
|
[x: string]: any;
|
|
6
|
-
label?: string;
|
|
7
5
|
pill?: boolean;
|
|
8
6
|
outline?: boolean;
|
|
9
|
-
color?: 'blue' | 'alternative' | 'dark' | 'light' | 'green' | 'red' | 'yellow' | 'purple' | 'none';
|
|
10
|
-
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
11
|
-
icon?: typeof SvelteComponent | undefined;
|
|
12
7
|
gradient?: boolean;
|
|
8
|
+
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
9
|
+
color?: 'blue' | 'alternative' | 'dark' | 'light' | 'green' | 'red' | 'yellow' | 'purple';
|
|
13
10
|
shadow?: 'blue' | 'green' | 'cyan' | 'teal' | 'lime' | 'red' | 'pink' | 'purple' | null;
|
|
14
|
-
positionInGroup?: 'start' | 'middle' | 'end' | null;
|
|
15
11
|
};
|
|
16
12
|
events: {
|
|
17
13
|
click: MouseEvent;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<script>import classNames from 'classnames';
|
|
2
|
+
export let footerType = 'default';
|
|
3
|
+
</script>
|
|
4
|
+
|
|
5
|
+
<footer
|
|
6
|
+
class={classNames(
|
|
7
|
+
{
|
|
8
|
+
'bg-gray-800': footerType === 'sitemap',
|
|
9
|
+
'p-4 bg-white sm:p-6 dark:bg-gray-800': footerType === 'socialmedia',
|
|
10
|
+
'p-4 bg-white rounded-lg shadow md:px-6 md:py-8 dark:bg-gray-800': footerType === 'logo',
|
|
11
|
+
'p-4 bg-white rounded-lg shadow md:flex md:items-center md:justify-between md:p-6 dark:bg-gray-800':
|
|
12
|
+
footerType === 'default'
|
|
13
|
+
},
|
|
14
|
+
$$props.class
|
|
15
|
+
)}
|
|
16
|
+
>
|
|
17
|
+
<slot />
|
|
18
|
+
</footer>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
[x: string]: any;
|
|
5
|
+
footerType?: 'sitemap' | 'default' | 'logo' | 'socialmedia';
|
|
6
|
+
};
|
|
7
|
+
events: {
|
|
8
|
+
[evt: string]: CustomEvent<any>;
|
|
9
|
+
};
|
|
10
|
+
slots: {
|
|
11
|
+
default: {};
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
export declare type FooterProps = typeof __propDef.props;
|
|
15
|
+
export declare type FooterEvents = typeof __propDef.events;
|
|
16
|
+
export declare type FooterSlots = typeof __propDef.slots;
|
|
17
|
+
export default class Footer extends SvelteComponentTyped<FooterProps, FooterEvents, FooterSlots> {
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<script>import classNames from 'classnames';
|
|
2
|
+
export let aClass = 'flex items-center';
|
|
3
|
+
export let spanClass = 'self-center text-2xl font-semibold whitespace-nowrap dark:text-white';
|
|
4
|
+
export let imgClass = 'mr-3 h-8';
|
|
5
|
+
export let href = '';
|
|
6
|
+
export let src = '';
|
|
7
|
+
export let alt = '';
|
|
8
|
+
export let name = '';
|
|
9
|
+
</script>
|
|
10
|
+
|
|
11
|
+
{#if href}
|
|
12
|
+
<a {href} class={classNames(aClass, $$props.class)}>
|
|
13
|
+
<img {src} class={imgClass} {alt} />
|
|
14
|
+
<span class={spanClass}>{name}</span>
|
|
15
|
+
<slot />
|
|
16
|
+
</a>
|
|
17
|
+
{:else}
|
|
18
|
+
<img {src} class={imgClass} {alt} />
|
|
19
|
+
{/if}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
[x: string]: any;
|
|
5
|
+
aClass?: string;
|
|
6
|
+
spanClass?: string;
|
|
7
|
+
imgClass?: string;
|
|
8
|
+
href?: string;
|
|
9
|
+
src?: string;
|
|
10
|
+
alt?: string;
|
|
11
|
+
name?: string;
|
|
12
|
+
};
|
|
13
|
+
events: {
|
|
14
|
+
[evt: string]: CustomEvent<any>;
|
|
15
|
+
};
|
|
16
|
+
slots: {
|
|
17
|
+
default: {};
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
export declare type FooterBrandProps = typeof __propDef.props;
|
|
21
|
+
export declare type FooterBrandEvents = typeof __propDef.events;
|
|
22
|
+
export declare type FooterBrandSlots = typeof __propDef.slots;
|
|
23
|
+
export default class FooterBrand extends SvelteComponentTyped<FooterBrandProps, FooterBrandEvents, FooterBrandSlots> {
|
|
24
|
+
}
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<script>import classNames from 'classnames';
|
|
2
|
+
export let spanClass = 'text-sm text-gray-500 sm:text-center dark:text-gray-400';
|
|
3
|
+
export let aClass = 'hover:underline';
|
|
4
|
+
export let year = new Date().getFullYear();
|
|
5
|
+
export let href = '';
|
|
6
|
+
export let by = '';
|
|
7
|
+
</script>
|
|
8
|
+
|
|
9
|
+
<span class={classNames(spanClass, $$props.class)}>
|
|
10
|
+
© {year}
|
|
11
|
+
{#if href}
|
|
12
|
+
<a {href} class={aClass}>
|
|
13
|
+
{by}
|
|
14
|
+
</a>
|
|
15
|
+
{:else}
|
|
16
|
+
<span class="ml-1">{by}</span>
|
|
17
|
+
{/if}
|
|
18
|
+
. All Rights Reserved.
|
|
19
|
+
</span>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
[x: string]: any;
|
|
5
|
+
spanClass?: string;
|
|
6
|
+
aClass?: string;
|
|
7
|
+
year?: number;
|
|
8
|
+
href?: string;
|
|
9
|
+
by?: string;
|
|
10
|
+
};
|
|
11
|
+
events: {
|
|
12
|
+
[evt: string]: CustomEvent<any>;
|
|
13
|
+
};
|
|
14
|
+
slots: {};
|
|
15
|
+
};
|
|
16
|
+
export declare type FooterCopyrightProps = typeof __propDef.props;
|
|
17
|
+
export declare type FooterCopyrightEvents = typeof __propDef.events;
|
|
18
|
+
export declare type FooterCopyrightSlots = typeof __propDef.slots;
|
|
19
|
+
export default class FooterCopyright extends SvelteComponentTyped<FooterCopyrightProps, FooterCopyrightEvents, FooterCopyrightSlots> {
|
|
20
|
+
}
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<script>import classNames from 'classnames';
|
|
2
|
+
export let href = '';
|
|
3
|
+
export let ariaLabel = '';
|
|
4
|
+
export let aClass = 'text-gray-500 hover:text-gray-900 dark:hover:text-white';
|
|
5
|
+
export let icon = null;
|
|
6
|
+
export let iconClass = 'h-5 w-5';
|
|
7
|
+
export let size = '20';
|
|
8
|
+
</script>
|
|
9
|
+
|
|
10
|
+
{#if href}
|
|
11
|
+
<a {href} aria-label={ariaLabel} class={classNames(aClass, $$props.class)}>
|
|
12
|
+
<svelte:component this={icon} {size} class={iconClass} />
|
|
13
|
+
</a>
|
|
14
|
+
{:else}
|
|
15
|
+
<svelte:component this={icon} {size} class={iconClass} />
|
|
16
|
+
{/if}
|
|
@@ -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
|
+
href?: string;
|
|
7
|
+
ariaLabel?: string;
|
|
8
|
+
aClass?: string;
|
|
9
|
+
icon?: typeof SvelteComponent | null;
|
|
10
|
+
iconClass?: string;
|
|
11
|
+
size?: string;
|
|
12
|
+
};
|
|
13
|
+
events: {
|
|
14
|
+
[evt: string]: CustomEvent<any>;
|
|
15
|
+
};
|
|
16
|
+
slots: {};
|
|
17
|
+
};
|
|
18
|
+
export declare type FooterIconProps = typeof __propDef.props;
|
|
19
|
+
export declare type FooterIconEvents = typeof __propDef.events;
|
|
20
|
+
export declare type FooterIconSlots = typeof __propDef.slots;
|
|
21
|
+
export default class FooterIcon extends SvelteComponentTyped<FooterIconProps, FooterIconEvents, FooterIconSlots> {
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<script>import classNames from 'classnames';
|
|
2
|
+
export let liClass = 'mr-4 last:mr-0 md:mr-6';
|
|
3
|
+
export let aClass = 'hover:underline';
|
|
4
|
+
export let href = '';
|
|
5
|
+
</script>
|
|
6
|
+
|
|
7
|
+
<li class={classNames(liClass, $$props.class)}>
|
|
8
|
+
<a {href} class={aClass}>
|
|
9
|
+
<slot />
|
|
10
|
+
</a>
|
|
11
|
+
</li>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
[x: string]: any;
|
|
5
|
+
liClass?: string;
|
|
6
|
+
aClass?: string;
|
|
7
|
+
href?: string;
|
|
8
|
+
};
|
|
9
|
+
events: {
|
|
10
|
+
[evt: string]: CustomEvent<any>;
|
|
11
|
+
};
|
|
12
|
+
slots: {
|
|
13
|
+
default: {};
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
export declare type FooterLinkProps = typeof __propDef.props;
|
|
17
|
+
export declare type FooterLinkEvents = typeof __propDef.events;
|
|
18
|
+
export declare type FooterLinkSlots = typeof __propDef.slots;
|
|
19
|
+
export default class FooterLink extends SvelteComponentTyped<FooterLinkProps, FooterLinkEvents, FooterLinkSlots> {
|
|
20
|
+
}
|
|
21
|
+
export {};
|