@winkintel/bootstrap-svelte 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (471) hide show
  1. package/LICENSE.md +202 -0
  2. package/README.md +221 -0
  3. package/dist/Accordion/accordion-body.svelte +8 -0
  4. package/dist/Accordion/accordion-body.svelte.d.ts +4 -0
  5. package/dist/Accordion/accordion-button.svelte +25 -0
  6. package/dist/Accordion/accordion-button.svelte.d.ts +4 -0
  7. package/dist/Accordion/accordion-collapse.svelte +18 -0
  8. package/dist/Accordion/accordion-collapse.svelte.d.ts +4 -0
  9. package/dist/Accordion/accordion-header.svelte +8 -0
  10. package/dist/Accordion/accordion-header.svelte.d.ts +4 -0
  11. package/dist/Accordion/accordion-item.svelte +33 -0
  12. package/dist/Accordion/accordion-item.svelte.d.ts +4 -0
  13. package/dist/Accordion/accordion.svelte +65 -0
  14. package/dist/Accordion/accordion.svelte.d.ts +51 -0
  15. package/dist/Accordion/accordion.svelte.js +139 -0
  16. package/dist/Accordion/composition.d.ts +7 -0
  17. package/dist/Accordion/composition.js +6 -0
  18. package/dist/Accordion/index.d.ts +1 -0
  19. package/dist/Accordion/index.js +1 -0
  20. package/dist/Accordion/types.d.ts +15 -0
  21. package/dist/Accordion/types.js +1 -0
  22. package/dist/Alert/alert.svelte +73 -0
  23. package/dist/Alert/alert.svelte.d.ts +46 -0
  24. package/dist/Alert/index.d.ts +2 -0
  25. package/dist/Alert/index.js +2 -0
  26. package/dist/Alert/types.d.ts +11 -0
  27. package/dist/Alert/types.js +1 -0
  28. package/dist/Badge/badge.svelte +42 -0
  29. package/dist/Badge/badge.svelte.d.ts +36 -0
  30. package/dist/Badge/index.d.ts +2 -0
  31. package/dist/Badge/index.js +2 -0
  32. package/dist/Badge/types.d.ts +28 -0
  33. package/dist/Badge/types.js +24 -0
  34. package/dist/Breadcrumb/breadcrumb-item.svelte +66 -0
  35. package/dist/Breadcrumb/breadcrumb-item.svelte.d.ts +30 -0
  36. package/dist/Breadcrumb/breadcrumb.svelte +57 -0
  37. package/dist/Breadcrumb/breadcrumb.svelte.d.ts +34 -0
  38. package/dist/Breadcrumb/breadcrumb.svelte.js +41 -0
  39. package/dist/Breadcrumb/composition.d.ts +3 -0
  40. package/dist/Breadcrumb/composition.js +2 -0
  41. package/dist/Breadcrumb/index.d.ts +1 -0
  42. package/dist/Breadcrumb/index.js +1 -0
  43. package/dist/Breadcrumb/types.d.ts +9 -0
  44. package/dist/Breadcrumb/types.js +1 -0
  45. package/dist/BreakpointListener/breakpoint-listener.svelte +54 -0
  46. package/dist/BreakpointListener/breakpoint-listener.svelte.d.ts +4 -0
  47. package/dist/BreakpointListener/index.d.ts +2 -0
  48. package/dist/BreakpointListener/index.js +2 -0
  49. package/dist/BreakpointListener/types.d.ts +30 -0
  50. package/dist/BreakpointListener/types.js +20 -0
  51. package/dist/Button/button.svelte +87 -0
  52. package/dist/Button/button.svelte.d.ts +59 -0
  53. package/dist/Button/index.d.ts +2 -0
  54. package/dist/Button/index.js +2 -0
  55. package/dist/Button/types.d.ts +26 -0
  56. package/dist/Button/types.js +1 -0
  57. package/dist/ButtonGroup/button-check.svelte +70 -0
  58. package/dist/ButtonGroup/button-check.svelte.d.ts +35 -0
  59. package/dist/ButtonGroup/button-group.svelte +51 -0
  60. package/dist/ButtonGroup/button-group.svelte.d.ts +43 -0
  61. package/dist/ButtonGroup/button-toolbar.svelte +36 -0
  62. package/dist/ButtonGroup/button-toolbar.svelte.d.ts +28 -0
  63. package/dist/ButtonGroup/index.d.ts +4 -0
  64. package/dist/ButtonGroup/index.js +4 -0
  65. package/dist/ButtonGroup/types.d.ts +21 -0
  66. package/dist/ButtonGroup/types.js +1 -0
  67. package/dist/Card/card-body.svelte +10 -0
  68. package/dist/Card/card-body.svelte.d.ts +3 -0
  69. package/dist/Card/card-footer.svelte +10 -0
  70. package/dist/Card/card-footer.svelte.d.ts +3 -0
  71. package/dist/Card/card-group.svelte +10 -0
  72. package/dist/Card/card-group.svelte.d.ts +3 -0
  73. package/dist/Card/card-header.svelte +10 -0
  74. package/dist/Card/card-header.svelte.d.ts +3 -0
  75. package/dist/Card/card-img-overlay.svelte +10 -0
  76. package/dist/Card/card-img-overlay.svelte.d.ts +3 -0
  77. package/dist/Card/card-img.svelte +12 -0
  78. package/dist/Card/card-img.svelte.d.ts +4 -0
  79. package/dist/Card/card-link.svelte +10 -0
  80. package/dist/Card/card-link.svelte.d.ts +4 -0
  81. package/dist/Card/card-subtitle.svelte +11 -0
  82. package/dist/Card/card-subtitle.svelte.d.ts +4 -0
  83. package/dist/Card/card-text.svelte +10 -0
  84. package/dist/Card/card-text.svelte.d.ts +3 -0
  85. package/dist/Card/card-title.svelte +11 -0
  86. package/dist/Card/card-title.svelte.d.ts +4 -0
  87. package/dist/Card/card.svelte +45 -0
  88. package/dist/Card/card.svelte.d.ts +38 -0
  89. package/dist/Card/composition.d.ts +12 -0
  90. package/dist/Card/composition.js +11 -0
  91. package/dist/Card/index.d.ts +1 -0
  92. package/dist/Card/index.js +1 -0
  93. package/dist/Card/types.d.ts +22 -0
  94. package/dist/Card/types.js +1 -0
  95. package/dist/Carousel/carousel-caption.svelte +30 -0
  96. package/dist/Carousel/carousel-caption.svelte.d.ts +22 -0
  97. package/dist/Carousel/carousel-control-next.svelte +35 -0
  98. package/dist/Carousel/carousel-control-next.svelte.d.ts +21 -0
  99. package/dist/Carousel/carousel-control-prev.svelte +35 -0
  100. package/dist/Carousel/carousel-control-prev.svelte.d.ts +21 -0
  101. package/dist/Carousel/carousel-indicator-button.svelte +41 -0
  102. package/dist/Carousel/carousel-indicator-button.svelte.d.ts +21 -0
  103. package/dist/Carousel/carousel-indicators.svelte +33 -0
  104. package/dist/Carousel/carousel-indicators.svelte.d.ts +25 -0
  105. package/dist/Carousel/carousel-inner.svelte +30 -0
  106. package/dist/Carousel/carousel-inner.svelte.d.ts +22 -0
  107. package/dist/Carousel/carousel-item.svelte +138 -0
  108. package/dist/Carousel/carousel-item.svelte.d.ts +28 -0
  109. package/dist/Carousel/carousel.svelte +140 -0
  110. package/dist/Carousel/carousel.svelte.d.ts +46 -0
  111. package/dist/Carousel/carousel.svelte.js +551 -0
  112. package/dist/Carousel/composition.d.ts +9 -0
  113. package/dist/Carousel/composition.js +8 -0
  114. package/dist/Carousel/index.d.ts +1 -0
  115. package/dist/Carousel/index.js +1 -0
  116. package/dist/Carousel/types.d.ts +74 -0
  117. package/dist/Carousel/types.js +1 -0
  118. package/dist/CloseButton/close-button.svelte +32 -0
  119. package/dist/CloseButton/close-button.svelte.d.ts +29 -0
  120. package/dist/CloseButton/index.d.ts +2 -0
  121. package/dist/CloseButton/index.js +2 -0
  122. package/dist/CloseButton/types.d.ts +6 -0
  123. package/dist/CloseButton/types.js +1 -0
  124. package/dist/Col/col.svelte +133 -0
  125. package/dist/Col/col.svelte.d.ts +60 -0
  126. package/dist/Col/index.d.ts +2 -0
  127. package/dist/Col/index.js +2 -0
  128. package/dist/Col/types.d.ts +30 -0
  129. package/dist/Col/types.js +1 -0
  130. package/dist/Collapse/collapse-aria-attachment.svelte.d.ts +3 -0
  131. package/dist/Collapse/collapse-aria-attachment.svelte.js +32 -0
  132. package/dist/Collapse/collapse.svelte +63 -0
  133. package/dist/Collapse/collapse.svelte.d.ts +45 -0
  134. package/dist/Collapse/index.d.ts +3 -0
  135. package/dist/Collapse/index.js +3 -0
  136. package/dist/Collapse/transition.d.ts +5 -0
  137. package/dist/Collapse/transition.js +75 -0
  138. package/dist/Collapse/types.d.ts +18 -0
  139. package/dist/Collapse/types.js +1 -0
  140. package/dist/Container/container.svelte +46 -0
  141. package/dist/Container/container.svelte.d.ts +36 -0
  142. package/dist/Container/index.d.ts +2 -0
  143. package/dist/Container/index.js +2 -0
  144. package/dist/Container/types.d.ts +8 -0
  145. package/dist/Container/types.js +1 -0
  146. package/dist/Dropdown/composition.d.ts +8 -0
  147. package/dist/Dropdown/composition.js +7 -0
  148. package/dist/Dropdown/dropdown-divider.svelte +23 -0
  149. package/dist/Dropdown/dropdown-divider.svelte.d.ts +18 -0
  150. package/dist/Dropdown/dropdown-header.svelte +27 -0
  151. package/dist/Dropdown/dropdown-header.svelte.d.ts +19 -0
  152. package/dist/Dropdown/dropdown-item-text.svelte +26 -0
  153. package/dist/Dropdown/dropdown-item-text.svelte.d.ts +18 -0
  154. package/dist/Dropdown/dropdown-item.svelte +86 -0
  155. package/dist/Dropdown/dropdown-item.svelte.d.ts +24 -0
  156. package/dist/Dropdown/dropdown-menu.svelte +82 -0
  157. package/dist/Dropdown/dropdown-menu.svelte.d.ts +27 -0
  158. package/dist/Dropdown/dropdown-toggle.svelte +67 -0
  159. package/dist/Dropdown/dropdown-toggle.svelte.d.ts +24 -0
  160. package/dist/Dropdown/dropdown.svelte +106 -0
  161. package/dist/Dropdown/dropdown.svelte.d.ts +34 -0
  162. package/dist/Dropdown/dropdown.svelte.js +435 -0
  163. package/dist/Dropdown/index.d.ts +1 -0
  164. package/dist/Dropdown/index.js +1 -0
  165. package/dist/Dropdown/types.d.ts +47 -0
  166. package/dist/Dropdown/types.js +1 -0
  167. package/dist/Form/composition.d.ts +34 -0
  168. package/dist/Form/composition.js +33 -0
  169. package/dist/Form/form-check-input.svelte +92 -0
  170. package/dist/Form/form-check-input.svelte.d.ts +48 -0
  171. package/dist/Form/form-check-label.svelte +26 -0
  172. package/dist/Form/form-check-label.svelte.d.ts +21 -0
  173. package/dist/Form/form-check.svelte +55 -0
  174. package/dist/Form/form-check.svelte.d.ts +50 -0
  175. package/dist/Form/form-color-input.svelte +54 -0
  176. package/dist/Form/form-color-input.svelte.d.ts +30 -0
  177. package/dist/Form/form-date-input.svelte +64 -0
  178. package/dist/Form/form-date-input.svelte.d.ts +46 -0
  179. package/dist/Form/form-datetime-local-input.svelte +60 -0
  180. package/dist/Form/form-datetime-local-input.svelte.d.ts +45 -0
  181. package/dist/Form/form-email-input.svelte +64 -0
  182. package/dist/Form/form-email-input.svelte.d.ts +46 -0
  183. package/dist/Form/form-feedback.svelte +36 -0
  184. package/dist/Form/form-feedback.svelte.d.ts +26 -0
  185. package/dist/Form/form-file-input.svelte +43 -0
  186. package/dist/Form/form-file-input.svelte.d.ts +30 -0
  187. package/dist/Form/form-floating.svelte +44 -0
  188. package/dist/Form/form-floating.svelte.d.ts +38 -0
  189. package/dist/Form/form-helper-text.svelte +35 -0
  190. package/dist/Form/form-helper-text.svelte.d.ts +29 -0
  191. package/dist/Form/form-hidden-input.svelte +18 -0
  192. package/dist/Form/form-hidden-input.svelte.d.ts +16 -0
  193. package/dist/Form/form-image-input.svelte +30 -0
  194. package/dist/Form/form-image-input.svelte.d.ts +26 -0
  195. package/dist/Form/form-input-group-text.svelte +47 -0
  196. package/dist/Form/form-input-group-text.svelte.d.ts +42 -0
  197. package/dist/Form/form-input-group.svelte +52 -0
  198. package/dist/Form/form-input-group.svelte.d.ts +43 -0
  199. package/dist/Form/form-input-label.svelte +33 -0
  200. package/dist/Form/form-input-label.svelte.d.ts +28 -0
  201. package/dist/Form/form-month-input.svelte +63 -0
  202. package/dist/Form/form-month-input.svelte.d.ts +48 -0
  203. package/dist/Form/form-number-input.svelte +62 -0
  204. package/dist/Form/form-number-input.svelte.d.ts +47 -0
  205. package/dist/Form/form-password-input.svelte +60 -0
  206. package/dist/Form/form-password-input.svelte.d.ts +41 -0
  207. package/dist/Form/form-radio-input.svelte +47 -0
  208. package/dist/Form/form-radio-input.svelte.d.ts +41 -0
  209. package/dist/Form/form-radio-label.svelte +41 -0
  210. package/dist/Form/form-radio-label.svelte.d.ts +35 -0
  211. package/dist/Form/form-range-input.svelte +43 -0
  212. package/dist/Form/form-range-input.svelte.d.ts +39 -0
  213. package/dist/Form/form-search-input.svelte +63 -0
  214. package/dist/Form/form-search-input.svelte.d.ts +45 -0
  215. package/dist/Form/form-select.svelte +85 -0
  216. package/dist/Form/form-select.svelte.d.ts +59 -0
  217. package/dist/Form/form-switch-input.svelte +54 -0
  218. package/dist/Form/form-switch-input.svelte.d.ts +41 -0
  219. package/dist/Form/form-switch-label.svelte +25 -0
  220. package/dist/Form/form-switch-label.svelte.d.ts +19 -0
  221. package/dist/Form/form-telephone-input.svelte +129 -0
  222. package/dist/Form/form-telephone-input.svelte.d.ts +55 -0
  223. package/dist/Form/form-text-area.svelte +57 -0
  224. package/dist/Form/form-text-area.svelte.d.ts +38 -0
  225. package/dist/Form/form-text-input.svelte +55 -0
  226. package/dist/Form/form-text-input.svelte.d.ts +37 -0
  227. package/dist/Form/form-time-input.svelte +62 -0
  228. package/dist/Form/form-time-input.svelte.d.ts +47 -0
  229. package/dist/Form/form-url-input.svelte +60 -0
  230. package/dist/Form/form-url-input.svelte.d.ts +45 -0
  231. package/dist/Form/form-week-Input.svelte +62 -0
  232. package/dist/Form/form-week-Input.svelte.d.ts +47 -0
  233. package/dist/Form/form.svelte +37 -0
  234. package/dist/Form/form.svelte.d.ts +23 -0
  235. package/dist/Form/index.d.ts +1 -0
  236. package/dist/Form/index.js +1 -0
  237. package/dist/Form/types.d.ts +168 -0
  238. package/dist/Form/types.js +1 -0
  239. package/dist/ListGroup/composition.d.ts +4 -0
  240. package/dist/ListGroup/composition.js +3 -0
  241. package/dist/ListGroup/index.d.ts +1 -0
  242. package/dist/ListGroup/index.js +1 -0
  243. package/dist/ListGroup/list-group-item-action.svelte +50 -0
  244. package/dist/ListGroup/list-group-item-action.svelte.d.ts +23 -0
  245. package/dist/ListGroup/list-group-item.svelte +58 -0
  246. package/dist/ListGroup/list-group-item.svelte.d.ts +51 -0
  247. package/dist/ListGroup/list-group.svelte +83 -0
  248. package/dist/ListGroup/list-group.svelte.d.ts +68 -0
  249. package/dist/ListGroup/types.d.ts +20 -0
  250. package/dist/ListGroup/types.js +1 -0
  251. package/dist/Modal/composition.d.ts +8 -0
  252. package/dist/Modal/composition.js +7 -0
  253. package/dist/Modal/index.d.ts +1 -0
  254. package/dist/Modal/index.js +1 -0
  255. package/dist/Modal/modal-body.svelte +27 -0
  256. package/dist/Modal/modal-body.svelte.d.ts +19 -0
  257. package/dist/Modal/modal-content.svelte +35 -0
  258. package/dist/Modal/modal-content.svelte.d.ts +27 -0
  259. package/dist/Modal/modal-dialog.svelte +65 -0
  260. package/dist/Modal/modal-dialog.svelte.d.ts +52 -0
  261. package/dist/Modal/modal-footer.svelte +28 -0
  262. package/dist/Modal/modal-footer.svelte.d.ts +20 -0
  263. package/dist/Modal/modal-header.svelte +50 -0
  264. package/dist/Modal/modal-header.svelte.d.ts +29 -0
  265. package/dist/Modal/modal-title.svelte +45 -0
  266. package/dist/Modal/modal-title.svelte.d.ts +26 -0
  267. package/dist/Modal/modal.svelte +233 -0
  268. package/dist/Modal/modal.svelte.d.ts +52 -0
  269. package/dist/Modal/modal.svelte.js +86 -0
  270. package/dist/Modal/types.d.ts +31 -0
  271. package/dist/Modal/types.js +1 -0
  272. package/dist/Nav/composition.d.ts +4 -0
  273. package/dist/Nav/composition.js +3 -0
  274. package/dist/Nav/index.d.ts +1 -0
  275. package/dist/Nav/index.js +1 -0
  276. package/dist/Nav/nav-item.svelte +25 -0
  277. package/dist/Nav/nav-item.svelte.d.ts +18 -0
  278. package/dist/Nav/nav-link.svelte +77 -0
  279. package/dist/Nav/nav-link.svelte.d.ts +22 -0
  280. package/dist/Nav/nav.svelte +93 -0
  281. package/dist/Nav/nav.svelte.d.ts +56 -0
  282. package/dist/Nav/types.d.ts +26 -0
  283. package/dist/Nav/types.js +1 -0
  284. package/dist/Navbar/composition.d.ts +8 -0
  285. package/dist/Navbar/composition.js +7 -0
  286. package/dist/Navbar/index.d.ts +1 -0
  287. package/dist/Navbar/index.js +1 -0
  288. package/dist/Navbar/navbar-brand.svelte +55 -0
  289. package/dist/Navbar/navbar-brand.svelte.d.ts +48 -0
  290. package/dist/Navbar/navbar-collapse.svelte +76 -0
  291. package/dist/Navbar/navbar-collapse.svelte.d.ts +55 -0
  292. package/dist/Navbar/navbar-nav.svelte +66 -0
  293. package/dist/Navbar/navbar-nav.svelte.d.ts +53 -0
  294. package/dist/Navbar/navbar-text.svelte +36 -0
  295. package/dist/Navbar/navbar-text.svelte.d.ts +28 -0
  296. package/dist/Navbar/navbar-toggler-icon.svelte +34 -0
  297. package/dist/Navbar/navbar-toggler-icon.svelte.d.ts +28 -0
  298. package/dist/Navbar/navbar-toggler.svelte +75 -0
  299. package/dist/Navbar/navbar-toggler.svelte.d.ts +48 -0
  300. package/dist/Navbar/navbar.svelte +116 -0
  301. package/dist/Navbar/navbar.svelte.d.ts +88 -0
  302. package/dist/Navbar/types.d.ts +23 -0
  303. package/dist/Navbar/types.js +1 -0
  304. package/dist/Offcanvas/composition.d.ts +5 -0
  305. package/dist/Offcanvas/composition.js +4 -0
  306. package/dist/Offcanvas/index.d.ts +1 -0
  307. package/dist/Offcanvas/index.js +1 -0
  308. package/dist/Offcanvas/offcanvas-body.svelte +25 -0
  309. package/dist/Offcanvas/offcanvas-body.svelte.d.ts +19 -0
  310. package/dist/Offcanvas/offcanvas-header.svelte +39 -0
  311. package/dist/Offcanvas/offcanvas-header.svelte.d.ts +20 -0
  312. package/dist/Offcanvas/offcanvas-title.svelte +31 -0
  313. package/dist/Offcanvas/offcanvas-title.svelte.d.ts +25 -0
  314. package/dist/Offcanvas/offcanvas.svelte +220 -0
  315. package/dist/Offcanvas/offcanvas.svelte.d.ts +61 -0
  316. package/dist/Offcanvas/types.d.ts +25 -0
  317. package/dist/Offcanvas/types.js +1 -0
  318. package/dist/Pagination/composition.d.ts +4 -0
  319. package/dist/Pagination/composition.js +3 -0
  320. package/dist/Pagination/index.d.ts +1 -0
  321. package/dist/Pagination/index.js +1 -0
  322. package/dist/Pagination/pagination-item.svelte +81 -0
  323. package/dist/Pagination/pagination-item.svelte.d.ts +35 -0
  324. package/dist/Pagination/pagination-link.svelte +45 -0
  325. package/dist/Pagination/pagination-link.svelte.d.ts +25 -0
  326. package/dist/Pagination/pagination.svelte +60 -0
  327. package/dist/Pagination/pagination.svelte.d.ts +37 -0
  328. package/dist/Pagination/pagination.svelte.js +117 -0
  329. package/dist/Pagination/types.d.ts +19 -0
  330. package/dist/Pagination/types.js +1 -0
  331. package/dist/Placeholder/composition.d.ts +3 -0
  332. package/dist/Placeholder/composition.js +2 -0
  333. package/dist/Placeholder/index.d.ts +1 -0
  334. package/dist/Placeholder/index.js +1 -0
  335. package/dist/Placeholder/placeholder-item.svelte +53 -0
  336. package/dist/Placeholder/placeholder-item.svelte.d.ts +48 -0
  337. package/dist/Placeholder/placeholder.svelte +37 -0
  338. package/dist/Placeholder/placeholder.svelte.d.ts +32 -0
  339. package/dist/Placeholder/types.d.ts +12 -0
  340. package/dist/Placeholder/types.js +1 -0
  341. package/dist/Popover/composition.d.ts +4 -0
  342. package/dist/Popover/composition.js +3 -0
  343. package/dist/Popover/index.d.ts +1 -0
  344. package/dist/Popover/index.js +1 -0
  345. package/dist/Popover/popover-body.svelte +10 -0
  346. package/dist/Popover/popover-body.svelte.d.ts +3 -0
  347. package/dist/Popover/popover-header.svelte +11 -0
  348. package/dist/Popover/popover-header.svelte.d.ts +4 -0
  349. package/dist/Popover/popover.svelte +74 -0
  350. package/dist/Popover/popover.svelte.d.ts +53 -0
  351. package/dist/Popover/types.d.ts +20 -0
  352. package/dist/Popover/types.js +1 -0
  353. package/dist/Portal/index.d.ts +2 -0
  354. package/dist/Portal/index.js +2 -0
  355. package/dist/Portal/portal-host.svelte +5 -0
  356. package/dist/Portal/portal-host.svelte.d.ts +7 -0
  357. package/dist/Portal/portal.svelte +69 -0
  358. package/dist/Portal/portal.svelte.d.ts +32 -0
  359. package/dist/Portal/types.d.ts +6 -0
  360. package/dist/Portal/types.js +1 -0
  361. package/dist/Progress/index.d.ts +3 -0
  362. package/dist/Progress/index.js +3 -0
  363. package/dist/Progress/progress-bar.svelte +101 -0
  364. package/dist/Progress/progress-bar.svelte.d.ts +39 -0
  365. package/dist/Progress/progress-stacked.svelte +34 -0
  366. package/dist/Progress/progress-stacked.svelte.d.ts +24 -0
  367. package/dist/Progress/progress.svelte.d.ts +31 -0
  368. package/dist/Progress/progress.svelte.js +52 -0
  369. package/dist/Progress/types.d.ts +40 -0
  370. package/dist/Progress/types.js +1 -0
  371. package/dist/Row/index.d.ts +2 -0
  372. package/dist/Row/index.js +2 -0
  373. package/dist/Row/row.svelte +75 -0
  374. package/dist/Row/row.svelte.d.ts +46 -0
  375. package/dist/Row/types.d.ts +12 -0
  376. package/dist/Row/types.js +1 -0
  377. package/dist/Scrollspy/index.d.ts +2 -0
  378. package/dist/Scrollspy/index.js +2 -0
  379. package/dist/Scrollspy/scrollspy-attachment.svelte.d.ts +10 -0
  380. package/dist/Scrollspy/scrollspy-attachment.svelte.js +122 -0
  381. package/dist/Scrollspy/types.d.ts +9 -0
  382. package/dist/Scrollspy/types.js +1 -0
  383. package/dist/Spinner/index.d.ts +2 -0
  384. package/dist/Spinner/index.js +2 -0
  385. package/dist/Spinner/spinner.svelte +77 -0
  386. package/dist/Spinner/spinner.svelte.d.ts +70 -0
  387. package/dist/Spinner/types.d.ts +9 -0
  388. package/dist/Spinner/types.js +1 -0
  389. package/dist/Tab/composition.d.ts +5 -0
  390. package/dist/Tab/composition.js +4 -0
  391. package/dist/Tab/index.d.ts +1 -0
  392. package/dist/Tab/index.js +1 -0
  393. package/dist/Tab/tab-content.svelte +29 -0
  394. package/dist/Tab/tab-content.svelte.d.ts +23 -0
  395. package/dist/Tab/tab-nav-link.svelte +69 -0
  396. package/dist/Tab/tab-nav-link.svelte.d.ts +22 -0
  397. package/dist/Tab/tab-pane.svelte +72 -0
  398. package/dist/Tab/tab-pane.svelte.d.ts +26 -0
  399. package/dist/Tab/tab.svelte +63 -0
  400. package/dist/Tab/tab.svelte.d.ts +50 -0
  401. package/dist/Tab/types.d.ts +18 -0
  402. package/dist/Tab/types.js +1 -0
  403. package/dist/Table/composition.d.ts +9 -0
  404. package/dist/Table/composition.js +8 -0
  405. package/dist/Table/index.d.ts +1 -0
  406. package/dist/Table/index.js +1 -0
  407. package/dist/Table/table-body.svelte +30 -0
  408. package/dist/Table/table-body.svelte.d.ts +23 -0
  409. package/dist/Table/table-caption.svelte +20 -0
  410. package/dist/Table/table-caption.svelte.d.ts +15 -0
  411. package/dist/Table/table-data.svelte +30 -0
  412. package/dist/Table/table-data.svelte.d.ts +19 -0
  413. package/dist/Table/table-foot.svelte +31 -0
  414. package/dist/Table/table-foot.svelte.d.ts +24 -0
  415. package/dist/Table/table-head.svelte +31 -0
  416. package/dist/Table/table-head.svelte.d.ts +24 -0
  417. package/dist/Table/table-header.svelte +38 -0
  418. package/dist/Table/table-header.svelte.d.ts +17 -0
  419. package/dist/Table/table-row.svelte +34 -0
  420. package/dist/Table/table-row.svelte.d.ts +23 -0
  421. package/dist/Table/table.svelte +154 -0
  422. package/dist/Table/table.svelte.d.ts +98 -0
  423. package/dist/Table/table.svelte.js +92 -0
  424. package/dist/Table/types.d.ts +43 -0
  425. package/dist/Table/types.js +1 -0
  426. package/dist/Toast/composition.d.ts +5 -0
  427. package/dist/Toast/composition.js +4 -0
  428. package/dist/Toast/index.d.ts +1 -0
  429. package/dist/Toast/index.js +1 -0
  430. package/dist/Toast/toast-body.svelte +26 -0
  431. package/dist/Toast/toast-body.svelte.d.ts +18 -0
  432. package/dist/Toast/toast-container.svelte +44 -0
  433. package/dist/Toast/toast-container.svelte.d.ts +36 -0
  434. package/dist/Toast/toast-header.svelte +56 -0
  435. package/dist/Toast/toast-header.svelte.d.ts +36 -0
  436. package/dist/Toast/toast.svelte +112 -0
  437. package/dist/Toast/toast.svelte.d.ts +54 -0
  438. package/dist/Toast/toast.svelte.js +83 -0
  439. package/dist/Toast/types.d.ts +53 -0
  440. package/dist/Toast/types.js +19 -0
  441. package/dist/Tooltip/composition.d.ts +3 -0
  442. package/dist/Tooltip/composition.js +2 -0
  443. package/dist/Tooltip/index.d.ts +1 -0
  444. package/dist/Tooltip/index.js +1 -0
  445. package/dist/Tooltip/tooltip-inner.svelte +10 -0
  446. package/dist/Tooltip/tooltip-inner.svelte.d.ts +4 -0
  447. package/dist/Tooltip/tooltip.svelte +213 -0
  448. package/dist/Tooltip/tooltip.svelte.d.ts +54 -0
  449. package/dist/Tooltip/types.d.ts +43 -0
  450. package/dist/Tooltip/types.js +1 -0
  451. package/dist/common/context.d.ts +47 -0
  452. package/dist/common/context.js +70 -0
  453. package/dist/common/css.d.ts +71 -0
  454. package/dist/common/css.js +133 -0
  455. package/dist/common/dom.d.ts +51 -0
  456. package/dist/common/dom.js +98 -0
  457. package/dist/common/index.d.ts +6 -0
  458. package/dist/common/index.js +5 -0
  459. package/dist/common/nav-tab.svelte.d.ts +88 -0
  460. package/dist/common/nav-tab.svelte.js +188 -0
  461. package/dist/common/navbar-offcanvas.svelte.d.ts +101 -0
  462. package/dist/common/navbar-offcanvas.svelte.js +228 -0
  463. package/dist/common/noop.d.ts +4 -0
  464. package/dist/common/noop.js +4 -0
  465. package/dist/common/scrollbar.d.ts +20 -0
  466. package/dist/common/scrollbar.js +53 -0
  467. package/dist/common/types.d.ts +143 -0
  468. package/dist/common/types.js +40 -0
  469. package/dist/index.d.ts +33 -0
  470. package/dist/index.js +33 -0
  471. package/package.json +105 -0
@@ -0,0 +1,117 @@
1
+ import { Context } from '../common/index.js';
2
+ import { Pagination } from './index.js';
3
+ /**
4
+ * Manages the state for the Pagination root component.
5
+ * Handles the tracking of active and disabled pagination items.
6
+ * Provides methods to check and set the active and disabled states.
7
+ */
8
+ export class PaginationRootState {
9
+ props;
10
+ #activePaginationItemId = $state('');
11
+ #disabledPaginationItemId = $state('');
12
+ constructor(props) {
13
+ this.props = props;
14
+ this.isPaginationItemActive = this.isPaginationItemActive.bind(this);
15
+ this.setPaginationItemActive = this.setPaginationItemActive.bind(this);
16
+ this.isPaginationItemDisabled = this.isPaginationItemDisabled.bind(this);
17
+ this.setPaginationItemDisabled = this.setPaginationItemDisabled.bind(this);
18
+ }
19
+ isPaginationItemActive(itemId) {
20
+ return this.#activePaginationItemId === itemId;
21
+ }
22
+ setPaginationItemActive(itemId) {
23
+ this.#activePaginationItemId = itemId;
24
+ }
25
+ isPaginationItemDisabled(itemId) {
26
+ return this.#disabledPaginationItemId === itemId;
27
+ }
28
+ setPaginationItemDisabled(itemId) {
29
+ this.#disabledPaginationItemId = itemId;
30
+ }
31
+ }
32
+ /**
33
+ * Manages the state for an individual Pagination item.
34
+ * Tracks active and disabled states and provides methods to check and set these states.
35
+ * Initializes its active and disabled states based on the `isActive` and `isDisabled` props.
36
+ */
37
+ export class PaginationItemState {
38
+ props;
39
+ root;
40
+ isActive = $derived.by(() => this.root.isPaginationItemActive(this.props.id || ''));
41
+ isDisabled = $derived.by(() => this.root.isPaginationItemDisabled(this.props.id || ''));
42
+ constructor(props, root) {
43
+ this.props = props;
44
+ this.root = root;
45
+ if (this.props.isActive) {
46
+ this.root.setPaginationItemActive(this.props.id || '');
47
+ }
48
+ if (this.props.isDisabled) {
49
+ this.root.setPaginationItemDisabled(this.props.id || '');
50
+ }
51
+ }
52
+ }
53
+ /**
54
+ * Manages the state for the Pagination.Link component.
55
+ * Tracks the active state of the link and provides a method to handle click events.
56
+ * The click event sets the active state of the corresponding Pagination item.
57
+ */
58
+ export class PaginationLinkState {
59
+ props;
60
+ root;
61
+ item;
62
+ constructor(props, root, item) {
63
+ this.props = props;
64
+ this.root = root;
65
+ this.item = item;
66
+ this.onclick = this.onclick.bind(this);
67
+ }
68
+ onclick() {
69
+ if (this.root.props.isStateful) {
70
+ this.root.setPaginationItemActive(this.item.props.id || '');
71
+ }
72
+ }
73
+ }
74
+ const PaginationRootContext = new Context('pagination-root');
75
+ const PaginationItemContext = new Context('pagination-item');
76
+ /**
77
+ * Creates a new PaginationRootState and sets it in the PaginationRootContext.
78
+ * This function initializes the root state for the Pagination component.
79
+ * @param props The props of the Pagination component.
80
+ * @returns The created PaginationRootState instance.
81
+ */
82
+ export function initPaginationRootState(props) {
83
+ const rootState = new PaginationRootState(props);
84
+ return PaginationRootContext.set(rootState);
85
+ }
86
+ /**
87
+ * Creates a new PaginationItemState and sets it in the PaginationItemContext.
88
+ * This function initializes the state for an individual Pagination item.
89
+ * @param props The props of the Pagination.Item component.
90
+ * @returns The created PaginationItemState instance.
91
+ * @throws Will throw an error if PaginationRootContext is not set.
92
+ */
93
+ export function initPaginationItemState(props) {
94
+ if (!PaginationRootContext.exists()) {
95
+ throw new Error('PaginationRootContext is not set. Please initialize it first.');
96
+ }
97
+ const rootState = PaginationRootContext.get();
98
+ return PaginationItemContext.set(new PaginationItemState(props, rootState));
99
+ }
100
+ /**
101
+ * Creates a new PaginationLinkState and sets it in the PaginationItemContext.
102
+ * This function initializes the state for the Pagination.Link component.
103
+ * @param props The props of the Pagination.Link component.
104
+ * @returns The created PaginationLinkState instance.
105
+ * @throws Error if PaginationRootContext or PaginationItemContext is not set.
106
+ */
107
+ export function initPaginationLinkState(props) {
108
+ if (!PaginationRootContext.exists()) {
109
+ throw new Error('PaginationRootContext is not set. Please initialize it first.');
110
+ }
111
+ if (!PaginationItemContext.exists()) {
112
+ throw new Error('PaginationItemContext is not set. Please initialize it first.');
113
+ }
114
+ const rootState = PaginationRootContext.get();
115
+ const itemState = PaginationItemContext.get();
116
+ return new PaginationLinkState(props, rootState, itemState);
117
+ }
@@ -0,0 +1,19 @@
1
+ import type { AnchorElement, ListItemElement, UListElement } from '../common/types.js';
2
+ export type PaginationAlignment = 'start' | 'center' | 'end';
3
+ export type PaginationSize = 'sm' | 'lg';
4
+ export type PaginationRootProps = UListElement & {
5
+ alignment?: PaginationAlignment;
6
+ 'aria-label'?: string;
7
+ isStateful?: boolean;
8
+ size?: PaginationSize;
9
+ };
10
+ export type PaginationItemProps = ListItemElement & {
11
+ isActive?: boolean;
12
+ isDisabled?: boolean;
13
+ };
14
+ export type PaginationLinkProps = AnchorElement & {
15
+ 'aria-label'?: string;
16
+ href?: HTMLAnchorElement['href'];
17
+ isDisabled?: boolean;
18
+ onclick?: EventListener;
19
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ export { default as Item } from './placeholder-item.svelte';
2
+ export { default as Root } from './placeholder.svelte';
3
+ export type { PlaceholderItemProps as ItemProps, PlaceholderRootProps as RootProps } from './types.js';
@@ -0,0 +1,2 @@
1
+ export { default as Item } from './placeholder-item.svelte';
2
+ export { default as Root } from './placeholder.svelte';
@@ -0,0 +1 @@
1
+ export * as Placeholder from './composition.js';
@@ -0,0 +1 @@
1
+ export * as Placeholder from './composition.js';
@@ -0,0 +1,53 @@
1
+ <!--
2
+ @component
3
+ ## Placeholder.Item
4
+ A component that represents an individual placeholder element.
5
+
6
+ @example
7
+ ```svelte
8
+ <Placeholder.Item class="col-12" />
9
+ ```
10
+
11
+ #### Width options
12
+ ```svelte
13
+ <Placeholder.Item class="col-6" />
14
+ <Placeholder.Item class="w-75" />
15
+ <Placeholder.Item style="width: 25%;" />
16
+ ```
17
+
18
+ #### Size variants
19
+ ```svelte
20
+ <Placeholder.Item class="col-12" size="lg" />
21
+ <Placeholder.Item class="col-12" />
22
+ <Placeholder.Item class="col-12" size="sm" />
23
+ <Placeholder.Item class="col-12" size="xs" />
24
+ ```
25
+
26
+ #### Color variants
27
+ ```svelte
28
+ <Placeholder.Item class="col-12" colorVariant="primary" />
29
+ <Placeholder.Item class="col-12" colorVariant="secondary" />
30
+ <Placeholder.Item class="col-12" colorVariant="success" />
31
+ <Placeholder.Item class="col-12" colorVariant="danger" />
32
+ <Placeholder.Item class="col-12" colorVariant="warning" />
33
+ <Placeholder.Item class="col-12" colorVariant="info" />
34
+ <Placeholder.Item class="col-12" colorVariant="light" />
35
+ <Placeholder.Item class="col-12" colorVariant="dark" />
36
+ ```
37
+
38
+ ### Props
39
+ - `class` (string): Optional. CSS classes for styling the placeholder item.
40
+ - `colorVariant` (string): Optional. Color variant for the placeholder ('primary', 'success', etc.).
41
+ - `elementRef` (HTMLSpanElement): Optional. Reference to the placeholder item DOM element.
42
+ - `id` (string): Optional. ID for the placeholder item element.
43
+ - `size` ('xs' | 'sm' | 'lg'): Optional. Size of the placeholder.
44
+ - `isAnimated` (boolean): Optional. Whether the placeholder should animate, defaults to true.
45
+ -->
46
+ <script lang="ts">import { uniqueClsx } from '../common/css.js';
47
+ let { children, class: classValues, colorVariant, elementRef = $bindable(null), size, ...restOfProps } = $props();
48
+ let classes = $derived(uniqueClsx('placeholder', size && `placeholder-${size}`, colorVariant && `bg-${colorVariant}`, classValues));
49
+ </script>
50
+
51
+ <span bind:this={elementRef} class={classes} {...restOfProps}>
52
+ {@render children?.()}
53
+ </span>
@@ -0,0 +1,48 @@
1
+ import type { Placeholder } from './index.js';
2
+ /**
3
+ * ## Placeholder.Item
4
+ * A component that represents an individual placeholder element.
5
+ *
6
+ * @example
7
+ * ```svelte
8
+ * <Placeholder.Item class="col-12" />
9
+ * ```
10
+ *
11
+ * #### Width options
12
+ * ```svelte
13
+ * <Placeholder.Item class="col-6" />
14
+ * <Placeholder.Item class="w-75" />
15
+ * <Placeholder.Item style="width: 25%;" />
16
+ * ```
17
+ *
18
+ * #### Size variants
19
+ * ```svelte
20
+ * <Placeholder.Item class="col-12" size="lg" />
21
+ * <Placeholder.Item class="col-12" />
22
+ * <Placeholder.Item class="col-12" size="sm" />
23
+ * <Placeholder.Item class="col-12" size="xs" />
24
+ * ```
25
+ *
26
+ * #### Color variants
27
+ * ```svelte
28
+ * <Placeholder.Item class="col-12" colorVariant="primary" />
29
+ * <Placeholder.Item class="col-12" colorVariant="secondary" />
30
+ * <Placeholder.Item class="col-12" colorVariant="success" />
31
+ * <Placeholder.Item class="col-12" colorVariant="danger" />
32
+ * <Placeholder.Item class="col-12" colorVariant="warning" />
33
+ * <Placeholder.Item class="col-12" colorVariant="info" />
34
+ * <Placeholder.Item class="col-12" colorVariant="light" />
35
+ * <Placeholder.Item class="col-12" colorVariant="dark" />
36
+ * ```
37
+ *
38
+ * ### Props
39
+ * - `class` (string): Optional. CSS classes for styling the placeholder item.
40
+ * - `colorVariant` (string): Optional. Color variant for the placeholder ('primary', 'success', etc.).
41
+ * - `elementRef` (HTMLSpanElement): Optional. Reference to the placeholder item DOM element.
42
+ * - `id` (string): Optional. ID for the placeholder item element.
43
+ * - `size` ('xs' | 'sm' | 'lg'): Optional. Size of the placeholder.
44
+ * - `isAnimated` (boolean): Optional. Whether the placeholder should animate, defaults to true.
45
+ */
46
+ declare const PlaceholderItem: import("svelte").Component<Placeholder.ItemProps, {}, "elementRef">;
47
+ type PlaceholderItem = ReturnType<typeof PlaceholderItem>;
48
+ export default PlaceholderItem;
@@ -0,0 +1,37 @@
1
+ <!--
2
+ @component
3
+ ## Placeholder.Root
4
+ A container for placeholder items with optional animation effects.
5
+
6
+ @example
7
+ ```svelte
8
+ <Placeholder.Root>
9
+ <Placeholder.Item width="col-12" />
10
+ <Placeholder.Item width="col-8" />
11
+ </Placeholder.Root>
12
+ ```
13
+
14
+ #### Animation types
15
+ ```svelte
16
+ <Placeholder.Root type="glow">
17
+ <Placeholder.Item width="col-12" />
18
+ </Placeholder.Root>
19
+
20
+ <Placeholder.Root type="wave">
21
+ <Placeholder.Item width="col-12" />
22
+ </Placeholder.Root>
23
+ ```
24
+
25
+ ### Props
26
+ - `class` (string): Optional. CSS classes for styling the placeholder container
27
+ - `elementRef` (HTMLDivElement): Optional. Reference to the placeholder container DOM element
28
+ - `type` ('glow' | 'wave'): Optional. Animation type for the placeholders, defaults to 'glow'
29
+ -->
30
+ <script lang="ts">import { uniqueClsx } from '../common/css.js';
31
+ let { children, class: classValues, elementRef = $bindable(null), type = 'glow', ...restOfProps } = $props();
32
+ let classes = $derived(uniqueClsx(`placeholder-${type}`, classValues));
33
+ </script>
34
+
35
+ <div bind:this={elementRef} class={classes} {...restOfProps}>
36
+ {@render children?.()}
37
+ </div>
@@ -0,0 +1,32 @@
1
+ import type { Placeholder } from './index.js';
2
+ /**
3
+ * ## Placeholder.Root
4
+ * A container for placeholder items with optional animation effects.
5
+ *
6
+ * @example
7
+ * ```svelte
8
+ * <Placeholder.Root>
9
+ * <Placeholder.Item width="col-12" />
10
+ * <Placeholder.Item width="col-8" />
11
+ * </Placeholder.Root>
12
+ * ```
13
+ *
14
+ * #### Animation types
15
+ * ```svelte
16
+ * <Placeholder.Root type="glow">
17
+ * <Placeholder.Item width="col-12" />
18
+ * </Placeholder.Root>
19
+ *
20
+ * <Placeholder.Root type="wave">
21
+ * <Placeholder.Item width="col-12" />
22
+ * </Placeholder.Root>
23
+ * ```
24
+ *
25
+ * ### Props
26
+ * - `class` (string): Optional. CSS classes for styling the placeholder container
27
+ * - `elementRef` (HTMLDivElement): Optional. Reference to the placeholder container DOM element
28
+ * - `type` ('glow' | 'wave'): Optional. Animation type for the placeholders, defaults to 'glow'
29
+ */
30
+ declare const Placeholder: import("svelte").Component<Placeholder.RootProps, {}, "elementRef">;
31
+ type Placeholder = ReturnType<typeof Placeholder>;
32
+ export default Placeholder;
@@ -0,0 +1,12 @@
1
+ import type { BaseColorVariant, DivElement, SpanElement } from '../common/types.js';
2
+ export type PlaceholderAnimationType = 'glow' | 'wave';
3
+ export type PlaceholderItemColorVariant = BaseColorVariant;
4
+ export type PlaceholderItemSize = 'xs' | 'sm' | 'lg';
5
+ export type PlaceholderRootProps = DivElement & {
6
+ type?: PlaceholderAnimationType;
7
+ };
8
+ export type PlaceholderItemProps = SpanElement & {
9
+ colorVariant?: PlaceholderItemColorVariant;
10
+ isAnimated?: boolean;
11
+ size?: PlaceholderItemSize;
12
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ export { default as Body } from './popover-body.svelte';
2
+ export { default as Header } from './popover-header.svelte';
3
+ export { default as Root } from './popover.svelte';
4
+ export type { PopoverBodyProps as BodyProps, PopoverHeaderProps as HeaderProps, PopoverRootProps as RootProps } from './types.js';
@@ -0,0 +1,3 @@
1
+ export { default as Body } from './popover-body.svelte';
2
+ export { default as Header } from './popover-header.svelte';
3
+ export { default as Root } from './popover.svelte';
@@ -0,0 +1 @@
1
+ export * as Popover from './composition.js';
@@ -0,0 +1 @@
1
+ export * as Popover from './composition.js';
@@ -0,0 +1,10 @@
1
+ <script lang="ts">import { uniqueClsx } from '../common/css.js';
2
+ // Generate a unique ID for the component, in case one is not provided...
3
+ const uid = $props.id();
4
+ let { children, class: classValues, elementRef = $bindable(null), id = `popover-body-${uid}`, ...restOfProps } = $props();
5
+ let classes = $derived(uniqueClsx('popover-body', classValues));
6
+ </script>
7
+
8
+ <div bind:this={elementRef} class={classes} {id} {...restOfProps}>
9
+ {@render children?.()}
10
+ </div>
@@ -0,0 +1,3 @@
1
+ declare const PopoverBody: import("svelte").Component<import("../index.js").DivElement, {}, "elementRef">;
2
+ type PopoverBody = ReturnType<typeof PopoverBody>;
3
+ export default PopoverBody;
@@ -0,0 +1,11 @@
1
+ <script lang="ts">import { uniqueClsx } from '../common/css.js';
2
+ // Generate a unique ID for the component, in case one is not provided...
3
+ const uid = $props.id();
4
+ let { children, class: classValues, elementRef = $bindable(null), id = `popover-header-${uid}`, level = 3, ...restOfProps } = $props();
5
+ let elementType = $derived(`h${level}`);
6
+ let classes = $derived(uniqueClsx('popover-header', classValues));
7
+ </script>
8
+
9
+ <svelte:element this={elementType} bind:this={elementRef} class={classes} {id} {...restOfProps}>
10
+ {@render children?.()}
11
+ </svelte:element>
@@ -0,0 +1,4 @@
1
+ import type { Popover } from './index.js';
2
+ declare const PopoverHeader: import("svelte").Component<Popover.HeaderProps, {}, "elementRef">;
3
+ type PopoverHeader = ReturnType<typeof PopoverHeader>;
4
+ export default PopoverHeader;
@@ -0,0 +1,74 @@
1
+ <!--
2
+ @component
3
+ ## Popover
4
+ Add small overlay content to any element for housing secondary information or interactive controls.
5
+
6
+ @example
7
+ ```svelte
8
+ <Button id="popover-button">Click for Popover</Button>
9
+ <Popover.Root isShown={true} referenceElementId="popover-button">
10
+ <Popover.Header>Popover Title</Popover.Header>
11
+ <Popover.Body>
12
+ <p>This is the popover content.</p>
13
+ </Popover.Body>
14
+ </Popover.Root>
15
+ ```
16
+
17
+ #### Different Triggers
18
+ ```svelte
19
+ <Popover.Root trigger="click" referenceElementId="click-button">...</Popover.Root>
20
+ <Popover.Root trigger="hover" referenceElementId="hover-button">...</Popover.Root>
21
+ <Popover.Root trigger="focus" referenceElementId="focus-button">...</Popover.Root>
22
+ ```
23
+ #### Placement Options
24
+ ```svelte
25
+ <Popover.Root placement="top" referenceElementId="top-button">...</Popover.Root>
26
+ <Popover.Root placement="right" referenceElementId="right-button">...</Popover.Root>
27
+ <Popover.Root placement="bottom" referenceElementId="bottom-button">...</Popover.Root>
28
+ <Popover.Root placement="left" referenceElementId="left-button">...</Popover.Root>
29
+ ```
30
+ #### Custom Container
31
+ ```svelte
32
+ <div id="custom-container"></div>
33
+ <Popover.Root container="#custom-container" referenceElementId="container-button">...</Popover.Root>
34
+ ```
35
+ ### Props
36
+ - `children` (slot): Content to display inside the popover.
37
+ - `class` (string): Optional. Additional CSS classes.
38
+ - `container` (string | HTMLElement | false): Optional. Specifies the container where the popover should be appended. Default is 'body'.
39
+ - `elementRef` (HTMLElement): Optional. Reference to the popover DOM element.
40
+ - `id` (string): Optional. ID for the popover element.
41
+ - `isShown` (boolean): Optional. Controls whether the popover is visible.
42
+ - `onHide` (function): Optional. Callback to invoke when the popover starts hiding.
43
+ - `onHidden` (function): Optional. Callback to invoke when the popover has been hidden.
44
+ - `onShow` (function): Optional. Callback to invoke when the popover starts showing.
45
+ - `onShown` (function): Optional. Callback to invoke when the popover has been shown.
46
+ - `placement` (string): Optional. Position of the popover relative to the trigger element. Options: 'top', 'right', 'bottom', 'left', 'auto'. Default is 'right'.
47
+ - `referenceElementId` (string): Required. ID of the element that triggers the popover. It accommodates the id containing a hash or not.
48
+ - `trigger` (string): Optional. Event type that triggers the popover. Options: 'click', 'hover', 'focus', or space-separated combinations. Default is 'click'.
49
+ - `useFade` (boolean): Optional. Controls whether the popover uses a fade transition. Default is true.
50
+ -->
51
+ <script lang="ts">import { Tooltip } from '../index.js';
52
+ // Generate a unique ID for the component, in case one is not provided...
53
+ const uid = $props.id();
54
+ let { children, class: classValues, container = false, elementRef = $bindable(null), id = `popover-${uid}`, isShown = false, onHide, onHidden, onShow, onShown, placement = 'right', referenceElementId, trigger = 'click', useFade = true, ...restOfProps } = $props();
55
+ </script>
56
+
57
+ <Tooltip.Root
58
+ bind:elementRef
59
+ class={classValues}
60
+ {container}
61
+ {id}
62
+ {isShown}
63
+ {onHide}
64
+ {onHidden}
65
+ {onShow}
66
+ {onShown}
67
+ {placement}
68
+ {referenceElementId}
69
+ {trigger}
70
+ type="popover"
71
+ {useFade}
72
+ {...restOfProps}>
73
+ {@render children?.()}
74
+ </Tooltip.Root>
@@ -0,0 +1,53 @@
1
+ import type { Popover } from './index.js';
2
+ /**
3
+ * ## Popover
4
+ * Add small overlay content to any element for housing secondary information or interactive controls.
5
+ *
6
+ * @example
7
+ * ```svelte
8
+ * <Button id="popover-button">Click for Popover</Button>
9
+ * <Popover.Root isShown={true} referenceElementId="popover-button">
10
+ * <Popover.Header>Popover Title</Popover.Header>
11
+ * <Popover.Body>
12
+ * <p>This is the popover content.</p>
13
+ * </Popover.Body>
14
+ * </Popover.Root>
15
+ * ```
16
+ *
17
+ * #### Different Triggers
18
+ * ```svelte
19
+ * <Popover.Root trigger="click" referenceElementId="click-button">...</Popover.Root>
20
+ * <Popover.Root trigger="hover" referenceElementId="hover-button">...</Popover.Root>
21
+ * <Popover.Root trigger="focus" referenceElementId="focus-button">...</Popover.Root>
22
+ * ```
23
+ * #### Placement Options
24
+ * ```svelte
25
+ * <Popover.Root placement="top" referenceElementId="top-button">...</Popover.Root>
26
+ * <Popover.Root placement="right" referenceElementId="right-button">...</Popover.Root>
27
+ * <Popover.Root placement="bottom" referenceElementId="bottom-button">...</Popover.Root>
28
+ * <Popover.Root placement="left" referenceElementId="left-button">...</Popover.Root>
29
+ * ```
30
+ * #### Custom Container
31
+ * ```svelte
32
+ * <div id="custom-container"></div>
33
+ * <Popover.Root container="#custom-container" referenceElementId="container-button">...</Popover.Root>
34
+ * ```
35
+ * ### Props
36
+ * - `children` (slot): Content to display inside the popover.
37
+ * - `class` (string): Optional. Additional CSS classes.
38
+ * - `container` (string | HTMLElement | false): Optional. Specifies the container where the popover should be appended. Default is 'body'.
39
+ * - `elementRef` (HTMLElement): Optional. Reference to the popover DOM element.
40
+ * - `id` (string): Optional. ID for the popover element.
41
+ * - `isShown` (boolean): Optional. Controls whether the popover is visible.
42
+ * - `onHide` (function): Optional. Callback to invoke when the popover starts hiding.
43
+ * - `onHidden` (function): Optional. Callback to invoke when the popover has been hidden.
44
+ * - `onShow` (function): Optional. Callback to invoke when the popover starts showing.
45
+ * - `onShown` (function): Optional. Callback to invoke when the popover has been shown.
46
+ * - `placement` (string): Optional. Position of the popover relative to the trigger element. Options: 'top', 'right', 'bottom', 'left', 'auto'. Default is 'right'.
47
+ * - `referenceElementId` (string): Required. ID of the element that triggers the popover. It accommodates the id containing a hash or not.
48
+ * - `trigger` (string): Optional. Event type that triggers the popover. Options: 'click', 'hover', 'focus', or space-separated combinations. Default is 'click'.
49
+ * - `useFade` (boolean): Optional. Controls whether the popover uses a fade transition. Default is true.
50
+ */
51
+ declare const Popover: import("svelte").Component<Popover.RootProps, {}, "elementRef">;
52
+ type Popover = ReturnType<typeof Popover>;
53
+ export default Popover;
@@ -0,0 +1,20 @@
1
+ import type { DivElement, HeadingElement, HeadingLevels, PopperPlacement } from '../common/types.js';
2
+ export type PopoverContainer = string | HTMLElement | false;
3
+ export type PopoverPlacement = PopperPlacement;
4
+ export type PopoverTrigger = 'click' | 'hover' | 'focus' | 'manual';
5
+ export type PopoverRootProps = DivElement & {
6
+ container?: PopoverContainer;
7
+ isShown?: boolean;
8
+ onHide?: EventListener;
9
+ onHidden?: EventListener;
10
+ onShow?: EventListener;
11
+ onShown?: EventListener;
12
+ placement?: PopoverPlacement;
13
+ referenceElementId?: string;
14
+ trigger?: PopoverTrigger | string;
15
+ useFade?: boolean;
16
+ };
17
+ export type PopoverHeaderProps = HeadingElement & {
18
+ level?: HeadingLevels;
19
+ };
20
+ export type PopoverBodyProps = DivElement;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export { default as Portal } from './portal.svelte';
2
+ export * from './types.js';
@@ -0,0 +1,2 @@
1
+ export { default as Portal } from './portal.svelte';
2
+ export * from './types.js';
@@ -0,0 +1,5 @@
1
+ <script lang="ts">const { children } = $props();
2
+ export {};
3
+ </script>
4
+
5
+ {@render children?.()}
@@ -0,0 +1,7 @@
1
+ import type { Snippet } from 'svelte';
2
+ type $$ComponentProps = {
3
+ children: Snippet;
4
+ };
5
+ declare const PortalHost: import("svelte").Component<$$ComponentProps, {}, "">;
6
+ type PortalHost = ReturnType<typeof PortalHost>;
7
+ export default PortalHost;
@@ -0,0 +1,69 @@
1
+ <!--
2
+ @component
3
+ ## Portal
4
+ Render a component into a different part of the DOM tree.
5
+
6
+ @example
7
+ ```svelte
8
+ <Portal target="body">
9
+ <div>
10
+ <h1>Hello from the portal!</h1>
11
+ <p>This content is rendered as a child of the <code>body</code> element.</p>
12
+ </div>
13
+ </Portal>
14
+ ```
15
+
16
+ #### Disabled prop
17
+ ```svelte
18
+ <Portal target="body" disabled={true}>
19
+ <div>
20
+ <p>This content will be rendered inline instead of as a child of the <code>body</code> element.</p>
21
+ </div>
22
+ </Portal>
23
+ ```
24
+
25
+ ### Props
26
+ - `children`: The content to render inside the portal. This can be any valid Svelte component or HTML element.
27
+ - `disabled`: If true, the portal will not be rendered. This is useful for conditionally rendering the portal based on some state.
28
+ - `target`: The target element to render the portal into. This can be a string selector or an element reference.
29
+ -->
30
+ <script lang="ts">import { getAllContexts, mount, unmount } from 'svelte';
31
+ import PortalHost from './portal-host.svelte';
32
+ const { children, target, disabled = false } = $props();
33
+ const allContexts = getAllContexts();
34
+ $effect(() => {
35
+ let component;
36
+ let element;
37
+ if (disabled) {
38
+ return;
39
+ }
40
+ if (!target) {
41
+ console.warn(`[Portal] target is not defined. Please provide a valid target element.`);
42
+ return;
43
+ }
44
+ if (typeof target === 'string') {
45
+ element = document.querySelector(target);
46
+ }
47
+ else {
48
+ element = target;
49
+ }
50
+ if (!element) {
51
+ console.warn(`[Portal] Unable to find target element: ${target}`);
52
+ return;
53
+ }
54
+ component = mount(PortalHost, {
55
+ target: element,
56
+ props: { children },
57
+ context: allContexts
58
+ });
59
+ return () => {
60
+ if (component) {
61
+ unmount(component);
62
+ }
63
+ };
64
+ });
65
+ </script>
66
+
67
+ {#if disabled}
68
+ {@render children()}
69
+ {/if}