@pajohns/flowbite-svelte 0.1.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 (721) hide show
  1. package/License +22 -0
  2. package/README.md +471 -0
  3. package/dist/accordion/Accordion.svelte +58 -0
  4. package/dist/accordion/Accordion.svelte.d.ts +18 -0
  5. package/dist/accordion/AccordionItem.svelte +131 -0
  6. package/dist/accordion/AccordionItem.svelte.d.ts +23 -0
  7. package/dist/accordion/index.d.ts +3 -0
  8. package/dist/accordion/index.js +3 -0
  9. package/dist/accordion/theme.d.ts +96 -0
  10. package/dist/accordion/theme.js +59 -0
  11. package/dist/alert/Alert.svelte +94 -0
  12. package/dist/alert/Alert.svelte.d.ts +22 -0
  13. package/dist/alert/index.d.ts +2 -0
  14. package/dist/alert/index.js +2 -0
  15. package/dist/alert/theme.d.ts +108 -0
  16. package/dist/alert/theme.js +149 -0
  17. package/dist/avatar/Avatar.svelte +68 -0
  18. package/dist/avatar/Avatar.svelte.d.ts +24 -0
  19. package/dist/avatar/index.d.ts +2 -0
  20. package/dist/avatar/index.js +2 -0
  21. package/dist/avatar/theme.d.ts +63 -0
  22. package/dist/avatar/theme.js +31 -0
  23. package/dist/badge/Badge.svelte +98 -0
  24. package/dist/badge/Badge.svelte.d.ts +26 -0
  25. package/dist/badge/index.d.ts +2 -0
  26. package/dist/badge/index.js +2 -0
  27. package/dist/badge/theme.d.ts +247 -0
  28. package/dist/badge/theme.js +250 -0
  29. package/dist/banner/Banner.svelte +85 -0
  30. package/dist/banner/Banner.svelte.d.ts +24 -0
  31. package/dist/banner/index.d.ts +2 -0
  32. package/dist/banner/index.js +2 -0
  33. package/dist/banner/theme.d.ts +229 -0
  34. package/dist/banner/theme.js +45 -0
  35. package/dist/bottom-navigation/BottomNav.svelte +70 -0
  36. package/dist/bottom-navigation/BottomNav.svelte.d.ts +21 -0
  37. package/dist/bottom-navigation/BottomNavHeader.svelte +42 -0
  38. package/dist/bottom-navigation/BottomNavHeader.svelte.d.ts +16 -0
  39. package/dist/bottom-navigation/BottomNavHeaderItem.svelte +29 -0
  40. package/dist/bottom-navigation/BottomNavHeaderItem.svelte.d.ts +14 -0
  41. package/dist/bottom-navigation/BottomNavItem.svelte +94 -0
  42. package/dist/bottom-navigation/BottomNavItem.svelte.d.ts +20 -0
  43. package/dist/bottom-navigation/index.d.ts +5 -0
  44. package/dist/bottom-navigation/index.js +5 -0
  45. package/dist/bottom-navigation/theme.d.ts +349 -0
  46. package/dist/bottom-navigation/theme.js +113 -0
  47. package/dist/breadcrumb/Breadcrumb.svelte +44 -0
  48. package/dist/breadcrumb/Breadcrumb.svelte.d.ts +17 -0
  49. package/dist/breadcrumb/BreadcrumbItem.svelte +73 -0
  50. package/dist/breadcrumb/BreadcrumbItem.svelte.d.ts +20 -0
  51. package/dist/breadcrumb/index.d.ts +3 -0
  52. package/dist/breadcrumb/index.js +3 -0
  53. package/dist/breadcrumb/theme.d.ts +72 -0
  54. package/dist/breadcrumb/theme.js +57 -0
  55. package/dist/button-group/ButtonGroup.svelte +43 -0
  56. package/dist/button-group/ButtonGroup.svelte.d.ts +15 -0
  57. package/dist/button-group/index.d.ts +2 -0
  58. package/dist/button-group/index.js +2 -0
  59. package/dist/button-group/theme.d.ts +21 -0
  60. package/dist/button-group/theme.js +14 -0
  61. package/dist/buttons/Button.svelte +74 -0
  62. package/dist/buttons/Button.svelte.d.ts +22 -0
  63. package/dist/buttons/GradientButton.svelte +47 -0
  64. package/dist/buttons/GradientButton.svelte.d.ts +21 -0
  65. package/dist/buttons/index.d.ts +3 -0
  66. package/dist/buttons/index.js +3 -0
  67. package/dist/buttons/theme.d.ts +707 -0
  68. package/dist/buttons/theme.js +303 -0
  69. package/dist/card/Card.svelte +79 -0
  70. package/dist/card/Card.svelte.d.ts +21 -0
  71. package/dist/card/index.d.ts +2 -0
  72. package/dist/card/index.js +2 -0
  73. package/dist/card/theme.d.ts +403 -0
  74. package/dist/card/theme.js +186 -0
  75. package/dist/carousel/Carousel.svelte +242 -0
  76. package/dist/carousel/Carousel.svelte.d.ts +26 -0
  77. package/dist/carousel/CarouselIndicators.svelte +48 -0
  78. package/dist/carousel/CarouselIndicators.svelte.d.ts +16 -0
  79. package/dist/carousel/CarouselSlide.d.ts +5 -0
  80. package/dist/carousel/CarouselSlide.js +7 -0
  81. package/dist/carousel/ControlButton.svelte +47 -0
  82. package/dist/carousel/ControlButton.svelte.d.ts +16 -0
  83. package/dist/carousel/Controls.svelte +37 -0
  84. package/dist/carousel/Controls.svelte.d.ts +13 -0
  85. package/dist/carousel/Slide.svelte +55 -0
  86. package/dist/carousel/Slide.svelte.d.ts +15 -0
  87. package/dist/carousel/Thumbnail.svelte +23 -0
  88. package/dist/carousel/Thumbnail.svelte.d.ts +13 -0
  89. package/dist/carousel/Thumbnails.svelte +59 -0
  90. package/dist/carousel/Thumbnails.svelte.d.ts +17 -0
  91. package/dist/carousel/index.d.ts +8 -0
  92. package/dist/carousel/index.js +8 -0
  93. package/dist/carousel/theme.d.ts +142 -0
  94. package/dist/carousel/theme.js +68 -0
  95. package/dist/clipboard/Clipboard.svelte +58 -0
  96. package/dist/clipboard/Clipboard.svelte.d.ts +17 -0
  97. package/dist/clipboard/index.d.ts +2 -0
  98. package/dist/clipboard/index.js +2 -0
  99. package/dist/clipboard/theme.d.ts +18 -0
  100. package/dist/clipboard/theme.js +13 -0
  101. package/dist/clipboard-manager/ClipboardManager.svelte +496 -0
  102. package/dist/clipboard-manager/ClipboardManager.svelte.d.ts +4 -0
  103. package/dist/clipboard-manager/index.d.ts +2 -0
  104. package/dist/clipboard-manager/index.js +2 -0
  105. package/dist/clipboard-manager/theme.d.ts +169 -0
  106. package/dist/clipboard-manager/theme.js +73 -0
  107. package/dist/command-palette/CommandPalette.svelte +209 -0
  108. package/dist/command-palette/CommandPalette.svelte.d.ts +20 -0
  109. package/dist/command-palette/index.d.ts +1 -0
  110. package/dist/command-palette/index.js +1 -0
  111. package/dist/command-palette/theme.d.ts +43 -0
  112. package/dist/command-palette/theme.js +17 -0
  113. package/dist/context.d.ts +50 -0
  114. package/dist/context.js +71 -0
  115. package/dist/darkmode/DarkMode.svelte +75 -0
  116. package/dist/darkmode/DarkMode.svelte.d.ts +16 -0
  117. package/dist/darkmode/index.d.ts +2 -0
  118. package/dist/darkmode/index.js +2 -0
  119. package/dist/darkmode/theme.d.ts +1 -0
  120. package/dist/darkmode/theme.js +4 -0
  121. package/dist/datepicker/Datepicker.svelte +589 -0
  122. package/dist/datepicker/Datepicker.svelte.d.ts +42 -0
  123. package/dist/datepicker/index.d.ts +2 -0
  124. package/dist/datepicker/index.js +2 -0
  125. package/dist/datepicker/theme.d.ts +388 -0
  126. package/dist/datepicker/theme.js +57 -0
  127. package/dist/device-mockups/Android.svelte +60 -0
  128. package/dist/device-mockups/Android.svelte.d.ts +21 -0
  129. package/dist/device-mockups/DefaultMockup.svelte +57 -0
  130. package/dist/device-mockups/DefaultMockup.svelte.d.ts +20 -0
  131. package/dist/device-mockups/Desktop.svelte +51 -0
  132. package/dist/device-mockups/Desktop.svelte.d.ts +18 -0
  133. package/dist/device-mockups/DeviceMockup.svelte +39 -0
  134. package/dist/device-mockups/DeviceMockup.svelte.d.ts +13 -0
  135. package/dist/device-mockups/Ios.svelte +57 -0
  136. package/dist/device-mockups/Ios.svelte.d.ts +20 -0
  137. package/dist/device-mockups/Laptop.svelte +55 -0
  138. package/dist/device-mockups/Laptop.svelte.d.ts +18 -0
  139. package/dist/device-mockups/Smartwatch.svelte +58 -0
  140. package/dist/device-mockups/Smartwatch.svelte.d.ts +20 -0
  141. package/dist/device-mockups/Tablet.svelte +57 -0
  142. package/dist/device-mockups/Tablet.svelte.d.ts +20 -0
  143. package/dist/device-mockups/index.d.ts +9 -0
  144. package/dist/device-mockups/index.js +9 -0
  145. package/dist/device-mockups/theme.d.ts +377 -0
  146. package/dist/device-mockups/theme.js +76 -0
  147. package/dist/dialog/Dialog.svelte +200 -0
  148. package/dist/dialog/Dialog.svelte.d.ts +28 -0
  149. package/dist/dialog/index.d.ts +2 -0
  150. package/dist/dialog/index.js +2 -0
  151. package/dist/dialog/theme.d.ts +16 -0
  152. package/dist/dialog/theme.js +17 -0
  153. package/dist/drawer/Drawer.svelte +163 -0
  154. package/dist/drawer/Drawer.svelte.d.ts +24 -0
  155. package/dist/drawer/DrawerHandle.svelte +33 -0
  156. package/dist/drawer/DrawerHandle.svelte.d.ts +16 -0
  157. package/dist/drawer/Drawerhead.svelte +52 -0
  158. package/dist/drawer/Drawerhead.svelte.d.ts +17 -0
  159. package/dist/drawer/index.d.ts +4 -0
  160. package/dist/drawer/index.js +4 -0
  161. package/dist/drawer/theme.d.ts +167 -0
  162. package/dist/drawer/theme.js +82 -0
  163. package/dist/dropdown/Dropdown.svelte +53 -0
  164. package/dist/dropdown/Dropdown.svelte.d.ts +19 -0
  165. package/dist/dropdown/DropdownDivider.svelte +22 -0
  166. package/dist/dropdown/DropdownDivider.svelte.d.ts +12 -0
  167. package/dist/dropdown/DropdownGroup.svelte +25 -0
  168. package/dist/dropdown/DropdownGroup.svelte.d.ts +13 -0
  169. package/dist/dropdown/DropdownHeader.svelte +25 -0
  170. package/dist/dropdown/DropdownHeader.svelte.d.ts +13 -0
  171. package/dist/dropdown/DropdownItem.svelte +60 -0
  172. package/dist/dropdown/DropdownItem.svelte.d.ts +19 -0
  173. package/dist/dropdown/index.d.ts +6 -0
  174. package/dist/dropdown/index.js +6 -0
  175. package/dist/dropdown/theme.d.ts +44 -0
  176. package/dist/dropdown/theme.js +20 -0
  177. package/dist/footer/Footer.svelte +28 -0
  178. package/dist/footer/Footer.svelte.d.ts +14 -0
  179. package/dist/footer/FooterBrand.svelte +45 -0
  180. package/dist/footer/FooterBrand.svelte.d.ts +19 -0
  181. package/dist/footer/FooterCopyright.svelte +55 -0
  182. package/dist/footer/FooterCopyright.svelte.d.ts +20 -0
  183. package/dist/footer/FooterIcon.svelte +31 -0
  184. package/dist/footer/FooterIcon.svelte.d.ts +15 -0
  185. package/dist/footer/FooterLink.svelte +43 -0
  186. package/dist/footer/FooterLink.svelte.d.ts +17 -0
  187. package/dist/footer/FooterLinkGroup.svelte +25 -0
  188. package/dist/footer/FooterLinkGroup.svelte.d.ts +13 -0
  189. package/dist/footer/index.d.ts +7 -0
  190. package/dist/footer/index.js +7 -0
  191. package/dist/footer/theme.d.ts +137 -0
  192. package/dist/footer/theme.js +39 -0
  193. package/dist/forms/button-toggle/ButtonToggle.svelte +98 -0
  194. package/dist/forms/button-toggle/ButtonToggle.svelte.d.ts +21 -0
  195. package/dist/forms/button-toggle/ButtonToggleGroup.svelte +115 -0
  196. package/dist/forms/button-toggle/ButtonToggleGroup.svelte.d.ts +4 -0
  197. package/dist/forms/button-toggle/CheckIcon.svelte +31 -0
  198. package/dist/forms/button-toggle/CheckIcon.svelte.d.ts +12 -0
  199. package/dist/forms/button-toggle/index.d.ts +4 -0
  200. package/dist/forms/button-toggle/index.js +4 -0
  201. package/dist/forms/button-toggle/theme.d.ts +347 -0
  202. package/dist/forms/button-toggle/theme.js +129 -0
  203. package/dist/forms/checkbox/Checkbox.svelte +84 -0
  204. package/dist/forms/checkbox/Checkbox.svelte.d.ts +4 -0
  205. package/dist/forms/checkbox/CheckboxButton.svelte +38 -0
  206. package/dist/forms/checkbox/CheckboxButton.svelte.d.ts +21 -0
  207. package/dist/forms/checkbox/index.d.ts +3 -0
  208. package/dist/forms/checkbox/index.js +3 -0
  209. package/dist/forms/checkbox/theme.d.ts +321 -0
  210. package/dist/forms/checkbox/theme.js +114 -0
  211. package/dist/forms/dropzone/Dropzone.svelte +64 -0
  212. package/dist/forms/dropzone/Dropzone.svelte.d.ts +17 -0
  213. package/dist/forms/dropzone/index.d.ts +2 -0
  214. package/dist/forms/dropzone/index.js +2 -0
  215. package/dist/forms/dropzone/theme.d.ts +1 -0
  216. package/dist/forms/dropzone/theme.js +4 -0
  217. package/dist/forms/fileupload/Fileupload.svelte +73 -0
  218. package/dist/forms/fileupload/Fileupload.svelte.d.ts +22 -0
  219. package/dist/forms/fileupload/index.d.ts +2 -0
  220. package/dist/forms/fileupload/index.js +2 -0
  221. package/dist/forms/fileupload/theme.d.ts +55 -0
  222. package/dist/forms/fileupload/theme.js +16 -0
  223. package/dist/forms/floating-label/FloatingLabelInput.svelte +240 -0
  224. package/dist/forms/floating-label/FloatingLabelInput.svelte.d.ts +32 -0
  225. package/dist/forms/floating-label/index.d.ts +2 -0
  226. package/dist/forms/floating-label/index.js +2 -0
  227. package/dist/forms/floating-label/theme.d.ts +349 -0
  228. package/dist/forms/floating-label/theme.js +182 -0
  229. package/dist/forms/helper/Helper.svelte +28 -0
  230. package/dist/forms/helper/Helper.svelte.d.ts +14 -0
  231. package/dist/forms/helper/index.d.ts +2 -0
  232. package/dist/forms/helper/index.js +2 -0
  233. package/dist/forms/helper/theme.d.ts +75 -0
  234. package/dist/forms/helper/theme.js +29 -0
  235. package/dist/forms/input-addon/InputAddon.svelte +64 -0
  236. package/dist/forms/input-addon/InputAddon.svelte.d.ts +14 -0
  237. package/dist/forms/input-addon/index.d.ts +1 -0
  238. package/dist/forms/input-addon/index.js +1 -0
  239. package/dist/forms/input-field/Input.svelte +309 -0
  240. package/dist/forms/input-field/Input.svelte.d.ts +4 -0
  241. package/dist/forms/input-field/index.d.ts +4 -0
  242. package/dist/forms/input-field/index.js +5 -0
  243. package/dist/forms/input-field/theme.d.ts +304 -0
  244. package/dist/forms/input-field/theme.js +100 -0
  245. package/dist/forms/label/Label.svelte +33 -0
  246. package/dist/forms/label/Label.svelte.d.ts +15 -0
  247. package/dist/forms/label/index.d.ts +2 -0
  248. package/dist/forms/label/index.js +2 -0
  249. package/dist/forms/label/theme.d.ts +75 -0
  250. package/dist/forms/label/theme.js +29 -0
  251. package/dist/forms/phoneinput/PhoneInput.svelte +51 -0
  252. package/dist/forms/phoneinput/PhoneInput.svelte.d.ts +4 -0
  253. package/dist/forms/phoneinput/index.d.ts +2 -0
  254. package/dist/forms/phoneinput/index.js +2 -0
  255. package/dist/forms/phoneinput/theme.d.ts +79 -0
  256. package/dist/forms/phoneinput/theme.js +28 -0
  257. package/dist/forms/radio/Radio.svelte +49 -0
  258. package/dist/forms/radio/Radio.svelte.d.ts +30 -0
  259. package/dist/forms/radio/RadioButton.svelte +26 -0
  260. package/dist/forms/radio/RadioButton.svelte.d.ts +30 -0
  261. package/dist/forms/radio/index.d.ts +3 -0
  262. package/dist/forms/radio/index.js +3 -0
  263. package/dist/forms/radio/theme.d.ts +290 -0
  264. package/dist/forms/radio/theme.js +95 -0
  265. package/dist/forms/range/Range.svelte +29 -0
  266. package/dist/forms/range/Range.svelte.d.ts +17 -0
  267. package/dist/forms/range/index.d.ts +2 -0
  268. package/dist/forms/range/index.js +2 -0
  269. package/dist/forms/range/theme.d.ts +66 -0
  270. package/dist/forms/range/theme.js +74 -0
  271. package/dist/forms/search/Search.svelte +87 -0
  272. package/dist/forms/search/Search.svelte.d.ts +24 -0
  273. package/dist/forms/search/index.d.ts +2 -0
  274. package/dist/forms/search/index.js +2 -0
  275. package/dist/forms/search/theme.d.ts +73 -0
  276. package/dist/forms/search/theme.js +34 -0
  277. package/dist/forms/select/MultiSelect.svelte +271 -0
  278. package/dist/forms/select/MultiSelect.svelte.d.ts +25 -0
  279. package/dist/forms/select/Select.svelte +82 -0
  280. package/dist/forms/select/Select.svelte.d.ts +25 -0
  281. package/dist/forms/select/index.d.ts +3 -0
  282. package/dist/forms/select/index.js +3 -0
  283. package/dist/forms/select/theme.d.ts +264 -0
  284. package/dist/forms/select/theme.js +99 -0
  285. package/dist/forms/tags/Tags.svelte +245 -0
  286. package/dist/forms/tags/Tags.svelte.d.ts +25 -0
  287. package/dist/forms/tags/index.d.ts +2 -0
  288. package/dist/forms/tags/index.js +2 -0
  289. package/dist/forms/tags/theme.d.ts +70 -0
  290. package/dist/forms/tags/theme.js +13 -0
  291. package/dist/forms/textarea/Textarea.svelte +128 -0
  292. package/dist/forms/textarea/Textarea.svelte.d.ts +30 -0
  293. package/dist/forms/textarea/index.d.ts +2 -0
  294. package/dist/forms/textarea/index.js +2 -0
  295. package/dist/forms/textarea/theme.d.ts +100 -0
  296. package/dist/forms/textarea/theme.js +37 -0
  297. package/dist/forms/timepicker/Timepicker.svelte +436 -0
  298. package/dist/forms/timepicker/Timepicker.svelte.d.ts +34 -0
  299. package/dist/forms/timepicker/index.d.ts +2 -0
  300. package/dist/forms/timepicker/index.js +2 -0
  301. package/dist/forms/timepicker/theme.d.ts +190 -0
  302. package/dist/forms/timepicker/theme.js +72 -0
  303. package/dist/forms/toggle/Toggle.svelte +53 -0
  304. package/dist/forms/toggle/Toggle.svelte.d.ts +22 -0
  305. package/dist/forms/toggle/index.d.ts +2 -0
  306. package/dist/forms/toggle/index.js +2 -0
  307. package/dist/forms/toggle/theme.d.ts +280 -0
  308. package/dist/forms/toggle/theme.js +97 -0
  309. package/dist/gallery/Gallery.svelte +60 -0
  310. package/dist/gallery/Gallery.svelte.d.ts +17 -0
  311. package/dist/gallery/index.d.ts +2 -0
  312. package/dist/gallery/index.js +2 -0
  313. package/dist/gallery/theme.d.ts +34 -0
  314. package/dist/gallery/theme.js +7 -0
  315. package/dist/index.d.ts +89 -0
  316. package/dist/index.js +97 -0
  317. package/dist/indicator/Indicator.svelte +47 -0
  318. package/dist/indicator/Indicator.svelte.d.ts +19 -0
  319. package/dist/indicator/index.d.ts +2 -0
  320. package/dist/indicator/index.js +2 -0
  321. package/dist/indicator/theme.d.ts +177 -0
  322. package/dist/indicator/theme.js +114 -0
  323. package/dist/kanban/KanbanBoard.svelte +99 -0
  324. package/dist/kanban/KanbanBoard.svelte.d.ts +4 -0
  325. package/dist/kanban/KanbanCard.svelte +58 -0
  326. package/dist/kanban/KanbanCard.svelte.d.ts +16 -0
  327. package/dist/kanban/index.d.ts +3 -0
  328. package/dist/kanban/index.js +3 -0
  329. package/dist/kanban/theme.d.ts +108 -0
  330. package/dist/kanban/theme.js +43 -0
  331. package/dist/kbd/Kbd.svelte +27 -0
  332. package/dist/kbd/Kbd.svelte.d.ts +13 -0
  333. package/dist/kbd/index.d.ts +2 -0
  334. package/dist/kbd/index.js +2 -0
  335. package/dist/kbd/theme.d.ts +1 -0
  336. package/dist/kbd/theme.js +4 -0
  337. package/dist/list-group/Listgroup.svelte +71 -0
  338. package/dist/list-group/Listgroup.svelte.d.ts +21 -0
  339. package/dist/list-group/ListgroupItem.svelte +61 -0
  340. package/dist/list-group/ListgroupItem.svelte.d.ts +20 -0
  341. package/dist/list-group/index.d.ts +3 -0
  342. package/dist/list-group/index.js +3 -0
  343. package/dist/list-group/theme.d.ts +86 -0
  344. package/dist/list-group/theme.js +67 -0
  345. package/dist/mega-menu/MegaMenu.svelte +53 -0
  346. package/dist/mega-menu/MegaMenu.svelte.d.ts +20 -0
  347. package/dist/mega-menu/index.d.ts +2 -0
  348. package/dist/mega-menu/index.js +2 -0
  349. package/dist/mega-menu/theme.d.ts +46 -0
  350. package/dist/mega-menu/theme.js +24 -0
  351. package/dist/modal/Modal.svelte +107 -0
  352. package/dist/modal/Modal.svelte.d.ts +29 -0
  353. package/dist/modal/index.d.ts +2 -0
  354. package/dist/modal/index.js +2 -0
  355. package/dist/modal/theme.d.ts +82 -0
  356. package/dist/modal/theme.js +42 -0
  357. package/dist/navbar/Menu.svelte +46 -0
  358. package/dist/navbar/Menu.svelte.d.ts +16 -0
  359. package/dist/navbar/NavBrand.svelte +25 -0
  360. package/dist/navbar/NavBrand.svelte.d.ts +12 -0
  361. package/dist/navbar/NavContainer.svelte +26 -0
  362. package/dist/navbar/NavContainer.svelte.d.ts +14 -0
  363. package/dist/navbar/NavHamburger.svelte +50 -0
  364. package/dist/navbar/NavHamburger.svelte.d.ts +131 -0
  365. package/dist/navbar/NavLi.svelte +62 -0
  366. package/dist/navbar/NavLi.svelte.d.ts +16 -0
  367. package/dist/navbar/NavUl.svelte +108 -0
  368. package/dist/navbar/NavUl.svelte.d.ts +22 -0
  369. package/dist/navbar/Navbar.svelte +59 -0
  370. package/dist/navbar/Navbar.svelte.d.ts +17 -0
  371. package/dist/navbar/index.d.ts +7 -0
  372. package/dist/navbar/index.js +7 -0
  373. package/dist/navbar/theme.d.ts +233 -0
  374. package/dist/navbar/theme.js +160 -0
  375. package/dist/pagination/Pagination.svelte +81 -0
  376. package/dist/pagination/Pagination.svelte.d.ts +19 -0
  377. package/dist/pagination/PaginationButton.svelte +75 -0
  378. package/dist/pagination/PaginationButton.svelte.d.ts +18 -0
  379. package/dist/pagination/PaginationItem.svelte +52 -0
  380. package/dist/pagination/PaginationItem.svelte.d.ts +16 -0
  381. package/dist/pagination/PaginationNav.svelte +149 -0
  382. package/dist/pagination/PaginationNav.svelte.d.ts +28 -0
  383. package/dist/pagination/index.d.ts +5 -0
  384. package/dist/pagination/index.js +5 -0
  385. package/dist/pagination/theme.d.ts +228 -0
  386. package/dist/pagination/theme.js +118 -0
  387. package/dist/popover/Popover.svelte +66 -0
  388. package/dist/popover/Popover.svelte.d.ts +21 -0
  389. package/dist/popover/index.d.ts +2 -0
  390. package/dist/popover/index.js +2 -0
  391. package/dist/popover/theme.d.ts +280 -0
  392. package/dist/popover/theme.js +97 -0
  393. package/dist/progress/Progressbar.svelte +85 -0
  394. package/dist/progress/Progressbar.svelte.d.ts +22 -0
  395. package/dist/progress/Progressradial.svelte +113 -0
  396. package/dist/progress/Progressradial.svelte.d.ts +25 -0
  397. package/dist/progress/index.d.ts +3 -0
  398. package/dist/progress/index.js +3 -0
  399. package/dist/progress/theme.d.ts +570 -0
  400. package/dist/progress/theme.js +214 -0
  401. package/dist/rating/AdvancedRating.svelte +63 -0
  402. package/dist/rating/AdvancedRating.svelte.d.ts +21 -0
  403. package/dist/rating/CustomIcon.svelte +57 -0
  404. package/dist/rating/CustomIcon.svelte.d.ts +21 -0
  405. package/dist/rating/Heart.svelte +60 -0
  406. package/dist/rating/Heart.svelte.d.ts +20 -0
  407. package/dist/rating/Rating.svelte +70 -0
  408. package/dist/rating/Rating.svelte.d.ts +21 -0
  409. package/dist/rating/RatingComment.svelte +73 -0
  410. package/dist/rating/RatingComment.svelte.d.ts +15 -0
  411. package/dist/rating/Review.svelte +119 -0
  412. package/dist/rating/Review.svelte.d.ts +24 -0
  413. package/dist/rating/ScoreRating.svelte +78 -0
  414. package/dist/rating/ScoreRating.svelte.d.ts +14 -0
  415. package/dist/rating/Star.svelte +61 -0
  416. package/dist/rating/Star.svelte.d.ts +20 -0
  417. package/dist/rating/Thumbup.svelte +60 -0
  418. package/dist/rating/Thumbup.svelte.d.ts +20 -0
  419. package/dist/rating/index.d.ts +10 -0
  420. package/dist/rating/index.js +10 -0
  421. package/dist/rating/theme.d.ts +202 -0
  422. package/dist/rating/theme.js +38 -0
  423. package/dist/scroll-spy/ScrollSpy.svelte +276 -0
  424. package/dist/scroll-spy/ScrollSpy.svelte.d.ts +23 -0
  425. package/dist/scroll-spy/index.d.ts +2 -0
  426. package/dist/scroll-spy/index.js +2 -0
  427. package/dist/scroll-spy/theme.d.ts +148 -0
  428. package/dist/scroll-spy/theme.js +66 -0
  429. package/dist/sidebar/Sidebar.svelte +169 -0
  430. package/dist/sidebar/Sidebar.svelte.d.ts +31 -0
  431. package/dist/sidebar/SidebarBrand.svelte +50 -0
  432. package/dist/sidebar/SidebarBrand.svelte.d.ts +17 -0
  433. package/dist/sidebar/SidebarButton.svelte +35 -0
  434. package/dist/sidebar/SidebarButton.svelte.d.ts +14 -0
  435. package/dist/sidebar/SidebarCta.svelte +52 -0
  436. package/dist/sidebar/SidebarCta.svelte.d.ts +18 -0
  437. package/dist/sidebar/SidebarDropdownWrapper.svelte +126 -0
  438. package/dist/sidebar/SidebarDropdownWrapper.svelte.d.ts +26 -0
  439. package/dist/sidebar/SidebarGroup.svelte +23 -0
  440. package/dist/sidebar/SidebarGroup.svelte.d.ts +15 -0
  441. package/dist/sidebar/SidebarItem.svelte +46 -0
  442. package/dist/sidebar/SidebarItem.svelte.d.ts +21 -0
  443. package/dist/sidebar/SidebarWrapper.svelte +15 -0
  444. package/dist/sidebar/SidebarWrapper.svelte.d.ts +9 -0
  445. package/dist/sidebar/index.d.ts +10 -0
  446. package/dist/sidebar/index.js +10 -0
  447. package/dist/sidebar/theme.d.ts +312 -0
  448. package/dist/sidebar/theme.js +81 -0
  449. package/dist/skeleton/CardPlaceholder.svelte +50 -0
  450. package/dist/skeleton/CardPlaceholder.svelte.d.ts +14 -0
  451. package/dist/skeleton/ImagePlaceholder.svelte +81 -0
  452. package/dist/skeleton/ImagePlaceholder.svelte.d.ts +16 -0
  453. package/dist/skeleton/ListPlaceholder.svelte +61 -0
  454. package/dist/skeleton/ListPlaceholder.svelte.d.ts +16 -0
  455. package/dist/skeleton/Skeleton.svelte +51 -0
  456. package/dist/skeleton/Skeleton.svelte.d.ts +14 -0
  457. package/dist/skeleton/TestimonialPlaceholder.svelte +60 -0
  458. package/dist/skeleton/TestimonialPlaceholder.svelte.d.ts +13 -0
  459. package/dist/skeleton/TextPlaceholder.svelte +86 -0
  460. package/dist/skeleton/TextPlaceholder.svelte.d.ts +14 -0
  461. package/dist/skeleton/VideoPlaceholder.svelte +31 -0
  462. package/dist/skeleton/VideoPlaceholder.svelte.d.ts +12 -0
  463. package/dist/skeleton/WidgetPlaceholder.svelte +37 -0
  464. package/dist/skeleton/WidgetPlaceholder.svelte.d.ts +12 -0
  465. package/dist/skeleton/index.d.ts +9 -0
  466. package/dist/skeleton/index.js +9 -0
  467. package/dist/skeleton/theme.d.ts +585 -0
  468. package/dist/skeleton/theme.js +178 -0
  469. package/dist/speed-dial/SpeedDial.svelte +70 -0
  470. package/dist/speed-dial/SpeedDial.svelte.d.ts +21 -0
  471. package/dist/speed-dial/SpeedDialButton.svelte +73 -0
  472. package/dist/speed-dial/SpeedDialButton.svelte.d.ts +20 -0
  473. package/dist/speed-dial/SpeedDialTrigger.svelte +57 -0
  474. package/dist/speed-dial/SpeedDialTrigger.svelte.d.ts +18 -0
  475. package/dist/speed-dial/index.d.ts +4 -0
  476. package/dist/speed-dial/index.js +4 -0
  477. package/dist/speed-dial/theme.d.ts +75 -0
  478. package/dist/speed-dial/theme.js +36 -0
  479. package/dist/spinner/Spinner.svelte +95 -0
  480. package/dist/spinner/Spinner.svelte.d.ts +17 -0
  481. package/dist/spinner/index.d.ts +2 -0
  482. package/dist/spinner/index.js +2 -0
  483. package/dist/spinner/theme.d.ts +120 -0
  484. package/dist/spinner/theme.js +49 -0
  485. package/dist/split-pane/Divider.svelte +50 -0
  486. package/dist/split-pane/Divider.svelte.d.ts +18 -0
  487. package/dist/split-pane/Pane.svelte +55 -0
  488. package/dist/split-pane/Pane.svelte.d.ts +13 -0
  489. package/dist/split-pane/SplitPane.svelte +401 -0
  490. package/dist/split-pane/SplitPane.svelte.d.ts +21 -0
  491. package/dist/split-pane/index.d.ts +4 -0
  492. package/dist/split-pane/index.js +4 -0
  493. package/dist/split-pane/theme.d.ts +65 -0
  494. package/dist/split-pane/theme.js +45 -0
  495. package/dist/step-indicator/StepIndicator.svelte +134 -0
  496. package/dist/step-indicator/StepIndicator.svelte.d.ts +23 -0
  497. package/dist/step-indicator/index.d.ts +2 -0
  498. package/dist/step-indicator/index.js +2 -0
  499. package/dist/step-indicator/theme.d.ts +248 -0
  500. package/dist/step-indicator/theme.js +103 -0
  501. package/dist/stepper/BreadcrumbStepper.svelte +147 -0
  502. package/dist/stepper/BreadcrumbStepper.svelte.d.ts +18 -0
  503. package/dist/stepper/CheckmarkIcon.svelte +92 -0
  504. package/dist/stepper/CheckmarkIcon.svelte.d.ts +18 -0
  505. package/dist/stepper/DetailedStepper.svelte +156 -0
  506. package/dist/stepper/DetailedStepper.svelte.d.ts +19 -0
  507. package/dist/stepper/DoubleArrowIcon.svelte +34 -0
  508. package/dist/stepper/DoubleArrowIcon.svelte.d.ts +15 -0
  509. package/dist/stepper/ProfileCardIcon.svelte +25 -0
  510. package/dist/stepper/ProfileCardIcon.svelte.d.ts +15 -0
  511. package/dist/stepper/ProgressStepper.svelte +162 -0
  512. package/dist/stepper/ProgressStepper.svelte.d.ts +18 -0
  513. package/dist/stepper/Stepper.svelte +119 -0
  514. package/dist/stepper/Stepper.svelte.d.ts +18 -0
  515. package/dist/stepper/TimelineStepper.svelte +122 -0
  516. package/dist/stepper/TimelineStepper.svelte.d.ts +19 -0
  517. package/dist/stepper/VerticalStepper.svelte +122 -0
  518. package/dist/stepper/VerticalStepper.svelte.d.ts +19 -0
  519. package/dist/stepper/index.d.ts +10 -0
  520. package/dist/stepper/index.js +10 -0
  521. package/dist/stepper/theme.d.ts +395 -0
  522. package/dist/stepper/theme.js +175 -0
  523. package/dist/table/Table.svelte +85 -0
  524. package/dist/table/Table.svelte.d.ts +23 -0
  525. package/dist/table/TableBody.svelte +42 -0
  526. package/dist/table/TableBody.svelte.d.ts +14 -0
  527. package/dist/table/TableBodyCell.svelte +35 -0
  528. package/dist/table/TableBodyCell.svelte.d.ts +15 -0
  529. package/dist/table/TableBodyRow.svelte +41 -0
  530. package/dist/table/TableBodyRow.svelte.d.ts +17 -0
  531. package/dist/table/TableHead.svelte +67 -0
  532. package/dist/table/TableHead.svelte.d.ts +19 -0
  533. package/dist/table/TableHeadCell.svelte +27 -0
  534. package/dist/table/TableHeadCell.svelte.d.ts +13 -0
  535. package/dist/table/TableSearch.svelte +121 -0
  536. package/dist/table/TableSearch.svelte.d.ts +29 -0
  537. package/dist/table/index.d.ts +8 -0
  538. package/dist/table/index.js +8 -0
  539. package/dist/table/theme.d.ts +593 -0
  540. package/dist/table/theme.js +440 -0
  541. package/dist/tabs/TabItem.svelte +86 -0
  542. package/dist/tabs/TabItem.svelte.d.ts +22 -0
  543. package/dist/tabs/Tabs.svelte +109 -0
  544. package/dist/tabs/Tabs.svelte.d.ts +19 -0
  545. package/dist/tabs/index.d.ts +3 -0
  546. package/dist/tabs/index.js +3 -0
  547. package/dist/tabs/theme.d.ts +135 -0
  548. package/dist/tabs/theme.js +83 -0
  549. package/dist/theme/ThemeProvider.svelte +37 -0
  550. package/dist/theme/ThemeProvider.svelte.d.ts +17 -0
  551. package/dist/theme/index.d.ts +8 -0
  552. package/dist/theme/index.js +2 -0
  553. package/dist/theme/themeUtils.d.ts +24 -0
  554. package/dist/theme/themeUtils.js +74 -0
  555. package/dist/theme/themes.d.ts +78 -0
  556. package/dist/theme/themes.js +84 -0
  557. package/dist/timeline/Activity.svelte +25 -0
  558. package/dist/timeline/Activity.svelte.d.ts +13 -0
  559. package/dist/timeline/ActivityItem.svelte +81 -0
  560. package/dist/timeline/ActivityItem.svelte.d.ts +22 -0
  561. package/dist/timeline/Group.svelte +51 -0
  562. package/dist/timeline/Group.svelte.d.ts +18 -0
  563. package/dist/timeline/GroupItem.svelte +90 -0
  564. package/dist/timeline/GroupItem.svelte.d.ts +19 -0
  565. package/dist/timeline/Timeline.svelte +30 -0
  566. package/dist/timeline/Timeline.svelte.d.ts +14 -0
  567. package/dist/timeline/TimelineItem.svelte +156 -0
  568. package/dist/timeline/TimelineItem.svelte.d.ts +28 -0
  569. package/dist/timeline/index.d.ts +7 -0
  570. package/dist/timeline/index.js +7 -0
  571. package/dist/timeline/theme.d.ts +367 -0
  572. package/dist/timeline/theme.js +287 -0
  573. package/dist/toast/Toast.svelte +97 -0
  574. package/dist/toast/Toast.svelte.d.ts +24 -0
  575. package/dist/toast/ToastContainer.svelte +35 -0
  576. package/dist/toast/ToastContainer.svelte.d.ts +14 -0
  577. package/dist/toast/index.d.ts +3 -0
  578. package/dist/toast/index.js +3 -0
  579. package/dist/toast/theme.d.ts +323 -0
  580. package/dist/toast/theme.js +103 -0
  581. package/dist/toolbar/Toolbar.svelte +64 -0
  582. package/dist/toolbar/Toolbar.svelte.d.ts +17 -0
  583. package/dist/toolbar/ToolbarButton.svelte +46 -0
  584. package/dist/toolbar/ToolbarButton.svelte.d.ts +17 -0
  585. package/dist/toolbar/ToolbarGroup.svelte +35 -0
  586. package/dist/toolbar/ToolbarGroup.svelte.d.ts +16 -0
  587. package/dist/toolbar/index.d.ts +4 -0
  588. package/dist/toolbar/index.js +4 -0
  589. package/dist/toolbar/theme.d.ts +320 -0
  590. package/dist/toolbar/theme.js +155 -0
  591. package/dist/tooltip/Tooltip.svelte +51 -0
  592. package/dist/tooltip/Tooltip.svelte.d.ts +20 -0
  593. package/dist/tooltip/index.d.ts +2 -0
  594. package/dist/tooltip/index.js +2 -0
  595. package/dist/tooltip/theme.d.ts +90 -0
  596. package/dist/tooltip/theme.js +45 -0
  597. package/dist/tour/Tour.svelte +268 -0
  598. package/dist/tour/Tour.svelte.d.ts +4 -0
  599. package/dist/tour/index.d.ts +2 -0
  600. package/dist/tour/index.js +2 -0
  601. package/dist/tour/theme.d.ts +214 -0
  602. package/dist/tour/theme.js +79 -0
  603. package/dist/types.d.ts +2058 -0
  604. package/dist/types.js +1 -0
  605. package/dist/typography/a/A.svelte +55 -0
  606. package/dist/typography/a/A.svelte.d.ts +17 -0
  607. package/dist/typography/a/index.d.ts +2 -0
  608. package/dist/typography/a/index.js +2 -0
  609. package/dist/typography/a/theme.d.ts +72 -0
  610. package/dist/typography/a/theme.js +29 -0
  611. package/dist/typography/blockquote/Blockquote.svelte +41 -0
  612. package/dist/typography/blockquote/Blockquote.svelte.d.ts +18 -0
  613. package/dist/typography/blockquote/index.d.ts +2 -0
  614. package/dist/typography/blockquote/index.js +2 -0
  615. package/dist/typography/blockquote/theme.d.ts +102 -0
  616. package/dist/typography/blockquote/theme.js +45 -0
  617. package/dist/typography/descriptionlist/DescriptionList.svelte +33 -0
  618. package/dist/typography/descriptionlist/DescriptionList.svelte.d.ts +14 -0
  619. package/dist/typography/descriptionlist/index.d.ts +2 -0
  620. package/dist/typography/descriptionlist/index.js +2 -0
  621. package/dist/typography/descriptionlist/theme.d.ts +18 -0
  622. package/dist/typography/descriptionlist/theme.js +12 -0
  623. package/dist/typography/heading/Heading.svelte +28 -0
  624. package/dist/typography/heading/Heading.svelte.d.ts +14 -0
  625. package/dist/typography/heading/index.d.ts +2 -0
  626. package/dist/typography/heading/index.js +2 -0
  627. package/dist/typography/heading/theme.d.ts +30 -0
  628. package/dist/typography/heading/theme.js +17 -0
  629. package/dist/typography/hr/Hr.svelte +59 -0
  630. package/dist/typography/hr/Hr.svelte.d.ts +16 -0
  631. package/dist/typography/hr/index.d.ts +2 -0
  632. package/dist/typography/hr/index.js +2 -0
  633. package/dist/typography/hr/theme.d.ts +40 -0
  634. package/dist/typography/hr/theme.js +20 -0
  635. package/dist/typography/img/Img.svelte +78 -0
  636. package/dist/typography/img/Img.svelte.d.ts +21 -0
  637. package/dist/typography/img/index.d.ts +2 -0
  638. package/dist/typography/img/index.js +2 -0
  639. package/dist/typography/img/theme.d.ts +211 -0
  640. package/dist/typography/img/theme.js +42 -0
  641. package/dist/typography/layout/Layout.svelte +27 -0
  642. package/dist/typography/layout/Layout.svelte.d.ts +13 -0
  643. package/dist/typography/layout/index.d.ts +2 -0
  644. package/dist/typography/layout/index.js +2 -0
  645. package/dist/typography/layout/theme.d.ts +1 -0
  646. package/dist/typography/layout/theme.js +4 -0
  647. package/dist/typography/list/Li.svelte +27 -0
  648. package/dist/typography/list/Li.svelte.d.ts +14 -0
  649. package/dist/typography/list/List.svelte +48 -0
  650. package/dist/typography/list/List.svelte.d.ts +17 -0
  651. package/dist/typography/list/index.d.ts +3 -0
  652. package/dist/typography/list/index.js +3 -0
  653. package/dist/typography/list/theme.d.ts +33 -0
  654. package/dist/typography/list/theme.js +19 -0
  655. package/dist/typography/mark/Mark.svelte +25 -0
  656. package/dist/typography/mark/Mark.svelte.d.ts +13 -0
  657. package/dist/typography/mark/index.d.ts +2 -0
  658. package/dist/typography/mark/index.js +2 -0
  659. package/dist/typography/mark/theme.d.ts +1 -0
  660. package/dist/typography/mark/theme.js +4 -0
  661. package/dist/typography/paragraph/P.svelte +49 -0
  662. package/dist/typography/paragraph/P.svelte.d.ts +22 -0
  663. package/dist/typography/paragraph/index.d.ts +2 -0
  664. package/dist/typography/paragraph/index.js +2 -0
  665. package/dist/typography/paragraph/theme.d.ts +225 -0
  666. package/dist/typography/paragraph/theme.js +79 -0
  667. package/dist/typography/secondary/Secondary.svelte +25 -0
  668. package/dist/typography/secondary/Secondary.svelte.d.ts +13 -0
  669. package/dist/typography/secondary/index.d.ts +2 -0
  670. package/dist/typography/secondary/index.js +2 -0
  671. package/dist/typography/secondary/theme.d.ts +1 -0
  672. package/dist/typography/secondary/theme.js +4 -0
  673. package/dist/typography/span/Span.svelte +51 -0
  674. package/dist/typography/span/Span.svelte.d.ts +22 -0
  675. package/dist/typography/span/index.d.ts +2 -0
  676. package/dist/typography/span/index.js +2 -0
  677. package/dist/typography/span/theme.d.ts +246 -0
  678. package/dist/typography/span/theme.js +88 -0
  679. package/dist/uiHelpers.svelte.d.ts +10 -0
  680. package/dist/uiHelpers.svelte.js +50 -0
  681. package/dist/utils/Arrow.svelte +63 -0
  682. package/dist/utils/Arrow.svelte.d.ts +13 -0
  683. package/dist/utils/CloseButton.svelte +67 -0
  684. package/dist/utils/CloseButton.svelte.d.ts +19 -0
  685. package/dist/utils/Popper.svelte +289 -0
  686. package/dist/utils/Popper.svelte.d.ts +31 -0
  687. package/dist/utils/actions.d.ts +16 -0
  688. package/dist/utils/actions.js +107 -0
  689. package/dist/utils/countdown.svelte.d.ts +8 -0
  690. package/dist/utils/countdown.svelte.js +64 -0
  691. package/dist/utils/debounce.d.ts +17 -0
  692. package/dist/utils/debounce.js +41 -0
  693. package/dist/utils/dismissable.d.ts +9 -0
  694. package/dist/utils/dismissable.js +16 -0
  695. package/dist/utils/index.d.ts +8 -0
  696. package/dist/utils/index.js +14 -0
  697. package/dist/utils/nonPassiveTouch.d.ts +3 -0
  698. package/dist/utils/nonPassiveTouch.js +8 -0
  699. package/dist/utils/responsive.svelte +111 -0
  700. package/dist/utils/responsive.svelte.d.ts +45 -0
  701. package/dist/utils/singleselection.svelte.d.ts +15 -0
  702. package/dist/utils/singleselection.svelte.js +52 -0
  703. package/dist/utils/theme.d.ts +100 -0
  704. package/dist/utils/theme.js +69 -0
  705. package/dist/video/Video.svelte +34 -0
  706. package/dist/video/Video.svelte.d.ts +18 -0
  707. package/dist/video/index.d.ts +1 -0
  708. package/dist/video/index.js +1 -0
  709. package/dist/virtual-masonry/VirtualMasonry.svelte +185 -0
  710. package/dist/virtual-masonry/VirtualMasonry.svelte.d.ts +44 -0
  711. package/dist/virtual-masonry/index.d.ts +3 -0
  712. package/dist/virtual-masonry/index.js +2 -0
  713. package/dist/virtual-masonry/theme.d.ts +40 -0
  714. package/dist/virtual-masonry/theme.js +18 -0
  715. package/dist/virtuallist/VirtualList.svelte +145 -0
  716. package/dist/virtuallist/VirtualList.svelte.d.ts +42 -0
  717. package/dist/virtuallist/index.d.ts +2 -0
  718. package/dist/virtuallist/index.js +2 -0
  719. package/dist/virtuallist/theme.d.ts +40 -0
  720. package/dist/virtuallist/theme.js +18 -0
  721. package/package.json +917 -0
@@ -0,0 +1,289 @@
1
+ <script lang="ts">
2
+ import type { ParamsType, PopperProps, TriggeredToggleEvent } from "../types";
3
+ import type { Coords, Middleware, Placement } from "@floating-ui/dom";
4
+ import * as dom from "@floating-ui/dom";
5
+ import clsx from "clsx";
6
+ import { sineIn } from "svelte/easing";
7
+ import { fade } from "svelte/transition";
8
+ import Arrow from "./Arrow.svelte";
9
+ import { createMutualDebounce } from "./debounce";
10
+
11
+ const DEFAULT_TRIGGER_DELAY = 200;
12
+ const DEFAULT_OFFSET = 8;
13
+
14
+ let {
15
+ triggeredBy,
16
+ triggerDelay = DEFAULT_TRIGGER_DELAY,
17
+ trigger = "click",
18
+ placement = "top",
19
+ offset = DEFAULT_OFFSET,
20
+ arrow = false,
21
+ yOnly = false,
22
+ strategy = "absolute",
23
+ role = "tooltip",
24
+ reference,
25
+ middlewares = [dom.flip(), dom.shift()],
26
+ class: className = "",
27
+ arrowClass = "",
28
+ isOpen = $bindable(false),
29
+ transitionParams,
30
+ transition = fade,
31
+ onbeforetoggle,
32
+ ontoggle,
33
+ onclose,
34
+ children,
35
+ ...restProps
36
+ }: PopperProps = $props();
37
+
38
+ let focusable: boolean = true;
39
+ let clickable: boolean = $derived(trigger === "click");
40
+ let hoverable: boolean = $derived(trigger === "hover");
41
+
42
+ let popover: HTMLElement | null = $state(null);
43
+ let invoker: HTMLElement | null = null;
44
+ let referenceElement: HTMLElement | null = null;
45
+ let triggerEls: HTMLElement[] = [];
46
+ let arrowParams = $state<{ placement: Placement; cords: Partial<Coords> }>({ placement: "top", cords: { x: 0, y: 0 } });
47
+ $effect(() => {
48
+ arrowParams = {
49
+ placement,
50
+ cords: { x: 0, y: 0 }
51
+ };
52
+ });
53
+
54
+ $effect(() => {
55
+ if (reference && popover) {
56
+ referenceElement = popover.ownerDocument.querySelector<HTMLElement>(reference);
57
+ }
58
+ });
59
+
60
+ let arrowEl: HTMLElement | null = $state(null);
61
+ $effect(() => {
62
+ if (popover) {
63
+ arrowEl = popover.querySelector<HTMLElement>(".popover-arrow");
64
+ }
65
+ });
66
+
67
+ let middleware: Middleware[] = $derived.by(() => {
68
+ const base = [...middlewares, dom.offset(offset)];
69
+ if (arrowEl) base.push(dom.arrow({ element: arrowEl }));
70
+ return base;
71
+ });
72
+
73
+ const paramsDefault = { duration: 100, easing: sineIn };
74
+ const paramsOptions = $derived(transitionParams ?? paramsDefault);
75
+
76
+ const px = (n: number | undefined) => (n ? `${n}px` : "");
77
+
78
+ function updatePopoverPosition() {
79
+ if (!invoker || !popover) {
80
+ return;
81
+ }
82
+
83
+ return dom.computePosition(referenceElement ?? invoker, popover, { placement, middleware, strategy }).then(({ x, y, middlewareData: { arrow }, placement: pl, strategy }) => {
84
+ if (popover) {
85
+ Object.assign(popover.style, { position: strategy, left: yOnly ? "0" : px(x), right: "auto", top: px(y) });
86
+ if (arrow && arrowEl) {
87
+ arrowParams = { placement: pl, cords: { x: arrow.x, y: arrow.y } };
88
+ }
89
+ }
90
+ });
91
+ }
92
+
93
+ async function _open_popover(ev: Event) {
94
+ ev.preventDefault();
95
+
96
+ if (ev.target !== invoker && triggerEls.includes(ev.target as HTMLElement)) {
97
+ invoker = ev.target as HTMLElement;
98
+ if (isOpen) {
99
+ // invoker changed but the popover is open and stays open; pretend as if it toggles
100
+ popover?.dispatchEvent(new ToggleEvent("beforetoggle", { newState: "open", oldState: "open" }));
101
+ await updatePopoverPosition();
102
+ popover?.dispatchEvent(new ToggleEvent("toggle", { newState: "open", oldState: "open" }));
103
+ }
104
+ }
105
+
106
+ if (ev.type === "mousedown") {
107
+ isOpen = !isOpen;
108
+ } else {
109
+ isOpen = true;
110
+ }
111
+ }
112
+
113
+ async function _close_popover(ev: Event) {
114
+ // For click triggers, don't close on focusout events from inside the popover
115
+ if (trigger === "click" && ev.type === "focusout") {
116
+ const relatedTarget = (ev as FocusEvent).relatedTarget as HTMLElement;
117
+
118
+ // If focus is moving to somewhere inside the popover, don't close
119
+ if (popover && relatedTarget && popover.contains(relatedTarget)) {
120
+ return;
121
+ }
122
+
123
+ // If focus is moving to nowhere (like when clicking), don't close for click triggers
124
+ if (!relatedTarget) {
125
+ return;
126
+ }
127
+ }
128
+
129
+ // if popover has focus don't close when leaving the invoker
130
+ if (ev?.type === "mouseleave" && popover?.contains(popover.ownerDocument.activeElement)) {
131
+ return;
132
+ }
133
+ if (ev?.type === "focusout" && popover?.contains(popover.ownerDocument.activeElement)) {
134
+ return;
135
+ }
136
+
137
+ isOpen = false;
138
+ }
139
+
140
+ const [open_popover, close_popover] = createMutualDebounce(_open_popover, _close_popover, () => triggerDelay);
141
+
142
+ function on_before_toggle(ev: ToggleEvent) {
143
+ if (!invoker || !popover) return;
144
+ const evWithTrigger: TriggeredToggleEvent = Object.assign(ev, { trigger: invoker });
145
+ onbeforetoggle?.(evWithTrigger);
146
+ }
147
+
148
+ $effect(() => {
149
+ // Floating UI instance when it's closed we need to keep a autoUpdate destroy function
150
+ let autoUpdateDestroy: (() => void) | null = null;
151
+
152
+ if (isOpen && popover && invoker) {
153
+ autoUpdateDestroy = dom.autoUpdate(referenceElement ?? invoker, popover, updatePopoverPosition);
154
+ popover.ownerDocument.addEventListener("click", closeOnClickOutside);
155
+ popover.ownerDocument.addEventListener("keydown", closeOnEscape);
156
+ }
157
+
158
+ return () => {
159
+ autoUpdateDestroy?.();
160
+ autoUpdateDestroy = null;
161
+ popover?.ownerDocument.removeEventListener("click", closeOnClickOutside);
162
+ popover?.ownerDocument.removeEventListener("keydown", closeOnEscape);
163
+ };
164
+ });
165
+
166
+ function on_toggle(ev: ToggleEvent) {
167
+ if (!invoker) return;
168
+
169
+ // Update isOpen value when popover state changes through other means
170
+ isOpen = ev.newState === "open";
171
+
172
+ const evWithTrigger: TriggeredToggleEvent = Object.assign(ev, { trigger: invoker });
173
+ ontoggle?.(evWithTrigger);
174
+
175
+ if (ev.newState === "closed") {
176
+ onclose?.(evWithTrigger);
177
+ }
178
+ }
179
+
180
+ function set_triggers(node: HTMLElement) {
181
+ const events: [string, (ev: Event) => void, boolean][] = [
182
+ ["focusin", open_popover, focusable],
183
+ ["focusout", close_popover, focusable],
184
+ ["mousedown", open_popover, clickable],
185
+ ["mouseenter", open_popover, hoverable],
186
+ ["mouseleave", close_popover, hoverable]
187
+ ];
188
+
189
+ if (triggeredBy) triggerEls = [...node.ownerDocument.querySelectorAll<HTMLElement>(triggeredBy)];
190
+ else if (node.previousElementSibling) triggerEls = [node.previousElementSibling as HTMLElement];
191
+ else if (node.parentElement) triggerEls = [node.parentElement];
192
+
193
+ if (!triggerEls.length) {
194
+ console.error("No triggers found.", triggeredBy);
195
+ return;
196
+ }
197
+
198
+ invoker = triggerEls[0];
199
+
200
+ triggerEls.forEach((element: HTMLElement) => {
201
+ if (element.tabIndex < 0) element.tabIndex = 0; // trigger must be focusable
202
+ for (const [name, handler, cond] of events) if (cond) element.addEventListener(name, handler);
203
+ });
204
+
205
+ return () => {
206
+ triggerEls.forEach((element: HTMLElement) => {
207
+ for (const [name, handler, cond] of events) if (cond) element.removeEventListener(name, handler);
208
+ });
209
+ };
210
+ }
211
+
212
+ function closeOnEscape(event: KeyboardEvent) {
213
+ if (event.key === "Escape") {
214
+ isOpen = false;
215
+ }
216
+ }
217
+
218
+ function closeOnClickOutside(event: MouseEvent) {
219
+ if (!popover) {
220
+ return;
221
+ }
222
+
223
+ const clickPath = event.composedPath();
224
+
225
+ const isClickInsidePopover = clickPath.includes(popover);
226
+ const isClickOnTrigger = triggerEls.some((el) => clickPath.includes(el));
227
+
228
+ // Only close if click is outside both popover and trigger elements
229
+ if (!isClickInsidePopover && !isClickOnTrigger) {
230
+ close_popover(event);
231
+ isOpen = false;
232
+ }
233
+ }
234
+ </script>
235
+
236
+ <div {@attach set_triggers} hidden></div>
237
+
238
+ {#if isOpen}
239
+ <div
240
+ popover="manual"
241
+ {role}
242
+ bind:this={popover}
243
+ class:overflow-visible={true}
244
+ onfocusout={close_popover}
245
+ onmouseleave={hoverable ? close_popover : undefined}
246
+ onmouseenter={hoverable ? open_popover : undefined}
247
+ class={clsx(className)}
248
+ transition:transition={paramsOptions as ParamsType}
249
+ onintrostart={() => popover?.showPopover()}
250
+ onbeforetoggle={on_before_toggle}
251
+ ontoggle={on_toggle}
252
+ onoutroend={() => popover?.hidePopover()}
253
+ {...restProps}
254
+ >
255
+ {@render children()}
256
+ {#if arrow}
257
+ <Arrow {...arrowParams} class={arrowClass} />
258
+ {/if}
259
+ </div>
260
+ {/if}
261
+
262
+ <!--
263
+ @component
264
+ [Go to docs](https://flowbite-svelte.com/)
265
+ ## Type
266
+ [PopperProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2164)
267
+ ## Props
268
+ @prop triggeredBy
269
+ @prop triggerDelay = DEFAULT_TRIGGER_DELAY
270
+ @prop trigger = "click"
271
+ @prop placement = "top"
272
+ @prop offset = DEFAULT_OFFSET
273
+ @prop arrow = false
274
+ @prop yOnly = false
275
+ @prop strategy = "absolute"
276
+ @prop role = "tooltip"
277
+ @prop reference
278
+ @prop middlewares = [dom.flip(), dom.shift()]
279
+ @prop class: className = ""
280
+ @prop arrowClass = ""
281
+ @prop isOpen = $bindable(false)
282
+ @prop transitionParams
283
+ @prop transition = fade
284
+ @prop onbeforetoggle
285
+ @prop ontoggle
286
+ @prop onclose
287
+ @prop children
288
+ @prop ...restProps
289
+ -->
@@ -0,0 +1,31 @@
1
+ import type { PopperProps } from "../types";
2
+ /**
3
+ * [Go to docs](https://flowbite-svelte.com/)
4
+ * ## Type
5
+ * [PopperProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2164)
6
+ * ## Props
7
+ * @prop triggeredBy
8
+ * @prop triggerDelay = DEFAULT_TRIGGER_DELAY
9
+ * @prop trigger = "click"
10
+ * @prop placement = "top"
11
+ * @prop offset = DEFAULT_OFFSET
12
+ * @prop arrow = false
13
+ * @prop yOnly = false
14
+ * @prop strategy = "absolute"
15
+ * @prop role = "tooltip"
16
+ * @prop reference
17
+ * @prop middlewares = [dom.flip(), dom.shift()]
18
+ * @prop class: className = ""
19
+ * @prop arrowClass = ""
20
+ * @prop isOpen = $bindable(false)
21
+ * @prop transitionParams
22
+ * @prop transition = fade
23
+ * @prop onbeforetoggle
24
+ * @prop ontoggle
25
+ * @prop onclose
26
+ * @prop children
27
+ * @prop ...restProps
28
+ */
29
+ declare const Popper: import("svelte").Component<PopperProps, {}, "isOpen">;
30
+ type Popper = ReturnType<typeof Popper>;
31
+ export default Popper;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Svelte action that traps focus within a DOM node and handles Escape key
3
+ * @param node - The DOM node to trap focus within
4
+ * @param options - Optional configuration object
5
+ * @returns An action object with destroy method
6
+ */
7
+ export declare function trapFocus(node: HTMLElement, options?: {
8
+ onEscape?: () => void;
9
+ isClosing?: boolean;
10
+ } | null): {
11
+ update(newOptions?: {
12
+ onEscape?: () => void;
13
+ isClosing?: boolean;
14
+ } | null): void;
15
+ destroy(): void;
16
+ };
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Svelte action that traps focus within a DOM node and handles Escape key
3
+ * @param node - The DOM node to trap focus within
4
+ * @param options - Optional configuration object
5
+ * @returns An action object with destroy method
6
+ */
7
+ export function trapFocus(node, options = {}) {
8
+ // If options is null, don't trap focus at all
9
+ if (options === null) {
10
+ return {
11
+ update(newOptions = {}) {
12
+ options = newOptions;
13
+ },
14
+ destroy() { }
15
+ };
16
+ }
17
+ const previous = document.activeElement;
18
+ // Track if we're currently closing via outside click
19
+ let isClosingViaOutsideClick = false;
20
+ // Create a flag to prevent re-focusing when focus is moved outside
21
+ let isFocusMovedOutside = false;
22
+ function focusable() {
23
+ return Array.from(node.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'));
24
+ }
25
+ function handleKeydown(event) {
26
+ if (event.key === "Tab" && options !== null) {
27
+ const current = document.activeElement;
28
+ const elements = focusable();
29
+ const first = elements.at(0);
30
+ const last = elements.at(-1);
31
+ if (event.shiftKey && current === first) {
32
+ last?.focus();
33
+ event.preventDefault();
34
+ }
35
+ if (!event.shiftKey && current === last) {
36
+ first?.focus();
37
+ event.preventDefault();
38
+ }
39
+ }
40
+ else if (event.key === "Escape" && options !== null && options.onEscape) {
41
+ event.preventDefault();
42
+ // Mark as closing via escape to prevent focus restoration
43
+ isClosingViaOutsideClick = true;
44
+ options.onEscape();
45
+ }
46
+ }
47
+ // Handler for when focus moves outside the trapped area
48
+ function handleFocusOut(event) {
49
+ // If focus is moving outside our node and not to one of our triggers
50
+ if (!node.contains(event.relatedTarget) && event.relatedTarget !== previous) {
51
+ isFocusMovedOutside = true;
52
+ }
53
+ }
54
+ // Initialize the action
55
+ function initialize() {
56
+ // Only add event listeners if options is not null
57
+ if (options !== null) {
58
+ // Check if we're currently in a closing state
59
+ isClosingViaOutsideClick = !!options.isClosing;
60
+ // Only auto-focus if not closing from outside click
61
+ if (!isClosingViaOutsideClick && !isFocusMovedOutside) {
62
+ const elements = focusable();
63
+ if (elements.length > 0) {
64
+ elements[0].focus();
65
+ }
66
+ }
67
+ node.addEventListener("keydown", handleKeydown);
68
+ node.addEventListener("focusout", handleFocusOut);
69
+ }
70
+ }
71
+ // Cleanup function
72
+ function cleanup() {
73
+ if (options !== null) {
74
+ node.removeEventListener("keydown", handleKeydown);
75
+ node.removeEventListener("focusout", handleFocusOut);
76
+ // Only restore focus if not closing via outside click and focus hasn't moved outside
77
+ if (!isClosingViaOutsideClick && !isFocusMovedOutside && previous) {
78
+ setTimeout(() => {
79
+ previous.focus({ preventScroll: true });
80
+ }, 0);
81
+ }
82
+ }
83
+ }
84
+ // Initialize on mount
85
+ initialize();
86
+ // Return the action object with update and destroy methods
87
+ return {
88
+ update(newOptions = {}) {
89
+ // Clean up existing listeners first
90
+ node.removeEventListener("keydown", handleKeydown);
91
+ node.removeEventListener("focusout", handleFocusOut);
92
+ // Update the closing state
93
+ if (newOptions && newOptions.isClosing !== undefined) {
94
+ isClosingViaOutsideClick = newOptions.isClosing;
95
+ }
96
+ options = newOptions;
97
+ // Reinitialize with new options
98
+ if (options !== null) {
99
+ node.addEventListener("keydown", handleKeydown);
100
+ node.addEventListener("focusout", handleFocusOut);
101
+ }
102
+ },
103
+ destroy() {
104
+ cleanup();
105
+ }
106
+ };
107
+ }
@@ -0,0 +1,8 @@
1
+ export declare function createCountdown(initialSeconds?: number): {
2
+ readonly timeLeft: number;
3
+ readonly isRunning: boolean;
4
+ start: () => void;
5
+ stop: () => void;
6
+ reset: (seconds: number) => void;
7
+ destroy: () => void;
8
+ };
@@ -0,0 +1,64 @@
1
+ export function createCountdown(initialSeconds = 60) {
2
+ let timeLeft = $state(initialSeconds);
3
+ let isRunning = $state(false);
4
+ let animationId = null;
5
+ let lastTimestamp = null;
6
+ function tick(timestamp) {
7
+ if (!lastTimestamp) {
8
+ lastTimestamp = timestamp;
9
+ }
10
+ const elapsed = timestamp - lastTimestamp;
11
+ if (elapsed >= 1000) {
12
+ timeLeft--;
13
+ lastTimestamp = timestamp;
14
+ if (timeLeft <= 0) {
15
+ stop();
16
+ timeLeft = 0;
17
+ return;
18
+ }
19
+ }
20
+ if (isRunning) {
21
+ animationId = requestAnimationFrame(tick);
22
+ }
23
+ }
24
+ function start() {
25
+ if (timeLeft > 0 && !isRunning) {
26
+ isRunning = true;
27
+ lastTimestamp = null;
28
+ animationId = requestAnimationFrame(tick);
29
+ }
30
+ }
31
+ function stop() {
32
+ isRunning = false;
33
+ lastTimestamp = null;
34
+ if (animationId) {
35
+ cancelAnimationFrame(animationId);
36
+ animationId = null;
37
+ }
38
+ }
39
+ function reset(seconds) {
40
+ stop();
41
+ timeLeft = seconds;
42
+ }
43
+ function destroy() {
44
+ if (animationId) {
45
+ cancelAnimationFrame(animationId);
46
+ }
47
+ }
48
+ // ensures cleanup happens automatically when the component using createCountdown unmounts
49
+ $effect(() => {
50
+ return () => destroy();
51
+ });
52
+ return {
53
+ get timeLeft() {
54
+ return timeLeft;
55
+ },
56
+ get isRunning() {
57
+ return isRunning;
58
+ },
59
+ start,
60
+ stop,
61
+ reset,
62
+ destroy
63
+ };
64
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Create a mutual debounce for two opposing actions.
3
+ * Calling one action cancels any pending execution of the other.
4
+ *
5
+ * @param actionA - First action (e.g., openDialog)
6
+ * @param actionB - Second action (e.g., closeDialog)
7
+ * @param delayFunc - Function returning delay in milliseconds (default: 300ms)
8
+ * @returns Object with mutual debounce control methods
9
+ *
10
+ * @example
11
+ * const [openDialogDeb, closeDialogDeb] = createMutualDebounce(openDialog, closeDialog, () => 300);
12
+ * openDialogDeb(); // Schedule open
13
+ * closeDialogDeb(); // Cancel open, schedule close
14
+ */
15
+ type Func = (...args: any[]) => unknown;
16
+ export declare function createMutualDebounce<A extends Func, B extends Func>(actionA: A, actionB: B, delayFunc: () => number): [(...args: Parameters<A>) => void, (...args: Parameters<B>) => void];
17
+ export {};
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Create a mutual debounce for two opposing actions.
3
+ * Calling one action cancels any pending execution of the other.
4
+ *
5
+ * @param actionA - First action (e.g., openDialog)
6
+ * @param actionB - Second action (e.g., closeDialog)
7
+ * @param delayFunc - Function returning delay in milliseconds (default: 300ms)
8
+ * @returns Object with mutual debounce control methods
9
+ *
10
+ * @example
11
+ * const [openDialogDeb, closeDialogDeb] = createMutualDebounce(openDialog, closeDialog, () => 300);
12
+ * openDialogDeb(); // Schedule open
13
+ * closeDialogDeb(); // Cancel open, schedule close
14
+ */
15
+ export function createMutualDebounce(actionA, actionB, delayFunc) {
16
+ let rafId = null;
17
+ function scheduleExecution(func, args, startTime) {
18
+ rafId = requestAnimationFrame((currentTime) => {
19
+ const elapsed = currentTime - (startTime || 0);
20
+ if (elapsed < delayFunc())
21
+ return scheduleExecution(func, args, startTime);
22
+ rafId = null;
23
+ func(...args);
24
+ });
25
+ }
26
+ function cancel() {
27
+ if (rafId !== null) {
28
+ cancelAnimationFrame(rafId);
29
+ rafId = null;
30
+ }
31
+ }
32
+ const debouncedA = (...args) => {
33
+ cancel();
34
+ scheduleExecution(actionA, args, performance.now());
35
+ };
36
+ const debouncedB = (...args) => {
37
+ cancel();
38
+ scheduleExecution(actionB, args, performance.now());
39
+ };
40
+ return [debouncedA, debouncedB];
41
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * DismissableContext provides a way to dismiss a component or modal.
3
+ * It should be used within a component that needs to provide dismiss functionality.
4
+ */
5
+ export type DismissableContext = {
6
+ dismiss: (event: MouseEvent) => void;
7
+ };
8
+ export declare function createDismissableContext(onDismiss: (event: MouseEvent) => void): DismissableContext;
9
+ export declare function useDismiss(): DismissableContext;
@@ -0,0 +1,16 @@
1
+ import { getContext, setContext } from "svelte";
2
+ const DISMISSABLE_KEY = Symbol("dismissable");
3
+ export function createDismissableContext(onDismiss) {
4
+ const context = {
5
+ dismiss: onDismiss
6
+ };
7
+ return setContext(DISMISSABLE_KEY, context);
8
+ }
9
+ export function useDismiss() {
10
+ const context = getContext(DISMISSABLE_KEY);
11
+ if (!context) {
12
+ // uncomment below line if you want to trace usage without the context
13
+ // console.warn('useDismiss must be used within a Dismissable component'); // For development purposes
14
+ }
15
+ return context;
16
+ }
@@ -0,0 +1,8 @@
1
+ import { type ClassValue } from "clsx";
2
+ export { default as CloseButton } from "./CloseButton.svelte";
3
+ export { closeButton } from "./theme";
4
+ export { trapFocus } from "./actions";
5
+ export { default as Popper } from "./Popper.svelte";
6
+ export * from "./responsive.svelte";
7
+ export declare function cn(...inputs: ClassValue[]): string;
8
+ export declare function idGenerator(): string;
@@ -0,0 +1,14 @@
1
+ import { clsx } from "clsx";
2
+ import { twMerge } from "tailwind-merge";
3
+ export { default as CloseButton } from "./CloseButton.svelte";
4
+ export { closeButton } from "./theme";
5
+ export { trapFocus } from "./actions";
6
+ export { default as Popper } from "./Popper.svelte";
7
+ export * from "./responsive.svelte";
8
+ export function cn(...inputs) {
9
+ return twMerge(clsx(inputs));
10
+ }
11
+ let n = Date.now();
12
+ export function idGenerator() {
13
+ return (++n).toString(36);
14
+ }
@@ -0,0 +1,3 @@
1
+ export declare function nonPassiveTouch(node: HTMLElement, handler: (event: TouchEvent) => void): {
2
+ destroy(): void;
3
+ };
@@ -0,0 +1,8 @@
1
+ export function nonPassiveTouch(node, handler) {
2
+ node.addEventListener("touchstart", handler, { passive: false });
3
+ return {
4
+ destroy() {
5
+ node.removeEventListener("touchstart", handler);
6
+ }
7
+ };
8
+ }