flowbite-svelte 0.37.5 → 0.38.1

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 (133) hide show
  1. package/README.md +1 -1
  2. package/dist/accordion/Accordion.svelte +2 -2
  3. package/dist/accordion/AccordionItem.svelte +2 -2
  4. package/dist/alerts/Alert.svelte +3 -3
  5. package/dist/alerts/Alert.svelte.d.ts.map +1 -1
  6. package/dist/avatar/Avatar.svelte +2 -2
  7. package/dist/avatar/Avatar.svelte.d.ts.map +1 -1
  8. package/dist/badges/Badge.svelte +3 -3
  9. package/dist/banner/Banner.svelte +3 -3
  10. package/dist/bottom-nav/BottomNav.svelte +3 -3
  11. package/dist/bottom-nav/BottomNavHeaderItem.svelte +2 -3
  12. package/dist/bottom-nav/BottomNavHeaderItem.svelte.d.ts.map +1 -1
  13. package/dist/bottom-nav/BottomNavItem.svelte +3 -3
  14. package/dist/breadcrumbs/Breadcrumb.svelte +3 -3
  15. package/dist/buttongroups/ButtonGroup.svelte +2 -2
  16. package/dist/buttons/Button.svelte +2 -2
  17. package/dist/buttons/Button.svelte.d.ts.map +1 -1
  18. package/dist/buttons/GradientButton.svelte +3 -3
  19. package/dist/cards/Card.svelte +3 -3
  20. package/dist/darkmode/DarkMode.svelte +2 -2
  21. package/dist/drawer/Drawer.svelte +4 -4
  22. package/dist/dropdowns/Dropdown.svelte +2 -2
  23. package/dist/dropdowns/Dropdown.svelte.d.ts.map +1 -1
  24. package/dist/dropdowns/DropdownDivider.svelte +2 -2
  25. package/dist/dropdowns/DropdownHeader.svelte +2 -2
  26. package/dist/dropdowns/DropdownItem.svelte +2 -2
  27. package/dist/footer/Footer.svelte +19 -15
  28. package/dist/footer/Footer.svelte.d.ts +1 -2
  29. package/dist/footer/Footer.svelte.d.ts.map +1 -1
  30. package/dist/footer/FooterBrand.svelte +2 -2
  31. package/dist/footer/FooterCopyright.svelte +2 -2
  32. package/dist/footer/FooterIcon.svelte +2 -2
  33. package/dist/footer/FooterLink.svelte +2 -2
  34. package/dist/footer/FooterLinkGroup.svelte +2 -2
  35. package/dist/forms/Checkbox.svelte +6 -2
  36. package/dist/forms/Checkbox.svelte.d.ts +1 -0
  37. package/dist/forms/Checkbox.svelte.d.ts.map +1 -1
  38. package/dist/forms/Dropzone.svelte +2 -2
  39. package/dist/forms/Fileupload.svelte +2 -2
  40. package/dist/forms/FloatingLabelInput.svelte +3 -3
  41. package/dist/forms/Helper.svelte +2 -2
  42. package/dist/forms/Input.svelte +13 -2
  43. package/dist/forms/Input.svelte.d.ts.map +1 -1
  44. package/dist/forms/InputAddon.svelte +2 -2
  45. package/dist/forms/Label.svelte +2 -2
  46. package/dist/forms/Radio.svelte +4 -3
  47. package/dist/forms/Radio.svelte.d.ts +2 -1
  48. package/dist/forms/Radio.svelte.d.ts.map +1 -1
  49. package/dist/forms/Range.svelte +2 -2
  50. package/dist/forms/Select.svelte +2 -2
  51. package/dist/forms/Textarea.svelte +5 -5
  52. package/dist/forms/Toggle.svelte +2 -2
  53. package/dist/gallery/Gallery.svelte +2 -2
  54. package/dist/indicators/Indicator.svelte +2 -2
  55. package/dist/kbd/ArrowKeyDown.svelte +2 -2
  56. package/dist/kbd/ArrowKeyLeft.svelte +2 -2
  57. package/dist/kbd/ArrowKeyRight.svelte +2 -2
  58. package/dist/kbd/ArrowKeyUp.svelte +2 -2
  59. package/dist/kbd/Kbd.svelte +2 -2
  60. package/dist/list-group/Listgroup.svelte +2 -2
  61. package/dist/list-group/ListgroupItem.svelte +2 -2
  62. package/dist/megamenu/MegaMenu.svelte +3 -3
  63. package/dist/modals/Modal.svelte +4 -4
  64. package/dist/navbar/NavBrand.svelte +2 -2
  65. package/dist/navbar/NavHamburger.svelte +2 -2
  66. package/dist/navbar/NavLi.svelte +2 -2
  67. package/dist/navbar/NavSidebarHamburger.svelte +2 -2
  68. package/dist/navbar/NavUl.svelte +3 -3
  69. package/dist/navbar/Navbar.svelte +3 -3
  70. package/dist/paginations/Pagination.svelte +4 -4
  71. package/dist/paginations/PaginationItem.svelte +10 -2
  72. package/dist/progressbars/Progressbar.svelte +8 -7
  73. package/dist/progressbars/Progressbar.svelte.d.ts.map +1 -1
  74. package/dist/ratings/Rating.svelte +2 -2
  75. package/dist/ratings/RatingComment.svelte +0 -1
  76. package/dist/ratings/RatingComment.svelte.d.ts.map +1 -1
  77. package/dist/ratings/Review.svelte +8 -8
  78. package/dist/sidebars/Sidebar.svelte +2 -2
  79. package/dist/sidebars/SidebarBrand.svelte +2 -2
  80. package/dist/sidebars/SidebarCta.svelte +2 -2
  81. package/dist/sidebars/SidebarDropdownItem.svelte +2 -2
  82. package/dist/sidebars/SidebarDropdownWrapper.svelte +2 -2
  83. package/dist/sidebars/SidebarGroup.svelte +2 -2
  84. package/dist/sidebars/SidebarItem.svelte +2 -2
  85. package/dist/sidebars/SidebarWrapper.svelte +2 -2
  86. package/dist/skeleton/CardPlaceholder.svelte +3 -3
  87. package/dist/skeleton/ImagePlaceholder.svelte +2 -2
  88. package/dist/skeleton/ListPlaceholder.svelte +2 -2
  89. package/dist/skeleton/Skeleton.svelte +2 -2
  90. package/dist/skeleton/TestimonialPlaceholder.svelte +2 -2
  91. package/dist/skeleton/TextPlaceholder.svelte +3 -3
  92. package/dist/skeleton/TextPlaceholder.svelte.d.ts.map +1 -1
  93. package/dist/skeleton/VideoPlaceholder.svelte +3 -3
  94. package/dist/skeleton/VideoPlaceholder.svelte.d.ts.map +1 -1
  95. package/dist/skeleton/WidgetPlaceholder.svelte +2 -2
  96. package/dist/speed-dial/SpeedDial.svelte +3 -3
  97. package/dist/speed-dial/SpeedDialButton.svelte +2 -2
  98. package/dist/spinners/Spinner.svelte +2 -2
  99. package/dist/steps/StepIndicator.svelte +7 -7
  100. package/dist/tables/Table.svelte +3 -3
  101. package/dist/tables/TableBodyCell.svelte +2 -2
  102. package/dist/tables/TableBodyRow.svelte +8 -2
  103. package/dist/tables/TableHead.svelte +2 -2
  104. package/dist/tables/TableHeadCell.svelte +2 -2
  105. package/dist/tables/TableSearch.svelte +2 -2
  106. package/dist/tabs/TabItem.svelte +3 -3
  107. package/dist/tabs/Tabs.svelte +2 -2
  108. package/dist/timeline/TimelineItem.svelte +2 -2
  109. package/dist/toasts/Toast.svelte +3 -3
  110. package/dist/toasts/Toast.svelte.d.ts +38 -0
  111. package/dist/toasts/Toast.svelte.d.ts.map +1 -1
  112. package/dist/toolbar/Toolbar.svelte +3 -3
  113. package/dist/toolbar/ToolbarButton.svelte +2 -2
  114. package/dist/tooltips/Tooltip.svelte +2 -2
  115. package/dist/typography/A.svelte +2 -2
  116. package/dist/typography/Blockquote.svelte +2 -2
  117. package/dist/typography/DescriptionList.svelte +2 -2
  118. package/dist/typography/Heading.svelte +2 -2
  119. package/dist/typography/Hr.svelte +4 -4
  120. package/dist/typography/Img.svelte +3 -3
  121. package/dist/typography/Layout.svelte +2 -2
  122. package/dist/typography/Li.svelte +2 -2
  123. package/dist/typography/List.svelte +2 -2
  124. package/dist/typography/Mark.svelte +2 -2
  125. package/dist/typography/P.svelte +2 -2
  126. package/dist/typography/Secondary.svelte +2 -2
  127. package/dist/typography/Span.svelte +3 -3
  128. package/dist/utils/CloseButton.svelte +2 -2
  129. package/dist/utils/Frame.svelte +2 -2
  130. package/dist/utils/MenuButton.svelte +2 -2
  131. package/dist/utils/Popper.svelte +4 -4
  132. package/dist/video/Video.svelte +2 -2
  133. package/package.json +3 -2
@@ -1,13 +1,13 @@
1
1
  <script>import { setContext } from 'svelte';
2
2
  import { writable } from 'svelte/store';
3
- import classNames from 'classnames';
3
+ import { twMerge, twJoin } from 'tailwind-merge';
4
4
  import Frame from '../utils/Frame.svelte';
5
5
  const separators = writable(false);
6
6
  setContext('toolbar', separators);
7
7
  export let color = 'dark';
8
8
  export let embedded = false;
9
9
  let divClass;
10
- $: divClass = classNames('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',
@@ -21,7 +21,7 @@ const divideColors = {
21
21
  none: ''
22
22
  };
23
23
  let separatorsClass;
24
- $: separatorsClass = classNames($separators && 'sm:divide-x', divideColors[color]);
24
+ $: separatorsClass = twJoin($separators && 'sm:divide-x', divideColors[color]);
25
25
  </script>
26
26
 
27
27
  <Frame {...$$restProps} class={divClass} color={embedded ? 'none' : color} rounded={!embedded}>
@@ -1,5 +1,5 @@
1
1
  <script>import { getContext } from 'svelte';
2
- import classNames from 'classnames';
2
+ import { twMerge } from 'tailwind-merge';
3
3
  const background = getContext('background');
4
4
  export let color = 'default';
5
5
  export let name = undefined;
@@ -25,7 +25,7 @@ const sizing = {
25
25
  lg: 'm-0.5 rounded-lg focus:ring-2 p-2.5'
26
26
  };
27
27
  let buttonClass;
28
- $: buttonClass = classNames('focus:outline-none whitespace-normal', sizing[size], colors[color], color === 'default' &&
28
+ $: buttonClass = twMerge('focus:outline-none whitespace-normal', sizing[size], colors[color], color === 'default' &&
29
29
  (background ? 'hover:bg-gray-100 dark:hover:bg-gray-600' : 'hover:bg-gray-100 dark:hover:bg-gray-700'), $$props.class);
30
30
  const svgSizes = {
31
31
  xs: 'w-3 h-3',
@@ -1,5 +1,5 @@
1
1
  <script>import Popper from '../utils/Popper.svelte';
2
- import classNames from 'classnames';
2
+ import { twMerge } from 'tailwind-merge';
3
3
  export let type = 'dark';
4
4
  export let defaultClass = 'py-2 px-3 text-sm font-medium';
5
5
  const types = {
@@ -14,7 +14,7 @@ $: {
14
14
  type = 'custom';
15
15
  else
16
16
  $$restProps.color = 'none';
17
- toolTipClass = classNames('tooltip', defaultClass, types[type], $$props.class);
17
+ toolTipClass = twMerge('tooltip', defaultClass, types[type], $$props.class);
18
18
  }
19
19
  </script>
20
20
 
@@ -1,10 +1,10 @@
1
- <script>import classNames from 'classnames';
1
+ <script>import { twMerge } from 'tailwind-merge';
2
2
  export let href = '#';
3
3
  export let color = 'text-primary-600 dark:text-primary-500';
4
4
  export let aClass = 'inline-flex items-center hover:underline';
5
5
  </script>
6
6
 
7
- <a {...$$restProps} {href} class={classNames(aClass, color, $$props.class)}>
7
+ <a {...$$restProps} {href} class={twMerge(aClass, color, $$props.class)}>
8
8
  <slot />
9
9
  </a>
10
10
 
@@ -1,4 +1,4 @@
1
- <script>import classNames from 'classnames';
1
+ <script>import { twMerge } from 'tailwind-merge';
2
2
  export let border = false;
3
3
  export let italic = true;
4
4
  export let borderClass = 'border-l-4 border-gray-300 dark:border-gray-500';
@@ -31,7 +31,7 @@ const sizes = {
31
31
 
32
32
  <blockquote
33
33
  {...$$restProps}
34
- class={classNames(
34
+ class={twMerge(
35
35
  baseClass,
36
36
  alignmentClasses[alignment],
37
37
  sizes[size],
@@ -1,8 +1,8 @@
1
- <script>import classNames from 'classnames';
1
+ <script>import { twMerge } from 'tailwind-merge';
2
2
  export let tag;
3
3
  export let dtClass = 'text-gray-500 md:text-lg dark:text-gray-400';
4
4
  export let ddClass = 'text-lg font-semibold';
5
- let classDesc = classNames(tag === 'dt' ? dtClass : ddClass, $$props.class);
5
+ let classDesc = twMerge(tag === 'dt' ? dtClass : ddClass, $$props.class);
6
6
  </script>
7
7
 
8
8
  <svelte:element this={tag} {...$$restProps} class={classDesc}>
@@ -1,4 +1,4 @@
1
- <script>import classNames from 'classnames';
1
+ <script>import { twMerge } from 'tailwind-merge';
2
2
  export let tag = 'h1';
3
3
  export let color = 'text-gray-900 dark:text-white';
4
4
  export let customSize = '';
@@ -15,7 +15,7 @@ const textSizes = {
15
15
  <svelte:element
16
16
  this={tag}
17
17
  {...$$restProps}
18
- class={classNames(customSize ? customSize : textSizes[tag], color, 'w-full', $$props.class)}>
18
+ class={twMerge(customSize ? customSize : textSizes[tag], color, 'w-full', $$props.class)}>
19
19
  <slot />
20
20
  </svelte:element>
21
21
 
@@ -1,4 +1,4 @@
1
- <script>import classNames from 'classnames';
1
+ <script>import { twMerge } from 'tailwind-merge';
2
2
  export let icon = false;
3
3
  export let width = 'w-full';
4
4
  export let height = 'h-px';
@@ -7,9 +7,9 @@ export let hrClass = 'bg-gray-200 rounded border-0 dark:bg-gray-700';
7
7
  export let iconDivClass = 'absolute left-1/2 px-4 bg-white -translate-x-1/2 ';
8
8
  export let textSpanClass = 'absolute left-1/2 px-3 font-medium text-gray-900 bg-white -translate-x-1/2 dark:text-white ';
9
9
  export let middleBgColor = 'dark:bg-gray-900';
10
- let horizontalClass = classNames(hrClass, width, height, $$props.class);
11
- let classDiv = classNames(divClass, $$slots && 'relative', $$props.classDiv);
12
- let middleClass = classNames(middleBgColor, icon ? iconDivClass : textSpanClass);
10
+ let horizontalClass = twMerge(hrClass, width, height, $$props.class);
11
+ let classDiv = twMerge(divClass, $$slots && 'relative', $$props.classDiv);
12
+ let middleClass = twMerge(middleBgColor, icon ? iconDivClass : textSpanClass);
13
13
  </script>
14
14
 
15
15
  {#if $$slots}
@@ -1,4 +1,4 @@
1
- <script>import classNames from 'classnames';
1
+ <script>import { twMerge } from 'tailwind-merge';
2
2
  export let caption = undefined;
3
3
  export let src = undefined;
4
4
  export let srcset = undefined;
@@ -13,13 +13,13 @@ export let captionClass = 'mt-2 text-sm text-center text-gray-500 dark:text-gray
13
13
 
14
14
  {#if caption}
15
15
  <figure class={figClass}>
16
- <img class={classNames(imgClass, size, alignment, effect, $$props.class)} {src} {srcset} {alt} />
16
+ <img class={twMerge(imgClass, size, alignment, effect, $$props.class)} {src} {srcset} {alt} />
17
17
  <figcaption class={captionClass}>{@html caption}</figcaption>
18
18
  </figure>
19
19
  {:else}
20
20
  <img
21
21
  {...$$restProps}
22
- class={classNames(imgClass, size, alignment, effect, $$props.class)}
22
+ class={twMerge(imgClass, size, alignment, effect, $$props.class)}
23
23
  {src}
24
24
  {srcset}
25
25
  {alt} />
@@ -1,8 +1,8 @@
1
- <script>import classNames from 'classnames';
1
+ <script>import { twMerge } from 'tailwind-merge';
2
2
  export let divClass = 'grid';
3
3
  export let cols = 'grid-cols-1 sm:grid-cols-2';
4
4
  export let gap;
5
- let classDiv = classNames(divClass, 'gap-' + String(gap), cols);
5
+ let classDiv = twMerge(divClass, 'gap-' + String(gap), cols);
6
6
  </script>
7
7
 
8
8
  <div {...$$restProps} class={classDiv}>
@@ -1,7 +1,7 @@
1
- <script>import classNames from 'classnames';
1
+ <script>import { twMerge } from 'tailwind-merge';
2
2
  export let icon = false;
3
3
  export let liClass = '';
4
- let classLi = classNames(liClass, icon && 'flex items-center', $$props.class);
4
+ let classLi = twMerge(liClass, icon && 'flex items-center', $$props.class);
5
5
  </script>
6
6
 
7
7
  <li {...$$restProps} class={classLi}>
@@ -1,4 +1,4 @@
1
- <script>import classNames from 'classnames';
1
+ <script>import { twMerge } from 'tailwind-merge';
2
2
  export let tag = 'ul';
3
3
  export let list = undefined;
4
4
  export let position = 'inside';
@@ -11,7 +11,7 @@ let positions = {
11
11
  inside: 'list-inside',
12
12
  outside: 'list-outside'
13
13
  };
14
- let classList = classNames(lists[list ?? (tag === 'ul' ? 'disc' : 'ol' ? 'decimal' : 'none')], positions[position], $$props.class);
14
+ let classList = twMerge(lists[list ?? (tag === 'ul' ? 'disc' : 'ol' ? 'decimal' : 'none')], positions[position], $$props.class);
15
15
  </script>
16
16
 
17
17
  <svelte:element this={tag} {...$$restProps} class={classList}>
@@ -1,10 +1,10 @@
1
- <script>import classNames from 'classnames';
1
+ <script>import { twMerge } from 'tailwind-merge';
2
2
  export let color = 'text-white dark:bg-blue-500';
3
3
  export let bgColor = 'bg-blue-600';
4
4
  export let markClass = 'px-2 rounded';
5
5
  </script>
6
6
 
7
- <mark {...$$restProps} class={classNames(markClass, bgColor, color, $$props.class)}>
7
+ <mark {...$$restProps} class={twMerge(markClass, bgColor, color, $$props.class)}>
8
8
  <slot />
9
9
  </mark>
10
10
 
@@ -1,4 +1,4 @@
1
- <script>import classNames from 'classnames';
1
+ <script>import { twMerge } from 'tailwind-merge';
2
2
  export let color = 'text-gray-900 dark:text-white';
3
3
  export let height = 'normal';
4
4
  export let align = 'left';
@@ -67,7 +67,7 @@ let colorAndopacity = color
67
67
  .map((element) => element.trim())
68
68
  .map((element) => element + '/' + String(opacity))
69
69
  .join(' ');
70
- let classP = classNames(size && sizes[size], (opacity && colorAndopacity) || (color && color), height && heights[height], weight && weights[weight], space && spaces[space], align && aligns[align], justify && 'text-justify', italic && 'italic', firstupper && upperClass, whitespace && whitespaces[whitespace], $$props.class);
70
+ let classP = twMerge(size && sizes[size], (opacity && colorAndopacity) || (color && color), height && heights[height], weight && weights[weight], space && spaces[space], align && aligns[align], justify && 'text-justify', italic && 'italic', firstupper && upperClass, whitespace && whitespaces[whitespace], $$props.class);
71
71
  </script>
72
72
 
73
73
  <p {...$$restProps} class={classP}>
@@ -1,9 +1,9 @@
1
- <script>import classNames from 'classnames';
1
+ <script>import { twMerge } from 'tailwind-merge';
2
2
  export let color = 'text-gray-500 dark:text-gray-400';
3
3
  export let secondaryClass = 'font-semibold';
4
4
  </script>
5
5
 
6
- <small {...$$restProps} class={classNames(color, secondaryClass, $$props.class)}>
6
+ <small {...$$restProps} class={twMerge(color, secondaryClass, $$props.class)}>
7
7
  <slot />
8
8
  </small>
9
9
 
@@ -1,4 +1,4 @@
1
- <script>import classNames from 'classnames';
1
+ <script>import { twMerge } from 'tailwind-merge';
2
2
  export let italic = false;
3
3
  export let underline = false;
4
4
  export let linethrough = false;
@@ -8,8 +8,8 @@ export let highlight = false;
8
8
  export let highlightClass = 'text-blue-600 dark:text-blue-500';
9
9
  export let decorationClass = 'decoration-2 decoration-blue-400 dark:decoration-blue-600';
10
10
  export let gradientClass = 'text-transparent bg-clip-text bg-gradient-to-r to-emerald-600 from-sky-400';
11
- let underlineClass = classNames('underline', decorationClass);
12
- let classSpan = classNames(italic && 'italic', underline && underlineClass, linethrough && 'line-through', uppercase && 'uppercase', gradient ? gradientClass : 'font-semibold text-gray-900 dark:text-white', highlight && highlightClass, $$props.class);
11
+ let underlineClass = twMerge('underline', decorationClass);
12
+ let classSpan = twMerge(italic && 'italic', underline && underlineClass, linethrough && 'line-through', uppercase && 'uppercase', gradient ? gradientClass : 'font-semibold text-gray-900 dark:text-white', highlight && highlightClass, $$props.class);
13
13
  </script>
14
14
 
15
15
  <span {...$$restProps} class={classSpan}>
@@ -1,9 +1,9 @@
1
- <script>import classNames from 'classnames';
1
+ <script>import { twMerge } from 'tailwind-merge';
2
2
  import ToolbarButton from '../toolbar/ToolbarButton.svelte';
3
3
  export let name = 'Close';
4
4
  </script>
5
5
 
6
- <ToolbarButton on:click {name} {...$$restProps} class={classNames('ml-auto', $$props.class)} let:svgSize>
6
+ <ToolbarButton on:click {name} {...$$restProps} class={twMerge('ml-auto', $$props.class)} let:svgSize>
7
7
  <svg class={svgSize} fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
8
8
  <path
9
9
  fill-rule="evenodd"
@@ -1,4 +1,4 @@
1
- <script>import classNames from 'classnames';
1
+ <script>import { twMerge } from 'tailwind-merge';
2
2
  import { setContext } from 'svelte';
3
3
  import { noop } from 'svelte/internal';
4
4
  setContext('background', true);
@@ -80,7 +80,7 @@ const borderColors = {
80
80
  none: ''
81
81
  };
82
82
  let divClass;
83
- $: divClass = classNames(bgColors[color], textColors[color], rounded && (color === 'dropdown' ? 'rounded' : 'rounded-lg'), border && 'border', borderColors[color], shadow && 'shadow-md', $$props.class);
83
+ $: divClass = twMerge(bgColors[color], textColors[color], rounded && (color === 'dropdown' ? 'rounded' : 'rounded-lg'), border && 'border', borderColors[color], shadow && 'shadow-md', $$props.class);
84
84
  </script>
85
85
 
86
86
  {#if transition}
@@ -1,10 +1,10 @@
1
- <script>import classNames from 'classnames';
1
+ <script>import { twMerge } from 'tailwind-merge';
2
2
  import ToolbarButton from '../toolbar/ToolbarButton.svelte';
3
3
  export let name = undefined;
4
4
  export let vertical = false;
5
5
  </script>
6
6
 
7
- <ToolbarButton on:click {name} {...$$restProps} class={classNames($$props.class)} let:svgSize>
7
+ <ToolbarButton on:click {name} {...$$restProps} class={twMerge($$props.class)} let:svgSize>
8
8
  <svg
9
9
  class={svgSize}
10
10
  aria-hidden="true"
@@ -1,6 +1,6 @@
1
1
  <script>import { onMount } from 'svelte';
2
2
  import { createPopper } from '@popperjs/core';
3
- import classNames from 'classnames';
3
+ import { twMerge } from 'tailwind-merge';
4
4
  import createEventDispatcher from './createEventDispatcher';
5
5
  import Frame from './Frame.svelte';
6
6
  export let activeContent = false;
@@ -119,8 +119,8 @@ function optional(pred, func) {
119
119
  }
120
120
  let position = 'bottom';
121
121
  $: position = placement.split('-', 1)[0];
122
- let arrowClass;
123
- $: arrowClass = classNames('after:w-[9px] after:h-[9px] after:rotate-45 bg-inherit after:bg-inherit invisible after:visible after:block border-inherit after:border-inherit', position === 'top' && ($$props.border ? 'after:border-b after:border-r -bottom-[5px]' : '-bottom-[4px]'), position === 'bottom' && ($$props.border ? 'after:border-t after:border-l -top-[5px]' : '-top-[4px]'), position === 'left' && ($$props.border ? 'after:border-t after:border-r -right-[5px]' : '-right-[4px]'), position === 'right' && ($$props.border ? 'after:border-b after:border-l -left-[5px]' : '-left-[4px]'));
122
+ let arrowClass = 'bottom';
123
+ $: arrowClass = twMerge('absolute w-[9px] h-[9px] rotate-45 bg-inherit', position === 'top' && ($$props.border ? 'border-b border-r -bottom-[5px]' : '-bottom-[4px]'), position === 'bottom' && ($$props.border ? 'border-t border-l -top-[5px]' : '-top-[4px]'), position === 'left' && ($$props.border ? 'border-t border-r -right-[5px]' : '-right-[4px]'), position === 'right' && ($$props.border ? 'border-b border-l -left-[5px]' : '-left-[4px]'));
124
124
  </script>
125
125
 
126
126
  {#if !triggerEl}
@@ -138,7 +138,7 @@ $: arrowClass = classNames('after:w-[9px] after:h-[9px] after:rotate-45 bg-inher
138
138
  on:mouseenter={optional(activeContent && !clickable, showHandler)}
139
139
  on:mouseleave={optional(activeContent && !clickable, hideHandler)}
140
140
  {...$$restProps}
141
- class={classNames('outline-none', $$props.class)}>
141
+ class={twMerge('outline-none', $$props.class)}>
142
142
  <slot />
143
143
  {#if arrow}<div class={arrowClass} />{/if}
144
144
  </Frame>
@@ -1,10 +1,10 @@
1
- <script>import classNames from 'classnames';
1
+ <script>import { twMerge } from 'tailwind-merge';
2
2
  export let src;
3
3
  export let type = 'video/mp4';
4
4
  export let trackSrc = '';
5
5
  export let srclang = 'en';
6
6
  export let label = 'english_captions';
7
- let videoClass = classNames($$props.class);
7
+ let videoClass = twMerge($$props.class);
8
8
  </script>
9
9
 
10
10
  <video {...$$restProps} class={videoClass}>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flowbite-svelte",
3
- "version": "0.37.5",
3
+ "version": "0.38.1",
4
4
  "description": "Flowbite components for Svelte",
5
5
  "main": "dist/index.js",
6
6
  "author": {
@@ -55,6 +55,7 @@
55
55
  "svelte-meta-tags": "^2.7.2",
56
56
  "svelte-preprocess": "^5.0.4",
57
57
  "svelte2tsx": "^0.6.15",
58
+ "tailwind-merge": "^1.13.1",
58
59
  "tailwindcss": "^3.3.2",
59
60
  "tslib": "^2.5.2",
60
61
  "typescript": "^5.0.4",
@@ -109,7 +110,7 @@
109
110
  },
110
111
  "dependencies": {
111
112
  "@popperjs/core": "^2.11.8",
112
- "classnames": "^2.3.2",
113
+ "tailwind-merge": "^1.13.1",
113
114
  "flowbite": "^1.6.5"
114
115
  },
115
116
  "engines": {