flowbite-svelte 0.44.8 → 0.44.9

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 (758) hide show
  1. package/.env +2 -0
  2. package/.eslintrc.cjs +20 -0
  3. package/.github/ISSUE_TEMPLATE/bug_report.yml +33 -0
  4. package/.github/ISSUE_TEMPLATE/config.yml +5 -0
  5. package/.github/ISSUE_TEMPLATE/feature_request.md +17 -0
  6. package/.github/pull_request_template.md +71 -0
  7. package/.github/workflows/playwright-and-lint.yaml +47 -0
  8. package/.prettierignore +16 -0
  9. package/.prettierrc +9 -0
  10. package/CHANGELOG.md +3858 -0
  11. package/CONTRIBUTING.md +66 -0
  12. package/dist/bottom-nav/BottomNavItem.svelte +3 -1
  13. package/dist/bottom-nav/BottomNavItem.svelte.d.ts +2 -0
  14. package/dist/bottom-nav/BottomNavItem.svelte.d.ts.map +1 -1
  15. package/dist/carousels/Carousel.svelte +52 -153
  16. package/dist/carousels/Carousel.svelte.d.ts +22 -37
  17. package/dist/carousels/Carousel.svelte.d.ts.map +1 -1
  18. package/dist/carousels/ControlButton.svelte +31 -0
  19. package/dist/carousels/ControlButton.svelte.d.ts +29 -0
  20. package/dist/carousels/ControlButton.svelte.d.ts.map +1 -0
  21. package/dist/carousels/Controls.svelte +17 -0
  22. package/dist/carousels/Controls.svelte.d.ts +23 -0
  23. package/dist/carousels/Controls.svelte.d.ts.map +1 -0
  24. package/dist/carousels/Indicators.svelte +26 -0
  25. package/dist/carousels/Indicators.svelte.d.ts +32 -0
  26. package/dist/carousels/Indicators.svelte.d.ts.map +1 -0
  27. package/dist/carousels/Thumbnail.svelte +6 -23
  28. package/dist/carousels/Thumbnail.svelte.d.ts +5 -16
  29. package/dist/carousels/Thumbnail.svelte.d.ts.map +1 -1
  30. package/dist/carousels/Thumbnails.svelte +26 -0
  31. package/dist/carousels/Thumbnails.svelte.d.ts +33 -0
  32. package/dist/carousels/Thumbnails.svelte.d.ts.map +1 -0
  33. package/dist/index.d.ts +2 -1
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +3 -1
  36. package/dist/tables/TableSearch.svelte +2 -2
  37. package/dist/tables/TableSearch.svelte.d.ts +1 -1
  38. package/mdsvex.config.js +18 -0
  39. package/package.json +18 -80
  40. package/playwright.config.ts +12 -0
  41. package/postcss.config.cjs +12 -0
  42. package/src/app.css +45 -0
  43. package/src/app.d.ts +9 -0
  44. package/src/app.html +28 -0
  45. package/src/app.postcss +55 -0
  46. package/src/hooks.server.js +27 -0
  47. package/src/lib/accordion/Accordion.svelte +61 -0
  48. package/src/lib/accordion/AccordionItem.svelte +120 -0
  49. package/src/lib/alerts/Alert.svelte +60 -0
  50. package/src/lib/avatar/Avatar.svelte +56 -0
  51. package/src/lib/avatar/Placeholder.svelte +16 -0
  52. package/src/lib/badges/Badge.svelte +108 -0
  53. package/src/lib/banner/Banner.svelte +64 -0
  54. package/src/lib/bottom-nav/BottomNav.svelte +76 -0
  55. package/src/lib/bottom-nav/BottomNavHeader.svelte +19 -0
  56. package/src/lib/bottom-nav/BottomNavHeaderItem.svelte +23 -0
  57. package/src/lib/bottom-nav/BottomNavItem.svelte +76 -0
  58. package/src/lib/breadcrumbs/Breadcrumb.svelte +25 -0
  59. package/src/lib/breadcrumbs/BreadcrumbItem.svelte +51 -0
  60. package/src/lib/buttongroups/ButtonGroup.svelte +22 -0
  61. package/src/lib/buttons/Button.svelte +100 -0
  62. package/src/lib/buttons/GradientButton.svelte +79 -0
  63. package/src/lib/cards/Card.svelte +70 -0
  64. package/src/lib/carousels/Carousel.svelte +166 -0
  65. package/src/lib/carousels/ControlButton.svelte +34 -0
  66. package/src/lib/carousels/Controls.svelte +21 -0
  67. package/src/lib/carousels/Indicators.svelte +31 -0
  68. package/src/lib/carousels/Thumbnail.svelte +20 -0
  69. package/src/lib/carousels/Thumbnails.svelte +30 -0
  70. package/src/lib/charts/Chart.svelte +35 -0
  71. package/src/lib/darkmode/DarkMode.svelte +58 -0
  72. package/src/lib/datepicker/Calender.svelte +3 -0
  73. package/src/lib/datepicker/Datepicker.svelte +66 -0
  74. package/src/lib/device-mockup/Android.svelte +24 -0
  75. package/src/lib/device-mockup/DefaultMockup.svelte +21 -0
  76. package/src/lib/device-mockup/DeviceMockup.svelte +235 -0
  77. package/src/lib/device-mockup/Ios.svelte +21 -0
  78. package/src/lib/device-mockup/Smartwatch.svelte +15 -0
  79. package/src/lib/device-mockup/Tablet.svelte +21 -0
  80. package/src/lib/drawer/Drawer.svelte +87 -0
  81. package/src/lib/dropdowns/Dropdown.svelte +81 -0
  82. package/src/lib/dropdowns/DropdownDivider.svelte +13 -0
  83. package/src/lib/dropdowns/DropdownHeader.svelte +21 -0
  84. package/src/lib/dropdowns/DropdownItem.svelte +47 -0
  85. package/src/lib/footer/Footer.svelte +18 -0
  86. package/src/lib/footer/FooterBrand.svelte +39 -0
  87. package/src/lib/footer/FooterCopyright.svelte +38 -0
  88. package/src/lib/footer/FooterIcon.svelte +25 -0
  89. package/src/lib/footer/FooterLink.svelte +26 -0
  90. package/src/lib/footer/FooterLinkGroup.svelte +15 -0
  91. package/src/lib/forms/Checkbox.svelte +70 -0
  92. package/src/lib/forms/Dropzone.svelte +32 -0
  93. package/src/lib/forms/Fileupload.svelte +21 -0
  94. package/src/lib/forms/FloatingLabelInput.svelte +94 -0
  95. package/src/lib/forms/Helper.svelte +23 -0
  96. package/src/lib/forms/Input.svelte +83 -0
  97. package/src/lib/forms/InputAddon.svelte +47 -0
  98. package/src/lib/forms/Label.svelte +40 -0
  99. package/src/lib/forms/MultiSelect.svelte +126 -0
  100. package/src/lib/forms/NumberInput.svelte +16 -0
  101. package/src/lib/forms/Radio.svelte +53 -0
  102. package/src/lib/forms/RadioInline.svelte +9 -0
  103. package/src/lib/forms/Range.svelte +24 -0
  104. package/src/lib/forms/Search.svelte +44 -0
  105. package/src/lib/forms/Select.svelte +49 -0
  106. package/src/lib/forms/Textarea.svelte +51 -0
  107. package/src/lib/forms/Toggle.svelte +56 -0
  108. package/src/lib/forms/VoiceSearch.svelte +57 -0
  109. package/src/lib/gallery/Gallery.svelte +31 -0
  110. package/src/lib/index.ts +228 -0
  111. package/src/lib/indicators/Indicator.svelte +86 -0
  112. package/src/lib/kbd/ArrowKeyDown.svelte +15 -0
  113. package/src/lib/kbd/ArrowKeyLeft.svelte +15 -0
  114. package/src/lib/kbd/ArrowKeyRight.svelte +15 -0
  115. package/src/lib/kbd/ArrowKeyUp.svelte +15 -0
  116. package/src/lib/kbd/Kbd.svelte +15 -0
  117. package/src/lib/list-group/Listgroup.svelte +45 -0
  118. package/src/lib/list-group/ListgroupItem.svelte +57 -0
  119. package/src/lib/megamenu/MegaMenu.svelte +52 -0
  120. package/src/lib/modals/Modal.svelte +162 -0
  121. package/src/lib/navbar/Menu.svelte +38 -0
  122. package/src/lib/navbar/NavBrand.svelte +15 -0
  123. package/src/lib/navbar/NavHamburger.svelte +20 -0
  124. package/src/lib/navbar/NavLi.svelte +37 -0
  125. package/src/lib/navbar/NavSidebarHamburger.svelte +20 -0
  126. package/src/lib/navbar/NavUl.svelte +68 -0
  127. package/src/lib/navbar/Navbar.svelte +42 -0
  128. package/src/lib/navbar/SidebarMenu.svelte +37 -0
  129. package/src/lib/paginations/Pagination.svelte +59 -0
  130. package/src/lib/paginations/PaginationItem.svelte +40 -0
  131. package/src/lib/popover/Popover.svelte +34 -0
  132. package/src/lib/progressbars/Progressbar.svelte +52 -0
  133. package/src/lib/ratings/AdvancedRating.svelte +45 -0
  134. package/src/lib/ratings/Heart.svelte +39 -0
  135. package/src/lib/ratings/Rating.svelte +57 -0
  136. package/src/lib/ratings/RatingComment.svelte +85 -0
  137. package/src/lib/ratings/Review.svelte +78 -0
  138. package/src/lib/ratings/ScoreRating.svelte +76 -0
  139. package/src/lib/ratings/Star.svelte +47 -0
  140. package/src/lib/ratings/Thumbup.svelte +39 -0
  141. package/src/lib/sidebars/Sidebar.svelte +40 -0
  142. package/src/lib/sidebars/SidebarBrand.svelte +24 -0
  143. package/src/lib/sidebars/SidebarCta.svelte +28 -0
  144. package/src/lib/sidebars/SidebarDropdownItem.svelte +26 -0
  145. package/src/lib/sidebars/SidebarDropdownWrapper.svelte +71 -0
  146. package/src/lib/sidebars/SidebarGroup.svelte +24 -0
  147. package/src/lib/sidebars/SidebarItem.svelte +49 -0
  148. package/src/lib/sidebars/SidebarWrapper.svelte +16 -0
  149. package/src/lib/skeleton/CardPlaceholder.svelte +48 -0
  150. package/src/lib/skeleton/ImagePlaceholder.svelte +31 -0
  151. package/src/lib/skeleton/ListPlaceholder.svelte +50 -0
  152. package/src/lib/skeleton/Skeleton.svelte +38 -0
  153. package/src/lib/skeleton/TestimonialPlaceholder.svelte +24 -0
  154. package/src/lib/skeleton/TextPlaceholder.svelte +60 -0
  155. package/src/lib/skeleton/VideoPlaceholder.svelte +33 -0
  156. package/src/lib/skeleton/WidgetPlaceholder.svelte +26 -0
  157. package/src/lib/speed-dial/SpeedDial.svelte +80 -0
  158. package/src/lib/speed-dial/SpeedDialButton.svelte +49 -0
  159. package/src/lib/spinners/Spinner.svelte +49 -0
  160. package/src/lib/steps/StepIndicator.svelte +75 -0
  161. package/src/lib/tables/Table.svelte +49 -0
  162. package/src/lib/tables/TableBody.svelte +14 -0
  163. package/src/lib/tables/TableBodyCell.svelte +22 -0
  164. package/src/lib/tables/TableBodyRow.svelte +50 -0
  165. package/src/lib/tables/TableHead.svelte +45 -0
  166. package/src/lib/tables/TableHeadCell.svelte +15 -0
  167. package/src/lib/tables/TableSearch.svelte +73 -0
  168. package/src/lib/tabs/TabItem.svelte +61 -0
  169. package/src/lib/tabs/Tabs.svelte +78 -0
  170. package/src/lib/timeline/Activity.svelte +16 -0
  171. package/src/lib/timeline/ActivityItem.svelte +59 -0
  172. package/src/lib/timeline/Group.svelte +27 -0
  173. package/src/lib/timeline/GroupItem.svelte +59 -0
  174. package/src/lib/timeline/Timeline.svelte +25 -0
  175. package/src/lib/timeline/TimelineHorizontal.svelte +17 -0
  176. package/src/lib/timeline/TimelineItem.svelte +116 -0
  177. package/src/lib/timeline/TimelineItemHorizontal.svelte +72 -0
  178. package/src/lib/timeline/TimelineItemVertical.svelte +44 -0
  179. package/src/lib/toasts/Toast.svelte +99 -0
  180. package/src/lib/toolbar/Toolbar.svelte +52 -0
  181. package/src/lib/toolbar/ToolbarButton.svelte +67 -0
  182. package/src/lib/toolbar/ToolbarGroup.svelte +20 -0
  183. package/src/lib/tooltips/Tooltip.svelte +42 -0
  184. package/src/lib/types.ts +163 -0
  185. package/src/lib/typography/A.svelte +20 -0
  186. package/src/lib/typography/Blockquote.svelte +51 -0
  187. package/src/lib/typography/DescriptionList.svelte +22 -0
  188. package/src/lib/typography/Heading.svelte +28 -0
  189. package/src/lib/typography/Hr.svelte +37 -0
  190. package/src/lib/typography/Img.svelte +39 -0
  191. package/src/lib/typography/Layout.svelte +21 -0
  192. package/src/lib/typography/Li.svelte +19 -0
  193. package/src/lib/typography/List.svelte +33 -0
  194. package/src/lib/typography/Mark.svelte +20 -0
  195. package/src/lib/typography/P.svelte +102 -0
  196. package/src/lib/typography/Secondary.svelte +18 -0
  197. package/src/lib/typography/Span.svelte +35 -0
  198. package/src/lib/utils/CloseButton.svelte +19 -0
  199. package/src/lib/utils/Frame.svelte +142 -0
  200. package/src/lib/utils/Popper.svelte +206 -0
  201. package/src/lib/utils/Wrapper.svelte +22 -0
  202. package/src/lib/utils/backdrop.ts +101 -0
  203. package/src/lib/utils/clickOutside.ts +16 -0
  204. package/src/lib/utils/createEventDispatcher.ts +24 -0
  205. package/src/lib/utils/focusTrap.js +42 -0
  206. package/src/lib/utils/generateId.js +5 -0
  207. package/src/lib/video/Video.svelte +29 -0
  208. package/src/routes/+error.svelte +5 -0
  209. package/src/routes/+layout.svelte +98 -0
  210. package/src/routes/+page.server.ts +18 -0
  211. package/src/routes/+page.svelte +55 -0
  212. package/src/routes/api/posts/+server.js +7 -0
  213. package/src/routes/component-data/A.json +10 -0
  214. package/src/routes/component-data/Accordion.json +12 -0
  215. package/src/routes/component-data/AccordionItem.json +23 -0
  216. package/src/routes/component-data/Activity.json +1 -0
  217. package/src/routes/component-data/ActivityItem.json +16 -0
  218. package/src/routes/component-data/AdvancedRating.json +13 -0
  219. package/src/routes/component-data/Alert.json +9 -0
  220. package/src/routes/component-data/Android.json +12 -0
  221. package/src/routes/component-data/ArrowKeyDown.json +1 -0
  222. package/src/routes/component-data/ArrowKeyLeft.json +1 -0
  223. package/src/routes/component-data/ArrowKeyRight.json +1 -0
  224. package/src/routes/component-data/ArrowKeyUp.json +1 -0
  225. package/src/routes/component-data/Avatar.json +15 -0
  226. package/src/routes/component-data/Badge.json +10 -0
  227. package/src/routes/component-data/Banner.json +12 -0
  228. package/src/routes/component-data/Blockquote.json +15 -0
  229. package/src/routes/component-data/BottomNav.json +13 -0
  230. package/src/routes/component-data/BottomNavHeader.json +9 -0
  231. package/src/routes/component-data/BottomNavHeaderItem.json +11 -0
  232. package/src/routes/component-data/BottomNavItem.json +12 -0
  233. package/src/routes/component-data/Breadcrumb.json +11 -0
  234. package/src/routes/component-data/BreadcrumbItem.json +12 -0
  235. package/src/routes/component-data/Button.json +14 -0
  236. package/src/routes/component-data/ButtonGroup.json +9 -0
  237. package/src/routes/component-data/Calender.json +1 -0
  238. package/src/routes/component-data/Card.json +13 -0
  239. package/src/routes/component-data/CardPlaceholder.json +9 -0
  240. package/src/routes/component-data/Carousel.json +11 -0
  241. package/src/routes/component-data/Chart.json +1 -0
  242. package/src/routes/component-data/Checkbox.json +14 -0
  243. package/src/routes/component-data/CloseButton.json +1 -0
  244. package/src/routes/component-data/ControlButton.json +9 -0
  245. package/src/routes/component-data/Controls.json +1 -0
  246. package/src/routes/component-data/DarkMode.json +9 -0
  247. package/src/routes/component-data/Datepicker.json +14 -0
  248. package/src/routes/component-data/DefaultMockup.json +11 -0
  249. package/src/routes/component-data/DescriptionList.json +10 -0
  250. package/src/routes/component-data/DeviceMockup.json +50 -0
  251. package/src/routes/component-data/Drawer.json +23 -0
  252. package/src/routes/component-data/Dropdown.json +13 -0
  253. package/src/routes/component-data/DropdownDivider.json +1 -0
  254. package/src/routes/component-data/DropdownHeader.json +9 -0
  255. package/src/routes/component-data/DropdownItem.json +10 -0
  256. package/src/routes/component-data/Dropzone.json +10 -0
  257. package/src/routes/component-data/Fileupload.json +10 -0
  258. package/src/routes/component-data/FloatingLabelInput.json +14 -0
  259. package/src/routes/component-data/Footer.json +1 -0
  260. package/src/routes/component-data/FooterBrand.json +15 -0
  261. package/src/routes/component-data/FooterCopyright.json +14 -0
  262. package/src/routes/component-data/FooterIcon.json +11 -0
  263. package/src/routes/component-data/FooterLink.json +11 -0
  264. package/src/routes/component-data/FooterLinkGroup.json +1 -0
  265. package/src/routes/component-data/Frame.json +18 -0
  266. package/src/routes/component-data/Gallery.json +9 -0
  267. package/src/routes/component-data/GradientButton.json +9 -0
  268. package/src/routes/component-data/Group.json +11 -0
  269. package/src/routes/component-data/GroupItem.json +13 -0
  270. package/src/routes/component-data/Heading.json +10 -0
  271. package/src/routes/component-data/Heart.json +14 -0
  272. package/src/routes/component-data/Helper.json +9 -0
  273. package/src/routes/component-data/Hr.json +13 -0
  274. package/src/routes/component-data/ImagePlaceholder.json +9 -0
  275. package/src/routes/component-data/Img.json +17 -0
  276. package/src/routes/component-data/Indicator.json +13 -0
  277. package/src/routes/component-data/Indicators.json +9 -0
  278. package/src/routes/component-data/Input.json +13 -0
  279. package/src/routes/component-data/InputAddon.json +1 -0
  280. package/src/routes/component-data/Ios.json +11 -0
  281. package/src/routes/component-data/Kbd.json +1 -0
  282. package/src/routes/component-data/Label.json +10 -0
  283. package/src/routes/component-data/Layout.json +10 -0
  284. package/src/routes/component-data/Li.json +9 -0
  285. package/src/routes/component-data/List.json +10 -0
  286. package/src/routes/component-data/ListPlaceholder.json +1 -0
  287. package/src/routes/component-data/Listgroup.json +10 -0
  288. package/src/routes/component-data/ListgroupItem.json +17 -0
  289. package/src/routes/component-data/Mark.json +10 -0
  290. package/src/routes/component-data/MegaMenu.json +11 -0
  291. package/src/routes/component-data/Menu.json +11 -0
  292. package/src/routes/component-data/Modal.json +17 -0
  293. package/src/routes/component-data/MultiSelect.json +11 -0
  294. package/src/routes/component-data/NavBrand.json +1 -0
  295. package/src/routes/component-data/NavHamburger.json +9 -0
  296. package/src/routes/component-data/NavLi.json +10 -0
  297. package/src/routes/component-data/NavSidebarHamburger.json +9 -0
  298. package/src/routes/component-data/NavUl.json +14 -0
  299. package/src/routes/component-data/Navbar.json +10 -0
  300. package/src/routes/component-data/NumberInput.json +1 -0
  301. package/src/routes/component-data/P.json +19 -0
  302. package/src/routes/component-data/Pagination.json +13 -0
  303. package/src/routes/component-data/PaginationItem.json +12 -0
  304. package/src/routes/component-data/Placeholder.json +1 -0
  305. package/src/routes/component-data/Popover.json +9 -0
  306. package/src/routes/component-data/Popper.json +17 -0
  307. package/src/routes/component-data/Progressbar.json +14 -0
  308. package/src/routes/component-data/Radio.json +13 -0
  309. package/src/routes/component-data/RadioInline.json +1 -0
  310. package/src/routes/component-data/Range.json +9 -0
  311. package/src/routes/component-data/Rating.json +14 -0
  312. package/src/routes/component-data/RatingComment.json +10 -0
  313. package/src/routes/component-data/Review.json +13 -0
  314. package/src/routes/component-data/ScoreRating.json +13 -0
  315. package/src/routes/component-data/Search.json +10 -0
  316. package/src/routes/component-data/Secondary.json +9 -0
  317. package/src/routes/component-data/Select.json +14 -0
  318. package/src/routes/component-data/Sidebar.json +11 -0
  319. package/src/routes/component-data/SidebarBrand.json +11 -0
  320. package/src/routes/component-data/SidebarCta.json +11 -0
  321. package/src/routes/component-data/SidebarDropdownItem.json +12 -0
  322. package/src/routes/component-data/SidebarDropdownWrapper.json +14 -0
  323. package/src/routes/component-data/SidebarGroup.json +10 -0
  324. package/src/routes/component-data/SidebarItem.json +12 -0
  325. package/src/routes/component-data/SidebarMenu.json +11 -0
  326. package/src/routes/component-data/SidebarWrapper.json +1 -0
  327. package/src/routes/component-data/Skeleton.json +9 -0
  328. package/src/routes/component-data/Smartwatch.json +9 -0
  329. package/src/routes/component-data/Span.json +16 -0
  330. package/src/routes/component-data/SpeedDial.json +18 -0
  331. package/src/routes/component-data/SpeedDialButton.json +14 -0
  332. package/src/routes/component-data/Spinner.json +13 -0
  333. package/src/routes/component-data/Star.json +14 -0
  334. package/src/routes/component-data/StepIndicator.json +15 -0
  335. package/src/routes/component-data/TabItem.json +12 -0
  336. package/src/routes/component-data/Table.json +14 -0
  337. package/src/routes/component-data/TableBody.json +1 -0
  338. package/src/routes/component-data/TableBodyCell.json +1 -0
  339. package/src/routes/component-data/TableBodyRow.json +1 -0
  340. package/src/routes/component-data/TableHead.json +9 -0
  341. package/src/routes/component-data/TableHeadCell.json +1 -0
  342. package/src/routes/component-data/TableSearch.json +19 -0
  343. package/src/routes/component-data/Tablet.json +11 -0
  344. package/src/routes/component-data/Tabs.json +13 -0
  345. package/src/routes/component-data/TestimonialPlaceholder.json +1 -0
  346. package/src/routes/component-data/TextPlaceholder.json +9 -0
  347. package/src/routes/component-data/Textarea.json +11 -0
  348. package/src/routes/component-data/Thumbnail.json +10 -0
  349. package/src/routes/component-data/Thumbnails.json +9 -0
  350. package/src/routes/component-data/Thumbup.json +14 -0
  351. package/src/routes/component-data/Timeline.json +1 -0
  352. package/src/routes/component-data/TimelineHorizontal.json +1 -0
  353. package/src/routes/component-data/TimelineItem.json +10 -0
  354. package/src/routes/component-data/TimelineItemHorizontal.json +19 -0
  355. package/src/routes/component-data/TimelineItemVertical.json +13 -0
  356. package/src/routes/component-data/Toast.json +15 -0
  357. package/src/routes/component-data/Toggle.json +12 -0
  358. package/src/routes/component-data/Toolbar.json +9 -0
  359. package/src/routes/component-data/ToolbarButton.json +12 -0
  360. package/src/routes/component-data/ToolbarGroup.json +1 -0
  361. package/src/routes/component-data/Tooltip.json +9 -0
  362. package/src/routes/component-data/Video.json +12 -0
  363. package/src/routes/component-data/VideoPlaceholder.json +9 -0
  364. package/src/routes/component-data/VoiceSearch.json +16 -0
  365. package/src/routes/component-data/WidgetPlaceholder.json +1 -0
  366. package/src/routes/component-data/Wrapper.json +10 -0
  367. package/src/routes/component-data/backdrop.json +9 -0
  368. package/src/routes/component-data/clickOutside.json +1 -0
  369. package/src/routes/component-data/createEventDispatcher.json +1 -0
  370. package/src/routes/component-data/focusTrap.json +1 -0
  371. package/src/routes/component-data/generateId.json +1 -0
  372. package/src/routes/component-data/index.json +1 -0
  373. package/src/routes/component-data/types.json +1 -0
  374. package/src/routes/docs/+layout.js +10 -0
  375. package/src/routes/docs/+layout.svelte +74 -0
  376. package/src/routes/docs/components/[slug]/+page.js +13 -0
  377. package/src/routes/docs/components/[slug]/+page.svelte +6 -0
  378. package/src/routes/docs/components/accordion.md +315 -0
  379. package/src/routes/docs/components/alert.md +342 -0
  380. package/src/routes/docs/components/avatar.md +215 -0
  381. package/src/routes/docs/components/badge.md +269 -0
  382. package/src/routes/docs/components/banner.md +166 -0
  383. package/src/routes/docs/components/bottom-navigation.md +397 -0
  384. package/src/routes/docs/components/breadcrumb.md +112 -0
  385. package/src/routes/docs/components/button-group.md +198 -0
  386. package/src/routes/docs/components/button.md +314 -0
  387. package/src/routes/docs/components/card.md +423 -0
  388. package/src/routes/docs/components/carousel.md +242 -0
  389. package/src/routes/docs/components/darkmode.md +111 -0
  390. package/src/routes/docs/components/device-mockups.md +212 -0
  391. package/src/routes/docs/components/drawer.md +638 -0
  392. package/src/routes/docs/components/dropdown.md +748 -0
  393. package/src/routes/docs/components/footer.md +268 -0
  394. package/src/routes/docs/components/forms.md +254 -0
  395. package/src/routes/docs/components/gallery.md +230 -0
  396. package/src/routes/docs/components/imageData/+server.js +43 -0
  397. package/src/routes/docs/components/indicators.md +273 -0
  398. package/src/routes/docs/components/kbd.md +248 -0
  399. package/src/routes/docs/components/list-group.md +157 -0
  400. package/src/routes/docs/components/mega-menu.md +298 -0
  401. package/src/routes/docs/components/modal.md +413 -0
  402. package/src/routes/docs/components/navbar.md +342 -0
  403. package/src/routes/docs/components/pagination.md +350 -0
  404. package/src/routes/docs/components/popover.md +388 -0
  405. package/src/routes/docs/components/progress.md +170 -0
  406. package/src/routes/docs/components/rating.md +326 -0
  407. package/src/routes/docs/components/sidebar.md +568 -0
  408. package/src/routes/docs/components/skeleton.md +165 -0
  409. package/src/routes/docs/components/speed-dial.md +523 -0
  410. package/src/routes/docs/components/spinner.md +117 -0
  411. package/src/routes/docs/components/tab.md +341 -0
  412. package/src/routes/docs/components/table.md +871 -0
  413. package/src/routes/docs/components/timeline.md +267 -0
  414. package/src/routes/docs/components/toast.md +362 -0
  415. package/src/routes/docs/components/tooltip.md +156 -0
  416. package/src/routes/docs/components/typography.md +158 -0
  417. package/src/routes/docs/components/video.md +125 -0
  418. package/src/routes/docs/examples/[slug]/+page.js +13 -0
  419. package/src/routes/docs/examples/[slug]/+page.svelte +6 -0
  420. package/src/routes/docs/examples/sidebar-layout.md +20 -0
  421. package/src/routes/docs/examples/snapshot.md +59 -0
  422. package/src/routes/docs/examples/testsnap.svelte +49 -0
  423. package/src/routes/docs/experimental/[slug]/+page.js +13 -0
  424. package/src/routes/docs/experimental/[slug]/+page.svelte +6 -0
  425. package/src/routes/docs/experimental/datepicker.md +131 -0
  426. package/src/routes/docs/extend/CheckCircle.svelte +3 -0
  427. package/src/routes/docs/extend/[slug]/+page.js +13 -0
  428. package/src/routes/docs/extend/[slug]/+page.svelte +6 -0
  429. package/src/routes/docs/extend/flowbite-svelte-blocks.md +28 -0
  430. package/src/routes/docs/extend/flowbite-svelte-starter.md +34 -0
  431. package/src/routes/docs/extend/icons.md +204 -0
  432. package/src/routes/docs/extend/step-indicator.md +162 -0
  433. package/src/routes/docs/forms/[slug]/+page.js +13 -0
  434. package/src/routes/docs/forms/[slug]/+page.svelte +6 -0
  435. package/src/routes/docs/forms/checkbox.md +329 -0
  436. package/src/routes/docs/forms/file-input.md +171 -0
  437. package/src/routes/docs/forms/floating-label.md +176 -0
  438. package/src/routes/docs/forms/input-field.md +398 -0
  439. package/src/routes/docs/forms/radio.md +303 -0
  440. package/src/routes/docs/forms/range.md +110 -0
  441. package/src/routes/docs/forms/search-input.md +133 -0
  442. package/src/routes/docs/forms/select.md +280 -0
  443. package/src/routes/docs/forms/textarea.md +142 -0
  444. package/src/routes/docs/forms/toggle.md +86 -0
  445. package/src/routes/docs/pages/[slug]/+page.js +13 -0
  446. package/src/routes/docs/pages/[slug]/+page.svelte +6 -0
  447. package/src/routes/docs/pages/colors.md +152 -0
  448. package/src/routes/docs/pages/compiler-speed.md +116 -0
  449. package/src/routes/docs/pages/customization.md +103 -0
  450. package/src/routes/docs/pages/how-to-contribute.md +138 -0
  451. package/src/routes/docs/pages/ide-support.md +19 -0
  452. package/src/routes/docs/pages/introduction.md +131 -0
  453. package/src/routes/docs/pages/license.md +22 -0
  454. package/src/routes/docs/pages/quickstart.md +128 -0
  455. package/src/routes/docs/pages/typescript.md +25 -0
  456. package/src/routes/docs/plugins/[slug]/+page.js +13 -0
  457. package/src/routes/docs/plugins/[slug]/+page.svelte +6 -0
  458. package/src/routes/docs/plugins/charts.md +990 -0
  459. package/src/routes/docs/typography/[slug]/+page.js +13 -0
  460. package/src/routes/docs/typography/[slug]/+page.svelte +6 -0
  461. package/src/routes/docs/typography/blockquote.md +214 -0
  462. package/src/routes/docs/typography/heading.md +270 -0
  463. package/src/routes/docs/typography/hr.md +115 -0
  464. package/src/routes/docs/typography/image.md +244 -0
  465. package/src/routes/docs/typography/link.md +147 -0
  466. package/src/routes/docs/typography/list.md +358 -0
  467. package/src/routes/docs/typography/paragraph.md +265 -0
  468. package/src/routes/docs/typography/text.md +340 -0
  469. package/src/routes/docs/utilities/[slug]/+page.js +13 -0
  470. package/src/routes/docs/utilities/[slug]/+page.svelte +6 -0
  471. package/src/routes/docs/utilities/close-button.md +42 -0
  472. package/src/routes/docs/utilities/label.md +41 -0
  473. package/src/routes/docs/utilities/toolbar.md +157 -0
  474. package/src/routes/landing/CTA.svelte +98 -0
  475. package/src/routes/landing/Components.svelte +42 -0
  476. package/src/routes/landing/Contributors.svelte +55 -0
  477. package/src/routes/landing/DesignFigma.svelte +39 -0
  478. package/src/routes/landing/Featured.svelte +33 -0
  479. package/src/routes/landing/GetStarted.svelte +23 -0
  480. package/src/routes/landing/Hero.svelte +38 -0
  481. package/src/routes/landing/SocialProof.svelte +80 -0
  482. package/src/routes/landing/utils/A.svelte +5 -0
  483. package/src/routes/landing/utils/H2.svelte +1 -0
  484. package/src/routes/landing/utils/Row.svelte +16 -0
  485. package/src/routes/landing/utils/Section.svelte +9 -0
  486. package/src/routes/layouts/component/+page.svelte +44 -0
  487. package/src/routes/layouts/component/Anchor.svelte +29 -0
  488. package/src/routes/layouts/component/code.svelte +1 -0
  489. package/src/routes/layouts/component/h1.svelte +0 -0
  490. package/src/routes/layouts/component/h2.svelte +5 -0
  491. package/src/routes/layouts/component/h3.svelte +5 -0
  492. package/src/routes/layouts/testLayout/+page.svelte +5 -0
  493. package/src/routes/utils/AlgoliaSearch.svelte +22 -0
  494. package/src/routes/utils/CompoAttributesViewer.svelte +78 -0
  495. package/src/routes/utils/CompoCard.svelte +36 -0
  496. package/src/routes/utils/CompoDescription.svelte +7 -0
  497. package/src/routes/utils/CopyCliboardInput.svelte +45 -0
  498. package/src/routes/utils/DocBadge.svelte +7 -0
  499. package/src/routes/utils/DocBadgeList.svelte +10 -0
  500. package/src/routes/utils/ExampleDarkMode.svelte +16 -0
  501. package/src/routes/utils/ExampleWrapper.svelte +143 -0
  502. package/src/routes/utils/Footer.svelte +64 -0
  503. package/src/routes/utils/GitHubSource.svelte +13 -0
  504. package/src/routes/utils/GitHubSourceList.svelte +21 -0
  505. package/src/routes/utils/MetaTag.svelte +42 -0
  506. package/src/routes/utils/Newsletter.svelte +52 -0
  507. package/src/routes/utils/PageHeadSection.svelte +20 -0
  508. package/src/routes/utils/Paging.svelte +60 -0
  509. package/src/routes/utils/TableDefaultRow.svelte +81 -0
  510. package/src/routes/utils/TableProp.svelte +41 -0
  511. package/src/routes/utils/Toc.svelte +55 -0
  512. package/src/routes/utils/ToolbarLink.svelte +12 -0
  513. package/src/routes/utils/data.json +48 -0
  514. package/src/routes/utils/icons/Angular.svelte +3 -0
  515. package/src/routes/utils/icons/ArrowLeft.svelte +3 -0
  516. package/src/routes/utils/icons/ArrowRight.svelte +3 -0
  517. package/src/routes/utils/icons/Check.svelte +3 -0
  518. package/src/routes/utils/icons/China.svelte +9 -0
  519. package/src/routes/utils/icons/Clipboard.svelte +3 -0
  520. package/src/routes/utils/icons/CoinbaseWallet.svelte +4 -0
  521. package/src/routes/utils/icons/Combinator.svelte +35 -0
  522. package/src/routes/utils/icons/Community.svelte +5 -0
  523. package/src/routes/utils/icons/Dev.svelte +9 -0
  524. package/src/routes/utils/icons/Discord.svelte +5 -0
  525. package/src/routes/utils/icons/Dribble.svelte +3 -0
  526. package/src/routes/utils/icons/Figma.svelte +14 -0
  527. package/src/routes/utils/icons/FlowbiteLogo.svelte +49 -0
  528. package/src/routes/utils/icons/Fortmatic.svelte +4 -0
  529. package/src/routes/utils/icons/Germany.svelte +5 -0
  530. package/src/routes/utils/icons/GitHub.svelte +13 -0
  531. package/src/routes/utils/icons/Hunt.svelte +17 -0
  532. package/src/routes/utils/icons/Italy.svelte +7 -0
  533. package/src/routes/utils/icons/Mail.svelte +4 -0
  534. package/src/routes/utils/icons/MetaMask.svelte +31 -0
  535. package/src/routes/utils/icons/Moon.svelte +3 -0
  536. package/src/routes/utils/icons/Npm.svelte +3 -0
  537. package/src/routes/utils/icons/OperaWallet.svelte +17 -0
  538. package/src/routes/utils/icons/Quote.svelte +3 -0
  539. package/src/routes/utils/icons/React.svelte +4 -0
  540. package/src/routes/utils/icons/Reddit.svelte +23 -0
  541. package/src/routes/utils/icons/Sun.svelte +7 -0
  542. package/src/routes/utils/icons/Usa.svelte +31 -0
  543. package/src/routes/utils/icons/Vue.svelte +3 -0
  544. package/src/routes/utils/icons/WalletConnect.svelte +18 -0
  545. package/src/routes/utils/icons/YouTube.svelte +3 -0
  546. package/src/routes/utils/icons/YouTubeFull.svelte +17 -0
  547. package/src/routes/utils/index.ts +146 -0
  548. package/src/routes/utils/mdsvex.d.ts +8 -0
  549. package/static/images/alert-prop.png +0 -0
  550. package/static/images/carousel/cosmic-timetraveler-pYyOZ8q7AII-unsplash.webp +0 -0
  551. package/static/images/carousel/cristina-gottardi-CSpjU6hYo_0-unsplash.webp +0 -0
  552. package/static/images/carousel/johannes-plenio-RwHv7LgeC7s-unsplash.webp +0 -0
  553. package/static/images/carousel/jonatan-pie-3l3RwQdHRHg-unsplash.webp +0 -0
  554. package/static/images/carousel/mark-harpur-K2s_YE031CA-unsplash.webp +0 -0
  555. package/static/images/carousel/pietro-de-grandi-T7K4aEPoGGk-unsplash.webp +0 -0
  556. package/static/images/carousel/sergey-pesterev-tMvuB9se2uQ-unsplash.webp +0 -0
  557. package/static/images/carousel/solotravelgoals-7kLufxYoqWk-unsplash.webp +0 -0
  558. package/static/images/carousel-1.svg +4 -0
  559. package/static/images/carousel-2.svg +4 -0
  560. package/static/images/carousel-3.svg +4 -0
  561. package/static/images/carousel-4.svg +4 -0
  562. package/static/images/carousel-5.svg +4 -0
  563. package/static/images/code-example-dark.png +0 -0
  564. package/static/images/code-example.png +0 -0
  565. package/static/images/colors.webp +0 -0
  566. package/static/images/components/accordion-dark.svg +40 -0
  567. package/static/images/components/accordion.svg +40 -0
  568. package/static/images/components/alert-dark.svg +11 -0
  569. package/static/images/components/alert.svg +11 -0
  570. package/static/images/components/avatar-dark.svg +117 -0
  571. package/static/images/components/avatar.svg +117 -0
  572. package/static/images/components/badge-dark.svg +5 -0
  573. package/static/images/components/badge.svg +5 -0
  574. package/static/images/components/banner-dark.svg +34 -0
  575. package/static/images/components/banner.svg +33 -0
  576. package/static/images/components/bottom-navigation-dark.svg +44 -0
  577. package/static/images/components/bottom-navigation.svg +43 -0
  578. package/static/images/components/breadcrumb-dark.svg +7 -0
  579. package/static/images/components/breadcrumb.svg +7 -0
  580. package/static/images/components/button-dark.svg +10 -0
  581. package/static/images/components/button-group-dark.svg +10 -0
  582. package/static/images/components/button-group.svg +10 -0
  583. package/static/images/components/button.svg +10 -0
  584. package/static/images/components/card-dark.svg +31 -0
  585. package/static/images/components/card.svg +32 -0
  586. package/static/images/components/carousel-dark.svg +13 -0
  587. package/static/images/components/carousel.svg +13 -0
  588. package/static/images/components/charts-dark.svg +29 -0
  589. package/static/images/components/charts.svg +29 -0
  590. package/static/images/components/darkmode-dark.svg +7 -0
  591. package/static/images/components/darkmode.svg +3 -0
  592. package/static/images/components/device-mockups-dark.svg +17 -0
  593. package/static/images/components/device-mockups.svg +17 -0
  594. package/static/images/components/drawer-dark.svg +32 -0
  595. package/static/images/components/drawer.svg +32 -0
  596. package/static/images/components/dropdown-dark.svg +35 -0
  597. package/static/images/components/dropdown.svg +35 -0
  598. package/static/images/components/footer-dark.svg +52 -0
  599. package/static/images/components/footer.svg +50 -0
  600. package/static/images/components/forms-dark.svg +64 -0
  601. package/static/images/components/forms.svg +64 -0
  602. package/static/images/components/gallery-dark.svg +14 -0
  603. package/static/images/components/gallery.svg +14 -0
  604. package/static/images/components/indicators-dark.svg +38 -0
  605. package/static/images/components/indicators.svg +38 -0
  606. package/static/images/components/jumbotron-dark.svg +13 -0
  607. package/static/images/components/jumbotron.svg +13 -0
  608. package/static/images/components/kbd-dark.svg +460 -0
  609. package/static/images/components/kbd.svg +462 -0
  610. package/static/images/components/list-group-dark.svg +58 -0
  611. package/static/images/components/list-group.svg +58 -0
  612. package/static/images/components/mega-menu-dark.svg +71 -0
  613. package/static/images/components/mega-menu.svg +71 -0
  614. package/static/images/components/modal-dark.svg +32 -0
  615. package/static/images/components/modal.svg +33 -0
  616. package/static/images/components/navbar-dark.svg +78 -0
  617. package/static/images/components/navbar.svg +78 -0
  618. package/static/images/components/pagination-dark.svg +50 -0
  619. package/static/images/components/pagination.svg +50 -0
  620. package/static/images/components/popover-dark.svg +18 -0
  621. package/static/images/components/popover.svg +17 -0
  622. package/static/images/components/progress-dark.svg +10 -0
  623. package/static/images/components/progress.svg +10 -0
  624. package/static/images/components/rating-dark.svg +29 -0
  625. package/static/images/components/rating.svg +29 -0
  626. package/static/images/components/sidebar-dark.svg +17 -0
  627. package/static/images/components/sidebar.svg +18 -0
  628. package/static/images/components/skeleton-dark.svg +10 -0
  629. package/static/images/components/skeleton.svg +10 -0
  630. package/static/images/components/speed-dial-dark.svg +69 -0
  631. package/static/images/components/speed-dial.svg +69 -0
  632. package/static/images/components/spinner-dark.svg +6 -0
  633. package/static/images/components/spinner.svg +6 -0
  634. package/static/images/components/stepper-dark.svg +11 -0
  635. package/static/images/components/stepper.svg +10 -0
  636. package/static/images/components/tab-dark.svg +10 -0
  637. package/static/images/components/tab.svg +10 -0
  638. package/static/images/components/table-dark.svg +47 -0
  639. package/static/images/components/table.svg +47 -0
  640. package/static/images/components/timeline-dark.svg +20 -0
  641. package/static/images/components/timeline.svg +20 -0
  642. package/static/images/components/toast-dark.svg +49 -0
  643. package/static/images/components/toast.svg +49 -0
  644. package/static/images/components/tooltip-dark.svg +7 -0
  645. package/static/images/components/tooltip.svg +7 -0
  646. package/static/images/components/typography-dark.svg +13 -0
  647. package/static/images/components/typography.svg +13 -0
  648. package/static/images/components/video-dark.svg +4 -0
  649. package/static/images/components/video.svg +4 -0
  650. package/static/images/eugene.jpg +0 -0
  651. package/static/images/examples/content-gallery-3.png +0 -0
  652. package/static/images/examples/image-1.jpg +0 -0
  653. package/static/images/examples/image-1@2x.jpg +0 -0
  654. package/static/images/examples/image-2@2x.jpg +0 -0
  655. package/static/images/examples/image-3@2x.jpg +0 -0
  656. package/static/images/examples/image-4@2x.jpg +0 -0
  657. package/static/images/experimental/datepicker-dark.svg +67 -0
  658. package/static/images/experimental/datepicker.svg +67 -0
  659. package/static/images/favicon.png +0 -0
  660. package/static/images/favicon.svg +49 -0
  661. package/static/images/figma-dark.png +0 -0
  662. package/static/images/figma.png +0 -0
  663. package/static/images/flowbite-svelte-blocks-optimized.png +0 -0
  664. package/static/images/flowbite-svelte-icon-logo.svg +49 -0
  665. package/static/images/flowbite-svelte-icon.svg +49 -0
  666. package/static/images/flowbite-svelte-og-image.png +0 -0
  667. package/static/images/flowbite-svelte.png +0 -0
  668. package/static/images/forms/checkbox-dark.svg +14 -0
  669. package/static/images/forms/checkbox.svg +14 -0
  670. package/static/images/forms/file-input-dark.svg +59 -0
  671. package/static/images/forms/file-input.svg +46 -0
  672. package/static/images/forms/floating-label-dark.svg +11 -0
  673. package/static/images/forms/floating-label.svg +11 -0
  674. package/static/images/forms/input-field-dark.svg +65 -0
  675. package/static/images/forms/input-field.svg +66 -0
  676. package/static/images/forms/radio-dark.svg +14 -0
  677. package/static/images/forms/radio.svg +12 -0
  678. package/static/images/forms/range-dark.svg +38 -0
  679. package/static/images/forms/range.svg +38 -0
  680. package/static/images/forms/search-input-dark.svg +82 -0
  681. package/static/images/forms/search-input.svg +82 -0
  682. package/static/images/forms/select-dark.svg +64 -0
  683. package/static/images/forms/select.svg +64 -0
  684. package/static/images/forms/textarea-dark.svg +16 -0
  685. package/static/images/forms/textarea.svg +16 -0
  686. package/static/images/forms/toggle-dark.svg +12 -0
  687. package/static/images/forms/toggle.svg +12 -0
  688. package/static/images/gallery-dark.png +0 -0
  689. package/static/images/gallery.png +0 -0
  690. package/static/images/graphs-dark.png +0 -0
  691. package/static/images/graphs.png +0 -0
  692. package/static/images/image-1.jpeg +0 -0
  693. package/static/images/image-1.png +0 -0
  694. package/static/images/image-1.webp +0 -0
  695. package/static/images/image-2.jpeg +0 -0
  696. package/static/images/image-2.png +0 -0
  697. package/static/images/image-2.webp +0 -0
  698. package/static/images/image-4.jpeg +0 -0
  699. package/static/images/image-4.png +0 -0
  700. package/static/images/image-4.webp +0 -0
  701. package/static/images/italy.png +0 -0
  702. package/static/images/nature-1.jpeg +0 -0
  703. package/static/images/office1.webp +0 -0
  704. package/static/images/product-1.webp +0 -0
  705. package/static/images/profile-picture-1.webp +0 -0
  706. package/static/images/profile-picture-2.webp +0 -0
  707. package/static/images/profile-picture-3.webp +0 -0
  708. package/static/images/profile-picture-4.webp +0 -0
  709. package/static/images/profile-picture-5.webp +0 -0
  710. package/static/images/sveltekit-sidebar-layout-optimized.png +0 -0
  711. package/static/images/tailwind-code-dark.png +0 -0
  712. package/static/images/tailwind-code.png +0 -0
  713. package/static/images/typography/blockquote-dark.svg +8 -0
  714. package/static/images/typography/blockquote.svg +8 -0
  715. package/static/images/typography/heading-dark.svg +5 -0
  716. package/static/images/typography/heading.svg +5 -0
  717. package/static/images/typography/hr-dark.svg +7 -0
  718. package/static/images/typography/hr.svg +7 -0
  719. package/static/images/typography/image-dark.svg +6 -0
  720. package/static/images/typography/image.svg +6 -0
  721. package/static/images/typography/link-dark.svg +4 -0
  722. package/static/images/typography/link.svg +4 -0
  723. package/static/images/typography/list-dark.svg +26 -0
  724. package/static/images/typography/list.svg +26 -0
  725. package/static/images/typography/paragraph-dark.svg +13 -0
  726. package/static/images/typography/paragraph.svg +13 -0
  727. package/static/images/typography/text-dark.svg +11 -0
  728. package/static/images/typography/text.svg +11 -0
  729. package/static/site.webmanifest +12 -0
  730. package/static/styles/docs.css +537 -0
  731. package/static/videos/compo-doc.gif +0 -0
  732. package/static/videos/flowbite.mp4 +0 -0
  733. package/svelte.config.js +28 -0
  734. package/tailwind.config.cjs +89 -0
  735. package/tests/components.spec.ts +199 -0
  736. package/tests/examples.spec.ts +11 -0
  737. package/tests/extend.spec.ts +19 -0
  738. package/tests/forms.spec.ts +62 -0
  739. package/tests/page.spec.ts +46 -0
  740. package/tests/plugins.spec.ts +7 -0
  741. package/tests/redirect.spec.ts +175 -0
  742. package/tests/typography.spec.ts +52 -0
  743. package/tests/utilities.spec.ts +22 -0
  744. package/tsconfig.json +21 -0
  745. package/vite.config.ts +22 -0
  746. package/vite.config.ts.timestamp-1692816833518-844de2c3e2008.mjs +22 -0
  747. package/dist/carousels/Caption.svelte +0 -17
  748. package/dist/carousels/Caption.svelte.d.ts +0 -26
  749. package/dist/carousels/Caption.svelte.d.ts.map +0 -1
  750. package/dist/carousels/CarouselTransition.svelte +0 -174
  751. package/dist/carousels/CarouselTransition.svelte.d.ts +0 -68
  752. package/dist/carousels/CarouselTransition.svelte.d.ts.map +0 -1
  753. package/dist/carousels/Indicator.svelte +0 -20
  754. package/dist/carousels/Indicator.svelte.d.ts +0 -28
  755. package/dist/carousels/Indicator.svelte.d.ts.map +0 -1
  756. package/dist/carousels/Slide.svelte +0 -23
  757. package/dist/carousels/Slide.svelte.d.ts +0 -30
  758. package/dist/carousels/Slide.svelte.d.ts.map +0 -1
@@ -0,0 +1,47 @@
1
+ <script lang="ts">
2
+ import type { SizeType } from '$lib/types';
3
+ import { twMerge } from 'tailwind-merge';
4
+ import { getContext } from 'svelte';
5
+ import { clampSize } from '$lib/forms/Input.svelte';
6
+
7
+ export let size: 'sm' | 'md' | 'lg' | undefined = undefined;
8
+
9
+ // tinted if put in component having its own background
10
+ let background: boolean = getContext('background');
11
+
12
+ let group: { size: SizeType } = getContext('group');
13
+
14
+ const borderClasses = {
15
+ base: 'border-gray-300 dark:border-gray-600',
16
+ tinted: 'border-gray-300 dark:border-gray-500'
17
+ };
18
+
19
+ const darkBgClasses = {
20
+ base: 'dark:bg-gray-600 dark:text-gray-400',
21
+ tinted: 'dark:bg-gray-500 dark:text-gray-300'
22
+ };
23
+
24
+ const divider = {
25
+ base: 'dark:border-r-gray-700 dark:last:border-r-gray-600',
26
+ tinted: 'dark:border-r-gray-600 dark:last:border-r-gray-500'
27
+ };
28
+
29
+ const textSizes = { sm: 'sm:text-xs', md: 'text-sm', lg: 'sm:text-base' };
30
+ const prefixPadding = { sm: 'px-2', md: 'px-3', lg: 'px-4' };
31
+
32
+ // size: explicit, inherited, default
33
+ $: _size = size || clampSize(group?.size) || 'md';
34
+
35
+ $: divClass = twMerge(textSizes[_size], prefixPadding[_size], background ? borderClasses['tinted'] : borderClasses['base'], 'text-gray-500 bg-gray-200', background ? darkBgClasses.tinted : darkBgClasses.base, background ? divider.tinted : divider.base, 'inline-flex items-center border-t border-b first:border-l border-r', 'first:rounded-l-lg last:rounded-r-lg', $$props.class);
36
+ </script>
37
+
38
+ <div {...$$restProps} class={divClass}>
39
+ <slot />
40
+ </div>
41
+
42
+ <!--
43
+ @component
44
+ [Go to docs](https://flowbite-svelte.com/)
45
+ ## Props
46
+ @prop export let size: 'sm' | 'md' | 'lg' | undefined = undefined;
47
+ -->
@@ -0,0 +1,40 @@
1
+ <script lang="ts">
2
+ import { twMerge } from 'tailwind-merge';
3
+
4
+ export let color: 'gray' | 'green' | 'red' | 'disabled' = 'gray';
5
+ export let defaultClass: string = 'text-sm font-medium block';
6
+ export let show: boolean = true;
7
+
8
+ let node: HTMLLabelElement;
9
+
10
+ const colorClasses = {
11
+ gray: 'text-gray-900 dark:text-gray-300',
12
+ green: 'text-green-700 dark:text-green-500',
13
+ red: 'text-red-700 dark:text-red-500',
14
+ disabled: 'text-gray-400 dark:text-gray-500'
15
+ };
16
+
17
+ // function checkDisabled(node: HTMLLabelElement) {
18
+ $: {
19
+ const control: HTMLInputElement = node?.control as HTMLInputElement;
20
+ color = control?.disabled ? 'disabled' : color;
21
+ }
22
+
23
+ $: labelClass = twMerge(defaultClass, colorClasses[color], $$props.class);
24
+ </script>
25
+
26
+ {#if show}
27
+ <!-- svelte-ignore a11y-label-has-associated-control -->
28
+ <label bind:this={node} {...$$restProps} class={labelClass}><slot /></label>
29
+ {:else}
30
+ <slot />
31
+ {/if}
32
+
33
+ <!--
34
+ @component
35
+ [Go to docs](https://flowbite-svelte.com/)
36
+ ## Props
37
+ @prop export let color: 'gray' | 'green' | 'red' | 'disabled' = 'gray';
38
+ @prop export let defaultClass: string = 'text-sm font-medium block';
39
+ @prop export let show: boolean = true;
40
+ -->
@@ -0,0 +1,126 @@
1
+ <script lang="ts">
2
+ import Badge from '$lib/badges/Badge.svelte';
3
+ import { twMerge } from 'tailwind-merge';
4
+ import type { FormSizeType, SelectOptionType } from '../types';
5
+ import CloseButton from '$lib/utils/CloseButton.svelte';
6
+ import { createEventDispatcher } from 'svelte';
7
+ import { onMount } from 'svelte';
8
+
9
+ const dispatch = createEventDispatcher();
10
+
11
+ export let items: SelectOptionType[] = [];
12
+ export let value: (string | number)[] = [];
13
+ export let size: FormSizeType = 'md';
14
+ export let dropdownClass: string = '';
15
+
16
+ let selectItems: SelectOptionType[] = [];
17
+ let show: boolean = false;
18
+
19
+ const sizes = {
20
+ sm: 'px-2 py-1',
21
+ md: 'px-3 py-2',
22
+ lg: 'px-4 py-3'
23
+ };
24
+
25
+ // Container
26
+ const multiSelectClass: string = 'relative border border-gray-300 flex items-center rounded-lg gap-2 dark:border-gray-600 focus-within:ring-1 focus-within:border-primary-500 ring-primary-500 dark:focus-within:border-primary-500 dark:ring-primary-500';
27
+
28
+ // Dropdown
29
+ let multiSelectDropdown: string;
30
+ $: multiSelectDropdown = twMerge('absolute z-50 p-3 flex flex-col gap-1 max-h-64 bg-white border border-gray-300 dark:bg-gray-700 dark:border-gray-600 left-0 top-[calc(100%+1rem)] rounded-lg cursor-pointer overflow-y-scroll w-full', dropdownClass);
31
+
32
+ // Items
33
+ const itemsClass: string = 'py-2 px-3 rounded-lg text-gray-600 hover:text-gray-600 dark:text-gray-400 hover:bg-gray-100 dark:hover:text-gray-300 dark:hover:bg-gray-600';
34
+ // Selected items
35
+ const itemsSelectClass: string = 'bg-gray-100 text-black hover:text-black dark:text-white dark:bg-gray-600 dark:hover:text-white';
36
+
37
+ onMount(() => {
38
+ if (value.length) {
39
+ items.map((item) => {
40
+ if (value.includes(item.value)) {
41
+ selectItems.push(item);
42
+ }
43
+ });
44
+ }
45
+ });
46
+
47
+ const selectOption = (select: SelectOptionType) => {
48
+ if (selectItems.includes(select)) {
49
+ clearThisOption(select);
50
+ } else {
51
+ selectItems.push(select);
52
+ value.push(select.value);
53
+ selectItems = selectItems;
54
+ value = value;
55
+ dispatch('selected', selectItems);
56
+ }
57
+ };
58
+
59
+ const clearAll = (e: MouseEvent) => {
60
+ e.stopPropagation();
61
+ selectItems = [];
62
+ value = [];
63
+ dispatch('selected', selectItems);
64
+ };
65
+
66
+ const clearThisOption = (select: SelectOptionType) => {
67
+ if (selectItems.includes(select)) {
68
+ selectItems = selectItems.filter((o) => o !== select);
69
+ dispatch('selected', selectItems);
70
+ }
71
+ if (value.includes(select.value)) {
72
+ value = value.filter((o) => o !== select.value);
73
+ }
74
+ };
75
+ </script>
76
+
77
+ <!-- Hidden select for form submission -->
78
+ <select {...$$restProps} bind:value hidden multiple>
79
+ {#each items as { value, name }}
80
+ <option {value}>{name}</option>
81
+ {/each}
82
+ </select>
83
+ <!-- svelte-ignore a11y-click-events-have-key-events -->
84
+ <div on:click={() => (show = !show)} on:focusout={() => (show = false)} tabindex="-1" role="listbox" class={twMerge(multiSelectClass, sizes[size], $$props.class)}>
85
+ <span class="flex gap-2 flex-wrap">
86
+ {#if selectItems.length}
87
+ {#each selectItems as item (item.name)}
88
+ <slot {item} clear={() => clearThisOption(item)}>
89
+ <Badge color="dark" large={size === 'lg'} dismissable params={{ duration: 100 }} on:close={() => clearThisOption(item)}>
90
+ {item.name}
91
+ </Badge>
92
+ </slot>
93
+ {/each}
94
+ {/if}
95
+ </span>
96
+ <div class="flex ml-auto gap-2 items-center">
97
+ {#if selectItems.length}
98
+ <CloseButton on:click={clearAll} color="none" class="p-0 focus:ring-gray-400" />
99
+ {/if}
100
+ <div class="w-[1px] bg-gray-300 dark:bg-gray-600" />
101
+ <svg class="cursor-pointer h-3 w-3 ml-1 text-gray-800 dark:text-white" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 10 6">
102
+ <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d={show ? 'm1 5 4-4 4 4' : 'm9 1-4 4-4-4'} />
103
+ </svg>
104
+ </div>
105
+
106
+ {#if show}
107
+ <div on:click|stopPropagation role="presentation" class={multiSelectDropdown}>
108
+ {#each items as item (item.name)}
109
+ <!-- svelte-ignore a11y-click-events-have-key-events -->
110
+ <div on:click={() => selectOption(item)} role="presentation" class={twMerge(itemsClass, selectItems.includes(item) && itemsSelectClass)}>
111
+ {item.name}
112
+ </div>
113
+ {/each}
114
+ </div>
115
+ {/if}
116
+ </div>
117
+
118
+ <!--
119
+ @component
120
+ [Go to docs](https://flowbite-svelte.com/)
121
+ ## Props
122
+ @prop export let items: SelectOptionType[] = [];
123
+ @prop export let value: (string | number)[] = [];
124
+ @prop export let size: FormSizeType = 'md';
125
+ @prop export let dropdownClass: string = '';
126
+ -->
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import Input from './Input.svelte';
3
+
4
+ export let value: number = 0;
5
+ </script>
6
+
7
+ <Input let:props {...$$restProps}>
8
+ <input {...props} type="number" bind:value on:blur on:change on:click on:contextmenu on:focus on:keydown on:keypress on:keyup on:mouseover on:mouseenter on:mouseleave on:paste on:input />
9
+ </Input>
10
+
11
+ <!--
12
+ @component
13
+ [Go to docs](https://flowbite-svelte.com/)
14
+ ## Props
15
+ @prop export let value: number = 0;
16
+ -->
@@ -0,0 +1,53 @@
1
+ <script context="module" lang="ts">
2
+ // this part is shared between Radio and Checkbox
3
+ import { twMerge } from 'tailwind-merge';
4
+
5
+ const colorClasses: Record<FormColorType, string> = {
6
+ primary: 'text-primary-600 focus:ring-primary-500 dark:focus:ring-primary-600',
7
+ secondary: 'text-secondary-600 focus:ring-secondary-500 dark:focus:ring-secondary-600',
8
+ red: 'text-red-600 focus:ring-red-500 dark:focus:ring-red-600',
9
+ green: 'text-green-600 focus:ring-green-500 dark:focus:ring-green-600',
10
+ purple: 'text-purple-600 focus:ring-purple-500 dark:focus:ring-purple-600',
11
+ teal: 'text-teal-600 focus:ring-teal-500 dark:focus:ring-teal-600',
12
+ yellow: 'text-yellow-400 focus:ring-yellow-500 dark:focus:ring-yellow-600',
13
+ orange: 'text-orange-500 focus:ring-orange-500 dark:focus:ring-orange-600',
14
+ blue: 'text-blue-600 focus:ring-blue-500 dark:focus:ring-blue-600'
15
+ };
16
+
17
+ export const labelClass = (inline: boolean, extraClass: string) => twMerge(inline ? 'inline-flex' : 'flex', 'items-center', extraClass);
18
+ export let spacing: string = 'mr-2';
19
+
20
+ export const inputClass = (custom: boolean, color: FormColorType, rounded: boolean, tinted: boolean, extraClass: string) => twMerge('w-4 h-4 bg-gray-100 border-gray-300 dark:ring-offset-gray-800 focus:ring-2', spacing, tinted ? 'dark:bg-gray-600 dark:border-gray-500' : 'dark:bg-gray-700 dark:border-gray-600', custom && 'sr-only peer', rounded && 'rounded', colorClasses[color], extraClass);
21
+ </script>
22
+
23
+ <script lang="ts">
24
+ import { getContext } from 'svelte';
25
+ import type { FormColorType } from '../types';
26
+ import Label from './Label.svelte';
27
+
28
+ export let color: FormColorType = 'primary';
29
+ export let custom: boolean = false;
30
+ export let inline: boolean = false;
31
+ export let group: number | string = '';
32
+ export let value: number | string = '';
33
+
34
+ // tinted if put in component having its own background
35
+ let background: boolean = getContext('background');
36
+ </script>
37
+
38
+ <Label class={labelClass(inline, $$props.class)} show={$$slots.default}>
39
+ <input type="radio" bind:group on:blur on:change on:click on:focus on:keydown on:keypress on:keyup on:mouseenter on:mouseleave on:mouseover on:paste {value} {...$$restProps} class={inputClass(custom, color, false, background, $$slots.default || $$props.class)} />
40
+ <slot />
41
+ </Label>
42
+
43
+ <!--
44
+ @component
45
+ [Go to docs](https://flowbite-svelte.com/)
46
+ ## Props
47
+ @prop export let spacing: string = 'mr-2';
48
+ @prop export let color: FormColorType = 'primary';
49
+ @prop export let custom: boolean = false;
50
+ @prop export let inline: boolean = false;
51
+ @prop export let group: number | string = '';
52
+ @prop export let value: number | string = '';
53
+ -->
@@ -0,0 +1,9 @@
1
+ <div class="flex">
2
+ <slot />
3
+ </div>
4
+
5
+ <!--
6
+ @component
7
+ [Go to ](https://flowbite-svelte.com/docs/components/)
8
+
9
+ -->
@@ -0,0 +1,24 @@
1
+ <script lang="ts">
2
+ import { twMerge } from 'tailwind-merge';
3
+
4
+ export let value: number;
5
+ export let size: 'sm' | 'md' | 'lg' = 'md';
6
+
7
+ const sizes = {
8
+ sm: 'h-1 range-sm',
9
+ md: 'h-2',
10
+ lg: 'h-3 range-lg'
11
+ };
12
+ let inputClass: string;
13
+ $: inputClass = twMerge('w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700', sizes[size] ?? sizes.md, $$props.class);
14
+ </script>
15
+
16
+ <input type="range" bind:value {...$$restProps} class={inputClass} on:change on:click on:keydown on:keypress on:keyup />
17
+
18
+ <!--
19
+ @component
20
+ [Go to docs](https://flowbite-svelte.com/)
21
+ ## Props
22
+ @prop export let value: number;
23
+ @prop export let size: 'sm' | 'md' | 'lg' = 'md';
24
+ -->
@@ -0,0 +1,44 @@
1
+ <script lang="ts">
2
+ import type { FormSizeType } from '$lib/types';
3
+ import Wrapper from '$lib/utils/Wrapper.svelte';
4
+ import Input from './Input.svelte';
5
+
6
+ export let size: FormSizeType = 'lg';
7
+ export let placeholder: string = 'Search';
8
+ export let value: any = undefined;
9
+
10
+ const sizes = {
11
+ sm: 'w-3.5 h-3.5',
12
+ md: 'w-5 h-5',
13
+ lg: 'w-6 h-6'
14
+ };
15
+ </script>
16
+
17
+ <Wrapper class="relative w-full" show={$$slots.default}>
18
+ <Input bind:value on:blur on:change on:input on:click on:focus on:keydown on:keypress on:keyup on:mouseenter on:mouseleave on:mouseover on:paste type="search" {placeholder} {size} {...$$restProps} class={$$props.class}>
19
+ <svg slot="left" class={sizes[size]} fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
20
+ <path fill-rule="evenodd" d="M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z" clip-rule="evenodd" />
21
+ </svg>
22
+ <!-- We can use it here. See below. This will trigger right padding
23
+ <slot slot="right" />
24
+ -->
25
+ </Input>
26
+ <!-- This slot should be within Input as a slot='right'
27
+ Svelete has an issue with forwarded slots and even empty slot here will appear as existing slot in Input.
28
+ Due to that we need the below slot and Wrapper around
29
+ -->
30
+ {#if $$slots.default}
31
+ <div class="flex absolute inset-y-0 right-0 items-center text-gray-500 dark:text-gray-400">
32
+ <slot />
33
+ </div>
34
+ {/if}
35
+ </Wrapper>
36
+
37
+ <!--
38
+ @component
39
+ [Go to docs](https://flowbite-svelte.com/)
40
+ ## Props
41
+ @prop export let size: FormSizeType = 'lg';
42
+ @prop export let placeholder: string = 'Search';
43
+ @prop export let value: any = undefined;
44
+ -->
@@ -0,0 +1,49 @@
1
+ <script lang="ts">
2
+ import { twMerge } from 'tailwind-merge';
3
+ import type { SelectOptionType } from '../types';
4
+
5
+ export let items: SelectOptionType[] = [];
6
+ export let value: any = undefined;
7
+ export let placeholder: string = 'Choose option ...';
8
+ export let underline: boolean = false;
9
+ export let size: 'sm' | 'md' | 'lg' = 'md';
10
+
11
+ export let defaultClass: string = 'text-gray-900 bg-gray-50 border border-gray-300 rounded-lg focus:ring-primary-500 focus:border-primary-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-primary-500 dark:focus:border-primary-500';
12
+
13
+ export let underlineClass: string = 'text-gray-500 bg-transparent border-0 border-b-2 border-gray-200 appearance-none dark:text-gray-400 dark:border-gray-700 focus:outline-none focus:ring-0 focus:border-gray-200 peer';
14
+
15
+ const common = 'block w-full';
16
+ const sizes = {
17
+ sm: 'text-sm p-2',
18
+ md: 'text-sm p-2.5',
19
+ lg: 'text-base py-3 px-4'
20
+ };
21
+
22
+ let selectClass: string;
23
+ $: selectClass = twMerge(common, underline ? underlineClass : defaultClass, sizes[size], underline && '!px-0', $$props.class);
24
+ </script>
25
+
26
+ <select {...$$restProps} bind:value class={selectClass} on:change on:contextmenu on:input>
27
+ {#if placeholder}
28
+ <option disabled selected value="">{placeholder}</option>
29
+ {/if}
30
+
31
+ {#each items as { value, name }}
32
+ <option {value}>{name}</option>
33
+ {:else}
34
+ <slot />
35
+ {/each}
36
+ </select>
37
+
38
+ <!--
39
+ @component
40
+ [Go to docs](https://flowbite-svelte.com/)
41
+ ## Props
42
+ @prop export let items: SelectOptionType[] = [];
43
+ @prop export let value: any = undefined;
44
+ @prop export let placeholder: string = 'Choose option ...';
45
+ @prop export let underline: boolean = false;
46
+ @prop export let size: 'sm' | 'md' | 'lg' = 'md';
47
+ @prop export let defaultClass: string = 'text-gray-900 bg-gray-50 border border-gray-300 rounded-lg focus:ring-primary-500 focus:border-primary-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-primary-500 dark:focus:border-primary-500';
48
+ @prop export let underlineClass: string = 'text-gray-500 bg-transparent border-0 border-b-2 border-gray-200 appearance-none dark:text-gray-400 dark:border-gray-700 focus:outline-none focus:ring-0 focus:border-gray-200 peer';
49
+ -->
@@ -0,0 +1,51 @@
1
+ <script lang="ts">
2
+ import { twMerge } from 'tailwind-merge';
3
+ import { getContext } from 'svelte';
4
+ import Wrapper from '../utils/Wrapper.svelte';
5
+
6
+ const background = getContext('background');
7
+
8
+ export let value: any = undefined;
9
+ export let wrappedClass: string = 'block w-full text-sm border-0 px-0 bg-inherit dark:bg-inherit focus:outline-none focus:ring-0';
10
+ export let unWrappedClass: string = 'p-2.5 text-sm focus:ring-primary-500 focus:border-primary-500 dark:focus:ring-primary-500 dark:focus:border-primary-500';
11
+ export let innerWrappedClass: string = 'py-2 px-4 bg-white dark:bg-gray-800';
12
+ let wrapped: boolean;
13
+ $: wrapped = $$slots.header || $$slots.footer;
14
+
15
+ let wrapperClass: string;
16
+ $: wrapperClass = twMerge('w-full rounded-lg', background ? 'bg-white dark:bg-gray-800' : 'bg-gray-50 dark:bg-gray-700', 'text-gray-900 dark:placeholder-gray-400 dark:text-white ', 'border border-gray-200 dark:border-gray-600', $$props.class);
17
+
18
+ let textareaClass: string;
19
+ $: textareaClass = wrapped ? wrappedClass : twMerge(wrapperClass, unWrappedClass);
20
+
21
+ const headerClass = (header: boolean) => twMerge(header ? 'border-b' : 'border-t', 'py-2 px-3 border-gray-200 dark:border-gray-600');
22
+
23
+ let innerWrapperClass: string;
24
+ $: innerWrapperClass = twMerge(innerWrappedClass, $$slots.footer ? 'rounded-b-lg' : '', $$slots.header ? 'rounded-t-lg' : '');
25
+ </script>
26
+
27
+ <Wrapper show={wrapped} class={wrapperClass}>
28
+ {#if $$slots.header}
29
+ <div class={headerClass(true)}>
30
+ <slot name="header" />
31
+ </div>
32
+ {/if}
33
+ <Wrapper show={wrapped} class={innerWrapperClass}>
34
+ <textarea bind:value on:blur on:change on:click on:contextmenu on:focus on:input on:keydown on:keypress on:keyup on:mouseenter on:mouseleave on:mouseover on:paste {...$$restProps} class={textareaClass} />
35
+ </Wrapper>
36
+ {#if $$slots.footer}
37
+ <div class={headerClass(false)}>
38
+ <slot name="footer" />
39
+ </div>
40
+ {/if}
41
+ </Wrapper>
42
+
43
+ <!--
44
+ @component
45
+ [Go to docs](https://flowbite-svelte.com/)
46
+ ## Props
47
+ @prop export let value: any = undefined;
48
+ @prop export let wrappedClass: string = 'block w-full text-sm border-0 px-0 bg-inherit dark:bg-inherit focus:outline-none focus:ring-0';
49
+ @prop export let unWrappedClass: string = 'p-2.5 text-sm focus:ring-primary-500 focus:border-primary-500 dark:focus:ring-primary-500 dark:focus:border-primary-500';
50
+ @prop export let innerWrappedClass: string = 'py-2 px-4 bg-white dark:bg-gray-800';
51
+ -->
@@ -0,0 +1,56 @@
1
+ <script lang="ts">
2
+ import { getContext } from 'svelte';
3
+ import { twMerge } from 'tailwind-merge';
4
+ import Checkbox from './Checkbox.svelte';
5
+ import type { FormColorType } from '../types';
6
+
7
+ export let size: 'small' | 'default' | 'large' | 'custom' = 'default';
8
+ export let group: (string | number)[] = [];
9
+ export let value: string | number = '';
10
+ export let checked: boolean | undefined = undefined;
11
+ export let customSize: string = '';
12
+
13
+ // tinted if put in component having its own background
14
+ let background: boolean = getContext('background');
15
+
16
+ const common = "mr-3 shrink-0 bg-gray-200 rounded-full peer-focus:ring-4 peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:bg-white after:border-gray-300 after:border after:rounded-full after:transition-all";
17
+
18
+ const colors = {
19
+ primary: 'peer-focus:ring-primary-300 dark:peer-focus:ring-primary-800 peer-checked:bg-primary-600',
20
+ secondary: 'peer-focus:ring-secondary-300 dark:peer-focus:ring-secondary-800 peer-checked:bg-secondary-600',
21
+ red: 'peer-focus:ring-red-300 dark:peer-focus:ring-red-800 peer-checked:bg-red-600',
22
+ green: 'peer-focus:ring-green-300 dark:peer-focus:ring-green-800 peer-checked:bg-green-600',
23
+ purple: 'peer-focus:ring-purple-300 dark:peer-focus:ring-purple-800 peer-checked:bg-purple-600',
24
+ yellow: 'peer-focus:ring-yellow-300 dark:peer-focus:ring-yellow-800 peer-checked:bg-yellow-400',
25
+ teal: 'peer-focus:ring-teal-300 dark:peer-focus:ring-teal-800 peer-checked:bg-teal-600',
26
+ orange: 'peer-focus:ring-orange-300 dark:peer-focus:ring-orange-800 peer-checked:bg-orange-500',
27
+ blue: 'peer-focus:ring-blue-300 dark:peer-focus:ring-blue-800 peer-checked:bg-blue-600'
28
+ };
29
+
30
+ const sizes = {
31
+ small: 'w-9 h-5 after:top-[2px] after:left-[2px] after:h-4 after:w-4',
32
+ default: 'w-11 h-6 after:top-0.5 after:left-[2px] after:h-5 after:w-5',
33
+ large: 'w-14 h-7 after:top-0.5 after:left-[4px] after:h-6 after:w-6',
34
+ custom: customSize
35
+ };
36
+
37
+ let divClass: string;
38
+
39
+ $: divClass = twMerge(common, background ? 'dark:bg-gray-600 dark:border-gray-500' : 'dark:bg-gray-700 dark:border-gray-600', colors[($$restProps.color as FormColorType) ?? 'primary'], sizes[size], 'relative', $$props.classDiv);
40
+ </script>
41
+
42
+ <Checkbox custom {...$$restProps} class={$$props.class} {value} bind:checked bind:group on:click on:change>
43
+ <span class={divClass} />
44
+ <slot />
45
+ </Checkbox>
46
+
47
+ <!--
48
+ @component
49
+ [Go to docs](https://flowbite-svelte.com/)
50
+ ## Props
51
+ @prop export let size: 'small' | 'default' | 'large' | 'custom' = 'default';
52
+ @prop export let group: (string | number)[] = [];
53
+ @prop export let value: string | number = '';
54
+ @prop export let checked: boolean | undefined = undefined;
55
+ @prop export let customSize: string = '';
56
+ -->
@@ -0,0 +1,57 @@
1
+ <script lang="ts">
2
+ import { createEventDispatcher } from 'svelte';
3
+
4
+ export let id: string = '';
5
+ export let labelClass: string = 'sr-only';
6
+ export let iconClass: string = 'w-5 h-5 text-gray-500 dark:text-gray-400';
7
+ export let iconDivClass: string = 'flex absolute inset-y-0 left-0 items-center pl-3 pointer-events-none';
8
+ export let inputClass: string = 'bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full pl-10 p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500';
9
+ export let btnClass: string = 'inline-flex items-center py-2.5 px-3 ml-2 text-sm font-medium text-white bg-blue-700 rounded-lg border border-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800';
10
+ export let voiceBtnClass: string = 'flex absolute inset-y-0 right-0 items-center pr-3';
11
+ export let voiceIconClass: string = 'w-4 h-4 text-gray-500 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white';
12
+ export let placeholder: string = 'Search Mockups, Logos, Design Templates...';
13
+
14
+ const dispatch = createEventDispatcher();
15
+
16
+ const handleVoiceBtn = () => {
17
+ dispatch('handleVoiceBtn');
18
+ };
19
+ </script>
20
+
21
+ <form class="flex items-center" on:submit>
22
+ <label for={id} class={labelClass}>Search</label>
23
+ <div class="relative w-full">
24
+ <div class={iconDivClass}>
25
+ <svg class={iconClass} fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
26
+ <path fill-rule="evenodd" d="M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z" clip-rule="evenodd" />
27
+ </svg>
28
+ </div>
29
+ <input {...$$restProps} type="text" {id} class={inputClass} {placeholder} />
30
+ <button type="button" class={voiceBtnClass} on:click={handleVoiceBtn}>
31
+ <svg class={voiceIconClass} fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
32
+ <path fill-rule="evenodd" d="M7 4a3 3 0 016 0v4a3 3 0 11-6 0V4zm4 10.93A7.001 7.001 0 0017 8a1 1 0 10-2 0A5 5 0 015 8a1 1 0 00-2 0 7.001 7.001 0 006 6.93V17H6a1 1 0 100 2h8a1 1 0 100-2h-3v-2.07z" clip-rule="evenodd" />
33
+ </svg>
34
+ </button>
35
+ </div>
36
+ <button type="submit" class={btnClass}>
37
+ <svg class="mr-2 -ml-1 w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
38
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" />
39
+ </svg>
40
+ Search
41
+ </button>
42
+ </form>
43
+
44
+ <!--
45
+ @component
46
+ [Go to docs](https://flowbite-svelte.com/)
47
+ ## Props
48
+ @prop export let id: string = '';
49
+ @prop export let labelClass: string = 'sr-only';
50
+ @prop export let iconClass: string = 'w-5 h-5 text-gray-500 dark:text-gray-400';
51
+ @prop export let iconDivClass: string = 'flex absolute inset-y-0 left-0 items-center pl-3 pointer-events-none';
52
+ @prop export let inputClass: string = 'bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full pl-10 p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500';
53
+ @prop export let btnClass: string = 'inline-flex items-center py-2.5 px-3 ml-2 text-sm font-medium text-white bg-blue-700 rounded-lg border border-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800';
54
+ @prop export let voiceBtnClass: string = 'flex absolute inset-y-0 right-0 items-center pr-3';
55
+ @prop export let voiceIconClass: string = 'w-4 h-4 text-gray-500 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white';
56
+ @prop export let placeholder: string = 'Search Mockups, Logos, Design Templates...';
57
+ -->
@@ -0,0 +1,31 @@
1
+ <script lang="ts">
2
+ import type { ImgType } from '$lib/types';
3
+ import { twMerge } from 'tailwind-merge';
4
+
5
+ export let items: ImgType[] = [];
6
+ export let imgClass: string = 'h-auto max-w-full rounded-lg';
7
+
8
+ $: divClass = twMerge('grid', $$props.class);
9
+
10
+ function init(node: HTMLElement) {
11
+ if (getComputedStyle(node).gap === 'normal') node.style.gap = 'inherit';
12
+ }
13
+ </script>
14
+
15
+ <div {...$$restProps} class={divClass} use:init>
16
+ {#each items as item}
17
+ <slot {item}>
18
+ <div><img src={item.src} alt={item.alt} class={twMerge(imgClass, $$props.classImg)} /></div>
19
+ </slot>
20
+ {:else}
21
+ <slot item={items[0]} />
22
+ {/each}
23
+ </div>
24
+
25
+ <!--
26
+ @component
27
+ [Go to docs](https://flowbite-svelte.com/)
28
+ ## Props
29
+ @prop export let items: ImgType[] = [];
30
+ @prop export let imgClass: string = 'h-auto max-w-full rounded-lg';
31
+ -->