@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,139 @@
1
+ import { Context } from '../common/index.js';
2
+ import { SvelteSet } from 'svelte/reactivity';
3
+ /**
4
+ * Manages the state for the Accordion root component.
5
+ * Handles the tracking of expanded accordion items and provides methods to toggle them.
6
+ * Supports both single and multiple expanded items based on the `isMultiple` prop.
7
+ */
8
+ export class AccordionRootState {
9
+ props;
10
+ #expandedItemIds;
11
+ isMultiple = $derived.by(() => this.props.isMultiple);
12
+ constructor(props) {
13
+ this.props = props;
14
+ this.#expandedItemIds = new SvelteSet();
15
+ this.isItemExpanded = this.isItemExpanded.bind(this);
16
+ this.toggleItem = this.toggleItem.bind(this);
17
+ }
18
+ isItemExpanded(itemId) {
19
+ return this.#expandedItemIds.has(itemId);
20
+ }
21
+ toggleItem(itemId) {
22
+ if (this.isItemExpanded(itemId)) {
23
+ this.#expandedItemIds.delete(itemId);
24
+ }
25
+ else {
26
+ if (!this.isMultiple) {
27
+ this.#expandedItemIds.clear();
28
+ }
29
+ this.#expandedItemIds.add(itemId);
30
+ }
31
+ }
32
+ }
33
+ /**
34
+ * Manages the state for an individual Accordion item.
35
+ * Tracks expansion state and provides methods to toggle the item.
36
+ * Initializes its expanded state based on the `isExpanded` prop.
37
+ * Maintains the relationship between the item and its ARIA controls.
38
+ */
39
+ export class AccordionItemState {
40
+ props;
41
+ root;
42
+ ariaControls = $state(undefined);
43
+ isExpanded = $derived.by(() => this.root.isItemExpanded(this.props.id || ''));
44
+ constructor(props, root) {
45
+ this.props = props;
46
+ this.root = root;
47
+ this.toggle = this.toggle.bind(this);
48
+ if (this.props.isExpanded) {
49
+ this.root.toggleItem(this.props.id || '');
50
+ }
51
+ }
52
+ toggle() {
53
+ this.root.toggleItem(this.props.id || '');
54
+ }
55
+ }
56
+ /**
57
+ * Manages the state for an Accordion button component.
58
+ * Provides interaction logic for the clickable header that toggles the accordion item.
59
+ * Derives its expanded state from the parent accordion item state.
60
+ */
61
+ export class AccordionButtonState {
62
+ props;
63
+ root;
64
+ item;
65
+ isExpanded = $derived.by(() => this.root.isItemExpanded(this.item.props.id || ''));
66
+ constructor(props, root, item) {
67
+ this.props = props;
68
+ this.root = root;
69
+ this.item = item;
70
+ this.onclick = this.onclick.bind(this);
71
+ }
72
+ onclick() {
73
+ this.root.toggleItem(this.item.props.id || '');
74
+ }
75
+ }
76
+ /**
77
+ * Manages the state for an Accordion collapse component.
78
+ * Represents the collapsible content section of an accordion item.
79
+ * Tracks expansion state and sets up proper ARIA relationships with the button.
80
+ */
81
+ export class AccordionCollapseState {
82
+ props;
83
+ root;
84
+ item;
85
+ isExpanded = $derived.by(() => this.root.isItemExpanded(this.item.props.id || ''));
86
+ constructor(props, root, item) {
87
+ this.props = props;
88
+ this.root = root;
89
+ this.item = item;
90
+ if (!this.props.id) {
91
+ console.warn('props.id is required for the Accordion.Collapse to set accessibility correctly');
92
+ }
93
+ this.item.ariaControls = this.props.id || undefined;
94
+ }
95
+ }
96
+ const AccordionRootContext = new Context('accordion-root');
97
+ const AccordionItemContext = new Context('accordion-item');
98
+ /**
99
+ * Creates and provides the Accordion root state through context.
100
+ * This function should be called in the root Accordion component.
101
+ * @param props - The properties for the Accordion root component
102
+ * @returns The created AccordionRootState instance
103
+ */
104
+ export function initAccordionRootState(props) {
105
+ const rootState = new AccordionRootState(props);
106
+ return AccordionRootContext.set(rootState);
107
+ }
108
+ /**
109
+ * Creates and provides an Accordion item state through context.
110
+ * This function should be called in each Accordion item component.
111
+ * @param props - The properties for the Accordion item component
112
+ * @returns The created AccordionItemState instance
113
+ */
114
+ export function initAccordionItemState(props) {
115
+ const rootState = AccordionRootContext.get();
116
+ return AccordionItemContext.set(new AccordionItemState(props, rootState));
117
+ }
118
+ /**
119
+ * Creates state for an Accordion button component.
120
+ * This function should be called in each button component that toggles an Accordion item.
121
+ * @param props - The properties for the Accordion button component
122
+ * @returns The created AccordionButtonState instance
123
+ */
124
+ export function initAccordionButtonState(props) {
125
+ const rootState = AccordionRootContext.get();
126
+ const itemState = AccordionItemContext.get();
127
+ return new AccordionButtonState(props, rootState, itemState);
128
+ }
129
+ /**
130
+ * Creates state for an Accordion collapse component.
131
+ * This function should be called in each collapsible content section of an Accordion item.
132
+ * @param props - The properties for the Accordion collapse component
133
+ * @returns The created AccordionCollapseState instance
134
+ */
135
+ export function initAccordionCollapseState(props) {
136
+ const rootState = AccordionRootContext.get();
137
+ const itemState = AccordionItemContext.get();
138
+ return new AccordionCollapseState(props, rootState, itemState);
139
+ }
@@ -0,0 +1,7 @@
1
+ export { default as Body } from './accordion-body.svelte';
2
+ export { default as Button } from './accordion-button.svelte';
3
+ export { default as Collapse } from './accordion-collapse.svelte';
4
+ export { default as Header } from './accordion-header.svelte';
5
+ export { default as Item } from './accordion-item.svelte';
6
+ export { default as Root } from './accordion.svelte';
7
+ export type { AccordionBodyProps as BodyProps, AccordionButtonProps as ButtonProps, AccordionCollapseProps as CollapseProps, AccordionHeaderProps as HeaderProps, AccordionItemProps as ItemProps, AccordionRootProps as RootProps } from './types.js';
@@ -0,0 +1,6 @@
1
+ export { default as Body } from './accordion-body.svelte';
2
+ export { default as Button } from './accordion-button.svelte';
3
+ export { default as Collapse } from './accordion-collapse.svelte';
4
+ export { default as Header } from './accordion-header.svelte';
5
+ export { default as Item } from './accordion-item.svelte';
6
+ export { default as Root } from './accordion.svelte';
@@ -0,0 +1 @@
1
+ export * as Accordion from './composition.js';
@@ -0,0 +1 @@
1
+ export * as Accordion from './composition.js';
@@ -0,0 +1,15 @@
1
+ import type { CollapseRootProps } from '../Collapse/types.js';
2
+ import type { ButtonElement, DivElement, HeadingElement } from '../common/types.js';
3
+ export type AccordionRootProps = DivElement & {
4
+ isMultiple?: boolean;
5
+ isFlush?: boolean;
6
+ };
7
+ export type AccordionBodyProps = DivElement & {};
8
+ export type AccordionButtonProps = ButtonElement & {
9
+ type?: HTMLButtonElement['type'];
10
+ };
11
+ export type AccordionCollapseProps = CollapseRootProps & {};
12
+ export type AccordionHeaderProps = HeadingElement & {};
13
+ export type AccordionItemProps = DivElement & {
14
+ isExpanded?: boolean;
15
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,73 @@
1
+ <!--
2
+ @component
3
+ ## Alert
4
+ Bootstrap-styled alert component for displaying messages.
5
+
6
+ @example
7
+ ```svelte
8
+ // Default alert
9
+ <Alert>
10
+ This is a default alert message.
11
+ </Alert>
12
+ // Success alert
13
+ <Alert colorVariant="success">
14
+ This is a success alert message.
15
+ </Alert>
16
+ // Warning alert
17
+ <Alert colorVariant="warning">
18
+ This is a warning alert message.
19
+ </Alert>
20
+ // Dismissible alert
21
+ <Alert isDismissible={true}>
22
+ This is a dismissible alert message.
23
+ <CloseButton />
24
+ </Alert>
25
+ // Animated alert
26
+ <Alert isAnimated={true}>
27
+ This is an animated alert message.
28
+ </Alert>
29
+ // Open alert
30
+ <Alert isOpen={true}>
31
+ This alert is open.
32
+ </Alert>
33
+ ```
34
+ ### Props
35
+ - `class` (string): Optional. Additional CSS classes to apply to the alert.
36
+ - `elementRef` (HTMLDivElement): Optional. Reference to the alert DOM element.
37
+ - `colorVariant` ('primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'light' | 'dark'): Optional. Sets the color variant of the alert.
38
+ - `isDismissible` (boolean): Optional. If true, adds a close button to the alert.
39
+ - `isAnimated` (boolean): Optional. If true, applies fade transition to the alert.
40
+ - `isOpen` (boolean): Optional. Controls the visibility of the alert.
41
+ - `onClose` (function): Optional. Callback function when the alert is closed.
42
+ - `onClosed` (function): Optional. Callback function when the alert has finished closing.
43
+ -->
44
+ <script lang="ts">import CloseButton from '../CloseButton/close-button.svelte';
45
+ import { uniqueClsx } from '../common/css.js';
46
+ import { noop } from '../common/noop.js';
47
+ import { fade } from 'svelte/transition';
48
+ let { children, class: classValues = 'alert-primary', colorVariant, elementRef = $bindable(null), isDismissible = false, isAnimated = true, isOpen = $bindable(true), onClose = noop, onClosed = noop, ...restOfProps } = $props();
49
+ let classes = $derived(uniqueClsx('alert', colorVariant && `alert-${colorVariant}`, {
50
+ 'alert-dismissible': isDismissible,
51
+ fade: isAnimated,
52
+ show: isOpen
53
+ }, classValues));
54
+ const handleClick = (_event) => {
55
+ isOpen = false;
56
+ };
57
+ </script>
58
+
59
+ {#if isOpen}
60
+ <div
61
+ bind:this={elementRef}
62
+ class={classes}
63
+ onoutrostart={onClose}
64
+ onoutroend={onClosed}
65
+ role="alert"
66
+ transition:fade={{ duration: isAnimated ? 150 : 0 }}
67
+ {...restOfProps}>
68
+ {@render children?.()}
69
+ {#if isDismissible}
70
+ <CloseButton onclick={handleClick}></CloseButton>
71
+ {/if}
72
+ </div>
73
+ {/if}
@@ -0,0 +1,46 @@
1
+ import type { AlertRootProps } from './types.js';
2
+ /**
3
+ * ## Alert
4
+ * Bootstrap-styled alert component for displaying messages.
5
+ *
6
+ * @example
7
+ * ```svelte
8
+ * // Default alert
9
+ * <Alert>
10
+ * This is a default alert message.
11
+ * </Alert>
12
+ * // Success alert
13
+ * <Alert colorVariant="success">
14
+ * This is a success alert message.
15
+ * </Alert>
16
+ * // Warning alert
17
+ * <Alert colorVariant="warning">
18
+ * This is a warning alert message.
19
+ * </Alert>
20
+ * // Dismissible alert
21
+ * <Alert isDismissible={true}>
22
+ * This is a dismissible alert message.
23
+ * <CloseButton />
24
+ * </Alert>
25
+ * // Animated alert
26
+ * <Alert isAnimated={true}>
27
+ * This is an animated alert message.
28
+ * </Alert>
29
+ * // Open alert
30
+ * <Alert isOpen={true}>
31
+ * This alert is open.
32
+ * </Alert>
33
+ * ```
34
+ * ### Props
35
+ * - `class` (string): Optional. Additional CSS classes to apply to the alert.
36
+ * - `elementRef` (HTMLDivElement): Optional. Reference to the alert DOM element.
37
+ * - `colorVariant` ('primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'light' | 'dark'): Optional. Sets the color variant of the alert.
38
+ * - `isDismissible` (boolean): Optional. If true, adds a close button to the alert.
39
+ * - `isAnimated` (boolean): Optional. If true, applies fade transition to the alert.
40
+ * - `isOpen` (boolean): Optional. Controls the visibility of the alert.
41
+ * - `onClose` (function): Optional. Callback function when the alert is closed.
42
+ * - `onClosed` (function): Optional. Callback function when the alert has finished closing.
43
+ */
44
+ declare const Alert: import("svelte").Component<AlertRootProps, {}, "elementRef" | "isOpen">;
45
+ type Alert = ReturnType<typeof Alert>;
46
+ export default Alert;
@@ -0,0 +1,2 @@
1
+ export { default as Alert } from './alert.svelte';
2
+ export * from './types.js';
@@ -0,0 +1,2 @@
1
+ export { default as Alert } from './alert.svelte';
2
+ export * from './types.js';
@@ -0,0 +1,11 @@
1
+ import type { BaseColorVariant, DivElement } from '../common/types.js';
2
+ export type AlertColorVariant = BaseColorVariant;
3
+ export type AlertDismissEvent = CustomEvent<void>;
4
+ export type AlertRootProps = DivElement & {
5
+ colorVariant?: AlertColorVariant;
6
+ isDismissible?: boolean;
7
+ isAnimated?: boolean;
8
+ isOpen?: boolean;
9
+ onClose?: EventListener;
10
+ onClosed?: EventListener;
11
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,42 @@
1
+ <!--
2
+ @component
3
+ ## Badge
4
+ A small count and labeling component that can be used to add context or notifications.
5
+
6
+ @example
7
+ ```svelte
8
+ <Badge>New</Badge>
9
+ ```
10
+
11
+ #### Basic badge
12
+ ```svelte
13
+ <Badge>Primary</Badge>
14
+ <Badge class="text-bg-secondary">Secondary</Badge>
15
+ ```
16
+
17
+ #### Pill badges
18
+ ```svelte
19
+ <Badge isPill={true}>Rounded badge</Badge>
20
+ ```
21
+
22
+ #### Positioned badges
23
+ ```svelte
24
+ <Badge position="top-right">99+</Badge>
25
+ ```
26
+
27
+ ### Props
28
+ - `class` (string): Optional. CSS classes for styling the badge (default: 'text-bg-primary')
29
+ - `elementRef` (HTMLElement): Optional. Reference to the badge DOM element
30
+ - `isPill` (boolean): Optional. Makes the badge more rounded with pill styling
31
+ - `position` (string): Optional. Position of the badge when used as a notification ('top-right', 'top-left', etc.)
32
+ - `colorVariant` (string): Optional. The badge variant style
33
+ -->
34
+ <script lang="ts">import { uniqueClsx } from '../common/css.js';
35
+ import { transformBadgePosition } from './types.js';
36
+ let { children, class: classValues = 'text-bg-primary', colorVariant, elementRef = $bindable(null), isPill = false, position, ...restOfProps } = $props();
37
+ let classes = $derived(uniqueClsx('badge', colorVariant, { 'rounded-pill': isPill }, position && transformBadgePosition(position), classValues));
38
+ </script>
39
+
40
+ <span bind:this={elementRef} class={classes} {...restOfProps}>
41
+ {@render children?.()}
42
+ </span>
@@ -0,0 +1,36 @@
1
+ import { type BadgeRootProps } from './types.js';
2
+ /**
3
+ * ## Badge
4
+ * A small count and labeling component that can be used to add context or notifications.
5
+ *
6
+ * @example
7
+ * ```svelte
8
+ * <Badge>New</Badge>
9
+ * ```
10
+ *
11
+ * #### Basic badge
12
+ * ```svelte
13
+ * <Badge>Primary</Badge>
14
+ * <Badge class="text-bg-secondary">Secondary</Badge>
15
+ * ```
16
+ *
17
+ * #### Pill badges
18
+ * ```svelte
19
+ * <Badge isPill={true}>Rounded badge</Badge>
20
+ * ```
21
+ *
22
+ * #### Positioned badges
23
+ * ```svelte
24
+ * <Badge position="top-right">99+</Badge>
25
+ * ```
26
+ *
27
+ * ### Props
28
+ * - `class` (string): Optional. CSS classes for styling the badge (default: 'text-bg-primary')
29
+ * - `elementRef` (HTMLElement): Optional. Reference to the badge DOM element
30
+ * - `isPill` (boolean): Optional. Makes the badge more rounded with pill styling
31
+ * - `position` (string): Optional. Position of the badge when used as a notification ('top-right', 'top-left', etc.)
32
+ * - `colorVariant` (string): Optional. The badge variant style
33
+ */
34
+ declare const Badge: import("svelte").Component<BadgeRootProps, {}, "elementRef">;
35
+ type Badge = ReturnType<typeof Badge>;
36
+ export default Badge;
@@ -0,0 +1,2 @@
1
+ export { default as Badge } from './badge.svelte';
2
+ export * from './types.js';
@@ -0,0 +1,2 @@
1
+ export { default as Badge } from './badge.svelte';
2
+ export * from './types.js';
@@ -0,0 +1,28 @@
1
+ import type { BackgroundSubtleColorVariant, SpanElement, TextBackgroundColorVariant } from '../common/types.js';
2
+ /**
3
+ * Available visual variants for badges, supporting both standard and subtle color schemes.
4
+ */
5
+ export type BadgeColorVariant = TextBackgroundColorVariant | BackgroundSubtleColorVariant;
6
+ /**
7
+ * Defines the possible positioning options for badges when used as positioned elements.
8
+ * Follows a "vertical-horizontal" naming pattern to indicate placement.
9
+ */
10
+ export type BadgePosition = 'top-start' | 'top-middle' | 'top-end' | 'middle-start' | 'middle-middle' | 'middle-end' | 'bottom-start' | 'bottom-middle' | 'bottom-end';
11
+ /**
12
+ * Props for the Badge component root element.
13
+ * Extends standard span element properties with Badge-specific options.
14
+ */
15
+ export type BadgeRootProps = SpanElement & {
16
+ colorVariant?: BadgeColorVariant;
17
+ isPill?: boolean;
18
+ position?: BadgePosition;
19
+ };
20
+ /**
21
+ * Transforms a logical badge position value into the corresponding Bootstrap CSS classes.
22
+ * Returns a string with position-absolute class combined with the specific positioning
23
+ * and translation classes required for proper badge placement.
24
+ *
25
+ * @param position - The logical position descriptor for the badge
26
+ * @returns - Bootstrap CSS classes that implement the requested position
27
+ */
28
+ export declare const transformBadgePosition: (position: BadgePosition) => string;
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Transforms a logical badge position value into the corresponding Bootstrap CSS classes.
3
+ * Returns a string with position-absolute class combined with the specific positioning
4
+ * and translation classes required for proper badge placement.
5
+ *
6
+ * @param position - The logical position descriptor for the badge
7
+ * @returns - Bootstrap CSS classes that implement the requested position
8
+ */
9
+ export const transformBadgePosition = (position) => {
10
+ // Map logical position names to their corresponding Bootstrap utility classes
11
+ const positionTypeToClassMap = {
12
+ 'top-start': 'top-0 start-0',
13
+ 'top-middle': 'top-0 start-50',
14
+ 'top-end': 'top-0 start-100',
15
+ 'middle-start': 'top-50 start-0',
16
+ 'middle-middle': 'top-50 start-50',
17
+ 'middle-end': 'top-50 start-100',
18
+ 'bottom-start': 'top-100 start-0',
19
+ 'bottom-middle': 'top-100 start-50',
20
+ 'bottom-end': 'top-100 start-100'
21
+ };
22
+ const positionClass = positionTypeToClassMap[position];
23
+ return `position-absolute ${positionClass} translate-middle`;
24
+ };
@@ -0,0 +1,66 @@
1
+ <!--
2
+ @component
3
+ ## Breadcrumb.Item
4
+ Breadcrumb item component for use within a Breadcrumb.Root.
5
+
6
+ @example
7
+ ```svelte
8
+ <Breadcrumb.Item href="/">Home</Breadcrumb.Item>
9
+ ```
10
+
11
+ @example
12
+ ```svelte
13
+ <Breadcrumb.Item href="/library">Library</Breadcrumb.Item>
14
+ ```
15
+
16
+ @example
17
+ ```svelte
18
+ <Breadcrumb.Item isActive={true}>Current Page</Breadcrumb.Item>
19
+ ```
20
+
21
+ ### Props
22
+ - `class` (string): Optional. Additional CSS classes.
23
+ - `elementRef` (HTMLElement): Optional. Reference to the DOM element.
24
+ - `href` (string): Optional. URL for the breadcrumb item. Defaults to "#!".
25
+ - `id` (string): Optional. Unique ID for the breadcrumb item element.
26
+ - `isActive` (boolean): Optional. Whether the breadcrumb item is active (current page). Defaults to false.
27
+ -->
28
+ <script lang="ts">import { uniqueClsx } from '../common/css.js';
29
+ import { BreadcrumbItemState, initBreadcrumbItemState } from './breadcrumb.svelte.js';
30
+ // Generate a unique ID for the component, in case one is not provided
31
+ const uid = $props.id();
32
+ let { children, class: classValues, elementRef = $bindable(null), href = '#!', id = `breadcrumb-item-${uid}`, isActive = false, ...restOfProps } = $props();
33
+ const itemState = initBreadcrumbItemState({
34
+ get id() {
35
+ return id;
36
+ },
37
+ get isActive() {
38
+ return isActive;
39
+ }
40
+ });
41
+ let previousIsActive;
42
+ let classes = $derived(uniqueClsx('breadcrumb-item', {
43
+ active: itemState.isActive
44
+ }, classValues));
45
+ $effect(() => {
46
+ // Update the state when the isActive prop changes
47
+ if (id && previousIsActive !== undefined && previousIsActive !== isActive) {
48
+ const isItemActive = itemState.root.isBreadcrumbItemActive(id);
49
+ if (isActive && !isItemActive) {
50
+ itemState.root.setBreadcrumbItemActive(id);
51
+ }
52
+ else if (!isActive && isItemActive) {
53
+ itemState.root.setBreadcrumbItemActive('');
54
+ }
55
+ }
56
+ previousIsActive = isActive;
57
+ });
58
+ </script>
59
+
60
+ <li aria-current={isActive ? 'page' : undefined} bind:this={elementRef} class={classes} {id} {...restOfProps}>
61
+ {#if isActive}
62
+ {@render children?.()}
63
+ {:else}
64
+ <a {href}>{@render children?.()}</a>
65
+ {/if}
66
+ </li>
@@ -0,0 +1,30 @@
1
+ import type { Breadcrumb } from './index.js';
2
+ /**
3
+ * ## Breadcrumb.Item
4
+ * Breadcrumb item component for use within a Breadcrumb.Root.
5
+ *
6
+ * @example
7
+ * ```svelte
8
+ * <Breadcrumb.Item href="/">Home</Breadcrumb.Item>
9
+ * ```
10
+ *
11
+ * @example
12
+ * ```svelte
13
+ * <Breadcrumb.Item href="/library">Library</Breadcrumb.Item>
14
+ * ```
15
+ *
16
+ * @example
17
+ * ```svelte
18
+ * <Breadcrumb.Item isActive={true}>Current Page</Breadcrumb.Item>
19
+ * ```
20
+ *
21
+ * ### Props
22
+ * - `class` (string): Optional. Additional CSS classes.
23
+ * - `elementRef` (HTMLElement): Optional. Reference to the DOM element.
24
+ * - `href` (string): Optional. URL for the breadcrumb item. Defaults to "#!".
25
+ * - `id` (string): Optional. Unique ID for the breadcrumb item element.
26
+ * - `isActive` (boolean): Optional. Whether the breadcrumb item is active (current page). Defaults to false.
27
+ */
28
+ declare const BreadcrumbItem: import("svelte").Component<Breadcrumb.ItemProps, {}, "elementRef">;
29
+ type BreadcrumbItem = ReturnType<typeof BreadcrumbItem>;
30
+ export default BreadcrumbItem;
@@ -0,0 +1,57 @@
1
+ <!--
2
+ @component
3
+ ## Breadcrumb.Root
4
+ Root breadcrumb component that contains breadcrumb items.
5
+
6
+ @example
7
+ ```svelte
8
+ <Breadcrumb.Root>
9
+ <Breadcrumb.Item href="/">Home</Breadcrumb.Item>
10
+ <Breadcrumb.Item href="/library">Library</Breadcrumb.Item>
11
+ <Breadcrumb.Item isActive={true}>Data</Breadcrumb.Item>
12
+ </Breadcrumb.Root>
13
+ ```
14
+
15
+ @example
16
+ ```svelte
17
+ <Breadcrumb.Root divider="›">
18
+ <Breadcrumb.Item href="/">Home</Breadcrumb.Item>
19
+ <Breadcrumb.Item href="/library">Library</Breadcrumb.Item>
20
+ <Breadcrumb.Item isActive={true}>Data</Breadcrumb.Item>
21
+ </Breadcrumb.Root>
22
+ ```
23
+
24
+ ### Props
25
+ - `ariaLabel` (string): Optional. ARIA label for the breadcrumb navigation. Defaults to "breadcrumb".
26
+ - `class` (string): Optional. Additional CSS classes.
27
+ - `divider` (string): Optional. Custom divider character or string.
28
+ - `elementRef` (HTMLElement): Optional. Reference to the DOM element.
29
+ - `id` (string): Optional. Unique ID for the breadcrumb element.
30
+ - `style` (string): Optional. Additional inline styles.
31
+ -->
32
+ <script lang="ts">import { uniqueClsx } from '../common/css.js';
33
+ import { BreadcrumbRootState, initBreadcrumbRootState } from './breadcrumb.svelte.js';
34
+ // Generate a unique ID for the component, in case one is not provided
35
+ const uid = $props.id();
36
+ let { ariaLabel = 'breadcrumb', children, class: classValues, divider, elementRef = $bindable(null), id = `breadcrumb-${uid}`, style, ...restOfProps } = $props();
37
+ const _rootState = initBreadcrumbRootState({
38
+ get id() {
39
+ return id;
40
+ }
41
+ });
42
+ let classes = $derived(uniqueClsx('breadcrumb', classValues));
43
+ let styles = $derived.by(() => {
44
+ if (divider === undefined && style === undefined) {
45
+ return undefined;
46
+ }
47
+ return divider !== undefined
48
+ ? `--bs-breadcrumb-divider: ${divider.startsWith('url') ? divider : `'${divider}';${style || ''}`}`
49
+ : style || undefined;
50
+ });
51
+ </script>
52
+
53
+ <nav aria-label={ariaLabel} style={styles}>
54
+ <ol bind:this={elementRef} class={classes} {id} {...restOfProps}>
55
+ {@render children?.()}
56
+ </ol>
57
+ </nav>
@@ -0,0 +1,34 @@
1
+ import type { Breadcrumb } from './index.js';
2
+ /**
3
+ * ## Breadcrumb.Root
4
+ * Root breadcrumb component that contains breadcrumb items.
5
+ *
6
+ * @example
7
+ * ```svelte
8
+ * <Breadcrumb.Root>
9
+ * <Breadcrumb.Item href="/">Home</Breadcrumb.Item>
10
+ * <Breadcrumb.Item href="/library">Library</Breadcrumb.Item>
11
+ * <Breadcrumb.Item isActive={true}>Data</Breadcrumb.Item>
12
+ * </Breadcrumb.Root>
13
+ * ```
14
+ *
15
+ * @example
16
+ * ```svelte
17
+ * <Breadcrumb.Root divider="›">
18
+ * <Breadcrumb.Item href="/">Home</Breadcrumb.Item>
19
+ * <Breadcrumb.Item href="/library">Library</Breadcrumb.Item>
20
+ * <Breadcrumb.Item isActive={true}>Data</Breadcrumb.Item>
21
+ * </Breadcrumb.Root>
22
+ * ```
23
+ *
24
+ * ### Props
25
+ * - `ariaLabel` (string): Optional. ARIA label for the breadcrumb navigation. Defaults to "breadcrumb".
26
+ * - `class` (string): Optional. Additional CSS classes.
27
+ * - `divider` (string): Optional. Custom divider character or string.
28
+ * - `elementRef` (HTMLElement): Optional. Reference to the DOM element.
29
+ * - `id` (string): Optional. Unique ID for the breadcrumb element.
30
+ * - `style` (string): Optional. Additional inline styles.
31
+ */
32
+ declare const Breadcrumb: import("svelte").Component<Breadcrumb.RootProps, {}, "elementRef">;
33
+ type Breadcrumb = ReturnType<typeof Breadcrumb>;
34
+ export default Breadcrumb;