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,31 +1,37 @@
1
- <script>
2
- export let textSize = "text-xs"; // text-sm
3
- export let name = "Read more";
4
- export let color = "blue";
5
-
6
- let badgeClass;
7
- if (color === "blue") {
1
+ <script >export let textSize = 'text-xs';
2
+ export let name = 'Read more';
3
+ export let color = 'blue';
4
+ let badgeClass;
5
+ if (color === 'blue') {
8
6
  badgeClass = `bg-blue-100 text-blue-800 ${textSize} font-medium inline-flex items-center px-2.5 py-0.5 rounded mr-2 dark:bg-blue-700 dark:text-blue-300`;
9
- } else if (color === "gray") {
7
+ }
8
+ else if (color === 'gray') {
10
9
  badgeClass = `bg-gray-100 text-gray-800 ${textSize} font-medium inline-flex items-center px-2.5 py-0.5 rounded mr-2 dark:bg-gray-700 dark:text-gray-300`;
11
- } else if (color === "red") {
10
+ }
11
+ else if (color === 'red') {
12
12
  badgeClass = `bg-red-100 text-red-800 ${textSize} font-medium inline-flex items-center px-2.5 py-0.5 rounded mr-2 dark:bg-red-700 dark:text-red-300`;
13
- } else if (color === "green") {
13
+ }
14
+ else if (color === 'green') {
14
15
  badgeClass = `bg-green-100 text-green-800 ${textSize} font-medium inline-flex items-center px-2.5 py-0.5 rounded mr-2 dark:bg-green-700 dark:text-green-300`;
15
- } else if (color === "yellow") {
16
+ }
17
+ else if (color === 'yellow') {
16
18
  badgeClass = `bg-yellow-100 text-yellow-800 ${textSize} font-medium inline-flex items-center px-2.5 py-0.5 rounded mr-2 dark:bg-yellow-700 dark:text-yellow-300`;
17
- } else if (color === "indigo") {
19
+ }
20
+ else if (color === 'indigo') {
18
21
  badgeClass = `bg-indigo-100 text-indigo-800 ${textSize} font-medium inline-flex items-center px-2.5 py-0.5 rounded mr-2 dark:bg-indigo-700 dark:text-indigo-300`;
19
- } else if (color === "purple") {
22
+ }
23
+ else if (color === 'purple') {
20
24
  badgeClass = `bg-purple-100 text-purple-800 ${textSize} font-medium inline-flex items-center px-2.5 py-0.5 rounded mr-2 dark:bg-purple-700 dark:text-purple-300`;
21
- } else if (color === "pink") {
25
+ }
26
+ else if (color === 'pink') {
22
27
  badgeClass = `bg-pink-100 text-pink-800 ${textSize} font-medium inline-flex items-center px-2.5 py-0.5 rounded mr-2 dark:bg-pink-700 dark:text-pink-300`;
23
- } else {
28
+ }
29
+ else {
24
30
  badgeClass = `bg-blue-100 text-blue-800 ${textSize} font-medium inline-flex items-center px-2.5 py-0.5 rounded mr-2 dark:bg-blue-700 dark:text-blue-300`;
25
- }
31
+ }
26
32
  </script>
27
33
 
28
34
  <span class={badgeClass}>
29
- <slot />
30
- {name}
35
+ <slot />
36
+ {name}
31
37
  </span>
@@ -1,25 +1,10 @@
1
- /** @typedef {typeof __propDef.props} BadgeIconProps */
2
- /** @typedef {typeof __propDef.events} BadgeIconEvents */
3
- /** @typedef {typeof __propDef.slots} BadgeIconSlots */
4
- export default class BadgeIcon extends SvelteComponentTyped<{
5
- textSize?: string;
6
- name?: string;
7
- color?: string;
8
- }, {
9
- [evt: string]: CustomEvent<any>;
10
- }, {
11
- default: {};
12
- }> {
13
- }
14
- export type BadgeIconProps = typeof __propDef.props;
15
- export type BadgeIconEvents = typeof __propDef.events;
16
- export type BadgeIconSlots = typeof __propDef.slots;
17
1
  import { SvelteComponentTyped } from "svelte";
2
+ import type { Colors, Textsize } from '../types';
18
3
  declare const __propDef: {
19
4
  props: {
20
- textSize?: string;
5
+ textSize?: Textsize;
21
6
  name?: string;
22
- color?: string;
7
+ color?: Colors;
23
8
  };
24
9
  events: {
25
10
  [evt: string]: CustomEvent<any>;
@@ -28,4 +13,9 @@ declare const __propDef: {
28
13
  default: {};
29
14
  };
30
15
  };
16
+ export declare type BadgeIconProps = typeof __propDef.props;
17
+ export declare type BadgeIconEvents = typeof __propDef.events;
18
+ export declare type BadgeIconSlots = typeof __propDef.slots;
19
+ export default class BadgeIcon extends SvelteComponentTyped<BadgeIconProps, BadgeIconEvents, BadgeIconSlots> {
20
+ }
31
21
  export {};
@@ -1,29 +1,35 @@
1
- <script>
2
- export let textSize = "text-xs"; // text-sm
3
- export let name = "Read more";
4
- export let color = "blue";
5
- export let link = "/";
6
-
7
- let badgeClass;
8
- if (color === "blue") {
1
+ <script >export let textSize = 'text-xs';
2
+ export let name = 'Read more';
3
+ export let color = 'blue';
4
+ export let link = '/';
5
+ let badgeClass;
6
+ if (color === 'blue') {
9
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`;
10
- } else if (color === "gray") {
8
+ }
9
+ else if (color === 'gray') {
11
10
  badgeClass = `bg-gray-100 hover:bg-gray-200 text-gray-800 ${textSize} font-semibold mr-2 px-2.5 py-0.5 rounded dark:bg-gray-200 dark:text-gray-800 dark:hover:bg-gray-300`;
12
- } else if (color === "red") {
11
+ }
12
+ else if (color === 'red') {
13
13
  badgeClass = `bg-red-100 hover:bg-red-200 text-red-800 ${textSize} font-semibold mr-2 px-2.5 py-0.5 rounded dark:bg-red-200 dark:text-red-800 dark:hover:bg-red-300`;
14
- } else if (color === "green") {
14
+ }
15
+ else if (color === 'green') {
15
16
  badgeClass = `bg-green-100 hover:bg-green-200 text-green-800 ${textSize} font-semibold mr-2 px-2.5 py-0.5 rounded dark:bg-green-200 dark:text-green-800 dark:hover:bg-green-300`;
16
- } else if (color === "yellow") {
17
+ }
18
+ else if (color === 'yellow') {
17
19
  badgeClass = `bg-yellow-100 hover:bg-yellow-200 text-yellow-800 ${textSize} font-semibold mr-2 px-2.5 py-0.5 rounded dark:bg-yellow-200 dark:text-yellow-800 dark:hover:bg-yellow-300`;
18
- } else if (color === "indigo") {
20
+ }
21
+ else if (color === 'indigo') {
19
22
  badgeClass = `bg-indigo-100 hover:bg-indigo-200 text-indigo-800 ${textSize} font-semibold mr-2 px-2.5 py-0.5 rounded dark:bg-indigo-200 dark:text-indigo-800 dark:hover:bg-indigo-300`;
20
- } else if (color === "purple") {
23
+ }
24
+ else if (color === 'purple') {
21
25
  badgeClass = `bg-purple-100 hover:bg-purple-200 text-purple-800 ${textSize} font-semibold mr-2 px-2.5 py-0.5 rounded dark:bg-purple-200 dark:text-purple-800 dark:hover:bg-purple-300`;
22
- } else if (color === "pink") {
26
+ }
27
+ else if (color === 'pink') {
23
28
  badgeClass = `bg-pink-100 hover:bg-pink-200 text-pink-800 ${textSize} font-semibold mr-2 px-2.5 py-0.5 rounded dark:bg-pink-200 dark:text-pink-800 dark:hover:bg-pink-300`;
24
- } else {
29
+ }
30
+ else {
25
31
  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`;
26
- }
32
+ }
27
33
  </script>
28
34
 
29
35
  <a href={link} class={badgeClass}>{name}</a>
@@ -1,29 +1,20 @@
1
- /** @typedef {typeof __propDef.props} BadgeLinkProps */
2
- /** @typedef {typeof __propDef.events} BadgeLinkEvents */
3
- /** @typedef {typeof __propDef.slots} BadgeLinkSlots */
4
- export default class BadgeLink extends SvelteComponentTyped<{
5
- link?: string;
6
- textSize?: string;
7
- name?: string;
8
- color?: string;
9
- }, {
10
- [evt: string]: CustomEvent<any>;
11
- }, {}> {
12
- }
13
- export type BadgeLinkProps = typeof __propDef.props;
14
- export type BadgeLinkEvents = typeof __propDef.events;
15
- export type BadgeLinkSlots = typeof __propDef.slots;
16
1
  import { SvelteComponentTyped } from "svelte";
2
+ import type { Colors, Textsize } from '../types';
17
3
  declare const __propDef: {
18
4
  props: {
19
- link?: string;
20
- textSize?: string;
5
+ textSize?: Textsize;
21
6
  name?: string;
22
- color?: string;
7
+ color?: Colors;
8
+ link?: string;
23
9
  };
24
10
  events: {
25
11
  [evt: string]: CustomEvent<any>;
26
12
  };
27
13
  slots: {};
28
14
  };
15
+ export declare type BadgeLinkProps = typeof __propDef.props;
16
+ export declare type BadgeLinkEvents = typeof __propDef.events;
17
+ export declare type BadgeLinkSlots = typeof __propDef.slots;
18
+ export default class BadgeLink extends SvelteComponentTyped<BadgeLinkProps, BadgeLinkEvents, BadgeLinkSlots> {
19
+ }
29
20
  export {};
@@ -1,68 +1,45 @@
1
- <script>
2
- export let buttons = [
3
- {
4
- name: "Profile",
5
- link: "/",
6
- rel: "",
7
- icon: "",
8
- },
9
- {
10
- name: "Settings",
11
- link: "/",
12
- rel: "",
13
- icon: "",
14
- },
15
- {
16
- name: "Messages",
17
- link: "/",
18
- rel: "",
19
- icon: "",
20
- },
21
- ];
22
- let btnLength = buttons.length;
23
- let classFirst =
24
- "inline-flex relative items-center py-2 px-4 text-sm font-medium text-gray-900 bg-white rounded-l-lg border border-gray-200 hover:bg-gray-100 hover:text-blue-700 focus:z-10 focus:ring-2 focus:ring-blue-700 focus:text-blue-700 dark:bg-gray-700 dark:border-gray-600 dark:text-white dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-blue-500 dark:focus:text-white";
25
- let classMiddle =
26
- "inline-flex relative items-center py-2 px-4 text-sm font-medium text-gray-900 bg-white border-t border-b border-gray-200 hover:bg-gray-100 hover:text-blue-700 focus:z-10 focus:ring-2 focus:ring-blue-700 focus:text-blue-700 dark:bg-gray-700 dark:border-gray-600 dark:text-white dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-blue-500 dark:focus:text-white";
27
- let classLast =
28
- "inline-flex relative items-center py-2 px-4 text-sm font-medium text-gray-900 bg-white rounded-r-md border border-gray-200 hover:bg-gray-100 hover:text-blue-700 focus:z-10 focus:ring-2 focus:ring-blue-700 focus:text-blue-700 dark:bg-gray-700 dark:border-gray-600 dark:text-white dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-blue-500 dark:focus:text-white";
1
+ <script >export let buttons;
2
+ let btnLength = buttons.length;
3
+ let classFirst = 'inline-flex relative items-center py-2 px-4 text-sm font-medium text-gray-900 bg-white rounded-l-lg border border-gray-200 hover:bg-gray-100 hover:text-blue-700 focus:z-10 focus:ring-2 focus:ring-blue-700 focus:text-blue-700 dark:bg-gray-700 dark:border-gray-600 dark:text-white dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-blue-500 dark:focus:text-white';
4
+ let classMiddle = 'inline-flex relative items-center py-2 px-4 text-sm font-medium text-gray-900 bg-white border-t border-b border-gray-200 hover:bg-gray-100 hover:text-blue-700 focus:z-10 focus:ring-2 focus:ring-blue-700 focus:text-blue-700 dark:bg-gray-700 dark:border-gray-600 dark:text-white dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-blue-500 dark:focus:text-white';
5
+ let classLast = 'inline-flex relative items-center py-2 px-4 text-sm font-medium text-gray-900 bg-white rounded-r-md border border-gray-200 hover:bg-gray-100 hover:text-blue-700 focus:z-10 focus:ring-2 focus:ring-blue-700 focus:text-blue-700 dark:bg-gray-700 dark:border-gray-600 dark:text-white dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-blue-500 dark:focus:text-white';
29
6
  </script>
30
7
 
31
8
  <div class="inline-flex rounded-md shadow-sm" role="group">
32
- {#each buttons as { name, icon, link, rel }, i}
33
- {#if i === 0}
34
- <button type="button" class={classFirst}>
35
- {#if icon}
36
- <svelte:component this={icon} className="h-4 w-4 mr-2" />
37
- {/if}
38
- {#if link}
39
- <a href={link} {rel}>{name}</a>
40
- {:else}
41
- {name}
42
- {/if}
43
- </button>
44
- {:else if i === btnLength - 1}
45
- <button type="button" class={classLast}>
46
- {#if icon}
47
- <svelte:component this={icon} className="h-4 w-4 mr-2" />
48
- {/if}
49
- {#if link}
50
- <a href={link} {rel}>{name}</a>
51
- {:else}
52
- {name}
53
- {/if}
54
- </button>
55
- {:else}
56
- <button type="button" class={classMiddle}>
57
- {#if icon}
58
- <svelte:component this={icon} className="h-4 w-4 mr-2" />
59
- {/if}
60
- {#if link}
61
- <a href={link} {rel}>{name}</a>
62
- {:else}
63
- {name}
64
- {/if}
65
- </button>
66
- {/if}
67
- {/each}
9
+ {#each buttons as { name, icon, link, rel }, i}
10
+ {#if i === 0}
11
+ <button type="button" class={classFirst}>
12
+ {#if icon}
13
+ <svelte:component this={icon} className="h-4 w-4 mr-2" />
14
+ {/if}
15
+ {#if link}
16
+ <a href={link} {rel}>{name}</a>
17
+ {:else}
18
+ {name}
19
+ {/if}
20
+ </button>
21
+ {:else if i === btnLength - 1}
22
+ <button type="button" class={classLast}>
23
+ {#if icon}
24
+ <svelte:component this={icon} className="h-4 w-4 mr-2" />
25
+ {/if}
26
+ {#if link}
27
+ <a href={link} {rel}>{name}</a>
28
+ {:else}
29
+ {name}
30
+ {/if}
31
+ </button>
32
+ {:else}
33
+ <button type="button" class={classMiddle}>
34
+ {#if icon}
35
+ <svelte:component this={icon} className="h-4 w-4 mr-2" />
36
+ {/if}
37
+ {#if link}
38
+ <a href={link} {rel}>{name}</a>
39
+ {:else}
40
+ {name}
41
+ {/if}
42
+ </button>
43
+ {/if}
44
+ {/each}
68
45
  </div>
@@ -1,33 +1,17 @@
1
- /** @typedef {typeof __propDef.props} ButtonGroupProps */
2
- /** @typedef {typeof __propDef.events} ButtonGroupEvents */
3
- /** @typedef {typeof __propDef.slots} ButtonGroupSlots */
4
- export default class ButtonGroup extends SvelteComponentTyped<{
5
- buttons?: {
6
- name: string;
7
- link: string;
8
- rel: string;
9
- icon: string;
10
- }[];
11
- }, {
12
- [evt: string]: CustomEvent<any>;
13
- }, {}> {
14
- }
15
- export type ButtonGroupProps = typeof __propDef.props;
16
- export type ButtonGroupEvents = typeof __propDef.events;
17
- export type ButtonGroupSlots = typeof __propDef.slots;
18
1
  import { SvelteComponentTyped } from "svelte";
2
+ import type { ButtonGroupType } from '../types';
19
3
  declare const __propDef: {
20
4
  props: {
21
- buttons?: {
22
- name: string;
23
- link: string;
24
- rel: string;
25
- icon: string;
26
- }[];
5
+ buttons: ButtonGroupType[];
27
6
  };
28
7
  events: {
29
8
  [evt: string]: CustomEvent<any>;
30
9
  };
31
10
  slots: {};
32
11
  };
12
+ export declare type ButtonGroupProps = typeof __propDef.props;
13
+ export declare type ButtonGroupEvents = typeof __propDef.events;
14
+ export declare type ButtonGroupSlots = typeof __propDef.slots;
15
+ export default class ButtonGroup extends SvelteComponentTyped<ButtonGroupProps, ButtonGroupEvents, ButtonGroupSlots> {
16
+ }
33
17
  export {};
@@ -1,70 +1,45 @@
1
- <script>
2
- export let buttons = [
3
- {
4
- name: "Profile",
5
- link: "/",
6
- rel: "",
7
- icon: "",
8
- },
9
- {
10
- name: "Settings",
11
- link: "/",
12
- rel: "",
13
- icon: "",
14
- },
15
- {
16
- name: "Messages",
17
- link: "/",
18
- rel: "",
19
- icon: "",
20
- },
21
- ];
22
-
23
- let btnLength = buttons.length;
24
-
25
- let classFirst =
26
- "inline-flex items-center py-2 px-4 text-sm font-medium text-gray-900 bg-transparent rounded-l-lg border border-gray-900 hover:bg-gray-900 hover:text-white focus:z-10 focus:ring-2 focus:ring-gray-500 focus:bg-gray-900 focus:text-white dark:border-white dark:text-white dark:hover:text-white dark:hover:bg-gray-700 dark:focus:bg-gray-700";
27
- let classMiddle =
28
- "inline-flex items-center py-2 px-4 text-sm font-medium text-gray-900 bg-transparent border-t border-b border-gray-900 hover:bg-gray-900 hover:text-white focus:z-10 focus:ring-2 focus:ring-gray-500 focus:bg-gray-900 focus:text-white dark:border-white dark:text-white dark:hover:text-white dark:hover:bg-gray-700 dark:focus:bg-gray-700";
29
- let classLast =
30
- "inline-flex items-center py-2 px-4 text-sm font-medium text-gray-900 bg-transparent rounded-r-md border border-gray-900 hover:bg-gray-900 hover:text-white focus:z-10 focus:ring-2 focus:ring-gray-500 focus:bg-gray-900 focus:text-white dark:border-white dark:text-white dark:hover:text-white dark:hover:bg-gray-700 dark:focus:bg-gray-700";
1
+ <script >export let buttons;
2
+ let btnLength = buttons.length;
3
+ let classFirst = 'inline-flex items-center py-2 px-4 text-sm font-medium text-gray-900 bg-transparent rounded-l-lg border border-gray-900 hover:bg-gray-900 hover:text-white focus:z-10 focus:ring-2 focus:ring-gray-500 focus:bg-gray-900 focus:text-white dark:border-white dark:text-white dark:hover:text-white dark:hover:bg-gray-700 dark:focus:bg-gray-700';
4
+ let classMiddle = 'inline-flex items-center py-2 px-4 text-sm font-medium text-gray-900 bg-transparent border-t border-b border-gray-900 hover:bg-gray-900 hover:text-white focus:z-10 focus:ring-2 focus:ring-gray-500 focus:bg-gray-900 focus:text-white dark:border-white dark:text-white dark:hover:text-white dark:hover:bg-gray-700 dark:focus:bg-gray-700';
5
+ let classLast = 'inline-flex items-center py-2 px-4 text-sm font-medium text-gray-900 bg-transparent rounded-r-md border border-gray-900 hover:bg-gray-900 hover:text-white focus:z-10 focus:ring-2 focus:ring-gray-500 focus:bg-gray-900 focus:text-white dark:border-white dark:text-white dark:hover:text-white dark:hover:bg-gray-700 dark:focus:bg-gray-700';
31
6
  </script>
32
7
 
33
8
  <div class="inline-flex rounded-md shadow-sm">
34
- {#each buttons as { link, name, rel, icon }, i}
35
- {#if i === 0}
36
- <button type="button" class={classFirst}>
37
- {#if icon}
38
- <svelte:component this={icon} className="h-4 w-4 mr-2" />
39
- {/if}
40
- {#if link}
41
- <a href={link} {rel}>{name}</a>
42
- {:else}
43
- {name}
44
- {/if}
45
- </button>
46
- {:else if i === btnLength - 1}
47
- <button type="button" class={classLast}>
48
- {#if icon}
49
- <svelte:component this={icon} className="h-4 w-4 mr-2" />
50
- {/if}
51
- {#if link}
52
- <a href={link} {rel}>{name}</a>
53
- {:else}
54
- {name}
55
- {/if}
56
- </button>
57
- {:else}
58
- <button type="button" class={classMiddle}>
59
- {#if icon}
60
- <svelte:component this={icon} className="h-4 w-4 mr-2" />
61
- {/if}
62
- {#if link}
63
- <a href={link} {rel}>{name}</a>
64
- {:else}
65
- {name}
66
- {/if}
67
- </button>
68
- {/if}
69
- {/each}
9
+ {#each buttons as { link, name, rel, icon }, i}
10
+ {#if i === 0}
11
+ <button type="button" class={classFirst}>
12
+ {#if icon}
13
+ <svelte:component this={icon} className="h-4 w-4 mr-2" />
14
+ {/if}
15
+ {#if link}
16
+ <a href={link} {rel}>{name}</a>
17
+ {:else}
18
+ {name}
19
+ {/if}
20
+ </button>
21
+ {:else if i === btnLength - 1}
22
+ <button type="button" class={classLast}>
23
+ {#if icon}
24
+ <svelte:component this={icon} className="h-4 w-4 mr-2" />
25
+ {/if}
26
+ {#if link}
27
+ <a href={link} {rel}>{name}</a>
28
+ {:else}
29
+ {name}
30
+ {/if}
31
+ </button>
32
+ {:else}
33
+ <button type="button" class={classMiddle}>
34
+ {#if icon}
35
+ <svelte:component this={icon} className="h-4 w-4 mr-2" />
36
+ {/if}
37
+ {#if link}
38
+ <a href={link} {rel}>{name}</a>
39
+ {:else}
40
+ {name}
41
+ {/if}
42
+ </button>
43
+ {/if}
44
+ {/each}
70
45
  </div>
@@ -1,33 +1,17 @@
1
- /** @typedef {typeof __propDef.props} ButtonGroupOutlineProps */
2
- /** @typedef {typeof __propDef.events} ButtonGroupOutlineEvents */
3
- /** @typedef {typeof __propDef.slots} ButtonGroupOutlineSlots */
4
- export default class ButtonGroupOutline extends SvelteComponentTyped<{
5
- buttons?: {
6
- name: string;
7
- link: string;
8
- rel: string;
9
- icon: string;
10
- }[];
11
- }, {
12
- [evt: string]: CustomEvent<any>;
13
- }, {}> {
14
- }
15
- export type ButtonGroupOutlineProps = typeof __propDef.props;
16
- export type ButtonGroupOutlineEvents = typeof __propDef.events;
17
- export type ButtonGroupOutlineSlots = typeof __propDef.slots;
18
1
  import { SvelteComponentTyped } from "svelte";
2
+ import type { ButtonGroupType } from '../types';
19
3
  declare const __propDef: {
20
4
  props: {
21
- buttons?: {
22
- name: string;
23
- link: string;
24
- rel: string;
25
- icon: string;
26
- }[];
5
+ buttons: ButtonGroupType[];
27
6
  };
28
7
  events: {
29
8
  [evt: string]: CustomEvent<any>;
30
9
  };
31
10
  slots: {};
32
11
  };
12
+ export declare type ButtonGroupOutlineProps = typeof __propDef.props;
13
+ export declare type ButtonGroupOutlineEvents = typeof __propDef.events;
14
+ export declare type ButtonGroupOutlineSlots = typeof __propDef.slots;
15
+ export default class ButtonGroupOutline extends SvelteComponentTyped<ButtonGroupOutlineProps, ButtonGroupOutlineEvents, ButtonGroupOutlineSlots> {
16
+ }
33
17
  export {};
@@ -1,53 +1,66 @@
1
- <script>
2
- export let rounded = false;
3
- export let textSize = "text-sm";
4
- export let name = "Read more";
5
- export let type = "blue";
6
-
7
- let paddings;
8
- if (textSize === "text-xs") {
9
- paddings = "py-2 px-3";
10
- } else if (textSize === "text-sm") {
11
- paddings = "py-2.5 px-5";
12
- } else if (textSize === "text-base") {
13
- paddings = "py-3 px-6";
14
- } else {
15
- paddings = "py-2.5 px-5";
16
- }
17
- let buttonClass;
18
- let round = rounded ? "rounded-full" : "rounded-lg";
19
-
20
- if (type === "blue") {
1
+ <script >export let rounded = false;
2
+ export let textSize = 'text-sm';
3
+ export let name = 'Read more';
4
+ export let type = 'blue';
5
+ let paddings;
6
+ if (textSize === 'text-xs') {
7
+ paddings = 'py-2 px-3';
8
+ }
9
+ else if (textSize === 'text-sm') {
10
+ paddings = 'py-2.5 px-5';
11
+ }
12
+ else if (textSize === 'text-base') {
13
+ paddings = 'py-3 px-6';
14
+ }
15
+ else {
16
+ paddings = 'py-2.5 px-5';
17
+ }
18
+ let buttonClass;
19
+ let round = rounded ? 'rounded-full' : 'rounded-lg';
20
+ if (type === 'blue') {
21
21
  buttonClass = `text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:ring-blue-300 font-medium ${round} ${textSize} ${paddings} text-center mr-2 mb-2 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800`;
22
- } else if (type === "blue-outline") {
22
+ }
23
+ else if (type === 'blue-outline') {
23
24
  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`;
24
- } else if (type === "dark") {
25
+ }
26
+ else if (type === 'dark') {
25
27
  buttonClass =
26
- 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`;
27
- } else if (type === "dark-outline") {
28
+ 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`;
29
+ }
30
+ else if (type === 'dark-outline') {
28
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`;
29
- } else if (type === "light") {
32
+ }
33
+ else if (type === 'light') {
30
34
  buttonClass = `text-gray-900 bg-white border border-gray-300 hover:bg-gray-100 focus:ring-4 focus:ring-blue-300 font-medium ${round} ${textSize} ${paddings} text-center mr-2 mb-2 dark:bg-gray-600 dark:text-white dark:border-gray-600 dark:hover:bg-gray-700 dark:hover:border-gray-700 dark:focus:ring-gray-800`;
31
- } else if (type === "green") {
35
+ }
36
+ else if (type === 'green') {
32
37
  buttonClass = `text-white bg-green-700 hover:bg-green-800 focus:ring-4 focus:ring-green-300 font-medium ${round} ${textSize} ${paddings} text-center mr-2 mb-2 dark:bg-green-600 dark:hover:bg-green-700 dark:focus:ring-green-800`;
33
- } else if (type === "green-outline") {
38
+ }
39
+ else if (type === 'green-outline') {
34
40
  buttonClass = `text-green-700 hover:text-white border border-green-700 hover:bg-green-800 focus:ring-4 focus:ring-green-300 font-medium rounded-lg ${textSize} ${paddings} text-center mr-2 mb-2 dark:border-green-500 dark:text-green-500 dark:hover:text-white dark:hover:bg-green-600 dark:focus:ring-green-800`;
35
- } else if (type === "red") {
41
+ }
42
+ else if (type === 'red') {
36
43
  buttonClass = `text-white bg-red-700 hover:bg-red-800 focus:ring-4 focus:ring-red-300 font-medium ${round} ${textSize} ${paddings} text-center mr-2 mb-2 dark:bg-red-600 dark:hover:bg-red-700 dark:focus:ring-red-900`;
37
- } else if (type === "red-outline") {
44
+ }
45
+ else if (type === 'red-outline') {
38
46
  buttonClass = `text-red-700 hover:text-white border border-red-700 hover:bg-red-800 focus:ring-4 focus:ring-red-300 font-medium rounded-lg ${textSize} ${paddings} text-center mr-2 mb-2 dark:border-red-500 dark:text-red-500 dark:hover:text-white dark:hover:bg-red-600 dark:focus:ring-red-900`;
39
- } else if (type === "yellow") {
47
+ }
48
+ else if (type === 'yellow') {
40
49
  buttonClass = `text-white bg-yellow-400 hover:bg-yellow-500 focus:ring-4 focus:ring-yellow-300 font-medium ${round} ${textSize} ${paddings} text-center mr-2 mb-2 dark:focus:ring-yellow-900`;
41
- } else if (type === "yellow-outline") {
50
+ }
51
+ else if (type === 'yellow-outline') {
42
52
  buttonClass = `text-yellow-400 hover:text-white border border-yellow-400 hover:bg-yellow-500 focus:ring-4 focus:ring-yellow-300 font-medium rounded-lg ${textSize} ${paddings} text-center mr-2 mb-2 dark:border-yellow-300 dark:text-yellow-300 dark:hover:text-white dark:hover:bg-yellow-400 dark:focus:ring-yellow-900`;
43
- } else if (type === "purple") {
53
+ }
54
+ else if (type === 'purple') {
44
55
  buttonClass = `text-white bg-purple-700 hover:bg-purple-800 focus:ring-4 focus:ring-purple-300 font-medium ${round} ${textSize} ${paddings} text-center mb-2 dark:bg-purple-600 dark:hover:bg-purple-700 dark:focus:ring-purple-900`;
45
- } else if (type === "purple-outline") {
56
+ }
57
+ else if (type === 'purple-outline') {
46
58
  buttonClass = `text-purple-700 hover:text-white border border-purple-700 hover:bg-purple-800 focus:ring-4 focus:ring-purple-300 font-medium rounded-lg ${textSize} ${paddings} text-center mr-2 mb-2 dark:border-purple-400 dark:text-purple-400 dark:hover:text-white dark:hover:bg-purple-500 dark:focus:ring-purple-900`;
47
- } else {
59
+ }
60
+ else {
48
61
  // blue
49
62
  buttonClass = `text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:ring-blue-300 font-medium ${round} ${textSize} ${paddings} text-center mr-2 mb-2 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800`;
50
- }
63
+ }
51
64
  </script>
52
65
 
53
66
  <button type="button" class={buttonClass} on:click>{name}</button>
@@ -1,27 +1,11 @@
1
- /** @typedef {typeof __propDef.props} ButtonProps */
2
- /** @typedef {typeof __propDef.events} ButtonEvents */
3
- /** @typedef {typeof __propDef.slots} ButtonSlots */
4
- export default class Button extends SvelteComponentTyped<{
5
- rounded?: boolean;
6
- textSize?: string;
7
- name?: string;
8
- type?: string;
9
- }, {
10
- click: MouseEvent;
11
- } & {
12
- [evt: string]: CustomEvent<any>;
13
- }, {}> {
14
- }
15
- export type ButtonProps = typeof __propDef.props;
16
- export type ButtonEvents = typeof __propDef.events;
17
- export type ButtonSlots = typeof __propDef.slots;
18
1
  import { SvelteComponentTyped } from "svelte";
2
+ import type { Buttontypes, Textsize } from '../types';
19
3
  declare const __propDef: {
20
4
  props: {
21
5
  rounded?: boolean;
22
- textSize?: string;
6
+ textSize?: Textsize;
23
7
  name?: string;
24
- type?: string;
8
+ type?: Buttontypes;
25
9
  };
26
10
  events: {
27
11
  click: MouseEvent;
@@ -30,4 +14,9 @@ declare const __propDef: {
30
14
  };
31
15
  slots: {};
32
16
  };
17
+ export declare type ButtonProps = typeof __propDef.props;
18
+ export declare type ButtonEvents = typeof __propDef.events;
19
+ export declare type ButtonSlots = typeof __propDef.slots;
20
+ export default class Button extends SvelteComponentTyped<ButtonProps, ButtonEvents, ButtonSlots> {
21
+ }
33
22
  export {};