flowbite-svelte 0.12.5 → 0.13.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 +5 -0
- package/README.md +7 -0
- package/accordions/AccordionItem.svelte +1 -7
- package/alerts/BorderAlert.svelte +11 -36
- package/avatar/Avatar.svelte +2 -20
- package/badges/BadgeLink.svelte +2 -2
- package/badges/BadgeLink.svelte.d.ts +1 -1
- package/buttons/Button.svelte +1 -2
- package/buttons/GradientOutlineButton.svelte +8 -16
- package/cards/Card.svelte +10 -29
- package/cards/EcommerceCard.svelte +24 -53
- package/cards/EcommerceCard.svelte.d.ts +2 -2
- package/cards/InteractiveCard.svelte +14 -51
- package/cards/InteractiveCard.svelte.d.ts +2 -2
- package/cards/ListCard.svelte +2 -8
- package/cards/SignInCard.svelte +18 -65
- package/cards/SignInCard.svelte.d.ts +2 -2
- package/darkmode/DarkMode.svelte +4 -28
- package/dropdowns/DropdownDefault.svelte +5 -24
- package/dropdowns/DropdownDefault.svelte.d.ts +2 -2
- package/footer/SitemapFooter.svelte +1 -3
- package/forms/Checkbox.svelte +2 -16
- package/forms/Checkbox.svelte.d.ts +2 -7
- package/forms/FloatingLabelInput.svelte +2 -1
- package/forms/FloatingLabelInput.svelte.d.ts +3 -2
- package/forms/Iconinput.svelte +3 -2
- package/forms/Iconinput.svelte.d.ts +3 -2
- package/forms/Input.svelte +4 -13
- package/forms/Input.svelte.d.ts +2 -1
- package/forms/Radio.svelte +2 -30
- package/forms/Radio.svelte.d.ts +2 -7
- package/forms/Select.svelte +4 -3
- package/forms/SingleCheckbox.svelte +4 -11
- package/forms/SingleCheckbox.svelte.d.ts +1 -1
- package/forms/Textarea.svelte +3 -2
- package/forms/Toggle.svelte +5 -4
- package/index.d.ts +2 -0
- package/index.js +4 -0
- package/list-group/List.svelte +1 -3
- package/modals/ExtraLargeModal.svelte +49 -99
- package/modals/LargeModal.svelte +48 -99
- package/modals/MediumModal.svelte +46 -94
- package/modals/ModalButton.svelte +10 -19
- package/modals/ModalButton.svelte.d.ts +1 -0
- package/modals/SignInModal.svelte +30 -94
- package/modals/SmallModal.svelte +48 -99
- package/navbar/DropdownNavbar.svelte +5 -43
- package/navbar/Navbar.svelte +4 -31
- package/package.json +7 -4
- package/paginations/Next.svelte +1 -11
- package/paginations/Pagination.svelte +2 -22
- package/paginations/Previous.svelte +1 -11
- package/progressbars/Progressbar.svelte +8 -11
- package/progressbars/Progressbar.svelte.d.ts +2 -1
- package/spinners/Spinner.svelte +4 -22
- package/tables/Table.svelte +21 -3
- package/tables/Table.svelte.d.ts +12 -16
- package/tables/TableCheckbox.svelte +28 -0
- package/tables/TableCheckbox.svelte.d.ts +21 -0
- package/tables/TableCheckboxRow.svelte +0 -0
- package/tables/TableCheckboxRow.svelte.d.ts +19 -0
- package/tables/TableDefaultRow.svelte +66 -0
- package/tables/TableDefaultRow.svelte.d.ts +18 -0
- package/tabs/IconTabs.svelte +2 -10
- package/tabs/InteractiveTabHead.svelte +2 -17
- package/tabs/InteractiveTabs.svelte +2 -15
- package/tabs/UnderlineTabs.svelte +1 -8
- package/toasts/Toast.svelte +9 -27
- package/toasts/Toast.svelte.d.ts +2 -2
- package/tooltips/Tooltip.svelte +1 -9
- package/types.d.ts +23 -0
- package/utils/generateId.d.ts +1 -0
- package/utils/generateId.js +5 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
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
|
+
|
|
5
|
+
### [0.12.6](https://github.com/shinokada/flowbite-svelte/compare/v0.12.5...v0.12.6) (2022-04-05)
|
package/README.md
CHANGED
|
@@ -21,13 +21,7 @@ const handleToggle = () => {
|
|
|
21
21
|
</script>
|
|
22
22
|
|
|
23
23
|
<h2 aria-expanded={params.open}>
|
|
24
|
-
<button
|
|
25
|
-
on:click={handleToggle}
|
|
26
|
-
type="button"
|
|
27
|
-
class:rounded-t-xl={id === '1'}
|
|
28
|
-
class:border-t-0={id !== '1'}
|
|
29
|
-
class={btnClass}
|
|
30
|
-
>
|
|
24
|
+
<button on:click={handleToggle} type="button" class:rounded-t-xl={id === '1'} class:border-t-0={id !== '1'} class={btnClass}>
|
|
31
25
|
<span><slot name="header" /></span>
|
|
32
26
|
{#if params.open}
|
|
33
27
|
<ChevronUpIconSolid />
|
|
@@ -13,92 +13,67 @@ if (color === 'blue') {
|
|
|
13
13
|
divClass = 'flex p-4 mb-4 bg-blue-100 border-t-4 border-blue-500 dark:bg-blue-200';
|
|
14
14
|
svgClass = 'flex-shrink-0 w-5 h-5 text-blue-700';
|
|
15
15
|
slotClass = 'ml-3 text-sm font-medium text-blue-700';
|
|
16
|
-
buttonClass =
|
|
17
|
-
'ml-auto -mx-1.5 -my-1.5 bg-blue-100 text-blue-500 rounded-lg focus:ring-2 focus:ring-blue-400 p-1.5 hover:bg-blue-200 inline-flex h-8 w-8 dark:bg-blue-200 dark:text-blue-600 dark:hover:bg-blue-300';
|
|
16
|
+
buttonClass = 'ml-auto -mx-1.5 -my-1.5 bg-blue-100 text-blue-500 rounded-lg focus:ring-2 focus:ring-blue-400 p-1.5 hover:bg-blue-200 inline-flex h-8 w-8 dark:bg-blue-200 dark:text-blue-600 dark:hover:bg-blue-300';
|
|
18
17
|
}
|
|
19
18
|
else if (color === 'gray') {
|
|
20
19
|
divClass = 'flex p-4 mb-4 bg-gray-100 border-t-4 border-gray-500 dark:bg-gray-200';
|
|
21
20
|
svgClass = 'flex-shrink-0 w-5 h-5 text-gray-700';
|
|
22
21
|
slotClass = 'ml-3 text-sm font-medium text-gray-700';
|
|
23
|
-
buttonClass =
|
|
24
|
-
'ml-auto -mx-1.5 -my-1.5 bg-gray-100 text-gray-500 rounded-lg focus:ring-2 focus:ring-gray-400 p-1.5 hover:bg-gray-200 inline-flex h-8 w-8 dark:bg-gray-200 dark:text-gray-600 dark:hover:bg-gray-300';
|
|
22
|
+
buttonClass = 'ml-auto -mx-1.5 -my-1.5 bg-gray-100 text-gray-500 rounded-lg focus:ring-2 focus:ring-gray-400 p-1.5 hover:bg-gray-200 inline-flex h-8 w-8 dark:bg-gray-200 dark:text-gray-600 dark:hover:bg-gray-300';
|
|
25
23
|
}
|
|
26
24
|
else if (color === 'red') {
|
|
27
25
|
divClass = 'flex p-4 mb-4 bg-red-100 border-t-4 border-red-500 dark:bg-red-200';
|
|
28
26
|
svgClass = 'flex-shrink-0 w-5 h-5 text-red-700';
|
|
29
27
|
slotClass = 'ml-3 text-sm font-medium text-red-700';
|
|
30
|
-
buttonClass =
|
|
31
|
-
'ml-auto -mx-1.5 -my-1.5 bg-red-100 text-red-500 rounded-lg focus:ring-2 focus:ring-red-400 p-1.5 hover:bg-red-200 inline-flex h-8 w-8 dark:bg-red-200 dark:text-red-600 dark:hover:bg-red-300';
|
|
28
|
+
buttonClass = 'ml-auto -mx-1.5 -my-1.5 bg-red-100 text-red-500 rounded-lg focus:ring-2 focus:ring-red-400 p-1.5 hover:bg-red-200 inline-flex h-8 w-8 dark:bg-red-200 dark:text-red-600 dark:hover:bg-red-300';
|
|
32
29
|
}
|
|
33
30
|
else if (color === 'yellow') {
|
|
34
31
|
divClass = 'flex p-4 mb-4 bg-yellow-100 border-t-4 border-yellow-500 dark:bg-yellow-200';
|
|
35
32
|
svgClass = 'flex-shrink-0 w-5 h-5 text-yellow-700';
|
|
36
33
|
slotClass = 'ml-3 text-sm font-medium text-yellow-700';
|
|
37
|
-
buttonClass =
|
|
38
|
-
'ml-auto -mx-1.5 -my-1.5 bg-yellow-100 text-yellow-500 rounded-lg focus:ring-2 focus:ring-yellow-400 p-1.5 hover:bg-yellow-200 inline-flex h-8 w-8 dark:bg-yellow-200 dark:text-yellow-600 dark:hover:bg-yellow-300';
|
|
34
|
+
buttonClass = 'ml-auto -mx-1.5 -my-1.5 bg-yellow-100 text-yellow-500 rounded-lg focus:ring-2 focus:ring-yellow-400 p-1.5 hover:bg-yellow-200 inline-flex h-8 w-8 dark:bg-yellow-200 dark:text-yellow-600 dark:hover:bg-yellow-300';
|
|
39
35
|
}
|
|
40
36
|
else if (color === 'green') {
|
|
41
37
|
divClass = 'flex p-4 mb-4 bg-green-100 border-t-4 border-green-500 dark:bg-green-200';
|
|
42
38
|
svgClass = 'flex-shrink-0 w-5 h-5 text-green-700';
|
|
43
39
|
slotClass = 'ml-3 text-sm font-medium text-green-700';
|
|
44
|
-
buttonClass =
|
|
45
|
-
'ml-auto -mx-1.5 -my-1.5 bg-green-100 text-green-500 rounded-lg focus:ring-2 focus:ring-green-400 p-1.5 hover:bg-green-200 inline-flex h-8 w-8 dark:bg-green-200 dark:text-green-600 dark:hover:bg-green-300';
|
|
40
|
+
buttonClass = 'ml-auto -mx-1.5 -my-1.5 bg-green-100 text-green-500 rounded-lg focus:ring-2 focus:ring-green-400 p-1.5 hover:bg-green-200 inline-flex h-8 w-8 dark:bg-green-200 dark:text-green-600 dark:hover:bg-green-300';
|
|
46
41
|
}
|
|
47
42
|
else if (color === 'indigo') {
|
|
48
43
|
divClass = 'flex p-4 mb-4 bg-indigo-100 border-t-4 border-indigo-500 dark:bg-indigo-200';
|
|
49
44
|
svgClass = 'flex-shrink-0 w-5 h-5 text-indigo-700';
|
|
50
45
|
slotClass = 'ml-3 text-sm font-medium text-indigo-700';
|
|
51
|
-
buttonClass =
|
|
52
|
-
'ml-auto -mx-1.5 -my-1.5 bg-indigo-100 text-indigo-500 rounded-lg focus:ring-2 focus:ring-indigo-400 p-1.5 hover:bg-indigo-200 inline-flex h-8 w-8 dark:bg-indigo-200 dark:text-indigo-600 dark:hover:bg-indigo-300';
|
|
46
|
+
buttonClass = 'ml-auto -mx-1.5 -my-1.5 bg-indigo-100 text-indigo-500 rounded-lg focus:ring-2 focus:ring-indigo-400 p-1.5 hover:bg-indigo-200 inline-flex h-8 w-8 dark:bg-indigo-200 dark:text-indigo-600 dark:hover:bg-indigo-300';
|
|
53
47
|
}
|
|
54
48
|
else if (color === 'purple') {
|
|
55
49
|
divClass = 'flex p-4 mb-4 bg-purple-100 border-t-4 border-purple-500 dark:bg-purple-200';
|
|
56
50
|
svgClass = 'flex-shrink-0 w-5 h-5 text-purple-700';
|
|
57
51
|
slotClass = 'ml-3 text-sm font-medium text-purple-700';
|
|
58
|
-
buttonClass =
|
|
59
|
-
'ml-auto -mx-1.5 -my-1.5 bg-purple-100 text-purple-500 rounded-lg focus:ring-2 focus:ring-purple-400 p-1.5 hover:bg-purple-200 inline-flex h-8 w-8 dark:bg-purple-200 dark:text-purple-600 dark:hover:bg-purple-300';
|
|
52
|
+
buttonClass = 'ml-auto -mx-1.5 -my-1.5 bg-purple-100 text-purple-500 rounded-lg focus:ring-2 focus:ring-purple-400 p-1.5 hover:bg-purple-200 inline-flex h-8 w-8 dark:bg-purple-200 dark:text-purple-600 dark:hover:bg-purple-300';
|
|
60
53
|
}
|
|
61
54
|
else if (color === 'pink') {
|
|
62
55
|
divClass = 'flex p-4 mb-4 bg-pink-100 border-t-4 border-pink-500 dark:bg-pink-200';
|
|
63
56
|
svgClass = 'flex-shrink-0 w-5 h-5 text-pink-700';
|
|
64
57
|
slotClass = 'ml-3 text-sm font-medium text-pink-700';
|
|
65
|
-
buttonClass =
|
|
66
|
-
'ml-auto -mx-1.5 -my-1.5 bg-pink-100 text-pink-500 rounded-lg focus:ring-2 focus:ring-pink-400 p-1.5 hover:bg-pink-200 inline-flex h-8 w-8 dark:bg-pink-200 dark:text-pink-600 dark:hover:bg-pink-300';
|
|
58
|
+
buttonClass = 'ml-auto -mx-1.5 -my-1.5 bg-pink-100 text-pink-500 rounded-lg focus:ring-2 focus:ring-pink-400 p-1.5 hover:bg-pink-200 inline-flex h-8 w-8 dark:bg-pink-200 dark:text-pink-600 dark:hover:bg-pink-300';
|
|
67
59
|
}
|
|
68
60
|
else {
|
|
69
61
|
divClass = 'flex p-4 mb-4 bg-blue-100 border-t-4 border-blue-500 dark:bg-blue-200';
|
|
70
62
|
svgClass = 'flex-shrink-0 w-5 h-5 text-blue-700';
|
|
71
63
|
slotClass = 'ml-3 text-sm font-medium text-blue-700';
|
|
72
|
-
buttonClass =
|
|
73
|
-
'ml-auto -mx-1.5 -my-1.5 bg-gray-100 text-gray-500 rounded-lg focus:ring-2 focus:ring-gray-400 p-1.5 hover:bg-gray-200 inline-flex h-8 w-8 dark:bg-gray-200 dark:text-gray-600 dark:hover:bg-gray-300';
|
|
64
|
+
buttonClass = 'ml-auto -mx-1.5 -my-1.5 bg-gray-100 text-gray-500 rounded-lg focus:ring-2 focus:ring-gray-400 p-1.5 hover:bg-gray-200 inline-flex h-8 w-8 dark:bg-gray-200 dark:text-gray-600 dark:hover:bg-gray-300';
|
|
74
65
|
}
|
|
75
66
|
</script>
|
|
76
67
|
|
|
77
68
|
<div id={alertId} class:hidden class={divClass} role="alert">
|
|
78
|
-
<svg class={svgClass} fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"
|
|
79
|
-
><path
|
|
80
|
-
fill-rule="evenodd"
|
|
81
|
-
d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z"
|
|
82
|
-
clip-rule="evenodd"
|
|
83
|
-
/></svg
|
|
84
|
-
>
|
|
69
|
+
<svg class={svgClass} fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z" clip-rule="evenodd" /></svg>
|
|
85
70
|
<div class={slotClass}>
|
|
86
71
|
<slot />
|
|
87
72
|
</div>
|
|
88
73
|
{#if closeBtn}
|
|
89
74
|
<button on:click={handleHide} type="button" class={buttonClass} aria-label="Close">
|
|
90
75
|
<span class="sr-only">Dismiss</span>
|
|
91
|
-
<svg
|
|
92
|
-
class="w-5 h-5"
|
|
93
|
-
fill="currentColor"
|
|
94
|
-
viewBox="0 0 20 20"
|
|
95
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
96
|
-
><path
|
|
97
|
-
fill-rule="evenodd"
|
|
98
|
-
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"
|
|
99
|
-
clip-rule="evenodd"
|
|
100
|
-
/></svg
|
|
101
|
-
>
|
|
76
|
+
<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>
|
|
102
77
|
</button>
|
|
103
78
|
{/if}
|
|
104
79
|
</div>
|
package/avatar/Avatar.svelte
CHANGED
|
@@ -1,12 +1,4 @@
|
|
|
1
|
-
<script >export let avatar = {
|
|
2
|
-
src: '/',
|
|
3
|
-
alt: '',
|
|
4
|
-
size: 8,
|
|
5
|
-
border: false,
|
|
6
|
-
round: false,
|
|
7
|
-
header: '',
|
|
8
|
-
text: ''
|
|
9
|
-
};
|
|
1
|
+
<script >export let avatar = {};
|
|
10
2
|
let isCircle = avatar.round ? 'rounded-full' : 'rounded';
|
|
11
3
|
let isBorder = avatar.border ? 'p-1 ring-2 ring-gray-300 dark:ring-gray-500' : '';
|
|
12
4
|
export let avatarClass = `w-${avatar.size} h-${avatar.size} ${isCircle} ${isBorder}`;
|
|
@@ -15,17 +7,7 @@ export let placehoder = false;
|
|
|
15
7
|
|
|
16
8
|
{#if placehoder}
|
|
17
9
|
<div class="relative w-10 h-10 overflow-hidden bg-gray-100 rounded-full dark:bg-gray-600">
|
|
18
|
-
<svg
|
|
19
|
-
class="absolute w-12 h-12 text-gray-400 -left-1"
|
|
20
|
-
fill="currentColor"
|
|
21
|
-
viewBox="0 0 20 20"
|
|
22
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
23
|
-
><path
|
|
24
|
-
fill-rule="evenodd"
|
|
25
|
-
d="M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z"
|
|
26
|
-
clip-rule="evenodd"
|
|
27
|
-
/></svg
|
|
28
|
-
>
|
|
10
|
+
<svg class="absolute w-12 h-12 text-gray-400 -left-1" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z" clip-rule="evenodd" /></svg>
|
|
29
11
|
</div>
|
|
30
12
|
{:else if avatar.header && avatar.text}
|
|
31
13
|
<div class="flex items-center space-x-4">
|
package/badges/BadgeLink.svelte
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script >export let textSize = 'text-xs';
|
|
2
2
|
export let name = 'Read more';
|
|
3
3
|
export let color = 'blue';
|
|
4
|
-
export let
|
|
4
|
+
export let href = '/';
|
|
5
5
|
let badgeClass;
|
|
6
6
|
if (color === 'blue') {
|
|
7
7
|
badgeClass = `bg-blue-100 hover:bg-blue-200 text-blue-800 ${textSize} font-semibold mr-2 px-2.5 py-0.5 rounded dark:bg-blue-200 dark:text-blue-800 dark:hover:bg-blue-300`;
|
|
@@ -32,4 +32,4 @@ else {
|
|
|
32
32
|
}
|
|
33
33
|
</script>
|
|
34
34
|
|
|
35
|
-
<a href
|
|
35
|
+
<a {href} class={badgeClass}>{name}</a>
|
package/buttons/Button.svelte
CHANGED
|
@@ -25,8 +25,7 @@ else if (btnColor === 'blue-outline') {
|
|
|
25
25
|
buttonClass = `text-blue-700 hover:text-white border border-blue-700 hover:bg-blue-800 focus:ring-4 focus:ring-blue-300 font-medium rounded-lg ${textSize} ${paddings} text-center mr-2 mb-2 dark:border-blue-500 dark:text-blue-500 dark:hover:text-white dark:hover:bg-blue-600 dark:focus:ring-blue-800`;
|
|
26
26
|
}
|
|
27
27
|
else if (btnColor === 'dark') {
|
|
28
|
-
buttonClass =
|
|
29
|
-
buttonClass = `text-white bg-gray-800 hover:bg-gray-900 focus:ring-4 focus:ring-gray-300 font-medium ${round} ${textSize} ${paddings} text-center mr-2 mb-2 dark:bg-gray-800 dark:hover:bg-gray-700 dark:focus:ring-gray-800 dark:border-gray-700`;
|
|
28
|
+
buttonClass = buttonClass = `text-white bg-gray-800 hover:bg-gray-900 focus:ring-4 focus:ring-gray-300 font-medium ${round} ${textSize} ${paddings} text-center mr-2 mb-2 dark:bg-gray-800 dark:hover:bg-gray-700 dark:focus:ring-gray-800 dark:border-gray-700`;
|
|
30
29
|
}
|
|
31
30
|
else if (btnColor === 'dark-outline') {
|
|
32
31
|
buttonClass = `text-gray-900 hover:text-white border border-gray-800 hover:bg-gray-900 focus:ring-4 focus:ring-gray-300 font-medium rounded-lg ${textSize} ${paddings} text-center mr-2 mb-2 dark:border-gray-600 dark:text-gray-400 dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-gray-800`;
|
|
@@ -6,43 +6,35 @@ let btnClass;
|
|
|
6
6
|
let spanClass;
|
|
7
7
|
if (color === 'purple2blue') {
|
|
8
8
|
btnClass = `relative inline-flex items-center justify-center p-0.5 mb-2 mr-2 overflow-hidden ${textSize} font-medium text-gray-900 rounded-lg group bg-gradient-to-br from-purple-600 to-blue-500 group-hover:from-purple-600 group-hover:to-blue-500 hover:text-white dark:text-white focus:ring-4 focus:ring-blue-300 dark:focus:ring-blue-800`;
|
|
9
|
-
spanClass =
|
|
10
|
-
'relative px-5 py-2.5 transition-all ease-in duration-75 bg-white dark:bg-gray-900 rounded-md group-hover:bg-opacity-0';
|
|
9
|
+
spanClass = 'relative px-5 py-2.5 transition-all ease-in duration-75 bg-white dark:bg-gray-900 rounded-md group-hover:bg-opacity-0';
|
|
11
10
|
}
|
|
12
11
|
else if (color === 'cyan2blue') {
|
|
13
12
|
btnClass = `relative inline-flex items-center justify-center p-0.5 mb-2 mr-2 overflow-hidden ${textSize} font-medium text-gray-900 rounded-lg group bg-gradient-to-br from-cyan-500 to-blue-500 group-hover:from-cyan-500 group-hover:to-blue-500 hover:text-white dark:text-white focus:ring-4 focus:outline-none focus:ring-cyan-200 dark:focus:ring-cyan-800`;
|
|
14
|
-
spanClass =
|
|
15
|
-
'relative px-5 py-2.5 transition-all ease-in duration-75 bg-white dark:bg-gray-900 rounded-md group-hover:bg-opacity-0';
|
|
13
|
+
spanClass = 'relative px-5 py-2.5 transition-all ease-in duration-75 bg-white dark:bg-gray-900 rounded-md group-hover:bg-opacity-0';
|
|
16
14
|
}
|
|
17
15
|
else if (color === 'green2blue') {
|
|
18
16
|
btnClass = `relative inline-flex items-center justify-center p-0.5 mb-2 mr-2 overflow-hidden ${textSize} font-medium text-gray-900 rounded-lg group bg-gradient-to-br from-green-400 to-blue-600 group-hover:from-green-400 group-hover:to-blue-600 hover:text-white dark:text-white focus:ring-4 focus:ring-green-200 dark:focus:ring-green-800`;
|
|
19
|
-
spanClass =
|
|
20
|
-
'relative px-5 py-2.5 transition-all ease-in duration-75 bg-white dark:bg-gray-900 rounded-md group-hover:bg-opacity-0';
|
|
17
|
+
spanClass = 'relative px-5 py-2.5 transition-all ease-in duration-75 bg-white dark:bg-gray-900 rounded-md group-hover:bg-opacity-0';
|
|
21
18
|
}
|
|
22
19
|
else if (color === 'purple2pink') {
|
|
23
20
|
btnClass = `relative inline-flex items-center justify-center p-0.5 mb-2 mr-2 overflow-hidden ${textSize} font-medium text-gray-900 rounded-lg group bg-gradient-to-br from-purple-500 to-pink-500 group-hover:from-purple-500 group-hover:to-pink-500 hover:text-white dark:text-white focus:ring-4 focus:ring-purple-200 dark:focus:ring-purple-800`;
|
|
24
|
-
spanClass =
|
|
25
|
-
'relative px-5 py-2.5 transition-all ease-in duration-75 bg-white dark:bg-gray-900 rounded-md group-hover:bg-opacity-0';
|
|
21
|
+
spanClass = 'relative px-5 py-2.5 transition-all ease-in duration-75 bg-white dark:bg-gray-900 rounded-md group-hover:bg-opacity-0';
|
|
26
22
|
}
|
|
27
23
|
else if (color === 'pink2orange') {
|
|
28
24
|
btnClass = `relative inline-flex items-center justify-center p-0.5 mb-2 mr-2 overflow-hidden ${textSize} font-medium text-gray-900 rounded-lg group bg-gradient-to-br from-pink-500 to-orange-400 group-hover:from-pink-500 group-hover:to-orange-400 hover:text-white dark:text-white focus:ring-4 focus:ring-pink-200 dark:focus:ring-pink-800`;
|
|
29
|
-
spanClass =
|
|
30
|
-
'relative px-5 py-2.5 transition-all ease-in duration-75 bg-white dark:bg-gray-900 rounded-md group-hover:bg-opacity-0';
|
|
25
|
+
spanClass = 'relative px-5 py-2.5 transition-all ease-in duration-75 bg-white dark:bg-gray-900 rounded-md group-hover:bg-opacity-0';
|
|
31
26
|
}
|
|
32
27
|
else if (color === 'teal2lime') {
|
|
33
28
|
btnClass = `relative inline-flex items-center justify-center p-0.5 mb-2 mr-2 overflow-hidden ${textSize} font-medium text-gray-900 rounded-lg group bg-gradient-to-br from-teal-300 to-lime-300 group-hover:from-teal-300 group-hover:to-lime-300 dark:text-white dark:hover:text-gray-900 focus:ring-4 focus:ring-lime-200 dark:focus:ring-lime-800`;
|
|
34
|
-
spanClass =
|
|
35
|
-
'relative px-5 py-2.5 transition-all ease-in duration-75 bg-white dark:bg-gray-900 rounded-md group-hover:bg-opacity-0';
|
|
29
|
+
spanClass = 'relative px-5 py-2.5 transition-all ease-in duration-75 bg-white dark:bg-gray-900 rounded-md group-hover:bg-opacity-0';
|
|
36
30
|
}
|
|
37
31
|
else if (color === 'red2yellow') {
|
|
38
32
|
btnClass = `relative inline-flex items-center justify-center p-0.5 mb-2 mr-2 overflow-hidden ${textSize} font-medium text-gray-900 rounded-lg group bg-gradient-to-br from-red-200 via-red-300 to-yellow-200 group-hover:from-red-200 group-hover:via-red-300 group-hover:to-yellow-200 dark:text-white dark:hover:text-gray-900 focus:ring-4 focus:ring-red-100 dark:focus:ring-red-400`;
|
|
39
|
-
spanClass =
|
|
40
|
-
'relative px-5 py-2.5 transition-all ease-in duration-75 bg-white dark:bg-gray-900 rounded-md group-hover:bg-opacity-0';
|
|
33
|
+
spanClass = 'relative px-5 py-2.5 transition-all ease-in duration-75 bg-white dark:bg-gray-900 rounded-md group-hover:bg-opacity-0';
|
|
41
34
|
}
|
|
42
35
|
else {
|
|
43
36
|
btnClass = `relative inline-flex items-center justify-center p-0.5 mb-2 mr-2 overflow-hidden ${textSize} font-medium text-gray-900 rounded-lg group bg-gradient-to-br from-purple-600 to-blue-500 group-hover:from-purple-600 group-hover:to-blue-500 hover:text-white dark:text-white focus:ring-4 focus:ring-blue-300 dark:focus:ring-blue-800`;
|
|
44
|
-
spanClass =
|
|
45
|
-
'relative px-5 py-2.5 transition-all ease-in duration-75 bg-white dark:bg-gray-900 rounded-md group-hover:bg-opacity-0';
|
|
37
|
+
spanClass = 'relative px-5 py-2.5 transition-all ease-in duration-75 bg-white dark:bg-gray-900 rounded-md group-hover:bg-opacity-0';
|
|
46
38
|
}
|
|
47
39
|
</script>
|
|
48
40
|
|
package/cards/Card.svelte
CHANGED
|
@@ -11,40 +11,31 @@ export let header = 'Lorem ipsum';
|
|
|
11
11
|
export let divClass = 'max-w-sm bg-white rounded-lg border border-gray-200 shadow-md dark:bg-gray-800 dark:border-gray-700';
|
|
12
12
|
let buttonClass;
|
|
13
13
|
if (btnColor === 'blue') {
|
|
14
|
-
buttonClass =
|
|
15
|
-
'inline-flex items-center py-2 px-3 text-sm font-medium text-center text-white bg-blue-700 rounded-lg hover:bg-blue-800 focus:ring-4 focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800';
|
|
14
|
+
buttonClass = 'inline-flex items-center py-2 px-3 text-sm font-medium text-center text-white bg-blue-700 rounded-lg hover:bg-blue-800 focus:ring-4 focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800';
|
|
16
15
|
}
|
|
17
16
|
else if (btnColor === 'gray') {
|
|
18
|
-
buttonClass =
|
|
19
|
-
'inline-flex items-center py-2 px-3 text-sm font-medium text-center text-white bg-gray-700 rounded-lg hover:bg-gray-800 focus:ring-4 focus:ring-gray-300 dark:bg-gray-600 dark:hover:bg-gray-700 dark:focus:ring-gray-800';
|
|
17
|
+
buttonClass = 'inline-flex items-center py-2 px-3 text-sm font-medium text-center text-white bg-gray-700 rounded-lg hover:bg-gray-800 focus:ring-4 focus:ring-gray-300 dark:bg-gray-600 dark:hover:bg-gray-700 dark:focus:ring-gray-800';
|
|
20
18
|
}
|
|
21
19
|
else if (btnColor === 'red') {
|
|
22
|
-
buttonClass =
|
|
23
|
-
'inline-flex items-center py-2 px-3 text-sm font-medium text-center text-white bg-red-700 rounded-lg hover:bg-red-800 focus:ring-4 focus:ring-red-300 dark:bg-red-600 dark:hover:bg-red-700 dark:focus:ring-red-800';
|
|
20
|
+
buttonClass = 'inline-flex items-center py-2 px-3 text-sm font-medium text-center text-white bg-red-700 rounded-lg hover:bg-red-800 focus:ring-4 focus:ring-red-300 dark:bg-red-600 dark:hover:bg-red-700 dark:focus:ring-red-800';
|
|
24
21
|
}
|
|
25
22
|
else if (btnColor === 'yellow') {
|
|
26
|
-
buttonClass =
|
|
27
|
-
'inline-flex items-center py-2 px-3 text-sm font-medium text-center text-white bg-yellow-700 rounded-lg hover:bg-yellow-800 focus:ring-4 focus:ring-yellow-300 dark:bg-yellow-600 dark:hover:bg-yellow-700 dark:focus:ring-yellow-800';
|
|
23
|
+
buttonClass = 'inline-flex items-center py-2 px-3 text-sm font-medium text-center text-white bg-yellow-700 rounded-lg hover:bg-yellow-800 focus:ring-4 focus:ring-yellow-300 dark:bg-yellow-600 dark:hover:bg-yellow-700 dark:focus:ring-yellow-800';
|
|
28
24
|
}
|
|
29
25
|
else if (btnColor === 'green') {
|
|
30
|
-
buttonClass =
|
|
31
|
-
'inline-flex items-center py-2 px-3 text-sm font-medium text-center text-white bg-green-700 rounded-lg hover:bg-green-800 focus:ring-4 focus:ring-green-300 dark:bg-green-600 dark:hover:bg-green-700 dark:focus:ring-green-800';
|
|
26
|
+
buttonClass = 'inline-flex items-center py-2 px-3 text-sm font-medium text-center text-white bg-green-700 rounded-lg hover:bg-green-800 focus:ring-4 focus:ring-green-300 dark:bg-green-600 dark:hover:bg-green-700 dark:focus:ring-green-800';
|
|
32
27
|
}
|
|
33
28
|
else if (btnColor === 'indigo') {
|
|
34
|
-
buttonClass =
|
|
35
|
-
'inline-flex items-center py-2 px-3 text-sm font-medium text-center text-white bg-indigo-700 rounded-lg hover:bg-indigo-800 focus:ring-4 focus:ring-indigo-300 dark:bg-indigo-600 dark:hover:bg-indigo-700 dark:focus:ring-indigo-800';
|
|
29
|
+
buttonClass = 'inline-flex items-center py-2 px-3 text-sm font-medium text-center text-white bg-indigo-700 rounded-lg hover:bg-indigo-800 focus:ring-4 focus:ring-indigo-300 dark:bg-indigo-600 dark:hover:bg-indigo-700 dark:focus:ring-indigo-800';
|
|
36
30
|
}
|
|
37
31
|
else if (btnColor === 'purple') {
|
|
38
|
-
buttonClass =
|
|
39
|
-
'inline-flex items-center py-2 px-3 text-sm font-medium text-center text-white bg-purple-700 rounded-lg hover:bg-purple-800 focus:ring-4 focus:ring-purple-300 dark:bg-purple-600 dark:hover:bg-purple-700 dark:focus:ring-purple-800';
|
|
32
|
+
buttonClass = 'inline-flex items-center py-2 px-3 text-sm font-medium text-center text-white bg-purple-700 rounded-lg hover:bg-purple-800 focus:ring-4 focus:ring-purple-300 dark:bg-purple-600 dark:hover:bg-purple-700 dark:focus:ring-purple-800';
|
|
40
33
|
}
|
|
41
34
|
else if (btnColor === 'pink') {
|
|
42
|
-
buttonClass =
|
|
43
|
-
'inline-flex items-center py-2 px-3 text-sm font-medium text-center text-white bg-pink-700 rounded-lg hover:bg-pink-800 focus:ring-4 focus:ring-pink-300 dark:bg-pink-600 dark:hover:bg-pink-700 dark:focus:ring-pink-800';
|
|
35
|
+
buttonClass = 'inline-flex items-center py-2 px-3 text-sm font-medium text-center text-white bg-pink-700 rounded-lg hover:bg-pink-800 focus:ring-4 focus:ring-pink-300 dark:bg-pink-600 dark:hover:bg-pink-700 dark:focus:ring-pink-800';
|
|
44
36
|
}
|
|
45
37
|
else {
|
|
46
|
-
buttonClass =
|
|
47
|
-
'inline-flex items-center py-2 px-3 text-sm font-medium text-center text-white bg-blue-700 rounded-lg hover:bg-blue-800 focus:ring-4 focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800';
|
|
38
|
+
buttonClass = 'inline-flex items-center py-2 px-3 text-sm font-medium text-center text-white bg-blue-700 rounded-lg hover:bg-blue-800 focus:ring-4 focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800';
|
|
48
39
|
}
|
|
49
40
|
</script>
|
|
50
41
|
|
|
@@ -78,17 +69,7 @@ else {
|
|
|
78
69
|
{#if link}
|
|
79
70
|
<a href={link} {rel} class={buttonClass}>
|
|
80
71
|
{btnLabel}
|
|
81
|
-
<svg
|
|
82
|
-
class="ml-2 -mr-1 w-4 h-4"
|
|
83
|
-
fill="currentColor"
|
|
84
|
-
viewBox="0 0 20 20"
|
|
85
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
86
|
-
><path
|
|
87
|
-
fill-rule="evenodd"
|
|
88
|
-
d="M10.293 3.293a1 1 0 011.414 0l6 6a1 1 0 010 1.414l-6 6a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-4.293-4.293a1 1 0 010-1.414z"
|
|
89
|
-
clip-rule="evenodd"
|
|
90
|
-
/></svg
|
|
91
|
-
>
|
|
72
|
+
<svg class="ml-2 -mr-1 w-4 h-4" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M10.293 3.293a1 1 0 011.414 0l6 6a1 1 0 010 1.414l-6 6a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-4.293-4.293a1 1 0 010-1.414z" clip-rule="evenodd" /></svg>
|
|
92
73
|
</a>
|
|
93
74
|
{/if}
|
|
94
75
|
</div>
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
<script >export let img
|
|
2
|
-
|
|
3
|
-
alt: 'product image'
|
|
4
|
-
};
|
|
5
|
-
export let link = '/';
|
|
1
|
+
<script >export let img;
|
|
2
|
+
export let href = '/';
|
|
6
3
|
export let btnColor = 'blue';
|
|
7
4
|
export let rel = '';
|
|
8
5
|
export let title = 'Apple Watch Series 7 GPS, Aluminium Case, Starlight Sport';
|
|
@@ -13,88 +10,62 @@ export let divClass = 'max-w-sm bg-white rounded-lg shadow-md dark:bg-gray-800 d
|
|
|
13
10
|
let spanClass;
|
|
14
11
|
let linkClass;
|
|
15
12
|
if (btnColor === 'blue') {
|
|
16
|
-
spanClass =
|
|
17
|
-
|
|
18
|
-
linkClass =
|
|
19
|
-
'text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:ring-blue-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800';
|
|
13
|
+
spanClass = 'bg-blue-100 text-blue-800 text-xs font-semibold mr-2 px-2.5 py-0.5 rounded dark:bg-blue-200 dark:text-blue-800 ml-3';
|
|
14
|
+
linkClass = 'text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:ring-blue-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800';
|
|
20
15
|
}
|
|
21
16
|
else if (btnColor === 'gray') {
|
|
22
|
-
spanClass =
|
|
23
|
-
|
|
24
|
-
linkClass =
|
|
25
|
-
'text-white bg-gray-700 hover:bg-gray-800 focus:ring-4 focus:ring-gray-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-gray-600 dark:hover:bg-gray-700 dark:focus:ring-gray-800';
|
|
17
|
+
spanClass = 'bg-gray-100 text-gray-800 text-xs font-semibold mr-2 px-2.5 py-0.5 rounded dark:bg-gray-200 dark:text-gray-800 ml-3';
|
|
18
|
+
linkClass = 'text-white bg-gray-700 hover:bg-gray-800 focus:ring-4 focus:ring-gray-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-gray-600 dark:hover:bg-gray-700 dark:focus:ring-gray-800';
|
|
26
19
|
}
|
|
27
20
|
else if (btnColor === 'red') {
|
|
28
|
-
spanClass =
|
|
29
|
-
|
|
30
|
-
linkClass =
|
|
31
|
-
'text-white bg-red-700 hover:bg-red-800 focus:ring-4 focus:ring-red-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-red-600 dark:hover:bg-red-700 dark:focus:ring-red-800';
|
|
21
|
+
spanClass = 'bg-red-100 text-red-800 text-xs font-semibold mr-2 px-2.5 py-0.5 rounded dark:bg-red-200 dark:text-red-800 ml-3';
|
|
22
|
+
linkClass = 'text-white bg-red-700 hover:bg-red-800 focus:ring-4 focus:ring-red-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-red-600 dark:hover:bg-red-700 dark:focus:ring-red-800';
|
|
32
23
|
}
|
|
33
24
|
else if (btnColor === 'yellow') {
|
|
34
|
-
spanClass =
|
|
35
|
-
|
|
36
|
-
linkClass =
|
|
37
|
-
'text-white bg-yellow-700 hover:bg-yellow-800 focus:ring-4 focus:ring-yellow-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-yellow-600 dark:hover:bg-yellow-700 dark:focus:ring-yellow-800';
|
|
25
|
+
spanClass = 'bg-yellow-100 text-yellow-800 text-xs font-semibold mr-2 px-2.5 py-0.5 rounded dark:bg-yellow-200 dark:text-yellow-800 ml-3';
|
|
26
|
+
linkClass = 'text-white bg-yellow-700 hover:bg-yellow-800 focus:ring-4 focus:ring-yellow-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-yellow-600 dark:hover:bg-yellow-700 dark:focus:ring-yellow-800';
|
|
38
27
|
}
|
|
39
28
|
else if (btnColor === 'green') {
|
|
40
|
-
spanClass =
|
|
41
|
-
|
|
42
|
-
linkClass =
|
|
43
|
-
'text-white bg-green-700 hover:bg-green-800 focus:ring-4 focus:ring-green-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-green-600 dark:hover:bg-green-700 dark:focus:ring-green-800';
|
|
29
|
+
spanClass = 'bg-green-100 text-green-800 text-xs font-semibold mr-2 px-2.5 py-0.5 rounded dark:bg-green-200 dark:text-green-800 ml-3';
|
|
30
|
+
linkClass = 'text-white bg-green-700 hover:bg-green-800 focus:ring-4 focus:ring-green-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-green-600 dark:hover:bg-green-700 dark:focus:ring-green-800';
|
|
44
31
|
}
|
|
45
32
|
else if (btnColor === 'indigo') {
|
|
46
|
-
spanClass =
|
|
47
|
-
|
|
48
|
-
linkClass =
|
|
49
|
-
'text-white bg-indigo-700 hover:bg-indigo-800 focus:ring-4 focus:ring-indigo-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-indigo-600 dark:hover:bg-indigo-700 dark:focus:ring-indigo-800';
|
|
33
|
+
spanClass = 'bg-indigo-100 text-indigo-800 text-xs font-semibold mr-2 px-2.5 py-0.5 rounded dark:bg-indigo-200 dark:text-indigo-800 ml-3';
|
|
34
|
+
linkClass = 'text-white bg-indigo-700 hover:bg-indigo-800 focus:ring-4 focus:ring-indigo-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-indigo-600 dark:hover:bg-indigo-700 dark:focus:ring-indigo-800';
|
|
50
35
|
}
|
|
51
36
|
else if (btnColor === 'purple') {
|
|
52
|
-
spanClass =
|
|
53
|
-
|
|
54
|
-
linkClass =
|
|
55
|
-
'text-white bg-purple-700 hover:bg-purple-800 focus:ring-4 focus:ring-purple-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-purple-600 dark:hover:bg-purple-700 dark:focus:ring-purple-800';
|
|
37
|
+
spanClass = 'bg-purple-100 text-purple-800 text-xs font-semibold mr-2 px-2.5 py-0.5 rounded dark:bg-purple-200 dark:text-purple-800 ml-3';
|
|
38
|
+
linkClass = 'text-white bg-purple-700 hover:bg-purple-800 focus:ring-4 focus:ring-purple-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-purple-600 dark:hover:bg-purple-700 dark:focus:ring-purple-800';
|
|
56
39
|
}
|
|
57
40
|
else if (btnColor === 'pink') {
|
|
58
|
-
spanClass =
|
|
59
|
-
|
|
60
|
-
linkClass =
|
|
61
|
-
'text-white bg-pink-700 hover:bg-pink-800 focus:ring-4 focus:ring-pink-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-pink-600 dark:hover:bg-pink-700 dark:focus:ring-pink-800';
|
|
41
|
+
spanClass = 'bg-pink-100 text-pink-800 text-xs font-semibold mr-2 px-2.5 py-0.5 rounded dark:bg-pink-200 dark:text-pink-800 ml-3';
|
|
42
|
+
linkClass = 'text-white bg-pink-700 hover:bg-pink-800 focus:ring-4 focus:ring-pink-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-pink-600 dark:hover:bg-pink-700 dark:focus:ring-pink-800';
|
|
62
43
|
}
|
|
63
44
|
else {
|
|
64
|
-
spanClass =
|
|
65
|
-
|
|
66
|
-
linkClass =
|
|
67
|
-
'text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:ring-blue-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800';
|
|
45
|
+
spanClass = 'bg-blue-100 text-blue-800 text-xs font-semibold mr-2 px-2.5 py-0.5 rounded dark:bg-blue-200 dark:text-blue-800 ml-3';
|
|
46
|
+
linkClass = 'text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:ring-blue-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800';
|
|
68
47
|
}
|
|
69
48
|
</script>
|
|
70
49
|
|
|
71
50
|
<div class={divClass}>
|
|
72
|
-
<a href
|
|
51
|
+
<a {href} {rel}>
|
|
73
52
|
<img class="p-8 rounded-t-lg" src={img.src} alt={img.alt} />
|
|
74
53
|
</a>
|
|
75
54
|
<div class="px-5 pb-5">
|
|
76
|
-
<a href
|
|
55
|
+
<a {href} {rel}>
|
|
77
56
|
<h3 class={headerClass}>
|
|
78
57
|
{title}
|
|
79
58
|
</h3>
|
|
80
59
|
</a>
|
|
81
60
|
<div class="flex items-center mt-2.5 mb-5">
|
|
82
61
|
{#each { length: stars } as _, i}
|
|
83
|
-
<svg
|
|
84
|
-
class="w-5 h-5 text-yellow-300"
|
|
85
|
-
fill="currentColor"
|
|
86
|
-
viewBox="0 0 20 20"
|
|
87
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
88
|
-
><path
|
|
89
|
-
d="M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z"
|
|
90
|
-
/></svg
|
|
91
|
-
>
|
|
62
|
+
<svg class="w-5 h-5 text-yellow-300" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z" /></svg>
|
|
92
63
|
{/each}
|
|
93
64
|
<span class={spanClass}>{stars}</span>
|
|
94
65
|
</div>
|
|
95
66
|
<div class="flex justify-between items-center">
|
|
96
67
|
<span class="text-3xl font-bold text-gray-900 dark:text-white">{price}</span>
|
|
97
|
-
<a href
|
|
68
|
+
<a {href} {rel} class={linkClass}>Add to cart</a>
|
|
98
69
|
</div>
|
|
99
70
|
</div>
|
|
100
71
|
</div>
|
|
@@ -13,77 +13,45 @@ export let headerClass = 'mb-1 text-xl font-medium text-gray-900 dark:text-white
|
|
|
13
13
|
export let divClass = 'max-w-sm bg-white rounded-lg border border-gray-200 shadow-md dark:bg-gray-800 dark:border-gray-700';
|
|
14
14
|
let linkClass;
|
|
15
15
|
if (buttonColor === 'blue') {
|
|
16
|
-
linkClass =
|
|
17
|
-
'inline-flex items-center py-2 px-4 text-sm font-medium text-center text-white bg-blue-700 rounded-lg hover:bg-blue-800 focus:ring-4 focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800';
|
|
16
|
+
linkClass = 'inline-flex items-center py-2 px-4 text-sm font-medium text-center text-white bg-blue-700 rounded-lg hover:bg-blue-800 focus:ring-4 focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800';
|
|
18
17
|
}
|
|
19
18
|
else if (buttonColor === 'gray') {
|
|
20
|
-
linkClass =
|
|
21
|
-
'inline-flex items-center py-2 px-4 text-sm font-medium text-center text-white bg-gray-700 rounded-lg hover:bg-gray-800 focus:ring-4 focus:ring-gray-300 dark:bg-gray-600 dark:hover:bg-gray-700 dark:focus:ring-gray-800';
|
|
19
|
+
linkClass = 'inline-flex items-center py-2 px-4 text-sm font-medium text-center text-white bg-gray-700 rounded-lg hover:bg-gray-800 focus:ring-4 focus:ring-gray-300 dark:bg-gray-600 dark:hover:bg-gray-700 dark:focus:ring-gray-800';
|
|
22
20
|
}
|
|
23
21
|
else if (buttonColor === 'red') {
|
|
24
|
-
linkClass =
|
|
25
|
-
'inline-flex items-center py-2 px-4 text-sm font-medium text-center text-white bg-red-700 rounded-lg hover:bg-red-800 focus:ring-4 focus:ring-red-300 dark:bg-red-600 dark:hover:bg-red-700 dark:focus:ring-red-800';
|
|
22
|
+
linkClass = 'inline-flex items-center py-2 px-4 text-sm font-medium text-center text-white bg-red-700 rounded-lg hover:bg-red-800 focus:ring-4 focus:ring-red-300 dark:bg-red-600 dark:hover:bg-red-700 dark:focus:ring-red-800';
|
|
26
23
|
}
|
|
27
24
|
else if (buttonColor === 'yellow') {
|
|
28
|
-
linkClass =
|
|
29
|
-
'inline-flex items-center py-2 px-4 text-sm font-medium text-center text-white bg-yellow-700 rounded-lg hover:bg-yellow-800 focus:ring-4 focus:ring-yellow-300 dark:bg-yellow-600 dark:hover:bg-yellow-700 dark:focus:ring-yellow-800';
|
|
25
|
+
linkClass = 'inline-flex items-center py-2 px-4 text-sm font-medium text-center text-white bg-yellow-700 rounded-lg hover:bg-yellow-800 focus:ring-4 focus:ring-yellow-300 dark:bg-yellow-600 dark:hover:bg-yellow-700 dark:focus:ring-yellow-800';
|
|
30
26
|
}
|
|
31
27
|
else if (buttonColor === 'green') {
|
|
32
|
-
linkClass =
|
|
33
|
-
'inline-flex items-center py-2 px-4 text-sm font-medium text-center text-white bg-green-700 rounded-lg hover:bg-green-800 focus:ring-4 focus:ring-green-300 dark:bg-green-600 dark:hover:bg-green-700 dark:focus:ring-green-800';
|
|
28
|
+
linkClass = 'inline-flex items-center py-2 px-4 text-sm font-medium text-center text-white bg-green-700 rounded-lg hover:bg-green-800 focus:ring-4 focus:ring-green-300 dark:bg-green-600 dark:hover:bg-green-700 dark:focus:ring-green-800';
|
|
34
29
|
}
|
|
35
30
|
else if (buttonColor === 'indigo') {
|
|
36
|
-
linkClass =
|
|
37
|
-
'inline-flex items-center py-2 px-4 text-sm font-medium text-center text-white bg-indigo-700 rounded-lg hover:bg-indigo-800 focus:ring-4 focus:ring-indigo-300 dark:bg-indigo-600 dark:hover:bg-indigo-700 dark:focus:ring-indigo-800';
|
|
31
|
+
linkClass = 'inline-flex items-center py-2 px-4 text-sm font-medium text-center text-white bg-indigo-700 rounded-lg hover:bg-indigo-800 focus:ring-4 focus:ring-indigo-300 dark:bg-indigo-600 dark:hover:bg-indigo-700 dark:focus:ring-indigo-800';
|
|
38
32
|
}
|
|
39
33
|
else if (buttonColor === 'purple') {
|
|
40
|
-
linkClass =
|
|
41
|
-
'inline-flex items-center py-2 px-4 text-sm font-medium text-center text-white bg-purple-700 rounded-lg hover:bg-purple-800 focus:ring-4 focus:ring-purple-300 dark:bg-purple-600 dark:hover:bg-purple-700 dark:focus:ring-purple-800';
|
|
34
|
+
linkClass = 'inline-flex items-center py-2 px-4 text-sm font-medium text-center text-white bg-purple-700 rounded-lg hover:bg-purple-800 focus:ring-4 focus:ring-purple-300 dark:bg-purple-600 dark:hover:bg-purple-700 dark:focus:ring-purple-800';
|
|
42
35
|
}
|
|
43
36
|
else if (buttonColor === 'pink') {
|
|
44
|
-
linkClass =
|
|
45
|
-
'inline-flex items-center py-2 px-4 text-sm font-medium text-center text-white bg-pink-700 rounded-lg hover:bg-pink-800 focus:ring-4 focus:ring-pink-300 dark:bg-pink-600 dark:hover:bg-pink-700 dark:focus:ring-pink-800';
|
|
37
|
+
linkClass = 'inline-flex items-center py-2 px-4 text-sm font-medium text-center text-white bg-pink-700 rounded-lg hover:bg-pink-800 focus:ring-4 focus:ring-pink-300 dark:bg-pink-600 dark:hover:bg-pink-700 dark:focus:ring-pink-800';
|
|
46
38
|
}
|
|
47
39
|
else {
|
|
48
|
-
linkClass =
|
|
49
|
-
'inline-flex items-center py-2 px-4 text-sm font-medium text-center text-white bg-blue-700 rounded-lg hover:bg-blue-800 focus:ring-4 focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800';
|
|
40
|
+
linkClass = 'inline-flex items-center py-2 px-4 text-sm font-medium text-center text-white bg-blue-700 rounded-lg hover:bg-blue-800 focus:ring-4 focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800';
|
|
50
41
|
}
|
|
51
42
|
</script>
|
|
52
43
|
|
|
53
44
|
<div class={divClass}>
|
|
54
45
|
<div class="flex justify-end px-4 pt-4 relative">
|
|
55
|
-
<button
|
|
56
|
-
|
|
57
|
-
on:click={toggleDropdown}
|
|
58
|
-
class="hidden sm:inline-block text-gray-500 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 focus:outline-none focus:ring-4 focus:outline-none focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg text-sm p-1.5"
|
|
59
|
-
type="button"
|
|
60
|
-
>
|
|
61
|
-
<svg
|
|
62
|
-
class="w-6 h-6"
|
|
63
|
-
fill="currentColor"
|
|
64
|
-
viewBox="0 0 20 20"
|
|
65
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
66
|
-
><path
|
|
67
|
-
d="M10 6a2 2 0 110-4 2 2 0 010 4zM10 12a2 2 0 110-4 2 2 0 010 4zM10 18a2 2 0 110-4 2 2 0 010 4z"
|
|
68
|
-
/></svg
|
|
69
|
-
>
|
|
46
|
+
<button id="dropdownButton" on:click={toggleDropdown} class="hidden sm:inline-block text-gray-500 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 focus:outline-none focus:ring-4 focus:outline-none focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg text-sm p-1.5" type="button">
|
|
47
|
+
<svg class="w-6 h-6" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M10 6a2 2 0 110-4 2 2 0 010 4zM10 12a2 2 0 110-4 2 2 0 010 4zM10 18a2 2 0 110-4 2 2 0 010 4z" /></svg>
|
|
70
48
|
</button>
|
|
71
49
|
|
|
72
|
-
<div
|
|
73
|
-
id="dropdown"
|
|
74
|
-
class:hidden={isOpen}
|
|
75
|
-
class:block={!isOpen}
|
|
76
|
-
class="hidden z-10 w-44 text-base list-none bg-white rounded divide-y divide-gray-100 shadow dark:bg-gray-700 absolute top-16 -right-16"
|
|
77
|
-
>
|
|
50
|
+
<div id="dropdown" class:hidden={isOpen} class:block={!isOpen} class="hidden z-10 w-44 text-base list-none bg-white rounded divide-y divide-gray-100 shadow dark:bg-gray-700 absolute top-16 -right-16">
|
|
78
51
|
<ul class="py-1" aria-labelledby="dropdownButton">
|
|
79
52
|
{#each dropdownLinks as { href, name, rel }}
|
|
80
53
|
<li>
|
|
81
|
-
<a
|
|
82
|
-
{href}
|
|
83
|
-
{rel}
|
|
84
|
-
class="block py-2 px-4 text-sm text-gray-700 hover:bg-gray-100 dark:hover:bg-gray-600 dark:text-gray-200 dark:hover:text-white"
|
|
85
|
-
>{name}</a
|
|
86
|
-
>
|
|
54
|
+
<a {href} {rel} class="block py-2 px-4 text-sm text-gray-700 hover:bg-gray-100 dark:hover:bg-gray-600 dark:text-gray-200 dark:hover:text-white">{name}</a>
|
|
87
55
|
</li>
|
|
88
56
|
{/each}
|
|
89
57
|
</ul>
|
|
@@ -101,12 +69,7 @@ else {
|
|
|
101
69
|
<a href={link1.href} rel={link1.rel} class={linkClass}>{link1.name}</a>
|
|
102
70
|
{/if}
|
|
103
71
|
{#if link2.href}
|
|
104
|
-
<a
|
|
105
|
-
href={link2.href}
|
|
106
|
-
rel={link2.rel}
|
|
107
|
-
class="inline-flex items-center py-2 px-4 text-sm font-medium text-center text-gray-900 bg-white rounded-lg border border-gray-300 hover:bg-gray-100 focus:ring-4 focus:ring-blue-300 dark:bg-gray-800 dark:text-white dark:border-gray-600 dark:hover:bg-gray-700 dark:hover:border-gray-700 dark:focus:ring-gray-800"
|
|
108
|
-
>{link2.name}</a
|
|
109
|
-
>
|
|
72
|
+
<a href={link2.href} rel={link2.rel} class="inline-flex items-center py-2 px-4 text-sm font-medium text-center text-gray-900 bg-white rounded-lg border border-gray-300 hover:bg-gray-100 focus:ring-4 focus:ring-blue-300 dark:bg-gray-800 dark:text-white dark:border-gray-600 dark:hover:bg-gray-700 dark:hover:border-gray-700 dark:focus:ring-gray-800">{link2.name}</a>
|
|
110
73
|
{/if}
|
|
111
74
|
</div>
|
|
112
75
|
</div>
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
import type { LinkType, ImgType } from '../types';
|
|
2
|
+
import type { LinkType, ImgType, Colors } from '../types';
|
|
3
3
|
declare const __propDef: {
|
|
4
4
|
props: {
|
|
5
5
|
dropdownLinks: LinkType[];
|
|
6
6
|
img: ImgType;
|
|
7
7
|
header?: string;
|
|
8
8
|
content?: string;
|
|
9
|
-
buttonColor?:
|
|
9
|
+
buttonColor?: Colors;
|
|
10
10
|
link1: LinkType;
|
|
11
11
|
link2: LinkType;
|
|
12
12
|
headerClass?: string;
|