flowbite-svelte 0.44.18 → 0.44.19

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 (38) hide show
  1. package/dist/buttons/Button.svelte +79 -17
  2. package/dist/buttons/Button.svelte.d.ts +7 -3
  3. package/dist/buttons/Button.svelte.d.ts.map +1 -1
  4. package/dist/carousel/Carousel.svelte +1 -1
  5. package/dist/carousel/{Carousel.d.ts → CarouselSlide.d.ts} +1 -1
  6. package/dist/carousel/CarouselSlide.d.ts.map +1 -0
  7. package/dist/carousel/Controls.svelte +1 -1
  8. package/dist/datepicker/Datepicker.svelte +3 -0
  9. package/dist/datepicker/Datepicker.svelte.d.ts +11 -0
  10. package/dist/datepicker/Datepicker.svelte.d.ts.map +1 -1
  11. package/dist/footer/Footer.svelte +2 -2
  12. package/dist/footer/Footer.svelte.d.ts +2 -2
  13. package/dist/footer/Footer.svelte.d.ts.map +1 -1
  14. package/dist/forms/CheckboxButton.svelte +84 -0
  15. package/dist/forms/CheckboxButton.svelte.d.ts +54 -0
  16. package/dist/forms/CheckboxButton.svelte.d.ts.map +1 -0
  17. package/dist/forms/FloatingLabelInput.svelte +1 -3
  18. package/dist/forms/FloatingLabelInput.svelte.d.ts +3 -3
  19. package/dist/forms/FloatingLabelInput.svelte.d.ts.map +1 -1
  20. package/dist/forms/RadioButton.svelte +49 -0
  21. package/dist/forms/RadioButton.svelte.d.ts +52 -0
  22. package/dist/forms/RadioButton.svelte.d.ts.map +1 -0
  23. package/dist/index.d.ts +2 -0
  24. package/dist/index.js +2 -0
  25. package/dist/indicators/Indicator.svelte +1 -1
  26. package/dist/indicators/Indicator.svelte.d.ts +3 -3
  27. package/dist/indicators/Indicator.svelte.d.ts.map +1 -1
  28. package/dist/modal/Modal.svelte +3 -3
  29. package/dist/modal/Modal.svelte.d.ts +6 -1
  30. package/dist/modal/Modal.svelte.d.ts.map +1 -1
  31. package/dist/navbar/NavHamburger.svelte +3 -1
  32. package/dist/navbar/NavHamburger.svelte.d.ts +2 -0
  33. package/dist/navbar/NavHamburger.svelte.d.ts.map +1 -1
  34. package/dist/toolbar/Toolbar.svelte +1 -1
  35. package/dist/utils/focusTrap.d.ts.map +1 -1
  36. package/package.json +28 -20
  37. package/dist/carousel/Carousel.d.ts.map +0 -1
  38. /package/dist/carousel/{Carousel.js → CarouselSlide.js} +0 -0
@@ -8,8 +8,10 @@ export let href = undefined;
8
8
  export let type = 'button';
9
9
  export let color = group ? (outline ? 'dark' : 'alternative') : 'primary';
10
10
  export let shadow = false;
11
+ export let tag = 'button';
12
+ export let checked = undefined;
11
13
  const colorClasses = {
12
- alternative: 'text-gray-900 bg-white border border-gray-200 hover:bg-gray-100 dark:bg-gray-800 dark:text-gray-400 hover:text-primary-700 focus:text-primary-700 dark:focus:text-white dark:hover:text-white',
14
+ alternative: 'text-gray-900 bg-white border border-gray-200 hover:bg-gray-100 dark:bg-gray-800 dark:text-gray-400 hover:text-primary-700 focus-within:text-primary-700 dark:focus-within:text-white dark:hover:text-white',
13
15
  blue: 'text-white bg-blue-700 hover:bg-blue-800 dark:bg-blue-600 dark:hover:bg-blue-700',
14
16
  dark: 'text-white bg-gray-800 hover:bg-gray-900 dark:bg-gray-800 dark:hover:bg-gray-700',
15
17
  green: 'text-white bg-green-700 hover:bg-green-800 dark:bg-green-600 dark:hover:bg-green-700',
@@ -20,16 +22,28 @@ const colorClasses = {
20
22
  yellow: 'text-white bg-yellow-400 hover:bg-yellow-500 ',
21
23
  none: ''
22
24
  };
25
+ const colorCheckedClasses = {
26
+ alternative: 'text-primary-700 border dark:text-primary-500 bg-gray-100 dark:bg-gray-700 border-gray-300 shadow-gray-300 dark:shadow-gray-800 shadow-inner',
27
+ blue: 'text-blue-900 bg-blue-400 dark:bg-blue-500 shadow-blue-700 dark:shadow-blue-800 shadow-inner',
28
+ dark: 'text-white bg-gray-500 dark:bg-gray-600 shadow-gray-800 dark:shadow-gray-900 shadow-inner',
29
+ green: 'text-green-900 bg-green-400 dark:bg-green-500 shadow-green-700 dark:shadow-green-800 shadow-inner',
30
+ light: 'text-gray-900 bg-gray-100 border border-gray-300 dark:bg-gray-500 dark:text-gray-900 dark:border-gray-700 shadow-gray-300 dark:shadow-gray-700 shadow-inner',
31
+ primary: 'text-primary-900 bg-primary-400 dark:bg-primary-500 shadow-primary-700 dark:shadow-primary-800 shadow-inner',
32
+ purple: 'text-purple-900 bg-purple-400 dark:bg-purple-500 shadow-purple-700 dark:shadow-purple-800 shadow-inner',
33
+ red: 'text-red-900 bg-red-400 dark:bg-red-500 shadow-red-700 dark:shadow-red-800 shadow-inner',
34
+ yellow: 'text-yellow-900 bg-yellow-300 dark:bg-yellow-400 shadow-yellow-500 dark:shadow-yellow-700 shadow-inner',
35
+ none: ''
36
+ };
23
37
  const coloredFocusClasses = {
24
- alternative: 'focus:ring-gray-200 dark:focus:ring-gray-700',
25
- blue: 'focus:ring-blue-300 dark:focus:ring-blue-800',
26
- dark: 'focus:ring-gray-300 dark:focus:ring-gray-700',
27
- green: 'focus:ring-green-300 dark:focus:ring-green-800',
28
- light: 'focus:ring-gray-200 dark:focus:ring-gray-700',
29
- primary: 'focus:ring-primary-300 dark:focus:ring-primary-800',
30
- purple: 'focus:ring-purple-300 dark:focus:ring-purple-900',
31
- red: 'focus:ring-red-300 dark:focus:ring-red-900',
32
- yellow: 'focus:ring-yellow-300 dark:focus:ring-yellow-900',
38
+ alternative: 'focus-within:ring-gray-200 dark:focus-within:ring-gray-700',
39
+ blue: 'focus-within:ring-blue-300 dark:focus-within:ring-blue-800',
40
+ dark: 'focus-within:ring-gray-300 dark:focus-within:ring-gray-700',
41
+ green: 'focus-within:ring-green-300 dark:focus-within:ring-green-800',
42
+ light: 'focus-within:ring-gray-200 dark:focus-within:ring-gray-700',
43
+ primary: 'focus-within:ring-primary-300 dark:focus-within:ring-primary-800',
44
+ purple: 'focus-within:ring-purple-300 dark:focus-within:ring-purple-900',
45
+ red: 'focus-within:ring-red-300 dark:focus-within:ring-red-900',
46
+ yellow: 'focus-within:ring-yellow-300 dark:focus-within:ring-yellow-900',
33
47
  none: ''
34
48
  };
35
49
  const coloredShadowClasses = {
@@ -45,9 +59,9 @@ const coloredShadowClasses = {
45
59
  none: ''
46
60
  };
47
61
  const outlineClasses = {
48
- alternative: 'text-gray-900 hover:text-white border border-gray-800 hover:bg-gray-900 focus:bg-gray-900 focus:text-white focus:ring-gray-300 dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-gray-800',
62
+ alternative: 'text-gray-900 dark:text-gray-400 hover:text-white border border-gray-800 hover:bg-gray-900 focus-within:bg-gray-900 focus-within:text-white focus-within:ring-gray-300 dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-600 dark:focus-within:ring-gray-800',
49
63
  blue: 'text-blue-700 hover:text-white border border-blue-700 hover:bg-blue-800 dark:border-blue-500 dark:text-blue-500 dark:hover:text-white dark:hover:bg-blue-600',
50
- dark: 'text-gray-900 hover:text-white border border-gray-800 hover:bg-gray-900 focus:bg-gray-900 focus:text-white dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-600',
64
+ dark: 'text-gray-900 hover:text-white border border-gray-800 hover:bg-gray-900 focus-within:bg-gray-900 focus-within:text-white dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-600',
51
65
  green: 'text-green-700 hover:text-white border border-green-700 hover:bg-green-800 dark:border-green-500 dark:text-green-500 dark:hover:text-white dark:hover:bg-green-600',
52
66
  light: 'text-gray-500 hover:text-gray-900 bg-white border border-gray-200 dark:border-gray-600 dark:hover:text-white dark:text-gray-400 hover:bg-gray-50 dark:bg-gray-700 dark:hover:bg-gray-600',
53
67
  primary: 'text-primary-700 hover:text-white border border-primary-700 hover:bg-primary-700 dark:border-primary-500 dark:text-primary-500 dark:hover:text-white dark:hover:bg-primary-600',
@@ -65,12 +79,58 @@ const sizeClasses = {
65
79
  };
66
80
  const hasBorder = () => outline || color === 'alternative' || color === 'light';
67
81
  let buttonClass;
68
- $: buttonClass = twMerge('text-center font-medium', group ? 'focus:ring-2' : 'focus:ring-4', group && 'focus:z-10', group || 'focus:outline-none', 'inline-flex items-center justify-center ' + sizeClasses[size], outline ? outlineClasses[color] : colorClasses[color], color === 'alternative' && (group ? 'dark:bg-gray-700 dark:text-white dark:border-gray-700 dark:hover:border-gray-600 dark:hover:bg-gray-600' : 'dark:bg-transparent dark:border-gray-600 dark:hover:border-gray-700'), outline && color === 'dark' && (group ? 'dark:text-white dark:border-white' : 'dark:text-gray-400 dark:border-gray-700'), coloredFocusClasses[color], hasBorder() && group && 'border-l-0 first:border-l', group ? (pill && 'first:rounded-l-full last:rounded-r-full') || 'first:rounded-l-lg last:rounded-r-lg' : (pill && 'rounded-full') || 'rounded-lg', shadow && 'shadow-lg', shadow && coloredShadowClasses[color], $$props.disabled && 'cursor-not-allowed opacity-50', $$props.class);
82
+ $: buttonClass = twMerge('text-center font-medium', group ? 'focus-within:ring-2' : 'focus-within:ring-4', group && 'focus-within:z-10', group || 'focus-within:outline-none', 'inline-flex items-center justify-center ' + sizeClasses[size], outline && checked && 'border dark:border-gray-900', outline && checked && colorCheckedClasses[color], outline && !checked && outlineClasses[color], !outline && checked && colorCheckedClasses[color], !outline && !checked && colorClasses[color], color === 'alternative' &&
83
+ (group && !checked
84
+ ? 'dark:bg-gray-700 dark:text-white dark:border-gray-700 dark:hover:border-gray-600 dark:hover:bg-gray-600'
85
+ : 'dark:bg-transparent dark:border-gray-600 dark:hover:border-gray-700'), outline &&
86
+ color === 'dark' &&
87
+ (group
88
+ ? checked
89
+ ? 'bg-gray-900 border-gray-800 dark:border-white dark:bg-gray-600'
90
+ : 'dark:text-white border-gray-800 dark:border-white'
91
+ : 'dark:text-gray-400 dark:border-gray-700'), coloredFocusClasses[color], hasBorder() && group && 'border-l-0 first:border-l', group
92
+ ? (pill && 'first:rounded-l-full last:rounded-r-full') || 'first:rounded-l-lg last:rounded-r-lg'
93
+ : (pill && 'rounded-full') || 'rounded-lg', shadow && 'shadow-lg', shadow && coloredShadowClasses[color], $$props.disabled && 'cursor-not-allowed opacity-50', $$props.class);
69
94
  </script>
70
95
 
71
- <svelte:element this={href ? 'a' : 'button'} type={href ? undefined : type} {href} role={href ? 'link' : 'button'} {...$$restProps} class={buttonClass} on:click on:change on:keydown on:keyup on:touchstart|passive on:touchend on:touchcancel on:mouseenter on:mouseleave>
72
- <slot />
73
- </svelte:element>
96
+ {#if href}
97
+ <a
98
+ {href}
99
+ {...$$restProps}
100
+ class={buttonClass}
101
+ role="button"
102
+ on:click
103
+ on:change
104
+ on:keydown
105
+ on:keyup
106
+ on:touchstart|passive
107
+ on:touchend
108
+ on:touchcancel
109
+ on:mouseenter
110
+ on:mouseleave>
111
+ <slot />
112
+ </a>
113
+ {:else if tag === 'button'}
114
+ <button
115
+ {type}
116
+ {...$$restProps}
117
+ class={buttonClass}
118
+ on:click
119
+ on:change
120
+ on:keydown
121
+ on:keyup
122
+ on:touchstart|passive
123
+ on:touchend
124
+ on:touchcancel
125
+ on:mouseenter
126
+ on:mouseleave>
127
+ <slot />
128
+ </button>
129
+ {:else}
130
+ <svelte:element this={tag} {...$$restProps} class={buttonClass}>
131
+ <slot />
132
+ </svelte:element>
133
+ {/if}
74
134
 
75
135
  <!--
76
136
  @component
@@ -80,7 +140,9 @@ $: buttonClass = twMerge('text-center font-medium', group ? 'focus:ring-2' : 'fo
80
140
  @prop export let outline: boolean = false;
81
141
  @prop export let size: 'xs' | 'sm' | 'md' | 'lg' | 'xl' = group ? 'sm' : 'md';
82
142
  @prop export let href: string | undefined = undefined;
83
- @prop export let type: ButtonType = 'button';
143
+ @prop export let type: HTMLButtonAttributes['type'] = 'button';
84
144
  @prop export let color: ButtonColor = group ? (outline ? 'dark' : 'alternative') : 'primary';
85
145
  @prop export let shadow: boolean = false;
146
+ @prop export let tag: string = 'button';
147
+ @prop export let checked: boolean | undefined = undefined;
86
148
  -->
@@ -1,5 +1,5 @@
1
1
  import { SvelteComponent } from "svelte";
2
- import type { ButtonType } from '../types';
2
+ import type { HTMLButtonAttributes } from 'svelte/elements';
3
3
  declare const __propDef: {
4
4
  props: {
5
5
  [x: string]: any;
@@ -7,9 +7,11 @@ declare const __propDef: {
7
7
  outline?: boolean | undefined;
8
8
  size?: "xs" | "sm" | "lg" | "xl" | "md" | undefined;
9
9
  href?: string | undefined;
10
- type?: ButtonType | undefined;
10
+ type?: HTMLButtonAttributes['type'];
11
11
  color?: "red" | "yellow" | "green" | "purple" | "blue" | "light" | "dark" | "primary" | "none" | "alternative" | undefined;
12
12
  shadow?: boolean | undefined;
13
+ tag?: string | undefined;
14
+ checked?: boolean | undefined;
13
15
  };
14
16
  events: {
15
17
  click: MouseEvent;
@@ -38,9 +40,11 @@ export type ButtonSlots = typeof __propDef.slots;
38
40
  * @prop export let outline: boolean = false;
39
41
  * @prop export let size: 'xs' | 'sm' | 'md' | 'lg' | 'xl' = group ? 'sm' : 'md';
40
42
  * @prop export let href: string | undefined = undefined;
41
- * @prop export let type: ButtonType = 'button';
43
+ * @prop export let type: HTMLButtonAttributes['type'] = 'button';
42
44
  * @prop export let color: ButtonColor = group ? (outline ? 'dark' : 'alternative') : 'primary';
43
45
  * @prop export let shadow: boolean = false;
46
+ * @prop export let tag: string = 'button';
47
+ * @prop export let checked: boolean | undefined = undefined;
44
48
  */
45
49
  export default class Button extends SvelteComponent<ButtonProps, ButtonEvents, ButtonSlots> {
46
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Button.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/buttons/Button.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAEvC;AAGD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AA+F3C,QAAA,MAAM,SAAS;;;;;;eAD+L,MAAM,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;CAClJ,CAAC;AAC/E,MAAM,MAAM,WAAW,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AACjD,MAAM,MAAM,YAAY,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC;AACnD,MAAM,MAAM,WAAW,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AAEjD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,eAAe,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC;CAC1F"}
1
+ {"version":3,"file":"Button.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/buttons/Button.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAEvC;AAID,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAgK5D,QAAA,MAAM,SAAS;;;;;;eAD6N,MAAM,GAAG,SAAS;eAAS,oBAAoB,CAAC,MAAM,CAAC;;;;kBAAiE,OAAO,GAAG,SAAS;;;;;;;;;;;;;;;;;;CACzS,CAAC;AAC/E,MAAM,MAAM,WAAW,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AACjD,MAAM,MAAM,YAAY,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC;AACnD,MAAM,MAAM,WAAW,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AAEjD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,eAAe,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC;CAC1F"}
@@ -7,7 +7,7 @@ import { twMerge } from 'tailwind-merge';
7
7
  import Controls from './Controls.svelte';
8
8
  import Indicators from './Indicators.svelte';
9
9
  import Slide from './Slide.svelte';
10
- import { canChangeSlide } from './Carousel';
10
+ import { canChangeSlide } from './CarouselSlide';
11
11
  const SLIDE_DURATION_RATIO = 0.25; // TODO: Expose one day?
12
12
  export let images;
13
13
  export let index = 0;
@@ -3,4 +3,4 @@ export declare const canChangeSlide: ({ lastSlideChange, slideDuration, slideDur
3
3
  slideDuration: number;
4
4
  slideDurationRatio?: number | undefined;
5
5
  }) => boolean;
6
- //# sourceMappingURL=Carousel.d.ts.map
6
+ //# sourceMappingURL=CarouselSlide.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CarouselSlide.d.ts","sourceRoot":"","sources":["../../../../src/lib/carousel/CarouselSlide.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;qBAKR,IAAI;mBACN,MAAM;;aAStB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  <script>import { getContext } from 'svelte';
2
2
  import ControlButton from './ControlButton.svelte';
3
3
  import { twMerge } from 'tailwind-merge';
4
- import { canChangeSlide } from './Carousel';
4
+ import { canChangeSlide } from './CarouselSlide';
5
5
  const state = getContext('state');
6
6
  const { update } = state;
7
7
  function changeSlide(forward) {
@@ -1,3 +1,6 @@
1
+ <script context="module">"use strict";
2
+ </script>
3
+
1
4
  <script>import Calendar from './Calender.svelte';
2
5
  export let range = false;
3
6
  // autoHide not working
@@ -1,4 +1,15 @@
1
1
  import { SvelteComponent } from "svelte";
2
+ declare module 'svelte/elements' {
3
+ interface HTMLAttributes<T> {
4
+ [x: `data-${string}`]: any;
5
+ 'date-rangepicker'?: boolean;
6
+ datepicker?: boolean;
7
+ 'datepicker-buttons'?: boolean;
8
+ 'datepicker-format'?: string;
9
+ 'datepicker-orientation'?: string;
10
+ 'datepicker-title'?: string;
11
+ }
12
+ }
2
13
  declare const __propDef: {
3
14
  props: {
4
15
  [x: string]: any;
@@ -1 +1 @@
1
- {"version":3,"file":"Datepicker.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/datepicker/Datepicker.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAEvC;AA8DD,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;CAA+D,CAAC;AAC/E,MAAM,MAAM,eAAe,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AACrD,MAAM,MAAM,gBAAgB,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC;AACvD,MAAM,MAAM,eAAe,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AAErD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,eAAe,CAAC,eAAe,EAAE,gBAAgB,EAAE,eAAe,CAAC;CAC1G"}
1
+ {"version":3,"file":"Datepicker.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/datepicker/Datepicker.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAEvC;AACC,OAAO,QAAQ,iBAAiB,CAAC;IAC/B,UAAU,cAAc,CAAC,CAAC;QACxB,CAAC,CAAC,EAAE,QAAQ,MAAM,EAAE,GAAG,GAAG,CAAC;QAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B;CACF;AAkEH,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;CAA+D,CAAC;AAC/E,MAAM,MAAM,eAAe,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AACrD,MAAM,MAAM,gBAAgB,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC;AACvD,MAAM,MAAM,eAAe,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AAErD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,eAAe,CAAC,eAAe,EAAE,gBAAgB,EAAE,eAAe,CAAC;CAC1G"}
@@ -1,5 +1,5 @@
1
1
  <script>import { twMerge } from 'tailwind-merge';
2
- export let footerType = 'default';
2
+ export let footerType = undefined;
3
3
  let footerClass = twMerge(footerType === 'sitemap' && 'bg-gray-800', footerType === 'socialmedia' && 'p-4 bg-white sm:p-6 dark:bg-gray-800', footerType === 'logo' && 'p-4 bg-white rounded-lg shadow md:px-6 md:py-8 dark:bg-gray-800', footerType === 'default' && 'p-4 bg-white rounded-lg shadow md:flex md:items-center md:justify-between md:p-6 dark:bg-gray-800', $$props.class);
4
4
  </script>
5
5
 
@@ -11,5 +11,5 @@ let footerClass = twMerge(footerType === 'sitemap' && 'bg-gray-800', footerType
11
11
  @component
12
12
  [Go to docs](https://flowbite-svelte.com/)
13
13
  ## Props
14
- @prop export let footerType: 'sitemap' | 'default' | 'logo' | 'socialmedia' = 'default';
14
+ @prop export let footerType: 'sitemap' | 'default' | 'logo' | 'socialmedia' | undefined = undefined;
15
15
  -->
@@ -2,7 +2,7 @@ import { SvelteComponent } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
4
  [x: string]: any;
5
- footerType?: "default" | "sitemap" | "logo" | "socialmedia" | undefined;
5
+ footerType?: 'sitemap' | 'default' | 'logo' | 'socialmedia' | undefined;
6
6
  };
7
7
  events: {
8
8
  [evt: string]: CustomEvent<any>;
@@ -17,7 +17,7 @@ export type FooterSlots = typeof __propDef.slots;
17
17
  /**
18
18
  * [Go to docs](https://flowbite-svelte.com/)
19
19
  * ## Props
20
- * @prop export let footerType: 'sitemap' | 'default' | 'logo' | 'socialmedia' = 'default';
20
+ * @prop export let footerType: 'sitemap' | 'default' | 'logo' | 'socialmedia' | undefined = undefined;
21
21
  */
22
22
  export default class Footer extends SvelteComponent<FooterProps, FooterEvents, FooterSlots> {
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Footer.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/footer/Footer.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAEvC;AAmBD,QAAA,MAAM,SAAS;;;;;;;;;;;CAA+D,CAAC;AAC/E,MAAM,MAAM,WAAW,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AACjD,MAAM,MAAM,YAAY,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC;AACnD,MAAM,MAAM,WAAW,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AAEjD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,eAAe,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC;CAC1F"}
1
+ {"version":3,"file":"Footer.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/footer/Footer.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAEvC;AAmBD,QAAA,MAAM,SAAS;;;qBAD2C,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,aAAa,GAAG,SAAS;;;;;;;;CACtC,CAAC;AAC/E,MAAM,MAAM,WAAW,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AACjD,MAAM,MAAM,YAAY,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC;AACnD,MAAM,MAAM,WAAW,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AAEjD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,eAAe,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC;CAC1F"}
@@ -0,0 +1,84 @@
1
+ <script>import Button from '../buttons/Button.svelte';
2
+ import { twMerge } from 'tailwind-merge';
3
+ export let group = [];
4
+ export let value = 'on';
5
+ export let checked = undefined;
6
+ export let inline = true;
7
+ // Button properties forwarding
8
+ export let pill = false;
9
+ export let outline = false;
10
+ export let size = undefined;
11
+ export let color = undefined;
12
+ export let shadow = false;
13
+ // react on external group changes
14
+ function init(_, _group) {
15
+ if (checked === undefined)
16
+ checked = _group.includes(value);
17
+ onChange();
18
+ return {
19
+ update(_group) {
20
+ checked = _group.includes(value);
21
+ }
22
+ };
23
+ }
24
+ function onChange() {
25
+ // There's a bug in Svelte and bind:group is not working with wrapped checkbox
26
+ // This workaround is taken from:
27
+ // https://svelte.dev/repl/de117399559f4e7e9e14e2fc9ab243cc?version=3.12.1
28
+ const index = group.indexOf(value);
29
+ if (checked === undefined)
30
+ checked = index >= 0;
31
+ if (checked) {
32
+ if (index < 0) {
33
+ group.push(value);
34
+ group = group;
35
+ }
36
+ }
37
+ else {
38
+ if (index >= 0) {
39
+ group.splice(index, 1);
40
+ group = group;
41
+ }
42
+ }
43
+ }
44
+ let buttonClass;
45
+ $: buttonClass = twMerge(inline ? 'inline-flex' : 'flex', $$props.class);
46
+ </script>
47
+
48
+ <Button tag="label" {checked} {pill} {outline} {size} {color} {shadow} class={buttonClass}>
49
+ <input
50
+ use:init={group}
51
+ type="checkbox"
52
+ bind:checked
53
+ {value}
54
+ {...$$restProps}
55
+ class="sr-only"
56
+ on:keyup
57
+ on:keydown
58
+ on:keypress
59
+ on:focus
60
+ on:blur
61
+ on:click
62
+ on:mouseover
63
+ on:mouseenter
64
+ on:mouseleave
65
+ on:paste
66
+ on:change={onChange}
67
+ on:change />
68
+ <slot />
69
+ </Button>
70
+
71
+ <!--
72
+ @component
73
+ [Go to docs](https://flowbite-svelte.com/)
74
+ ## Props
75
+ @prop export let group: (string | number)[] = [];
76
+ @prop export let value: string | number = 'on';
77
+ @prop export let checked: boolean | undefined = undefined;
78
+ @prop export let inline: boolean = true;
79
+ @prop export let pill: boolean = false;
80
+ @prop export let outline: boolean = false;
81
+ @prop export let size: SizeType | undefined = undefined;
82
+ @prop export let color: ButtonColorType | undefined = undefined;
83
+ @prop export let shadow: boolean = false;
84
+ -->
@@ -0,0 +1,54 @@
1
+ import { SvelteComponent } from "svelte";
2
+ import type { ButtonColorType, SizeType } from '../types';
3
+ declare const __propDef: {
4
+ props: {
5
+ [x: string]: any;
6
+ group?: (string | number)[] | undefined;
7
+ value?: string | number | undefined;
8
+ checked?: boolean | undefined;
9
+ inline?: boolean | undefined;
10
+ pill?: boolean | undefined;
11
+ outline?: boolean | undefined;
12
+ size?: SizeType | undefined;
13
+ color?: ButtonColorType | undefined;
14
+ shadow?: boolean | undefined;
15
+ };
16
+ events: {
17
+ keyup: KeyboardEvent;
18
+ keydown: KeyboardEvent;
19
+ keypress: KeyboardEvent;
20
+ focus: FocusEvent;
21
+ blur: FocusEvent;
22
+ click: MouseEvent;
23
+ mouseover: MouseEvent;
24
+ mouseenter: MouseEvent;
25
+ mouseleave: MouseEvent;
26
+ paste: ClipboardEvent;
27
+ change: Event;
28
+ } & {
29
+ [evt: string]: CustomEvent<any>;
30
+ };
31
+ slots: {
32
+ default: {};
33
+ };
34
+ };
35
+ export type CheckboxButtonProps = typeof __propDef.props;
36
+ export type CheckboxButtonEvents = typeof __propDef.events;
37
+ export type CheckboxButtonSlots = typeof __propDef.slots;
38
+ /**
39
+ * [Go to docs](https://flowbite-svelte.com/)
40
+ * ## Props
41
+ * @prop export let group: (string | number)[] = [];
42
+ * @prop export let value: string | number = 'on';
43
+ * @prop export let checked: boolean | undefined = undefined;
44
+ * @prop export let inline: boolean = true;
45
+ * @prop export let pill: boolean = false;
46
+ * @prop export let outline: boolean = false;
47
+ * @prop export let size: SizeType | undefined = undefined;
48
+ * @prop export let color: ButtonColorType | undefined = undefined;
49
+ * @prop export let shadow: boolean = false;
50
+ */
51
+ export default class CheckboxButton extends SvelteComponent<CheckboxButtonProps, CheckboxButtonEvents, CheckboxButtonSlots> {
52
+ }
53
+ export {};
54
+ //# sourceMappingURL=CheckboxButton.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckboxButton.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/forms/CheckboxButton.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAEvC;AAED,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAkE5D,QAAA,MAAM,SAAS;;;;;kBADoN,OAAO,GAAG,SAAS;;;;eAA8D,QAAQ,GAAG,SAAS;gBAAU,eAAe,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;CAC/R,CAAC;AAC/E,MAAM,MAAM,mBAAmB,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AACzD,MAAM,MAAM,oBAAoB,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC;AAC3D,MAAM,MAAM,mBAAmB,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AAEzD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,eAAe,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,mBAAmB,CAAC;CAC1H"}
@@ -6,7 +6,6 @@ export let type = 'text';
6
6
  export let size = 'default';
7
7
  export let color = 'base';
8
8
  export let value = undefined;
9
- export let label = '';
10
9
  const divClasses = {
11
10
  filled: 'relative',
12
11
  outlined: 'relative',
@@ -66,7 +65,7 @@ const labelColorClasses = {
66
65
  <input {id} {...$$restProps} bind:value on:blur on:change on:click on:focus on:input on:keydown on:keypress on:keyup on:mouseenter on:mouseleave on:mouseover on:paste {...{ type }} placeholder=" " class={twMerge(inputClasses[style], inputColorClasses[color], inputSizes[style][size], $$props.classInput)} />
67
66
 
68
67
  <label for={id} class={twMerge(labelClasses[style], labelColorClasses[color], labelSizes[style][size], $$props.classLabel)}>
69
- {label}
68
+ <slot />
70
69
  </label>
71
70
  </div>
72
71
 
@@ -80,5 +79,4 @@ const labelColorClasses = {
80
79
  @prop export let size: 'small' | 'default' = 'default';
81
80
  @prop export let color: 'base' | 'green' | 'red' = 'base';
82
81
  @prop export let value: any = undefined;
83
- @prop export let label: string = '';
84
82
  -->
@@ -9,7 +9,6 @@ declare const __propDef: {
9
9
  size?: "default" | "small" | undefined;
10
10
  color?: "red" | "green" | "base" | undefined;
11
11
  value?: any;
12
- label?: string | undefined;
13
12
  };
14
13
  events: {
15
14
  blur: FocusEvent;
@@ -27,7 +26,9 @@ declare const __propDef: {
27
26
  } & {
28
27
  [evt: string]: CustomEvent<any>;
29
28
  };
30
- slots: {};
29
+ slots: {
30
+ default: {};
31
+ };
31
32
  };
32
33
  export type FloatingLabelInputProps = typeof __propDef.props;
33
34
  export type FloatingLabelInputEvents = typeof __propDef.events;
@@ -41,7 +42,6 @@ export type FloatingLabelInputSlots = typeof __propDef.slots;
41
42
  * @prop export let size: 'small' | 'default' = 'default';
42
43
  * @prop export let color: 'base' | 'green' | 'red' = 'base';
43
44
  * @prop export let value: any = undefined;
44
- * @prop export let label: string = '';
45
45
  */
46
46
  export default class FloatingLabelInput extends SvelteComponent<FloatingLabelInputProps, FloatingLabelInputEvents, FloatingLabelInputSlots> {
47
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FloatingLabelInput.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/forms/FloatingLabelInput.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAEvC;AAGD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAwF1C,QAAA,MAAM,SAAS;;;;;;;;gBADqP,GAAG;;;;;;;;;;;;;;;;;;;;CACzL,CAAC;AAC/E,MAAM,MAAM,uBAAuB,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AAC7D,MAAM,MAAM,wBAAwB,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC;AAC/D,MAAM,MAAM,uBAAuB,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AAE7D;;;;;;;;;;GAUG;AACH,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,eAAe,CAAC,uBAAuB,EAAE,wBAAwB,EAAE,uBAAuB,CAAC;CAC1I"}
1
+ {"version":3,"file":"FloatingLabelInput.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/forms/FloatingLabelInput.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAEvC;AAGD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAuF1C,QAAA,MAAM,SAAS;;;;;;;;gBADsO,GAAG;;;;;;;;;;;;;;;;;;;;;CAC1K,CAAC;AAC/E,MAAM,MAAM,uBAAuB,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AAC7D,MAAM,MAAM,wBAAwB,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC;AAC/D,MAAM,MAAM,uBAAuB,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AAE7D;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,eAAe,CAAC,uBAAuB,EAAE,wBAAwB,EAAE,uBAAuB,CAAC;CAC1I"}
@@ -0,0 +1,49 @@
1
+ <script>import Button from '../buttons/Button.svelte';
2
+ import { twMerge } from 'tailwind-merge';
3
+ export let group = '';
4
+ export let value = '';
5
+ export let inline = true;
6
+ // Button properties forwarding
7
+ export let pill = false;
8
+ export let outline = false;
9
+ export let size = undefined;
10
+ export let color = undefined;
11
+ export let shadow = false;
12
+ let buttonClass;
13
+ $: buttonClass = twMerge(inline ? 'inline-flex' : 'flex', $$props.class);
14
+ </script>
15
+
16
+ <Button tag="label" checked={value === group} {pill} {outline} {size} {color} {shadow} class={buttonClass}>
17
+ <input
18
+ type="radio"
19
+ bind:group
20
+ {value}
21
+ {...$$restProps}
22
+ class="sr-only"
23
+ on:keyup
24
+ on:keydown
25
+ on:keypress
26
+ on:focus
27
+ on:blur
28
+ on:click
29
+ on:mouseover
30
+ on:mouseenter
31
+ on:mouseleave
32
+ on:paste
33
+ on:change />
34
+ <slot />
35
+ </Button>
36
+
37
+ <!--
38
+ @component
39
+ [Go to docs](https://flowbite-svelte.com/)
40
+ ## Props
41
+ @prop export let group: string | number = '';
42
+ @prop export let value: string | number = '';
43
+ @prop export let inline: boolean = true;
44
+ @prop export let pill: boolean = false;
45
+ @prop export let outline: boolean = false;
46
+ @prop export let size: SizeType | undefined = undefined;
47
+ @prop export let color: ButtonColorType | undefined = undefined;
48
+ @prop export let shadow: boolean = false;
49
+ -->
@@ -0,0 +1,52 @@
1
+ import { SvelteComponent } from "svelte";
2
+ import type { ButtonColorType, SizeType } from '../types';
3
+ declare const __propDef: {
4
+ props: {
5
+ [x: string]: any;
6
+ group?: string | number | undefined;
7
+ value?: string | number | undefined;
8
+ inline?: boolean | undefined;
9
+ pill?: boolean | undefined;
10
+ outline?: boolean | undefined;
11
+ size?: SizeType | undefined;
12
+ color?: ButtonColorType | undefined;
13
+ shadow?: boolean | undefined;
14
+ };
15
+ events: {
16
+ keyup: KeyboardEvent;
17
+ keydown: KeyboardEvent;
18
+ keypress: KeyboardEvent;
19
+ focus: FocusEvent;
20
+ blur: FocusEvent;
21
+ click: MouseEvent;
22
+ mouseover: MouseEvent;
23
+ mouseenter: MouseEvent;
24
+ mouseleave: MouseEvent;
25
+ paste: ClipboardEvent;
26
+ change: Event;
27
+ } & {
28
+ [evt: string]: CustomEvent<any>;
29
+ };
30
+ slots: {
31
+ default: {};
32
+ };
33
+ };
34
+ export type RadioButtonProps = typeof __propDef.props;
35
+ export type RadioButtonEvents = typeof __propDef.events;
36
+ export type RadioButtonSlots = typeof __propDef.slots;
37
+ /**
38
+ * [Go to docs](https://flowbite-svelte.com/)
39
+ * ## Props
40
+ * @prop export let group: string | number = '';
41
+ * @prop export let value: string | number = '';
42
+ * @prop export let inline: boolean = true;
43
+ * @prop export let pill: boolean = false;
44
+ * @prop export let outline: boolean = false;
45
+ * @prop export let size: SizeType | undefined = undefined;
46
+ * @prop export let color: ButtonColorType | undefined = undefined;
47
+ * @prop export let shadow: boolean = false;
48
+ */
49
+ export default class RadioButton extends SvelteComponent<RadioButtonProps, RadioButtonEvents, RadioButtonSlots> {
50
+ }
51
+ export {};
52
+ //# sourceMappingURL=RadioButton.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioButton.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/forms/RadioButton.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAEvC;AAED,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAgC5D,QAAA,MAAM,SAAS;;;;;;;;eAD+O,QAAQ,GAAG,SAAS;gBAAU,eAAe,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;CACzO,CAAC;AAC/E,MAAM,MAAM,gBAAgB,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AACtD,MAAM,MAAM,iBAAiB,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC;AACxD,MAAM,MAAM,gBAAgB,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AAEtD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,eAAe,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,CAAC;CAC9G"}
package/dist/index.d.ts CHANGED
@@ -32,6 +32,7 @@ export { default as FooterIcon } from "./footer/FooterIcon.svelte";
32
32
  export { default as FooterLink } from "./footer/FooterLink.svelte";
33
33
  export { default as FooterLinkGroup } from "./footer/FooterLinkGroup.svelte";
34
34
  export { default as Checkbox } from "./forms/Checkbox.svelte";
35
+ export { default as CheckboxButton } from "./forms/CheckboxButton.svelte";
35
36
  export { default as Dropzone } from "./forms/Dropzone.svelte";
36
37
  export { default as Fileupload } from "./forms/Fileupload.svelte";
37
38
  export { default as FloatingLabelInput } from "./forms/FloatingLabelInput.svelte";
@@ -42,6 +43,7 @@ export { default as Label } from "./forms/Label.svelte";
42
43
  export { default as MultiSelect } from "./forms/MultiSelect.svelte";
43
44
  export { default as NumberInput } from "./forms/NumberInput.svelte";
44
45
  export { default as Radio } from "./forms/Radio.svelte";
46
+ export { default as RadioButton } from "./forms/RadioButton.svelte";
45
47
  export { default as Range } from "./forms/Range.svelte";
46
48
  export { default as Search } from "./forms/Search.svelte";
47
49
  export { default as Select } from "./forms/Select.svelte";
package/dist/index.js CHANGED
@@ -69,6 +69,7 @@ export { default as FooterLinkGroup } from './footer/FooterLinkGroup.svelte';
69
69
 
70
70
  // Forms
71
71
  export { default as Checkbox } from './forms/Checkbox.svelte';
72
+ export { default as CheckboxButton } from './forms/CheckboxButton.svelte';
72
73
  export { default as Dropzone } from './forms/Dropzone.svelte';
73
74
  export { default as Fileupload } from './forms/Fileupload.svelte';
74
75
  export { default as FloatingLabelInput } from './forms/FloatingLabelInput.svelte';
@@ -79,6 +80,7 @@ export { default as Label } from './forms/Label.svelte';
79
80
  export { default as MultiSelect } from './forms/MultiSelect.svelte';
80
81
  export { default as NumberInput } from './forms/NumberInput.svelte';
81
82
  export { default as Radio } from './forms/Radio.svelte';
83
+ export { default as RadioButton } from './forms/RadioButton.svelte';
82
84
  export { default as Range } from './forms/Range.svelte';
83
85
  export { default as Search } from './forms/Search.svelte';
84
86
  export { default as Select } from './forms/Select.svelte';
@@ -67,6 +67,6 @@ $: dotClass = twMerge('flex-shrink-0', rounded ? 'rounded' : 'rounded-full', bor
67
67
  @prop export let rounded: boolean = false;
68
68
  @prop export let size: 'xs' | 'sm' | 'md' | 'lg' | 'xl' = 'md';
69
69
  @prop export let border: boolean = false;
70
- @prop export let placement: PlacementType | undefined = undefined;
70
+ @prop export let placement: IndicatorPlacementType | undefined = undefined;
71
71
  @prop export let offset: boolean = true;
72
72
  -->
@@ -1,5 +1,5 @@
1
1
  import { SvelteComponent } from "svelte";
2
- import type { PlacementType } from '../types';
2
+ import type { IndicatorPlacementType } from '../types';
3
3
  declare const __propDef: {
4
4
  props: {
5
5
  [x: string]: any;
@@ -7,7 +7,7 @@ declare const __propDef: {
7
7
  rounded?: boolean | undefined;
8
8
  size?: "xs" | "sm" | "lg" | "xl" | "md" | undefined;
9
9
  border?: boolean | undefined;
10
- placement?: PlacementType | undefined;
10
+ placement?: IndicatorPlacementType | undefined;
11
11
  offset?: boolean | undefined;
12
12
  };
13
13
  events: {
@@ -27,7 +27,7 @@ export type IndicatorSlots = typeof __propDef.slots;
27
27
  * @prop export let rounded: boolean = false;
28
28
  * @prop export let size: 'xs' | 'sm' | 'md' | 'lg' | 'xl' = 'md';
29
29
  * @prop export let border: boolean = false;
30
- * @prop export let placement: PlacementType | undefined = undefined;
30
+ * @prop export let placement: IndicatorPlacementType | undefined = undefined;
31
31
  * @prop export let offset: boolean = true;
32
32
  */
33
33
  export default class Indicator extends SvelteComponent<IndicatorProps, IndicatorEvents, IndicatorSlots> {
@@ -1 +1 @@
1
- {"version":3,"file":"Indicator.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/indicators/Indicator.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAEvC;AAED,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAiF9C,QAAA,MAAM,SAAS;;;;;;;oBADmO,aAAa,GAAG,SAAS;;;;;;;;;CAC7L,CAAC;AAC/E,MAAM,MAAM,cAAc,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AACpD,MAAM,MAAM,eAAe,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC;AACtD,MAAM,MAAM,cAAc,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AAEpD;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,eAAe,CAAC,cAAc,EAAE,eAAe,EAAE,cAAc,CAAC;CACtG"}
1
+ {"version":3,"file":"Indicator.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/indicators/Indicator.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAEvC;AACD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAkFzD,QAAA,MAAM,SAAS;;;;;;;oBADmO,sBAAsB,GAAG,SAAS;;;;;;;;;CACtM,CAAC;AAC/E,MAAM,MAAM,cAAc,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AACpD,MAAM,MAAM,eAAe,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC;AACtD,MAAM,MAAM,cAAc,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AAEpD;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,eAAe,CAAC,cAAc,EAAE,eAAe,EAAE,cAAc,CAAC;CACtG"}
@@ -74,7 +74,7 @@ const hide = (e) => {
74
74
  open = false;
75
75
  };
76
76
  let frameClass;
77
- $: frameClass = twMerge(defaultClass, 'w-full', $$props.class);
77
+ $: frameClass = twMerge(defaultClass, 'w-full divide-y', $$props.class);
78
78
  const isScrollable = (e) => [e.scrollWidth > e.clientWidth && ['scroll', 'auto'].indexOf(getComputedStyle(e).overflowX) >= 0, e.scrollHeight > e.clientHeight && ['scroll', 'auto'].indexOf(getComputedStyle(e).overflowY) >= 0];
79
79
  let backdropCls = twMerge(backdropClass, $$props.classBackdrop);
80
80
  function handleKeys(e) {
@@ -94,7 +94,7 @@ function handleKeys(e) {
94
94
  <Frame rounded shadow {...$$restProps} class={frameClass}>
95
95
  <!-- Modal header -->
96
96
  {#if $$slots.header || title}
97
- <Frame color={$$restProps.color} class="flex justify-between items-center p-4 rounded-t border-b">
97
+ <Frame color={$$restProps.color} class="flex justify-between items-center p-4 rounded-t">
98
98
  <slot name="header">
99
99
  <h3 class="text-xl font-semibold {$$restProps.color ? '' : 'text-gray-900 dark:text-white'} p-0">
100
100
  {title}
@@ -111,7 +111,7 @@ function handleKeys(e) {
111
111
  </div>
112
112
  <!-- Modal footer -->
113
113
  {#if $$slots.footer}
114
- <Frame color={$$restProps.color} class="flex items-center p-6 space-x-2 rounded-b border-t">
114
+ <Frame color={$$restProps.color} class="flex items-center p-6 space-x-2 rounded-b">
115
115
  <slot name="footer" />
116
116
  </Frame>
117
117
  {/if}
@@ -1,5 +1,6 @@
1
1
  import { SvelteComponent } from "svelte";
2
2
  import type { Dismissable, SizeType } from '../types';
3
+ import type { ModalPlacementType } from '../types';
3
4
  declare const __propDef: {
4
5
  props: import("svelte/elements").HTMLAnchorAttributes & {
5
6
  tag?: string | undefined;
@@ -18,11 +19,15 @@ declare const __propDef: {
18
19
  open?: boolean | undefined;
19
20
  title?: string | undefined;
20
21
  size?: SizeType | undefined;
21
- placement?: "top-left" | "top-center" | "top-right" | "center-left" | "center" | "center-right" | "bottom-left" | "bottom-center" | "bottom-right" | undefined;
22
+ placement?: ModalPlacementType | undefined;
22
23
  autoclose?: boolean | undefined;
23
24
  backdropClass?: string | undefined;
25
+ bodyClass?: string | undefined;
26
+ classBackdrop?: string | undefined;
27
+ classDialog?: string | undefined;
24
28
  defaultClass?: string | undefined;
25
29
  outsideclose?: boolean | undefined;
30
+ dialogClass?: string | undefined;
26
31
  };
27
32
  events: {
28
33
  wheel: WheelEvent;
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/modal/Modal.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAEvC;AAMD,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AA0JxD,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAwC,CAAC;AACxD,MAAM,MAAM,UAAU,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AAChD,MAAM,MAAM,WAAW,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC;AAClD,MAAM,MAAM,UAAU,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AAEhD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,eAAe,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC;CACtF"}
1
+ {"version":3,"file":"Modal.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/modal/Modal.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAEvC;AAMD,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AA8JnD,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAwC,CAAC;AACxD,MAAM,MAAM,UAAU,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AAChD,MAAM,MAAM,WAAW,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC;AAClD,MAAM,MAAM,UAAU,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AAEhD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,eAAe,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC;CACtF"}
@@ -4,12 +4,13 @@ import { twMerge } from 'tailwind-merge';
4
4
  import ToolbarButton from '../toolbar/ToolbarButton.svelte';
5
5
  import Menu from './Menu.svelte';
6
6
  export let menuClass = 'h-6 w-6 shrink-0';
7
+ export let onClick = undefined;
7
8
  let btnClass = 'ml-3 md:hidden';
8
9
  let hiddenStore = getContext('navHidden') ?? writable(true);
9
10
  const toggle = (ev) => hiddenStore.update((h) => !h);
10
11
  </script>
11
12
 
12
- <ToolbarButton name="Open main menu" on:click={toggle} {...$$restProps} class={twMerge(btnClass, $$props.class)}>
13
+ <ToolbarButton name="Open main menu" on:click={onClick || toggle} {...$$restProps} class={twMerge(btnClass, $$props.class)}>
13
14
  <Menu class={twMerge(menuClass, $$props.classMenu)} />
14
15
  </ToolbarButton>
15
16
 
@@ -18,4 +19,5 @@ const toggle = (ev) => hiddenStore.update((h) => !h);
18
19
  [Go to docs](https://flowbite-svelte.com/)
19
20
  ## Props
20
21
  @prop export let menuClass: string = 'h-6 w-6 shrink-0';
22
+ @prop export let onClick: (() => void) | undefined = undefined;
21
23
  -->
@@ -3,6 +3,7 @@ declare const __propDef: {
3
3
  props: {
4
4
  [x: string]: any;
5
5
  menuClass?: string | undefined;
6
+ onClick?: (() => void) | undefined;
6
7
  };
7
8
  events: {
8
9
  [evt: string]: CustomEvent<any>;
@@ -16,6 +17,7 @@ export type NavHamburgerSlots = typeof __propDef.slots;
16
17
  * [Go to docs](https://flowbite-svelte.com/)
17
18
  * ## Props
18
19
  * @prop export let menuClass: string = 'h-6 w-6 shrink-0';
20
+ * @prop export let onClick: (() => void) | undefined = undefined;
19
21
  */
20
22
  export default class NavHamburger extends SvelteComponent<NavHamburgerProps, NavHamburgerEvents, NavHamburgerSlots> {
21
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NavHamburger.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/navbar/NavHamburger.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAEvC;AA8BD,QAAA,MAAM,SAAS;;;;;;;;;CAA+D,CAAC;AAC/E,MAAM,MAAM,iBAAiB,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AACvD,MAAM,MAAM,kBAAkB,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC;AACzD,MAAM,MAAM,iBAAiB,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AAEvD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,eAAe,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,CAAC;CAClH"}
1
+ {"version":3,"file":"NavHamburger.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/navbar/NavHamburger.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAEvC;AA+BD,QAAA,MAAM,SAAS;;;;kBAD6E,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;;;;;;CACtC,CAAC;AAC/E,MAAM,MAAM,iBAAiB,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AACvD,MAAM,MAAM,kBAAkB,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC;AACzD,MAAM,MAAM,iBAAiB,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,eAAe,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,CAAC;CAClH"}
@@ -7,7 +7,7 @@ setContext('toolbar', separators);
7
7
  export let color = 'dark';
8
8
  export let embedded = false;
9
9
  let divClass;
10
- $: divClass = twMerge('flex justify-between items-center', embedded || 'p-2', $$props.class);
10
+ $: divClass = twMerge('flex justify-between items-center', embedded && 'p-2', $$props.class);
11
11
  const divideColors = {
12
12
  gray: 'divide-gray-400 dark:divide-gray-700',
13
13
  red: 'divide-red-400 dark:divide-red-700',
@@ -1 +1 @@
1
- {"version":3,"file":"focusTrap.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/focusTrap.js"],"names":[],"mappings":";AA0Cw1rC,oJAAsM"}
1
+ {"version":3,"file":"focusTrap.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/focusTrap.js"],"names":[],"mappings":";AA0Cu1rC,oJAAsM"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flowbite-svelte",
3
- "version": "0.44.18",
3
+ "version": "0.44.19",
4
4
  "description": "Flowbite components for Svelte",
5
5
  "main": "dist/index.js",
6
6
  "author": {
@@ -33,38 +33,38 @@
33
33
  },
34
34
  "devDependencies": {
35
35
  "@docsearch/js": "^3.5.2",
36
- "@playwright/test": "^1.38.1",
36
+ "@playwright/test": "^1.39.0",
37
37
  "@sveltejs/adapter-vercel": "^3.0.3",
38
- "@sveltejs/kit": "^1.25.1",
38
+ "@sveltejs/kit": "^1.27.2",
39
39
  "@sveltejs/package": "2.2.2",
40
- "@typescript-eslint/eslint-plugin": "^6.7.3",
41
- "@typescript-eslint/parser": "^6.7.3",
40
+ "@typescript-eslint/eslint-plugin": "^6.9.1",
41
+ "@typescript-eslint/parser": "^6.9.1",
42
42
  "autoprefixer": "^10.4.16",
43
- "esbuild": "0.19.4",
44
- "eslint": "^8.50.0",
43
+ "esbuild": "0.19.5",
44
+ "eslint": "^8.52.0",
45
45
  "eslint-config-prettier": "^9.0.0",
46
- "eslint-plugin-svelte": "^2.33.2",
47
- "flowbite-svelte-icons": "^0.4.4",
46
+ "eslint-plugin-svelte": "^2.34.0",
47
+ "flowbite-svelte-icons": "^0.4.5",
48
48
  "mdsvex": "^0.11.0",
49
49
  "mdsvexamples": "^0.4.1",
50
- "postcss": "^8.4.30",
50
+ "postcss": "^8.4.31",
51
51
  "postcss-load-config": "^4.0.1",
52
52
  "prettier": "^3.0.3",
53
53
  "prettier-plugin-svelte": "^3.0.3",
54
54
  "prism-themes": "^1.9.0",
55
- "publint": "^0.2.2",
56
- "svelte": "^4.2.1",
55
+ "publint": "^0.2.5",
56
+ "svelte": "^4.2.2",
57
57
  "svelte-check": "^3.5.2",
58
58
  "svelte-lib-helpers": "^0.3.15",
59
59
  "svelte-meta-tags": "^3.0.4",
60
60
  "svelte-preprocess": "^5.0.4",
61
- "svelte2tsx": "^0.6.22",
61
+ "svelte2tsx": "^0.6.23",
62
62
  "tailwind-merge": "^1.13.1",
63
- "tailwindcss": "^3.3.3",
63
+ "tailwindcss": "^3.3.5",
64
64
  "tslib": "^2.6.2",
65
65
  "typescript": "^5.2.2",
66
- "vite": "^4.4.9",
67
- "vitest": "^0.34.5"
66
+ "vite": "^4.5.0",
67
+ "vitest": "^0.34.6"
68
68
  },
69
69
  "peerDependencies": {
70
70
  "svelte": "^4.0.0"
@@ -114,13 +114,13 @@
114
114
  },
115
115
  "dependencies": {
116
116
  "@floating-ui/dom": "^1.5.3",
117
- "apexcharts": "^3.42.0",
118
- "flowbite": "^1.8.1",
119
- "tailwind-merge": "^1.14.0"
117
+ "apexcharts": "^3.44.0",
118
+ "flowbite": "^2.0.0",
119
+ "tailwind-merge": "^2.0.0"
120
120
  },
121
121
  "engines": {
122
122
  "npm": ">=7.0.0",
123
- "node": ">=16.0.0"
123
+ "node": ">=18.0.0"
124
124
  },
125
125
  "files": [
126
126
  "dist",
@@ -326,6 +326,10 @@
326
326
  "types": "./dist/forms/Checkbox.svelte.d.ts",
327
327
  "svelte": "./dist/forms/Checkbox.svelte"
328
328
  },
329
+ "./CheckboxButton.svelte": {
330
+ "types": "./dist/forms/CheckboxButton.svelte.d.ts",
331
+ "svelte": "./dist/forms/CheckboxButton.svelte"
332
+ },
329
333
  "./Dropzone.svelte": {
330
334
  "types": "./dist/forms/Dropzone.svelte.d.ts",
331
335
  "svelte": "./dist/forms/Dropzone.svelte"
@@ -366,6 +370,10 @@
366
370
  "types": "./dist/forms/Radio.svelte.d.ts",
367
371
  "svelte": "./dist/forms/Radio.svelte"
368
372
  },
373
+ "./RadioButton.svelte": {
374
+ "types": "./dist/forms/RadioButton.svelte.d.ts",
375
+ "svelte": "./dist/forms/RadioButton.svelte"
376
+ },
369
377
  "./Range.svelte": {
370
378
  "types": "./dist/forms/Range.svelte.d.ts",
371
379
  "svelte": "./dist/forms/Range.svelte"
@@ -1 +0,0 @@
1
- {"version":3,"file":"Carousel.d.ts","sourceRoot":"","sources":["../../../../src/lib/carousel/Carousel.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;qBAKR,IAAI;mBACN,MAAM;;aAStB,CAAC"}
File without changes