flowbite-svelte 0.22.23 → 0.22.26

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,32 @@
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.22.26](https://github.com/themesberg/flowbite-svelte/compare/v0.22.25...v0.22.26) (2022-07-30)
6
+
7
+
8
+ ### Features
9
+
10
+ * avatar w/tooltip / initials ([6b9a333](https://github.com/themesberg/flowbite-svelte/commit/6b9a333c96f3485b33a2fdeecc113138452acca0))
11
+
12
+ ### [0.22.25](https://github.com/themesberg/flowbite-svelte/compare/v0.22.24...v0.22.25) (2022-07-29)
13
+
14
+
15
+ ### Features
16
+
17
+ * alerts with lists ([5ad5f3c](https://github.com/themesberg/flowbite-svelte/commit/5ad5f3cfb6b8f68464475b11086f85b0d60cc068))
18
+
19
+ ### [0.22.24](https://github.com/themesberg/flowbite-svelte/compare/v0.22.23...v0.22.24) (2022-07-29)
20
+
21
+
22
+ ### Features
23
+
24
+ * badges new features ([775ecbc](https://github.com/themesberg/flowbite-svelte/commit/775ecbc04df58cd7c2517d103c963e7add92b5f6))
25
+
26
+
27
+ ### Bug Fixes
28
+
29
+ * pink color ([e4551b5](https://github.com/themesberg/flowbite-svelte/commit/e4551b54e0b56c07bae45d2bddb1b2930a20fe72))
30
+
5
31
  ### [0.22.23](https://github.com/themesberg/flowbite-svelte/compare/v0.22.22...v0.22.23) (2022-07-29)
6
32
 
7
33
 
@@ -50,7 +50,7 @@ const textColors = {
50
50
  dark: 'text-gray-700 dark:text-gray-300'
51
51
  };
52
52
  let divClass;
53
- $: divClass = classNames('flex flex-col p-4 mb-4 gap-2 ', bgClasses[color] ?? bgClasses.blue, accent && (borderAccentClasses[color] ?? borderAccentClasses.blue), rounded && 'rounded-lg ', accent && 'border-t-4 ', textColors[color], $$props.class);
53
+ $: divClass = classNames('flex flex-col p-4 mb-4 gap-2 text-sm', bgClasses[color] ?? bgClasses.blue, accent && (borderAccentClasses[color] ?? borderAccentClasses.blue), rounded && 'rounded-lg ', accent && 'border-t-4 ', textColors[color], $$props.class);
54
54
  </script>
55
55
 
56
56
  <div id={$$props.id} class:hidden class={divClass} role="alert">
@@ -59,7 +59,7 @@ $: divClass = classNames('flex flex-col p-4 mb-4 gap-2 ', bgClasses[color] ?? bg
59
59
  <svelte:component this={icon} class="flex-shrink-0 w-5 h-5 mr-3" />
60
60
  {/if}
61
61
 
62
- <div class="text-sm">
62
+ <div>
63
63
  <slot />
64
64
  </div>
65
65
 
@@ -9,7 +9,6 @@ export let stacked = false;
9
9
  export let dot = { top: false, color: 'bg-gray-300 dark:bg-gray-500' };
10
10
  export let alt = '';
11
11
  export let size = 'md';
12
- // export let ring: string = 'ring-gray-300 dark:ring-gray-500';
13
12
  const sizes = {
14
13
  xs: 'w-6 h-6',
15
14
  sm: 'w-8 h-8',
@@ -18,21 +17,23 @@ const sizes = {
18
17
  xl: 'w-36 h-36'
19
18
  };
20
19
  let avatarClass;
21
- $: avatarClass = classNames(rounded ? 'rounded' : 'rounded-full', border && 'p-1 ring-2 ring-gray-300 dark:ring-gray-500', sizes[size], stacked && 'border-2 -ml-4 border-white dark:border-gray-800', $$props.class);
20
+ $: avatarClass = classNames(rounded ? 'rounded' : 'rounded-full', border && 'p-1 ring-2 ring-gray-300 dark:ring-gray-500', sizes[size], stacked && 'border-2 -ml-4 border-white dark:border-gray-800', 'bg-gray-100 dark:bg-gray-600 text-gray-600 dark:text-gray-300', $$props.class);
22
21
  </script>
23
22
 
24
23
  <Dot show={$$props.dot} {rounded} {...dot} {size}>
25
24
  {#if src}
26
25
  <img class={avatarClass} {alt} {src} />
27
26
  {:else if $$slots.default}
28
- <a
29
- class="flex justify-center items-center {avatarClass} text-xs font-medium text-white bg-gray-700 hover:bg-gray-600"
27
+ <svelte:element
28
+ this={href ? 'a' : 'div'}
29
+ class="flex justify-center items-center text-xs font-medium {avatarClass}"
30
30
  {href}
31
- ><slot />
32
- </a>
31
+ >
32
+ <slot />
33
+ </svelte:element>
33
34
  {:else}
34
- <div class={avatarClass}>
35
+ <svelte:element this={href ? 'a' : 'div'} class={avatarClass}>
35
36
  <AvatarPlaceholder {rounded} />
36
- </div>
37
+ </svelte:element>
37
38
  {/if}
38
39
  </Dot>
@@ -2,7 +2,7 @@
2
2
  </script>
3
3
 
4
4
  <svg
5
- class="text-gray-400 bg-gray-200 dark:bg-gray-600 {rounded ? 'rounded' : 'rounded-full'}"
5
+ class="text-gray-400 bg-gray-100 dark:bg-gray-600 {rounded ? 'rounded' : 'rounded-full'}"
6
6
  fill="currentColor"
7
7
  viewBox="0 0 16 16"
8
8
  xmlns="http://www.w3.org/2000/svg"
@@ -1,9 +1,12 @@
1
1
  <script>import classNames from 'classnames';
2
+ import CloseButton from '../utils/CloseButton.svelte';
2
3
  export let color = 'blue';
3
4
  export let large = false;
4
5
  export let href = undefined;
5
6
  export let rounded = false;
6
- let badgeClass;
7
+ export let index = false;
8
+ export let dismissable = false;
9
+ let hidden = false;
7
10
  const colors = {
8
11
  blue: 'bg-blue-100 text-blue-800 dark:bg-blue-200 dark:text-blue-800',
9
12
  dark: 'bg-gray-100 text-gray-800 dark:bg-gray-700 dark:text-gray-300',
@@ -12,7 +15,15 @@ const colors = {
12
15
  yellow: 'bg-yellow-100 text-yellow-800 dark:bg-yellow-200 dark:text-yellow-900',
13
16
  indigo: 'bg-indigo-100 text-indigo-800 dark:bg-indigo-200 dark:text-indigo-900',
14
17
  purple: 'bg-purple-100 text-purple-800 dark:bg-purple-200 dark:text-purple-900',
15
- pink: 'bg-pink-100 text-pink-800 dark:bg-pink-200 dark:text-pink-900'
18
+ pink: 'bg-pink-100 text-pink-800 dark:bg-pink-200 dark:text-pink-900',
19
+ ['!blue']: 'bg-blue-500 text-blue-100',
20
+ ['!dark']: 'bg-gray-500 text-gray-100',
21
+ ['!red']: 'bg-red-500 text-white',
22
+ ['!green']: 'bg-green-500 text-green-100',
23
+ ['!yellow']: 'bg-yellow-300 text-yellow-800',
24
+ ['!indigo']: 'bg-indigo-500 text-indigo-100',
25
+ ['!purple']: 'bg-purple-500 text-purple-100',
26
+ ['!pink']: 'bg-pink-500 text-pink-100'
16
27
  };
17
28
  const hovers = {
18
29
  blue: 'hover:bg-blue-200 dark:hover:bg-blue-300',
@@ -24,9 +35,16 @@ const hovers = {
24
35
  purple: 'hover:bg-purple-200 dark:hover:bg-purple-300',
25
36
  pink: 'hover:bg-pink-200 dark:hover:bg-pink-300'
26
37
  };
27
- $: badgeClass = classNames('inline-flex items-center justify-center mr-2', large ? 'text-sm font-medium' : 'text-xs font-semibold', colors[color] ?? colors.blue, href && (hovers[color] ?? hovers.blue), rounded ? 'rounded-full p-1' : 'rounded px-2.5 py-0.5', $$props.class);
38
+ let badgeClass;
39
+ $: badgeClass = classNames('inline-flex items-center justify-center -mb-0.5', large ? 'text-sm font-medium' : 'text-xs font-semibold', colors[color], href && (hovers[color] ?? hovers.blue), rounded ? 'rounded-full p-1' : 'rounded px-2.5 py-0.5', index && 'absolute font-bold border-2 border-white dark:border-gray-900', index && (large ? 'w-7 h-7 -top-3 -right-3' : 'w-6 h-6 -top-2 -right-2'), $$props.class);
40
+ const handleHide = () => {
41
+ hidden = !hidden;
42
+ };
28
43
  </script>
29
44
 
30
- <svelte:element this={href ? 'a' : 'span'} {href} {...$$restProps} class={badgeClass}>
45
+ <svelte:element this={href ? 'a' : 'span'} {href} {...$$restProps} class={badgeClass} class:hidden>
31
46
  <slot />
47
+ {#if dismissable}
48
+ <CloseButton {color} on:click={handleHide} size={large ? 'sm' : 'xs'} class="ml-1.5 -mr-1.5" />
49
+ {/if}
32
50
  </svelte:element>
@@ -7,6 +7,8 @@ declare const __propDef: {
7
7
  large?: boolean;
8
8
  href?: string;
9
9
  rounded?: boolean;
10
+ index?: boolean;
11
+ dismissable?: boolean;
10
12
  };
11
13
  events: {
12
14
  [evt: string]: CustomEvent<any>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flowbite-svelte",
3
- "version": "0.22.23",
3
+ "version": "0.22.26",
4
4
  "description": "Flowbite components for Svelte",
5
5
  "main": "index.js",
6
6
  "author": {
@@ -3,6 +3,7 @@ import classNames from 'classnames';
3
3
  const background = getContext('background');
4
4
  export let color = 'default';
5
5
  export let name = 'Close';
6
+ export let size = 'md';
6
7
  const colors = {
7
8
  gray: 'focus:ring-gray-400 hover:bg-gray-200 dark:hover:bg-gray-300',
8
9
  red: 'focus:ring-red-400 hover:bg-red-200 dark:hover:bg-red-300',
@@ -14,17 +15,32 @@ const colors = {
14
15
  blue: 'focus:ring-blue-400 hover:bg-blue-200 dark:hover:bg-blue-300',
15
16
  default: 'focus:ring-gray-300 '
16
17
  };
18
+ const sizing = {
19
+ xs: 'm-0.5 rounded focus:ring-1 p-0.5',
20
+ sm: 'm-0.5 rounded focus:ring-1 p-0.5',
21
+ md: '-mx-1 -my-1.5 rounded-lg focus:ring-2 p-1.5'
22
+ };
17
23
  let buttonClass = '';
18
- $: buttonClass = classNames('ml-auto -mx-1 -my-1.5 rounded-lg focus:ring-2 p-1.5 focus:outline-none', colors[color], color === 'default' &&
24
+ $: buttonClass = classNames('ml-auto focus:outline-none', sizing[size], colors[color], color === 'default' &&
19
25
  (background
20
26
  ? 'hover:bg-gray-100 dark:hover:bg-gray-600'
21
27
  : 'hover:bg-gray-100 dark:hover:bg-gray-700'), $$props.class);
28
+ const svgSizes = {
29
+ xs: 'w-3 h-3',
30
+ sm: 'w-3.5 h-3.5',
31
+ md: 'w-5 h-5'
32
+ };
22
33
  </script>
23
34
 
24
35
  <button on:click type="button" class={buttonClass} aria-label="Close">
25
36
  <slot>
26
37
  <span class="sr-only">{name}</span>
27
- <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
38
+ <svg
39
+ class={svgSizes[size]}
40
+ fill="currentColor"
41
+ viewBox="0 0 20 20"
42
+ xmlns="http://www.w3.org/2000/svg"
43
+ >
28
44
  <path
29
45
  fill-rule="evenodd"
30
46
  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"
@@ -4,6 +4,7 @@ declare const __propDef: {
4
4
  [x: string]: any;
5
5
  color?: string;
6
6
  name?: string;
7
+ size?: 'xs' | 'sm' | 'md';
7
8
  };
8
9
  events: {
9
10
  click: MouseEvent;