flowbite-svelte 0.10.2 → 0.10.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.
@@ -17,7 +17,7 @@ export let options;
17
17
  aria-describedby={option.id}
18
18
  type="checkbox"
19
19
  class={inputClass}
20
- checked={option.checked}
20
+ bind:checked={option.checked}
21
21
  disabled={option.disabled}
22
22
  />
23
23
  </div>
@@ -1,4 +1,5 @@
1
- <script >export let id = 'user_avatar';
1
+ <script >export let value = '';
2
+ export let id = 'user_avatar';
2
3
  export let label = 'Upload file';
3
4
  export let labelClass = 'block mb-2 text-sm font-medium text-gray-900 dark:text-gray-300" for="user_avatar';
4
5
  export let inputClass = 'block w-full text-sm text-gray-900 bg-gray-50 rounded-lg border border-gray-300 cursor-pointer dark:text-gray-400 focus:outline-none focus:border-transparent dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400';
@@ -7,7 +8,7 @@ export let helper;
7
8
  </script>
8
9
 
9
10
  <label class={labelClass} for={id}>{label}</label>
10
- <input class={inputClass} aria-describedby="{id}_help" {id} type="file" />
11
+ <input bind:value class={inputClass} aria-describedby="{id}_help" {id} type="file" />
11
12
  {#if helper}
12
13
  <div class={divClass} id="{id}_help">{helper}</div>
13
14
  {/if}
@@ -1,6 +1,7 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
+ value?: string;
4
5
  id?: string;
5
6
  label?: string;
6
7
  labelClass?: string;
@@ -1,14 +1,18 @@
1
1
  <script >export let id;
2
2
  export let type;
3
- export let name;
4
- export let label;
3
+ export let value = '';
4
+ export let name = '';
5
+ export let label = '';
5
6
  export let required = false;
6
7
  export let divClass = 'relative z-0 mb-6 w-full group';
7
8
  export let inputClass = 'block py-2.5 px-0 w-full text-sm text-gray-900 bg-transparent border-0 border-b-2 border-gray-300 appearance-none dark:text-white dark:border-gray-600 dark:focus:border-blue-500 focus:outline-none focus:ring-0 focus:border-blue-600 peer';
8
9
  export let labelClass = 'absolute text-sm text-gray-500 dark:text-gray-400 duration-300 transform -translate-y-6 scale-75 top-3 -z-10 origin-[0] peer-focus:left-0 peer-focus:text-blue-600 peer-focus:dark:text-blue-500 peer-placeholder-shown:scale-100 peer-placeholder-shown:translate-y-0 peer-focus:scale-75 peer-focus:-translate-y-6';
10
+ function setType(node) {
11
+ node.type = type;
12
+ }
9
13
  </script>
10
14
 
11
15
  <div class={divClass}>
12
- <input {type} {name} class={inputClass} placeholder=" " {required} />
16
+ <input bind:value use:setType {name} class={inputClass} placeholder=" " {required} />
13
17
  <label for={id} class={labelClass}>{label}</label>
14
18
  </div>
@@ -3,8 +3,9 @@ declare const __propDef: {
3
3
  props: {
4
4
  id: string;
5
5
  type: 'button' | 'checkbox' | 'color' | 'date' | 'datetime-local' | 'email' | 'file' | 'hidden' | 'image' | 'month' | 'number' | 'password' | 'radio' | 'range' | 'reset' | 'search' | 'submit' | 'tel' | 'text' | 'time' | 'url' | 'week';
6
- name: string;
7
- label: string;
6
+ value?: string;
7
+ name?: string;
8
+ label?: string;
8
9
  required?: boolean;
9
10
  divClass?: string;
10
11
  inputClass?: string;
@@ -1,9 +1,10 @@
1
1
  <script >export let label;
2
2
  export let id;
3
3
  export let type;
4
+ export let value = '';
4
5
  export let icon;
5
- export let helper;
6
- export let placeholder;
6
+ export let helper = '';
7
+ export let placeholder = '';
7
8
  export let noBorder = false;
8
9
  export let labelClass = 'block mb-2 text-sm font-medium text-gray-900 dark:text-gray-300';
9
10
  export let inputClass = 'rounded-none rounded-r-lg bg-gray-50 border border-gray-300 text-gray-900 focus:ring-blue-500 focus:border-blue-500 block flex-1 min-w-0 w-full text-sm border-gray-300 p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500';
@@ -12,24 +13,29 @@ export let helperClass = 'mt-2 text-sm text-gray-500 dark:text-gray-400';
12
13
  export let noBorderInputClass = 'bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full pl-10 p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500';
13
14
  export let noBorderDivClass = 'flex absolute inset-y-0 left-0 items-center pl-3 pointer-events-none';
14
15
  export let iconClass = 'h-4 w-4 mr-2';
16
+ function setType(node) {
17
+ node.type = type;
18
+ }
15
19
  </script>
16
20
 
17
- <label for={id} class={labelClass}>{label}</label>
18
- {#if noBorder}
19
- <div class="relative">
20
- <div class={noBorderDivClass}>
21
- <svelte:component this={icon} className={iconClass} />
21
+ <div class={$$props.class}>
22
+ <label for={id} class={labelClass}>{label}</label>
23
+ {#if noBorder}
24
+ <div class="relative">
25
+ <div class={noBorderDivClass}>
26
+ <svelte:component this={icon} className={iconClass} />
27
+ </div>
28
+ <input bind:value use:setType {id} class={noBorderInputClass} {placeholder} />
22
29
  </div>
23
- <input {type} {id} class={noBorderInputClass} {placeholder} />
24
- </div>
25
- {:else}
26
- <div class="flex">
27
- <span class={spanClass}>
28
- <svelte:component this={icon} className={iconClass} />
29
- </span>
30
- <input {type} {id} class={inputClass} {placeholder} />
31
- </div>
32
- {/if}
33
- {#if helper}
34
- <p class={helperClass}>{@html helper}</p>
35
- {/if}
30
+ {:else}
31
+ <div class="flex">
32
+ <span class={spanClass}>
33
+ <svelte:component this={icon} className={iconClass} />
34
+ </span>
35
+ <input {type} {id} class={inputClass} {placeholder} />
36
+ </div>
37
+ {/if}
38
+ {#if helper}
39
+ <p class={helperClass}>{@html helper}</p>
40
+ {/if}
41
+ </div>
@@ -2,12 +2,14 @@ import { SvelteComponentTyped } from "svelte";
2
2
  import type { SvelteComponent } from 'svelte';
3
3
  declare const __propDef: {
4
4
  props: {
5
+ [x: string]: any;
5
6
  label: string;
6
7
  id: string;
7
8
  type: 'button' | 'checkbox' | 'color' | 'date' | 'datetime-local' | 'email' | 'file' | 'hidden' | 'image' | 'month' | 'number' | 'password' | 'radio' | 'range' | 'reset' | 'search' | 'submit' | 'tel' | 'text' | 'time' | 'url' | 'week';
9
+ value?: string;
8
10
  icon: typeof SvelteComponent;
9
- helper: string;
10
- placeholder: string;
11
+ helper?: string;
12
+ placeholder?: string;
11
13
  noBorder?: boolean;
12
14
  labelClass?: string;
13
15
  inputClass?: string;
@@ -1,22 +1,36 @@
1
1
  <script >export let type;
2
- export let name;
3
- export let id;
4
- export let label;
5
- export let required;
6
- export let placeholder;
2
+ export let value = '';
3
+ export let name = '';
4
+ export let id = '';
5
+ export let label = '';
6
+ export let required = false;
7
+ export let placeholder = '';
7
8
  export let size = 'text-sm';
8
9
  export let inputClass = `bg-gray-50 border border-gray-300 text-gray-900 ${size} rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500`;
9
10
  export let labelClass = 'block mb-2 text-sm font-medium text-gray-900 dark:text-gray-300';
10
- export let divClass = 'mb-6';
11
11
  export let disabled = false;
12
12
  export let readonly = false;
13
13
  export let helper;
14
14
  export let helperClass = 'mt-2 text-sm text-gray-500 dark:text-gray-400';
15
+ // you need to this to avoid 2-way binding
16
+ function setType(node) {
17
+ node.type = type;
18
+ }
15
19
  </script>
16
20
 
17
- <div class={divClass}>
21
+ <div class={$$props.class}>
18
22
  <label for={id} class={labelClass}>{label}</label>
19
- <input {name} {type} {id} class={inputClass} {placeholder} {required} {disabled} {readonly} />
23
+ <input
24
+ bind:value
25
+ {name}
26
+ use:setType
27
+ {id}
28
+ class={inputClass}
29
+ {placeholder}
30
+ {required}
31
+ {disabled}
32
+ {readonly}
33
+ />
20
34
  {#if helper}
21
35
  <p class={helperClass}>{@html helper}</p>
22
36
  {/if}
@@ -1,16 +1,17 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
+ [x: string]: any;
4
5
  type: 'button' | 'checkbox' | 'color' | 'date' | 'datetime-local' | 'email' | 'file' | 'hidden' | 'image' | 'month' | 'number' | 'password' | 'radio' | 'range' | 'reset' | 'search' | 'submit' | 'tel' | 'text' | 'time' | 'url' | 'week';
5
- name: string;
6
- id: string;
7
- label: string;
8
- required: boolean;
9
- placeholder: string;
6
+ value?: string;
7
+ name?: string;
8
+ id?: string;
9
+ label?: string;
10
+ required?: boolean;
11
+ placeholder?: string;
10
12
  size?: 'sm:text-md' | 'text-sm' | 'sm:text-xs';
11
13
  inputClass?: string;
12
14
  labelClass?: string;
13
- divClass?: string;
14
15
  disabled?: boolean;
15
16
  readonly?: boolean;
16
17
  helper: string;
@@ -1,4 +1,5 @@
1
- <script >export let divClass = 'flex items-center mb-4';
1
+ <script >export let legend = '';
2
+ export let divClass = 'flex items-center mb-4';
2
3
  export let inputClass = 'w-4 h-4 border-gray-300 focus:ring-2 focus:ring-blue-300 dark:focus:ring-blue-600 dark:focus:bg-blue-600 dark:bg-gray-700 dark:border-gray-600';
3
4
  export let labelClass = 'block ml-2 text-sm font-medium text-gray-900 dark:text-gray-300';
4
5
  export let name = 'countries';
@@ -24,7 +25,7 @@ export let options = [
24
25
  </script>
25
26
 
26
27
  <fieldset>
27
- <legend class="sr-only">Countries</legend>
28
+ <legend class="sr-only">{legend}</legend>
28
29
  {#each options as option}
29
30
  <div class={divClass}>
30
31
  <input
@@ -1,6 +1,7 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
+ legend?: string;
4
5
  divClass?: string;
5
6
  inputClass?: string;
6
7
  labelClass?: string;
@@ -1,4 +1,5 @@
1
- <script >export let id = 'countries';
1
+ <script >export let value;
2
+ export let id = 'countries';
2
3
  export let name = 'country';
3
4
  export let label = 'Select your country';
4
5
  export let labelClass = 'block mb-2 text-sm font-medium text-gray-900 dark:text-gray-400';
@@ -6,6 +7,6 @@ export let selectClass = 'bg-gray-50 border border-gray-300 text-gray-900 text-s
6
7
  </script>
7
8
 
8
9
  <label for="countries" class={labelClass}>{label}</label>
9
- <select {id} {name} class={selectClass}>
10
+ <select bind:value {id} {name} class={selectClass}>
10
11
  <slot />
11
12
  </select>
@@ -1,6 +1,7 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
+ value: string | number;
4
5
  id?: string;
5
6
  name?: string;
6
7
  label?: string;
@@ -1,14 +1,23 @@
1
- <script >export let id;
2
- export let required = true;
1
+ <script >export let checked = false;
2
+ export let id;
3
+ export let required = false;
3
4
  export let label;
4
5
  export let name;
5
6
  export let inputClass = 'w-4 h-4 bg-gray-50 rounded border border-gray-300 focus:ring-3 focus:ring-blue-300 dark:bg-gray-700 dark:border-gray-600 dark:focus:ring-blue-600 dark:ring-offset-gray-800';
6
7
  export let labelClass = 'font-medium text-gray-900 dark:text-gray-300';
7
8
  </script>
8
9
 
9
- <div class="flex items-start mb-6">
10
+ <div class="flex items-start">
10
11
  <div class="flex items-center h-5">
11
- <input {id} aria-describedby={id} {name} type="checkbox" class={inputClass} {required} />
12
+ <input
13
+ bind:checked
14
+ {id}
15
+ aria-describedby={id}
16
+ {name}
17
+ type="checkbox"
18
+ class={inputClass}
19
+ {required}
20
+ />
12
21
  </div>
13
22
  <div class="ml-3 text-sm">
14
23
  <label for={id} class={labelClass}>{label}</label>
@@ -1,6 +1,7 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
+ checked?: boolean;
4
5
  id: string;
5
6
  required?: boolean;
6
7
  label: string;
@@ -1,4 +1,5 @@
1
- <script >export let id = 'message';
1
+ <script >export let value = '';
2
+ export let id = 'message';
2
3
  export let name = 'message';
3
4
  export let label = 'Your message';
4
5
  export let rows = 4;
@@ -10,7 +11,7 @@ export let helperClass = 'mt-2 text-sm text-gray-500 dark:text-gray-400';
10
11
  </script>
11
12
 
12
13
  <label for={id} class={labelClass}>{label}</label>
13
- <textarea {id} {name} {rows} class={textareaClass} {placeholder} />
14
+ <textarea bind:value {id} {name} {rows} class={textareaClass} {placeholder} />
14
15
  {#if helper}
15
16
  <p class={helperClass}>{@html helper}</p>
16
17
  {/if}
@@ -1,6 +1,7 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
+ value?: string;
4
5
  id?: string;
5
6
  name?: string;
6
7
  label?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flowbite-svelte",
3
- "version": "0.10.2",
3
+ "version": "0.10.3",
4
4
  "description": "Flowbite components for Svelte",
5
5
  "author": {
6
6
  "name": "Shinichi Okada",