flowbite-svelte 0.8.8 → 0.9.2

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.
Files changed (76) hide show
  1. package/README.md +9 -1
  2. package/accordions/AccordionDefault.svelte +20 -21
  3. package/accordions/AccordionDefault.svelte.d.ts +6 -19
  4. package/accordions/AccordionItem.svelte +31 -34
  5. package/accordions/AccordionItem.svelte.d.ts +6 -16
  6. package/alerts/Alert.svelte +90 -97
  7. package/alerts/Alert.svelte.d.ts +7 -17
  8. package/alerts/BorderAlert.svelte +90 -104
  9. package/alerts/BorderAlert.svelte.d.ts +7 -17
  10. package/alerts/InfoAlert.svelte +106 -111
  11. package/alerts/InfoAlert.svelte.d.ts +8 -20
  12. package/badges/Badge.svelte +22 -16
  13. package/badges/Badge.svelte.d.ts +8 -16
  14. package/badges/BadgeIcon.svelte +24 -18
  15. package/badges/BadgeIcon.svelte.d.ts +8 -18
  16. package/badges/BadgeLink.svelte +23 -17
  17. package/badges/BadgeLink.svelte.d.ts +9 -18
  18. package/buttongroups/ButtonGroup.svelte +41 -64
  19. package/buttongroups/ButtonGroup.svelte.d.ts +7 -23
  20. package/buttongroups/ButtonGroupOutline.svelte +41 -66
  21. package/buttongroups/ButtonGroupOutline.svelte.d.ts +7 -23
  22. package/buttons/Button.svelte +48 -35
  23. package/buttons/Button.svelte.d.ts +8 -19
  24. package/buttons/ColorShadowButton.svelte +22 -16
  25. package/buttons/ColorShadowButton.svelte.d.ts +8 -18
  26. package/buttons/GradientDuotoneButton.svelte +20 -15
  27. package/buttons/GradientDuotoneButton.svelte.d.ts +8 -18
  28. package/buttons/GradientMonochromeButton.svelte +22 -16
  29. package/buttons/GradientMonochromeButton.svelte.d.ts +8 -18
  30. package/buttons/GradientOutlineButton.svelte +30 -25
  31. package/buttons/GradientOutlineButton.svelte.d.ts +8 -18
  32. package/cards/Card.svelte +73 -71
  33. package/cards/Card.svelte.d.ts +12 -26
  34. package/cards/CtaCard.svelte +48 -58
  35. package/cards/CtaCard.svelte.d.ts +8 -32
  36. package/cards/EcommerceCard.svelte +77 -77
  37. package/cards/EcommerceCard.svelte.d.ts +10 -28
  38. package/cards/HorizontalCard.svelte +21 -24
  39. package/cards/HorizontalCard.svelte.d.ts +9 -22
  40. package/cards/InteractiveCard.svelte +96 -110
  41. package/cards/InteractiveCard.svelte.d.ts +10 -50
  42. package/darkmode/DarkMode.svelte +60 -69
  43. package/darkmode/DarkMode.svelte.d.ts +5 -12
  44. package/dropdowns/DropdownDefault.svelte.d.ts +2 -2
  45. package/footer/LogoFooter.svelte +32 -48
  46. package/footer/LogoFooter.svelte.d.ts +11 -46
  47. package/footer/SimpleFooter.svelte +20 -33
  48. package/footer/SimpleFooter.svelte.d.ts +8 -36
  49. package/footer/SitemapFooter.svelte +43 -112
  50. package/footer/SitemapFooter.svelte.d.ts +13 -59
  51. package/footer/SocialMediaFooter.svelte.d.ts +14 -14
  52. package/modals/ExtraLargeModal.svelte.d.ts +2 -2
  53. package/modals/LargeModal.svelte.d.ts +2 -2
  54. package/modals/MediumModal.svelte.d.ts +2 -2
  55. package/modals/SmallModal.svelte.d.ts +2 -2
  56. package/navbar/DropdownNavbar.svelte +116 -201
  57. package/navbar/DropdownNavbar.svelte.d.ts +8 -52
  58. package/navbar/Navbar.svelte +68 -99
  59. package/navbar/Navbar.svelte.d.ts +8 -26
  60. package/package.json +34 -10
  61. package/spinners/Spinner.svelte +63 -57
  62. package/spinners/Spinner.svelte.d.ts +8 -17
  63. package/spinners/SpinnerButton.svelte +31 -31
  64. package/spinners/SpinnerButton.svelte.d.ts +6 -15
  65. package/tabs/DefaultTabs.svelte +13 -39
  66. package/tabs/DefaultTabs.svelte.d.ts +7 -23
  67. package/tabs/InteractiveTabs.svelte +33 -63
  68. package/tabs/InteractiveTabs.svelte.d.ts +7 -35
  69. package/tabs/PillTabs.svelte +12 -34
  70. package/tabs/PillTabs.svelte.d.ts +7 -21
  71. package/tooltips/LightTooltip.svelte +112 -114
  72. package/tooltips/LightTooltip.svelte.d.ts +6 -21
  73. package/tooltips/Tooltip.svelte +113 -114
  74. package/tooltips/Tooltip.svelte.d.ts +6 -21
  75. package/types.d.ts +66 -0
  76. package/types.js +1 -0
@@ -1,63 +1,53 @@
1
- <script>
2
- import Button from "../buttons/Button.svelte";
3
- export let title = "Work fast from anywhere";
4
- export let headColor = "gray";
5
- export let btns = [
6
- {
7
- size: "base",
8
- name: "Download it",
9
- type: "blue",
10
- link: "/about",
11
- rel: undefined,
12
- rounded: null,
13
- },
14
- {
15
- size: "base",
16
- name: "Get in on",
17
- type: "red-outline",
18
- link: "/#",
19
- rel: undefined,
20
- rounded: null,
21
- },
22
- ];
23
- let headClass;
24
- if (headColor === "blue") {
25
- headClass = "mb-2 text-3xl font-bold text-blue-900 dark:text-white";
26
- } else if (headColor === "gray") {
27
- headClass = "mb-2 text-3xl font-bold text-gray-900 dark:text-white";
28
- } else if (headColor === "red") {
29
- headClass = "mb-2 text-3xl font-bold text-red-900 dark:text-white";
30
- } else if (headColor === "yellow") {
31
- headClass = "mb-2 text-3xl font-bold text-yellow-900 dark:text-white";
32
- } else if (headColor === "green") {
33
- headClass = "mb-2 text-3xl font-bold text-green-900 dark:text-white";
34
- } else if (headColor === "indigo") {
35
- headClass = "mb-2 text-3xl font-bold text-indigo-900 dark:text-white";
36
- } else if (headColor === "purple") {
37
- headClass = "mb-2 text-3xl font-bold text-purple-900 dark:text-white";
38
- } else if (headColor === "pink") {
39
- headClass = "mb-2 text-3xl font-bold text-pink-900 dark:text-white";
40
- } else {
41
- headClass = "mb-2 text-3xl font-bold text-blue-900 dark:text-white";
42
- }
1
+ <script >import Button from '../buttons/Button.svelte';
2
+ export let title = 'Work fast from anywhere';
3
+ export let headColor = 'gray';
4
+ export let btns;
5
+ let headClass;
6
+ if (headColor === 'blue') {
7
+ headClass = 'mb-2 text-3xl font-bold text-blue-900 dark:text-white';
8
+ }
9
+ else if (headColor === 'gray') {
10
+ headClass = 'mb-2 text-3xl font-bold text-gray-900 dark:text-white';
11
+ }
12
+ else if (headColor === 'red') {
13
+ headClass = 'mb-2 text-3xl font-bold text-red-900 dark:text-white';
14
+ }
15
+ else if (headColor === 'yellow') {
16
+ headClass = 'mb-2 text-3xl font-bold text-yellow-900 dark:text-white';
17
+ }
18
+ else if (headColor === 'green') {
19
+ headClass = 'mb-2 text-3xl font-bold text-green-900 dark:text-white';
20
+ }
21
+ else if (headColor === 'indigo') {
22
+ headClass = 'mb-2 text-3xl font-bold text-indigo-900 dark:text-white';
23
+ }
24
+ else if (headColor === 'purple') {
25
+ headClass = 'mb-2 text-3xl font-bold text-purple-900 dark:text-white';
26
+ }
27
+ else if (headColor === 'pink') {
28
+ headClass = 'mb-2 text-3xl font-bold text-pink-900 dark:text-white';
29
+ }
30
+ else {
31
+ headClass = 'mb-2 text-3xl font-bold text-blue-900 dark:text-white';
32
+ }
43
33
  </script>
44
34
 
45
35
  <div
46
- class="p-4 w-full text-center bg-white rounded-lg border shadow-md sm:p-8 dark:bg-gray-800 dark:border-gray-700"
36
+ class="p-4 w-full text-center bg-white rounded-lg border shadow-md sm:p-8 dark:bg-gray-800 dark:border-gray-700"
47
37
  >
48
- <h3 class={headClass}>
49
- {title}
50
- </h3>
51
- <p class="mb-5 text-base text-gray-500 sm:text-lg dark:text-gray-400">
52
- <slot />
53
- </p>
54
- <div
55
- class="justify-center items-center space-y-4 sm:flex sm:space-y-0 sm:space-x-4"
56
- >
57
- {#each btns as { name, size, type, link, rel, rounded }}
58
- <a href={link} {rel}>
59
- <Button {name} {size} {type} {rounded} />
60
- </a>
61
- {/each}
62
- </div>
38
+ <h3 class={headClass}>
39
+ {title}
40
+ </h3>
41
+ <p class="mb-5 text-base text-gray-500 sm:text-lg dark:text-gray-400">
42
+ <slot />
43
+ </p>
44
+ <div class="justify-center items-center space-y-4 sm:flex sm:space-y-0 sm:space-x-4">
45
+ {#if btns}
46
+ {#each btns as { name, textSize, type, link, rel, rounded }}
47
+ <a href={link} {rel}>
48
+ <Button {name} {rounded} {type} {textSize} />
49
+ </a>
50
+ {/each}
51
+ {/if}
52
+ </div>
63
53
  </div>
@@ -1,39 +1,10 @@
1
- /** @typedef {typeof __propDef.props} CtaCardProps */
2
- /** @typedef {typeof __propDef.events} CtaCardEvents */
3
- /** @typedef {typeof __propDef.slots} CtaCardSlots */
4
- export default class CtaCard extends SvelteComponentTyped<{
5
- title?: string;
6
- headColor?: string;
7
- btns?: {
8
- size: string;
9
- name: string;
10
- type: string;
11
- link: string;
12
- rel: any;
13
- rounded: any;
14
- }[];
15
- }, {
16
- [evt: string]: CustomEvent<any>;
17
- }, {
18
- default: {};
19
- }> {
20
- }
21
- export type CtaCardProps = typeof __propDef.props;
22
- export type CtaCardEvents = typeof __propDef.events;
23
- export type CtaCardSlots = typeof __propDef.slots;
24
1
  import { SvelteComponentTyped } from "svelte";
2
+ import type { CardButtonType, Colors } from '../types';
25
3
  declare const __propDef: {
26
4
  props: {
27
5
  title?: string;
28
- headColor?: string;
29
- btns?: {
30
- size: string;
31
- name: string;
32
- type: string;
33
- link: string;
34
- rel: any;
35
- rounded: any;
36
- }[];
6
+ headColor?: Colors;
7
+ btns: CardButtonType[];
37
8
  };
38
9
  events: {
39
10
  [evt: string]: CustomEvent<any>;
@@ -42,4 +13,9 @@ declare const __propDef: {
42
13
  default: {};
43
14
  };
44
15
  };
16
+ export declare type CtaCardProps = typeof __propDef.props;
17
+ export declare type CtaCardEvents = typeof __propDef.events;
18
+ export declare type CtaCardSlots = typeof __propDef.slots;
19
+ export default class CtaCard extends SvelteComponentTyped<CtaCardProps, CtaCardEvents, CtaCardSlots> {
20
+ }
45
21
  export {};
@@ -1,98 +1,98 @@
1
- <script>
2
- export let img = {
3
- src: "/images/product-1.png",
4
- alt: "product image",
5
- };
6
- export let link = "/#";
7
- export let btnColor = "blue";
8
- export let rel;
9
- export let title =
10
- "Apple Watch Series 7 GPS, Aluminium Case, Starlight Sport";
11
- export let stars = "5.0";
12
- export let price = "$555";
13
- let spanClass;
14
- let linkClass;
15
- if (btnColor === "blue") {
1
+ <script >export let img = {
2
+ src: '/images/product-1.png',
3
+ alt: 'product image'
4
+ };
5
+ export let link = '/';
6
+ export let btnColor = 'blue';
7
+ export let rel;
8
+ export let title = 'Apple Watch Series 7 GPS, Aluminium Case, Starlight Sport';
9
+ export let stars = 5;
10
+ export let price = '$555';
11
+ let spanClass;
12
+ let linkClass;
13
+ if (btnColor === 'blue') {
16
14
  spanClass =
17
- "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";
15
+ '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';
18
16
  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";
20
- } else if (btnColor === "gray") {
17
+ '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';
18
+ }
19
+ else if (btnColor === 'gray') {
21
20
  spanClass =
22
- "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";
21
+ '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';
23
22
  linkClass =
24
- "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";
25
- } else if (btnColor === "red") {
23
+ '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';
24
+ }
25
+ else if (btnColor === 'red') {
26
26
  spanClass =
27
- "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";
27
+ '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';
28
28
  linkClass =
29
- "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";
30
- } else if (btnColor === "yellow") {
29
+ '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';
30
+ }
31
+ else if (btnColor === 'yellow') {
31
32
  spanClass =
32
- "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";
33
+ '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';
33
34
  linkClass =
34
- "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";
35
- } else if (btnColor === "green") {
35
+ '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';
36
+ }
37
+ else if (btnColor === 'green') {
36
38
  spanClass =
37
- "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";
39
+ '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';
38
40
  linkClass =
39
- "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";
40
- } else if (btnColor === "indigo") {
41
+ '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';
42
+ }
43
+ else if (btnColor === 'indigo') {
41
44
  spanClass =
42
- "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";
45
+ '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';
43
46
  linkClass =
44
- "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";
45
- } else if (btnColor === "purple") {
47
+ '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';
48
+ }
49
+ else if (btnColor === 'purple') {
46
50
  spanClass =
47
- "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";
51
+ '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';
48
52
  linkClass =
49
- "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";
50
- } else if (btnColor === "pink") {
53
+ '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';
54
+ }
55
+ else if (btnColor === 'pink') {
51
56
  spanClass =
52
- "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";
57
+ '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';
53
58
  linkClass =
54
- "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";
55
- } else {
59
+ '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';
60
+ }
61
+ else {
56
62
  spanClass =
57
- "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";
63
+ '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';
58
64
  linkClass =
59
- "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";
60
- }
65
+ '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';
66
+ }
61
67
  </script>
62
68
 
63
- <div
64
- class="max-w-sm bg-white rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700"
65
- >
66
- <a href={link} {rel}>
67
- <img class="p-8 rounded-t-lg" src={img.src} alt={img.alt} />
68
- </a>
69
- <div class="px-5 pb-5">
70
- <a href={link} {rel}>
71
- <h3
72
- class="text-xl font-semibold tracking-tight text-gray-900 dark:text-white"
73
- >
74
- {title}
75
- </h3>
76
- </a>
77
- <div class="flex items-center mt-2.5 mb-5">
78
- {#each { length: parseInt(stars) } as _, i}
79
- <svg
80
- class="w-5 h-5 text-yellow-300"
81
- fill="currentColor"
82
- viewBox="0 0 20 20"
83
- xmlns="http://www.w3.org/2000/svg"
84
- ><path
85
- 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"
86
- /></svg
87
- >
88
- {/each}
89
- <span class={spanClass}>{stars}</span>
90
- </div>
91
- <div class="flex justify-between items-center">
92
- <span class="text-3xl font-bold text-gray-900 dark:text-white"
93
- >{price}</span
94
- >
95
- <a href={link} {rel} class={linkClass}>Add to cart</a>
96
- </div>
97
- </div>
69
+ <div class="max-w-sm bg-white rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700">
70
+ <a href={link} {rel}>
71
+ <img class="p-8 rounded-t-lg" src={img.src} alt={img.alt} />
72
+ </a>
73
+ <div class="px-5 pb-5">
74
+ <a href={link} {rel}>
75
+ <h3 class="text-xl font-semibold tracking-tight text-gray-900 dark:text-white">
76
+ {title}
77
+ </h3>
78
+ </a>
79
+ <div class="flex items-center mt-2.5 mb-5">
80
+ {#each { length: stars } as _, i}
81
+ <svg
82
+ class="w-5 h-5 text-yellow-300"
83
+ fill="currentColor"
84
+ viewBox="0 0 20 20"
85
+ xmlns="http://www.w3.org/2000/svg"
86
+ ><path
87
+ 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"
88
+ /></svg
89
+ >
90
+ {/each}
91
+ <span class={spanClass}>{stars}</span>
92
+ </div>
93
+ <div class="flex justify-between items-center">
94
+ <span class="text-3xl font-bold text-gray-900 dark:text-white">{price}</span>
95
+ <a href={link} {rel} class={linkClass}>Add to cart</a>
96
+ </div>
97
+ </div>
98
98
  </div>
@@ -1,36 +1,13 @@
1
- /** @typedef {typeof __propDef.props} EcommerceCardProps */
2
- /** @typedef {typeof __propDef.events} EcommerceCardEvents */
3
- /** @typedef {typeof __propDef.slots} EcommerceCardSlots */
4
- export default class EcommerceCard extends SvelteComponentTyped<{
5
- rel: any;
6
- link?: string;
7
- btnColor?: string;
8
- img?: {
9
- src: string;
10
- alt: string;
11
- };
12
- title?: string;
13
- stars?: string;
14
- price?: string;
15
- }, {
16
- [evt: string]: CustomEvent<any>;
17
- }, {}> {
18
- }
19
- export type EcommerceCardProps = typeof __propDef.props;
20
- export type EcommerceCardEvents = typeof __propDef.events;
21
- export type EcommerceCardSlots = typeof __propDef.slots;
22
1
  import { SvelteComponentTyped } from "svelte";
2
+ import type { ImgType, Colors } from '../types';
23
3
  declare const __propDef: {
24
4
  props: {
25
- rel: any;
5
+ img?: ImgType;
26
6
  link?: string;
27
- btnColor?: string;
28
- img?: {
29
- src: string;
30
- alt: string;
31
- };
7
+ btnColor?: Colors;
8
+ rel: string;
32
9
  title?: string;
33
- stars?: string;
10
+ stars?: number;
34
11
  price?: string;
35
12
  };
36
13
  events: {
@@ -38,4 +15,9 @@ declare const __propDef: {
38
15
  };
39
16
  slots: {};
40
17
  };
18
+ export declare type EcommerceCardProps = typeof __propDef.props;
19
+ export declare type EcommerceCardEvents = typeof __propDef.events;
20
+ export declare type EcommerceCardSlots = typeof __propDef.slots;
21
+ export default class EcommerceCard extends SvelteComponentTyped<EcommerceCardProps, EcommerceCardEvents, EcommerceCardSlots> {
22
+ }
41
23
  export {};
@@ -1,29 +1,26 @@
1
- <script>
2
- export let link;
3
- export let rel;
4
- export let img = "/images/image-4.jpeg";
5
- export let alt;
6
- export let header = "Lorem ipsum dolor sit ametit.";
1
+ <script >export let link;
2
+ export let rel;
3
+ export let img = '/images/image-4.jpeg';
4
+ export let alt;
5
+ export let header = 'Lorem ipsum dolor sit ametit.';
7
6
  </script>
8
7
 
9
8
  <a
10
- href={link}
11
- {rel}
12
- class="flex flex-col items-center bg-white rounded-lg border shadow-md md:flex-row md:max-w-xl hover:bg-gray-100 dark:border-gray-700 dark:bg-gray-800 dark:hover:bg-gray-700"
9
+ href={link}
10
+ {rel}
11
+ class="flex flex-col items-center bg-white rounded-lg border shadow-md md:flex-row md:max-w-xl hover:bg-gray-100 dark:border-gray-700 dark:bg-gray-800 dark:hover:bg-gray-700"
13
12
  >
14
- <img
15
- class="object-cover w-full h-96 rounded-t-lg md:h-auto md:w-48 md:rounded-none md:rounded-l-lg"
16
- src={img}
17
- {alt}
18
- />
19
- <div class="flex flex-col justify-between p-4 leading-normal">
20
- <h5
21
- class="mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white"
22
- >
23
- {header}
24
- </h5>
25
- <p class="mb-3 font-normal text-gray-700 dark:text-gray-400">
26
- <slot />
27
- </p>
28
- </div>
13
+ <img
14
+ class="object-cover w-full h-96 rounded-t-lg md:h-auto md:w-48 md:rounded-none md:rounded-l-lg"
15
+ src={img}
16
+ {alt}
17
+ />
18
+ <div class="flex flex-col justify-between p-4 leading-normal">
19
+ <h5 class="mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white">
20
+ {header}
21
+ </h5>
22
+ <p class="mb-3 font-normal text-gray-700 dark:text-gray-400">
23
+ <slot />
24
+ </p>
25
+ </div>
29
26
  </a>
@@ -1,29 +1,11 @@
1
- /** @typedef {typeof __propDef.props} HorizontalCardProps */
2
- /** @typedef {typeof __propDef.events} HorizontalCardEvents */
3
- /** @typedef {typeof __propDef.slots} HorizontalCardSlots */
4
- export default class HorizontalCard extends SvelteComponentTyped<{
5
- link: any;
6
- rel: any;
7
- alt: any;
8
- header?: string;
9
- img?: string;
10
- }, {
11
- [evt: string]: CustomEvent<any>;
12
- }, {
13
- default: {};
14
- }> {
15
- }
16
- export type HorizontalCardProps = typeof __propDef.props;
17
- export type HorizontalCardEvents = typeof __propDef.events;
18
- export type HorizontalCardSlots = typeof __propDef.slots;
19
1
  import { SvelteComponentTyped } from "svelte";
20
2
  declare const __propDef: {
21
3
  props: {
22
- link: any;
23
- rel: any;
24
- alt: any;
25
- header?: string;
4
+ link: string;
5
+ rel: string;
26
6
  img?: string;
7
+ alt: string;
8
+ header?: string;
27
9
  };
28
10
  events: {
29
11
  [evt: string]: CustomEvent<any>;
@@ -32,4 +14,9 @@ declare const __propDef: {
32
14
  default: {};
33
15
  };
34
16
  };
17
+ export declare type HorizontalCardProps = typeof __propDef.props;
18
+ export declare type HorizontalCardEvents = typeof __propDef.events;
19
+ export declare type HorizontalCardSlots = typeof __propDef.slots;
20
+ export default class HorizontalCard extends SvelteComponentTyped<HorizontalCardProps, HorizontalCardEvents, HorizontalCardSlots> {
21
+ }
35
22
  export {};