flowbite-svelte 1.29.1 → 1.30.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 (354) hide show
  1. package/dist/accordion/Accordion.svelte +26 -13
  2. package/dist/accordion/Accordion.svelte.d.ts +2 -2
  3. package/dist/accordion/AccordionItem.svelte +12 -10
  4. package/dist/accordion/AccordionItem.svelte.d.ts +1 -1
  5. package/dist/alert/Alert.svelte +1 -1
  6. package/dist/alert/Alert.svelte.d.ts +1 -1
  7. package/dist/avatar/Avatar.svelte +4 -4
  8. package/dist/avatar/Avatar.svelte.d.ts +1 -1
  9. package/dist/badge/Badge.svelte +7 -2
  10. package/dist/badge/Badge.svelte.d.ts +1 -1
  11. package/dist/banner/Banner.svelte +7 -2
  12. package/dist/banner/Banner.svelte.d.ts +1 -1
  13. package/dist/bottom-navigation/BottomNav.svelte +25 -13
  14. package/dist/bottom-navigation/BottomNav.svelte.d.ts +2 -2
  15. package/dist/bottom-navigation/BottomNavHeader.svelte +7 -2
  16. package/dist/bottom-navigation/BottomNavHeader.svelte.d.ts +1 -1
  17. package/dist/bottom-navigation/BottomNavHeaderItem.svelte +1 -1
  18. package/dist/bottom-navigation/BottomNavHeaderItem.svelte.d.ts +1 -1
  19. package/dist/bottom-navigation/BottomNavItem.svelte +15 -9
  20. package/dist/bottom-navigation/BottomNavItem.svelte.d.ts +1 -1
  21. package/dist/breadcrumb/Breadcrumb.svelte +9 -3
  22. package/dist/breadcrumb/Breadcrumb.svelte.d.ts +1 -1
  23. package/dist/breadcrumb/BreadcrumbItem.svelte +1 -1
  24. package/dist/breadcrumb/BreadcrumbItem.svelte.d.ts +1 -1
  25. package/dist/button-group/ButtonGroup.svelte +15 -4
  26. package/dist/button-group/ButtonGroup.svelte.d.ts +1 -1
  27. package/dist/buttons/Button.svelte +5 -4
  28. package/dist/buttons/GradientButton.svelte +4 -4
  29. package/dist/buttons/GradientButton.svelte.d.ts +1 -1
  30. package/dist/card/Card.svelte +7 -2
  31. package/dist/card/Card.svelte.d.ts +1 -1
  32. package/dist/carousel/Carousel.svelte +17 -14
  33. package/dist/carousel/Carousel.svelte.d.ts +1 -1
  34. package/dist/carousel/CarouselIndicators.svelte +19 -17
  35. package/dist/carousel/CarouselIndicators.svelte.d.ts +1 -1
  36. package/dist/carousel/ControlButton.svelte +2 -2
  37. package/dist/carousel/ControlButton.svelte.d.ts +1 -1
  38. package/dist/carousel/Controls.svelte +5 -4
  39. package/dist/carousel/Controls.svelte.d.ts +1 -1
  40. package/dist/carousel/Slide.svelte +8 -8
  41. package/dist/carousel/Slide.svelte.d.ts +1 -1
  42. package/dist/carousel/Thumbnail.svelte +1 -1
  43. package/dist/carousel/Thumbnail.svelte.d.ts +1 -1
  44. package/dist/carousel/Thumbnails.svelte +1 -1
  45. package/dist/carousel/Thumbnails.svelte.d.ts +1 -1
  46. package/dist/clipboard/Clipboard.svelte +1 -1
  47. package/dist/clipboard/Clipboard.svelte.d.ts +1 -1
  48. package/dist/clipboard-manager/ClipboardManager.svelte +7 -2
  49. package/dist/command-palette/CommandPalette.svelte +1 -1
  50. package/dist/command-palette/CommandPalette.svelte.d.ts +1 -1
  51. package/dist/context.d.ts +47 -0
  52. package/dist/context.js +72 -0
  53. package/dist/darkmode/DarkMode.svelte +1 -1
  54. package/dist/darkmode/DarkMode.svelte.d.ts +1 -1
  55. package/dist/datepicker/Datepicker.svelte +17 -11
  56. package/dist/device-mockups/Android.svelte +3 -2
  57. package/dist/device-mockups/Android.svelte.d.ts +1 -1
  58. package/dist/device-mockups/DefaultMockup.svelte +4 -2
  59. package/dist/device-mockups/DefaultMockup.svelte.d.ts +1 -1
  60. package/dist/device-mockups/Desktop.svelte +8 -2
  61. package/dist/device-mockups/Desktop.svelte.d.ts +1 -1
  62. package/dist/device-mockups/DeviceMockup.svelte +1 -1
  63. package/dist/device-mockups/DeviceMockup.svelte.d.ts +1 -1
  64. package/dist/device-mockups/Ios.svelte +4 -2
  65. package/dist/device-mockups/Ios.svelte.d.ts +1 -1
  66. package/dist/device-mockups/Laptop.svelte +4 -2
  67. package/dist/device-mockups/Laptop.svelte.d.ts +1 -1
  68. package/dist/device-mockups/Smartwatch.svelte +4 -2
  69. package/dist/device-mockups/Smartwatch.svelte.d.ts +1 -1
  70. package/dist/device-mockups/Tablet.svelte +4 -2
  71. package/dist/device-mockups/Tablet.svelte.d.ts +1 -1
  72. package/dist/device-mockups/theme.d.ts +12 -12
  73. package/dist/dialog/Dialog.svelte +1 -1
  74. package/dist/dialog/Dialog.svelte.d.ts +1 -1
  75. package/dist/drawer/Drawer.svelte +18 -9
  76. package/dist/drawer/Drawer.svelte.d.ts +2 -2
  77. package/dist/drawer/DrawerHandle.svelte +3 -3
  78. package/dist/drawer/DrawerHandle.svelte.d.ts +1 -1
  79. package/dist/drawer/Drawerhead.svelte +8 -2
  80. package/dist/drawer/Drawerhead.svelte.d.ts +1 -1
  81. package/dist/drawer/theme.d.ts +3 -3
  82. package/dist/drawer/theme.js +2 -2
  83. package/dist/dropdown/Dropdown.svelte +10 -7
  84. package/dist/dropdown/Dropdown.svelte.d.ts +1 -1
  85. package/dist/dropdown/DropdownDivider.svelte +1 -1
  86. package/dist/dropdown/DropdownDivider.svelte.d.ts +1 -1
  87. package/dist/dropdown/DropdownGroup.svelte +1 -1
  88. package/dist/dropdown/DropdownGroup.svelte.d.ts +1 -1
  89. package/dist/dropdown/DropdownHeader.svelte +1 -1
  90. package/dist/dropdown/DropdownHeader.svelte.d.ts +1 -1
  91. package/dist/dropdown/DropdownItem.svelte +11 -5
  92. package/dist/dropdown/DropdownItem.svelte.d.ts +1 -1
  93. package/dist/dropdown/theme.d.ts +3 -3
  94. package/dist/footer/Footer.svelte +1 -1
  95. package/dist/footer/Footer.svelte.d.ts +1 -1
  96. package/dist/footer/FooterBrand.svelte +1 -1
  97. package/dist/footer/FooterBrand.svelte.d.ts +1 -1
  98. package/dist/footer/FooterCopyright.svelte +11 -4
  99. package/dist/footer/FooterCopyright.svelte.d.ts +1 -1
  100. package/dist/footer/FooterIcon.svelte +1 -1
  101. package/dist/footer/FooterIcon.svelte.d.ts +1 -1
  102. package/dist/footer/FooterLink.svelte +8 -2
  103. package/dist/footer/FooterLink.svelte.d.ts +1 -1
  104. package/dist/footer/FooterLinkGroup.svelte +1 -1
  105. package/dist/footer/FooterLinkGroup.svelte.d.ts +1 -1
  106. package/dist/footer/theme.d.ts +3 -3
  107. package/dist/forms/button-toggle/ButtonToggle.svelte +34 -14
  108. package/dist/forms/button-toggle/ButtonToggle.svelte.d.ts +1 -1
  109. package/dist/forms/button-toggle/ButtonToggleGroup.svelte +32 -20
  110. package/dist/forms/button-toggle/CheckIcon.svelte +1 -1
  111. package/dist/forms/button-toggle/CheckIcon.svelte.d.ts +1 -1
  112. package/dist/forms/checkbox/Checkbox.svelte +7 -1
  113. package/dist/forms/checkbox/CheckboxButton.svelte +1 -1
  114. package/dist/forms/checkbox/CheckboxButton.svelte.d.ts +1 -1
  115. package/dist/forms/dropzone/Dropzone.svelte +1 -1
  116. package/dist/forms/dropzone/Dropzone.svelte.d.ts +1 -1
  117. package/dist/forms/fileupload/Fileupload.svelte +8 -2
  118. package/dist/forms/fileupload/Fileupload.svelte.d.ts +1 -1
  119. package/dist/forms/floating-label/FloatingLabelInput.svelte +4 -2
  120. package/dist/forms/floating-label/FloatingLabelInput.svelte.d.ts +1 -1
  121. package/dist/forms/helper/Helper.svelte +1 -1
  122. package/dist/forms/helper/Helper.svelte.d.ts +1 -1
  123. package/dist/forms/input-addon/InputAddon.svelte +18 -16
  124. package/dist/forms/input-addon/InputAddon.svelte.d.ts +1 -1
  125. package/dist/forms/input-field/Input.svelte +7 -7
  126. package/dist/forms/input-field/index.d.ts +1 -1
  127. package/dist/forms/input-field/theme.js +2 -2
  128. package/dist/forms/label/Label.svelte +1 -1
  129. package/dist/forms/label/Label.svelte.d.ts +1 -1
  130. package/dist/forms/radio/Radio.svelte +7 -1
  131. package/dist/forms/radio/Radio.svelte.d.ts +2 -2
  132. package/dist/forms/radio/RadioButton.svelte.d.ts +2 -2
  133. package/dist/forms/range/Range.svelte +1 -1
  134. package/dist/forms/range/Range.svelte.d.ts +1 -1
  135. package/dist/forms/search/Search.svelte +8 -2
  136. package/dist/forms/search/Search.svelte.d.ts +1 -1
  137. package/dist/forms/select/MultiSelect.svelte +18 -7
  138. package/dist/forms/select/Select.svelte +10 -6
  139. package/dist/forms/tags/Tags.svelte +7 -2
  140. package/dist/forms/tags/theme.d.ts +3 -3
  141. package/dist/forms/textarea/Textarea.svelte +4 -2
  142. package/dist/forms/textarea/Textarea.svelte.d.ts +1 -1
  143. package/dist/forms/timepicker/Timepicker.svelte +2 -2
  144. package/dist/forms/timepicker/Timepicker.svelte.d.ts +1 -1
  145. package/dist/forms/toggle/Toggle.svelte +8 -2
  146. package/dist/forms/toggle/Toggle.svelte.d.ts +1 -1
  147. package/dist/gallery/Gallery.svelte +8 -2
  148. package/dist/gallery/Gallery.svelte.d.ts +1 -1
  149. package/dist/gallery/theme.d.ts +3 -3
  150. package/dist/indicator/Indicator.svelte +2 -2
  151. package/dist/indicator/Indicator.svelte.d.ts +1 -1
  152. package/dist/kanban/KanbanCard.svelte +1 -1
  153. package/dist/kanban/KanbanCard.svelte.d.ts +1 -1
  154. package/dist/kbd/Kbd.svelte +2 -2
  155. package/dist/kbd/Kbd.svelte.d.ts +1 -1
  156. package/dist/list-group/Listgroup.svelte +15 -5
  157. package/dist/list-group/Listgroup.svelte.d.ts +1 -1
  158. package/dist/list-group/ListgroupItem.svelte +6 -5
  159. package/dist/list-group/ListgroupItem.svelte.d.ts +1 -1
  160. package/dist/mega-menu/MegaMenu.svelte +8 -3
  161. package/dist/mega-menu/MegaMenu.svelte.d.ts +1 -1
  162. package/dist/modal/Modal.svelte +9 -3
  163. package/dist/modal/Modal.svelte.d.ts +1 -1
  164. package/dist/navbar/Menu.svelte +5 -3
  165. package/dist/navbar/Menu.svelte.d.ts +1 -1
  166. package/dist/navbar/NavBrand.svelte +1 -1
  167. package/dist/navbar/NavBrand.svelte.d.ts +1 -1
  168. package/dist/navbar/NavContainer.svelte +1 -1
  169. package/dist/navbar/NavContainer.svelte.d.ts +1 -1
  170. package/dist/navbar/NavHamburger.svelte +14 -7
  171. package/dist/navbar/NavHamburger.svelte.d.ts +1 -1
  172. package/dist/navbar/NavLi.svelte +12 -8
  173. package/dist/navbar/NavLi.svelte.d.ts +1 -1
  174. package/dist/navbar/NavUl.svelte +15 -8
  175. package/dist/navbar/NavUl.svelte.d.ts +1 -1
  176. package/dist/navbar/Navbar.svelte +8 -5
  177. package/dist/navbar/Navbar.svelte.d.ts +1 -1
  178. package/dist/pagination/Pagination.svelte +18 -6
  179. package/dist/pagination/Pagination.svelte.d.ts +1 -1
  180. package/dist/pagination/PaginationButton.svelte +12 -13
  181. package/dist/pagination/PaginationButton.svelte.d.ts +1 -1
  182. package/dist/pagination/PaginationItem.svelte +14 -5
  183. package/dist/pagination/PaginationItem.svelte.d.ts +1 -1
  184. package/dist/pagination/PaginationNav.svelte +28 -11
  185. package/dist/pagination/PaginationNav.svelte.d.ts +1 -1
  186. package/dist/popover/Popover.svelte +8 -3
  187. package/dist/popover/Popover.svelte.d.ts +1 -1
  188. package/dist/progress/Progressbar.svelte +7 -5
  189. package/dist/progress/Progressbar.svelte.d.ts +1 -1
  190. package/dist/progress/Progressradial.svelte +8 -6
  191. package/dist/progress/Progressradial.svelte.d.ts +1 -1
  192. package/dist/rating/AdvancedRating.svelte +4 -2
  193. package/dist/rating/AdvancedRating.svelte.d.ts +1 -1
  194. package/dist/rating/CustomIcon.svelte +2 -2
  195. package/dist/rating/CustomIcon.svelte.d.ts +1 -1
  196. package/dist/rating/Heart.svelte +2 -2
  197. package/dist/rating/Heart.svelte.d.ts +1 -1
  198. package/dist/rating/Rating.svelte +13 -6
  199. package/dist/rating/Rating.svelte.d.ts +1 -1
  200. package/dist/rating/RatingComment.svelte +1 -1
  201. package/dist/rating/RatingComment.svelte.d.ts +1 -1
  202. package/dist/rating/Review.svelte +4 -2
  203. package/dist/rating/Review.svelte.d.ts +1 -1
  204. package/dist/rating/ScoreRating.svelte +1 -1
  205. package/dist/rating/ScoreRating.svelte.d.ts +1 -1
  206. package/dist/rating/Star.svelte +2 -2
  207. package/dist/rating/Star.svelte.d.ts +1 -1
  208. package/dist/rating/Thumbup.svelte +2 -2
  209. package/dist/rating/Thumbup.svelte.d.ts +1 -1
  210. package/dist/rating/theme.d.ts +6 -6
  211. package/dist/scroll-spy/ScrollSpy.svelte +5 -2
  212. package/dist/scroll-spy/ScrollSpy.svelte.d.ts +1 -1
  213. package/dist/sidebar/Sidebar.svelte +29 -14
  214. package/dist/sidebar/Sidebar.svelte.d.ts +1 -1
  215. package/dist/sidebar/SidebarBrand.svelte +8 -2
  216. package/dist/sidebar/SidebarBrand.svelte.d.ts +1 -1
  217. package/dist/sidebar/SidebarButton.svelte +1 -1
  218. package/dist/sidebar/SidebarButton.svelte.d.ts +1 -1
  219. package/dist/sidebar/SidebarCta.svelte +8 -2
  220. package/dist/sidebar/SidebarCta.svelte.d.ts +1 -1
  221. package/dist/sidebar/SidebarDropdownWrapper.svelte +11 -10
  222. package/dist/sidebar/SidebarDropdownWrapper.svelte.d.ts +1 -1
  223. package/dist/sidebar/SidebarGroup.svelte +1 -1
  224. package/dist/sidebar/SidebarGroup.svelte.d.ts +1 -1
  225. package/dist/sidebar/SidebarItem.svelte +8 -8
  226. package/dist/sidebar/SidebarItem.svelte.d.ts +2 -2
  227. package/dist/sidebar/theme.d.ts +6 -6
  228. package/dist/skeleton/CardPlaceholder.svelte +1 -1
  229. package/dist/skeleton/CardPlaceholder.svelte.d.ts +1 -1
  230. package/dist/skeleton/ImagePlaceholder.svelte +1 -1
  231. package/dist/skeleton/ImagePlaceholder.svelte.d.ts +1 -1
  232. package/dist/skeleton/ListPlaceholder.svelte +1 -1
  233. package/dist/skeleton/ListPlaceholder.svelte.d.ts +1 -1
  234. package/dist/skeleton/Skeleton.svelte +1 -1
  235. package/dist/skeleton/Skeleton.svelte.d.ts +1 -1
  236. package/dist/skeleton/TestimonialPlaceholder.svelte +1 -1
  237. package/dist/skeleton/TestimonialPlaceholder.svelte.d.ts +1 -1
  238. package/dist/skeleton/TextPlaceholder.svelte +1 -1
  239. package/dist/skeleton/TextPlaceholder.svelte.d.ts +1 -1
  240. package/dist/skeleton/VideoPlaceholder.svelte +1 -1
  241. package/dist/skeleton/VideoPlaceholder.svelte.d.ts +1 -1
  242. package/dist/skeleton/WidgetPlaceholder.svelte +1 -1
  243. package/dist/skeleton/WidgetPlaceholder.svelte.d.ts +1 -1
  244. package/dist/speed-dial/SpeedDial.svelte +11 -4
  245. package/dist/speed-dial/SpeedDial.svelte.d.ts +1 -1
  246. package/dist/speed-dial/SpeedDialButton.svelte +9 -4
  247. package/dist/speed-dial/SpeedDialButton.svelte.d.ts +1 -1
  248. package/dist/speed-dial/SpeedDialTrigger.svelte +1 -1
  249. package/dist/speed-dial/SpeedDialTrigger.svelte.d.ts +1 -1
  250. package/dist/spinner/Spinner.svelte +1 -1
  251. package/dist/spinner/Spinner.svelte.d.ts +1 -1
  252. package/dist/split-pane/Divider.svelte +1 -1
  253. package/dist/split-pane/Divider.svelte.d.ts +1 -1
  254. package/dist/split-pane/Pane.svelte +2 -2
  255. package/dist/split-pane/Pane.svelte.d.ts +1 -1
  256. package/dist/split-pane/SplitPane.svelte +12 -37
  257. package/dist/split-pane/SplitPane.svelte.d.ts +1 -14
  258. package/dist/step-indicator/StepIndicator.svelte +61 -9
  259. package/dist/step-indicator/StepIndicator.svelte.d.ts +7 -5
  260. package/dist/stepper/BreadcrumbStepper.svelte +1 -4
  261. package/dist/stepper/BreadcrumbStepper.svelte.d.ts +1 -1
  262. package/dist/stepper/CheckmarkIcon.svelte +2 -2
  263. package/dist/stepper/DetailedStepper.svelte +1 -4
  264. package/dist/stepper/DetailedStepper.svelte.d.ts +1 -1
  265. package/dist/stepper/ProgressStepper.svelte +1 -4
  266. package/dist/stepper/ProgressStepper.svelte.d.ts +1 -1
  267. package/dist/stepper/Stepper.svelte +1 -4
  268. package/dist/stepper/Stepper.svelte.d.ts +1 -1
  269. package/dist/stepper/TimelineStepper.svelte +1 -4
  270. package/dist/stepper/TimelineStepper.svelte.d.ts +1 -1
  271. package/dist/stepper/VerticalStepper.svelte +1 -4
  272. package/dist/stepper/VerticalStepper.svelte.d.ts +1 -1
  273. package/dist/table/Table.svelte +12 -6
  274. package/dist/table/Table.svelte.d.ts +1 -1
  275. package/dist/table/TableBody.svelte +1 -1
  276. package/dist/table/TableBody.svelte.d.ts +1 -1
  277. package/dist/table/TableBodyCell.svelte +1 -1
  278. package/dist/table/TableBodyCell.svelte.d.ts +1 -1
  279. package/dist/table/TableBodyRow.svelte +8 -8
  280. package/dist/table/TableBodyRow.svelte.d.ts +1 -1
  281. package/dist/table/TableHead.svelte +7 -7
  282. package/dist/table/TableHead.svelte.d.ts +1 -1
  283. package/dist/table/TableHeadCell.svelte +1 -1
  284. package/dist/table/TableHeadCell.svelte.d.ts +1 -1
  285. package/dist/table/TableSearch.svelte +13 -10
  286. package/dist/table/TableSearch.svelte.d.ts +1 -1
  287. package/dist/tabs/TabItem.svelte +14 -8
  288. package/dist/tabs/TabItem.svelte.d.ts +1 -1
  289. package/dist/tabs/Tabs.svelte +26 -11
  290. package/dist/tabs/Tabs.svelte.d.ts +1 -1
  291. package/dist/theme/ThemeProvider.svelte +8 -6
  292. package/dist/theme/themeUtils.d.ts +1 -1
  293. package/dist/theme/themeUtils.js +2 -2
  294. package/dist/timeline/Activity.svelte +1 -1
  295. package/dist/timeline/Activity.svelte.d.ts +1 -1
  296. package/dist/timeline/ActivityItem.svelte +4 -2
  297. package/dist/timeline/ActivityItem.svelte.d.ts +1 -1
  298. package/dist/timeline/Group.svelte +4 -2
  299. package/dist/timeline/Group.svelte.d.ts +1 -1
  300. package/dist/timeline/GroupItem.svelte +4 -2
  301. package/dist/timeline/GroupItem.svelte.d.ts +1 -1
  302. package/dist/timeline/Timeline.svelte +4 -2
  303. package/dist/timeline/Timeline.svelte.d.ts +1 -1
  304. package/dist/timeline/TimelineItem.svelte +3 -3
  305. package/dist/timeline/TimelineItem.svelte.d.ts +1 -1
  306. package/dist/timeline/theme.d.ts +30 -30
  307. package/dist/toast/Toast.svelte +4 -2
  308. package/dist/toast/Toast.svelte.d.ts +1 -1
  309. package/dist/toast/ToastContainer.svelte +2 -2
  310. package/dist/toast/ToastContainer.svelte.d.ts +1 -1
  311. package/dist/toolbar/Toolbar.svelte +15 -3
  312. package/dist/toolbar/Toolbar.svelte.d.ts +1 -1
  313. package/dist/toolbar/ToolbarButton.svelte +2 -4
  314. package/dist/toolbar/ToolbarButton.svelte.d.ts +1 -1
  315. package/dist/toolbar/ToolbarGroup.svelte +4 -4
  316. package/dist/toolbar/ToolbarGroup.svelte.d.ts +1 -1
  317. package/dist/tooltip/Tooltip.svelte +1 -1
  318. package/dist/tooltip/Tooltip.svelte.d.ts +1 -1
  319. package/dist/tour/theme.js +1 -1
  320. package/dist/types.d.ts +84 -23
  321. package/dist/typography/a/A.svelte +1 -1
  322. package/dist/typography/a/A.svelte.d.ts +1 -1
  323. package/dist/typography/blockquote/Blockquote.svelte +1 -1
  324. package/dist/typography/blockquote/Blockquote.svelte.d.ts +1 -1
  325. package/dist/typography/descriptionlist/DescriptionList.svelte +1 -1
  326. package/dist/typography/descriptionlist/DescriptionList.svelte.d.ts +1 -1
  327. package/dist/typography/heading/Heading.svelte +1 -1
  328. package/dist/typography/heading/Heading.svelte.d.ts +1 -1
  329. package/dist/typography/hr/Hr.svelte +6 -5
  330. package/dist/typography/img/Img.svelte +6 -5
  331. package/dist/typography/img/Img.svelte.d.ts +2 -2
  332. package/dist/typography/layout/Layout.svelte +1 -1
  333. package/dist/typography/layout/Layout.svelte.d.ts +1 -1
  334. package/dist/typography/list/Li.svelte +4 -4
  335. package/dist/typography/list/Li.svelte.d.ts +1 -1
  336. package/dist/typography/list/List.svelte +12 -4
  337. package/dist/typography/list/List.svelte.d.ts +1 -1
  338. package/dist/typography/mark/Mark.svelte +1 -1
  339. package/dist/typography/mark/Mark.svelte.d.ts +1 -1
  340. package/dist/typography/paragraph/P.svelte +1 -1
  341. package/dist/typography/paragraph/P.svelte.d.ts +1 -1
  342. package/dist/typography/secondary/Secondary.svelte +1 -1
  343. package/dist/typography/secondary/Secondary.svelte.d.ts +1 -1
  344. package/dist/typography/span/Span.svelte +1 -1
  345. package/dist/typography/span/Span.svelte.d.ts +1 -1
  346. package/dist/utils/Arrow.svelte +1 -1
  347. package/dist/utils/Arrow.svelte.d.ts +1 -1
  348. package/dist/utils/Popper.svelte +7 -4
  349. package/dist/utils/Popper.svelte.d.ts +1 -1
  350. package/dist/video/Video.svelte +1 -1
  351. package/dist/video/Video.svelte.d.ts +1 -1
  352. package/dist/virtual-masonry/VirtualMasonry.svelte +1 -1
  353. package/dist/virtuallist/VirtualList.svelte +1 -1
  354. package/package.json +22 -22
@@ -1,14 +1,14 @@
1
1
  <script lang="ts">
2
- import { setContext } from "svelte";
3
2
  import clsx from "clsx";
4
- import type { ButtonToggleGroupProps } from "../..";
3
+ import type { ButtonToggleGroupProps, ButtonToggleContextType } from "../..";
5
4
  import { buttonToggleGroup } from "./theme";
6
5
  import { getTheme } from "../../theme/themeUtils";
6
+ import { setButtonToggleContext } from "../../context";
7
7
 
8
8
  let {
9
9
  multiSelect = false,
10
10
  name = "toggle-group",
11
- value = multiSelect ? [] : null,
11
+ value,
12
12
  color,
13
13
  size = "md",
14
14
  roundedSize = "md",
@@ -44,18 +44,13 @@
44
44
  // Array passed but multiSelect is false - take first item
45
45
  return value[0] ?? null;
46
46
  } else {
47
- return value;
47
+ return value ?? null; // Handle undefined case
48
48
  }
49
49
  }
50
50
  }
51
51
 
52
52
  let selectedValues = $state<SelectedValue>(getInitialValue());
53
53
 
54
- interface ButtonToggleContext {
55
- toggleSelected: (toggleValue: string) => void;
56
- isSelected: (toggleValue: string) => boolean;
57
- }
58
-
59
54
  function toggleSelected(toggleValue: string) {
60
55
  if (multiSelect) {
61
56
  const currentSelected = [...(selectedValues as string[])];
@@ -81,19 +76,36 @@
81
76
  }
82
77
  }
83
78
 
84
- const buttonToggleContext: ButtonToggleContext = {
85
- toggleSelected,
86
- isSelected
79
+ // Create context object with all button toggle related values
80
+ const ctx: ButtonToggleContextType = {
81
+ get toggleSelected() {
82
+ return toggleSelected;
83
+ },
84
+ get isSelected() {
85
+ return isSelected;
86
+ },
87
+ get multiSelect() {
88
+ return multiSelect;
89
+ },
90
+ get color() {
91
+ return color;
92
+ },
93
+ get size() {
94
+ return size;
95
+ },
96
+ get roundedSize() {
97
+ return roundedSize;
98
+ },
99
+ get ctxIconClass() {
100
+ return clsx(ctxIconClass);
101
+ },
102
+ get ctxBtnClass() {
103
+ return clsx(ctxBtnClass);
104
+ }
87
105
  };
88
106
 
89
- // Set all the contexts separately
90
- setContext("button-toggle-group", buttonToggleContext);
91
- setContext("multiSelect", multiSelect);
92
- setContext("buttonToggleColor", color);
93
- setContext("buttonToggleSize", size);
94
- setContext("buttonToggleRounded", roundedSize);
95
- setContext("ctxIconClass", clsx(ctxIconClass));
96
- setContext("ctxBtnClass", clsx(ctxBtnClass));
107
+ // Set context during initialization
108
+ setButtonToggleContext(ctx);
97
109
  </script>
98
110
 
99
111
  <div class="inline">
@@ -24,7 +24,7 @@
24
24
  @component
25
25
  [Go to docs](https://flowbite-svelte.com/)
26
26
  ## Type
27
- [CheckIconProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L391)
27
+ [CheckIconProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L458)
28
28
  ## Props
29
29
  @prop class: className
30
30
  @prop ...restProps
@@ -2,7 +2,7 @@ import type { CheckIconProps } from "../..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [CheckIconProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L391)
5
+ * [CheckIconProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L458)
6
6
  * ## Props
7
7
  * @prop class: className
8
8
  * @prop ...restProps
@@ -4,6 +4,7 @@
4
4
  import { type CheckboxProps } from "../..";
5
5
  import Label from "../label/Label.svelte";
6
6
  import { getTheme, warnThemeDeprecation } from "../../theme/themeUtils";
7
+ import { untrack } from "svelte";
7
8
 
8
9
  let {
9
10
  children,
@@ -24,7 +25,12 @@
24
25
  ...restProps
25
26
  }: CheckboxProps = $props();
26
27
 
27
- warnThemeDeprecation("Checkbox", { divClass }, { divClass: "div" });
28
+ warnThemeDeprecation(
29
+ "Checkbox",
30
+ untrack(() => ({ divClass })),
31
+ { divClass: "div" }
32
+ );
33
+
28
34
  const styling = $derived(classes ?? { div: divClass });
29
35
 
30
36
  const theme = getTheme("checkbox");
@@ -22,7 +22,7 @@
22
22
  @component
23
23
  [Go to docs](https://flowbite-svelte.com/)
24
24
  ## Type
25
- [CheckboxButtonProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L734)
25
+ [CheckboxButtonProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L792)
26
26
  ## Props
27
27
  @prop children
28
28
  @prop class: className
@@ -2,7 +2,7 @@ import type { CheckboxButtonProps } from "../..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [CheckboxButtonProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L734)
5
+ * [CheckboxButtonProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L792)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop class: className
@@ -52,7 +52,7 @@
52
52
  @component
53
53
  [Go to docs](https://flowbite-svelte.com/)
54
54
  ## Type
55
- [DropzoneProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L744)
55
+ [DropzoneProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L802)
56
56
  ## Props
57
57
  @prop children
58
58
  @prop files = $bindable<FileList | null>()
@@ -2,7 +2,7 @@ import type { DropzoneProps } from "../..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [DropzoneProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L744)
5
+ * [DropzoneProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L802)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop files = $bindable<FileList | null>()
@@ -5,6 +5,7 @@
5
5
  import CloseButton from "../../utils/CloseButton.svelte";
6
6
  import { getTheme, warnThemeDeprecation } from "../../theme/themeUtils";
7
7
  import { createDismissableContext } from "../../utils/dismissable";
8
+ import { untrack } from "svelte";
8
9
 
9
10
  let {
10
11
  files = $bindable(),
@@ -21,7 +22,12 @@
21
22
  ...restProps
22
23
  }: FileuploadProps = $props();
23
24
 
24
- warnThemeDeprecation("Fileupload", { wrapperClass, clearableClass, clearableSvgClass }, { wrapperClass: "wrapper", clearableClass: "close", clearableSvgClass: "svg" });
25
+ warnThemeDeprecation(
26
+ "Fileupload",
27
+ untrack(() => ({ wrapperClass, clearableClass, clearableSvgClass })),
28
+ { wrapperClass: "wrapper", clearableClass: "close", clearableSvgClass: "svg" }
29
+ );
30
+
25
31
  const styling = $derived(classes ?? { wrapper: wrapperClass, close: clearableClass, svg: clearableSvgClass });
26
32
 
27
33
  const theme = getTheme("fileupload");
@@ -50,7 +56,7 @@
50
56
  @component
51
57
  [Go to docs](https://flowbite-svelte.com/)
52
58
  ## Type
53
- [FileuploadProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L753)
59
+ [FileuploadProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L811)
54
60
  ## Props
55
61
  @prop files = $bindable()
56
62
  @prop size = "md"
@@ -2,7 +2,7 @@ import type { FileuploadProps } from "../..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [FileuploadProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L753)
5
+ * [FileuploadProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L811)
6
6
  * ## Props
7
7
  * @prop files = $bindable()
8
8
  * @prop size = "md"
@@ -6,6 +6,7 @@
6
6
  import CloseButton from "../../utils/CloseButton.svelte";
7
7
  import { getTheme, warnThemeDeprecation } from "../../theme/themeUtils";
8
8
  import { createDismissableContext } from "../../utils/dismissable";
9
+ import { untrack } from "svelte";
9
10
 
10
11
  let {
11
12
  children,
@@ -34,9 +35,10 @@
34
35
 
35
36
  warnThemeDeprecation(
36
37
  "FloatingLabelInput",
37
- { inputClass, labelClass, clearableSvgClass, clearableClass, comboClass },
38
+ untrack(() => ({ inputClass, labelClass, clearableSvgClass, clearableClass, comboClass })),
38
39
  { inputClass: "input", labelClass: "label", clearableSvgClass: "svg", clearableClass: "close", comboClass: "combo" }
39
40
  );
41
+
40
42
  const styling = $derived(classes ?? { input: inputClass, label: labelClass, svg: clearableSvgClass, close: clearableClass, combo: comboClass });
41
43
 
42
44
  const theme = getTheme("floatingLabelInput");
@@ -211,7 +213,7 @@
211
213
  @component
212
214
  [Go to docs](https://flowbite-svelte.com/)
213
215
  ## Type
214
- [FloatingLabelInputProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L767)
216
+ [FloatingLabelInputProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L825)
215
217
  ## Props
216
218
  @prop children
217
219
  @prop id = idGenerator()
@@ -2,7 +2,7 @@ import type { FloatingLabelInputProps } from "../..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [FloatingLabelInputProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L767)
5
+ * [FloatingLabelInputProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L825)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop id = idGenerator()
@@ -19,7 +19,7 @@
19
19
  @component
20
20
  [Go to docs](https://flowbite-svelte.com/)
21
21
  ## Type
22
- [HelperProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L791)
22
+ [HelperProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L849)
23
23
  ## Props
24
24
  @prop children
25
25
  @prop class: className
@@ -2,7 +2,7 @@ import type { HelperProps } from "../..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [HelperProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L791)
5
+ * [HelperProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L849)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop class: className
@@ -1,14 +1,14 @@
1
1
  <script lang="ts">
2
- import type { SizeType } from "../../types";
3
2
  import { getContext } from "svelte";
4
3
  import clsx from "clsx";
5
4
  import type { InputAddonProps } from "../..";
6
5
  import { clampSize } from "../input-field";
6
+ import { getButtonGroupContext } from "../../context";
7
7
 
8
8
  let { children, class: className, size, ...restProps }: InputAddonProps = $props();
9
9
 
10
10
  let background: boolean = getContext("background");
11
- let group: { size: SizeType } = getContext("group");
11
+ const group = getButtonGroupContext();
12
12
 
13
13
  const borderClasses = {
14
14
  base: "border-gray-300 dark:border-gray-600",
@@ -29,19 +29,21 @@
29
29
  const prefixPadding = { sm: "px-2", md: "px-3", lg: "px-4" };
30
30
 
31
31
  // size: explicit, inherited, default
32
- let _size = size || clampSize(group?.size) || "md";
33
-
34
- let divClass: string = clsx(
35
- textSizes[_size],
36
- prefixPadding[_size],
37
- "text-gray-500 bg-gray-200",
38
- background ? darkBgClasses.tinted : darkBgClasses.base,
39
- background ? divider.tinted : divider.base,
40
- background ? borderClasses["tinted"] : borderClasses["base"],
41
- "inline-flex items-center border",
42
- group && "not-first:-ms-px",
43
- "first:rounded-s-lg last:rounded-e-lg",
44
- className
32
+ let _size = $derived(size || (group?.size ? clampSize(group.size) : undefined) || "md");
33
+
34
+ let divClass: string = $derived(
35
+ clsx(
36
+ textSizes[_size],
37
+ prefixPadding[_size],
38
+ "text-gray-500 bg-gray-200",
39
+ background ? darkBgClasses.tinted : darkBgClasses.base,
40
+ background ? divider.tinted : divider.base,
41
+ background ? borderClasses["tinted"] : borderClasses["base"],
42
+ "inline-flex items-center border",
43
+ group && "not-first:-ms-px",
44
+ "first:rounded-s-lg last:rounded-e-lg",
45
+ className
46
+ )
45
47
  );
46
48
  </script>
47
49
 
@@ -53,7 +55,7 @@
53
55
  @component
54
56
  [Go to docs](https://flowbite-svelte.com/)
55
57
  ## Type
56
- [InputAddonProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L833)
58
+ [InputAddonProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L891)
57
59
  ## Props
58
60
  @prop children
59
61
  @prop class: className
@@ -2,7 +2,7 @@ import type { InputAddonProps } from "../..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [InputAddonProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L833)
5
+ * [InputAddonProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L891)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop class: className
@@ -1,12 +1,14 @@
1
1
  <script lang="ts">
2
2
  import { getContext } from "svelte";
3
3
  import clsx from "clsx";
4
- import type { SizeType, InputProps, InputValue } from "../..";
4
+ import type { InputProps, InputValue } from "../..";
5
+ import { getButtonGroupContext } from "../../context";
5
6
  import CloseButton from "../../utils/CloseButton.svelte";
6
7
  import { input } from "./theme";
7
8
  import { clampSize } from "./index";
8
9
  import { getTheme, warnThemeDeprecation } from "../../theme/themeUtils";
9
10
  import { createDismissableContext } from "../../utils/dismissable";
11
+ import { untrack } from "svelte";
10
12
 
11
13
  let {
12
14
  children,
@@ -43,10 +45,9 @@
43
45
  ...restProps
44
46
  }: InputProps<InputValue> = $props();
45
47
 
46
- // input, left, right, close, combo, comboItem, div, svg
47
48
  warnThemeDeprecation(
48
49
  "Input",
49
- { wrapperClass, leftClass, rightClass, divClass, clearableSvgClass, clearableClass, comboClass },
50
+ untrack(() => ({ wrapperClass, leftClass, rightClass, divClass, clearableSvgClass, clearableClass, comboClass })),
50
51
  { wrapperClass: "wrapper", leftClass: "left", rightClass: "right", divClass: "div", clearableSvgClass: "svg", clearableClass: "close", comboClass: "comboItem" }
51
52
  );
52
53
 
@@ -70,11 +71,10 @@
70
71
  // svelte-ignore non_reactive_update
71
72
  let dummyFocusDiv: HTMLDivElement;
72
73
 
73
- let group: { size: SizeType } = getContext("group");
74
- let isGroup = !!group;
75
- let _size = $derived(size || clampSize(group?.size) || "md");
74
+ let group = $derived(getButtonGroupContext());
75
+ let isGroup = $derived(!!group);
76
+ let _size = $derived(size || (group?.size ? clampSize(group.size) : undefined) || "md");
76
77
  const _color = $derived(color === "default" && background ? "tinted" : color);
77
-
78
78
  const { base, input: inputCls, left: leftCls, right: rightCls, close, combo, comboItem } = $derived(input({ size: _size, color: _color, grouped: isGroup }));
79
79
 
80
80
  const clearAll = () => {
@@ -1,4 +1,4 @@
1
1
  export { default as Input } from "./Input.svelte";
2
2
  export { input } from "./theme";
3
3
  import type { SizeType } from "../../types";
4
- export declare function clampSize(s: SizeType): "sm" | "md" | "lg";
4
+ export declare function clampSize(s: SizeType): "md" | "sm" | "lg";
@@ -88,8 +88,8 @@ export const input = tv({
88
88
  grouped: {
89
89
  false: { base: "rounded-lg", input: "rounded-lg" },
90
90
  true: {
91
- base: "first:rounded-s-lg last:rounded-e-lg not-first:-ms-px group",
92
- input: "group-first:rounded-s-lg group-last:rounded-e-lg group-not-first:-ms-px h-full"
91
+ base: "first:rounded-s-lg last:rounded-e-lg not-first:-ms-px",
92
+ input: "first:rounded-s-lg last:rounded-e-lg not-first:-ms-px h-full"
93
93
  }
94
94
  }
95
95
  },
@@ -23,7 +23,7 @@
23
23
  @component
24
24
  [Go to docs](https://flowbite-svelte.com/)
25
25
  ## Type
26
- [LabelProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L848)
26
+ [LabelProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L906)
27
27
  ## Props
28
28
  @prop children
29
29
  @prop color = "gray"
@@ -2,7 +2,7 @@ import type { LabelProps } from "../..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [LabelProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L848)
5
+ * [LabelProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L906)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop color = "gray"
@@ -5,6 +5,7 @@
5
5
  import type { RadioProps } from "../..";
6
6
  import Label from "../label/Label.svelte";
7
7
  import { getTheme, warnThemeDeprecation } from "../../theme/themeUtils";
8
+ import { untrack } from "svelte";
8
9
 
9
10
  // remove inputClass in next major version
10
11
  let {
@@ -22,7 +23,12 @@
22
23
  ...restProps
23
24
  }: RadioProps<T> = $props();
24
25
 
25
- warnThemeDeprecation("Radio", { inputClass, labelClass }, { inputClass: "class", labelClass: "label" });
26
+ warnThemeDeprecation(
27
+ "Radio",
28
+ untrack(() => ({ inputClass, labelClass })),
29
+ { inputClass: "class", labelClass: "label" }
30
+ );
31
+
26
32
  const styling = $derived(classes ?? { label: labelClass });
27
33
 
28
34
  const theme = getTheme("radio");
@@ -2,7 +2,7 @@ import type { RadioProps } from "../..";
2
2
  declare function $$render<T>(): {
3
3
  props: RadioProps<T>;
4
4
  exports: {};
5
- bindings: "group" | "value";
5
+ bindings: "value" | "group";
6
6
  slots: {};
7
7
  events: {};
8
8
  };
@@ -10,7 +10,7 @@ declare class __sveltets_Render<T> {
10
10
  props(): ReturnType<typeof $$render<T>>['props'];
11
11
  events(): ReturnType<typeof $$render<T>>['events'];
12
12
  slots(): ReturnType<typeof $$render<T>>['slots'];
13
- bindings(): "group" | "value";
13
+ bindings(): "value" | "group";
14
14
  exports(): {};
15
15
  }
16
16
  interface $$IsomorphicComponent {
@@ -2,7 +2,7 @@ import type { RadioButtonProps } from "../..";
2
2
  declare function $$render<T>(): {
3
3
  props: RadioButtonProps<T>;
4
4
  exports: {};
5
- bindings: "group" | "value";
5
+ bindings: "value" | "group";
6
6
  slots: {};
7
7
  events: {};
8
8
  };
@@ -10,7 +10,7 @@ declare class __sveltets_Render<T> {
10
10
  props(): ReturnType<typeof $$render<T>>['props'];
11
11
  events(): ReturnType<typeof $$render<T>>['events'];
12
12
  slots(): ReturnType<typeof $$render<T>>['slots'];
13
- bindings(): "group" | "value";
13
+ bindings(): "value" | "group";
14
14
  exports(): {};
15
15
  }
16
16
  interface $$IsomorphicComponent {
@@ -17,7 +17,7 @@
17
17
  @component
18
18
  [Go to docs](https://flowbite-svelte.com/)
19
19
  ## Type
20
- [RangeProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L876)
20
+ [RangeProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L934)
21
21
  ## Props
22
22
  @prop value = $bindable()
23
23
  @prop appearance = "none"
@@ -2,7 +2,7 @@ import type { RangeProps } from "../..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [RangeProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L876)
5
+ * [RangeProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L934)
6
6
  * ## Props
7
7
  * @prop value = $bindable()
8
8
  * @prop appearance = "none"
@@ -5,6 +5,7 @@
5
5
  import CloseButton from "../../utils/CloseButton.svelte";
6
6
  import { getTheme, warnThemeDeprecation } from "../../theme/themeUtils";
7
7
  import { createDismissableContext } from "../../utils/dismissable";
8
+ import { untrack } from "svelte";
8
9
 
9
10
  let {
10
11
  children,
@@ -23,7 +24,12 @@
23
24
  ...restProps
24
25
  }: SearchProps = $props();
25
26
 
26
- warnThemeDeprecation("Search", { inputClass, clearableSvgClass, clearableClass }, { inputClass: "input", clearableSvgClass: "svg", clearableClass: "close" });
27
+ warnThemeDeprecation(
28
+ "Search",
29
+ untrack(() => ({ inputClass, clearableSvgClass, clearableClass })),
30
+ { inputClass: "input", clearableSvgClass: "svg", clearableClass: "close" }
31
+ );
32
+
27
33
  const styling = $derived(classes ?? { input: inputClass, svg: clearableSvgClass, close: clearableClass });
28
34
 
29
35
  const theme = getTheme("search");
@@ -62,7 +68,7 @@
62
68
  @component
63
69
  [Go to docs](https://flowbite-svelte.com/)
64
70
  ## Type
65
- [SearchProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L882)
71
+ [SearchProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L940)
66
72
  ## Props
67
73
  @prop children
68
74
  @prop inputClass
@@ -2,7 +2,7 @@ import type { SearchProps } from "../..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [SearchProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L882)
5
+ * [SearchProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L940)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop inputClass
@@ -1,12 +1,13 @@
1
1
  <script lang="ts" generics="T">
2
2
  import clsx from "clsx";
3
- import type { MultiSelectProps, SelectOptionType, SizeType } from "../..";
3
+ import type { MultiSelectProps, SelectOptionType } from "../..";
4
4
  import Badge from "../../badge/Badge.svelte";
5
5
  import CloseButton from "../../utils/CloseButton.svelte";
6
6
  import { multiSelect } from "./theme";
7
7
  import { getTheme, warnThemeDeprecation } from "../../theme/themeUtils";
8
- import { getContext, onMount } from "svelte";
8
+ import { onMount, untrack } from "svelte";
9
9
  import { createDismissableContext } from "../../utils/dismissable";
10
+ import { getButtonGroupContext } from "../../context";
10
11
 
11
12
  // Consider reusing that component - https://svelecte.vercel.app/
12
13
 
@@ -30,14 +31,20 @@
30
31
  ...restProps
31
32
  }: MultiSelectProps<T> = $props();
32
33
 
33
- warnThemeDeprecation("MultiSelect", { dropdownClass }, { dropdownClass: "dropdown" });
34
+ warnThemeDeprecation(
35
+ "MultiSelect",
36
+ untrack(() => ({ dropdownClass })),
37
+ { dropdownClass: "dropdown" }
38
+ );
39
+
34
40
  const styling = $derived(classes ?? { dropdown: dropdownClass });
35
41
 
36
42
  const theme = getTheme("multiSelect");
37
43
 
38
44
  let selectItems = $derived(items.filter((x) => value.includes(x.value)));
39
45
  let show: boolean = $state(false);
40
- let group: { size: SizeType } = getContext("group");
46
+
47
+ const group = getButtonGroupContext();
41
48
 
42
49
  // Active item
43
50
  let activeIndex: number | null = $state(null);
@@ -194,7 +201,7 @@
194
201
  };
195
202
  });
196
203
 
197
- const { base, dropdown, item: dropdownItem, close, select, placeholder: placeholderSpan, svg } = multiSelect({ disabled, grouped: !!group });
204
+ const { base, dropdown, item: dropdownItem, close, select, placeholder: placeholderSpan, svg } = $derived(multiSelect({ disabled, grouped: !!group }));
198
205
  </script>
199
206
 
200
207
  <select {name} {form} {required} {autocomplete} {value} hidden multiple {onchange}>
@@ -242,15 +249,19 @@
242
249
  {#if show}
243
250
  <div role="presentation" class={dropdown({ class: clsx(styling.dropdown) })}>
244
251
  {#each items as item (item.value)}
252
+ {@const isSelected = selectItems.includes(item)}
253
+ {@const isActive = activeItem === item}
245
254
  <div
246
255
  onclick={(e) => selectOption(item, e)}
247
256
  role="presentation"
248
257
  class={dropdownItem({
249
- selected: selectItems.includes(item),
250
- active: activeItem === item,
258
+ selected: isSelected,
259
+ active: isActive,
251
260
  disabled: item.disabled,
252
261
  class: clsx(classes?.item)
253
262
  })}
263
+ data-selected={isSelected ? "true" : undefined}
264
+ data-active={isActive ? "true" : undefined}
254
265
  >
255
266
  {item.name}
256
267
  </div>