flowbite-svelte 1.9.0 → 1.10.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 (542) hide show
  1. package/dist/accordion/Accordion.svelte +8 -9
  2. package/dist/accordion/Accordion.svelte.d.ts +1 -1
  3. package/dist/accordion/AccordionItem.svelte +10 -11
  4. package/dist/accordion/AccordionItem.svelte.d.ts +1 -1
  5. package/dist/accordion/index.d.ts +1 -1
  6. package/dist/accordion/index.js +1 -1
  7. package/dist/accordion/theme.d.ts +18 -3
  8. package/dist/accordion/theme.js +6 -2
  9. package/dist/alert/Alert.svelte +8 -8
  10. package/dist/alert/Alert.svelte.d.ts +1 -1
  11. package/dist/alert/index.d.ts +1 -1
  12. package/dist/alert/theme.d.ts +1 -0
  13. package/dist/avatar/Avatar.svelte +8 -9
  14. package/dist/avatar/Avatar.svelte.d.ts +1 -1
  15. package/dist/avatar/index.d.ts +1 -1
  16. package/dist/avatar/theme.d.ts +1 -0
  17. package/dist/badge/Badge.svelte +9 -11
  18. package/dist/badge/Badge.svelte.d.ts +1 -1
  19. package/dist/badge/index.d.ts +1 -1
  20. package/dist/badge/theme.d.ts +5 -3
  21. package/dist/badge/theme.js +1 -1
  22. package/dist/banner/Banner.svelte +9 -5
  23. package/dist/banner/Banner.svelte.d.ts +1 -1
  24. package/dist/banner/index.d.ts +1 -1
  25. package/dist/banner/theme.d.ts +2 -0
  26. package/dist/bottom-navigation/BottomNav.svelte +8 -4
  27. package/dist/bottom-navigation/BottomNav.svelte.d.ts +1 -1
  28. package/dist/bottom-navigation/BottomNavHeader.svelte +11 -6
  29. package/dist/bottom-navigation/BottomNavHeader.svelte.d.ts +1 -1
  30. package/dist/bottom-navigation/BottomNavHeaderItem.svelte +9 -4
  31. package/dist/bottom-navigation/BottomNavHeaderItem.svelte.d.ts +1 -1
  32. package/dist/bottom-navigation/BottomNavItem.svelte +8 -4
  33. package/dist/bottom-navigation/BottomNavItem.svelte.d.ts +1 -1
  34. package/dist/bottom-navigation/index.d.ts +1 -1
  35. package/dist/bottom-navigation/index.js +1 -1
  36. package/dist/bottom-navigation/theme.d.ts +10 -2
  37. package/dist/bottom-navigation/theme.js +2 -2
  38. package/dist/breadcrumb/Breadcrumb.svelte +7 -10
  39. package/dist/breadcrumb/Breadcrumb.svelte.d.ts +1 -1
  40. package/dist/breadcrumb/BreadcrumbItem.svelte +13 -10
  41. package/dist/breadcrumb/BreadcrumbItem.svelte.d.ts +1 -1
  42. package/dist/breadcrumb/index.d.ts +1 -1
  43. package/dist/breadcrumb/index.js +1 -1
  44. package/dist/breadcrumb/theme.d.ts +33 -22
  45. package/dist/breadcrumb/theme.js +18 -12
  46. package/dist/button-group/ButtonGroup.svelte +5 -2
  47. package/dist/button-group/ButtonGroup.svelte.d.ts +1 -1
  48. package/dist/button-group/index.d.ts +1 -1
  49. package/dist/button-group/theme.d.ts +1 -0
  50. package/dist/buttons/Button.svelte +7 -3
  51. package/dist/buttons/Button.svelte.d.ts +1 -1
  52. package/dist/buttons/GradientButton.svelte +8 -5
  53. package/dist/buttons/GradientButton.svelte.d.ts +1 -1
  54. package/dist/buttons/index.d.ts +1 -1
  55. package/dist/buttons/theme.d.ts +4 -0
  56. package/dist/card/Card.svelte +9 -6
  57. package/dist/card/Card.svelte.d.ts +2 -2
  58. package/dist/card/index.d.ts +1 -1
  59. package/dist/card/theme.d.ts +2 -0
  60. package/dist/carousel/Carousel.svelte +5 -2
  61. package/dist/carousel/Carousel.svelte.d.ts +1 -1
  62. package/dist/carousel/{Indicators.svelte → CarouselIndicators.svelte} +8 -5
  63. package/dist/carousel/{Indicators.svelte.d.ts → CarouselIndicators.svelte.d.ts} +4 -4
  64. package/dist/carousel/ControlButton.svelte +5 -2
  65. package/dist/carousel/ControlButton.svelte.d.ts +1 -1
  66. package/dist/carousel/Controls.svelte +6 -3
  67. package/dist/carousel/Controls.svelte.d.ts +1 -1
  68. package/dist/carousel/Slide.svelte +5 -2
  69. package/dist/carousel/Slide.svelte.d.ts +1 -1
  70. package/dist/carousel/Thumbnail.svelte +5 -2
  71. package/dist/carousel/Thumbnail.svelte.d.ts +1 -1
  72. package/dist/carousel/Thumbnails.svelte +5 -2
  73. package/dist/carousel/Thumbnails.svelte.d.ts +1 -1
  74. package/dist/carousel/index.d.ts +2 -2
  75. package/dist/carousel/index.js +2 -2
  76. package/dist/carousel/theme.d.ts +8 -1
  77. package/dist/carousel/theme.js +1 -2
  78. package/dist/clipboard/Clipboard.svelte +6 -3
  79. package/dist/clipboard/Clipboard.svelte.d.ts +2 -2
  80. package/dist/clipboard/index.d.ts +1 -1
  81. package/dist/clipboard/theme.d.ts +1 -0
  82. package/dist/darkmode/DarkMode.svelte +5 -2
  83. package/dist/darkmode/DarkMode.svelte.d.ts +1 -1
  84. package/dist/darkmode/index.d.ts +1 -1
  85. package/dist/darkmode/theme.d.ts +1 -0
  86. package/dist/datepicker/Datepicker.svelte +25 -20
  87. package/dist/datepicker/Datepicker.svelte.d.ts +2 -2
  88. package/dist/datepicker/index.d.ts +1 -1
  89. package/dist/datepicker/theme.d.ts +2 -0
  90. package/dist/device-mockups/Android.svelte +1 -1
  91. package/dist/device-mockups/Android.svelte.d.ts +1 -1
  92. package/dist/device-mockups/DefaultMockup.svelte +1 -1
  93. package/dist/device-mockups/DefaultMockup.svelte.d.ts +1 -1
  94. package/dist/device-mockups/Desktop.svelte +1 -1
  95. package/dist/device-mockups/Desktop.svelte.d.ts +1 -1
  96. package/dist/device-mockups/DeviceMockup.svelte +1 -1
  97. package/dist/device-mockups/DeviceMockup.svelte.d.ts +1 -1
  98. package/dist/device-mockups/Ios.svelte +1 -1
  99. package/dist/device-mockups/Ios.svelte.d.ts +1 -1
  100. package/dist/device-mockups/Laptop.svelte +1 -1
  101. package/dist/device-mockups/Laptop.svelte.d.ts +1 -1
  102. package/dist/device-mockups/Smartwatch.svelte +1 -1
  103. package/dist/device-mockups/Smartwatch.svelte.d.ts +1 -1
  104. package/dist/device-mockups/Tablet.svelte +1 -1
  105. package/dist/device-mockups/Tablet.svelte.d.ts +1 -1
  106. package/dist/device-mockups/theme.d.ts +21 -21
  107. package/dist/drawer/Drawer.svelte +8 -5
  108. package/dist/drawer/Drawer.svelte.d.ts +1 -1
  109. package/dist/drawer/Drawerhead.svelte +8 -5
  110. package/dist/drawer/Drawerhead.svelte.d.ts +1 -1
  111. package/dist/drawer/index.d.ts +1 -1
  112. package/dist/drawer/theme.d.ts +16 -12
  113. package/dist/drawer/theme.js +4 -4
  114. package/dist/dropdown/Dropdown.svelte +5 -2
  115. package/dist/dropdown/Dropdown.svelte.d.ts +1 -1
  116. package/dist/dropdown/DropdownDivider.svelte +5 -2
  117. package/dist/dropdown/DropdownDivider.svelte.d.ts +1 -1
  118. package/dist/dropdown/DropdownGroup.svelte +5 -2
  119. package/dist/dropdown/DropdownGroup.svelte.d.ts +1 -1
  120. package/dist/dropdown/DropdownHeader.svelte +5 -2
  121. package/dist/dropdown/DropdownHeader.svelte.d.ts +1 -1
  122. package/dist/dropdown/DropdownItem.svelte +6 -3
  123. package/dist/dropdown/DropdownItem.svelte.d.ts +1 -1
  124. package/dist/dropdown/index.d.ts +1 -1
  125. package/dist/dropdown/theme.d.ts +7 -0
  126. package/dist/footer/Footer.svelte +5 -2
  127. package/dist/footer/Footer.svelte.d.ts +1 -1
  128. package/dist/footer/FooterBrand.svelte +8 -5
  129. package/dist/footer/FooterBrand.svelte.d.ts +1 -1
  130. package/dist/footer/FooterCopyright.svelte +8 -5
  131. package/dist/footer/FooterCopyright.svelte.d.ts +1 -1
  132. package/dist/footer/FooterIcon.svelte +5 -2
  133. package/dist/footer/FooterIcon.svelte.d.ts +1 -1
  134. package/dist/footer/FooterLink.svelte +8 -4
  135. package/dist/footer/FooterLink.svelte.d.ts +1 -1
  136. package/dist/footer/FooterLinkGroup.svelte +5 -2
  137. package/dist/footer/FooterLinkGroup.svelte.d.ts +1 -1
  138. package/dist/footer/index.d.ts +1 -1
  139. package/dist/footer/theme.d.ts +18 -10
  140. package/dist/footer/theme.js +6 -7
  141. package/dist/forms/button-toggle/ButtonToggle.svelte +8 -5
  142. package/dist/forms/button-toggle/ButtonToggle.svelte.d.ts +1 -1
  143. package/dist/forms/button-toggle/ButtonToggleGroup.svelte +4 -1
  144. package/dist/forms/button-toggle/CheckIcon.svelte +1 -1
  145. package/dist/forms/button-toggle/CheckIcon.svelte.d.ts +1 -1
  146. package/dist/forms/button-toggle/index.d.ts +1 -1
  147. package/dist/forms/button-toggle/theme.d.ts +152 -144
  148. package/dist/forms/button-toggle/theme.js +65 -63
  149. package/dist/forms/checkbox/Checkbox.svelte +8 -5
  150. package/dist/forms/checkbox/CheckboxButton.svelte +5 -2
  151. package/dist/forms/checkbox/CheckboxButton.svelte.d.ts +1 -1
  152. package/dist/forms/checkbox/index.d.ts +1 -1
  153. package/dist/forms/checkbox/theme.d.ts +3 -0
  154. package/dist/forms/dropzone/Dropzone.svelte +5 -2
  155. package/dist/forms/dropzone/Dropzone.svelte.d.ts +1 -1
  156. package/dist/forms/dropzone/index.d.ts +1 -1
  157. package/dist/forms/dropzone/theme.d.ts +1 -0
  158. package/dist/forms/fileupload/Fileupload.svelte +8 -5
  159. package/dist/forms/fileupload/Fileupload.svelte.d.ts +1 -1
  160. package/dist/forms/fileupload/index.d.ts +1 -1
  161. package/dist/forms/fileupload/theme.d.ts +2 -0
  162. package/dist/forms/floating-label/FloatingLabelInput.svelte +11 -8
  163. package/dist/forms/floating-label/FloatingLabelInput.svelte.d.ts +1 -1
  164. package/dist/forms/floating-label/index.d.ts +1 -1
  165. package/dist/forms/floating-label/theme.d.ts +5 -3
  166. package/dist/forms/floating-label/theme.js +1 -1
  167. package/dist/forms/helper/Helper.svelte +5 -2
  168. package/dist/forms/helper/Helper.svelte.d.ts +1 -1
  169. package/dist/forms/helper/index.d.ts +1 -1
  170. package/dist/forms/helper/theme.d.ts +1 -0
  171. package/dist/forms/input-addon/InputAddon.svelte +6 -2
  172. package/dist/forms/input-addon/InputAddon.svelte.d.ts +1 -1
  173. package/dist/forms/input-field/Input.svelte +13 -10
  174. package/dist/forms/input-field/index.d.ts +1 -1
  175. package/dist/forms/input-field/theme.d.ts +5 -3
  176. package/dist/forms/input-field/theme.js +1 -1
  177. package/dist/forms/label/Label.svelte +5 -2
  178. package/dist/forms/label/Label.svelte.d.ts +1 -1
  179. package/dist/forms/label/index.d.ts +1 -1
  180. package/dist/forms/label/theme.d.ts +1 -0
  181. package/dist/forms/phoneinput/PhoneInput.svelte +11 -8
  182. package/dist/forms/phoneinput/PhoneInput.svelte.d.ts +1 -1
  183. package/dist/forms/phoneinput/index.d.ts +1 -1
  184. package/dist/forms/phoneinput/theme.d.ts +2 -0
  185. package/dist/forms/radio/Radio.svelte +6 -3
  186. package/dist/forms/radio/RadioButton.svelte +4 -1
  187. package/dist/forms/radio/index.d.ts +1 -1
  188. package/dist/forms/radio/theme.d.ts +3 -0
  189. package/dist/forms/range/Range.svelte +5 -2
  190. package/dist/forms/range/Range.svelte.d.ts +1 -1
  191. package/dist/forms/range/theme.d.ts +1 -0
  192. package/dist/forms/search/Search.svelte +12 -9
  193. package/dist/forms/search/Search.svelte.d.ts +1 -1
  194. package/dist/forms/search/index.d.ts +1 -1
  195. package/dist/forms/search/theme.d.ts +5 -3
  196. package/dist/forms/search/theme.js +1 -1
  197. package/dist/forms/select/MultiSelect.svelte +7 -4
  198. package/dist/forms/select/Select.svelte +8 -5
  199. package/dist/forms/select/index.d.ts +1 -1
  200. package/dist/forms/select/index.js +1 -1
  201. package/dist/forms/select/theme.d.ts +7 -3
  202. package/dist/forms/select/theme.js +1 -1
  203. package/dist/forms/tags/Tags.svelte +10 -7
  204. package/dist/forms/tags/Tags.svelte.d.ts +1 -1
  205. package/dist/forms/tags/index.d.ts +1 -1
  206. package/dist/forms/tags/theme.d.ts +11 -9
  207. package/dist/forms/tags/theme.js +1 -1
  208. package/dist/forms/textarea/Textarea.svelte +14 -11
  209. package/dist/forms/textarea/Textarea.svelte.d.ts +1 -1
  210. package/dist/forms/textarea/index.d.ts +1 -1
  211. package/dist/forms/textarea/theme.d.ts +5 -3
  212. package/dist/forms/textarea/theme.js +1 -1
  213. package/dist/forms/timepicker/Timepicker.svelte +107 -64
  214. package/dist/forms/timepicker/Timepicker.svelte.d.ts +1 -1
  215. package/dist/forms/timepicker/index.d.ts +1 -0
  216. package/dist/forms/timepicker/index.js +1 -0
  217. package/dist/forms/timepicker/theme.d.ts +191 -0
  218. package/dist/forms/timepicker/theme.js +72 -0
  219. package/dist/forms/toggle/Toggle.svelte +8 -5
  220. package/dist/forms/toggle/Toggle.svelte.d.ts +1 -1
  221. package/dist/forms/toggle/index.d.ts +1 -1
  222. package/dist/forms/toggle/theme.d.ts +2 -0
  223. package/dist/gallery/Gallery.svelte +7 -4
  224. package/dist/gallery/Gallery.svelte.d.ts +1 -1
  225. package/dist/gallery/index.d.ts +1 -1
  226. package/dist/gallery/theme.d.ts +5 -3
  227. package/dist/index.d.ts +2 -2
  228. package/dist/index.js +5 -2
  229. package/dist/indicator/Indicator.svelte +6 -3
  230. package/dist/indicator/Indicator.svelte.d.ts +1 -1
  231. package/dist/indicator/index.d.ts +1 -1
  232. package/dist/indicator/theme.d.ts +121 -360
  233. package/dist/indicator/theme.js +48 -56
  234. package/dist/kbd/Kbd.svelte +6 -2
  235. package/dist/kbd/Kbd.svelte.d.ts +1 -1
  236. package/dist/kbd/index.d.ts +1 -1
  237. package/dist/kbd/theme.d.ts +1 -0
  238. package/dist/list-group/Listgroup.svelte +5 -2
  239. package/dist/list-group/Listgroup.svelte.d.ts +1 -1
  240. package/dist/list-group/ListgroupItem.svelte +7 -4
  241. package/dist/list-group/ListgroupItem.svelte.d.ts +1 -1
  242. package/dist/list-group/index.d.ts +1 -1
  243. package/dist/list-group/theme.d.ts +2 -0
  244. package/dist/mega-menu/MegaMenu.svelte +9 -6
  245. package/dist/mega-menu/MegaMenu.svelte.d.ts +1 -1
  246. package/dist/mega-menu/index.d.ts +1 -1
  247. package/dist/mega-menu/theme.d.ts +2 -0
  248. package/dist/modal/Modal.svelte +13 -10
  249. package/dist/modal/Modal.svelte.d.ts +1 -1
  250. package/dist/modal/index.d.ts +2 -3
  251. package/dist/modal/index.js +2 -3
  252. package/dist/modal/theme.d.ts +5 -3
  253. package/dist/modal/theme.js +1 -1
  254. package/dist/navbar/Menu.svelte +6 -2
  255. package/dist/navbar/Menu.svelte.d.ts +1 -1
  256. package/dist/navbar/NavBrand.svelte +7 -4
  257. package/dist/navbar/NavBrand.svelte.d.ts +1 -1
  258. package/dist/navbar/NavContainer.svelte +7 -4
  259. package/dist/navbar/NavContainer.svelte.d.ts +1 -1
  260. package/dist/navbar/NavHamburger.svelte +9 -6
  261. package/dist/navbar/NavHamburger.svelte.d.ts +1 -1
  262. package/dist/navbar/NavLi.svelte +7 -4
  263. package/dist/navbar/NavLi.svelte.d.ts +1 -1
  264. package/dist/navbar/NavUl.svelte +11 -8
  265. package/dist/navbar/NavUl.svelte.d.ts +1 -1
  266. package/dist/navbar/Navbar.svelte +6 -4
  267. package/dist/navbar/Navbar.svelte.d.ts +1 -1
  268. package/dist/navbar/index.d.ts +7 -7
  269. package/dist/navbar/index.js +7 -7
  270. package/dist/navbar/theme.d.ts +12 -5
  271. package/dist/navbar/theme.js +5 -5
  272. package/dist/pagination/Pagination.svelte +7 -3
  273. package/dist/pagination/Pagination.svelte.d.ts +1 -1
  274. package/dist/pagination/PaginationButton.svelte +18 -12
  275. package/dist/pagination/PaginationButton.svelte.d.ts +1 -1
  276. package/dist/pagination/PaginationItem.svelte +7 -4
  277. package/dist/pagination/PaginationItem.svelte.d.ts +1 -1
  278. package/dist/pagination/PaginationNav.svelte +13 -11
  279. package/dist/pagination/PaginationNav.svelte.d.ts +1 -1
  280. package/dist/pagination/index.d.ts +1 -1
  281. package/dist/pagination/index.js +1 -1
  282. package/dist/pagination/theme.d.ts +7 -2
  283. package/dist/pagination/theme.js +2 -2
  284. package/dist/popover/Popover.svelte +10 -7
  285. package/dist/popover/Popover.svelte.d.ts +1 -1
  286. package/dist/popover/index.d.ts +2 -3
  287. package/dist/popover/index.js +2 -3
  288. package/dist/popover/theme.d.ts +2 -3
  289. package/dist/popover/theme.js +1 -2
  290. package/dist/progress/Progressbar.svelte +12 -8
  291. package/dist/progress/Progressbar.svelte.d.ts +1 -1
  292. package/dist/progress/Progressradial.svelte +13 -9
  293. package/dist/progress/Progressradial.svelte.d.ts +1 -1
  294. package/dist/progress/index.d.ts +1 -1
  295. package/dist/progress/index.js +1 -1
  296. package/dist/progress/theme.d.ts +4 -0
  297. package/dist/rating/AdvancedRating.svelte +12 -9
  298. package/dist/rating/AdvancedRating.svelte.d.ts +1 -1
  299. package/dist/rating/CustomIcon.svelte +1 -1
  300. package/dist/rating/CustomIcon.svelte.d.ts +1 -1
  301. package/dist/rating/Heart.svelte +1 -1
  302. package/dist/rating/Heart.svelte.d.ts +1 -1
  303. package/dist/rating/Rating.svelte +8 -4
  304. package/dist/rating/Rating.svelte.d.ts +1 -1
  305. package/dist/rating/RatingComment.svelte +1 -1
  306. package/dist/rating/RatingComment.svelte.d.ts +1 -1
  307. package/dist/rating/Review.svelte +14 -11
  308. package/dist/rating/Review.svelte.d.ts +1 -1
  309. package/dist/rating/ScoreRating.svelte +14 -10
  310. package/dist/rating/ScoreRating.svelte.d.ts +1 -1
  311. package/dist/rating/Star.svelte +1 -1
  312. package/dist/rating/Star.svelte.d.ts +1 -1
  313. package/dist/rating/Thumbup.svelte +1 -1
  314. package/dist/rating/Thumbup.svelte.d.ts +1 -1
  315. package/dist/rating/index.d.ts +10 -11
  316. package/dist/rating/index.js +10 -11
  317. package/dist/rating/theme.d.ts +16 -14
  318. package/dist/rating/theme.js +2 -3
  319. package/dist/sidebar/Sidebar.svelte +12 -9
  320. package/dist/sidebar/Sidebar.svelte.d.ts +1 -1
  321. package/dist/sidebar/SidebarBrand.svelte +10 -7
  322. package/dist/sidebar/SidebarBrand.svelte.d.ts +1 -1
  323. package/dist/sidebar/SidebarButton.svelte +8 -4
  324. package/dist/sidebar/SidebarButton.svelte.d.ts +1 -1
  325. package/dist/sidebar/SidebarCta.svelte +11 -7
  326. package/dist/sidebar/SidebarCta.svelte.d.ts +1 -1
  327. package/dist/sidebar/SidebarDropdownWrapper.svelte +13 -10
  328. package/dist/sidebar/SidebarDropdownWrapper.svelte.d.ts +1 -1
  329. package/dist/sidebar/SidebarGroup.svelte +1 -1
  330. package/dist/sidebar/SidebarGroup.svelte.d.ts +1 -1
  331. package/dist/sidebar/SidebarItem.svelte +1 -1
  332. package/dist/sidebar/SidebarItem.svelte.d.ts +1 -1
  333. package/dist/sidebar/index.d.ts +10 -11
  334. package/dist/sidebar/index.js +10 -11
  335. package/dist/sidebar/theme.d.ts +22 -13
  336. package/dist/sidebar/theme.js +4 -4
  337. package/dist/skeleton/CardPlaceholder.svelte +17 -14
  338. package/dist/skeleton/CardPlaceholder.svelte.d.ts +1 -1
  339. package/dist/skeleton/ImagePlaceholder.svelte +17 -14
  340. package/dist/skeleton/ImagePlaceholder.svelte.d.ts +1 -1
  341. package/dist/skeleton/ListPlaceholder.svelte +12 -9
  342. package/dist/skeleton/ListPlaceholder.svelte.d.ts +1 -1
  343. package/dist/skeleton/Skeleton.svelte +15 -11
  344. package/dist/skeleton/Skeleton.svelte.d.ts +1 -1
  345. package/dist/skeleton/TestimonialPlaceholder.svelte +14 -10
  346. package/dist/skeleton/TestimonialPlaceholder.svelte.d.ts +1 -1
  347. package/dist/skeleton/TextPlaceholder.svelte +32 -28
  348. package/dist/skeleton/TextPlaceholder.svelte.d.ts +1 -1
  349. package/dist/skeleton/VideoPlaceholder.svelte +7 -3
  350. package/dist/skeleton/VideoPlaceholder.svelte.d.ts +1 -1
  351. package/dist/skeleton/WidgetPlaceholder.svelte +8 -4
  352. package/dist/skeleton/WidgetPlaceholder.svelte.d.ts +1 -1
  353. package/dist/skeleton/index.d.ts +9 -10
  354. package/dist/skeleton/index.js +9 -10
  355. package/dist/skeleton/theme.d.ts +29 -15
  356. package/dist/skeleton/theme.js +8 -9
  357. package/dist/speed-dial/SpeedDial.svelte +9 -9
  358. package/dist/speed-dial/SpeedDial.svelte.d.ts +1 -1
  359. package/dist/speed-dial/SpeedDialButton.svelte +9 -8
  360. package/dist/speed-dial/SpeedDialButton.svelte.d.ts +1 -1
  361. package/dist/speed-dial/SpeedDialTrigger.svelte +1 -1
  362. package/dist/speed-dial/SpeedDialTrigger.svelte.d.ts +1 -1
  363. package/dist/speed-dial/index.d.ts +4 -5
  364. package/dist/speed-dial/index.js +4 -5
  365. package/dist/speed-dial/theme.d.ts +8 -4
  366. package/dist/speed-dial/theme.js +2 -2
  367. package/dist/spinner/Spinner.svelte +6 -3
  368. package/dist/spinner/Spinner.svelte.d.ts +1 -1
  369. package/dist/spinner/index.d.ts +2 -3
  370. package/dist/spinner/index.js +2 -3
  371. package/dist/spinner/theme.d.ts +1 -0
  372. package/dist/stepindicator/StepIndicator.svelte +28 -49
  373. package/dist/stepindicator/StepIndicator.svelte.d.ts +3 -3
  374. package/dist/stepindicator/index.d.ts +1 -0
  375. package/dist/stepindicator/index.js +1 -0
  376. package/dist/stepindicator/theme.d.ts +246 -0
  377. package/dist/stepindicator/theme.js +103 -0
  378. package/dist/stepper/BreadcrumbStepper.svelte +15 -11
  379. package/dist/stepper/BreadcrumbStepper.svelte.d.ts +1 -1
  380. package/dist/stepper/DetailedStepper.svelte +9 -9
  381. package/dist/stepper/DetailedStepper.svelte.d.ts +1 -1
  382. package/dist/stepper/ProgressStepper.svelte +13 -11
  383. package/dist/stepper/ProgressStepper.svelte.d.ts +1 -1
  384. package/dist/stepper/Stepper.svelte +15 -13
  385. package/dist/stepper/Stepper.svelte.d.ts +1 -1
  386. package/dist/stepper/TimelineStepper.svelte +9 -9
  387. package/dist/stepper/TimelineStepper.svelte.d.ts +1 -1
  388. package/dist/stepper/VerticalStepper.svelte +9 -10
  389. package/dist/stepper/VerticalStepper.svelte.d.ts +1 -1
  390. package/dist/stepper/index.d.ts +1 -1
  391. package/dist/stepper/index.js +1 -1
  392. package/dist/stepper/theme.d.ts +303 -261
  393. package/dist/stepper/theme.js +198 -186
  394. package/dist/table/Table.svelte +8 -6
  395. package/dist/table/Table.svelte.d.ts +2 -2
  396. package/dist/table/TableBody.svelte +6 -2
  397. package/dist/table/TableBody.svelte.d.ts +1 -1
  398. package/dist/table/TableBodyCell.svelte +7 -4
  399. package/dist/table/TableBodyCell.svelte.d.ts +1 -1
  400. package/dist/table/TableBodyRow.svelte +8 -5
  401. package/dist/table/TableBodyRow.svelte.d.ts +1 -1
  402. package/dist/table/TableHead.svelte +8 -5
  403. package/dist/table/TableHead.svelte.d.ts +1 -1
  404. package/dist/table/TableHeadCell.svelte +7 -4
  405. package/dist/table/TableHeadCell.svelte.d.ts +1 -1
  406. package/dist/table/TableSearch.svelte +35 -30
  407. package/dist/table/TableSearch.svelte.d.ts +8 -8
  408. package/dist/table/index.d.ts +8 -9
  409. package/dist/table/index.js +8 -9
  410. package/dist/table/theme.d.ts +192 -4
  411. package/dist/table/theme.js +68 -4
  412. package/dist/tabs/TabItem.svelte +8 -5
  413. package/dist/tabs/TabItem.svelte.d.ts +1 -1
  414. package/dist/tabs/Tabs.svelte +9 -6
  415. package/dist/tabs/Tabs.svelte.d.ts +1 -1
  416. package/dist/tabs/index.d.ts +3 -4
  417. package/dist/tabs/index.js +3 -4
  418. package/dist/tabs/theme.d.ts +4 -0
  419. package/dist/theme/ThemeProvider.svelte +30 -0
  420. package/dist/theme/ThemeProvider.svelte.d.ts +17 -0
  421. package/dist/theme/index.d.ts +0 -10296
  422. package/dist/theme/index.js +2 -119
  423. package/dist/theme/themeUtils.d.ts +2 -0
  424. package/dist/theme/themeUtils.js +6 -0
  425. package/dist/timeline/Activity.svelte +6 -3
  426. package/dist/timeline/Activity.svelte.d.ts +1 -1
  427. package/dist/timeline/ActivityItem.svelte +15 -11
  428. package/dist/timeline/ActivityItem.svelte.d.ts +1 -1
  429. package/dist/timeline/Group.svelte +11 -5
  430. package/dist/timeline/Group.svelte.d.ts +1 -1
  431. package/dist/timeline/GroupItem.svelte +13 -8
  432. package/dist/timeline/GroupItem.svelte.d.ts +1 -1
  433. package/dist/timeline/Timeline.svelte +6 -2
  434. package/dist/timeline/Timeline.svelte.d.ts +1 -1
  435. package/dist/timeline/TimelineItem.svelte +13 -9
  436. package/dist/timeline/TimelineItem.svelte.d.ts +1 -1
  437. package/dist/timeline/index.d.ts +7 -8
  438. package/dist/timeline/index.js +7 -8
  439. package/dist/timeline/theme.d.ts +25 -15
  440. package/dist/timeline/theme.js +3 -3
  441. package/dist/toast/Toast.svelte +10 -6
  442. package/dist/toast/Toast.svelte.d.ts +1 -1
  443. package/dist/toast/index.d.ts +2 -3
  444. package/dist/toast/index.js +2 -3
  445. package/dist/toast/theme.d.ts +2 -0
  446. package/dist/toolbar/Toolbar.svelte +8 -4
  447. package/dist/toolbar/Toolbar.svelte.d.ts +1 -1
  448. package/dist/toolbar/ToolbarButton.svelte +6 -2
  449. package/dist/toolbar/ToolbarButton.svelte.d.ts +1 -1
  450. package/dist/toolbar/ToolbarGroup.svelte +6 -2
  451. package/dist/toolbar/ToolbarGroup.svelte.d.ts +1 -1
  452. package/dist/toolbar/index.d.ts +4 -5
  453. package/dist/toolbar/index.js +4 -5
  454. package/dist/toolbar/theme.d.ts +4 -0
  455. package/dist/tooltip/Tooltip.svelte +7 -3
  456. package/dist/tooltip/Tooltip.svelte.d.ts +1 -1
  457. package/dist/tooltip/index.d.ts +2 -3
  458. package/dist/tooltip/index.js +2 -3
  459. package/dist/tooltip/theme.d.ts +2 -0
  460. package/dist/types.d.ts +25 -25
  461. package/dist/types.js +1 -1
  462. package/dist/typography/anchor/A.svelte +7 -3
  463. package/dist/typography/anchor/A.svelte.d.ts +1 -1
  464. package/dist/typography/anchor/index.d.ts +2 -3
  465. package/dist/typography/anchor/index.js +2 -3
  466. package/dist/typography/anchor/theme.d.ts +1 -0
  467. package/dist/typography/blockquote/Blockquote.svelte +6 -2
  468. package/dist/typography/blockquote/Blockquote.svelte.d.ts +1 -1
  469. package/dist/typography/blockquote/theme.d.ts +1 -0
  470. package/dist/typography/descriptionlist/DescriptionList.svelte +7 -3
  471. package/dist/typography/descriptionlist/DescriptionList.svelte.d.ts +1 -1
  472. package/dist/typography/descriptionlist/index.d.ts +2 -3
  473. package/dist/typography/descriptionlist/index.js +2 -3
  474. package/dist/typography/descriptionlist/theme.d.ts +1 -0
  475. package/dist/typography/heading/Heading.svelte +7 -3
  476. package/dist/typography/heading/Heading.svelte.d.ts +1 -1
  477. package/dist/typography/heading/index.d.ts +2 -3
  478. package/dist/typography/heading/index.js +2 -3
  479. package/dist/typography/heading/theme.d.ts +1 -0
  480. package/dist/typography/hr/Hr.svelte +10 -6
  481. package/dist/typography/hr/Hr.svelte.d.ts +1 -1
  482. package/dist/typography/hr/index.d.ts +2 -3
  483. package/dist/typography/hr/index.js +2 -3
  484. package/dist/typography/hr/theme.d.ts +2 -0
  485. package/dist/typography/img/EnhancedImg.svelte +10 -6
  486. package/dist/typography/img/EnhancedImg.svelte.d.ts +1 -1
  487. package/dist/typography/img/Img.svelte +10 -6
  488. package/dist/typography/img/Img.svelte.d.ts +1 -1
  489. package/dist/typography/img/index.d.ts +3 -4
  490. package/dist/typography/img/index.js +3 -4
  491. package/dist/typography/img/theme.d.ts +2 -0
  492. package/dist/typography/layout/Layout.svelte +6 -2
  493. package/dist/typography/layout/Layout.svelte.d.ts +1 -1
  494. package/dist/typography/layout/index.d.ts +2 -3
  495. package/dist/typography/layout/index.js +2 -3
  496. package/dist/typography/layout/theme.d.ts +1 -0
  497. package/dist/typography/list/Li.svelte +6 -3
  498. package/dist/typography/list/Li.svelte.d.ts +1 -1
  499. package/dist/typography/list/List.svelte +6 -2
  500. package/dist/typography/list/List.svelte.d.ts +1 -1
  501. package/dist/typography/list/index.d.ts +3 -4
  502. package/dist/typography/list/index.js +3 -4
  503. package/dist/typography/list/theme.d.ts +1 -0
  504. package/dist/typography/mark/Mark.svelte +6 -2
  505. package/dist/typography/mark/Mark.svelte.d.ts +1 -1
  506. package/dist/typography/mark/index.d.ts +2 -3
  507. package/dist/typography/mark/index.js +2 -3
  508. package/dist/typography/mark/theme.d.ts +1 -0
  509. package/dist/typography/paragraph/P.svelte +6 -2
  510. package/dist/typography/paragraph/P.svelte.d.ts +1 -1
  511. package/dist/typography/paragraph/index.d.ts +2 -3
  512. package/dist/typography/paragraph/index.js +2 -3
  513. package/dist/typography/paragraph/theme.d.ts +1 -0
  514. package/dist/typography/secondary/Secondary.svelte +6 -2
  515. package/dist/typography/secondary/Secondary.svelte.d.ts +1 -1
  516. package/dist/typography/secondary/index.d.ts +2 -3
  517. package/dist/typography/secondary/index.js +2 -3
  518. package/dist/typography/secondary/theme.d.ts +1 -0
  519. package/dist/typography/span/Span.svelte +6 -2
  520. package/dist/typography/span/Span.svelte.d.ts +1 -1
  521. package/dist/typography/span/index.d.ts +2 -3
  522. package/dist/typography/span/index.js +2 -3
  523. package/dist/typography/span/theme.d.ts +1 -0
  524. package/dist/utils/Arrow.svelte +1 -1
  525. package/dist/utils/Arrow.svelte.d.ts +1 -1
  526. package/dist/utils/CloseButton.svelte +1 -1
  527. package/dist/utils/CloseButton.svelte.d.ts +1 -1
  528. package/dist/utils/Popper.svelte +1 -1
  529. package/dist/utils/Popper.svelte.d.ts +1 -1
  530. package/dist/video/Video.svelte +6 -2
  531. package/dist/video/Video.svelte.d.ts +1 -1
  532. package/dist/video/index.d.ts +1 -2
  533. package/dist/video/index.js +1 -2
  534. package/package.json +9 -12
  535. package/dist/chart/Chart.svelte +0 -45
  536. package/dist/chart/Chart.svelte.d.ts +0 -13
  537. package/dist/chart/chart.css +0 -166
  538. package/dist/chart/index.d.ts +0 -1
  539. package/dist/chart/index.js +0 -1
  540. package/dist/forms/button-toggle/button-toggle.txt +0 -25
  541. package/dist/theme/Theme.svelte +0 -60
  542. package/dist/theme/Theme.svelte.d.ts +0 -12
@@ -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#L726)
5
+ * [FileuploadProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L719)
6
6
  * ## Props
7
7
  * @prop files = $bindable()
8
8
  * @prop size = "md"
@@ -1,2 +1,2 @@
1
1
  export { default as Fileupload } from "./Fileupload.svelte";
2
- export { fileupload } from "./theme";
2
+ export { fileupload, type FileuploadTheme } from "./theme";
@@ -49,3 +49,5 @@ export declare const fileupload: import("tailwind-variants").TVReturnType<{
49
49
  wrapper: string;
50
50
  right: string;
51
51
  }, undefined, unknown, unknown, undefined>>;
52
+ export type FileuploadSlots = keyof typeof fileupload.slots;
53
+ export type FileuploadTheme = Partial<Record<FileuploadSlots, string>>;
@@ -1,11 +1,14 @@
1
1
  <script lang="ts">
2
2
  import { idGenerator } from "../../utils";
3
- import { floatingLabelInput } from ".";
3
+ import { floatingLabelInput, type FloatingLabelInputTheme } from ".";
4
4
  import { type FloatingLabelInputProps, CloseButton, cn } from "../..";
5
+ import { getTheme } from "../../theme/themeUtils";
5
6
 
6
7
  let { children, id = idGenerator(), value = $bindable(), elementRef = $bindable(), "aria-describedby": ariaDescribedby, variant = "standard", size = "default", color = "default", class: className, inputClass, labelClass, clearable, clearableSvgClass, clearableColor = "none", clearableClass, clearableOnClick, data = [], maxSuggestions = 5, onSelect, comboClass, ...restProps }: FloatingLabelInputProps = $props();
7
8
 
8
- const { base, input, label, clearbtn, combo } = $derived(floatingLabelInput({ variant, size, color }));
9
+ const theme = getTheme("floatingLabelInput");
10
+
11
+ const { base, input, label, closebutton, combo } = $derived(floatingLabelInput({ variant, size, color }));
9
12
 
10
13
  const clearAll = () => {
11
14
  if (elementRef) {
@@ -133,17 +136,17 @@
133
136
  <div tabindex="-1" bind:this={dummyFocusDiv} class="sr-only"></div>
134
137
  {/if}
135
138
 
136
- <div class={cn(base(), isCombobox ? "relative" : "", className)}>
137
- <input {id} placeholder=" " bind:value bind:this={elementRef} {...restProps} aria-describedby={ariaDescribedby} class={cn(input(), inputClass)} oninput={handleInput} onfocus={handleFocus} onblur={handleBlur} onkeydown={handleKeydown} />
139
+ <div class={cn(base(), isCombobox ? "relative" : "", className, (theme as FloatingLabelInputTheme)?.base)}>
140
+ <input {id} placeholder=" " bind:value bind:this={elementRef} {...restProps} aria-describedby={ariaDescribedby} class={cn(input(), inputClass, (theme as FloatingLabelInputTheme)?.input)} oninput={handleInput} onfocus={handleFocus} onblur={handleBlur} onkeydown={handleKeydown} />
138
141
  {#if value !== undefined && value !== "" && clearable}
139
- <CloseButton onclick={clearAll} class={cn(clearbtn(), clearableClass)} color={clearableColor} aria-label="Clear search value" svgClass={cn(clearableSvgClass)} />
142
+ <CloseButton onclick={clearAll} class={cn(closebutton(), clearableClass, (theme as FloatingLabelInputTheme)?.closebutton)} color={clearableColor} aria-label="Clear search value" svgClass={cn(clearableSvgClass)} />
140
143
  {/if}
141
- <label for={id} class={cn(label(), labelClass)}>
144
+ <label for={id} class={cn(label(), labelClass, (theme as FloatingLabelInputTheme)?.label)}>
142
145
  {@render children()}
143
146
  </label>
144
147
 
145
148
  {#if isCombobox && isFocused && filteredSuggestions.length > 0}
146
- <div class={cn(combo(), comboClass)}>
149
+ <div class={cn(combo(), comboClass, (theme as FloatingLabelInputTheme)?.combo)}>
147
150
  {#each filteredSuggestions as item, i}
148
151
  <button type="button" class="w-full px-3 py-2 text-left {i === selectedIndex ? 'bg-gray-100 dark:bg-gray-700' : 'hover:bg-gray-50 dark:hover:bg-gray-700'} focus:outline-none" onclick={() => selectItem(item)} onmouseenter={() => (selectedIndex = i)}>
149
152
  {item}
@@ -157,7 +160,7 @@
157
160
  @component
158
161
  [Go to docs](https://flowbite-svelte.com/)
159
162
  ## Type
160
- [FloatingLabelInputProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L740)
163
+ [FloatingLabelInputProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L733)
161
164
  ## Props
162
165
  @prop children
163
166
  @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#L740)
5
+ * [FloatingLabelInputProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L733)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop id = idGenerator()
@@ -1,2 +1,2 @@
1
1
  export { default as FloatingLabelInput } from "./FloatingLabelInput.svelte";
2
- export { floatingLabelInput } from "./theme";
2
+ export { floatingLabelInput, type FloatingLabelInputTheme } from "./theme";
@@ -112,7 +112,7 @@ export declare const floatingLabelInput: import("tailwind-variants").TVReturnTyp
112
112
  base: string;
113
113
  input: string;
114
114
  label: string;
115
- clearbtn: string;
115
+ closebutton: string;
116
116
  combo: string;
117
117
  }, undefined, {
118
118
  variant: {
@@ -226,7 +226,7 @@ export declare const floatingLabelInput: import("tailwind-variants").TVReturnTyp
226
226
  base: string;
227
227
  input: string;
228
228
  label: string;
229
- clearbtn: string;
229
+ closebutton: string;
230
230
  combo: string;
231
231
  }, import("tailwind-variants").TVReturnType<{
232
232
  variant: {
@@ -340,6 +340,8 @@ export declare const floatingLabelInput: import("tailwind-variants").TVReturnTyp
340
340
  base: string;
341
341
  input: string;
342
342
  label: string;
343
- clearbtn: string;
343
+ closebutton: string;
344
344
  combo: string;
345
345
  }, undefined, unknown, unknown, undefined>>;
346
+ export type FloatingLabelInputSlots = keyof typeof floatingLabelInput.slots;
347
+ export type FloatingLabelInputTheme = Partial<Record<FloatingLabelInputSlots, string>>;
@@ -4,7 +4,7 @@ export const floatingLabelInput = tv({
4
4
  base: "relative",
5
5
  input: "block w-full text-sm text-gray-900 bg-transparent appearance-none dark:text-white focus:outline-hidden focus:ring-0 peer",
6
6
  label: "absolute text-sm duration-300 transform scale-75 z-10 origin-left rtl:origin-right peer-placeholder-shown:scale-100 peer-focus:scale-75",
7
- clearbtn: "absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 hover:text-black",
7
+ closebutton: "absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 hover:text-black",
8
8
  combo: "absolute top-full right-0 left-0 z-10 mt-1 max-h-60 overflow-y-auto rounded-md border border-gray-200 bg-white shadow-lg dark:border-gray-700 dark:bg-gray-800"
9
9
  },
10
10
  variants: {
@@ -1,10 +1,13 @@
1
1
  <script lang="ts">
2
2
  import { helper } from ".";
3
3
  import { type HelperProps, cn } from "../..";
4
+ import { getTheme } from "../../theme/themeUtils";
4
5
 
5
6
  let { children, class: className, color = "gray", ...restProps }: HelperProps = $props();
6
7
 
7
- const base = $derived(cn(helper({ color }), className));
8
+ const theme = getTheme("helper");
9
+
10
+ const base = $derived(cn(helper({ color }), className, theme));
8
11
  </script>
9
12
 
10
13
  <p {...restProps} class={base}>
@@ -15,7 +18,7 @@
15
18
  @component
16
19
  [Go to docs](https://flowbite-svelte.com/)
17
20
  ## Type
18
- [HelperProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L763)
21
+ [HelperProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L756)
19
22
  ## Props
20
23
  @prop children
21
24
  @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#L763)
5
+ * [HelperProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L756)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop class: className
@@ -1,2 +1,2 @@
1
1
  export { default as Helper } from "./Helper.svelte";
2
- export { helper } from "./theme";
2
+ export { helper, type HelperTheme } from "./theme";
@@ -73,3 +73,4 @@ export declare const helper: import("tailwind-variants").TVReturnType<{
73
73
  rose: string;
74
74
  };
75
75
  }, undefined, "text-xs font-normal text-gray-500 dark:text-gray-300", unknown, unknown, undefined>>;
76
+ export type HelperTheme = string;
@@ -2,8 +2,12 @@
2
2
  import type { SizeType } from "../../types";
3
3
  import { getContext } from "svelte";
4
4
  import { type InputAddonProps, clampSize, cn } from "../..";
5
+ import { getTheme } from "../../theme/themeUtils";
5
6
 
6
7
  let { children, class: className, size, ...restProps }: InputAddonProps = $props();
8
+
9
+ const theme = getTheme("inputAddon");
10
+
7
11
  let background: boolean = getContext("background");
8
12
  let group: { size: SizeType } = getContext("group");
9
13
 
@@ -28,7 +32,7 @@
28
32
  // size: explicit, inherited, default
29
33
  let _size = size || clampSize(group?.size) || "md";
30
34
 
31
- let divClass: string = cn(textSizes[_size], prefixPadding[_size], "text-gray-500 bg-gray-200", background ? darkBgClasses.tinted : darkBgClasses.base, background ? divider.tinted : divider.base, background ? borderClasses["tinted"] : borderClasses["base"], "inline-flex items-center border", group && "not-first:-ms-px", "first:rounded-s-lg last:rounded-e-lg", className);
35
+ let divClass: string = cn(textSizes[_size], prefixPadding[_size], "text-gray-500 bg-gray-200", background ? darkBgClasses.tinted : darkBgClasses.base, background ? divider.tinted : divider.base, background ? borderClasses["tinted"] : borderClasses["base"], "inline-flex items-center border", group && "not-first:-ms-px", "first:rounded-s-lg last:rounded-e-lg", className, theme);
32
36
  </script>
33
37
 
34
38
  <div {...restProps} class={divClass}>
@@ -39,7 +43,7 @@
39
43
  @component
40
44
  [Go to docs](https://flowbite-svelte.com/)
41
45
  ## Type
42
- [InputAddonProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L805)
46
+ [InputAddonProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L798)
43
47
  ## Props
44
48
  @prop children
45
49
  @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#L805)
5
+ * [InputAddonProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L798)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop class: className
@@ -1,10 +1,13 @@
1
1
  <script lang="ts">
2
2
  import { getContext } from "svelte";
3
3
  import { CloseButton, type SizeType, type InputProps, type InputValue, cn } from "../..";
4
- import { input, clampSize } from ".";
4
+ import { input, clampSize, type InputTheme } from ".";
5
+ import { getTheme } from "../../theme/themeUtils";
5
6
 
6
7
  let { children, left, right, value = $bindable(), elementRef = $bindable(), clearable = false, size, color = "default", class: className, wrapperClass, leftClass, rightClass, divClass, clearableSvgClass, clearableColor = "none", clearableClass, clearableOnClick, data = [], maxSuggestions = 5, onSelect, comboClass, comboItemClass, onInput, onFocus, onBlur, onKeydown, oninput, onfocus, onblur, onkeydown, ...restProps }: InputProps<InputValue> = $props();
7
8
 
9
+ const theme = getTheme("input");
10
+
8
11
  // onSelect is a custom combobox selection handler that takes a string
9
12
  // standard DOM events, onInput, onFocus, onBlur, onKeydown will be deprecated in the next minor version
10
13
  const resolvedOnInput = $derived(oninput || onInput);
@@ -26,7 +29,7 @@
26
29
  let _size = $derived(size || clampSize(group?.size) || "md");
27
30
  const _color = $derived(color === "default" && background ? "tinted" : color);
28
31
 
29
- const { base, input: inputCls, left: leftCls, right: rightCls, clearbtn, combo, comboItem } = $derived(input({ size: _size, color: _color, group: isGroup }));
32
+ const { base, input: inputCls, left: leftCls, right: rightCls, closebutton, combo, comboItem } = $derived(input({ size: _size, color: _color, group: isGroup }));
30
33
 
31
34
  const clearAll = () => {
32
35
  if (elementRef) {
@@ -207,7 +210,7 @@
207
210
  {#if isCombobox}
208
211
  <div class={cn(isCombobox ? "relative w-full" : "", wrapperClass)}>
209
212
  {#if right || left || clearable}
210
- <div class={cn(base(), divClass)}>
213
+ <div class={cn(base(), divClass, (theme as InputTheme)?.base)}>
211
214
  {@render inputContent()}
212
215
  </div>
213
216
  {:else}
@@ -215,10 +218,10 @@
215
218
  {/if}
216
219
 
217
220
  {#if isCombobox && isFocused && filteredSuggestions.length > 0}
218
- <div class={cn(combo(), comboClass)}>
221
+ <div class={cn(combo(), comboClass, (theme as InputTheme)?.combo)}>
219
222
  {#each filteredSuggestions as item, i}
220
223
  <button type="button" class="w-full px-3 py-2 text-left {i === selectedIndex ? 'bg-gray-100 dark:bg-gray-700' : 'hover:bg-gray-50 dark:hover:bg-gray-700'} focus:outline-none" onclick={() => selectItem(item)} onmouseenter={() => (selectedIndex = i)}>
221
- <p class={cn(comboItem(), comboItemClass)}>{item}</p>
224
+ <p class={cn(comboItem(), comboItemClass, (theme as InputTheme)?.comboItem)}>{item}</p>
222
225
  </button>
223
226
  {/each}
224
227
  </div>
@@ -227,7 +230,7 @@
227
230
  {:else if group}
228
231
  {@render inputContent()}
229
232
  {:else if right || left || clearable}
230
- <div class={cn(base(), divClass)}>
233
+ <div class={cn(base(), divClass, (theme as InputTheme)?.base)}>
231
234
  {@render inputContent()}
232
235
  </div>
233
236
  {:else}
@@ -236,20 +239,20 @@
236
239
 
237
240
  {#snippet inputContent()}
238
241
  {#if left}
239
- <div class={cn(leftCls(), leftClass)}>
242
+ <div class={cn(leftCls(), leftClass, (theme as InputTheme)?.left)}>
240
243
  {@render left()}
241
244
  </div>
242
245
  {/if}
243
246
  {#if children}
244
247
  {@render children({ ...restProps, class: inputCls() })}
245
248
  {:else}
246
- <input {...restProps} bind:value bind:this={elementRef} oninput={handleInput} onfocus={handleFocus} onblur={handleBlur} onkeydown={handleKeydown} class={cn(inputCls(), className)} />
249
+ <input {...restProps} bind:value bind:this={elementRef} oninput={handleInput} onfocus={handleFocus} onblur={handleBlur} onkeydown={handleKeydown} class={cn(inputCls(), className, (theme as InputTheme)?.input)} />
247
250
  {#if value !== undefined && value !== "" && clearable}
248
- <CloseButton onclick={clearAll} class={cn(clearbtn(), clearableClass)} color={clearableColor} aria-label="Clear search value" svgClass={cn(clearableSvgClass)} />
251
+ <CloseButton onclick={clearAll} class={cn(closebutton(), clearableClass, (theme as InputTheme)?.closebutton)} color={clearableColor} aria-label="Clear search value" svgClass={cn(clearableSvgClass)} />
249
252
  {/if}
250
253
  {/if}
251
254
  {#if right}
252
- <div class={cn(rightCls(), rightClass)}>
255
+ <div class={cn(rightCls(), rightClass, (theme as InputTheme)?.right)}>
253
256
  {@render right()}
254
257
  </div>
255
258
  {/if}
@@ -1,4 +1,4 @@
1
1
  export { default as Input } from "./Input.svelte";
2
2
  import type { SizeType } from "../../types";
3
- export { input } from "./theme";
3
+ export { input, type InputTheme } from "./theme";
4
4
  export declare function clampSize(s: SizeType): "md" | "sm" | "lg";
@@ -93,7 +93,7 @@ export declare const input: import("tailwind-variants").TVReturnType<{
93
93
  input: string;
94
94
  left: string;
95
95
  right: string;
96
- clearbtn: string;
96
+ closebutton: string;
97
97
  combo: string;
98
98
  comboItem: string;
99
99
  }, undefined, {
@@ -189,7 +189,7 @@ export declare const input: import("tailwind-variants").TVReturnType<{
189
189
  input: string;
190
190
  left: string;
191
191
  right: string;
192
- clearbtn: string;
192
+ closebutton: string;
193
193
  combo: string;
194
194
  comboItem: string;
195
195
  }, import("tailwind-variants").TVReturnType<{
@@ -285,7 +285,9 @@ export declare const input: import("tailwind-variants").TVReturnType<{
285
285
  input: string;
286
286
  left: string;
287
287
  right: string;
288
- clearbtn: string;
288
+ closebutton: string;
289
289
  combo: string;
290
290
  comboItem: string;
291
291
  }, undefined, unknown, unknown, undefined>>;
292
+ export type InputSlots = keyof typeof input.slots;
293
+ export type InputTheme = Partial<Record<InputSlots, string>>;
@@ -5,7 +5,7 @@ export const input = tv({
5
5
  input: "block w-full disabled:cursor-not-allowed disabled:opacity-50 rtl:text-right focus:outline-hidden",
6
6
  left: "flex absolute inset-y-0 items-center text-gray-500 dark:text-gray-400 pointer-events-none start-0 p-2.5",
7
7
  right: "flex absolute inset-y-0 items-center text-gray-500 dark:text-gray-400 end-0 p-2.5",
8
- clearbtn: "absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 hover:text-black",
8
+ closebutton: "absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 hover:text-black",
9
9
  combo: "absolute top-full right-0 left-0 z-20 mt-1 max-h-60 overflow-y-auto rounded-md border border-gray-200 bg-white shadow-lg dark:border-gray-700 dark:bg-gray-800",
10
10
  comboItem: "text-gray-900 dark:text-gray-50"
11
11
  },
@@ -1,10 +1,13 @@
1
1
  <script lang="ts">
2
2
  import { label } from ".";
3
3
  import { type LabelProps, cn } from "../..";
4
+ import { getTheme } from "../../theme/themeUtils";
4
5
 
5
6
  let { children, color = "gray", show = true, class: className, ...restProps }: LabelProps = $props();
6
7
 
7
- let base = $derived(cn(label({ color }), className));
8
+ const theme = getTheme("label");
9
+
10
+ let base = $derived(cn(label({ color }), className, theme));
8
11
  </script>
9
12
 
10
13
  {#if show}
@@ -19,7 +22,7 @@
19
22
  @component
20
23
  [Go to docs](https://flowbite-svelte.com/)
21
24
  ## Type
22
- [LabelProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L820)
25
+ [LabelProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L813)
23
26
  ## Props
24
27
  @prop children
25
28
  @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#L820)
5
+ * [LabelProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L813)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop color = "gray"
@@ -1,2 +1,2 @@
1
1
  export { default as Label } from "./Label.svelte";
2
- export { label } from "./theme";
2
+ export { label, type LabelTheme } from "./theme";
@@ -73,3 +73,4 @@ export declare const label: import("tailwind-variants").TVReturnType<{
73
73
  rose: string;
74
74
  };
75
75
  }, undefined, "text-sm rtl:text-right font-medium block", unknown, unknown, undefined>>;
76
+ export type LabelTheme = string;
@@ -1,15 +1,18 @@
1
1
  <script lang="ts">
2
- import { type PhoneInputProps } from "../../types";
3
- import { phoneinput } from ".";
2
+ import { type PhoneInputProps, cn } from "../..";
3
+ import { phoneinput, type PhoneInputTheme } from ".";
4
4
  import clsx from "clsx";
5
+ import { getTheme } from "../../theme/themeUtils";
5
6
 
6
7
  let { children, phoneIcon = true, pattern = "[0-9]{3}-[0-9]{3}-[0-9]{4}", phoneType = "default", floatingLabel = "Phone number", labelFor = "floating-phone-number", classes, ...restProps }: PhoneInputProps = $props();
7
8
 
9
+ const theme = getTheme("phoneInput");
10
+
8
11
  const { defaultDiv, phonesvg, defaultInput, floatingSpan, floatingInput, labelFloating } = $derived(phoneinput({ phoneType, phoneIcon }));
9
12
  </script>
10
13
 
11
14
  {#snippet phoneIconSnippet()}
12
- <svg class={phonesvg()} aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 19 18">
15
+ <svg class={cn(phonesvg(), (theme as PhoneInputTheme)?.phonesvg)} aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 19 18">
13
16
  <path d="M18 13.446a3.02 3.02 0 0 0-.946-1.985l-1.4-1.4a3.054 3.054 0 0 0-4.218 0l-.7.7a.983.983 0 0 1-1.39 0l-2.1-2.1a.983.983 0 0 1 0-1.389l.7-.7a2.98 2.98 0 0 0 0-4.217l-1.4-1.4a2.824 2.824 0 0 0-4.218 0c-3.619 3.619-3 8.229 1.752 12.979C6.785 16.639 9.45 18 11.912 18a7.175 7.175 0 0 0 5.139-2.325A2.9 2.9 0 0 0 18 13.446Z" />
14
17
  </svg>
15
18
  {/snippet}
@@ -17,20 +20,20 @@
17
20
  {#if phoneType === "default" || phoneType === "countryCode"}
18
21
  <div class="relative">
19
22
  {#if phoneIcon}
20
- <div class={defaultDiv({ class: clsx(classes?.defaultDiv) })}>
23
+ <div class={cn(defaultDiv({ class: clsx(classes?.defaultDiv) }), (theme as PhoneInputTheme)?.defaultDiv)}>
21
24
  {@render phoneIconSnippet()}
22
25
  </div>
23
26
  {/if}
24
- <input type="tel" {pattern} {...restProps} class={defaultInput({ class: clsx(classes?.defaultInput) })} />
27
+ <input type="tel" {pattern} {...restProps} class={cn(defaultInput({ class: clsx(classes?.defaultInput) }), (theme as PhoneInputTheme)?.defaultInput)} />
25
28
  </div>
26
29
  {:else if phoneType === "floating"}
27
30
  <div class="relative">
28
31
  {#if phoneIcon}
29
- <span class={floatingSpan({ class: clsx(classes?.floatingSpan) })}>
32
+ <span class={cn(floatingSpan({ class: clsx(classes?.floatingSpan) }), (theme as PhoneInputTheme)?.floatingSpan)}>
30
33
  {@render phoneIconSnippet()}
31
34
  </span>
32
35
  {/if}
33
- <input type="tel" class={floatingInput({ class: clsx(classes?.floatingInput) })} {pattern} {...restProps} />
34
- <label for={labelFor} class={labelFloating({ class: clsx(classes?.labelFloating) })}>{floatingLabel}</label>
36
+ <input type="tel" class={cn(floatingInput({ class: clsx(classes?.floatingInput) }), (theme as PhoneInputTheme)?.floatingInput)} {pattern} {...restProps} />
37
+ <label for={labelFor} class={cn(labelFloating({ class: clsx(classes?.labelFloating) }), (theme as PhoneInputTheme)?.labelFloating)}>{floatingLabel}</label>
35
38
  </div>
36
39
  {/if}
@@ -1,4 +1,4 @@
1
- import { type PhoneInputProps } from "../../types";
1
+ import { type PhoneInputProps } from "../..";
2
2
  declare const PhoneInput: import("svelte").Component<PhoneInputProps<number>, {}, "">;
3
3
  type PhoneInput = ReturnType<typeof PhoneInput>;
4
4
  export default PhoneInput;
@@ -1,2 +1,2 @@
1
1
  export { default as PhoneInput } from "./PhoneInput.svelte";
2
- export { phoneinput } from "./theme";
2
+ export { phoneinput, type PhoneInputTheme } from "./theme";
@@ -82,3 +82,5 @@ export declare const phoneinput: import("tailwind-variants").TVReturnType<{
82
82
  floatingInput: string;
83
83
  labelFloating: string;
84
84
  }, undefined, unknown, unknown, undefined>>;
85
+ export type PhoneInputSlots = keyof typeof phoneinput.slots;
86
+ export type PhoneInputTheme = Partial<Record<PhoneInputSlots, string>>;
@@ -1,15 +1,18 @@
1
1
  <script lang="ts" generics="T">
2
2
  import { getContext } from "svelte";
3
- import { radio } from ".";
3
+ import { radio, type RadioTheme } from ".";
4
4
  import { type RadioProps, Label, cn } from "../..";
5
+ import { getTheme } from "../../theme/themeUtils";
5
6
 
6
7
  let { children, "aria-describedby": ariaDescribedby, inline = false, labelClass, color = "primary", custom = false, group = $bindable<T>(), value = $bindable<T>(), inputClass, ...restProps }: RadioProps<T> = $props();
7
8
 
9
+ const theme = getTheme("radio");
10
+
8
11
  const { input, label } = $derived(radio({ color, tinted: !!getContext("background"), custom, inline }));
9
12
  </script>
10
13
 
11
- <Label class={cn(label(), labelClass)}>
12
- <input type="radio" bind:group {value} aria-describedby={ariaDescribedby} {...restProps} class={cn(input(), inputClass)} />
14
+ <Label class={cn(label(), labelClass, (theme as RadioTheme)?.label)}>
15
+ <input type="radio" bind:group {value} aria-describedby={ariaDescribedby} {...restProps} class={cn(input(), inputClass, (theme as RadioTheme)?.input)} />
13
16
  {@render children?.()}
14
17
  </Label>
15
18
 
@@ -1,12 +1,15 @@
1
1
  <script lang="ts" generics="T">
2
2
  import { Button, type RadioButtonProps, cn } from "../..";
3
3
  import { radiobutton } from ".";
4
+ import { getTheme } from "../../theme/themeUtils";
4
5
 
5
6
  let { children, group = $bindable<T>(), value = $bindable<T>(), inline, pill, outline, size, color, shadow, checkedClass, class: className, ...restProps }: RadioButtonProps<T> = $props();
6
7
 
8
+ const theme = getTheme("radioButton");
9
+
7
10
  let inputEl: HTMLInputElement;
8
11
  let isChecked = $derived(value == group);
9
- let base = $derived(cn(radiobutton({ inline }), isChecked && checkedClass, className));
12
+ let base = $derived(cn(radiobutton({ inline }), isChecked && checkedClass, className, theme));
10
13
 
11
14
  function clickHandler() {
12
15
  inputEl?.click(); // manually trigger the click on the hidden input
@@ -1,3 +1,3 @@
1
1
  export { default as Radio } from "./Radio.svelte";
2
2
  export { default as RadioButton } from "./RadioButton.svelte";
3
- export { radio, radiobutton } from "./theme";
3
+ export { radio, radiobutton, type RadioTheme, type RadioButtonTheme } from "./theme";
@@ -271,6 +271,8 @@ export declare const radio: import("tailwind-variants").TVReturnType<{
271
271
  input: string;
272
272
  label: string;
273
273
  }, undefined, unknown, unknown, undefined>>;
274
+ export type RadioSlots = keyof typeof radio.slots;
275
+ export type RadioTheme = Partial<Record<RadioSlots, string>>;
274
276
  export declare const radiobutton: import("tailwind-variants").TVReturnType<{
275
277
  inline: {
276
278
  true: string;
@@ -287,3 +289,4 @@ export declare const radiobutton: import("tailwind-variants").TVReturnType<{
287
289
  false: string;
288
290
  };
289
291
  }, undefined, "", unknown, unknown, undefined>>;
292
+ export type RadioButtonTheme = string;
@@ -1,10 +1,13 @@
1
1
  <script lang="ts">
2
2
  import { range } from "./";
3
3
  import { type RangeProps, cn } from "../..";
4
+ import { getTheme } from "../../theme/themeUtils";
4
5
 
5
6
  let { value = $bindable(), appearance = "none", color = "blue", size = "md", inputClass, ...restProps }: RangeProps = $props();
6
7
 
7
- const inputCls = $derived(cn(range({ appearance, color, size }), inputClass));
8
+ const theme = getTheme("range");
9
+
10
+ const inputCls = $derived(cn(range({ appearance, color, size }), inputClass, theme));
8
11
  </script>
9
12
 
10
13
  <input type="range" bind:value {...restProps} class={inputCls} />
@@ -13,7 +16,7 @@
13
16
  @component
14
17
  [Go to docs](https://flowbite-svelte.com/)
15
18
  ## Type
16
- [RangeProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L848)
19
+ [RangeProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L841)
17
20
  ## Props
18
21
  @prop value = $bindable()
19
22
  @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#L848)
5
+ * [RangeProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L841)
6
6
  * ## Props
7
7
  * @prop value = $bindable()
8
8
  * @prop appearance = "none"
@@ -64,3 +64,4 @@ export declare const range: import("tailwind-variants").TVReturnType<{
64
64
  none: string;
65
65
  };
66
66
  }, undefined, "w-full bg-gray-200 rounded-lg cursor-pointer dark:bg-gray-700", unknown, unknown, undefined>>;
67
+ export type RangeTheme = string;
@@ -1,10 +1,13 @@
1
1
  <script lang="ts">
2
- import { search } from ".";
2
+ import { search, type SearchTheme } from ".";
3
3
  import { CloseButton, type SearchProps, cn } from "../..";
4
+ import { getTheme } from "../../theme/themeUtils";
4
5
 
5
6
  let { children, inputClass, size, placeholder = "Search", value = $bindable(), elementRef = $bindable(), clearable = false, clearableSvgClass, clearableColor = "none", clearableClass, clearableOnClick, ...restProps }: SearchProps = $props();
6
7
 
7
- const { base, content, icon, clearbtn, input: inputCls, leftDiv } = $derived(search({ size }));
8
+ const theme = getTheme("search");
9
+
10
+ const { base, content, icon, closebutton, input: inputCls, leftDiv } = $derived(search({ size }));
8
11
 
9
12
  const clearAll = () => {
10
13
  if (elementRef) {
@@ -15,20 +18,20 @@
15
18
  };
16
19
  </script>
17
20
 
18
- <div class={base()}>
19
- <div class={leftDiv()}>
20
- <svg class={icon()} aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 20 20">
21
+ <div class={cn(base(), (theme as SearchTheme)?.base)}>
22
+ <div class={cn(leftDiv(), (theme as SearchTheme)?.leftDiv)}>
23
+ <svg class={cn(icon(), (theme as SearchTheme)?.icon)} aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 20 20">
21
24
  <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m19 19-4-4m0-7A7 7 0 1 1 1 8a7 7 0 0 1 14 0Z" />
22
25
  </svg>
23
26
  </div>
24
- <input type="search" bind:value bind:this={elementRef} class={cn(inputCls(), inputClass)} {placeholder} required {...restProps} />
27
+ <input type="search" bind:value bind:this={elementRef} class={cn(inputCls(), inputClass, (theme as SearchTheme)?.input)} {placeholder} required {...restProps} />
25
28
  {#if children}
26
- <div class={content()}>
29
+ <div class={cn(content(), (theme as SearchTheme)?.content)}>
27
30
  {@render children()}
28
31
  </div>
29
32
  {/if}
30
33
  {#if value !== undefined && value !== "" && clearable}
31
- <CloseButton onclick={clearAll} class={cn(clearbtn(), clearableClass)} color={clearableColor} aria-label="Clear search value" svgClass={cn(clearableSvgClass)} />
34
+ <CloseButton onclick={clearAll} class={cn(closebutton(), clearableClass, (theme as SearchTheme)?.closebutton)} color={clearableColor} aria-label="Clear search value" svgClass={cn(clearableSvgClass)} />
32
35
  {/if}
33
36
  </div>
34
37
 
@@ -36,7 +39,7 @@
36
39
  @component
37
40
  [Go to docs](https://flowbite-svelte.com/)
38
41
  ## Type
39
- [SearchProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L854)
42
+ [SearchProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L847)
40
43
  ## Props
41
44
  @prop children
42
45
  @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#L854)
5
+ * [SearchProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L847)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop inputClass
@@ -1,2 +1,2 @@
1
1
  export { default as Search } from "./Search.svelte";
2
- export { search } from "./theme";
2
+ export { search, type SearchTheme } from "./theme";