flowbite-svelte 0.47.1 → 0.47.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.
Files changed (91) hide show
  1. package/dist/accordion/Accordion.svelte +6 -2
  2. package/dist/accordion/Accordion.svelte.d.ts +2 -0
  3. package/dist/banner/Banner.svelte +6 -2
  4. package/dist/banner/Banner.svelte.d.ts +6 -1
  5. package/dist/bottom-navigation/BottomNav.svelte +9 -3
  6. package/dist/bottom-navigation/BottomNav.svelte.d.ts +6 -0
  7. package/dist/bottom-navigation/BottomNavHeader.svelte +6 -2
  8. package/dist/bottom-navigation/BottomNavHeader.svelte.d.ts +4 -0
  9. package/dist/breadcrumb/Breadcrumb.svelte +3 -1
  10. package/dist/breadcrumb/Breadcrumb.svelte.d.ts +2 -0
  11. package/dist/breadcrumb/BreadcrumbItem.svelte +9 -3
  12. package/dist/breadcrumb/BreadcrumbItem.svelte.d.ts +6 -0
  13. package/dist/buttons/Button.svelte +4 -0
  14. package/dist/buttons/Button.svelte.d.ts +2 -2
  15. package/dist/carousel/Carousel.svelte.d.ts +2 -1
  16. package/dist/carousel/Slide.svelte.d.ts +2 -1
  17. package/dist/carousel/Thumbnails.svelte +0 -1
  18. package/dist/datepicker/Datepicker.svelte +11 -7
  19. package/dist/device-mockups/Android.svelte +18 -6
  20. package/dist/device-mockups/Android.svelte.d.ts +12 -0
  21. package/dist/device-mockups/DefaultMockup.svelte +15 -5
  22. package/dist/device-mockups/DefaultMockup.svelte.d.ts +10 -0
  23. package/dist/device-mockups/Desktop.svelte +9 -3
  24. package/dist/device-mockups/Desktop.svelte.d.ts +6 -0
  25. package/dist/device-mockups/Ios.svelte +15 -5
  26. package/dist/device-mockups/Ios.svelte.d.ts +10 -0
  27. package/dist/device-mockups/Laptop.svelte +9 -3
  28. package/dist/device-mockups/Laptop.svelte.d.ts +6 -0
  29. package/dist/device-mockups/Smartwatch.svelte +15 -5
  30. package/dist/device-mockups/Smartwatch.svelte.d.ts +10 -0
  31. package/dist/device-mockups/Tablet.svelte +15 -5
  32. package/dist/device-mockups/Tablet.svelte.d.ts +10 -0
  33. package/dist/footer/FooterBrand.svelte +9 -3
  34. package/dist/footer/FooterBrand.svelte.d.ts +6 -0
  35. package/dist/footer/FooterCopyright.svelte +6 -2
  36. package/dist/footer/FooterCopyright.svelte.d.ts +5 -1
  37. package/dist/footer/FooterLink.svelte +6 -2
  38. package/dist/footer/FooterLink.svelte.d.ts +4 -0
  39. package/dist/forms/CheckboxButton.svelte.d.ts +2 -2
  40. package/dist/forms/Fileupload.svelte +34 -3
  41. package/dist/forms/Fileupload.svelte.d.ts +6 -0
  42. package/dist/forms/FloatingLabelInput.svelte +9 -3
  43. package/dist/forms/FloatingLabelInput.svelte.d.ts +7 -1
  44. package/dist/forms/Input.svelte +7 -3
  45. package/dist/forms/Input.svelte.d.ts +4 -0
  46. package/dist/forms/Label.svelte +0 -1
  47. package/dist/forms/MultiSelect.svelte +0 -2
  48. package/dist/forms/NumberInput.svelte.d.ts +2 -0
  49. package/dist/forms/Radio.svelte +1 -1
  50. package/dist/forms/RadioButton.svelte +1 -1
  51. package/dist/forms/Search.svelte.d.ts +2 -0
  52. package/dist/forms/Textarea.svelte.d.ts +1 -1
  53. package/dist/forms/Toggle.svelte +8 -2
  54. package/dist/forms/Toggle.svelte.d.ts +4 -0
  55. package/dist/mega-menu/MegaMenu.svelte +1 -1
  56. package/dist/navbar/NavHamburger.svelte +3 -1
  57. package/dist/navbar/NavHamburger.svelte.d.ts +2 -0
  58. package/dist/navbar/NavUl.svelte +3 -5
  59. package/dist/navbar/NavUl.svelte.d.ts +1 -0
  60. package/dist/navbar/Navbar.svelte +3 -1
  61. package/dist/navbar/Navbar.svelte.d.ts +1 -0
  62. package/dist/pagination/PaginationItem.svelte +0 -1
  63. package/dist/progress/Progressbar.svelte +3 -1
  64. package/dist/progress/Progressbar.svelte.d.ts +2 -0
  65. package/dist/rating/AdvancedRating.svelte +15 -5
  66. package/dist/rating/AdvancedRating.svelte.d.ts +17 -8
  67. package/dist/rating/Review.svelte +17 -7
  68. package/dist/rating/Review.svelte.d.ts +10 -0
  69. package/dist/sidebar/SidebarDropdownWrapper.svelte +1 -1
  70. package/dist/sidebar/SidebarDropdownWrapper.svelte.d.ts +2 -0
  71. package/dist/speed-dial/SpeedDial.svelte.d.ts +2 -2
  72. package/dist/speed-dial/SpeedDialButton.svelte.d.ts +2 -2
  73. package/dist/steps/StepIndicator.svelte +11 -9
  74. package/dist/steps/StepIndicator.svelte.d.ts +14 -14
  75. package/dist/table/Table.svelte +6 -2
  76. package/dist/table/Table.svelte.d.ts +4 -0
  77. package/dist/table/TableSearch.svelte +6 -2
  78. package/dist/table/TableSearch.svelte.d.ts +4 -0
  79. package/dist/timeline/ActivityItem.svelte +24 -8
  80. package/dist/timeline/ActivityItem.svelte.d.ts +16 -0
  81. package/dist/timeline/Group.svelte +9 -3
  82. package/dist/timeline/Group.svelte.d.ts +6 -0
  83. package/dist/timeline/GroupItem.svelte +15 -5
  84. package/dist/timeline/GroupItem.svelte.d.ts +10 -0
  85. package/dist/timeline/TimelineItem.svelte +12 -4
  86. package/dist/timeline/TimelineItem.svelte.d.ts +8 -0
  87. package/dist/types.d.ts +2 -0
  88. package/dist/typography/Hr.svelte +9 -3
  89. package/dist/typography/Hr.svelte.d.ts +6 -0
  90. package/dist/utils/backdrop.js +1 -10
  91. package/package.json +14 -14
@@ -6,6 +6,8 @@ export let group = [];
6
6
  export let value = "";
7
7
  export let checked = void 0;
8
8
  export let customSize = "";
9
+ export let classDiv = "";
10
+ export let disabled = false;
9
11
  let background = getContext("background");
10
12
  const common = "me-3 shrink-0 bg-gray-200 rounded-full peer-focus:ring-4 peer-checked:after:translate-x-full rtl:peer-checked:after:-translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:bg-white after:border-gray-300 after:border after:rounded-full after:transition-all";
11
13
  const colors = {
@@ -26,10 +28,12 @@ const sizes = {
26
28
  custom: customSize
27
29
  };
28
30
  let divClass;
29
- $: divClass = twMerge(common, $$slots.offLabel ? "ms-3" : "", background ? "dark:bg-gray-600 dark:border-gray-500" : "dark:bg-gray-700 dark:border-gray-600", colors[$$restProps.color ?? "primary"], sizes[size], "relative", $$props.classDiv);
31
+ $: divClass = twMerge(common, $$slots.offLabel ? "ms-3" : "", background ? "dark:bg-gray-600 dark:border-gray-500" : "dark:bg-gray-700 dark:border-gray-600", colors[$$restProps.color ?? "primary"], sizes[size], "relative", classDiv);
32
+ let checkboxCls;
33
+ $: checkboxCls = disabled ? "cursor-not-allowed grayscale contrast-50 text-gray-400" : "cursor-pointer text-gray-900";
30
34
  </script>
31
35
 
32
- <Checkbox custom {...$$restProps} class={$$props.class} {value} bind:checked bind:group on:click on:change>
36
+ <Checkbox custom {...$$restProps} {disabled} class={twMerge(checkboxCls, $$props.class)} {value} bind:checked bind:group on:click on:change>
33
37
  <slot name="offLabel"></slot>
34
38
  <span class={divClass}></span>
35
39
  <slot></slot>
@@ -44,4 +48,6 @@ $: divClass = twMerge(common, $$slots.offLabel ? "ms-3" : "", background ? "dark
44
48
  @prop export let value: $$Props['value'] = '';
45
49
  @prop export let checked: $$Props['checked'] = undefined;
46
50
  @prop export let customSize: $$Props['customSize'] = '';
51
+ @prop export let classDiv: string = '';
52
+ @prop export let disabled: $$Props['disabled'] = false;
47
53
  -->
@@ -20,6 +20,8 @@ declare const __propDef: {
20
20
  value?: string | number;
21
21
  checked?: boolean;
22
22
  customSize?: string;
23
+ classDiv?: string;
24
+ disabled?: boolean;
23
25
  };
24
26
  events: {
25
27
  click: MouseEvent;
@@ -43,6 +45,8 @@ export type ToggleSlots = typeof __propDef.slots;
43
45
  * @prop export let value: $$Props['value'] = '';
44
46
  * @prop export let checked: $$Props['checked'] = undefined;
45
47
  * @prop export let customSize: $$Props['customSize'] = '';
48
+ * @prop export let classDiv: string = '';
49
+ * @prop export let disabled: $$Props['disabled'] = false;
46
50
  */
47
51
  export default class Toggle extends SvelteComponentTyped<ToggleProps, ToggleEvents, ToggleSlots> {
48
52
  }
@@ -5,7 +5,7 @@ export let full = false;
5
5
  export let open = false;
6
6
  export let ulClass = "grid grid-flow-row gap-y-4 md:gap-x-0 auto-col-max auto-row-max";
7
7
  let wrapperClass;
8
- $: wrapperClass = twMerge(full && "border-y w-full", $$props.class);
8
+ $: wrapperClass = twMerge(full && "border-y w-full !ml-0", $$props.class);
9
9
  let ulCls;
10
10
  $: ulCls = twMerge(ulClass, full && $$slots.extra ? "grid-cols-2" : "grid-cols-2 md:grid-cols-3", "text-sm font-medium", full && $$slots.extra && "md:w-2/3", $$props.classUl);
11
11
  </script>
@@ -5,13 +5,14 @@ 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
7
  export let onClick = void 0;
8
+ export let classMenu = "";
8
9
  let btnClass = "ms-3 md:hidden";
9
10
  let hiddenStore = getContext("navHidden") ?? writable(true);
10
11
  const toggle = (ev) => hiddenStore.update((h) => !h);
11
12
  </script>
12
13
 
13
14
  <ToolbarButton name="Open main menu" on:click={onClick || toggle} {...$$restProps} class={twMerge(btnClass, $$props.class)}>
14
- <Menu class={twMerge(menuClass, $$props.classMenu)} />
15
+ <Menu class={twMerge(menuClass, classMenu)} />
15
16
  </ToolbarButton>
16
17
 
17
18
  <!--
@@ -20,4 +21,5 @@ const toggle = (ev) => hiddenStore.update((h) => !h);
20
21
  ## Props
21
22
  @prop export let menuClass: $$Props['menuClass'] = 'h-6 w-6 shrink-0';
22
23
  @prop export let onClick: $$Props['onClick'] = undefined;
24
+ @prop export let classMenu: $$Props['classMenu'] = '';
23
25
  -->
@@ -15,6 +15,7 @@ declare const __propDef: {
15
15
  } & import("svelte/elements").HTMLButtonAttributes)) & {
16
16
  menuClass?: string;
17
17
  onClick?: (() => void) | undefined;
18
+ classMenu?: string;
18
19
  };
19
20
  events: {
20
21
  [evt: string]: CustomEvent<any>;
@@ -29,6 +30,7 @@ export type NavHamburgerSlots = typeof __propDef.slots;
29
30
  * ## Props
30
31
  * @prop export let menuClass: $$Props['menuClass'] = 'h-6 w-6 shrink-0';
31
32
  * @prop export let onClick: $$Props['onClick'] = undefined;
33
+ * @prop export let classMenu: $$Props['classMenu'] = '';
32
34
  */
33
35
  export default class NavHamburger extends SvelteComponentTyped<NavHamburgerProps, NavHamburgerEvents, NavHamburgerSlots> {
34
36
  }
@@ -13,6 +13,7 @@ export let hidden = void 0;
13
13
  export let slideParams = { delay: 250, duration: 500, easing: sineIn };
14
14
  export let activeClass = "text-white bg-primary-700 md:bg-transparent md:text-primary-700 md:dark:text-white dark:bg-primary-600 md:dark:bg-transparent";
15
15
  export let nonActiveClass = "text-gray-700 hover:bg-gray-100 md:hover:bg-transparent md:border-0 md:hover:text-primary-700 dark:text-gray-400 md:dark:hover:text-white dark:hover:bg-gray-700 dark:hover:text-white md:dark:hover:bg-transparent";
16
+ export let classUl = "";
16
17
  const activeUrlStore = writable("");
17
18
  setContext("navbarContext", { activeClass, nonActiveClass });
18
19
  $: {
@@ -25,11 +26,7 @@ $: _hidden = hidden ?? $hiddenStore ?? true;
25
26
  let _divClass;
26
27
  $: _divClass = twMerge(divClass, $$props.class);
27
28
  let _ulClass;
28
- $: _ulClass = twMerge(
29
- ulClass,
30
- // 'divide-y md:divide-y-0 divide-gray-100 dark:divide-gray-700',
31
- $$props.classUl
32
- );
29
+ $: _ulClass = twMerge(ulClass, classUl);
33
30
  </script>
34
31
 
35
32
  {#if !_hidden}
@@ -57,4 +54,5 @@ $: _ulClass = twMerge(
57
54
  @prop export let slideParams: $$Props['slideParams'] = { delay: 250, duration: 500, easing: sineIn };
58
55
  @prop export let activeClass: NonNullable<$$Props['activeClass']> = 'text-white bg-primary-700 md:bg-transparent md:text-primary-700 md:dark:text-white dark:bg-primary-600 md:dark:bg-transparent';
59
56
  @prop export let nonActiveClass: NonNullable<$$Props['nonActiveClass']> = 'text-gray-700 hover:bg-gray-100 md:hover:bg-transparent md:border-0 md:hover:text-primary-700 dark:text-gray-400 md:dark:hover:text-white dark:hover:bg-gray-700 dark:hover:text-white md:dark:hover:bg-transparent';
57
+ @prop export let classUl: string = '';
60
58
  -->
@@ -37,6 +37,7 @@ export type NavUlSlots = typeof __propDef.slots;
37
37
  * @prop export let slideParams: $$Props['slideParams'] = { delay: 250, duration: 500, easing: sineIn };
38
38
  * @prop export let activeClass: NonNullable<$$Props['activeClass']> = 'text-white bg-primary-700 md:bg-transparent md:text-primary-700 md:dark:text-white dark:bg-primary-600 md:dark:bg-transparent';
39
39
  * @prop export let nonActiveClass: NonNullable<$$Props['nonActiveClass']> = 'text-gray-700 hover:bg-gray-100 md:hover:bg-transparent md:border-0 md:hover:text-primary-700 dark:text-gray-400 md:dark:hover:text-white dark:hover:bg-gray-700 dark:hover:text-white md:dark:hover:bg-transparent';
40
+ * @prop export let classUl: string = '';
40
41
  */
41
42
  export default class NavUl extends SvelteComponentTyped<NavUlProps, NavUlEvents, NavUlSlots> {
42
43
  }
@@ -4,6 +4,7 @@ import { twMerge } from "tailwind-merge";
4
4
  import NavContainer from "./NavContainer.svelte";
5
5
  import { writable } from "svelte/store";
6
6
  export let fluid = false;
7
+ export let navContainerClass = "";
7
8
  let hidden = writable(true);
8
9
  setContext("navHidden", hidden);
9
10
  $: {
@@ -13,7 +14,7 @@ let toggle = () => hidden.update((hidden2) => !hidden2);
13
14
  </script>
14
15
 
15
16
  <Frame tag="nav" {...$$restProps} class={twMerge('px-2 sm:px-4 py-2.5 w-full', $$props.class)}>
16
- <NavContainer {fluid}>
17
+ <NavContainer {fluid} class={navContainerClass}>
17
18
  <slot hidden={$hidden} {toggle} {NavContainer} />
18
19
  </NavContainer>
19
20
  </Frame>
@@ -23,4 +24,5 @@ let toggle = () => hidden.update((hidden2) => !hidden2);
23
24
  [Go to docs](https://flowbite-svelte.com/)
24
25
  ## Props
25
26
  @prop export let fluid: $$Props['fluid'] = false;
27
+ @prop export let navContainerClass: string= '';
26
28
  -->
@@ -36,6 +36,7 @@ export type NavbarSlots = typeof __propDef.slots;
36
36
  * [Go to docs](https://flowbite-svelte.com/)
37
37
  * ## Props
38
38
  * @prop export let fluid: $$Props['fluid'] = false;
39
+ * @prop export let navContainerClass: string= '';
39
40
  */
40
41
  export default class Navbar extends SvelteComponentTyped<NavbarProps, NavbarEvents, NavbarSlots> {
41
42
  }
@@ -19,7 +19,6 @@ $: defaultClass = twMerge(
19
19
  );
20
20
  </script>
21
21
 
22
- <!-- svelte-ignore a11y-click-events-have-key-events -->
23
22
  <svelte:element this={href ? 'a' : 'button'} {href} class={defaultClass} on:blur on:change on:click on:focus on:keydown on:keypress on:keyup on:mouseenter on:mouseleave on:mouseover role={href ? 'button' : undefined}>
24
23
  <slot />
25
24
  </svelte:element>
@@ -13,6 +13,7 @@ export let color = "primary";
13
13
  export let labelInsideClass = "text-primary-100 text-xs font-medium text-center p-0.5 leading-none rounded-full";
14
14
  export let divClass = "w-full bg-gray-200 rounded-full dark:bg-gray-700";
15
15
  export let progressClass = "";
16
+ export let classLabelOutside = "";
16
17
  const _progress = tweened(0, {
17
18
  duration: animate ? tweenDuration : 0,
18
19
  easing
@@ -31,7 +32,7 @@ $: _progress.set(Number(progress));
31
32
  </script>
32
33
 
33
34
  {#if labelOutside}
34
- <div {...$$restProps} class={twMerge('flex justify-between mb-1', $$props.classLabelOutside)}>
35
+ <div {...$$restProps} class={twMerge('flex justify-between mb-1', classLabelOutside)}>
35
36
  <span class="text-base font-medium text-blue-700 dark:text-white">{labelOutside}</span>
36
37
  <span class="text-sm font-medium text-blue-700 dark:text-white">{progress}%</span>
37
38
  </div>
@@ -62,4 +63,5 @@ $: _progress.set(Number(progress));
62
63
  @prop export let labelInsideClass: $$Props['labelInsideClass'] = 'text-primary-100 text-xs font-medium text-center p-0.5 leading-none rounded-full';
63
64
  @prop export let divClass: $$Props['divClass'] = 'w-full bg-gray-200 rounded-full dark:bg-gray-700';
64
65
  @prop export let progressClass: $$Props['progressClass'] = '';
66
+ @prop export let classLabelOutside: $$Props['classLabelOutside'] = '';
65
67
  -->
@@ -15,6 +15,7 @@ declare const __propDef: {
15
15
  labelInsideClass?: string;
16
16
  divClass?: string;
17
17
  progressClass?: string;
18
+ classLabelOutside?: string;
18
19
  };
19
20
  events: {
20
21
  [evt: string]: CustomEvent<any>;
@@ -39,6 +40,7 @@ export type ProgressbarSlots = typeof __propDef.slots;
39
40
  * @prop export let labelInsideClass: $$Props['labelInsideClass'] = 'text-primary-100 text-xs font-medium text-center p-0.5 leading-none rounded-full';
40
41
  * @prop export let divClass: $$Props['divClass'] = 'w-full bg-gray-200 rounded-full dark:bg-gray-700';
41
42
  * @prop export let progressClass: $$Props['progressClass'] = '';
43
+ * @prop export let classLabelOutside: $$Props['classLabelOutside'] = '';
42
44
  */
43
45
  export default class Progressbar extends SvelteComponentTyped<ProgressbarProps, ProgressbarEvents, ProgressbarSlots> {
44
46
  }
@@ -6,11 +6,16 @@ export let ratingDivClass = "mx-4 w-2/4 h-5 bg-gray-200 rounded dark:bg-gray-700
6
6
  export let ratingClass = "h-5 bg-yellow-400 rounded";
7
7
  export let rightLabelClass = "text-sm font-medium text-gray-600 dark:text-gray-500";
8
8
  export let unit = "%";
9
- let divCls = twMerge(divClass, $$props.classDiv);
10
- let labelCls = twMerge(labelClass, $$props.classLabel);
11
- let ratingDivCls = twMerge(ratingDivClass, $$props.classRatingDiv);
12
- let ratingCls = twMerge(ratingClass, $$props.classRating);
13
- let rightLabelCls = twMerge(rightLabelClass, $$props.classRightLabel);
9
+ export let classDiv = "";
10
+ export let classLabel = "";
11
+ export let classRatingDiv = "";
12
+ export let classRating = "";
13
+ export let classRightLabel = "";
14
+ let divCls = twMerge(divClass, classDiv);
15
+ let labelCls = twMerge(labelClass, classLabel);
16
+ let ratingDivCls = twMerge(ratingDivClass, classRatingDiv);
17
+ let ratingCls = twMerge(ratingClass, classRating);
18
+ let rightLabelCls = twMerge(rightLabelClass, classRightLabel);
14
19
  </script>
15
20
 
16
21
  {#if $$slots.rating}
@@ -40,4 +45,9 @@ let rightLabelCls = twMerge(rightLabelClass, $$props.classRightLabel);
40
45
  @prop export let ratingClass: string = 'h-5 bg-yellow-400 rounded';
41
46
  @prop export let rightLabelClass: string = 'text-sm font-medium text-gray-600 dark:text-gray-500';
42
47
  @prop export let unit: string = '%';
48
+ @prop export let classDiv: string = '';
49
+ @prop export let classLabel: string = '';
50
+ @prop export let classRatingDiv: string = '';
51
+ @prop export let classRating: string = '';
52
+ @prop export let classRightLabel: string = '';
43
53
  -->
@@ -1,17 +1,21 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
- [x: string]: any;
5
4
  ratings?: {
6
5
  label: string;
7
6
  rating: number;
8
- }[] | undefined;
9
- divClass?: string | undefined;
10
- labelClass?: string | undefined;
11
- ratingDivClass?: string | undefined;
12
- ratingClass?: string | undefined;
13
- rightLabelClass?: string | undefined;
14
- unit?: string | undefined;
7
+ }[];
8
+ divClass?: string;
9
+ labelClass?: string;
10
+ ratingDivClass?: string;
11
+ ratingClass?: string;
12
+ rightLabelClass?: string;
13
+ unit?: string;
14
+ classDiv?: string;
15
+ classLabel?: string;
16
+ classRatingDiv?: string;
17
+ classRating?: string;
18
+ classRightLabel?: string;
15
19
  };
16
20
  events: {
17
21
  [evt: string]: CustomEvent<any>;
@@ -34,6 +38,11 @@ export type AdvancedRatingSlots = typeof __propDef.slots;
34
38
  * @prop export let ratingClass: string = 'h-5 bg-yellow-400 rounded';
35
39
  * @prop export let rightLabelClass: string = 'text-sm font-medium text-gray-600 dark:text-gray-500';
36
40
  * @prop export let unit: string = '%';
41
+ * @prop export let classDiv: string = '';
42
+ * @prop export let classLabel: string = '';
43
+ * @prop export let classRatingDiv: string = '';
44
+ * @prop export let classRating: string = '';
45
+ * @prop export let classRightLabel: string = '';
37
46
  */
38
47
  export default class AdvancedRating extends SvelteComponentTyped<AdvancedRatingProps, AdvancedRatingEvents, AdvancedRatingSlots> {
39
48
  }
@@ -5,12 +5,17 @@ export let divClass = "flex items-center mb-6 space-x-4 rtl:space-x-reverse";
5
5
  export let imgClass = "w-10 h-10 rounded-full";
6
6
  export let ulClass = "space-y-4 text-sm text-gray-500 dark:text-gray-400";
7
7
  export let liClass = "flex items-center";
8
+ export let classArticle = "";
9
+ export let classDiv = "";
10
+ export let classImg = "";
11
+ export let classUl = "";
12
+ export let classLi = "";
8
13
  </script>
9
14
 
10
- <article class={twMerge(articleClass, $$props.classArticle)}>
15
+ <article class={twMerge(articleClass, classArticle)}>
11
16
  <div>
12
- <div class={twMerge(divClass, $$props.classDiv)}>
13
- <img class={twMerge(imgClass, $$props.classImg)} src={review.imgSrc} alt={review.imgAlt} />
17
+ <div class={twMerge(divClass, classDiv)}>
18
+ <img class={twMerge(imgClass, classImg)} src={review.imgSrc} alt={review.imgAlt} />
14
19
  <div class="space-y-1 font-medium dark:text-white">
15
20
  <p>{review.name}</p>
16
21
  {#if review.address}
@@ -21,19 +26,19 @@ export let liClass = "flex items-center";
21
26
  </div>
22
27
  </div>
23
28
  {#if $$slots.item1 || $$slots.item2 || $$slots.item3}
24
- <ul class={twMerge(ulClass, $$props.classUl)}>
29
+ <ul class={twMerge(ulClass, classUl)}>
25
30
  {#if $$slots.item1}
26
- <li class={twMerge(liClass, $$props.classLi)}>
31
+ <li class={twMerge(liClass, classLi)}>
27
32
  <slot name="item1" />
28
33
  </li>
29
34
  {/if}
30
35
  {#if $$slots.item2}
31
- <li class={twMerge(liClass, $$props.classLi)}>
36
+ <li class={twMerge(liClass, classLi)}>
32
37
  <slot name="item2" />
33
38
  </li>
34
39
  {/if}
35
40
  {#if $$slots.item3}
36
- <li class={twMerge(liClass, $$props.classLi)}>
41
+ <li class={twMerge(liClass, classLi)}>
37
42
  <slot name="item3" />
38
43
  </li>
39
44
  {/if}
@@ -72,4 +77,9 @@ export let liClass = "flex items-center";
72
77
  @prop export let imgClass: $$Props['imgClass'] = 'w-10 h-10 rounded-full';
73
78
  @prop export let ulClass: $$Props['ulClass'] = 'space-y-4 text-sm text-gray-500 dark:text-gray-400';
74
79
  @prop export let liClass: $$Props['liClass'] = 'flex items-center';
80
+ @prop export let classArticle: $$Props['classArticle'] = '';
81
+ @prop export let classDiv: $$Props['classDiv'] = '';
82
+ @prop export let classImg: $$Props['classImg'] = '';
83
+ @prop export let classUl: $$Props['classUl'] = '';
84
+ @prop export let classLi: $$Props['classLi'] = '';
75
85
  -->
@@ -8,6 +8,11 @@ declare const __propDef: {
8
8
  imgClass?: string;
9
9
  ulClass?: string;
10
10
  liClass?: string;
11
+ classArticle?: string;
12
+ classDiv?: string;
13
+ classImg?: string;
14
+ classUl?: string;
15
+ classLi?: string;
11
16
  };
12
17
  events: {
13
18
  [evt: string]: CustomEvent<any>;
@@ -32,6 +37,11 @@ export type ReviewSlots = typeof __propDef.slots;
32
37
  * @prop export let imgClass: $$Props['imgClass'] = 'w-10 h-10 rounded-full';
33
38
  * @prop export let ulClass: $$Props['ulClass'] = 'space-y-4 text-sm text-gray-500 dark:text-gray-400';
34
39
  * @prop export let liClass: $$Props['liClass'] = 'flex items-center';
40
+ * @prop export let classArticle: $$Props['classArticle'] = '';
41
+ * @prop export let classDiv: $$Props['classDiv'] = '';
42
+ * @prop export let classImg: $$Props['classImg'] = '';
43
+ * @prop export let classUl: $$Props['classUl'] = '';
44
+ * @prop export let classLi: $$Props['classLi'] = '';
35
45
  */
36
46
  export default class Review extends SvelteComponentTyped<ReviewProps, ReviewEvents, ReviewSlots> {
37
47
  }
@@ -25,7 +25,7 @@ const handleDropdown = () => {
25
25
  </script>
26
26
 
27
27
  <li>
28
- <button {...$$restProps} on:click={() => handleDropdown()} type="button" class={twMerge(btnClass, $$props.class)} aria-controls="sidebar-dropdown">
28
+ <button {...$$restProps} on:click={() => handleDropdown()} on:click type="button" class={twMerge(btnClass, $$props.class)} aria-controls="sidebar-dropdown">
29
29
  <slot name="icon" />
30
30
  <span class={spanClass}>{label}</span>
31
31
  {#if isOpen}
@@ -12,6 +12,8 @@ declare const __propDef: {
12
12
  isOpen?: boolean;
13
13
  };
14
14
  events: {
15
+ click: MouseEvent;
16
+ } & {
15
17
  [evt: string]: CustomEvent<any>;
16
18
  };
17
19
  slots: {
@@ -12,7 +12,7 @@ declare const __propDef: {
12
12
  size?: "xs" | "sm" | "md" | "lg" | "xl";
13
13
  color?: "red" | "yellow" | "green" | "purple" | "blue" | "light" | "dark" | "primary" | "none" | "alternative";
14
14
  shadow?: boolean;
15
- tag?: "a" | "button";
15
+ tag?: "a" | "button" | "label";
16
16
  checked?: boolean;
17
17
  } & Omit<import("svelte/elements").HTMLAnchorAttributes, "type"> & {
18
18
  href?: string | undefined;
@@ -22,7 +22,7 @@ declare const __propDef: {
22
22
  size?: "xs" | "sm" | "md" | "lg" | "xl";
23
23
  color?: "red" | "yellow" | "green" | "purple" | "blue" | "light" | "dark" | "primary" | "none" | "alternative";
24
24
  shadow?: boolean;
25
- tag?: "a" | "button";
25
+ tag?: "a" | "button" | "label";
26
26
  checked?: boolean;
27
27
  } & import("svelte/elements").HTMLButtonAttributes & {
28
28
  disabled?: import("svelte/elements").HTMLButtonAttributes["disabled"];
@@ -7,7 +7,7 @@ declare const __propDef: {
7
7
  size?: "xs" | "sm" | "md" | "lg" | "xl";
8
8
  color?: "red" | "yellow" | "green" | "purple" | "blue" | "light" | "dark" | "primary" | "none" | "alternative";
9
9
  shadow?: boolean;
10
- tag?: "a" | "button";
10
+ tag?: "a" | "button" | "label";
11
11
  checked?: boolean;
12
12
  } & Omit<import("svelte/elements").HTMLAnchorAttributes, "type"> & {
13
13
  href?: string | undefined;
@@ -17,7 +17,7 @@ declare const __propDef: {
17
17
  size?: "xs" | "sm" | "md" | "lg" | "xl";
18
18
  color?: "red" | "yellow" | "green" | "purple" | "blue" | "light" | "dark" | "primary" | "none" | "alternative";
19
19
  shadow?: boolean;
20
- tag?: "a" | "button";
20
+ tag?: "a" | "button" | "label";
21
21
  checked?: boolean;
22
22
  } & import("svelte/elements").HTMLButtonAttributes & {
23
23
  disabled?: import("svelte/elements").HTMLButtonAttributes["disabled"];
@@ -33,11 +33,13 @@ const currentStepColors = {
33
33
  blue: "bg-blue-800 dark:bg-blue-400",
34
34
  custom: currentCustom
35
35
  };
36
+ $: safeCurrentStep = Math.max(1, Math.min(currentStep, steps.length));
37
+ $: currentStepLabel = steps[safeCurrentStep - 1] ?? "Unknown Step";
36
38
  </script>
37
39
 
38
40
  <div {...$$restProps} class={twMerge('space-y-2 dark:text-white', $$props.class)}>
39
41
  {#if !hideLabel}
40
- <h3 class="text-base font-semibold">{steps[currentStep - 1]}</h3>
42
+ <h3 class="text-base font-semibold">{currentStepLabel}</h3>
41
43
  {/if}
42
44
  <div class={twJoin('flex justify-between gap-2 w-full', size)}>
43
45
  {#each steps as step, i}
@@ -61,12 +63,12 @@ const currentStepColors = {
61
63
  @component
62
64
  [Go to docs](https://flowbite-svelte.com/)
63
65
  ## Props
64
- @prop export let steps: $$Props['steps'] = ['Step 1', 'Step 2', 'Step 3', 'Step 4', 'Step 5'];
65
- @prop export let currentStep: $$Props['currentStep'] = 1;
66
- @prop export let size: $$Props['size'] = 'h-2.5';
67
- @prop export let color: $$Props['color'] = 'primary';
68
- @prop export let glow: $$Props['glow'] = false;
69
- @prop export let hideLabel: $$Props['hideLabel'] = false;
70
- @prop export let completedCustom: $$Props['completedCustom'] = '';
71
- @prop export let currentCustom: $$Props['currentCustom'] = '';
66
+ @prop export let steps = ['Step 1', 'Step 2', 'Step 3', 'Step 4', 'Step 5'];
67
+ @prop export let currentStep = 1;
68
+ @prop export let size = 'h-2.5';
69
+ @prop export let color: ColorType = 'primary';
70
+ @prop export let glow = false;
71
+ @prop export let hideLabel = false;
72
+ @prop export let completedCustom = '';
73
+ @prop export let currentCustom = '';
72
74
  -->
@@ -4,12 +4,12 @@ declare const __propDef: {
4
4
  props: HTMLAttributes<HTMLElement> & {
5
5
  steps: string[];
6
6
  currentStep: number;
7
- size: string;
8
- color: "primary" | "secondary" | "gray" | "red" | "yellow" | "green" | "indigo" | "purple" | "pink" | "blue" | "custom";
9
- glow: boolean;
10
- hideLabel: boolean;
11
- completedCustom: string;
12
- currentCustom: string;
7
+ size?: string;
8
+ color?: "gray" | "red" | "yellow" | "green" | "indigo" | "purple" | "pink" | "blue" | "primary" | "secondary" | "custom";
9
+ glow?: boolean;
10
+ hideLabel?: boolean;
11
+ completedCustom?: string;
12
+ currentCustom?: string;
13
13
  };
14
14
  events: {
15
15
  [evt: string]: CustomEvent<any>;
@@ -22,14 +22,14 @@ export type StepIndicatorSlots = typeof __propDef.slots;
22
22
  /**
23
23
  * [Go to docs](https://flowbite-svelte.com/)
24
24
  * ## Props
25
- * @prop export let steps: $$Props['steps'] = ['Step 1', 'Step 2', 'Step 3', 'Step 4', 'Step 5'];
26
- * @prop export let currentStep: $$Props['currentStep'] = 1;
27
- * @prop export let size: $$Props['size'] = 'h-2.5';
28
- * @prop export let color: $$Props['color'] = 'primary';
29
- * @prop export let glow: $$Props['glow'] = false;
30
- * @prop export let hideLabel: $$Props['hideLabel'] = false;
31
- * @prop export let completedCustom: $$Props['completedCustom'] = '';
32
- * @prop export let currentCustom: $$Props['currentCustom'] = '';
25
+ * @prop export let steps = ['Step 1', 'Step 2', 'Step 3', 'Step 4', 'Step 5'];
26
+ * @prop export let currentStep = 1;
27
+ * @prop export let size = 'h-2.5';
28
+ * @prop export let color: ColorType = 'primary';
29
+ * @prop export let glow = false;
30
+ * @prop export let hideLabel = false;
31
+ * @prop export let completedCustom = '';
32
+ * @prop export let currentCustom = '';
33
33
  */
34
34
  export default class StepIndicator extends SvelteComponentTyped<StepIndicatorProps, StepIndicatorEvents, StepIndicatorSlots> {
35
35
  }
@@ -16,9 +16,11 @@ export let searchClass = "relative mt-1";
16
16
  export let svgDivClass = "absolute inset-y-0 start-0 flex items-center ps-3 pointer-events-none";
17
17
  export let svgClass = "w-5 h-5 text-gray-500 dark:text-gray-400";
18
18
  export let inputClass = "bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-80 p-2.5 ps-10 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";
19
+ export let classInput = "";
20
+ export let classSvgDiv = "";
19
21
  let searchTerm = "";
20
- let inputCls = twMerge(inputClass, $$props.classInput);
21
- let svgDivCls = twMerge(svgDivClass, $$props.classSvgDiv);
22
+ let inputCls = twMerge(inputClass, classInput);
23
+ let svgDivCls = twMerge(svgDivClass, classSvgDiv);
22
24
  const colors = {
23
25
  default: "text-gray-500 dark:text-gray-400",
24
26
  blue: "text-blue-100 dark:text-blue-100",
@@ -89,4 +91,6 @@ setContext("sorter", writable(null));
89
91
  @prop export let svgDivClass: $$Props['svgDivClass'] = 'absolute inset-y-0 start-0 flex items-center ps-3 pointer-events-none';
90
92
  @prop export let svgClass: $$Props['svgClass'] = 'w-5 h-5 text-gray-500 dark:text-gray-400';
91
93
  @prop export let inputClass: $$Props['inputClass'] = 'bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-80 p-2.5 ps-10 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';
94
+ @prop export let classInput: $$Props['classInput'] = '';
95
+ @prop export let classSvgDiv: $$Props['classSvgDiv'] = '';
92
96
  -->
@@ -18,6 +18,8 @@ declare class __sveltets_Render<T> {
18
18
  svgDivClass?: string;
19
19
  svgClass?: string;
20
20
  inputClass?: string;
21
+ classInput?: string;
22
+ classSvgDiv?: string;
21
23
  };
22
24
  events(): {} & {
23
25
  [evt: string]: CustomEvent<any>;
@@ -50,6 +52,8 @@ export type TableSlots<T> = ReturnType<__sveltets_Render<T>['slots']>;
50
52
  * @prop export let svgDivClass: $$Props['svgDivClass'] = 'absolute inset-y-0 start-0 flex items-center ps-3 pointer-events-none';
51
53
  * @prop export let svgClass: $$Props['svgClass'] = 'w-5 h-5 text-gray-500 dark:text-gray-400';
52
54
  * @prop export let inputClass: $$Props['inputClass'] = 'bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-80 p-2.5 ps-10 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';
55
+ * @prop export let classInput: $$Props['classInput'] = '';
56
+ * @prop export let classSvgDiv: $$Props['classSvgDiv'] = '';
53
57
  */
54
58
  export default class Table<T> extends SvelteComponentTyped<TableProps<T>, TableEvents<T>, TableSlots<T>> {
55
59
  }
@@ -12,8 +12,10 @@ export let searchClass = "relative mt-1";
12
12
  export let svgDivClass = "absolute inset-y-0 start-0 flex items-center ps-3 pointer-events-none";
13
13
  export let svgClass = "w-5 h-5 text-gray-500 dark:text-gray-400";
14
14
  export let inputClass = "bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-80 p-2.5 ps-10 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";
15
- let inputCls = twMerge(inputClass, $$props.classInput);
16
- let svgDivCls = twMerge(svgDivClass, $$props.classSvgDiv);
15
+ export let classInput = "";
16
+ export let classSvgDiv = "";
17
+ let inputCls = twMerge(inputClass, classInput);
18
+ let svgDivCls = twMerge(svgDivClass, classSvgDiv);
17
19
  const colors = {
18
20
  default: "text-gray-500 dark:text-gray-400",
19
21
  blue: "text-blue-100 dark:text-blue-100",
@@ -65,4 +67,6 @@ $: setContext("color", color);
65
67
  @prop export let svgDivClass: $$Props['svgDivClass'] = 'absolute inset-y-0 start-0 flex items-center ps-3 pointer-events-none';
66
68
  @prop export let svgClass: $$Props['svgClass'] = 'w-5 h-5 text-gray-500 dark:text-gray-400';
67
69
  @prop export let inputClass: $$Props['inputClass'] = 'bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-80 p-2.5 ps-10 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';
70
+ @prop export let classInput: $$Props['classInput'] = '';
71
+ @prop export let classSvgDiv: $$Props['classSvgDiv'] = '';
68
72
  -->
@@ -14,6 +14,8 @@ declare const __propDef: {
14
14
  svgDivClass?: string;
15
15
  svgClass?: string;
16
16
  inputClass?: string;
17
+ classInput?: string;
18
+ classSvgDiv?: string;
17
19
  };
18
20
  events: {
19
21
  [evt: string]: CustomEvent<any>;
@@ -43,6 +45,8 @@ export type TableSearchSlots = typeof __propDef.slots;
43
45
  * @prop export let svgDivClass: $$Props['svgDivClass'] = 'absolute inset-y-0 start-0 flex items-center ps-3 pointer-events-none';
44
46
  * @prop export let svgClass: $$Props['svgClass'] = 'w-5 h-5 text-gray-500 dark:text-gray-400';
45
47
  * @prop export let inputClass: $$Props['inputClass'] = 'bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-80 p-2.5 ps-10 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';
48
+ * @prop export let classInput: $$Props['classInput'] = '';
49
+ * @prop export let classSvgDiv: $$Props['classSvgDiv'] = '';
46
50
  */
47
51
  export default class TableSearch extends SvelteComponentTyped<TableSearchProps, TableSearchEvents, TableSearchSlots> {
48
52
  }