flowbite-svelte 1.8.6 → 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 +127 -86
  87. package/dist/datepicker/Datepicker.svelte.d.ts +38 -5
  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 +86 -70
  249. package/dist/modal/Modal.svelte.d.ts +5 -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 +8 -3
  253. package/dist/modal/theme.js +2 -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 -10293
  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 +37 -29
  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 +10 -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
@@ -1,44 +1,15 @@
1
1
  <script lang="ts">
2
2
  import { onMount } from "svelte";
3
- import { twMerge } from "tailwind-merge";
4
3
  import clsx from "clsx";
5
4
  import { fade } from "svelte/transition";
6
5
  import { Button, ToolbarButton, type DatepickerProps, cn } from "..";
7
- import { datepicker } from "./theme";
8
-
9
- let {
10
- value = $bindable(),
11
- defaultDate = null,
12
- range = false,
13
- rangeFrom = $bindable(),
14
- rangeTo = $bindable(),
15
- availableFrom = null,
16
- availableTo = null,
17
- locale = "default",
18
- translationLocale = locale, // NEW: Separate locale for translations, defaults to locale for backward compatibility
19
- firstDayOfWeek = 0,
20
- dateFormat,
21
- placeholder = "Select date",
22
- disabled = false,
23
- required = false,
24
- inputClass = "",
25
- color = "primary",
26
- inline = false,
27
- autohide = true,
28
- showActionButtons = false,
29
- title = "",
30
- onselect,
31
- onclear,
32
- onapply,
33
- btnClass,
34
- inputmode = "none",
35
- classes,
36
- monthColor = "alternative",
37
- monthBtnSelected = "bg-primary-500 text-white",
38
- monthBtn = "text-gray-700 dark:text-gray-300",
39
- class: className,
40
- elementRef = $bindable() // NEW: Add elementRef prop
41
- }: DatepickerProps & { translationLocale?: string; elementRef?: HTMLInputElement } = $props();
6
+ import { datepicker, type DatepickerTheme } from "./theme";
7
+ import { parse, isValid, addDays, startOfMonth, endOfMonth, startOfWeek, endOfWeek, eachDayOfInterval, isSameDay, isWithinInterval } from "date-fns";
8
+ import { getTheme } from "../theme/themeUtils";
9
+
10
+ let { value = $bindable(), defaultDate = null, range = false, rangeFrom = $bindable(), rangeTo = $bindable(), availableFrom = null, availableTo = null, locale = "default", translationLocale = locale, firstDayOfWeek = 0, dateFormat, placeholder = "Select date", disabled = false, required = false, inputClass = "", color = "primary", inline = false, autohide = true, showActionButtons = false, title = "", onselect, onclear, onapply, btnClass, inputmode = "none", classes, monthColor = "alternative", monthBtnSelected = "bg-primary-500 text-white", monthBtn = "text-gray-700 dark:text-gray-300", class: className, elementRef = $bindable() }: DatepickerProps = $props();
11
+
12
+ const theme = getTheme("datepicker");
42
13
 
43
14
  const dateFormatDefault = { year: "numeric", month: "long", day: "numeric" };
44
15
 
@@ -70,39 +41,19 @@
70
41
  });
71
42
 
72
43
  function getDaysInMonth(date: Date): Date[] {
73
- const year = date.getFullYear();
74
- const month = date.getMonth();
75
- const firstDay = new Date(year, month, 0);
76
- const lastDay = new Date(year, month + 1, 0);
77
- const daysArray: Date[] = [];
78
-
79
- // Add days from previous month to fill the first week
80
- let start = firstDay.getDay() - firstDayOfWeek;
81
- if (start < 0) start += 7;
82
- for (let i = 0; i < start; i++) {
83
- daysArray.unshift(new Date(year, month, -i));
84
- }
85
-
86
- // Add days of the current month
87
- for (let i = 1; i <= lastDay.getDate(); i++) {
88
- daysArray.push(new Date(year, month, i));
89
- }
90
-
91
- // Add days from next month to fill the last week
92
- const remainingDays = 7 - (daysArray.length % 7);
93
- if (remainingDays < 7) {
94
- for (let i = 1; i <= remainingDays; i++) {
95
- daysArray.push(new Date(year, month + 1, i));
96
- }
97
- }
44
+ const monthStart = startOfMonth(date);
45
+ const monthEnd = endOfMonth(date);
46
+ const calendarStart = startOfWeek(monthStart, { weekStartsOn: firstDayOfWeek });
47
+ const calendarEnd = endOfWeek(monthEnd, { weekStartsOn: firstDayOfWeek });
98
48
 
99
- return daysArray;
49
+ return eachDayOfInterval({ start: calendarStart, end: calendarEnd });
100
50
  }
101
51
 
102
52
  // MODIFIED: Use translationLocale for weekday names
103
53
  const getWeekdayNames = (): string[] => {
104
54
  return Array.from({ length: 7 }, (_, i) => new Date(1970, 0, 5 + i + firstDayOfWeek).toLocaleDateString(translationLocale, { weekday: "short" }));
105
55
  };
56
+
106
57
  let weekdays = $derived(getWeekdayNames());
107
58
 
108
59
  // MODIFIED: Use translationLocale for month names
@@ -111,7 +62,7 @@
111
62
  };
112
63
  let monthNames = $derived(getMonthNames());
113
64
 
114
- const addDay = (date: Date, increment: number): Date => new Date(date.getFullYear(), date.getMonth(), date.getDate() + increment);
65
+ const addDay = (date: Date, increment: number): Date => addDays(date, increment);
115
66
 
116
67
  function changeMonth(increment: number) {
117
68
  currentMonth = new Date(currentMonth.getFullYear(), currentMonth.getMonth() + increment, 1);
@@ -169,13 +120,61 @@
169
120
  }
170
121
  }
171
122
 
172
- function handleInputChange() {
173
- const date = new Date(inputElement?.value ?? "");
174
- if (!isNaN(date.getTime())) {
175
- handleDaySelect(date);
123
+ function handleInputChangeWithDateFns() {
124
+ const inputValue = inputElement?.value?.trim();
125
+ if (!inputValue) return;
126
+
127
+ // Get the actual format pattern
128
+ const formatPattern = getDateFormatPattern();
129
+
130
+ try {
131
+ // Parse with the exact format expected
132
+ const parsedDate = parse(inputValue, formatPattern, new Date());
133
+
134
+ if (!isValid(parsedDate)) {
135
+ inputElement?.setCustomValidity(`Please enter date in format: ${formatPattern}`);
136
+ return;
137
+ }
138
+
139
+ inputElement?.setCustomValidity("");
140
+
141
+ if (!isDateAvailable(parsedDate)) {
142
+ inputElement?.setCustomValidity("Selected date is not available");
143
+ return;
144
+ }
145
+
146
+ handleDaySelect(parsedDate);
147
+ } catch (error) {
148
+ inputElement?.setCustomValidity(`Please enter date in format: ${formatPattern}`);
176
149
  }
177
150
  }
178
151
 
152
+ function getDateFormatPattern(): string {
153
+ // Test with a known date to determine format
154
+ const testDate = new Date(2025, 0, 15); // January 15, 2025
155
+ const formatted = formatDate(testDate);
156
+
157
+ // Map common formats to date-fns patterns
158
+ if (formatted.match(/^\d{1,2}\/\d{1,2}\/\d{4}$/)) {
159
+ // Could be DD/MM/YYYY or MM/DD/YYYY, need to determine
160
+ const testDate2 = new Date(2025, 11, 3); // December 3, 2025
161
+ const formatted2 = formatDate(testDate2);
162
+
163
+ if (formatted2.startsWith("3/") || formatted2.startsWith("03/")) {
164
+ return "d/M/yyyy"; // DD/MM/YYYY format
165
+ } else {
166
+ return "M/d/yyyy"; // MM/DD/YYYY format
167
+ }
168
+ }
169
+
170
+ if (formatted.match(/^\d{4}-\d{1,2}-\d{1,2}$/)) {
171
+ return "yyyy-M-d"; // ISO format
172
+ }
173
+
174
+ // Add more patterns as needed
175
+ return "M/d/yyyy"; // Default fallback
176
+ }
177
+
179
178
  function handleClickOutside(event: MouseEvent) {
180
179
  if (isOpen && datepickerContainerElement && !datepickerContainerElement.contains(event.target as Node)) {
181
180
  isOpen = false;
@@ -185,9 +184,9 @@
185
184
 
186
185
  // MODIFIED: Use locale for formatting (not translationLocale)
187
186
  const formatDate = (date?: Date): string => date?.toLocaleDateString(locale, dateFormat) ?? "";
188
- const isSameDate = (date1?: Date, date2?: Date): boolean => date1?.toDateString() === date2?.toDateString();
187
+ const isSameDate = (date1?: Date, date2?: Date): boolean => (date1 && date2 ? isSameDay(date1, date2) : false);
189
188
  const isToday = (day: Date): boolean => isSameDate(day, new Date());
190
- const isInRange = (day: Date): boolean => !!(range && rangeFrom && rangeTo && day > rangeFrom && day < rangeTo);
189
+ const isInRange = (day: Date): boolean => !!(range && rangeFrom && rangeTo && isWithinInterval(day, { start: rangeFrom, end: rangeTo }));
191
190
 
192
191
  let isSelected = $derived((day: Date): boolean => (range ? isSameDate(day, rangeFrom) || isSameDate(day, rangeTo) : isSameDate(day, value)));
193
192
 
@@ -275,8 +274,8 @@
275
274
  <div bind:this={datepickerContainerElement} class={["relative", inline && "inline-block"]}>
276
275
  {#if !inline}
277
276
  <div class="relative">
278
- <input bind:this={inputElement} type="text" class={cn(input({ color }), inputClass)} {placeholder} value={range ? `${formatDate(rangeFrom)} - ${formatDate(rangeTo)}` : formatDate(value)} onfocus={() => (isOpen = true)} oninput={handleInputChange} onkeydown={handleInputKeydown} {disabled} {required} {inputmode} aria-haspopup="dialog" />
279
- <button type="button" class={cn(button({ class: clsx(classes?.button) }), btnClass)} onclick={() => (isOpen = !isOpen)} {disabled} aria-label={isOpen ? "Close date picker" : "Open date picker"}>
277
+ <input bind:this={inputElement} type="text" class={cn(input({ color }), inputClass, (theme as DatepickerTheme)?.input)} {placeholder} value={range ? `${formatDate(rangeFrom)} - ${formatDate(rangeTo)}` : formatDate(value)} onfocus={() => (isOpen = true)} oninput={handleInputChangeWithDateFns} onkeydown={handleInputKeydown} {disabled} {required} {inputmode} aria-haspopup="dialog" />
278
+ <button type="button" class={cn(button({ class: clsx(classes?.button) }), btnClass, (theme as DatepickerTheme)?.button)} onclick={() => (isOpen = !isOpen)} {disabled} aria-label={isOpen ? "Close date picker" : "Open date picker"}>
280
279
  <svg class="h-4 w-4 text-gray-500 dark:text-gray-400" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 20 20">
281
280
  <path d="M20 4a2 2 0 0 0-2-2h-2V1a1 1 0 0 0-2 0v1h-3V1a1 1 0 0 0-2 0v1H6V1a1 1 0 0 0-2 0v1H2a2 2 0 0 0-2 2v2h20V4ZM0 18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8H0v10Zm5-8h10a1 1 0 0 1 0 2H5a1 1 0 0 1 0-2Z"></path>
282
281
  </svg>
@@ -285,23 +284,23 @@
285
284
  {/if}
286
285
 
287
286
  {#if isOpen || inline}
288
- <div bind:this={calendarRef} id="datepicker-dropdown" class={cn(base({ inline, class: clsx(classes?.base) }), className)} transition:fade={{ duration: 100 }} role="dialog" aria-label="Calendar">
287
+ <div bind:this={calendarRef} id="datepicker-dropdown" class={cn(base({ inline, class: clsx(classes?.base) }), className, (theme as DatepickerTheme)?.base)} transition:fade={{ duration: 100 }} role="dialog" aria-label="Calendar">
289
288
  {#if title}
290
- <h2 class={titleVariant({ class: clsx(classes?.titleVariant) })}>{title}</h2>
289
+ <h2 class={cn(titleVariant({ class: clsx(classes?.titleVariant) }), (theme as DatepickerTheme)?.titleVariant)}>{title}</h2>
291
290
  {/if}
292
291
 
293
292
  {#if showMonthSelector}
294
293
  <!-- Month/Year Selector View -->
295
- <div class={nav({ class: clsx(classes?.nav) })}>
294
+ <div class={cn(nav({ class: clsx(classes?.nav) }), (theme as DatepickerTheme)?.nav)}>
296
295
  {@render yearNavButton(false)}
297
- <h3 class={polite({ class: clsx(classes?.polite) })} aria-live="polite">
296
+ <h3 class={cn(polite({ class: clsx(classes?.polite) }), (theme as DatepickerTheme)?.polite)} aria-live="polite">
298
297
  {currentMonth.getFullYear()}
299
298
  </h3>
300
299
  {@render yearNavButton(true)}
301
300
  </div>
302
301
  <div class="grid grid-cols-4 gap-2 p-4">
303
302
  {#each monthNames as month, index}
304
- <Button type="button" color={monthColor} class={twMerge(monthButton(), currentMonth.getMonth() === index ? clsx(monthBtnSelected) : clsx(monthBtn), clsx(classes?.monthButton))} onclick={(event: MouseEvent) => selectMonth(index, event)}>
303
+ <Button type="button" color={monthColor} class={cn(monthButton(), currentMonth.getMonth() === index ? clsx(monthBtnSelected) : clsx(monthBtn), clsx(classes?.monthButton), (theme as DatepickerTheme)?.monthButton)} onclick={(event: MouseEvent) => selectMonth(index, event)}>
305
304
  {month}
306
305
  </Button>
307
306
  {/each}
@@ -316,9 +315,9 @@
316
315
  </Button>
317
316
  {@render navButton(true)}
318
317
  </div>
319
- <div class={grid({ class: clsx(classes?.grid) })} role="grid">
318
+ <div class={cn(grid({ class: clsx(classes?.grid) }), (theme as DatepickerTheme)?.grid)} role="grid">
320
319
  {#each weekdays as day}
321
- <div class={columnHeader({ class: clsx(classes?.columnHeader) })} role="columnheader">{day}</div>
320
+ <div class={cn(columnHeader({ class: clsx(classes?.columnHeader) }), (theme as DatepickerTheme)?.columnHeader)} role="columnheader">{day}</div>
322
321
  {/each}
323
322
  {#each daysInMonth as day}
324
323
  {@const current = day.getMonth() !== currentMonth.getMonth()}
@@ -326,13 +325,16 @@
326
325
  <Button
327
326
  type="button"
328
327
  color={isSelected(day) ? color : "alternative"}
329
- class={dayButton({
330
- current,
331
- today: isToday(day),
332
- color: isInRange(day) ? color : undefined,
333
- unavailable: !available,
334
- class: clsx(classes?.dayButton, !available && "cursor-not-allowed opacity-50")
335
- })}
328
+ class={cn(
329
+ dayButton({
330
+ current,
331
+ today: isToday(day),
332
+ color: isInRange(day) ? color : undefined,
333
+ unavailable: !available,
334
+ class: clsx(classes?.dayButton, !available && "cursor-not-allowed opacity-50")
335
+ }),
336
+ (theme as DatepickerTheme)?.dayButton
337
+ )}
336
338
  onclick={() => handleDaySelect(day)}
337
339
  onkeydown={handleCalendarKeydown}
338
340
  aria-label={day.toLocaleDateString(translationLocale, { weekday: "long", year: "numeric", month: "long", day: "numeric" })}
@@ -348,7 +350,7 @@
348
350
  {/if}
349
351
 
350
352
  {#if showActionButtons && !showMonthSelector}
351
- <div class={actionButtons({ class: clsx(classes?.actionButtons) })}>
353
+ <div class={cn(actionButtons({ class: clsx(classes?.actionButtons) }), (theme as DatepickerTheme)?.actionButtons)}>
352
354
  <Button onclick={() => handleDaySelect(new Date())} {color} size="sm" disabled={!isDateAvailable(new Date())}>Today</Button>
353
355
  <Button onclick={handleClear} color="red" size="sm">Clear</Button>
354
356
  <Button onclick={handleApply} {color} size="sm">Apply</Button>
@@ -357,3 +359,42 @@
357
359
  </div>
358
360
  {/if}
359
361
  </div>
362
+
363
+ <!--
364
+ @component
365
+ [Go to docs](https://flowbite-svelte.com/)
366
+ ## Type
367
+ [DatepickerProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L480)
368
+ ## Props
369
+ @prop value = $bindable()
370
+ @prop defaultDate = null
371
+ @prop range = false
372
+ @prop rangeFrom = $bindable()
373
+ @prop rangeTo = $bindable()
374
+ @prop availableFrom = null
375
+ @prop availableTo = null
376
+ @prop locale = "default"
377
+ @prop translationLocale = locale
378
+ @prop firstDayOfWeek = 0
379
+ @prop dateFormat
380
+ @prop placeholder = "Select date"
381
+ @prop disabled = false
382
+ @prop required = false
383
+ @prop inputClass = ""
384
+ @prop color = "primary"
385
+ @prop inline = false
386
+ @prop autohide = true
387
+ @prop showActionButtons = false
388
+ @prop title = ""
389
+ @prop onselect
390
+ @prop onclear
391
+ @prop onapply
392
+ @prop btnClass
393
+ @prop inputmode = "none"
394
+ @prop classes
395
+ @prop monthColor = "alternative"
396
+ @prop monthBtnSelected = "bg-primary-500 text-white"
397
+ @prop monthBtn = "text-gray-700 dark:text-gray-300"
398
+ @prop class: className
399
+ @prop elementRef = $bindable()
400
+ -->
@@ -1,8 +1,41 @@
1
1
  import { type DatepickerProps } from "..";
2
- type $$ComponentProps = DatepickerProps & {
3
- translationLocale?: string;
4
- elementRef?: HTMLInputElement;
5
- };
6
- declare const Datepicker: import("svelte").Component<$$ComponentProps, {}, "value" | "elementRef" | "rangeFrom" | "rangeTo">;
2
+ /**
3
+ * [Go to docs](https://flowbite-svelte.com/)
4
+ * ## Type
5
+ * [DatepickerProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L480)
6
+ * ## Props
7
+ * @prop value = $bindable()
8
+ * @prop defaultDate = null
9
+ * @prop range = false
10
+ * @prop rangeFrom = $bindable()
11
+ * @prop rangeTo = $bindable()
12
+ * @prop availableFrom = null
13
+ * @prop availableTo = null
14
+ * @prop locale = "default"
15
+ * @prop translationLocale = locale
16
+ * @prop firstDayOfWeek = 0
17
+ * @prop dateFormat
18
+ * @prop placeholder = "Select date"
19
+ * @prop disabled = false
20
+ * @prop required = false
21
+ * @prop inputClass = ""
22
+ * @prop color = "primary"
23
+ * @prop inline = false
24
+ * @prop autohide = true
25
+ * @prop showActionButtons = false
26
+ * @prop title = ""
27
+ * @prop onselect
28
+ * @prop onclear
29
+ * @prop onapply
30
+ * @prop btnClass
31
+ * @prop inputmode = "none"
32
+ * @prop classes
33
+ * @prop monthColor = "alternative"
34
+ * @prop monthBtnSelected = "bg-primary-500 text-white"
35
+ * @prop monthBtn = "text-gray-700 dark:text-gray-300"
36
+ * @prop class: className
37
+ * @prop elementRef = $bindable()
38
+ */
39
+ declare const Datepicker: import("svelte").Component<DatepickerProps, {}, "value" | "rangeFrom" | "rangeTo" | "elementRef">;
7
40
  type Datepicker = ReturnType<typeof Datepicker>;
8
41
  export default Datepicker;
@@ -1,2 +1,2 @@
1
1
  export { default as Datepicker } from "./Datepicker.svelte";
2
- export { datepicker } from "./theme";
2
+ export { datepicker, type DatepickerTheme } from "./theme";
@@ -388,3 +388,5 @@ export declare const datepicker: import("tailwind-variants").TVReturnType<{
388
388
  dayButton: string;
389
389
  monthButton: string;
390
390
  }, undefined, unknown, unknown, undefined>>;
391
+ export type DatepickerSlots = keyof typeof datepicker.slots;
392
+ export type DatepickerTheme = Partial<Record<DatepickerSlots, string>>;
@@ -24,7 +24,7 @@
24
24
  @component
25
25
  [Go to docs](https://flowbite-svelte.com/)
26
26
  ## Type
27
- [AndroidProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L531)
27
+ [AndroidProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L526)
28
28
  ## Props
29
29
  @prop children
30
30
  @prop divClass
@@ -2,7 +2,7 @@ import { type AndroidProps } from "..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [AndroidProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L531)
5
+ * [AndroidProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L526)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop divClass
@@ -23,7 +23,7 @@
23
23
  @component
24
24
  [Go to docs](https://flowbite-svelte.com/)
25
25
  ## Type
26
- [DefaultMockupProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L542)
26
+ [DefaultMockupProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L537)
27
27
  ## Props
28
28
  @prop children
29
29
  @prop divClass
@@ -2,7 +2,7 @@ import { type DefaultMockupProps } from "..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [DefaultMockupProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L542)
5
+ * [DefaultMockupProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L537)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop divClass
@@ -21,7 +21,7 @@
21
21
  @component
22
22
  [Go to docs](https://flowbite-svelte.com/)
23
23
  ## Type
24
- [MockupBaseProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L523)
24
+ [MockupBaseProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L518)
25
25
  ## Props
26
26
  @prop children
27
27
  @prop divClass
@@ -2,7 +2,7 @@ import { type MockupBaseProps } from "..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [MockupBaseProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L523)
5
+ * [MockupBaseProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L518)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop divClass
@@ -32,7 +32,7 @@
32
32
  @component
33
33
  [Go to docs](https://flowbite-svelte.com/)
34
34
  ## Type
35
- [DeviceMockupProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L518)
35
+ [DeviceMockupProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L513)
36
36
  ## Props
37
37
  @prop children
38
38
  @prop device = "default"
@@ -3,7 +3,7 @@ import type { DeviceMockupProps } from "../types";
3
3
  /**
4
4
  * [Go to docs](https://flowbite-svelte.com/)
5
5
  * ## Type
6
- * [DeviceMockupProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L518)
6
+ * [DeviceMockupProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L513)
7
7
  * ## Props
8
8
  * @prop children
9
9
  * @prop device = "default"
@@ -23,7 +23,7 @@
23
23
  @component
24
24
  [Go to docs](https://flowbite-svelte.com/)
25
25
  ## Type
26
- [IosProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L552)
26
+ [IosProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L547)
27
27
  ## Props
28
28
  @prop children
29
29
  @prop divClass
@@ -2,7 +2,7 @@ import { type IosProps } from "..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [IosProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L552)
5
+ * [IosProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L547)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop divClass
@@ -24,7 +24,7 @@
24
24
  @component
25
25
  [Go to docs](https://flowbite-svelte.com/)
26
26
  ## Type
27
- [MockupBaseProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L523)
27
+ [MockupBaseProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L518)
28
28
  ## Props
29
29
  @prop children
30
30
  @prop divClass
@@ -2,7 +2,7 @@ import { type MockupBaseProps } from "..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [MockupBaseProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L523)
5
+ * [MockupBaseProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L518)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop divClass
@@ -25,7 +25,7 @@
25
25
  @component
26
26
  [Go to docs](https://flowbite-svelte.com/)
27
27
  ## Type
28
- [SmartwatchProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L562)
28
+ [SmartwatchProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L557)
29
29
  ## Props
30
30
  @prop children
31
31
  @prop divClass
@@ -2,7 +2,7 @@ import { type SmartwatchProps } from "..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [SmartwatchProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L562)
5
+ * [SmartwatchProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L557)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop divClass
@@ -23,7 +23,7 @@
23
23
  @component
24
24
  [Go to docs](https://flowbite-svelte.com/)
25
25
  ## Type
26
- [TabletProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L572)
26
+ [TabletProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L567)
27
27
  ## Props
28
28
  @prop children
29
29
  @prop divClass
@@ -2,7 +2,7 @@ import { type TabletProps } from "..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [TabletProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L572)
5
+ * [TabletProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L567)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop divClass