flowbite-svelte 1.30.0 → 1.31.0

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 (195) hide show
  1. package/dist/accordion/Accordion.svelte +5 -4
  2. package/dist/accordion/AccordionItem.svelte +4 -4
  3. package/dist/alert/Alert.svelte +1 -1
  4. package/dist/avatar/Avatar.svelte +1 -1
  5. package/dist/badge/Badge.svelte +7 -3
  6. package/dist/banner/Banner.svelte +7 -3
  7. package/dist/bottom-navigation/BottomNav.svelte +7 -3
  8. package/dist/bottom-navigation/BottomNavHeader.svelte +7 -3
  9. package/dist/bottom-navigation/BottomNavHeaderItem.svelte +1 -1
  10. package/dist/bottom-navigation/BottomNavItem.svelte +7 -3
  11. package/dist/breadcrumb/Breadcrumb.svelte +7 -3
  12. package/dist/breadcrumb/BreadcrumbItem.svelte +1 -1
  13. package/dist/button-group/ButtonGroup.svelte +1 -1
  14. package/dist/buttons/Button.svelte +1 -1
  15. package/dist/buttons/GradientButton.svelte +1 -1
  16. package/dist/card/Card.svelte +7 -3
  17. package/dist/carousel/Carousel.svelte +7 -3
  18. package/dist/carousel/CarouselIndicators.svelte +1 -1
  19. package/dist/carousel/ControlButton.svelte +1 -1
  20. package/dist/carousel/Controls.svelte +1 -1
  21. package/dist/carousel/Slide.svelte +1 -1
  22. package/dist/carousel/Thumbnail.svelte +1 -1
  23. package/dist/carousel/Thumbnails.svelte +1 -1
  24. package/dist/clipboard/Clipboard.svelte +1 -1
  25. package/dist/clipboard-manager/ClipboardManager.svelte +1 -1
  26. package/dist/command-palette/CommandPalette.svelte +2 -2
  27. package/dist/command-palette/CommandPalette.svelte.d.ts +1 -1
  28. package/dist/context.d.ts +4 -1
  29. package/dist/context.js +0 -1
  30. package/dist/darkmode/DarkMode.svelte +1 -1
  31. package/dist/datepicker/Datepicker.svelte +1 -1
  32. package/dist/device-mockups/Android.svelte +2 -2
  33. package/dist/device-mockups/DefaultMockup.svelte +2 -2
  34. package/dist/device-mockups/Desktop.svelte +6 -2
  35. package/dist/device-mockups/Ios.svelte +2 -2
  36. package/dist/device-mockups/Laptop.svelte +2 -2
  37. package/dist/device-mockups/Smartwatch.svelte +2 -2
  38. package/dist/device-mockups/Tablet.svelte +2 -2
  39. package/dist/drawer/Drawer.svelte +1 -1
  40. package/dist/drawer/DrawerHandle.svelte +1 -1
  41. package/dist/drawer/Drawerhead.svelte +7 -3
  42. package/dist/dropdown/Dropdown.svelte +1 -1
  43. package/dist/dropdown/DropdownDivider.svelte +1 -1
  44. package/dist/dropdown/DropdownGroup.svelte +1 -1
  45. package/dist/dropdown/DropdownHeader.svelte +1 -1
  46. package/dist/dropdown/DropdownItem.svelte +7 -3
  47. package/dist/footer/Footer.svelte +1 -1
  48. package/dist/footer/FooterBrand.svelte +1 -1
  49. package/dist/footer/FooterCopyright.svelte +7 -3
  50. package/dist/footer/FooterIcon.svelte +1 -1
  51. package/dist/footer/FooterLink.svelte +7 -3
  52. package/dist/footer/FooterLinkGroup.svelte +1 -1
  53. package/dist/forms/button-toggle/ButtonToggle.svelte +7 -3
  54. package/dist/forms/button-toggle/ButtonToggleGroup.svelte +1 -1
  55. package/dist/forms/checkbox/Checkbox.svelte +7 -3
  56. package/dist/forms/checkbox/CheckboxButton.svelte +1 -1
  57. package/dist/forms/dropzone/Dropzone.svelte +1 -1
  58. package/dist/forms/fileupload/Fileupload.svelte +7 -3
  59. package/dist/forms/floating-label/FloatingLabelInput.svelte +3 -3
  60. package/dist/forms/helper/Helper.svelte +1 -1
  61. package/dist/forms/input-field/Input.svelte +3 -4
  62. package/dist/forms/label/Label.svelte +1 -1
  63. package/dist/forms/phoneinput/PhoneInput.svelte +1 -1
  64. package/dist/forms/radio/Radio.svelte +7 -3
  65. package/dist/forms/radio/RadioButton.svelte +1 -1
  66. package/dist/forms/range/Range.svelte +1 -1
  67. package/dist/forms/search/Search.svelte +7 -3
  68. package/dist/forms/select/MultiSelect.svelte +13 -6
  69. package/dist/forms/select/Select.svelte +7 -3
  70. package/dist/forms/tags/Tags.svelte +7 -4
  71. package/dist/forms/textarea/Textarea.svelte +3 -3
  72. package/dist/forms/timepicker/Timepicker.svelte +1 -1
  73. package/dist/forms/toggle/Toggle.svelte +7 -3
  74. package/dist/gallery/Gallery.svelte +7 -3
  75. package/dist/indicator/Indicator.svelte +1 -1
  76. package/dist/kanban/KanbanBoard.svelte +1 -1
  77. package/dist/kanban/KanbanCard.svelte +2 -2
  78. package/dist/kanban/KanbanCard.svelte.d.ts +1 -1
  79. package/dist/kbd/Kbd.svelte +1 -1
  80. package/dist/list-group/Listgroup.svelte +1 -1
  81. package/dist/list-group/ListgroupItem.svelte +1 -1
  82. package/dist/mega-menu/MegaMenu.svelte +7 -3
  83. package/dist/modal/Modal.svelte +7 -3
  84. package/dist/navbar/NavBrand.svelte +1 -1
  85. package/dist/navbar/NavContainer.svelte +1 -1
  86. package/dist/navbar/NavHamburger.svelte +7 -3
  87. package/dist/navbar/NavLi.svelte +1 -1
  88. package/dist/navbar/NavUl.svelte +7 -3
  89. package/dist/navbar/Navbar.svelte +1 -1
  90. package/dist/pagination/Pagination.svelte +1 -1
  91. package/dist/pagination/PaginationButton.svelte +1 -1
  92. package/dist/pagination/PaginationItem.svelte +1 -1
  93. package/dist/pagination/PaginationNav.svelte +7 -3
  94. package/dist/popover/Popover.svelte +7 -3
  95. package/dist/progress/Progressbar.svelte +1 -1
  96. package/dist/progress/Progressradial.svelte +1 -1
  97. package/dist/rating/AdvancedRating.svelte +3 -3
  98. package/dist/rating/Rating.svelte +7 -3
  99. package/dist/rating/Review.svelte +3 -3
  100. package/dist/rating/ScoreRating.svelte +1 -1
  101. package/dist/scroll-spy/ScrollSpy.svelte +2 -2
  102. package/dist/scroll-spy/ScrollSpy.svelte.d.ts +1 -1
  103. package/dist/sidebar/Sidebar.svelte +7 -3
  104. package/dist/sidebar/SidebarBrand.svelte +7 -3
  105. package/dist/sidebar/SidebarButton.svelte +1 -1
  106. package/dist/sidebar/SidebarCta.svelte +7 -3
  107. package/dist/sidebar/SidebarDropdownWrapper.svelte +7 -3
  108. package/dist/skeleton/CardPlaceholder.svelte +1 -1
  109. package/dist/skeleton/ImagePlaceholder.svelte +1 -1
  110. package/dist/skeleton/ListPlaceholder.svelte +1 -1
  111. package/dist/skeleton/Skeleton.svelte +1 -1
  112. package/dist/skeleton/TestimonialPlaceholder.svelte +1 -1
  113. package/dist/skeleton/TextPlaceholder.svelte +1 -1
  114. package/dist/skeleton/VideoPlaceholder.svelte +1 -1
  115. package/dist/skeleton/WidgetPlaceholder.svelte +1 -1
  116. package/dist/speed-dial/SpeedDial.svelte +7 -4
  117. package/dist/speed-dial/SpeedDialButton.svelte +7 -4
  118. package/dist/spinner/Spinner.svelte +1 -1
  119. package/dist/split-pane/Divider.svelte +4 -4
  120. package/dist/split-pane/Divider.svelte.d.ts +1 -1
  121. package/dist/split-pane/Pane.svelte +2 -2
  122. package/dist/split-pane/Pane.svelte.d.ts +1 -1
  123. package/dist/split-pane/SplitPane.svelte +2 -2
  124. package/dist/split-pane/SplitPane.svelte.d.ts +1 -1
  125. package/dist/step-indicator/StepIndicator.svelte +1 -1
  126. package/dist/stepper/BreadcrumbStepper.svelte +1 -1
  127. package/dist/stepper/DetailedStepper.svelte +1 -1
  128. package/dist/stepper/ProgressStepper.svelte +1 -1
  129. package/dist/stepper/Stepper.svelte +1 -1
  130. package/dist/stepper/TimelineStepper.svelte +1 -1
  131. package/dist/stepper/VerticalStepper.svelte +1 -1
  132. package/dist/table/Table.svelte +7 -3
  133. package/dist/table/TableBodyCell.svelte +1 -1
  134. package/dist/table/TableBodyRow.svelte +1 -1
  135. package/dist/table/TableHead.svelte +1 -1
  136. package/dist/table/TableHeadCell.svelte +1 -1
  137. package/dist/table/TableSearch.svelte +3 -3
  138. package/dist/tabs/TabItem.svelte +1 -1
  139. package/dist/tabs/Tabs.svelte +7 -3
  140. package/dist/theme/ThemeProvider.svelte +11 -6
  141. package/dist/theme/themeUtils.js +4 -2
  142. package/dist/timeline/Activity.svelte +1 -1
  143. package/dist/timeline/ActivityItem.svelte +3 -3
  144. package/dist/timeline/Group.svelte +3 -3
  145. package/dist/timeline/GroupItem.svelte +3 -3
  146. package/dist/timeline/Timeline.svelte +3 -5
  147. package/dist/timeline/TimelineItem.svelte +9 -5
  148. package/dist/timeline/TimelineItem.svelte.d.ts +1 -0
  149. package/dist/timeline/theme.d.ts +3 -0
  150. package/dist/timeline/theme.js +2 -1
  151. package/dist/toast/Toast.svelte +4 -4
  152. package/dist/toast/Toast.svelte.d.ts +1 -1
  153. package/dist/toast/ToastContainer.svelte +2 -2
  154. package/dist/toast/ToastContainer.svelte.d.ts +1 -1
  155. package/dist/toolbar/Toolbar.svelte +1 -1
  156. package/dist/toolbar/ToolbarButton.svelte +1 -1
  157. package/dist/toolbar/ToolbarGroup.svelte +1 -1
  158. package/dist/tooltip/Tooltip.svelte +1 -1
  159. package/dist/tooltip/Tooltip.svelte.d.ts +1 -1
  160. package/dist/tour/Tour.svelte +1 -1
  161. package/dist/types.d.ts +1 -0
  162. package/dist/typography/a/A.svelte +2 -2
  163. package/dist/typography/a/A.svelte.d.ts +1 -1
  164. package/dist/typography/blockquote/Blockquote.svelte +2 -2
  165. package/dist/typography/blockquote/Blockquote.svelte.d.ts +1 -1
  166. package/dist/typography/descriptionlist/DescriptionList.svelte +2 -2
  167. package/dist/typography/descriptionlist/DescriptionList.svelte.d.ts +1 -1
  168. package/dist/typography/heading/Heading.svelte +2 -2
  169. package/dist/typography/heading/Heading.svelte.d.ts +1 -1
  170. package/dist/typography/hr/Hr.svelte +3 -3
  171. package/dist/typography/img/Img.svelte +4 -4
  172. package/dist/typography/img/Img.svelte.d.ts +1 -1
  173. package/dist/typography/layout/Layout.svelte +2 -2
  174. package/dist/typography/layout/Layout.svelte.d.ts +1 -1
  175. package/dist/typography/list/Li.svelte +1 -1
  176. package/dist/typography/list/Li.svelte.d.ts +1 -1
  177. package/dist/typography/list/List.svelte +2 -2
  178. package/dist/typography/list/List.svelte.d.ts +1 -1
  179. package/dist/typography/mark/Mark.svelte +2 -2
  180. package/dist/typography/mark/Mark.svelte.d.ts +1 -1
  181. package/dist/typography/paragraph/P.svelte +2 -2
  182. package/dist/typography/paragraph/P.svelte.d.ts +1 -1
  183. package/dist/typography/secondary/Secondary.svelte +2 -2
  184. package/dist/typography/secondary/Secondary.svelte.d.ts +1 -1
  185. package/dist/typography/span/Span.svelte +2 -2
  186. package/dist/typography/span/Span.svelte.d.ts +1 -1
  187. package/dist/utils/Arrow.svelte +1 -1
  188. package/dist/utils/Arrow.svelte.d.ts +1 -1
  189. package/dist/utils/Popper.svelte +1 -1
  190. package/dist/utils/Popper.svelte.d.ts +1 -1
  191. package/dist/video/Video.svelte +2 -2
  192. package/dist/video/Video.svelte.d.ts +1 -1
  193. package/dist/virtual-masonry/VirtualMasonry.svelte +1 -1
  194. package/dist/virtuallist/VirtualList.svelte +1 -1
  195. package/package.json +22 -22
@@ -3,15 +3,19 @@
3
3
  import clsx from "clsx";
4
4
  import type { GalleryProps, ImgType } from "..";
5
5
  import { getTheme, warnThemeDeprecation } from "../theme/themeUtils";
6
+ import { untrack } from "svelte";
6
7
 
7
8
  let { children, figure, items = [], imgClass, class: className, classes, ...restProps }: GalleryProps = $props();
8
9
 
9
- // svelte-ignore state_referenced_locally
10
- warnThemeDeprecation("Gallery", { imgClass }, { imgClass: "image" });
10
+ warnThemeDeprecation(
11
+ "Gallery",
12
+ untrack(() => ({ imgClass })),
13
+ { imgClass: "image" }
14
+ );
11
15
 
12
16
  const styling = $derived(classes ?? { image: imgClass });
13
17
 
14
- const theme = getTheme("gallery");
18
+ const theme = $derived(getTheme("gallery"));
15
19
 
16
20
  function init(node: HTMLElement) {
17
21
  if (getComputedStyle(node).gap === "normal") node.style.gap = "inherit";
@@ -6,7 +6,7 @@
6
6
 
7
7
  let { children, color = "primary", cornerStyle = "circular", size = "md", border = false, placement, offset = true, class: className, ...restProps }: IndicatorProps = $props();
8
8
 
9
- const theme = getTheme("indicator");
9
+ const theme = $derived(getTheme("indicator"));
10
10
 
11
11
  let hasChildren = $derived(!!children);
12
12
  const base = $derived(
@@ -15,7 +15,7 @@
15
15
  ...restProps
16
16
  }: KanbanBoardProps = $props();
17
17
 
18
- const theme = getTheme("kanbanBoard");
18
+ const theme = $derived(getTheme("kanbanBoard"));
19
19
 
20
20
  // Changed from KanbanCard to KanbanCardType
21
21
  let draggedCard = $state<KanbanCardType | null>(null);
@@ -6,7 +6,7 @@
6
6
 
7
7
  let { card, isDragging = false, onDragStart, onDragEnd, classes, ...restProps }: KanbanCardProps = $props();
8
8
 
9
- const theme = getTheme("kanbanCard");
9
+ const theme = $derived(getTheme("kanbanCard"));
10
10
  const styles = kanbanCard();
11
11
  </script>
12
12
 
@@ -47,7 +47,7 @@
47
47
  @component
48
48
  [Go to docs](https://flowbite-svelte.com/)
49
49
  ## Type
50
- [KanbanCardProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2229)
50
+ [KanbanCardProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2230)
51
51
  ## Props
52
52
  @prop card
53
53
  @prop isDragging = false
@@ -2,7 +2,7 @@ import type { KanbanCardProps } from "../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [KanbanCardProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2229)
5
+ * [KanbanCardProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2230)
6
6
  * ## Props
7
7
  * @prop card
8
8
  * @prop isDragging = false
@@ -6,7 +6,7 @@
6
6
 
7
7
  let { children, class: className, ...restProps }: KbdProps = $props();
8
8
 
9
- const theme = getTheme("kbd");
9
+ const theme = $derived(getTheme("kbd"));
10
10
 
11
11
  const kbdCls = $derived(kbd({ class: clsx(theme, className) }));
12
12
  </script>
@@ -8,7 +8,7 @@
8
8
 
9
9
  let { children, items, active, onclick, horizontal, rounded, border, class: className, itemClass, iconClass, ...restProps }: ListgroupProps = $props();
10
10
 
11
- const theme = getTheme("listGroup");
11
+ const theme = $derived(getTheme("listGroup"));
12
12
 
13
13
  const base = $derived(listGroup({ rounded, border, horizontal, class: clsx(theme, className) }));
14
14
 
@@ -7,7 +7,7 @@
7
7
 
8
8
  let { children, active, current, disabled, horizontal, name, Icon, class: className, iconClass = "me-2.5 h-15 w-15", ...restProps }: ListgroupItemProps = $props();
9
9
 
10
- const theme = getTheme("listGroupItem");
10
+ const theme = $derived(getTheme("listGroupItem"));
11
11
 
12
12
  const listGroupCtx = getListGroupContext();
13
13
  const finalActive = $derived(active ?? listGroupCtx?.active);
@@ -4,14 +4,18 @@
4
4
  import type { MegaMenuProps } from "..";
5
5
  import Popper from "../utils/Popper.svelte";
6
6
  import { getTheme, warnThemeDeprecation } from "../theme/themeUtils";
7
+ import { untrack } from "svelte";
7
8
 
8
9
  let { children, extra, items = [], full, ulClass, isOpen = $bindable(false), class: className, extraClass, classes, ...restProps }: MegaMenuProps = $props();
9
10
 
10
- // svelte-ignore state_referenced_locally
11
- warnThemeDeprecation("MegaMenu", { ulClass, extraClass }, { ulClass: "ul", extraClass: "extra" });
11
+ warnThemeDeprecation(
12
+ "MegaMenu",
13
+ untrack(() => ({ ulClass, extraClass })),
14
+ { ulClass: "ul", extraClass: "extra" }
15
+ );
12
16
 
13
17
  const styling = $derived(classes ?? { ul: ulClass, extra: extraClass });
14
- const theme = getTheme("megamenu");
18
+ const theme = $derived(getTheme("megamenu"));
15
19
  const { base, div, ul, extra: extraCls } = $derived(megamenu({ full, hasExtra: !!extra }));
16
20
  </script>
17
21
 
@@ -7,6 +7,7 @@
7
7
  import { sineIn } from "svelte/easing";
8
8
  import { fade } from "svelte/transition";
9
9
  import { modal as modalStyle } from "./theme";
10
+ import { untrack } from "svelte";
10
11
 
11
12
  let {
12
13
  children,
@@ -30,12 +31,15 @@
30
31
  ...restProps
31
32
  }: ModalProps = $props();
32
33
 
33
- // svelte-ignore state_referenced_locally
34
- warnThemeDeprecation("Modal", { headerClass, bodyClass, footerClass, closeBtnClass }, { bodyClass: "body", headerClass: "header", footerClass: "footer", closeBtnClass: "close" });
34
+ warnThemeDeprecation(
35
+ "Modal",
36
+ untrack(() => ({ headerClass, bodyClass, footerClass, closeBtnClass })),
37
+ { bodyClass: "body", headerClass: "header", footerClass: "footer", closeBtnClass: "close" }
38
+ );
35
39
 
36
40
  const styling = $derived(classes ?? { header: headerClass, body: bodyClass, footer: footerClass, close: closeBtnClass });
37
41
 
38
- const theme = getTheme("modal");
42
+ const theme = $derived(getTheme("modal"));
39
43
 
40
44
  const paramsDefault = { duration: 100, easing: sineIn };
41
45
  const paramsOptions = $derived(transitionParams ?? paramsDefault);
@@ -6,7 +6,7 @@
6
6
 
7
7
  let { children, class: className, ...restProps }: NavBrandProps = $props();
8
8
 
9
- const theme = getTheme("navbarBrand");
9
+ const theme = $derived(getTheme("navbarBrand"));
10
10
  </script>
11
11
 
12
12
  <a {...restProps} class={navbarBrand({ class: clsx(theme, className) })}>
@@ -6,7 +6,7 @@
6
6
 
7
7
  let { children, fluid, class: className, ...restProps }: NavContainerProps = $props();
8
8
 
9
- const theme = getTheme("navbarContainer");
9
+ const theme = $derived(getTheme("navbarContainer"));
10
10
  </script>
11
11
 
12
12
  <div {...restProps} class={navbarContainer({ fluid, class: clsx(theme, className) })}>
@@ -7,15 +7,19 @@
7
7
  import type { MouseEventHandler } from "svelte/elements";
8
8
  import { getTheme, warnThemeDeprecation } from "../theme/themeUtils";
9
9
  import { getNavbarStateContext, getNavbarBreakpointContext } from "../context";
10
+ import { untrack } from "svelte";
10
11
 
11
12
  let { children, onclick, menuClass, class: className, classes, name = "Open main menu", ...restProps }: NavHamburgerProps = $props();
12
13
 
13
- // svelte-ignore state_referenced_locally
14
- warnThemeDeprecation("NavHamburger", { menuClass }, { menuClass: "menu" });
14
+ warnThemeDeprecation(
15
+ "NavHamburger",
16
+ untrack(() => ({ menuClass })),
17
+ { menuClass: "menu" }
18
+ );
15
19
 
16
20
  const styling = $derived(classes ?? { menu: menuClass });
17
21
 
18
- const theme = getTheme("navbarHamburger");
22
+ const theme = $derived(getTheme("navbarHamburger"));
19
23
  const navState = getNavbarStateContext();
20
24
  const navBreakpoint = getNavbarBreakpointContext();
21
25
  const { base, menu } = navbarHamburger({ breakpoint: navBreakpoint ?? "md" });
@@ -10,7 +10,7 @@
10
10
 
11
11
  let { children, onclick, activeClass, nonActiveClass, class: className, ...restProps }: NavLiProps = $props();
12
12
 
13
- const theme = getTheme("navbarLi");
13
+ const theme = $derived(getTheme("navbarLi"));
14
14
 
15
15
  let active = $derived(navState?.activeUrl ? restProps.href === navState.activeUrl : false);
16
16
  let liClass = $derived(
@@ -7,6 +7,7 @@
7
7
  import { fade, fly, scale, slide } from "svelte/transition";
8
8
  import { navbarUl } from "./theme";
9
9
  import { getNavbarStateContext, getNavbarBreakpointContext } from "../context";
10
+ import { untrack } from "svelte";
10
11
 
11
12
  let navState = getNavbarStateContext();
12
13
  let navBreakpoint = getNavbarBreakpointContext();
@@ -26,12 +27,15 @@
26
27
  ...restProps
27
28
  }: NavUlProps = $props();
28
29
 
29
- // svelte-ignore state_referenced_locally
30
- warnThemeDeprecation("NavUl", { ulClass, activeClass, nonActiveClass }, { ulClass: "ul", activeClass: "active", nonActiveClass: "nonActive" });
30
+ warnThemeDeprecation(
31
+ "NavUl",
32
+ untrack(() => ({ ulClass, activeClass, nonActiveClass })),
33
+ { ulClass: "ul", activeClass: "active", nonActiveClass: "nonActive" }
34
+ );
31
35
 
32
36
  const styling = $derived(classes ?? { ul: ulClass, active: activeClass, nonActive: nonActiveClass });
33
37
 
34
- const theme = getTheme("navbarUl");
38
+ const theme = $derived(getTheme("navbarUl"));
35
39
 
36
40
  // Default parameters for different transitions
37
41
  const getDefaultParams = (transitionFn: typeof slide | typeof fly | typeof fade | typeof scale) => {
@@ -8,7 +8,7 @@
8
8
 
9
9
  let { children, fluid, navContainerClass, class: className, closeOnClickOutside = true, breakpoint = "md", ...restProps }: NavbarProps = $props();
10
10
 
11
- const theme = getTheme("navbar");
11
+ const theme = $derived(getTheme("navbar"));
12
12
 
13
13
  let navState = $state<NavbarState>({ hidden: true });
14
14
  setNavbarStateContext(navState);
@@ -8,7 +8,7 @@
8
8
 
9
9
  let { pages = [], previous, next, prevContent, nextContent, table, size, ariaLabel, ...restProps }: PaginationProps = $props();
10
10
 
11
- const theme = getTheme("pagination");
11
+ const theme = $derived(getTheme("pagination"));
12
12
 
13
13
  // Create context object
14
14
  const ctx: PaginationContextType = {
@@ -7,7 +7,7 @@
7
7
 
8
8
  let { children, size, onclick, disabled = false, class: className, href, active = false, ...restProps }: PaginationButtonProps = $props();
9
9
 
10
- const theme = getTheme("paginationButton");
10
+ const theme = $derived(getTheme("paginationButton"));
11
11
 
12
12
  // Get context - it will be undefined if used outside Pagination
13
13
  const ctx = getPaginationContext();
@@ -7,7 +7,7 @@
7
7
 
8
8
  let { children, size, class: className, href, active, ...restProps }: PaginationItemProps = $props();
9
9
 
10
- const theme = getTheme("paginationItem");
10
+ const theme = $derived(getTheme("paginationItem"));
11
11
 
12
12
  // Get context - it will be undefined if used outside Pagination
13
13
  const ctx = getPaginationContext();
@@ -5,6 +5,7 @@
5
5
  import PaginationButton from "./PaginationButton.svelte";
6
6
  import { getTheme, warnThemeDeprecation } from "../theme/themeUtils";
7
7
  import { setPaginationContext } from "../context";
8
+ import { untrack } from "svelte";
8
9
 
9
10
  function paginationRange(start: number, end: number): number[] {
10
11
  return Array.from({ length: end - start + 1 }, (_, i) => start + i);
@@ -31,12 +32,15 @@
31
32
  ...restProps
32
33
  }: PaginationNavProps = $props();
33
34
 
34
- // svelte-ignore state_referenced_locally
35
- warnThemeDeprecation("PaginationNav", { prevClass, nextClass, spanClass, tableDivClass }, { prevClass: "prev", nextClass: "next", spanClass: "span", tableDivClass: "tableDiv" });
35
+ warnThemeDeprecation(
36
+ "PaginationNav",
37
+ untrack(() => ({ prevClass, nextClass, spanClass, tableDivClass })),
38
+ { prevClass: "prev", nextClass: "next", spanClass: "span", tableDivClass: "tableDiv" }
39
+ );
36
40
 
37
41
  const styling = $derived(classes ?? { prev: prevClass, next: nextClass, span: spanClass, tableDiv: tableDivClass });
38
42
 
39
- const theme = getTheme("paginationNav");
43
+ const theme = $derived(getTheme("paginationNav"));
40
44
 
41
45
  // Create context object
42
46
  const ctx: PaginationContextType = {
@@ -4,6 +4,7 @@
4
4
  import { popover } from "./theme";
5
5
  import type { PopoverProps } from "../types";
6
6
  import { getTheme, warnThemeDeprecation } from "../theme/themeUtils";
7
+ import { untrack } from "svelte";
7
8
 
8
9
  let {
9
10
  title: titleSlot,
@@ -19,12 +20,15 @@
19
20
  ...restProps
20
21
  }: PopoverProps = $props();
21
22
 
22
- // svelte-ignore state_referenced_locally
23
- warnThemeDeprecation("Popover", { defaultClass }, { defaultClass: "content" });
23
+ warnThemeDeprecation(
24
+ "Popover",
25
+ untrack(() => ({ defaultClass })),
26
+ { defaultClass: "content" }
27
+ );
24
28
 
25
29
  const styling = $derived(classes ?? { content: defaultClass });
26
30
 
27
- const theme = getTheme("popover");
31
+ const theme = $derived(getTheme("popover"));
28
32
 
29
33
  let { base, title, h3, content } = $derived(popover({ color }));
30
34
  </script>
@@ -21,7 +21,7 @@
21
21
  ...restProps
22
22
  }: ProgressbarProps = $props();
23
23
 
24
- const theme = getTheme("progressbar");
24
+ const theme = $derived(getTheme("progressbar"));
25
25
 
26
26
  let _progress = $derived(
27
27
  new Tween(0, {
@@ -24,7 +24,7 @@
24
24
  ...restProps
25
25
  }: ProgressradialProps = $props();
26
26
 
27
- const theme = getTheme("progressradial");
27
+ const theme = $derived(getTheme("progressradial"));
28
28
 
29
29
  const _progress = $derived(
30
30
  new Tween(0, {
@@ -3,13 +3,13 @@
3
3
  import { advancedRating } from "./theme";
4
4
  import type { AdvancedRatingProps } from "../types";
5
5
  import { getTheme, warnThemeDeprecation } from "../theme/themeUtils";
6
+ import { untrack } from "svelte";
6
7
 
7
8
  let { rating, globalText, ratings, divClass, spanClass, div2Class, div3Class, span2Class, class: className, classes, unit }: AdvancedRatingProps = $props();
8
9
 
9
- // svelte-ignore state_referenced_locally
10
10
  warnThemeDeprecation(
11
11
  "AdvancedRating",
12
- { divClass, spanClass, div2Class, div3Class, span2Class },
12
+ untrack(() => ({ divClass, spanClass, div2Class, div3Class, span2Class })),
13
13
  { divClass: "class", spanClass: "span", div2Class: "div2", div3Class: "div3", span2Class: "span2" }
14
14
  );
15
15
 
@@ -22,7 +22,7 @@
22
22
  }
23
23
  );
24
24
 
25
- const theme = getTheme("advancedRating");
25
+ const theme = $derived(getTheme("advancedRating"));
26
26
 
27
27
  const { base, span, div2, div3, span2 } = $derived(advancedRating());
28
28
  </script>
@@ -4,15 +4,19 @@
4
4
  import { rating as ratingVariants } from "./theme";
5
5
  import type { RatingProps } from "../types";
6
6
  import { getTheme, warnThemeDeprecation } from "../theme/themeUtils";
7
+ import { untrack } from "svelte";
7
8
 
8
9
  let { children, text, class: className, classes, size = 24, total = 5, rating = 4, icon: Icon = Star, count = false, pClass, ...restProps }: RatingProps = $props();
9
10
 
10
- // svelte-ignore state_referenced_locally
11
- warnThemeDeprecation("Rating", { pClass }, { pClass: "p" });
11
+ warnThemeDeprecation(
12
+ "Rating",
13
+ untrack(() => ({ pClass })),
14
+ { pClass: "p" }
15
+ );
12
16
 
13
17
  const styling = $derived(classes ?? { p: pClass });
14
18
 
15
- const theme = getTheme("rating");
19
+ const theme = $derived(getTheme("rating"));
16
20
 
17
21
  const { base, p } = $derived(ratingVariants());
18
22
  const ratingGroupId = crypto.randomUUID();
@@ -3,13 +3,13 @@
3
3
  import { review as reviewVariants } from "./theme";
4
4
  import type { ReviewProps } from "../types";
5
5
  import { getTheme, warnThemeDeprecation } from "../theme/themeUtils";
6
+ import { untrack } from "svelte";
6
7
 
7
8
  let { children, address, item1, item2, item3, review, classes, articleClass, divClass, div2Class, div3Class, imgClass, ulClass, liClass }: ReviewProps = $props();
8
9
 
9
- // svelte-ignore state_referenced_locally
10
10
  warnThemeDeprecation(
11
11
  "Review",
12
- { articleClass, divClass, div2Class, div3Class, imgClass, ulClass, liClass },
12
+ untrack(() => ({ articleClass, divClass, div2Class, div3Class, imgClass, ulClass, liClass })),
13
13
  { articleClass: "article", divClass: "div", div2Class: "div2", div3Class: "div3", imgClass: "img", ulClass: "ul", liClass: "li" }
14
14
  );
15
15
 
@@ -25,7 +25,7 @@
25
25
  }
26
26
  );
27
27
 
28
- const theme = getTheme("review");
28
+ const theme = $derived(getTheme("review"));
29
29
 
30
30
  const { article, div, div2, div3, img, ul, li } = $derived(reviewVariants());
31
31
  </script>
@@ -6,7 +6,7 @@
6
6
 
7
7
  let { ratings, ratings2, headerLabel, classes }: ScoreRatingProps = $props();
8
8
 
9
- const theme = getTheme("scoreRating");
9
+ const theme = $derived(getTheme("scoreRating"));
10
10
 
11
11
  const { desc1, desc2, desc3span, desc3p, link, bar } = $derived(scoreRating());
12
12
  </script>
@@ -21,7 +21,7 @@
21
21
  }: ScrollSpyProps = $props();
22
22
 
23
23
  const browser = typeof window !== "undefined";
24
- const styles = getTheme("scrollspy");
24
+ const styles = $derived(getTheme("scrollspy"));
25
25
  const INTERSECTION_RATIO_EPSILON = 0.01;
26
26
  // Bottom margin determines how far up the viewport a section must scroll before becoming inactive
27
27
  const ROOT_MARGIN_BOTTOM = "-40%";
@@ -258,7 +258,7 @@
258
258
  @component
259
259
  [Go to docs](https://flowbite-svelte.com/)
260
260
  ## Type
261
- [ScrollSpyProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2327)
261
+ [ScrollSpyProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2328)
262
262
  ## Props
263
263
  @prop items
264
264
  @prop position = "top"
@@ -2,7 +2,7 @@ import type { ScrollSpyProps } from "../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [ScrollSpyProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2327)
5
+ * [ScrollSpyProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2328)
6
6
  * ## Props
7
7
  * @prop items
8
8
  * @prop position = "top"
@@ -8,6 +8,7 @@
8
8
  import { writable } from "svelte/store";
9
9
  import { fly } from "svelte/transition";
10
10
  import { sidebar } from "./theme";
11
+ import { untrack } from "svelte";
11
12
 
12
13
  let {
13
14
  children,
@@ -33,8 +34,11 @@
33
34
  ...restProps
34
35
  }: SidebarProps = $props();
35
36
 
36
- // svelte-ignore state_referenced_locally
37
- warnThemeDeprecation("Sidebar", { backdropClass, divClass, nonActiveClass, activeClass }, { backdropClass: "backdrop", divClass: "div", nonActiveClass: "nonactive", activeClass: "active" });
37
+ warnThemeDeprecation(
38
+ "Sidebar",
39
+ untrack(() => ({ backdropClass, divClass, nonActiveClass, activeClass })),
40
+ { backdropClass: "backdrop", divClass: "div", nonActiveClass: "nonactive", activeClass: "active" }
41
+ );
38
42
 
39
43
  const styling = $derived(
40
44
  classes ?? {
@@ -45,7 +49,7 @@
45
49
  }
46
50
  );
47
51
 
48
- const theme = getTheme("sidebar");
52
+ const theme = $derived(getTheme("sidebar"));
49
53
 
50
54
  const breakpointValues = {
51
55
  sm: 640,
@@ -3,11 +3,15 @@
3
3
  import { sidebarBrand } from "./theme";
4
4
  import type { SidebarBrandProps } from "../types";
5
5
  import { getTheme, warnThemeDeprecation } from "../theme/themeUtils";
6
+ import { untrack } from "svelte";
6
7
 
7
8
  let { children, site, imgClass, spanClass, class: className, classes, ...restProps }: SidebarBrandProps = $props();
8
9
 
9
- // svelte-ignore state_referenced_locally
10
- warnThemeDeprecation("SidebarBrand", { imgClass, spanClass }, { imgClass: "img", spanClass: "span" });
10
+ warnThemeDeprecation(
11
+ "SidebarBrand",
12
+ untrack(() => ({ imgClass, spanClass })),
13
+ { imgClass: "img", spanClass: "span" }
14
+ );
11
15
 
12
16
  const styling = $derived(
13
17
  classes ?? {
@@ -16,7 +20,7 @@
16
20
  }
17
21
  );
18
22
 
19
- const theme = getTheme("sidebarBrand");
23
+ const theme = $derived(getTheme("sidebarBrand"));
20
24
 
21
25
  const { base, img, span } = $derived(sidebarBrand());
22
26
  </script>
@@ -6,7 +6,7 @@
6
6
 
7
7
  let { breakpoint = "md", class: className, classes, ...restProps }: SidebarButtonProps = $props();
8
8
 
9
- const theme = getTheme("sidebarButton");
9
+ const theme = $derived(getTheme("sidebarButton"));
10
10
 
11
11
  const { base, svg } = $derived(sidebarButton({ breakpoint }));
12
12
  </script>
@@ -3,11 +3,15 @@
3
3
  import { sidebarCta } from "./theme";
4
4
  import type { SidebarCtaProps } from "../types";
5
5
  import { getTheme, warnThemeDeprecation } from "../theme/themeUtils";
6
+ import { untrack } from "svelte";
6
7
 
7
8
  let { children, icon, divClass, spanClass, label, class: className, classes, ...restProps }: SidebarCtaProps = $props();
8
9
 
9
- // svelte-ignore state_referenced_locally
10
- warnThemeDeprecation("SidebarCta", { divClass, spanClass }, { divClass: "div", spanClass: "span" });
10
+ warnThemeDeprecation(
11
+ "SidebarCta",
12
+ untrack(() => ({ divClass, spanClass })),
13
+ { divClass: "div", spanClass: "span" }
14
+ );
11
15
 
12
16
  const styling = $derived(
13
17
  classes ?? {
@@ -16,7 +20,7 @@
16
20
  }
17
21
  );
18
22
 
19
- const theme = getTheme("sidebarCta");
23
+ const theme = $derived(getTheme("sidebarCta"));
20
24
 
21
25
  const { base, div, span } = $derived(sidebarCta());
22
26
  </script>
@@ -6,6 +6,7 @@
6
6
  import { writable } from "svelte/store";
7
7
  import { slide } from "svelte/transition";
8
8
  import { sidebarDropdownWrapper } from "./theme";
9
+ import { untrack } from "svelte";
9
10
 
10
11
  let {
11
12
  children,
@@ -26,8 +27,11 @@
26
27
  ...restProps
27
28
  }: SidebarDropdownWrapperProps = $props();
28
29
 
29
- // svelte-ignore state_referenced_locally
30
- warnThemeDeprecation("SidebarDropdownWrapper", { btnClass, spanClass, ulClass, svgClass }, { btnClass: "btn", spanClass: "span", ulClass: "ul", svgClass: "svg" });
30
+ warnThemeDeprecation(
31
+ "SidebarDropdownWrapper",
32
+ untrack(() => ({ btnClass, spanClass, ulClass, svgClass })),
33
+ { btnClass: "btn", spanClass: "span", ulClass: "ul", svgClass: "svg" }
34
+ );
31
35
 
32
36
  const styling = $derived(
33
37
  classes ?? {
@@ -38,7 +42,7 @@
38
42
  }
39
43
  );
40
44
 
41
- const theme = getTheme("sidebarDropdownWrapper");
45
+ const theme = $derived(getTheme("sidebarDropdownWrapper"));
42
46
  const { base, btn, span, svg, ul } = sidebarDropdownWrapper();
43
47
  const isControlled = $derived(isOpen !== undefined);
44
48
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  let { size = "sm", class: className, classes, ...restProps }: CardPlaceholderProps = $props();
8
8
 
9
- const theme = getTheme("cardPlaceholder");
9
+ const theme = $derived(getTheme("cardPlaceholder"));
10
10
 
11
11
  const { base, area, icon, line, footer } = $derived(cardPlaceholder({ size }));
12
12
  </script>
@@ -6,7 +6,7 @@
6
6
 
7
7
  let { size = "md", rounded, imgOnly = false, class: className, classes, ...restProps }: ImagePlaceholderProps = $props();
8
8
 
9
- const theme = getTheme("imagePlaceholder");
9
+ const theme = $derived(getTheme("imagePlaceholder"));
10
10
 
11
11
  const { base, image, svg, content, line } = $derived(
12
12
  imagePlaceholder({
@@ -6,7 +6,7 @@
6
6
 
7
7
  let { itemNumber = 5, size = "md", rounded, class: className, classes, ...restProps }: ListPlaceholderProps = $props();
8
8
 
9
- const theme = getTheme("listPlaceholder");
9
+ const theme = $derived(getTheme("listPlaceholder"));
10
10
 
11
11
  const { base, item, content, title, subTitle, extra } = $derived(listPlaceholder({ size, rounded }));
12
12
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  let { size = "sm", class: className, classes, ...restProps }: SkeletonProps = $props();
8
8
 
9
- const theme = getTheme("skeleton");
9
+ const theme = $derived(getTheme("skeleton"));
10
10
 
11
11
  const { wrapper, line } = $derived(skeleton({ size }));
12
12
  </script>
@@ -6,7 +6,7 @@
6
6
 
7
7
  let { class: className, classes, ...restProps }: TestimonialPlaceholderProps = $props();
8
8
 
9
- const theme = getTheme("testimonialPlaceholder");
9
+ const theme = $derived(getTheme("testimonialPlaceholder"));
10
10
 
11
11
  const { base, lineA, lineB, svg, content } = testimonialPlaceholder();
12
12
  </script>