@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,98 @@
1
+ import type { Table } from './index.js';
2
+ /**
3
+ * ## Table
4
+ * A component to render a Bootstrap table.
5
+ *
6
+ * @example
7
+ * ```svelte
8
+ * <Table.Root isBordered isStriped isHoverable>
9
+ * <Table.Head>
10
+ * <Table.Row>
11
+ * <Table.Header>#</Table.Header>
12
+ * <Table.Header>First Name</Table.Header>
13
+ * <Table.Header>Last Name</Table.Header>
14
+ * <Table.Header>Username</Table.Header>
15
+ * </Table.Row>
16
+ * </Table.Head>
17
+ * <Table.Body>
18
+ * <Table.Row>
19
+ * <Table.Header>1</Table.Header>
20
+ * <Table.Cell>Mark</Table.Cell>
21
+ * <Table.Cell>Otto</Table.Cell>
22
+ * <Table.Cell>@mdo</Table.Cell>
23
+ * </Table.Row>
24
+ * </Table.Body>
25
+ * </Table.Root>
26
+ * ```
27
+ * #### Responsive Table
28
+ * ```svelte
29
+ * <Table.Root isBordered isResponsive responsiveProps={{ breakpoint: 'md' }}>
30
+ * ...
31
+ * </Table.Root>
32
+ * ```
33
+ * #### Caption Example
34
+ * ```svelte
35
+ * <Table.Root isBordered isCaptionTop>
36
+ * <Table.Caption>List of users</Table.Caption>
37
+ * ...
38
+ * </Table.Root>
39
+ * ```
40
+ * #### Striped Columns Example
41
+ * ```svelte
42
+ * <Table.Root isBordered isStripedColumns>
43
+ * ...
44
+ * </Table.Root>
45
+ * ```
46
+ * #### Vertical Alignment Example
47
+ * ```svelte
48
+ * <Table.Root isBordered verticalAlign="middle">
49
+ * ...
50
+ * </Table.Root>
51
+ * ```
52
+ * #### Color Variants
53
+ * ```svelte
54
+ * <Table.Root isBordered colorVariant="dark">
55
+ * ...
56
+ * </Table.Root>
57
+ * ```
58
+ * #### Border Color Variants
59
+ * ```svelte
60
+ * <Table.Root isBordered borderColorVariant="border-primary">
61
+ * ...
62
+ * </Table.Root>
63
+ * ```
64
+ * #### Size Variants
65
+ * ```svelte
66
+ * <Table.Root isBordered size="sm">
67
+ * ...
68
+ * </Table.Root>
69
+ * ```
70
+ * ### Sub-components
71
+ * - `Table.Caption`: Component to render a table caption.
72
+ * - `Table.Head`: Component to render the table head section.
73
+ * - `Table.Body`: Component to render the table body section.
74
+ * - `Table.Row`: Component to render a table row.
75
+ * - `Table.Header`: Component to render a table header cell.
76
+ * - `Table.Data`: Component to render a table data cell.
77
+ *
78
+ * ### Props
79
+ * - `borderColorVariant` (string): Optional. Border color variant class (e.g., 'border-primary').
80
+ * - `colorVariant` (string): Optional. Color variant for the table (e.g., 'dark', 'light').
81
+ * - `containerProps` (object): Optional. Props for the container div when `isContained` is true.
82
+ * - `elementRef` (HTMLTableElement): Optional. Reference to the table element.
83
+ * - `isBordered` (boolean): Optional. If true, adds borders to all table cells. Default is false.
84
+ * - `isBorderless` (boolean): Optional. If true, removes borders from the table. Default is false.
85
+ * - `isCaptionTop` (boolean): Optional. If true, places the caption at the top of the table. Default is false.
86
+ * - `isContained` (boolean): Optional. If true, wraps the table in a container div. Default is false.
87
+ * - `isHoverable` (boolean): Optional. If true, enables hover state on table rows. Default is false.
88
+ * - `isResponsive` (boolean): Optional. If true, makes the table responsive. Default is false.
89
+ * - `isStriped` (boolean): Optional. If true, adds zebra-striping to the table rows. Default is false.
90
+ * - `isStripedColumns` (boolean): Optional. If true, adds zebra-striping to the table columns. Default is false.
91
+ * - `responsiveProps` (object): Optional. Props for responsive behavior, including:
92
+ * - `breakpoint` (string): Breakpoint for responsive table. Options: 'sm', 'md', 'lg', 'xl', 'xxl'. Default is 'md'.
93
+ * - `size` (string): Optional. Size variant for the table. Options: 'sm'. Default is undefined.
94
+ * - `verticalAlign` (string): Optional. Vertical alignment for table cells. Options: 'top', 'middle', 'bottom'. Default is undefined.
95
+ */
96
+ declare const Table: import("svelte").Component<Table.RootProps, {}, "elementRef">;
97
+ type Table = ReturnType<typeof Table>;
98
+ export default Table;
@@ -0,0 +1,92 @@
1
+ import { Context } from '../common/index.js';
2
+ export class TableBodyState {
3
+ props;
4
+ constructor(props) {
5
+ this.props = props;
6
+ }
7
+ }
8
+ export class TableDataState {
9
+ props;
10
+ constructor(props) {
11
+ this.props = props;
12
+ }
13
+ }
14
+ export class TableFootState {
15
+ props;
16
+ constructor(props) {
17
+ this.props = props;
18
+ }
19
+ }
20
+ export class TableHeadState {
21
+ props;
22
+ constructor(props) {
23
+ this.props = props;
24
+ }
25
+ }
26
+ export class TableHeaderState {
27
+ props;
28
+ constructor(props) {
29
+ this.props = props;
30
+ }
31
+ }
32
+ export class TableRootState {
33
+ props;
34
+ constructor(props) {
35
+ this.props = props;
36
+ }
37
+ }
38
+ export class TableRowState {
39
+ props;
40
+ constructor(props) {
41
+ this.props = props;
42
+ }
43
+ }
44
+ const TableBodyContext = new Context('table-body');
45
+ const TableDataContext = new Context('table-data');
46
+ const TableFootContext = new Context('table-foot');
47
+ const TableHeadContext = new Context('table-head');
48
+ const TableHeaderContext = new Context('table-header');
49
+ const TableRootContext = new Context('table-root');
50
+ const TableRowContext = new Context('table-row');
51
+ export const doesTableBodyContextExists = () => TableBodyContext.exists();
52
+ export const doesTableDataContextExists = () => TableDataContext.exists();
53
+ export const doesTableFootContextExists = () => TableFootContext.exists();
54
+ export const doesTableHeadContextExists = () => TableHeadContext.exists();
55
+ export const doesTableHeaderContextExists = () => TableHeaderContext.exists();
56
+ export const doesTableRootContextExists = () => TableRootContext.exists();
57
+ export const doesTableRowContextExists = () => TableRowContext.exists();
58
+ export function initTableBodyState(props) {
59
+ const state = new TableBodyState(props);
60
+ TableBodyContext.set(state);
61
+ return state;
62
+ }
63
+ export function initTableDataState(props) {
64
+ const state = new TableDataState(props);
65
+ TableDataContext.set(state);
66
+ return state;
67
+ }
68
+ export function initTableFootState(props) {
69
+ const state = new TableFootState(props);
70
+ TableFootContext.set(state);
71
+ return state;
72
+ }
73
+ export function initTableHeadState(props) {
74
+ const state = new TableHeadState(props);
75
+ TableHeadContext.set(state);
76
+ return state;
77
+ }
78
+ export function initTableHeaderState(props) {
79
+ const state = new TableHeaderState(props);
80
+ TableHeaderContext.set(state);
81
+ return state;
82
+ }
83
+ export function initTableRootState(props) {
84
+ const state = new TableRootState(props);
85
+ TableRootContext.set(state);
86
+ return state;
87
+ }
88
+ export function initTableRowState(props) {
89
+ const state = new TableRowState(props);
90
+ TableRowContext.set(state);
91
+ return state;
92
+ }
@@ -0,0 +1,43 @@
1
+ import type { BaseBreakpoint, BaseColorVariant, BorderColorVariant, CaptionElement, DivElement, TableBodyElement, TableDataElement, TableElement, TableFootElement, TableHeadElement, TableHeaderElement, TableRowElement, VerticalAlign } from '../common/index.js';
2
+ import type { Snippet } from 'svelte';
3
+ export type TableBodyProps = TableBodyElement & {
4
+ hasGroupDivider?: boolean;
5
+ };
6
+ export type TableCaptionProps = CaptionElement;
7
+ export type TableContainerProps = DivElement;
8
+ export type TableDataProps = TableDataElement & {
9
+ colorVariant?: BaseColorVariant;
10
+ isActive?: boolean;
11
+ verticalAlign?: VerticalAlign;
12
+ };
13
+ export type TableFootProps = TableFootElement & {
14
+ hasGroupDivider?: boolean;
15
+ };
16
+ export type TableHeadProps = TableHeadElement & {
17
+ colorScheme?: 'dark' | 'light';
18
+ };
19
+ export type TableHeaderProps = TableHeaderElement & {};
20
+ export type TableResponsiveProps = DivElement & {
21
+ breakpoint?: BaseBreakpoint;
22
+ };
23
+ export type TableRootProps = TableElement & {
24
+ borderColorVariant?: BorderColorVariant;
25
+ colorVariant?: BaseColorVariant;
26
+ containerProps?: TableContainerProps;
27
+ isBordered?: boolean;
28
+ isBorderless?: boolean;
29
+ isCaptionTop?: boolean;
30
+ isHoverable?: boolean;
31
+ isResponsive?: boolean;
32
+ isStriped?: boolean;
33
+ isStripedColumns?: boolean;
34
+ responsiveProps?: TableResponsiveProps;
35
+ size?: 'sm';
36
+ tableContainerFooter?: Snippet;
37
+ verticalAlign?: VerticalAlign;
38
+ };
39
+ export type TableRowProps = TableRowElement & {
40
+ colorVariant?: BaseColorVariant;
41
+ isActive?: boolean;
42
+ verticalAlign?: VerticalAlign;
43
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ export { default as Body } from './toast-body.svelte';
2
+ export { default as Container } from './toast-container.svelte';
3
+ export { default as Header } from './toast-header.svelte';
4
+ export { default as Root } from './toast.svelte';
5
+ export type { ToastBodyProps as BodyProps, ToastContainerProps as ContainerProps, ToastHeaderProps as HeaderProps, ToastRootProps as RootProps } from './types.js';
@@ -0,0 +1,4 @@
1
+ export { default as Body } from './toast-body.svelte';
2
+ export { default as Container } from './toast-container.svelte';
3
+ export { default as Header } from './toast-header.svelte';
4
+ export { default as Root } from './toast.svelte';
@@ -0,0 +1 @@
1
+ export * as Toast from './composition.js';
@@ -0,0 +1 @@
1
+ export * as Toast from './composition.js';
@@ -0,0 +1,26 @@
1
+ <!--
2
+ @component
3
+ ## Toast.Body
4
+ Body component for the Toast. Contains the main content/message of the toast notification.
5
+
6
+ @example
7
+ ```svelte
8
+ <Toast.Body>This is a toast message.</Toast.Body>
9
+ ```
10
+
11
+ ### Props
12
+ - `children` (slot): Content to display inside the body
13
+ - `class` (string): Optional. Additional CSS classes
14
+ - `elementRef` (HTMLElement): Optional. Reference to the body DOM element
15
+ - `id` (string): Optional. ID for the body element
16
+ -->
17
+ <script lang="ts">import { uniqueClsx } from '../common/css.js';
18
+ // Generate a unique ID for the component, in case one is not provided...
19
+ const uid = $props.id();
20
+ let { children, class: classValues, elementRef = $bindable(null), id = `toast-body-${uid}`, ...restOfProps } = $props();
21
+ let classes = $derived(uniqueClsx('toast-body', classValues));
22
+ </script>
23
+
24
+ <div bind:this={elementRef} class={classes} {id} {...restOfProps}>
25
+ {@render children?.()}
26
+ </div>
@@ -0,0 +1,18 @@
1
+ /**
2
+ * ## Toast.Body
3
+ * Body component for the Toast. Contains the main content/message of the toast notification.
4
+ *
5
+ * @example
6
+ * ```svelte
7
+ * <Toast.Body>This is a toast message.</Toast.Body>
8
+ * ```
9
+ *
10
+ * ### Props
11
+ * - `children` (slot): Content to display inside the body
12
+ * - `class` (string): Optional. Additional CSS classes
13
+ * - `elementRef` (HTMLElement): Optional. Reference to the body DOM element
14
+ * - `id` (string): Optional. ID for the body element
15
+ */
16
+ declare const ToastBody: import("svelte").Component<import("../index.js").DivElement, {}, "elementRef">;
17
+ type ToastBody = ReturnType<typeof ToastBody>;
18
+ export default ToastBody;
@@ -0,0 +1,44 @@
1
+ <!--
2
+ @component
3
+ ## Toast.Container
4
+ Container component for multiple toasts. Properly placements toasts within the viewport.
5
+
6
+ @example
7
+ ```svelte
8
+ <Toast.Container placement="bottom-end">
9
+ <Toast.Root>...</Toast.Root>
10
+ <Toast.Root>...</Toast.Root>
11
+ </Toast.Container>
12
+ ```
13
+
14
+ #### Different placements
15
+ ```svelte
16
+ <Toast.Container placement="top-start">...</Toast.Container>
17
+ <Toast.Container placement="top-center">...</Toast.Container>
18
+ <Toast.Container placement="top-end">...</Toast.Container>
19
+ <Toast.Container placement="middle-start">...</Toast.Container>
20
+ <Toast.Container placement="middle-center">...</Toast.Container>
21
+ <Toast.Container placement="middle-end">...</Toast.Container>
22
+ <Toast.Container placement="bottom-start">...</Toast.Container>
23
+ <Toast.Container placement="bottom-center">...</Toast.Container>
24
+ <Toast.Container placement="bottom-end">...</Toast.Container>
25
+ ```
26
+
27
+ ### Props
28
+ - `children` (slot): Toast components to display inside the container.
29
+ - `class` (string): Optional. Additional CSS classes.
30
+ - `elementRef` (HTMLElement): Optional. Reference to the container DOM element.
31
+ - `id` (string): Optional. ID for the container element.
32
+ - `placement` (ToastPlacement): Optional. Placement of the container in the viewport. Default is 'bottom-end'.
33
+ -->
34
+ <script lang="ts">import { uniqueClsx } from '../common/css.js';
35
+ import { transformToastPlacement } from './types.js';
36
+ // Generate a unique ID for the component, in case one is not provided...
37
+ const uid = $props.id();
38
+ let { children, class: classValues, elementRef = $bindable(null), id = `toast-container-${uid}`, isFixed = true, placement = 'bottom-end', ...restOfProps } = $props();
39
+ let classes = $derived(uniqueClsx('toast-container', { 'position-fixed': isFixed }, 'p-3', transformToastPlacement(placement), classValues));
40
+ </script>
41
+
42
+ <div bind:this={elementRef} class={classes} {id} {...restOfProps}>
43
+ {@render children?.()}
44
+ </div>
@@ -0,0 +1,36 @@
1
+ import type { Toast } from './index.js';
2
+ /**
3
+ * ## Toast.Container
4
+ * Container component for multiple toasts. Properly placements toasts within the viewport.
5
+ *
6
+ * @example
7
+ * ```svelte
8
+ * <Toast.Container placement="bottom-end">
9
+ * <Toast.Root>...</Toast.Root>
10
+ * <Toast.Root>...</Toast.Root>
11
+ * </Toast.Container>
12
+ * ```
13
+ *
14
+ * #### Different placements
15
+ * ```svelte
16
+ * <Toast.Container placement="top-start">...</Toast.Container>
17
+ * <Toast.Container placement="top-center">...</Toast.Container>
18
+ * <Toast.Container placement="top-end">...</Toast.Container>
19
+ * <Toast.Container placement="middle-start">...</Toast.Container>
20
+ * <Toast.Container placement="middle-center">...</Toast.Container>
21
+ * <Toast.Container placement="middle-end">...</Toast.Container>
22
+ * <Toast.Container placement="bottom-start">...</Toast.Container>
23
+ * <Toast.Container placement="bottom-center">...</Toast.Container>
24
+ * <Toast.Container placement="bottom-end">...</Toast.Container>
25
+ * ```
26
+ *
27
+ * ### Props
28
+ * - `children` (slot): Toast components to display inside the container.
29
+ * - `class` (string): Optional. Additional CSS classes.
30
+ * - `elementRef` (HTMLElement): Optional. Reference to the container DOM element.
31
+ * - `id` (string): Optional. ID for the container element.
32
+ * - `placement` (ToastPlacement): Optional. Placement of the container in the viewport. Default is 'bottom-end'.
33
+ */
34
+ declare const ToastContainer: import("svelte").Component<Toast.ContainerProps, {}, "elementRef">;
35
+ type ToastContainer = ReturnType<typeof ToastContainer>;
36
+ export default ToastContainer;
@@ -0,0 +1,56 @@
1
+ <!--
2
+ @component
3
+ ## Toast.Header
4
+ Header component for the Toast. Usually contains a title, optional subtext (like a timestamp), and a close button.
5
+
6
+ @example
7
+ ```svelte
8
+ <Toast.Header>This is a toast header text.</Toast.Header>
9
+ ```
10
+
11
+ #### Custom header content
12
+ ```svelte
13
+ <Toast.Header>
14
+ <img src="..." class="rounded me-2" alt="...">
15
+ <strong class="me-auto">Bootstrap</strong>
16
+ <small>11 mins ago</small>
17
+ </Toast.Header>
18
+ ```
19
+
20
+ #### Without close button
21
+ ```svelte
22
+ <Toast.Header isDismissible={false}>
23
+ <strong>No close button here</strong>
24
+ </Toast.Header>
25
+ ```
26
+
27
+ ### Props
28
+ - `children` (slot): Content to display inside the header.
29
+ - `class` (string): Optional. Additional CSS classes.
30
+ - `elementRef` (HTMLElement): Optional. Reference to the header DOM element.
31
+ - `id` (string): Optional. ID for the header element.
32
+ - `isDismissible` (boolean): Optional. Whether to show a close button. Default is true.
33
+ -->
34
+ <script lang="ts">import { uniqueClsx } from '../common/css.js';
35
+ import { CloseButton } from '../index.js';
36
+ import { initToastHeaderState, ToastHeaderState } from './toast.svelte.js';
37
+ // Generate a unique ID for the component, in case one is not provided...
38
+ const uid = $props.id();
39
+ let { children, class: classValues, elementRef = $bindable(null), id = `toast-header-${uid}`, isDismissible = ToastHeaderState.IS_DISMISSIBLE_DEFAULT, ...restOfProps } = $props();
40
+ const headerState = initToastHeaderState({
41
+ get isDismissible() {
42
+ return isDismissible;
43
+ }
44
+ });
45
+ let classes = $derived(uniqueClsx('toast-header', classValues));
46
+ const handleClick = (_event) => {
47
+ headerState.onclick();
48
+ };
49
+ </script>
50
+
51
+ <div bind:this={elementRef} class={classes} {id} {...restOfProps}>
52
+ {@render children?.()}
53
+ {#if isDismissible}
54
+ <CloseButton onclick={handleClick}></CloseButton>
55
+ {/if}
56
+ </div>
@@ -0,0 +1,36 @@
1
+ import type { Toast } from './index.js';
2
+ /**
3
+ * ## Toast.Header
4
+ * Header component for the Toast. Usually contains a title, optional subtext (like a timestamp), and a close button.
5
+ *
6
+ * @example
7
+ * ```svelte
8
+ * <Toast.Header>This is a toast header text.</Toast.Header>
9
+ * ```
10
+ *
11
+ * #### Custom header content
12
+ * ```svelte
13
+ * <Toast.Header>
14
+ * <img src="..." class="rounded me-2" alt="...">
15
+ * <strong class="me-auto">Bootstrap</strong>
16
+ * <small>11 mins ago</small>
17
+ * </Toast.Header>
18
+ * ```
19
+ *
20
+ * #### Without close button
21
+ * ```svelte
22
+ * <Toast.Header isDismissible={false}>
23
+ * <strong>No close button here</strong>
24
+ * </Toast.Header>
25
+ * ```
26
+ *
27
+ * ### Props
28
+ * - `children` (slot): Content to display inside the header.
29
+ * - `class` (string): Optional. Additional CSS classes.
30
+ * - `elementRef` (HTMLElement): Optional. Reference to the header DOM element.
31
+ * - `id` (string): Optional. ID for the header element.
32
+ * - `isDismissible` (boolean): Optional. Whether to show a close button. Default is true.
33
+ */
34
+ declare const ToastHeader: import("svelte").Component<Toast.HeaderProps, {}, "elementRef">;
35
+ type ToastHeader = ReturnType<typeof ToastHeader>;
36
+ export default ToastHeader;
@@ -0,0 +1,112 @@
1
+ <!--
2
+ @component
3
+ ## Toast
4
+ Lightweight notifications designed to mimic push notifications that modern web and mobile apps use.
5
+
6
+ @example
7
+ ```svelte
8
+ <Toast.Root isShown={true}>
9
+ <Toast.Header>
10
+ <span>Toast Title</span>
11
+ </Toast.Header>
12
+ <Toast.Body>
13
+ Toast message goes here.
14
+ </Toast.Body>
15
+ </Toast.Root>
16
+ ```
17
+
18
+ #### Basic Toast
19
+ ```svelte
20
+ <Toast.Root isShown={true}>
21
+ <Toast.Header titleText="Toast Title" subText="11 mins ago" />
22
+ <Toast.Body>Hello, world! This is a toast message.</Toast.Body>
23
+ </Toast.Root>
24
+ ```
25
+
26
+ #### Autohide Options
27
+ ```svelte
28
+ <Toast.Root doAutohide={false}>...</Toast.Root>
29
+ <Toast.Root doAutohide={8000}>...</Toast.Root>
30
+ ```
31
+
32
+ #### Custom Container
33
+ ```svelte
34
+ <div id="toast-container"></div>
35
+ <Toast.Root container="#toast-container">...</Toast.Root>
36
+ ```
37
+
38
+ ### Props
39
+ - `children` (slot): Content to display inside the toast.
40
+ - `class` (string): Optional. Additional CSS classes.
41
+ - `delay` (number): Optional. Delay in milliseconds before hiding the toast. Default is 5000.
42
+ - `doAutohide` (boolean): Optional. Automatically hide the toast after the delay. Default is true.
43
+ - `elementRef` (HTMLElement): Optional. Reference to the toast DOM element.
44
+ - `id` (string): Optional. ID for the toast element.
45
+ - `isShown` (boolean): Optional. Controls whether the toast is visible.
46
+ - `onHide` (function): Optional. Callback to invoke when the toast starts hiding.
47
+ - `onHidden` (function): Optional. Callback to invoke when the toast has been hidden.
48
+ - `onShow` (function): Optional. Callback to invoke when the toast starts showing.
49
+ - `onShown` (function): Optional. Callback to invoke when the toast has been shown.
50
+ - `useFade` (boolean): Optional. If true, applies a fade transition to the toast. Default is true.
51
+ -->
52
+ <script lang="ts">import { uniqueClsx } from '../common/css.js';
53
+ import { noop } from '../common/noop.js';
54
+ import { fade } from 'svelte/transition';
55
+ import { initToastRootState, ToastRootState } from './toast.svelte.js';
56
+ // Generate a unique ID for the component, in case one is not provided...
57
+ const uid = $props.id();
58
+ let { children, class: classValues, delay = ToastRootState.DELAY_DEFAULT, doAutohide = ToastRootState.DO_AUTOHIDE_DEFAULT, elementRef = $bindable(null), id = `toast-${uid}`, isShown = ToastRootState.IS_SHOWN_DEFAULT, onHide = noop, onHidden = noop, onShow = noop, onShown = noop, useFade = ToastRootState.USE_FADE_DEFAULT, ...restOfProps } = $props();
59
+ const rootState = initToastRootState({
60
+ get isShown() {
61
+ return isShown;
62
+ }
63
+ });
64
+ // Track the previously synchronized isShown value so we only react to
65
+ // genuine prop transitions (not to reads of the live rootState.props.isShown).
66
+ let previousIsShown;
67
+ // Listen changes to the isShown prop and update the root state accordingly...
68
+ $effect(() => {
69
+ if (previousIsShown !== undefined && previousIsShown !== isShown) {
70
+ if (isShown && !rootState.isShown) {
71
+ rootState.toggleIsShown();
72
+ }
73
+ else if (!isShown && rootState.isShown) {
74
+ rootState.toggleIsShown();
75
+ }
76
+ }
77
+ previousIsShown = isShown;
78
+ });
79
+ // Listen changes to the doAutohide and delay prop and update the root state accordingly...
80
+ $effect(() => {
81
+ if (rootState.isShown && doAutohide && delay > 0) {
82
+ const timer = setTimeout(() => {
83
+ rootState.toggleIsShown();
84
+ }, delay);
85
+ return () => {
86
+ clearTimeout(timer);
87
+ };
88
+ }
89
+ });
90
+ let classes = $derived(uniqueClsx('toast', {
91
+ fade: useFade,
92
+ show: rootState.isShown
93
+ }, classValues));
94
+ </script>
95
+
96
+ {#if rootState.isShown}
97
+ <div
98
+ aria-atomic="true"
99
+ aria-live="assertive"
100
+ bind:this={elementRef}
101
+ class={classes}
102
+ role="alert"
103
+ {id}
104
+ onintrostart={onShow}
105
+ onintroend={onShown}
106
+ onoutrostart={onHide}
107
+ onoutroend={onHidden}
108
+ transition:fade={{ duration: useFade ? 150 : 0 }}
109
+ {...restOfProps}>
110
+ {@render children?.()}
111
+ </div>
112
+ {/if}
@@ -0,0 +1,54 @@
1
+ import type { Toast } from './index.js';
2
+ /**
3
+ * ## Toast
4
+ * Lightweight notifications designed to mimic push notifications that modern web and mobile apps use.
5
+ *
6
+ * @example
7
+ * ```svelte
8
+ * <Toast.Root isShown={true}>
9
+ * <Toast.Header>
10
+ * <span>Toast Title</span>
11
+ * </Toast.Header>
12
+ * <Toast.Body>
13
+ * Toast message goes here.
14
+ * </Toast.Body>
15
+ * </Toast.Root>
16
+ * ```
17
+ *
18
+ * #### Basic Toast
19
+ * ```svelte
20
+ * <Toast.Root isShown={true}>
21
+ * <Toast.Header titleText="Toast Title" subText="11 mins ago" />
22
+ * <Toast.Body>Hello, world! This is a toast message.</Toast.Body>
23
+ * </Toast.Root>
24
+ * ```
25
+ *
26
+ * #### Autohide Options
27
+ * ```svelte
28
+ * <Toast.Root doAutohide={false}>...</Toast.Root>
29
+ * <Toast.Root doAutohide={8000}>...</Toast.Root>
30
+ * ```
31
+ *
32
+ * #### Custom Container
33
+ * ```svelte
34
+ * <div id="toast-container"></div>
35
+ * <Toast.Root container="#toast-container">...</Toast.Root>
36
+ * ```
37
+ *
38
+ * ### Props
39
+ * - `children` (slot): Content to display inside the toast.
40
+ * - `class` (string): Optional. Additional CSS classes.
41
+ * - `delay` (number): Optional. Delay in milliseconds before hiding the toast. Default is 5000.
42
+ * - `doAutohide` (boolean): Optional. Automatically hide the toast after the delay. Default is true.
43
+ * - `elementRef` (HTMLElement): Optional. Reference to the toast DOM element.
44
+ * - `id` (string): Optional. ID for the toast element.
45
+ * - `isShown` (boolean): Optional. Controls whether the toast is visible.
46
+ * - `onHide` (function): Optional. Callback to invoke when the toast starts hiding.
47
+ * - `onHidden` (function): Optional. Callback to invoke when the toast has been hidden.
48
+ * - `onShow` (function): Optional. Callback to invoke when the toast starts showing.
49
+ * - `onShown` (function): Optional. Callback to invoke when the toast has been shown.
50
+ * - `useFade` (boolean): Optional. If true, applies a fade transition to the toast. Default is true.
51
+ */
52
+ declare const Toast: import("svelte").Component<Toast.RootProps, {}, "elementRef">;
53
+ type Toast = ReturnType<typeof Toast>;
54
+ export default Toast;