flowbite-svelte 0.37.4 → 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 (159) 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 +35 -28
  5. package/dist/alerts/Alert.svelte.d.ts +3 -2
  6. package/dist/alerts/Alert.svelte.d.ts.map +1 -1
  7. package/dist/avatar/Avatar.svelte +2 -2
  8. package/dist/avatar/Avatar.svelte.d.ts.map +1 -1
  9. package/dist/badges/Badge.svelte +8 -4
  10. package/dist/badges/Badge.svelte.d.ts.map +1 -1
  11. package/dist/banner/Banner.svelte +3 -3
  12. package/dist/bottom-nav/BottomNav.svelte +3 -3
  13. package/dist/bottom-nav/BottomNavHeaderItem.svelte +2 -3
  14. package/dist/bottom-nav/BottomNavHeaderItem.svelte.d.ts.map +1 -1
  15. package/dist/bottom-nav/BottomNavItem.svelte +6 -6
  16. package/dist/breadcrumbs/Breadcrumb.svelte +3 -3
  17. package/dist/buttongroups/ButtonGroup.svelte +2 -2
  18. package/dist/buttons/Button.svelte +8 -2
  19. package/dist/buttons/Button.svelte.d.ts +6 -0
  20. package/dist/buttons/Button.svelte.d.ts.map +1 -1
  21. package/dist/buttons/GradientButton.svelte +9 -3
  22. package/dist/buttons/GradientButton.svelte.d.ts +6 -0
  23. package/dist/buttons/GradientButton.svelte.d.ts.map +1 -1
  24. package/dist/cards/Card.svelte +3 -3
  25. package/dist/darkmode/DarkMode.svelte +2 -2
  26. package/dist/drawer/Drawer.svelte +4 -4
  27. package/dist/dropdowns/Dropdown.svelte +6 -6
  28. package/dist/dropdowns/Dropdown.svelte.d.ts +2 -2
  29. package/dist/dropdowns/Dropdown.svelte.d.ts.map +1 -1
  30. package/dist/dropdowns/DropdownDivider.svelte +2 -2
  31. package/dist/dropdowns/DropdownHeader.svelte +2 -2
  32. package/dist/dropdowns/DropdownItem.svelte +2 -2
  33. package/dist/footer/Footer.svelte +19 -15
  34. package/dist/footer/Footer.svelte.d.ts +1 -2
  35. package/dist/footer/Footer.svelte.d.ts.map +1 -1
  36. package/dist/footer/FooterBrand.svelte +2 -2
  37. package/dist/footer/FooterCopyright.svelte +2 -2
  38. package/dist/footer/FooterIcon.svelte +2 -2
  39. package/dist/footer/FooterLink.svelte +2 -2
  40. package/dist/footer/FooterLinkGroup.svelte +2 -2
  41. package/dist/forms/Checkbox.svelte +6 -2
  42. package/dist/forms/Checkbox.svelte.d.ts +1 -0
  43. package/dist/forms/Checkbox.svelte.d.ts.map +1 -1
  44. package/dist/forms/Dropzone.svelte +2 -2
  45. package/dist/forms/Fileupload.svelte +2 -2
  46. package/dist/forms/FloatingLabelInput.svelte +5 -5
  47. package/dist/forms/Helper.svelte +2 -2
  48. package/dist/forms/Input.svelte +14 -3
  49. package/dist/forms/Input.svelte.d.ts.map +1 -1
  50. package/dist/forms/InputAddon.svelte +2 -2
  51. package/dist/forms/Label.svelte +2 -2
  52. package/dist/forms/MultiSelect.svelte +131 -0
  53. package/dist/forms/MultiSelect.svelte.d.ts +40 -0
  54. package/dist/forms/MultiSelect.svelte.d.ts.map +1 -0
  55. package/dist/forms/Radio.svelte +4 -3
  56. package/dist/forms/Radio.svelte.d.ts +2 -1
  57. package/dist/forms/Radio.svelte.d.ts.map +1 -1
  58. package/dist/forms/Range.svelte +2 -2
  59. package/dist/forms/Select.svelte +2 -2
  60. package/dist/forms/Textarea.svelte +5 -5
  61. package/dist/forms/Toggle.svelte +2 -2
  62. package/dist/gallery/Gallery.svelte +3 -3
  63. package/dist/gallery/Gallery.svelte.d.ts +3 -1
  64. package/dist/gallery/Gallery.svelte.d.ts.map +1 -1
  65. package/dist/index.d.ts +1 -0
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +1 -0
  68. package/dist/indicators/Indicator.svelte +3 -2
  69. package/dist/indicators/Indicator.svelte.d.ts.map +1 -1
  70. package/dist/kbd/ArrowKeyDown.svelte +2 -2
  71. package/dist/kbd/ArrowKeyLeft.svelte +2 -2
  72. package/dist/kbd/ArrowKeyRight.svelte +2 -2
  73. package/dist/kbd/ArrowKeyUp.svelte +2 -2
  74. package/dist/kbd/Kbd.svelte +2 -2
  75. package/dist/list-group/Listgroup.svelte +2 -2
  76. package/dist/list-group/ListgroupItem.svelte +2 -2
  77. package/dist/megamenu/MegaMenu.svelte +4 -4
  78. package/dist/modals/Modal.svelte +4 -4
  79. package/dist/navbar/NavBrand.svelte +2 -2
  80. package/dist/navbar/NavDropdown.svelte +1 -1
  81. package/dist/navbar/NavHamburger.svelte +2 -2
  82. package/dist/navbar/NavLi.svelte +2 -2
  83. package/dist/navbar/NavSidebarHamburger.svelte +2 -2
  84. package/dist/navbar/NavUl.svelte +7 -7
  85. package/dist/navbar/NavUl.svelte.d.ts +2 -2
  86. package/dist/navbar/Navbar.svelte +3 -3
  87. package/dist/paginations/Pagination.svelte +4 -4
  88. package/dist/paginations/PaginationItem.svelte +10 -2
  89. package/dist/popover/Popover.svelte +9 -2
  90. package/dist/progressbars/Progressbar.svelte +8 -7
  91. package/dist/progressbars/Progressbar.svelte.d.ts +1 -1
  92. package/dist/progressbars/Progressbar.svelte.d.ts.map +1 -1
  93. package/dist/ratings/AdvancedRating.svelte +4 -4
  94. package/dist/ratings/AdvancedRating.svelte.d.ts +2 -2
  95. package/dist/ratings/Rating.svelte +2 -2
  96. package/dist/ratings/RatingComment.svelte +2 -3
  97. package/dist/ratings/RatingComment.svelte.d.ts +1 -1
  98. package/dist/ratings/RatingComment.svelte.d.ts.map +1 -1
  99. package/dist/ratings/Review.svelte +11 -11
  100. package/dist/ratings/Review.svelte.d.ts +2 -2
  101. package/dist/sidebars/Sidebar.svelte +3 -3
  102. package/dist/sidebars/Sidebar.svelte.d.ts +1 -1
  103. package/dist/sidebars/SidebarBrand.svelte +2 -2
  104. package/dist/sidebars/SidebarCta.svelte +7 -7
  105. package/dist/sidebars/SidebarCta.svelte.d.ts +3 -3
  106. package/dist/sidebars/SidebarDropdownItem.svelte +2 -2
  107. package/dist/sidebars/SidebarDropdownWrapper.svelte +2 -2
  108. package/dist/sidebars/SidebarGroup.svelte +2 -2
  109. package/dist/sidebars/SidebarItem.svelte +2 -2
  110. package/dist/sidebars/SidebarWrapper.svelte +2 -2
  111. package/dist/skeleton/CardPlaceholder.svelte +3 -3
  112. package/dist/skeleton/ImagePlaceholder.svelte +2 -2
  113. package/dist/skeleton/ListPlaceholder.svelte +2 -2
  114. package/dist/skeleton/Skeleton.svelte +2 -2
  115. package/dist/skeleton/TestimonialPlaceholder.svelte +2 -2
  116. package/dist/skeleton/TextPlaceholder.svelte +3 -3
  117. package/dist/skeleton/TextPlaceholder.svelte.d.ts.map +1 -1
  118. package/dist/skeleton/VideoPlaceholder.svelte +3 -3
  119. package/dist/skeleton/VideoPlaceholder.svelte.d.ts.map +1 -1
  120. package/dist/skeleton/WidgetPlaceholder.svelte +2 -2
  121. package/dist/speed-dial/SpeedDial.svelte +3 -3
  122. package/dist/speed-dial/SpeedDialButton.svelte +2 -2
  123. package/dist/spinners/Spinner.svelte +2 -2
  124. package/dist/steps/StepIndicator.svelte +7 -7
  125. package/dist/tables/Table.svelte +3 -3
  126. package/dist/tables/TableBodyCell.svelte +2 -2
  127. package/dist/tables/TableBodyRow.svelte +8 -2
  128. package/dist/tables/TableHead.svelte +2 -2
  129. package/dist/tables/TableHeadCell.svelte +2 -2
  130. package/dist/tables/TableSearch.svelte +2 -2
  131. package/dist/tabs/TabItem.svelte +3 -3
  132. package/dist/tabs/Tabs.svelte +2 -2
  133. package/dist/timeline/TimelineItem.svelte +2 -2
  134. package/dist/toasts/Toast.svelte +3 -3
  135. package/dist/toasts/Toast.svelte.d.ts +38 -0
  136. package/dist/toasts/Toast.svelte.d.ts.map +1 -1
  137. package/dist/toolbar/Toolbar.svelte +3 -3
  138. package/dist/toolbar/ToolbarButton.svelte +2 -2
  139. package/dist/tooltips/Tooltip.svelte +2 -2
  140. package/dist/typography/A.svelte +3 -3
  141. package/dist/typography/Blockquote.svelte +2 -2
  142. package/dist/typography/DescriptionList.svelte +2 -2
  143. package/dist/typography/Heading.svelte +2 -2
  144. package/dist/typography/Hr.svelte +4 -4
  145. package/dist/typography/Img.svelte +3 -3
  146. package/dist/typography/Layout.svelte +2 -2
  147. package/dist/typography/Li.svelte +2 -2
  148. package/dist/typography/List.svelte +2 -2
  149. package/dist/typography/Mark.svelte +2 -2
  150. package/dist/typography/P.svelte +2 -2
  151. package/dist/typography/Secondary.svelte +2 -2
  152. package/dist/typography/Span.svelte +3 -3
  153. package/dist/utils/CloseButton.svelte +2 -2
  154. package/dist/utils/Frame.svelte +4 -4
  155. package/dist/utils/MenuButton.svelte +2 -2
  156. package/dist/utils/Popper.svelte +8 -7
  157. package/dist/utils/Popper.svelte.d.ts.map +1 -1
  158. package/dist/video/Video.svelte +2 -2
  159. package/package.json +27 -6
@@ -1,4 +1,4 @@
1
- <script>import classNames from 'classnames';
1
+ <script>import { twMerge, twJoin } from 'tailwind-merge';
2
2
  import { setContext } from 'svelte';
3
3
  export let divClass = 'relative overflow-x-auto';
4
4
  export let striped = false;
@@ -24,8 +24,8 @@ $: setContext('noborder', noborder);
24
24
  $: setContext('color', color);
25
25
  </script>
26
26
 
27
- <div class={classNames(divClass, shadow && 'shadow-md sm:rounded-lg')}>
28
- <table {...$$restProps} class={classNames('w-full text-left text-sm', colors[color], $$props.class)}>
27
+ <div class={twJoin(divClass, shadow && 'shadow-md sm:rounded-lg')}>
28
+ <table {...$$restProps} class={twMerge('w-full text-left text-sm', colors[color], $$props.class)}>
29
29
  <slot />
30
30
  </table>
31
31
  </div>
@@ -1,10 +1,10 @@
1
- <script>import classNames from 'classnames';
1
+ <script>import { twMerge } from 'tailwind-merge';
2
2
  import { getContext } from 'svelte';
3
3
  export let tdClass = 'px-6 py-4 whitespace-nowrap font-medium ';
4
4
  let color = 'default';
5
5
  color = getContext('color');
6
6
  let tdClassfinal;
7
- $: tdClassfinal = classNames(tdClass, color === 'default'
7
+ $: tdClassfinal = twMerge(tdClass, color === 'default'
8
8
  ? 'text-gray-900 dark:text-white'
9
9
  : 'text-blue-50 whitespace-nowrap dark:text-blue-100', $$props.class);
10
10
  </script>
@@ -1,4 +1,4 @@
1
- <script>import classNames from 'classnames';
1
+ <script>import { twMerge } from 'tailwind-merge';
2
2
  import { getContext } from 'svelte';
3
3
  export let color = getContext('color');
4
4
  const colors = {
@@ -29,7 +29,13 @@ const stripColors = {
29
29
  custom: ''
30
30
  };
31
31
  let trClass;
32
- $: trClass = classNames(!getContext('noborder') && 'border-b last:border-b-0', colors[color], getContext('hoverable') && hoverColors[color], getContext('striped') && stripColors[color], $$props.class);
32
+ $: trClass = twMerge([
33
+ !getContext('noborder') && 'border-b last:border-b-0',
34
+ colors[color],
35
+ getContext('hoverable') && hoverColors[color],
36
+ getContext('striped') && stripColors[color],
37
+ $$props.class
38
+ ]);
33
39
  </script>
34
40
 
35
41
  <tr {...$$restProps} class={trClass} on:click on:contextmenu>
@@ -1,4 +1,4 @@
1
- <script>import classNames from 'classnames';
1
+ <script>import { twMerge } from 'tailwind-merge';
2
2
  import { getContext } from 'svelte';
3
3
  export let theadClass = 'text-xs uppercase';
4
4
  export let defaultRow = true;
@@ -28,7 +28,7 @@ let borderColors = striped
28
28
  : color === 'custom'
29
29
  ? ''
30
30
  : `border-${color}-400`;
31
- $: theadClassfinal = classNames(theadClass, textColor, striped && borderColors, bgColors[color], $$props.class);
31
+ $: theadClassfinal = twMerge(theadClass, textColor, striped && borderColors, bgColors[color], $$props.class);
32
32
  </script>
33
33
 
34
34
  <thead {...$$restProps} class={theadClassfinal}>
@@ -1,10 +1,10 @@
1
- <script>import classNames from 'classnames';
1
+ <script>import { twMerge } from 'tailwind-merge';
2
2
  export let padding = 'px-6 py-3';
3
3
  </script>
4
4
 
5
5
  <th
6
6
  {...$$restProps}
7
- class={classNames(padding, $$props.class)}
7
+ class={twMerge(padding, $$props.class)}
8
8
  on:click
9
9
  on:focus
10
10
  on:keydown
@@ -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
  export let divClass = 'relative overflow-x-auto shadow-md sm:rounded-lg';
4
4
  export let inputValue = '';
@@ -44,7 +44,7 @@ $: setContext('color', color);
44
44
  {placeholder} />
45
45
  </div>
46
46
  </div>
47
- <table {...$$restProps} class={classNames('w-full text-left text-sm', colors[color], $$props.class)}>
47
+ <table {...$$restProps} class={twMerge('w-full text-left text-sm', colors[color], $$props.class)}>
48
48
  <slot />
49
49
  </table>
50
50
  </div>
@@ -1,6 +1,6 @@
1
1
  <script>import { getContext } from 'svelte';
2
2
  import { writable } from 'svelte/store';
3
- import classNames from 'classnames';
3
+ import { twMerge } from 'tailwind-merge';
4
4
  export let open = false;
5
5
  export let title = 'Tab title';
6
6
  export let activeClasses = undefined;
@@ -19,12 +19,12 @@ function init(node) {
19
19
  return { destroy };
20
20
  }
21
21
  let buttonClass;
22
- $: buttonClass = classNames(defaultClass, open ? activeClasses ?? ctx.activeClasses : inactiveClasses ?? ctx.inactiveClasses, open && 'active'
22
+ $: buttonClass = twMerge(defaultClass, open ? activeClasses ?? ctx.activeClasses : inactiveClasses ?? ctx.inactiveClasses, open && 'active'
23
23
  // $$restProps.disabled && 'cursor-not-allowed pointer-events-none'
24
24
  );
25
25
  </script>
26
26
 
27
- <li class={classNames('group', $$props.class)} role="presentation">
27
+ <li class={twMerge('group', $$props.class)} role="presentation">
28
28
  <button
29
29
  type="button"
30
30
  on:click={() => (open = true)}
@@ -1,7 +1,7 @@
1
1
  <script context="module">import { writable } from 'svelte/store';
2
2
  </script>
3
3
 
4
- <script>import classNames from 'classnames';
4
+ <script>import { twMerge } from 'tailwind-merge';
5
5
  import { setContext } from 'svelte';
6
6
  export let style = 'none';
7
7
  export let defaultClass = 'flex flex-wrap space-x-2';
@@ -36,7 +36,7 @@ function init(node) {
36
36
  });
37
37
  return { destroy };
38
38
  }
39
- $: ulClass = classNames(defaultClass, style === 'underline' && '-mb-px', $$props.class);
39
+ $: ulClass = twMerge(defaultClass, style === 'underline' && '-mb-px', $$props.class);
40
40
  </script>
41
41
 
42
42
  <ul class={ulClass}>
@@ -1,4 +1,4 @@
1
- <script>import classNames from 'classnames';
1
+ <script>import { twJoin } from 'tailwind-merge';
2
2
  import { getContext } from 'svelte';
3
3
  export let title = '';
4
4
  export let date = '';
@@ -32,7 +32,7 @@ const timeClasses = {
32
32
  group: 'text-lg font-semibold text-gray-900 dark:text-white',
33
33
  custom: customTimeClass
34
34
  };
35
- const h3Class = classNames(order === 'vertical'
35
+ const h3Class = twJoin(order === 'vertical'
36
36
  ? 'flex items-center mb-1 text-lg font-semibold text-gray-900 dark:text-white'
37
37
  : 'text-lg font-semibold text-gray-900 dark:text-white');
38
38
  </script>
@@ -1,5 +1,5 @@
1
1
  <script>import Frame from '../utils/Frame.svelte';
2
- import classNames from 'classnames';
2
+ import { twMerge } from 'tailwind-merge';
3
3
  import CloseButton from '../utils/CloseButton.svelte';
4
4
  import { fade } from 'svelte/transition';
5
5
  export let simple = false;
@@ -18,7 +18,7 @@ const positions = {
18
18
  none: ''
19
19
  };
20
20
  let finalDivClass;
21
- $: finalDivClass = classNames('flex', align ? 'items-center' : 'items-start', divClass, positions[position], $$props.class);
21
+ $: finalDivClass = twMerge('flex', align ? 'items-center' : 'items-start', divClass, positions[position], $$props.class);
22
22
  const colors = {
23
23
  primary: 'text-primary-500 bg-primary-100 dark:bg-primary-800 dark:text-primary-200',
24
24
  gray: 'text-gray-500 bg-gray-100 dark:bg-gray-700 dark:text-gray-200',
@@ -32,7 +32,7 @@ const colors = {
32
32
  none: ''
33
33
  };
34
34
  let iconClass;
35
- $: iconClass = classNames('inline-flex items-center justify-center shrink-0', colors[color], defaultIconClass);
35
+ $: iconClass = twMerge('inline-flex items-center justify-center shrink-0', colors[color], defaultIconClass);
36
36
  const clsBtnExtraClass = '-mx-1.5 -my-1.5 text-gray-400 hover:text-gray-900 focus:!ring-gray-300 hover:bg-gray-100 dark:text-gray-500 dark:hover:text-white dark:hover:bg-gray-700';
37
37
  </script>
38
38
 
@@ -150,6 +150,44 @@ declare const __propDef: {
150
150
  'on:load'?: import("svelte/elements").EventHandler<Event, Element> | null | undefined;
151
151
  'on:error'?: import("svelte/elements").EventHandler<Event, Element> | null | undefined;
152
152
  'on:toggle'?: import("svelte/elements").EventHandler<Event, HTMLAnchorElement> | null | undefined;
153
+ /**
154
+ * ## Features
155
+ * [Go to Toast](https://flowbite-svelte.com/docs/components/toast)
156
+ * - Setup
157
+ * - Default toast
158
+ * - Simple toast
159
+ * - Colors
160
+ * - Icons
161
+ * - Autohide example
162
+ * - Transitions
163
+ * - Blur examples
164
+ * - Fly examples
165
+ * - Undo button
166
+ * - Advanced examples
167
+ * - Toast message
168
+ * - Push notification
169
+ * - Interactive toast
170
+ * - Positioning
171
+ * ## Props
172
+ * @prop simple: boolean = false;
173
+ * @prop position: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'none' = 'none';
174
+ * @prop open: boolean = true;
175
+ * @prop divClass: string = 'w-full max-w-xs p-4';
176
+ * @prop defaultIconClass: string = 'inline-flex items-center justify-center flex-shrink-0 w-8 h-8 mr-3';
177
+ * ## Example
178
+ * ```
179
+ * <script>
180
+ * import { Toast } from 'flowbite-svelte';
181
+ * </script>
182
+ * <Toast>
183
+ * <svelte:fragment slot="icon">
184
+ * <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6"><path stroke-linecap="round" stroke-linejoin="round" d="M15.362 5.214A8.252 8.252 0 0112 21 8.25 8.25 0 016.038 7.048 8.287 8.287 0 009 9.6a8.983 8.983 0 013.361-6.867 8.21 8.21 0 003 2.48z" /><path stroke-linecap="round" stroke-linejoin="round" d="M12 18a3.75 3.75 0 00.495-7.467 5.99 5.99 0 00-1.925 3.546 5.974 5.974 0 01-2.133-1A3.75 3.75 0 0012 18z" />
185
+ * </svg>
186
+ * </svelte:fragment>
187
+ * Dismissable user notification.
188
+ * </Toast>
189
+ * ```
190
+ */
153
191
  'on:keydown'?: import("svelte/elements").KeyboardEventHandler<HTMLAnchorElement> | null | undefined;
154
192
  'on:keypress'?: import("svelte/elements").KeyboardEventHandler<HTMLAnchorElement> | null | undefined;
155
193
  'on:keyup'?: import("svelte/elements").KeyboardEventHandler<HTMLAnchorElement> | null | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"Toast.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/toasts/Toast.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAE5C;AAsHD,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,oBAAoB,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC;CAC3F"}
1
+ {"version":3,"file":"Toast.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/toasts/Toast.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAE5C;AAsHD,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAKf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAqCG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA1CoD,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,oBAAoB,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC;CAC3F"}
@@ -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
- export let color = 'text-blue-600 dark:text-blue-500';
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);
@@ -75,12 +75,12 @@ const borderColors = {
75
75
  navbar: 'border-gray-100 dark:border-gray-700',
76
76
  navbarUl: 'border-gray-100 dark:border-gray-700',
77
77
  form: 'border-gray-300 dark:border-gray-700',
78
- primary: 'border-primary-500 dark:bg-primary-200 ',
79
- orange: 'border-orange-300 dark:bg-orange-800',
78
+ primary: 'border-primary-500 dark:border-primary-200 ',
79
+ orange: 'border-orange-300 dark:border-orange-800',
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;
@@ -53,6 +53,7 @@ const hideHandler = (ev) => {
53
53
  open = false;
54
54
  };
55
55
  function init(node, _triggerEl) {
56
+ const arrowEl = arrow ? node.lastElementChild : undefined;
56
57
  popper = createPopper(_triggerEl, node, {
57
58
  placement,
58
59
  strategy,
@@ -68,7 +69,7 @@ function init(node, _triggerEl) {
68
69
  },
69
70
  { name: 'eventListeners', enabled: open },
70
71
  { name: 'flip', enabled: false },
71
- { name: 'arrow', enabled: true }
72
+ { name: 'arrow', enabled: arrow, options: { element: arrowEl, padding: 10 } }
72
73
  ]
73
74
  });
74
75
  return {
@@ -116,10 +117,10 @@ onMount(() => {
116
117
  function optional(pred, func) {
117
118
  return (pred && func) || null;
118
119
  }
119
- let position;
120
+ let position = 'bottom';
120
121
  $: position = placement.split('-', 1)[0];
121
122
  let arrowClass = 'bottom';
122
- $: arrowClass = classNames('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]'));
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]'));
123
124
  </script>
124
125
 
125
126
  {#if !triggerEl}
@@ -137,13 +138,13 @@ $: arrowClass = classNames('absolute w-[9px] h-[9px] rotate-45 bg-inherit', posi
137
138
  on:mouseenter={optional(activeContent && !clickable, showHandler)}
138
139
  on:mouseleave={optional(activeContent && !clickable, hideHandler)}
139
140
  {...$$restProps}
140
- class={classNames('outline-none', $$props.class)}>
141
+ class={twMerge('outline-none', $$props.class)}>
141
142
  <slot />
142
- {#if arrow}<div data-popper-arrow class={arrowClass} />{/if}
143
+ {#if arrow}<div class={arrowClass} />{/if}
143
144
  </Frame>
144
145
  {/if}
145
146
 
146
- <!--
147
+ <!--
147
148
  @component
148
149
  ## Props
149
150
  @prop activeContent: boolean = false;
@@ -1 +1 @@
1
- {"version":3,"file":"Popper.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/Popper.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAE5C;AAID,OAAO,KAAK,EAAE,SAAS,EAAY,MAAM,gBAAgB,CAAC;AA6K1D,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAwC,CAAC;AACxD,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;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,oBAAoB,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC;CAC/F"}
1
+ {"version":3,"file":"Popper.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/Popper.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAE5C;AAID,OAAO,KAAK,EAAE,SAAS,EAAY,MAAM,gBAAgB,CAAC;AA8K1D,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAwC,CAAC;AACxD,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;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,oBAAoB,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC;CAC/F"}
@@ -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}>