@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,83 @@
1
+ import { Context } from '../common/index.js';
2
+ /**
3
+ * ToastRootState is the state of the Toast component.
4
+ * It is used to manage the state of the Toast and its children.
5
+ */
6
+ export class ToastRootState {
7
+ props;
8
+ // Default values for toast configuration
9
+ static DELAY_DEFAULT = 5000;
10
+ static DO_AUTOHIDE_DEFAULT = true;
11
+ static IS_SHOWN_DEFAULT = false;
12
+ static USE_FADE_DEFAULT = true;
13
+ // Using private field with getter to prevent external mutation without using the toggle method
14
+ #isShown = $state(ToastRootState.IS_SHOWN_DEFAULT);
15
+ constructor(props) {
16
+ this.props = props;
17
+ this.#isShown = this.props.isShown ?? ToastRootState.IS_SHOWN_DEFAULT;
18
+ }
19
+ get isShown() {
20
+ return this.#isShown;
21
+ }
22
+ /**
23
+ * Toggles the visibility state of the toast
24
+ * This is the only way to change the isShown state externally
25
+ */
26
+ toggleIsShown() {
27
+ this.#isShown = !this.#isShown;
28
+ }
29
+ }
30
+ /**
31
+ * ToastHeaderState is the state of the Toast.Header component.
32
+ * It is used to manage the state of the Toast.Header and its children.
33
+ */
34
+ export class ToastHeaderState {
35
+ props;
36
+ root;
37
+ static IS_DISMISSIBLE_DEFAULT = true;
38
+ /**
39
+ * Derived state that depends on parent toast's visibility
40
+ * When the toast root's visibility changes, this will automatically update
41
+ */
42
+ isShown = $derived.by(() => this.root.isShown);
43
+ // Controls whether the close button is displayed in the header
44
+ isDismissible = $state(ToastHeaderState.IS_DISMISSIBLE_DEFAULT);
45
+ constructor(props, root) {
46
+ this.props = props;
47
+ this.root = root;
48
+ this.isDismissible = this.props.isDismissible ?? ToastHeaderState.IS_DISMISSIBLE_DEFAULT;
49
+ }
50
+ /**
51
+ * Event handler for the close button
52
+ * Delegates to the parent toast's toggle method to maintain a single source of truth
53
+ */
54
+ onclick() {
55
+ this.root.toggleIsShown();
56
+ }
57
+ }
58
+ /**
59
+ * Context for sharing toast state across component hierarchy
60
+ * Uses a unique key to prevent collisions with other contexts
61
+ */
62
+ const ToastRootContext = new Context('toast-root');
63
+ /**
64
+ * Creates a new ToastRootState and sets it in the context.
65
+ * @param props The props of the Toast component.
66
+ * @returns The created ToastRootState.
67
+ */
68
+ export function initToastRootState(props) {
69
+ const rootState = new ToastRootState(props);
70
+ return ToastRootContext.set(rootState);
71
+ }
72
+ /**
73
+ * Creates a new ToastHeaderState and sets it in the context.
74
+ * @param props The props of the Toast.Header component.
75
+ * @returns The created ToastHeaderState.
76
+ */
77
+ export function initToastHeaderState(props) {
78
+ if (!ToastRootContext.exists()) {
79
+ throw new Error('Toast.Header requires Toast.Root context. Please ensure Toast.Root is initialized before Toast.Header.');
80
+ }
81
+ const rootState = ToastRootContext.get();
82
+ return new ToastHeaderState(props, rootState);
83
+ }
@@ -0,0 +1,53 @@
1
+ import type { DivElement } from '../common/types.js';
2
+ /**
3
+ * Specifies the position of toasts within a container
4
+ *
5
+ * The naming convention follows a two-part structure:
6
+ * - Vertical position: top, middle, bottom
7
+ * - Horizontal position: start, center, end (respects RTL/LTR direction)
8
+ */
9
+ export type ToastPlacement = 'top-start' | 'top-center' | 'top-end' | 'middle-start' | 'middle-center' | 'middle-end' | 'bottom-start' | 'bottom-center' | 'bottom-end';
10
+ /**
11
+ * Transforms the placement type into a Bootstrap class string.
12
+ * @param placement the placement of the toast
13
+ * @returns the corresponding Bootstrap class string
14
+ */
15
+ export declare const transformToastPlacement: (placement: ToastPlacement) => string;
16
+ /**
17
+ * Props for the main Toast component
18
+ *
19
+ * Controls visibility, animation, timing, and lifecycle events
20
+ */
21
+ export type ToastRootProps = DivElement & {
22
+ delay?: number;
23
+ doAutohide?: boolean;
24
+ isShown?: boolean;
25
+ onHide?: EventListener;
26
+ onHidden?: EventListener;
27
+ onShow?: EventListener;
28
+ onShown?: EventListener;
29
+ useFade?: boolean;
30
+ };
31
+ /**
32
+ * Props for the Toast header section
33
+ *
34
+ * Contains title and optional close button
35
+ */
36
+ export type ToastHeaderProps = DivElement & {
37
+ isDismissible?: boolean;
38
+ };
39
+ /**
40
+ * Props for the Toast body content
41
+ *
42
+ * Contains the main toast message
43
+ */
44
+ export type ToastBodyProps = DivElement;
45
+ /**
46
+ * Props for the Toast container component
47
+ *
48
+ * Manages multiple toasts with positioning control
49
+ */
50
+ export type ToastContainerProps = DivElement & {
51
+ isFixed?: boolean;
52
+ placement?: ToastPlacement;
53
+ };
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Transforms the placement type into a Bootstrap class string.
3
+ * @param placement the placement of the toast
4
+ * @returns the corresponding Bootstrap class string
5
+ */
6
+ export const transformToastPlacement = (placement) => {
7
+ const placementTypeToClassMap = {
8
+ 'top-start': 'top-0 start-0',
9
+ 'top-center': 'top-0 start-50 translate-middle-x',
10
+ 'top-end': 'top-0 end-0',
11
+ 'middle-start': 'top-50 start-0 translate-middle-y',
12
+ 'middle-center': 'top-50 start-50 translate-middle',
13
+ 'middle-end': 'top-50 end-0 translate-middle-y',
14
+ 'bottom-start': 'bottom-0 start-0',
15
+ 'bottom-center': 'bottom-0 start-50 translate-middle-x',
16
+ 'bottom-end': 'bottom-0 end-0'
17
+ };
18
+ return placementTypeToClassMap[placement];
19
+ };
@@ -0,0 +1,3 @@
1
+ export { default as Inner } from './tooltip-inner.svelte';
2
+ export { default as Root } from './tooltip.svelte';
3
+ export type { TooltipInnerProps as InnerProps, TooltipRootProps as RootProps } from './types.js';
@@ -0,0 +1,2 @@
1
+ export { default as Inner } from './tooltip-inner.svelte';
2
+ export { default as Root } from './tooltip.svelte';
@@ -0,0 +1 @@
1
+ export * as Tooltip from './composition.js';
@@ -0,0 +1 @@
1
+ export * as Tooltip 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 = `tooltip-inner-${uid}`, ...restOfProps } = $props();
5
+ let classes = $derived(uniqueClsx('tooltip-inner', classValues));
6
+ </script>
7
+
8
+ <div bind:this={elementRef} class={classes} {id} {...restOfProps}>
9
+ {@render children?.()}
10
+ </div>
@@ -0,0 +1,4 @@
1
+ import type { Tooltip } from './index.js';
2
+ declare const TooltipInner: import("svelte").Component<Tooltip.InnerProps, {}, "elementRef">;
3
+ type TooltipInner = ReturnType<typeof TooltipInner>;
4
+ export default TooltipInner;
@@ -0,0 +1,213 @@
1
+ <!--
2
+ @component
3
+ ## Tooltip
4
+ Add small overlay content to any element for housing secondary information or interactive controls.
5
+
6
+ @example
7
+ ```svelte
8
+ <Button id="tooltip-button">Click for Tooltip</Button>
9
+ <Tooltip.Root isShown={true} referenceElementId="tooltip-button">
10
+ <Tooltip.Header>Tooltip Title</Tooltip.Header>
11
+ <Tooltip.Body>
12
+ <p>This is the tooltip content.</p>
13
+ </Tooltip.Body>
14
+ </Tooltip.Root>
15
+ ```
16
+
17
+ #### Different Triggers
18
+ ```svelte
19
+ <Tooltip.Root trigger="click" referenceElementId="click-button">...</Tooltip.Root>
20
+ <Tooltip.Root trigger="hover" referenceElementId="hover-button">...</Tooltip.Root>
21
+ <Tooltip.Root trigger="focus" referenceElementId="focus-button">...</Tooltip.Root>
22
+ ```
23
+ #### Placement Options
24
+ ```svelte
25
+ <Tooltip.Root placement="top" referenceElementId="top-button">...</Tooltip.Root>
26
+ <Tooltip.Root placement="right" referenceElementId="right-button">...</Tooltip.Root>
27
+ <Tooltip.Root placement="bottom" referenceElementId="bottom-button">...</Tooltip.Root>
28
+ <Tooltip.Root placement="left" referenceElementId="left-button">...</Tooltip.Root>
29
+ ```
30
+ #### Custom Container
31
+ ```svelte
32
+ <div id="custom-container"></div>
33
+ <Tooltip.Root container="#custom-container" referenceElementId="container-button">...</Tooltip.Root>
34
+ ```
35
+ ### Props
36
+ - `children` (slot): Content to display inside the tooltip.
37
+ - `class` (string): Optional. Additional CSS classes.
38
+ - `container` (string | HTMLElement | false): Optional. Specifies the container where the tooltip should be appended. Default is 'body'.
39
+ - `elementRef` (HTMLElement): Optional. Reference to the tooltip DOM element.
40
+ - `id` (string): Optional. ID for the tooltip element.
41
+ - `isShown` (boolean): Optional. Controls whether the tooltip is visible.
42
+ - `onHide` (function): Optional. Callback to invoke when the tooltip starts hiding.
43
+ - `onHidden` (function): Optional. Callback to invoke when the tooltip has been hidden.
44
+ - `onShow` (function): Optional. Callback to invoke when the tooltip starts showing.
45
+ - `onShown` (function): Optional. Callback to invoke when the tooltip has been shown.
46
+ - `placement` (string): Optional. Position of the tooltip 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 tooltip. It accommodates the id containing a hash or not.
48
+ - `trigger` (string): Optional. Event type that triggers the tooltip. Options: 'click', 'hover', 'focus', or space-separated combinations. Default is 'click'.
49
+ - `type` (string): Optional. Type of the tooltip. Default is 'tooltip'. Can be 'tooltip' or 'popover'.
50
+ - `useFade` (boolean): Optional. Controls whether the tooltip uses a fade transition. Default is true.
51
+ -->
52
+ <script lang="ts">import { hasFocus, noop, uniqueClsx } from '../common/index.js';
53
+ import { Portal } from '../index.js';
54
+ import { createPopper } from '@popperjs/core';
55
+ import { onMount } from 'svelte';
56
+ import { fade } from 'svelte/transition';
57
+ // Generate a unique ID for the component, in case one is not provided...
58
+ const uid = $props.id();
59
+ let { children, class: classValues, container = false, elementRef = $bindable(null), id, isShown = false, onHide = noop, onHidden = noop, onShow = noop, onShown = noop, placement, referenceElementId, trigger, type = 'tooltip', useFade = true, ...restOfProps } = $props();
60
+ // Set defaults based on type
61
+ let effectiveId = $derived(id || `${type}-${uid}`);
62
+ let effectivePlacement = $derived(placement || (type === 'tooltip' ? 'top' : 'right'));
63
+ let effectiveTrigger = $derived(trigger || (type === 'tooltip' ? 'hover focus' : 'click'));
64
+ const unset = Symbol('unset');
65
+ let previousTrigger = unset;
66
+ let popperInstance = null;
67
+ let popperPlacement = $state('');
68
+ let referenceElement = $state(null);
69
+ let currentPopperPlacement = $derived(popperPlacement || effectivePlacement || 'top');
70
+ let triggers = $derived.by(() => effectiveTrigger.split(' ')); // support space-delimited list of triggers
71
+ let classes = $derived(uniqueClsx(type, {
72
+ [`bs-${type}-auto`]: currentPopperPlacement === 'auto',
73
+ [`bs-${type}-start`]: currentPopperPlacement === 'left',
74
+ [`bs-${type}-end`]: currentPopperPlacement === 'right',
75
+ [`bs-${type}-top`]: currentPopperPlacement === 'top',
76
+ [`bs-${type}-bottom`]: currentPopperPlacement === 'bottom',
77
+ fade: useFade,
78
+ show: isShown
79
+ }, classValues));
80
+ // Operations...
81
+ const hide = () => (isShown = false);
82
+ const show = () => (isShown = true);
83
+ const toggle = () => {
84
+ if (triggers.includes('focus') && hasFocus(referenceElement)) {
85
+ // If the reference element is focused, we don't want to toggle the tooltip
86
+ return;
87
+ }
88
+ isShown = !isShown;
89
+ };
90
+ const addEventListeners = () => {
91
+ if (!referenceElement) {
92
+ return;
93
+ }
94
+ if (triggers.length === 0) {
95
+ return;
96
+ }
97
+ if (triggers.includes('click')) {
98
+ referenceElement.addEventListener('click', toggle);
99
+ }
100
+ if (triggers.includes('hover')) {
101
+ referenceElement.addEventListener('mouseenter', show);
102
+ referenceElement.addEventListener('mouseleave', hide);
103
+ }
104
+ if (triggers.includes('focus')) {
105
+ referenceElement.addEventListener('focusin', show);
106
+ referenceElement.addEventListener('focusout', hide);
107
+ }
108
+ };
109
+ const destroyPopper = () => {
110
+ if (!popperInstance) {
111
+ return;
112
+ }
113
+ popperInstance.destroy();
114
+ popperInstance = null;
115
+ };
116
+ const removeEventListeners = () => {
117
+ if (!referenceElement) {
118
+ return;
119
+ }
120
+ referenceElement.removeEventListener('click', toggle);
121
+ referenceElement.removeEventListener('mouseenter', show);
122
+ referenceElement.removeEventListener('mouseleave', hide);
123
+ referenceElement.removeEventListener('focusin', show);
124
+ referenceElement.removeEventListener('focusout', hide);
125
+ };
126
+ // Event listeners...
127
+ const handleOnHidden = (event) => {
128
+ destroyPopper();
129
+ onHidden(event);
130
+ };
131
+ onMount(() => {
132
+ if (typeof window === 'undefined') {
133
+ return;
134
+ }
135
+ if (!referenceElementId) {
136
+ console.warn(`${type.charAt(0).toUpperCase() + type.slice(1)}: Missing referenceElementId. Unable to find the reference element.`);
137
+ return;
138
+ }
139
+ // accommodate the id containing a hash or not...
140
+ const elementId = referenceElementId.startsWith('#') ? referenceElementId.substring(1) : referenceElementId;
141
+ referenceElement = document.querySelector(`#${elementId}`);
142
+ addEventListeners();
143
+ return () => {
144
+ destroyPopper();
145
+ removeEventListeners();
146
+ };
147
+ });
148
+ // Listen changes to the `trigger` prop and update the state accordingly...
149
+ $effect(() => {
150
+ if (previousTrigger !== unset && previousTrigger !== effectiveTrigger) {
151
+ removeEventListeners();
152
+ addEventListeners();
153
+ }
154
+ previousTrigger = effectiveTrigger;
155
+ });
156
+ // Listen changes to the `isShown` prop and update the state accordingly...
157
+ $effect(() => {
158
+ if (!isShown || !elementRef || !referenceElement) {
159
+ return;
160
+ }
161
+ destroyPopper();
162
+ popperInstance = createPopper(referenceElement, elementRef, {
163
+ placement: effectivePlacement,
164
+ modifiers: [
165
+ {
166
+ name: 'placementUpdated',
167
+ enabled: true,
168
+ phase: 'main',
169
+ fn({ state }) {
170
+ // Only support the placement of auto, top, right, bottom, left...
171
+ if ((state.placement === 'auto' && popperPlacement !== 'auto') ||
172
+ (state.placement === 'top' && popperPlacement !== 'top') ||
173
+ (state.placement === 'left' && popperPlacement !== 'left') ||
174
+ (state.placement === 'right' && popperPlacement !== 'right') ||
175
+ (state.placement === 'bottom' && popperPlacement !== 'bottom')) {
176
+ popperPlacement = state.placement;
177
+ }
178
+ }
179
+ },
180
+ {
181
+ name: 'offset',
182
+ options: {
183
+ offset: () => {
184
+ // Different offset for tooltip vs popover
185
+ return [0, type === 'tooltip' ? 6 : 8];
186
+ }
187
+ }
188
+ }
189
+ ]
190
+ });
191
+ });
192
+ let containerElement = $derived(container === false ? 'body' : container);
193
+ </script>
194
+
195
+ <Portal target={containerElement} disabled={container === false}>
196
+ {#if isShown}
197
+ <div
198
+ bind:this={elementRef}
199
+ class={classes}
200
+ data-popper-placement={currentPopperPlacement}
201
+ id={effectiveId}
202
+ onintrostart={onShow}
203
+ onintroend={onShown}
204
+ onoutrostart={onHide}
205
+ onoutroend={handleOnHidden}
206
+ role="tooltip"
207
+ transition:fade={{ duration: useFade ? 150 : 0 }}
208
+ {...restOfProps}>
209
+ <div class={`${type}-arrow`} data-popper-arrow></div>
210
+ {@render children?.()}
211
+ </div>
212
+ {/if}
213
+ </Portal>
@@ -0,0 +1,54 @@
1
+ import type { Tooltip } from './index.js';
2
+ /**
3
+ * ## Tooltip
4
+ * Add small overlay content to any element for housing secondary information or interactive controls.
5
+ *
6
+ * @example
7
+ * ```svelte
8
+ * <Button id="tooltip-button">Click for Tooltip</Button>
9
+ * <Tooltip.Root isShown={true} referenceElementId="tooltip-button">
10
+ * <Tooltip.Header>Tooltip Title</Tooltip.Header>
11
+ * <Tooltip.Body>
12
+ * <p>This is the tooltip content.</p>
13
+ * </Tooltip.Body>
14
+ * </Tooltip.Root>
15
+ * ```
16
+ *
17
+ * #### Different Triggers
18
+ * ```svelte
19
+ * <Tooltip.Root trigger="click" referenceElementId="click-button">...</Tooltip.Root>
20
+ * <Tooltip.Root trigger="hover" referenceElementId="hover-button">...</Tooltip.Root>
21
+ * <Tooltip.Root trigger="focus" referenceElementId="focus-button">...</Tooltip.Root>
22
+ * ```
23
+ * #### Placement Options
24
+ * ```svelte
25
+ * <Tooltip.Root placement="top" referenceElementId="top-button">...</Tooltip.Root>
26
+ * <Tooltip.Root placement="right" referenceElementId="right-button">...</Tooltip.Root>
27
+ * <Tooltip.Root placement="bottom" referenceElementId="bottom-button">...</Tooltip.Root>
28
+ * <Tooltip.Root placement="left" referenceElementId="left-button">...</Tooltip.Root>
29
+ * ```
30
+ * #### Custom Container
31
+ * ```svelte
32
+ * <div id="custom-container"></div>
33
+ * <Tooltip.Root container="#custom-container" referenceElementId="container-button">...</Tooltip.Root>
34
+ * ```
35
+ * ### Props
36
+ * - `children` (slot): Content to display inside the tooltip.
37
+ * - `class` (string): Optional. Additional CSS classes.
38
+ * - `container` (string | HTMLElement | false): Optional. Specifies the container where the tooltip should be appended. Default is 'body'.
39
+ * - `elementRef` (HTMLElement): Optional. Reference to the tooltip DOM element.
40
+ * - `id` (string): Optional. ID for the tooltip element.
41
+ * - `isShown` (boolean): Optional. Controls whether the tooltip is visible.
42
+ * - `onHide` (function): Optional. Callback to invoke when the tooltip starts hiding.
43
+ * - `onHidden` (function): Optional. Callback to invoke when the tooltip has been hidden.
44
+ * - `onShow` (function): Optional. Callback to invoke when the tooltip starts showing.
45
+ * - `onShown` (function): Optional. Callback to invoke when the tooltip has been shown.
46
+ * - `placement` (string): Optional. Position of the tooltip 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 tooltip. It accommodates the id containing a hash or not.
48
+ * - `trigger` (string): Optional. Event type that triggers the tooltip. Options: 'click', 'hover', 'focus', or space-separated combinations. Default is 'click'.
49
+ * - `type` (string): Optional. Type of the tooltip. Default is 'tooltip'. Can be 'tooltip' or 'popover'.
50
+ * - `useFade` (boolean): Optional. Controls whether the tooltip uses a fade transition. Default is true.
51
+ */
52
+ declare const Tooltip: import("svelte").Component<Tooltip.RootProps, {}, "elementRef">;
53
+ type Tooltip = ReturnType<typeof Tooltip>;
54
+ export default Tooltip;
@@ -0,0 +1,43 @@
1
+ import type { DivElement, PopperPlacement } from '../common/types.js';
2
+ /**
3
+ * Defines where the tooltip should be appended in the DOM
4
+ * - string: CSS selector for the container element
5
+ * - HTMLElement: Direct reference to a DOM element
6
+ * - false: Stays within natural DOM placement (no portal/teleport)
7
+ */
8
+ export type TooltipContainer = string | HTMLElement | false;
9
+ export type TooltipPlacement = PopperPlacement;
10
+ /**
11
+ * Specifies what user interaction will activate the tooltip
12
+ * - 'click': Shows on click, hides on second click
13
+ * - 'hover': Shows on mouseenter, hides on mouseleave
14
+ * - 'focus': Shows on element focus, hides on blur
15
+ * - 'manual': Programmatic control only via isShown prop
16
+ */
17
+ export type TooltipTrigger = 'click' | 'hover' | 'focus' | 'manual';
18
+ /**
19
+ * Determines visual style and behavior variant
20
+ * - 'tooltip': Smaller, simpler style for brief hints
21
+ * - 'popover': Larger with styled header/body areas for more content
22
+ */
23
+ export type TooltipType = 'tooltip' | 'popover';
24
+ export type TooltipRootProps = DivElement & {
25
+ container?: TooltipContainer;
26
+ isShown?: boolean;
27
+ onHide?: EventListener;
28
+ onHidden?: EventListener;
29
+ onShow?: EventListener;
30
+ onShown?: EventListener;
31
+ placement?: TooltipPlacement;
32
+ referenceElementId?: string;
33
+ trigger?: TooltipTrigger | string;
34
+ type?: TooltipType;
35
+ useFade?: boolean;
36
+ };
37
+ /**
38
+ * Props for the inner content of the tooltip
39
+ * Uses type to adjust styling based on tooltip or popover variant
40
+ */
41
+ export type TooltipInnerProps = DivElement & {
42
+ type?: TooltipType;
43
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,47 @@
1
+ /**
2
+ * A utility class for managing Svelte component context in a type-safe manner.
3
+ * Provides methods to set, get, and check the existence of context values.
4
+ * @see https://github.com/svecosystem/runed/blob/runed%400.28.0/packages/runed/src/lib/utilities/context/context.ts
5
+ */
6
+ export declare class Context<TContext> {
7
+ #private;
8
+ /**
9
+ * @param name The name of the context.
10
+ * This is used for generating the context key and error messages.
11
+ */
12
+ constructor(name: string);
13
+ /**
14
+ * The key used to get and set the context.
15
+ *
16
+ * It is not recommended to use this value directly.
17
+ * Instead, use the methods provided by this class.
18
+ */
19
+ get key(): symbol;
20
+ /**
21
+ * Checks whether this has been set in the context of a parent component.
22
+ *
23
+ * Must be called during component initialization.
24
+ */
25
+ exists(): boolean;
26
+ /**
27
+ * Retrieves the context that belongs to the closest parent component.
28
+ *
29
+ * Must be called during component initialization.
30
+ *
31
+ * @throws An error if the context does not exist.
32
+ */
33
+ get(): TContext;
34
+ /**
35
+ * Retrieves the context that belongs to the closest parent component,
36
+ * or the given fallback value if the context does not exist.
37
+ *
38
+ * Must be called during component initialization.
39
+ */
40
+ getOr<TFallback>(fallback: TFallback): TContext | TFallback;
41
+ /**
42
+ * Associates the given value with the current component and returns it.
43
+ *
44
+ * Must be called during component initialization.
45
+ */
46
+ set(context: TContext): TContext;
47
+ }
@@ -0,0 +1,70 @@
1
+ import { getContext, hasContext, setContext } from 'svelte';
2
+ /**
3
+ * A utility class for managing Svelte component context in a type-safe manner.
4
+ * Provides methods to set, get, and check the existence of context values.
5
+ * @see https://github.com/svecosystem/runed/blob/runed%400.28.0/packages/runed/src/lib/utilities/context/context.ts
6
+ */
7
+ export class Context {
8
+ #name;
9
+ #key;
10
+ /**
11
+ * @param name The name of the context.
12
+ * This is used for generating the context key and error messages.
13
+ */
14
+ constructor(name) {
15
+ this.#name = name;
16
+ this.#key = Symbol(name);
17
+ }
18
+ /**
19
+ * The key used to get and set the context.
20
+ *
21
+ * It is not recommended to use this value directly.
22
+ * Instead, use the methods provided by this class.
23
+ */
24
+ get key() {
25
+ return this.#key;
26
+ }
27
+ /**
28
+ * Checks whether this has been set in the context of a parent component.
29
+ *
30
+ * Must be called during component initialization.
31
+ */
32
+ exists() {
33
+ return hasContext(this.#key);
34
+ }
35
+ /**
36
+ * Retrieves the context that belongs to the closest parent component.
37
+ *
38
+ * Must be called during component initialization.
39
+ *
40
+ * @throws An error if the context does not exist.
41
+ */
42
+ get() {
43
+ const context = getContext(this.#key);
44
+ if (context === undefined) {
45
+ throw new Error(`Context "${this.#name}" not found`);
46
+ }
47
+ return context;
48
+ }
49
+ /**
50
+ * Retrieves the context that belongs to the closest parent component,
51
+ * or the given fallback value if the context does not exist.
52
+ *
53
+ * Must be called during component initialization.
54
+ */
55
+ getOr(fallback) {
56
+ const context = getContext(this.#key);
57
+ if (context === undefined) {
58
+ return fallback;
59
+ }
60
+ return context;
61
+ }
62
+ /**
63
+ * Associates the given value with the current component and returns it.
64
+ *
65
+ * Must be called during component initialization.
66
+ */
67
+ set(context) {
68
+ return setContext(this.#key, context);
69
+ }
70
+ }