flowbite-svelte 0.19.7 → 0.19.10

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 CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [0.19.10](https://github.com/themesberg/flowbite-svelte/compare/v0.19.9...v0.19.10) (2022-06-30)
6
+
7
+
8
+ ### Features
9
+
10
+ * add on change event dispatch to select ([bda74a6](https://github.com/themesberg/flowbite-svelte/commit/bda74a619530567d06d1badc600a3f663711b179))
11
+ * update Breadcrumb components ([b35a970](https://github.com/themesberg/flowbite-svelte/commit/b35a9701ae08f795e37c55b92d24805d02a19b96))
12
+
13
+ ### [0.19.9](https://github.com/themesberg/flowbite-svelte/compare/v0.19.8...v0.19.9) (2022-06-27)
14
+
15
+ ### [0.19.8](https://github.com/themesberg/flowbite-svelte/compare/v0.19.7...v0.19.8) (2022-06-27)
16
+
5
17
  ### [0.19.7](https://github.com/themesberg/flowbite-svelte/compare/v0.19.6...v0.19.7) (2022-06-27)
6
18
 
7
19
  ### [0.19.6](https://github.com/themesberg/flowbite-svelte/compare/v0.19.5...v0.19.6) (2022-06-27)
@@ -21,70 +21,51 @@ if (rounded)
21
21
  divClass += 'rounded-lg ';
22
22
  if (borderAccent)
23
23
  divClass += 'border-t-4 ';
24
- if (color === 'gray') {
25
- divClass += 'bg-gray-100 dark:bg-gray-200 ';
26
- if (borderAccent)
27
- divClass += 'border-gray-500 dark:bg-gray-200 ';
28
- contentClass = 'text-gray-700 dark:text-gray-800';
29
- buttonClass +=
30
- 'bg-gray-100 text-gray-500 focus:ring-gray-400 hover:bg-gray-200 dark:bg-gray-200 dark:text-gray-600 dark:hover:bg-gray-300';
31
- }
32
- else if (color === 'red') {
33
- divClass += 'bg-red-100 dark:bg-red-200';
34
- if (borderAccent)
35
- divClass += 'border-red-500 dark:bg-red-200 ';
36
- contentClass = 'text-red-700 dark:text-red-800';
37
- buttonClass +=
38
- 'bg-red-100 text-red-500 focus:ring-red-400 hover:bg-red-200 dark:bg-red-200 dark:text-red-600 dark:hover:bg-red-300';
39
- }
40
- else if (color === 'yellow') {
41
- divClass += 'bg-yellow-100 dark:bg-yellow-200 ';
42
- if (borderAccent)
43
- divClass += 'border-yellow-500 dark:bg-tellow-200 ';
44
- contentClass = 'text-yellow-700 dark:text-yellow-800';
45
- buttonClass +=
46
- 'bg-yellow-100 text-yellow-500 focus:ring-yellow-400 hover:bg-yellow-200 dark:bg-yellow-200 dark:text-yellow-600 dark:hover:bg-yellow-300';
47
- }
48
- else if (color === 'green') {
49
- divClass += 'bg-green-100 dark:bg-green-200 ';
50
- if (borderAccent)
51
- divClass += 'border-green-500 dark:bg-green-200 ';
52
- contentClass = 'text-green-700 dark:text-green-800';
53
- buttonClass +=
54
- 'bg-green-100 text-green-500 focus:ring-green-400 hover:bg-green-200 dark:bg-green-200 dark:text-green-600 dark:hover:bg-green-300';
55
- }
56
- else if (color === 'indigo') {
57
- divClass += 'bg-indigo-100 dark:bg-indigo-200 ';
58
- if (borderAccent)
59
- divClass += 'border-indigo-500 dark:bg-indigo-200 ';
60
- contentClass = 'text-indigo-700 dark:text-indigo-800';
61
- buttonClass +=
62
- 'bg-indigo-100 text-indigo-500 focus:ring-indigo-400 hover:bg-indigo-200 dark:bg-indigo-200 dark:text-indigo-600 dark:hover:bg-indigo-300';
63
- }
64
- else if (color === 'purple') {
65
- divClass += 'bg-purple-100 dark:bg-purple-200 ';
66
- if (borderAccent)
67
- divClass += 'border-purple-500 dark:bg-purple-200 ';
68
- contentClass = 'text-purple-700 dark:text-purple-800';
69
- buttonClass +=
70
- 'bg-purple-100 text-purple-500 focus:ring-purple-400 hover:bg-purple-200 dark:bg-purple-200 dark:text-purple-600 dark:hover:bg-purple-300';
71
- }
72
- else if (color === 'pink') {
73
- divClass += 'bg-pink-100 dark:bg-pink-200 ';
74
- if (borderAccent)
75
- divClass += 'border-pink-500 dark:bg-pink-200 ';
76
- contentClass = 'text-pink-700 dark:text-pink-800';
77
- buttonClass +=
78
- 'bg-pink-100 text-pink-500 focus:ring-pink-400 hover:bg-pink-200 dark:bg-pink-200 dark:text-pink-600 dark:hover:bg-pink-300';
79
- }
80
- else {
81
- divClass += 'bg-blue-100 dark:bg-blue-200 ';
82
- if (borderAccent)
83
- divClass += 'border-blue-500 dark:bg-blue-200 ';
84
- contentClass = 'text-blue-700 dark:text-blue-800';
85
- buttonClass +=
86
- 'bg-blue-100 text-blue-500 focus:ring-blue-400 hover:bg-blue-200 dark:bg-blue-200 dark:text-blue-600 dark:hover:bg-blue-300';
87
- }
24
+ const bgClasses = {
25
+ gray: 'bg-gray-100 dark:bg-gray-200 ',
26
+ red: 'bg-red-100 dark:bg-red-200',
27
+ yellow: 'bg-yellow-100 dark:bg-yellow-200 ',
28
+ green: 'bg-green-100 dark:bg-green-200 ',
29
+ indigo: 'bg-indigo-100 dark:bg-indigo-200 ',
30
+ purple: 'bg-purple-100 dark:bg-purple-200 ',
31
+ pink: 'bg-pink-100 dark:bg-pink-200 ',
32
+ blue: 'bg-blue-100 dark:bg-blue-200 '
33
+ };
34
+ const borderAccentClasses = {
35
+ gray: 'border-gray-500 dark:bg-gray-200 ',
36
+ red: 'border-red-500 dark:bg-red-200 ',
37
+ yellow: 'border-yellow-500 dark:bg-tellow-200 ',
38
+ green: 'border-green-500 dark:bg-green-200 ',
39
+ indigo: 'border-indigo-500 dark:bg-indigo-200 ',
40
+ purple: 'border-purple-500 dark:bg-purple-200 ',
41
+ pink: 'border-pink-500 dark:bg-pink-200 ',
42
+ blue: 'border-blue-500 dark:bg-blue-200 '
43
+ };
44
+ const contentClasses = {
45
+ gray: 'text-gray-700 dark:text-gray-800',
46
+ red: 'text-red-700 dark:text-red-800',
47
+ yellow: 'text-yellow-700 dark:text-yellow-800',
48
+ green: 'text-green-700 dark:text-green-800',
49
+ indigo: 'text-indigo-700 dark:text-indigo-800',
50
+ purple: 'text-purple-700 dark:text-purple-800',
51
+ pink: 'text-pink-700 dark:text-pink-800',
52
+ blue: 'text-blue-700 dark:text-blue-800'
53
+ };
54
+ const buttonClasses = {
55
+ gray: 'bg-gray-100 text-gray-500 focus:ring-gray-400 hover:bg-gray-200 dark:bg-gray-200 dark:text-gray-600 dark:hover:bg-gray-300',
56
+ red: 'bg-red-100 text-red-500 focus:ring-red-400 hover:bg-red-200 dark:bg-red-200 dark:text-red-600 dark:hover:bg-red-300',
57
+ yellow: 'bg-yellow-100 text-yellow-500 focus:ring-yellow-400 hover:bg-yellow-200 dark:bg-yellow-200 dark:text-yellow-600 dark:hover:bg-yellow-300',
58
+ green: 'bg-green-100 text-green-500 focus:ring-green-400 hover:bg-green-200 dark:bg-green-200 dark:text-green-600 dark:hover:bg-green-300',
59
+ indigo: 'bg-indigo-100 text-indigo-500 focus:ring-indigo-400 hover:bg-indigo-200 dark:bg-indigo-200 dark:text-indigo-600 dark:hover:bg-indigo-300',
60
+ purple: 'bg-purple-100 text-purple-500 focus:ring-purple-400 hover:bg-purple-200 dark:bg-purple-200 dark:text-purple-600 dark:hover:bg-purple-300',
61
+ pink: 'bg-pink-100 text-pink-500 focus:ring-pink-400 hover:bg-pink-200 dark:bg-pink-200 dark:text-pink-600 dark:hover:bg-pink-300',
62
+ blue: 'bg-blue-100 text-blue-500 focus:ring-blue-400 hover:bg-blue-200 dark:bg-blue-200 dark:text-blue-600 dark:hover:bg-blue-300'
63
+ };
64
+ divClass += bgClasses[color] ?? bgClasses.blue;
65
+ if (borderAccent)
66
+ divClass += borderAccentClasses[color] ?? borderAccentClasses.blue;
67
+ contentClass = contentClasses[color] ?? contentClasses.blue;
68
+ buttonClass += buttonClasses[color] ?? buttonClasses.blue;
88
69
  </script>
89
70
 
90
71
  <div id={$$props.id} class:hidden class={classNames(divClass, $$props.class)} role="alert">
@@ -120,6 +101,5 @@ else {
120
101
  </button>
121
102
  {/if}
122
103
  </div>
123
-
124
104
  <slot name="extra" />
125
105
  </div>
@@ -1,19 +1,31 @@
1
1
  <script>import classNames from 'classnames';
2
- export let textSize = 'text-xs';
3
- export let name = 'Read more';
4
2
  export let color = 'blue';
5
- let badgeClass = 'font-semibold mr-2 px-2.5 py-0.5 rounded ';
3
+ export let large = false;
4
+ export let href;
5
+ let badgeClass;
6
6
  const colors = {
7
- gray: `bg-gray-100 text-gray-800 ${textSize} dark:bg-gray-700 dark:text-gray-300`,
8
- red: `bg-red-100 text-red-800 ${textSize} dark:bg-red-200 dark:text-red-900`,
9
- green: `bg-green-100 text-green-800 ${textSize} dark:bg-green-200 dark:text-green-900`,
10
- yellow: `bg-yellow-100 text-yellow-800 ${textSize} dark:bg-yellow-200 dark:text-yellow-900`,
11
- indigo: `bg-indigo-100 text-indigo-800 ${textSize} dark:bg-indigo-200 dark:text-indigo-900`,
12
- purple: `bg-purple-100 text-purple-800 ${textSize} dark:bg-purple-200 dark:text-purple-900`,
13
- pink: `bg-pink-100 text-pink-800 ${textSize} dark:bg-pink-200 dark:text-pink-900`,
14
- blue: `bg-blue-100 text-blue-800 ${textSize} dark:bg-blue-200 dark:text-blue-800`
7
+ blue: 'bg-blue-100 text-blue-800 dark:bg-blue-200 dark:text-blue-800',
8
+ dark: 'bg-gray-100 text-gray-800 dark:bg-gray-700 dark:text-gray-300',
9
+ red: 'bg-red-100 text-red-800 dark:bg-red-200 dark:text-red-900',
10
+ green: 'bg-green-100 text-green-800 dark:bg-green-200 dark:text-green-900',
11
+ yellow: 'bg-yellow-100 text-yellow-800 dark:bg-yellow-200 dark:text-yellow-900',
12
+ indigo: 'bg-indigo-100 text-indigo-800 dark:bg-indigo-200 dark:text-indigo-900',
13
+ purple: 'bg-purple-100 text-purple-800 dark:bg-purple-200 dark:text-purple-900',
14
+ pink: 'bg-pink-100 text-pink-800 dark:bg-pink-200 dark:text-pink-900'
15
15
  };
16
- badgeClass += colors[color] ?? colors.blue;
16
+ const hovers = {
17
+ blue: 'hover:bg-blue-200 dark:hover:bg-blue-300',
18
+ dark: 'hover:bg-gray-200 dark:hover:bg-gray-300',
19
+ red: 'hover:bg-red-200 dark:hover:bg-red-300',
20
+ green: 'hover:bg-green-200 dark:hover:bg-green-300',
21
+ yellow: 'hover:bg-yellow-200 dark:hover:bg-yellow-300',
22
+ indigo: 'hover:bg-indigo-200 dark:hover:bg-indigo-300',
23
+ purple: 'hover:bg-purple-200 dark:hover:bg-purple-300',
24
+ pink: 'hover:bg-pink-200 dark:hover:bg-pink-300'
25
+ };
26
+ $: badgeClass = classNames('inline-flex items-center mr-2 px-2.5 py-0.5 rounded', large ? 'text-sm font-medium' : 'text-xs font-semibold', colors[color] ?? colors.blue, href && (hovers[color] ?? hovers.blue), $$props.class);
17
27
  </script>
18
28
 
19
- <span class={classNames(badgeClass, $$props.class)} {...$$restProps}>{name}</span>
29
+ <svelte:element this={href ? 'a' : 'span'} {href} class={badgeClass} {...$$restProps}>
30
+ <slot />
31
+ </svelte:element>
@@ -1,16 +1,18 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
- import type { Colors, Textsize } from '../types';
2
+ import type { Colors } from '../types';
3
3
  declare const __propDef: {
4
4
  props: {
5
5
  [x: string]: any;
6
- textSize?: Textsize;
7
- name?: string;
8
6
  color?: Colors;
7
+ large?: boolean;
8
+ href: string;
9
9
  };
10
10
  events: {
11
11
  [evt: string]: CustomEvent<any>;
12
12
  };
13
- slots: {};
13
+ slots: {
14
+ default: {};
15
+ };
14
16
  };
15
17
  export declare type BadgeProps = typeof __propDef.props;
16
18
  export declare type BadgeEvents = typeof __propDef.events;
@@ -1,49 +1,10 @@
1
- <script>export let crumbs = [];
2
- export let homeClass = 'inline-flex items-center text-sm font-medium text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-white';
3
- export let crumbClass = 'ml-1 text-sm font-medium text-gray-700 hover:text-gray-900 md:ml-2 dark:text-gray-400 dark:hover:text-white';
4
- export let solid = false;
5
- let navClass = 'flex';
6
- if (solid) {
7
- navClass =
8
- 'flex py-3 px-5 text-gray-700 bg-gray-50 rounded-lg border border-gray-200 dark:bg-gray-800 dark:border-gray-700';
9
- }
1
+ <script>import classNames from 'classnames';
2
+ export let navClass = 'flex';
3
+ export let olClass = 'inline-flex items-center space-x-1 md:space-x-3';
10
4
  </script>
11
5
 
12
- <nav class={navClass} aria-label="Breadcrumb">
13
- <ol class="inline-flex items-center space-x-1 md:space-x-3">
14
- {#each crumbs as crumb}
15
- {#if crumb.href === '/'}
16
- <li class="inline-flex items-center">
17
- <a href={crumb.href} class={homeClass}>
18
- <svg
19
- class="mr-2 w-4 h-4"
20
- fill="currentColor"
21
- viewBox="0 0 20 20"
22
- xmlns="http://www.w3.org/2000/svg"
23
- ><path
24
- d="M10.707 2.293a1 1 0 00-1.414 0l-7 7a1 1 0 001.414 1.414L4 10.414V17a1 1 0 001 1h2a1 1 0 001-1v-2a1 1 0 011-1h2a1 1 0 011 1v2a1 1 0 001 1h2a1 1 0 001-1v-6.586l.293.293a1 1 0 001.414-1.414l-7-7z"
25
- /></svg
26
- >
27
- {crumb.label}</a
28
- >
29
- </li>
30
- {:else}
31
- <li>
32
- <div class="flex items-center">
33
- <svg
34
- class="w-6 h-6 text-gray-400"
35
- fill="currentColor"
36
- viewBox="0 0 20 20"
37
- xmlns="http://www.w3.org/2000/svg"
38
- ><path
39
- fill-rule="evenodd"
40
- d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
41
- clip-rule="evenodd"
42
- /></svg
43
- ><a href={crumb.href} class={crumbClass}>{crumb.label}</a>
44
- </div>
45
- </li>
46
- {/if}
47
- {/each}
6
+ <nav aria-label="Breadcrumb" class={classNames(navClass, $$props.classNav)} {...$$restProps}>
7
+ <ol class={classNames(olClass, $$props.classOl)}>
8
+ <slot />
48
9
  </ol>
49
10
  </nav>
@@ -1,16 +1,16 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
- import type { CrumbType } from '../types';
3
2
  declare const __propDef: {
4
3
  props: {
5
- crumbs?: CrumbType[];
6
- homeClass?: string;
7
- crumbClass?: string;
8
- solid?: boolean;
4
+ [x: string]: any;
5
+ navClass?: string;
6
+ olClass?: string;
9
7
  };
10
8
  events: {
11
9
  [evt: string]: CustomEvent<any>;
12
10
  };
13
- slots: {};
11
+ slots: {
12
+ default: {};
13
+ };
14
14
  };
15
15
  export declare type BreadcrumbProps = typeof __propDef.props;
16
16
  export declare type BreadcrumbEvents = typeof __propDef.events;
@@ -0,0 +1,43 @@
1
+ <script>import { ChevronRight } from 'svelte-heros';
2
+ export let icon = null;
3
+ export let variation;
4
+ export let iconSize = 20;
5
+ export let iconClass = 'mr-2';
6
+ </script>
7
+
8
+ <li class="group flex items-center" {...$$props}>
9
+ <ChevronRight aria-hidden="true" class="mx-1 h-6 w-6 text-gray-400 group-first:hidden md:mx-2" />
10
+ {#if $$props.href}
11
+ <a
12
+ class="inline-flex items-center text-sm font-medium text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-white"
13
+ href={$$props.href}
14
+ >
15
+ {#if icon}
16
+ <svelte:component
17
+ this={icon}
18
+ {variation}
19
+ size={iconSize}
20
+ aria-hidden="true"
21
+ class={iconClass}
22
+ />
23
+ {/if}
24
+ <slot />
25
+ </a>
26
+ {:else}
27
+ <span
28
+ class="ml-1 text-sm font-medium text-gray-500 md:ml-2 dark:text-gray-400"
29
+ data-testid="breadcrumb-item"
30
+ >
31
+ {#if icon}
32
+ <svelte:component
33
+ this={icon}
34
+ {variation}
35
+ size={iconSize}
36
+ aria-hidden="true"
37
+ class={iconClass}
38
+ />
39
+ {/if}
40
+ <slot />
41
+ </span>
42
+ {/if}
43
+ </li>
@@ -0,0 +1,23 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type { SvelteComponent } from 'svelte';
3
+ declare const __propDef: {
4
+ props: {
5
+ [x: string]: any;
6
+ icon?: typeof SvelteComponent | null;
7
+ variation: 'solid' | null;
8
+ iconSize?: number;
9
+ iconClass?: string;
10
+ };
11
+ events: {
12
+ [evt: string]: CustomEvent<any>;
13
+ };
14
+ slots: {
15
+ default: {};
16
+ };
17
+ };
18
+ export declare type BreadcrumbItemProps = typeof __propDef.props;
19
+ export declare type BreadcrumbItemEvents = typeof __propDef.events;
20
+ export declare type BreadcrumbItemSlots = typeof __propDef.slots;
21
+ export default class BreadcrumbItem extends SvelteComponentTyped<BreadcrumbItemProps, BreadcrumbItemEvents, BreadcrumbItemSlots> {
22
+ }
23
+ export {};
@@ -8,6 +8,6 @@ export let selectClass = 'bg-gray-50 border border-gray-300 text-gray-900 text-s
8
8
  </script>
9
9
 
10
10
  <label for={id} class={labelClass}>{label}</label>
11
- <select bind:value {id} {name} class={selectClass}>
11
+ <select bind:value {id} {name} class={selectClass} on:change>
12
12
  <slot />
13
13
  </select>
@@ -9,6 +9,8 @@ declare const __propDef: {
9
9
  selectClass?: string;
10
10
  };
11
11
  events: {
12
+ change: Event;
13
+ } & {
12
14
  [evt: string]: CustomEvent<any>;
13
15
  };
14
16
  slots: {
package/index.d.ts CHANGED
@@ -3,9 +3,8 @@ export { default as AccordionFlush } from './accordions/AccordionFlush.svelte';
3
3
  export { default as Alert } from './alerts/Alert.svelte';
4
4
  export { default as Avatar } from './avatar/Avatar.svelte';
5
5
  export { default as Badge } from './badges/Badge.svelte';
6
- export { default as BadgeIcon } from './badges/BadgeIcon.svelte';
7
- export { default as BadgeLink } from './badges/BadgeLink.svelte';
8
6
  export { default as Breadcrumb } from './breadcrumbs/Breadcrumb.svelte';
7
+ export { default as BreadcrumbItem } from './breadcrumbs/BreadcrumbItem.svelte';
9
8
  export { default as Button } from './buttons/Button.svelte';
10
9
  export { default as ColorShadowButton } from './buttons/ColorShadowButton.svelte';
11
10
  export { default as GradientDuotoneButton } from './buttons/GradientDuotoneButton.svelte';
package/index.js CHANGED
@@ -7,10 +7,9 @@ export { default as Alert } from './alerts/Alert.svelte';
7
7
  export { default as Avatar } from './avatar/Avatar.svelte';
8
8
  // Badges
9
9
  export { default as Badge } from './badges/Badge.svelte';
10
- export { default as BadgeIcon } from './badges/BadgeIcon.svelte';
11
- export { default as BadgeLink } from './badges/BadgeLink.svelte';
12
10
  // Breadcrumbs
13
11
  export { default as Breadcrumb } from './breadcrumbs/Breadcrumb.svelte';
12
+ export { default as BreadcrumbItem } from './breadcrumbs/BreadcrumbItem.svelte';
14
13
  // Buttons
15
14
  export { default as Button } from './buttons/Button.svelte';
16
15
  export { default as ColorShadowButton } from './buttons/ColorShadowButton.svelte';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flowbite-svelte",
3
- "version": "0.19.7",
3
+ "version": "0.19.10",
4
4
  "description": "Flowbite components for Svelte",
5
5
  "main": "index.js",
6
6
  "author": {
@@ -98,9 +98,8 @@
98
98
  "./alerts/Alert.svelte": "./alerts/Alert.svelte",
99
99
  "./avatar/Avatar.svelte": "./avatar/Avatar.svelte",
100
100
  "./badges/Badge.svelte": "./badges/Badge.svelte",
101
- "./badges/BadgeIcon.svelte": "./badges/BadgeIcon.svelte",
102
- "./badges/BadgeLink.svelte": "./badges/BadgeLink.svelte",
103
101
  "./breadcrumbs/Breadcrumb.svelte": "./breadcrumbs/Breadcrumb.svelte",
102
+ "./breadcrumbs/BreadcrumbItem.svelte": "./breadcrumbs/BreadcrumbItem.svelte",
104
103
  "./buttongroups/ButtonGroup.svelte": "./buttongroups/ButtonGroup.svelte",
105
104
  "./buttongroups/ButtonGroupItem.svelte": "./buttongroups/ButtonGroupItem.svelte",
106
105
  "./buttons/Button.svelte": "./buttons/Button.svelte",
@@ -7,34 +7,16 @@ export let currentColor = 'currentColor';
7
7
  if (currentFill !== 'currentFill') {
8
8
  color = undefined;
9
9
  }
10
- let fillColorClass;
11
- if (color === undefined) {
12
- fillColorClass = '';
13
- }
14
- else if (color === 'blue') {
15
- fillColorClass = 'fill-blue-600';
16
- }
17
- else if (color === 'gray') {
18
- fillColorClass = 'fill-gray-600';
19
- }
20
- else if (color === 'green') {
21
- fillColorClass = 'fill-green-500';
22
- }
23
- else if (color === 'red') {
24
- fillColorClass = 'fill-red-600';
25
- }
26
- else if (color === 'yellow') {
27
- fillColorClass = 'fill-yellow-400';
28
- }
29
- else if (color === 'pink') {
30
- fillColorClass = 'fill-pink-600';
31
- }
32
- else if (color === 'purple') {
33
- fillColorClass = 'fill-purple-600';
34
- }
35
- else {
36
- fillColorClass = 'fill-blue-600';
37
- }
10
+ const fillColorClasses = {
11
+ blue: 'fill-blue-600',
12
+ gray: 'fill-gray-600',
13
+ green: 'fill-green-500',
14
+ red: 'fill-red-600',
15
+ yellow: 'fill-yellow-400',
16
+ pink: 'fill-pink-600',
17
+ purple: 'fill-purple-600'
18
+ };
19
+ let fillColorClass = color === undefined ? '' : fillColorClasses[color] ?? fillColorClasses.blue;
38
20
  </script>
39
21
 
40
22
  <svg
@@ -1,22 +0,0 @@
1
- <script>import classNames from 'classnames';
2
- export let textSize = 'text-xs';
3
- export let name = 'Read more';
4
- export let color = 'blue';
5
- let badgeClass = 'font-medium inline-flex items-center px-2.5 py-0.5 rounded mr-2 ';
6
- const colors = {
7
- gray: `bg-gray-100 text-gray-800 ${textSize} dark:bg-gray-700 dark:text-gray-300`,
8
- red: `bg-red-100 text-red-800 ${textSize} dark:bg-red-700 dark:text-red-300`,
9
- green: `bg-green-100 text-green-800 ${textSize} dark:bg-green-700 dark:text-green-300`,
10
- yellow: `bg-yellow-100 text-yellow-800 ${textSize} dark:bg-yellow-700 dark:text-yellow-300`,
11
- indigo: `bg-indigo-100 text-indigo-800 ${textSize} dark:bg-indigo-700 dark:text-indigo-300`,
12
- purple: `bg-purple-100 text-purple-800 ${textSize} dark:bg-purple-700 dark:text-purple-300`,
13
- pink: `bg-pink-100 text-pink-800 ${textSize} dark:bg-pink-700 dark:text-pink-300`,
14
- blue: `bg-blue-100 text-blue-800 ${textSize} dark:bg-blue-700 dark:text-blue-300`
15
- };
16
- badgeClass += colors[color] ?? colors.blue;
17
- </script>
18
-
19
- <span class={classNames(badgeClass, $$props.class)} {...$$restProps}>
20
- <slot />
21
- {name}
22
- </span>
@@ -1,22 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- import type { Colors, Textsize } from '../types';
3
- declare const __propDef: {
4
- props: {
5
- [x: string]: any;
6
- textSize?: Textsize;
7
- name?: string;
8
- color?: Colors;
9
- };
10
- events: {
11
- [evt: string]: CustomEvent<any>;
12
- };
13
- slots: {
14
- default: {};
15
- };
16
- };
17
- export declare type BadgeIconProps = typeof __propDef.props;
18
- export declare type BadgeIconEvents = typeof __propDef.events;
19
- export declare type BadgeIconSlots = typeof __propDef.slots;
20
- export default class BadgeIcon extends SvelteComponentTyped<BadgeIconProps, BadgeIconEvents, BadgeIconSlots> {
21
- }
22
- export {};
@@ -1,20 +0,0 @@
1
- <script>import classNames from 'classnames';
2
- export let textSize = 'text-xs';
3
- export let name = 'Read more';
4
- export let color = 'blue';
5
- export let href = '/';
6
- let badgeClass = 'font-semibold mr-2 px-2.5 py-0.5 rounded ';
7
- const colors = {
8
- gray: `bg-gray-100 hover:bg-gray-200 text-gray-800 ${textSize} dark:bg-gray-200 dark:text-gray-800 dark:hover:bg-gray-300`,
9
- red: `bg-red-100 hover:bg-red-200 text-red-800 ${textSize} dark:bg-red-200 dark:text-red-800 dark:hover:bg-red-300`,
10
- green: `bg-green-100 hover:bg-green-200 text-green-800 ${textSize} dark:bg-green-200 dark:text-green-800 dark:hover:bg-green-300`,
11
- yellow: `bg-yellow-100 hover:bg-yellow-200 text-yellow-800 ${textSize} dark:bg-yellow-200 dark:text-yellow-800 dark:hover:bg-yellow-300`,
12
- indigo: `bg-indigo-100 hover:bg-indigo-200 text-indigo-800 ${textSize} dark:bg-indigo-200 dark:text-indigo-800 dark:hover:bg-indigo-300`,
13
- purple: `bg-purple-100 hover:bg-purple-200 text-purple-800 ${textSize} dark:bg-purple-200 dark:text-purple-800 dark:hover:bg-purple-300`,
14
- pink: `bg-pink-100 hover:bg-pink-200 text-pink-800 ${textSize} dark:bg-pink-200 dark:text-pink-800 dark:hover:bg-pink-300`,
15
- blue: `bg-blue-100 hover:bg-blue-200 text-blue-800 ${textSize} dark:bg-blue-200 dark:text-blue-800 dark:hover:bg-blue-300`
16
- };
17
- badgeClass += colors[color] ?? colors.blue;
18
- </script>
19
-
20
- <a {href} class={classNames(badgeClass, $$props.class)} {...$$restProps}>{name}</a>
@@ -1,21 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- import type { Colors, Textsize } from '../types';
3
- declare const __propDef: {
4
- props: {
5
- [x: string]: any;
6
- textSize?: Textsize;
7
- name?: string;
8
- color?: Colors;
9
- href?: string;
10
- };
11
- events: {
12
- [evt: string]: CustomEvent<any>;
13
- };
14
- slots: {};
15
- };
16
- export declare type BadgeLinkProps = typeof __propDef.props;
17
- export declare type BadgeLinkEvents = typeof __propDef.events;
18
- export declare type BadgeLinkSlots = typeof __propDef.slots;
19
- export default class BadgeLink extends SvelteComponentTyped<BadgeLinkProps, BadgeLinkEvents, BadgeLinkSlots> {
20
- }
21
- export {};