@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.
- package/LICENSE.md +202 -0
- package/README.md +221 -0
- package/dist/Accordion/accordion-body.svelte +8 -0
- package/dist/Accordion/accordion-body.svelte.d.ts +4 -0
- package/dist/Accordion/accordion-button.svelte +25 -0
- package/dist/Accordion/accordion-button.svelte.d.ts +4 -0
- package/dist/Accordion/accordion-collapse.svelte +18 -0
- package/dist/Accordion/accordion-collapse.svelte.d.ts +4 -0
- package/dist/Accordion/accordion-header.svelte +8 -0
- package/dist/Accordion/accordion-header.svelte.d.ts +4 -0
- package/dist/Accordion/accordion-item.svelte +33 -0
- package/dist/Accordion/accordion-item.svelte.d.ts +4 -0
- package/dist/Accordion/accordion.svelte +65 -0
- package/dist/Accordion/accordion.svelte.d.ts +51 -0
- package/dist/Accordion/accordion.svelte.js +139 -0
- package/dist/Accordion/composition.d.ts +7 -0
- package/dist/Accordion/composition.js +6 -0
- package/dist/Accordion/index.d.ts +1 -0
- package/dist/Accordion/index.js +1 -0
- package/dist/Accordion/types.d.ts +15 -0
- package/dist/Accordion/types.js +1 -0
- package/dist/Alert/alert.svelte +73 -0
- package/dist/Alert/alert.svelte.d.ts +46 -0
- package/dist/Alert/index.d.ts +2 -0
- package/dist/Alert/index.js +2 -0
- package/dist/Alert/types.d.ts +11 -0
- package/dist/Alert/types.js +1 -0
- package/dist/Badge/badge.svelte +42 -0
- package/dist/Badge/badge.svelte.d.ts +36 -0
- package/dist/Badge/index.d.ts +2 -0
- package/dist/Badge/index.js +2 -0
- package/dist/Badge/types.d.ts +28 -0
- package/dist/Badge/types.js +24 -0
- package/dist/Breadcrumb/breadcrumb-item.svelte +66 -0
- package/dist/Breadcrumb/breadcrumb-item.svelte.d.ts +30 -0
- package/dist/Breadcrumb/breadcrumb.svelte +57 -0
- package/dist/Breadcrumb/breadcrumb.svelte.d.ts +34 -0
- package/dist/Breadcrumb/breadcrumb.svelte.js +41 -0
- package/dist/Breadcrumb/composition.d.ts +3 -0
- package/dist/Breadcrumb/composition.js +2 -0
- package/dist/Breadcrumb/index.d.ts +1 -0
- package/dist/Breadcrumb/index.js +1 -0
- package/dist/Breadcrumb/types.d.ts +9 -0
- package/dist/Breadcrumb/types.js +1 -0
- package/dist/BreakpointListener/breakpoint-listener.svelte +54 -0
- package/dist/BreakpointListener/breakpoint-listener.svelte.d.ts +4 -0
- package/dist/BreakpointListener/index.d.ts +2 -0
- package/dist/BreakpointListener/index.js +2 -0
- package/dist/BreakpointListener/types.d.ts +30 -0
- package/dist/BreakpointListener/types.js +20 -0
- package/dist/Button/button.svelte +87 -0
- package/dist/Button/button.svelte.d.ts +59 -0
- package/dist/Button/index.d.ts +2 -0
- package/dist/Button/index.js +2 -0
- package/dist/Button/types.d.ts +26 -0
- package/dist/Button/types.js +1 -0
- package/dist/ButtonGroup/button-check.svelte +70 -0
- package/dist/ButtonGroup/button-check.svelte.d.ts +35 -0
- package/dist/ButtonGroup/button-group.svelte +51 -0
- package/dist/ButtonGroup/button-group.svelte.d.ts +43 -0
- package/dist/ButtonGroup/button-toolbar.svelte +36 -0
- package/dist/ButtonGroup/button-toolbar.svelte.d.ts +28 -0
- package/dist/ButtonGroup/index.d.ts +4 -0
- package/dist/ButtonGroup/index.js +4 -0
- package/dist/ButtonGroup/types.d.ts +21 -0
- package/dist/ButtonGroup/types.js +1 -0
- package/dist/Card/card-body.svelte +10 -0
- package/dist/Card/card-body.svelte.d.ts +3 -0
- package/dist/Card/card-footer.svelte +10 -0
- package/dist/Card/card-footer.svelte.d.ts +3 -0
- package/dist/Card/card-group.svelte +10 -0
- package/dist/Card/card-group.svelte.d.ts +3 -0
- package/dist/Card/card-header.svelte +10 -0
- package/dist/Card/card-header.svelte.d.ts +3 -0
- package/dist/Card/card-img-overlay.svelte +10 -0
- package/dist/Card/card-img-overlay.svelte.d.ts +3 -0
- package/dist/Card/card-img.svelte +12 -0
- package/dist/Card/card-img.svelte.d.ts +4 -0
- package/dist/Card/card-link.svelte +10 -0
- package/dist/Card/card-link.svelte.d.ts +4 -0
- package/dist/Card/card-subtitle.svelte +11 -0
- package/dist/Card/card-subtitle.svelte.d.ts +4 -0
- package/dist/Card/card-text.svelte +10 -0
- package/dist/Card/card-text.svelte.d.ts +3 -0
- package/dist/Card/card-title.svelte +11 -0
- package/dist/Card/card-title.svelte.d.ts +4 -0
- package/dist/Card/card.svelte +45 -0
- package/dist/Card/card.svelte.d.ts +38 -0
- package/dist/Card/composition.d.ts +12 -0
- package/dist/Card/composition.js +11 -0
- package/dist/Card/index.d.ts +1 -0
- package/dist/Card/index.js +1 -0
- package/dist/Card/types.d.ts +22 -0
- package/dist/Card/types.js +1 -0
- package/dist/Carousel/carousel-caption.svelte +30 -0
- package/dist/Carousel/carousel-caption.svelte.d.ts +22 -0
- package/dist/Carousel/carousel-control-next.svelte +35 -0
- package/dist/Carousel/carousel-control-next.svelte.d.ts +21 -0
- package/dist/Carousel/carousel-control-prev.svelte +35 -0
- package/dist/Carousel/carousel-control-prev.svelte.d.ts +21 -0
- package/dist/Carousel/carousel-indicator-button.svelte +41 -0
- package/dist/Carousel/carousel-indicator-button.svelte.d.ts +21 -0
- package/dist/Carousel/carousel-indicators.svelte +33 -0
- package/dist/Carousel/carousel-indicators.svelte.d.ts +25 -0
- package/dist/Carousel/carousel-inner.svelte +30 -0
- package/dist/Carousel/carousel-inner.svelte.d.ts +22 -0
- package/dist/Carousel/carousel-item.svelte +138 -0
- package/dist/Carousel/carousel-item.svelte.d.ts +28 -0
- package/dist/Carousel/carousel.svelte +140 -0
- package/dist/Carousel/carousel.svelte.d.ts +46 -0
- package/dist/Carousel/carousel.svelte.js +551 -0
- package/dist/Carousel/composition.d.ts +9 -0
- package/dist/Carousel/composition.js +8 -0
- package/dist/Carousel/index.d.ts +1 -0
- package/dist/Carousel/index.js +1 -0
- package/dist/Carousel/types.d.ts +74 -0
- package/dist/Carousel/types.js +1 -0
- package/dist/CloseButton/close-button.svelte +32 -0
- package/dist/CloseButton/close-button.svelte.d.ts +29 -0
- package/dist/CloseButton/index.d.ts +2 -0
- package/dist/CloseButton/index.js +2 -0
- package/dist/CloseButton/types.d.ts +6 -0
- package/dist/CloseButton/types.js +1 -0
- package/dist/Col/col.svelte +133 -0
- package/dist/Col/col.svelte.d.ts +60 -0
- package/dist/Col/index.d.ts +2 -0
- package/dist/Col/index.js +2 -0
- package/dist/Col/types.d.ts +30 -0
- package/dist/Col/types.js +1 -0
- package/dist/Collapse/collapse-aria-attachment.svelte.d.ts +3 -0
- package/dist/Collapse/collapse-aria-attachment.svelte.js +32 -0
- package/dist/Collapse/collapse.svelte +63 -0
- package/dist/Collapse/collapse.svelte.d.ts +45 -0
- package/dist/Collapse/index.d.ts +3 -0
- package/dist/Collapse/index.js +3 -0
- package/dist/Collapse/transition.d.ts +5 -0
- package/dist/Collapse/transition.js +75 -0
- package/dist/Collapse/types.d.ts +18 -0
- package/dist/Collapse/types.js +1 -0
- package/dist/Container/container.svelte +46 -0
- package/dist/Container/container.svelte.d.ts +36 -0
- package/dist/Container/index.d.ts +2 -0
- package/dist/Container/index.js +2 -0
- package/dist/Container/types.d.ts +8 -0
- package/dist/Container/types.js +1 -0
- package/dist/Dropdown/composition.d.ts +8 -0
- package/dist/Dropdown/composition.js +7 -0
- package/dist/Dropdown/dropdown-divider.svelte +23 -0
- package/dist/Dropdown/dropdown-divider.svelte.d.ts +18 -0
- package/dist/Dropdown/dropdown-header.svelte +27 -0
- package/dist/Dropdown/dropdown-header.svelte.d.ts +19 -0
- package/dist/Dropdown/dropdown-item-text.svelte +26 -0
- package/dist/Dropdown/dropdown-item-text.svelte.d.ts +18 -0
- package/dist/Dropdown/dropdown-item.svelte +86 -0
- package/dist/Dropdown/dropdown-item.svelte.d.ts +24 -0
- package/dist/Dropdown/dropdown-menu.svelte +82 -0
- package/dist/Dropdown/dropdown-menu.svelte.d.ts +27 -0
- package/dist/Dropdown/dropdown-toggle.svelte +67 -0
- package/dist/Dropdown/dropdown-toggle.svelte.d.ts +24 -0
- package/dist/Dropdown/dropdown.svelte +106 -0
- package/dist/Dropdown/dropdown.svelte.d.ts +34 -0
- package/dist/Dropdown/dropdown.svelte.js +435 -0
- package/dist/Dropdown/index.d.ts +1 -0
- package/dist/Dropdown/index.js +1 -0
- package/dist/Dropdown/types.d.ts +47 -0
- package/dist/Dropdown/types.js +1 -0
- package/dist/Form/composition.d.ts +34 -0
- package/dist/Form/composition.js +33 -0
- package/dist/Form/form-check-input.svelte +92 -0
- package/dist/Form/form-check-input.svelte.d.ts +48 -0
- package/dist/Form/form-check-label.svelte +26 -0
- package/dist/Form/form-check-label.svelte.d.ts +21 -0
- package/dist/Form/form-check.svelte +55 -0
- package/dist/Form/form-check.svelte.d.ts +50 -0
- package/dist/Form/form-color-input.svelte +54 -0
- package/dist/Form/form-color-input.svelte.d.ts +30 -0
- package/dist/Form/form-date-input.svelte +64 -0
- package/dist/Form/form-date-input.svelte.d.ts +46 -0
- package/dist/Form/form-datetime-local-input.svelte +60 -0
- package/dist/Form/form-datetime-local-input.svelte.d.ts +45 -0
- package/dist/Form/form-email-input.svelte +64 -0
- package/dist/Form/form-email-input.svelte.d.ts +46 -0
- package/dist/Form/form-feedback.svelte +36 -0
- package/dist/Form/form-feedback.svelte.d.ts +26 -0
- package/dist/Form/form-file-input.svelte +43 -0
- package/dist/Form/form-file-input.svelte.d.ts +30 -0
- package/dist/Form/form-floating.svelte +44 -0
- package/dist/Form/form-floating.svelte.d.ts +38 -0
- package/dist/Form/form-helper-text.svelte +35 -0
- package/dist/Form/form-helper-text.svelte.d.ts +29 -0
- package/dist/Form/form-hidden-input.svelte +18 -0
- package/dist/Form/form-hidden-input.svelte.d.ts +16 -0
- package/dist/Form/form-image-input.svelte +30 -0
- package/dist/Form/form-image-input.svelte.d.ts +26 -0
- package/dist/Form/form-input-group-text.svelte +47 -0
- package/dist/Form/form-input-group-text.svelte.d.ts +42 -0
- package/dist/Form/form-input-group.svelte +52 -0
- package/dist/Form/form-input-group.svelte.d.ts +43 -0
- package/dist/Form/form-input-label.svelte +33 -0
- package/dist/Form/form-input-label.svelte.d.ts +28 -0
- package/dist/Form/form-month-input.svelte +63 -0
- package/dist/Form/form-month-input.svelte.d.ts +48 -0
- package/dist/Form/form-number-input.svelte +62 -0
- package/dist/Form/form-number-input.svelte.d.ts +47 -0
- package/dist/Form/form-password-input.svelte +60 -0
- package/dist/Form/form-password-input.svelte.d.ts +41 -0
- package/dist/Form/form-radio-input.svelte +47 -0
- package/dist/Form/form-radio-input.svelte.d.ts +41 -0
- package/dist/Form/form-radio-label.svelte +41 -0
- package/dist/Form/form-radio-label.svelte.d.ts +35 -0
- package/dist/Form/form-range-input.svelte +43 -0
- package/dist/Form/form-range-input.svelte.d.ts +39 -0
- package/dist/Form/form-search-input.svelte +63 -0
- package/dist/Form/form-search-input.svelte.d.ts +45 -0
- package/dist/Form/form-select.svelte +85 -0
- package/dist/Form/form-select.svelte.d.ts +59 -0
- package/dist/Form/form-switch-input.svelte +54 -0
- package/dist/Form/form-switch-input.svelte.d.ts +41 -0
- package/dist/Form/form-switch-label.svelte +25 -0
- package/dist/Form/form-switch-label.svelte.d.ts +19 -0
- package/dist/Form/form-telephone-input.svelte +129 -0
- package/dist/Form/form-telephone-input.svelte.d.ts +55 -0
- package/dist/Form/form-text-area.svelte +57 -0
- package/dist/Form/form-text-area.svelte.d.ts +38 -0
- package/dist/Form/form-text-input.svelte +55 -0
- package/dist/Form/form-text-input.svelte.d.ts +37 -0
- package/dist/Form/form-time-input.svelte +62 -0
- package/dist/Form/form-time-input.svelte.d.ts +47 -0
- package/dist/Form/form-url-input.svelte +60 -0
- package/dist/Form/form-url-input.svelte.d.ts +45 -0
- package/dist/Form/form-week-Input.svelte +62 -0
- package/dist/Form/form-week-Input.svelte.d.ts +47 -0
- package/dist/Form/form.svelte +37 -0
- package/dist/Form/form.svelte.d.ts +23 -0
- package/dist/Form/index.d.ts +1 -0
- package/dist/Form/index.js +1 -0
- package/dist/Form/types.d.ts +168 -0
- package/dist/Form/types.js +1 -0
- package/dist/ListGroup/composition.d.ts +4 -0
- package/dist/ListGroup/composition.js +3 -0
- package/dist/ListGroup/index.d.ts +1 -0
- package/dist/ListGroup/index.js +1 -0
- package/dist/ListGroup/list-group-item-action.svelte +50 -0
- package/dist/ListGroup/list-group-item-action.svelte.d.ts +23 -0
- package/dist/ListGroup/list-group-item.svelte +58 -0
- package/dist/ListGroup/list-group-item.svelte.d.ts +51 -0
- package/dist/ListGroup/list-group.svelte +83 -0
- package/dist/ListGroup/list-group.svelte.d.ts +68 -0
- package/dist/ListGroup/types.d.ts +20 -0
- package/dist/ListGroup/types.js +1 -0
- package/dist/Modal/composition.d.ts +8 -0
- package/dist/Modal/composition.js +7 -0
- package/dist/Modal/index.d.ts +1 -0
- package/dist/Modal/index.js +1 -0
- package/dist/Modal/modal-body.svelte +27 -0
- package/dist/Modal/modal-body.svelte.d.ts +19 -0
- package/dist/Modal/modal-content.svelte +35 -0
- package/dist/Modal/modal-content.svelte.d.ts +27 -0
- package/dist/Modal/modal-dialog.svelte +65 -0
- package/dist/Modal/modal-dialog.svelte.d.ts +52 -0
- package/dist/Modal/modal-footer.svelte +28 -0
- package/dist/Modal/modal-footer.svelte.d.ts +20 -0
- package/dist/Modal/modal-header.svelte +50 -0
- package/dist/Modal/modal-header.svelte.d.ts +29 -0
- package/dist/Modal/modal-title.svelte +45 -0
- package/dist/Modal/modal-title.svelte.d.ts +26 -0
- package/dist/Modal/modal.svelte +233 -0
- package/dist/Modal/modal.svelte.d.ts +52 -0
- package/dist/Modal/modal.svelte.js +86 -0
- package/dist/Modal/types.d.ts +31 -0
- package/dist/Modal/types.js +1 -0
- package/dist/Nav/composition.d.ts +4 -0
- package/dist/Nav/composition.js +3 -0
- package/dist/Nav/index.d.ts +1 -0
- package/dist/Nav/index.js +1 -0
- package/dist/Nav/nav-item.svelte +25 -0
- package/dist/Nav/nav-item.svelte.d.ts +18 -0
- package/dist/Nav/nav-link.svelte +77 -0
- package/dist/Nav/nav-link.svelte.d.ts +22 -0
- package/dist/Nav/nav.svelte +93 -0
- package/dist/Nav/nav.svelte.d.ts +56 -0
- package/dist/Nav/types.d.ts +26 -0
- package/dist/Nav/types.js +1 -0
- package/dist/Navbar/composition.d.ts +8 -0
- package/dist/Navbar/composition.js +7 -0
- package/dist/Navbar/index.d.ts +1 -0
- package/dist/Navbar/index.js +1 -0
- package/dist/Navbar/navbar-brand.svelte +55 -0
- package/dist/Navbar/navbar-brand.svelte.d.ts +48 -0
- package/dist/Navbar/navbar-collapse.svelte +76 -0
- package/dist/Navbar/navbar-collapse.svelte.d.ts +55 -0
- package/dist/Navbar/navbar-nav.svelte +66 -0
- package/dist/Navbar/navbar-nav.svelte.d.ts +53 -0
- package/dist/Navbar/navbar-text.svelte +36 -0
- package/dist/Navbar/navbar-text.svelte.d.ts +28 -0
- package/dist/Navbar/navbar-toggler-icon.svelte +34 -0
- package/dist/Navbar/navbar-toggler-icon.svelte.d.ts +28 -0
- package/dist/Navbar/navbar-toggler.svelte +75 -0
- package/dist/Navbar/navbar-toggler.svelte.d.ts +48 -0
- package/dist/Navbar/navbar.svelte +116 -0
- package/dist/Navbar/navbar.svelte.d.ts +88 -0
- package/dist/Navbar/types.d.ts +23 -0
- package/dist/Navbar/types.js +1 -0
- package/dist/Offcanvas/composition.d.ts +5 -0
- package/dist/Offcanvas/composition.js +4 -0
- package/dist/Offcanvas/index.d.ts +1 -0
- package/dist/Offcanvas/index.js +1 -0
- package/dist/Offcanvas/offcanvas-body.svelte +25 -0
- package/dist/Offcanvas/offcanvas-body.svelte.d.ts +19 -0
- package/dist/Offcanvas/offcanvas-header.svelte +39 -0
- package/dist/Offcanvas/offcanvas-header.svelte.d.ts +20 -0
- package/dist/Offcanvas/offcanvas-title.svelte +31 -0
- package/dist/Offcanvas/offcanvas-title.svelte.d.ts +25 -0
- package/dist/Offcanvas/offcanvas.svelte +220 -0
- package/dist/Offcanvas/offcanvas.svelte.d.ts +61 -0
- package/dist/Offcanvas/types.d.ts +25 -0
- package/dist/Offcanvas/types.js +1 -0
- package/dist/Pagination/composition.d.ts +4 -0
- package/dist/Pagination/composition.js +3 -0
- package/dist/Pagination/index.d.ts +1 -0
- package/dist/Pagination/index.js +1 -0
- package/dist/Pagination/pagination-item.svelte +81 -0
- package/dist/Pagination/pagination-item.svelte.d.ts +35 -0
- package/dist/Pagination/pagination-link.svelte +45 -0
- package/dist/Pagination/pagination-link.svelte.d.ts +25 -0
- package/dist/Pagination/pagination.svelte +60 -0
- package/dist/Pagination/pagination.svelte.d.ts +37 -0
- package/dist/Pagination/pagination.svelte.js +117 -0
- package/dist/Pagination/types.d.ts +19 -0
- package/dist/Pagination/types.js +1 -0
- package/dist/Placeholder/composition.d.ts +3 -0
- package/dist/Placeholder/composition.js +2 -0
- package/dist/Placeholder/index.d.ts +1 -0
- package/dist/Placeholder/index.js +1 -0
- package/dist/Placeholder/placeholder-item.svelte +53 -0
- package/dist/Placeholder/placeholder-item.svelte.d.ts +48 -0
- package/dist/Placeholder/placeholder.svelte +37 -0
- package/dist/Placeholder/placeholder.svelte.d.ts +32 -0
- package/dist/Placeholder/types.d.ts +12 -0
- package/dist/Placeholder/types.js +1 -0
- package/dist/Popover/composition.d.ts +4 -0
- package/dist/Popover/composition.js +3 -0
- package/dist/Popover/index.d.ts +1 -0
- package/dist/Popover/index.js +1 -0
- package/dist/Popover/popover-body.svelte +10 -0
- package/dist/Popover/popover-body.svelte.d.ts +3 -0
- package/dist/Popover/popover-header.svelte +11 -0
- package/dist/Popover/popover-header.svelte.d.ts +4 -0
- package/dist/Popover/popover.svelte +74 -0
- package/dist/Popover/popover.svelte.d.ts +53 -0
- package/dist/Popover/types.d.ts +20 -0
- package/dist/Popover/types.js +1 -0
- package/dist/Portal/index.d.ts +2 -0
- package/dist/Portal/index.js +2 -0
- package/dist/Portal/portal-host.svelte +5 -0
- package/dist/Portal/portal-host.svelte.d.ts +7 -0
- package/dist/Portal/portal.svelte +69 -0
- package/dist/Portal/portal.svelte.d.ts +32 -0
- package/dist/Portal/types.d.ts +6 -0
- package/dist/Portal/types.js +1 -0
- package/dist/Progress/index.d.ts +3 -0
- package/dist/Progress/index.js +3 -0
- package/dist/Progress/progress-bar.svelte +101 -0
- package/dist/Progress/progress-bar.svelte.d.ts +39 -0
- package/dist/Progress/progress-stacked.svelte +34 -0
- package/dist/Progress/progress-stacked.svelte.d.ts +24 -0
- package/dist/Progress/progress.svelte.d.ts +31 -0
- package/dist/Progress/progress.svelte.js +52 -0
- package/dist/Progress/types.d.ts +40 -0
- package/dist/Progress/types.js +1 -0
- package/dist/Row/index.d.ts +2 -0
- package/dist/Row/index.js +2 -0
- package/dist/Row/row.svelte +75 -0
- package/dist/Row/row.svelte.d.ts +46 -0
- package/dist/Row/types.d.ts +12 -0
- package/dist/Row/types.js +1 -0
- package/dist/Scrollspy/index.d.ts +2 -0
- package/dist/Scrollspy/index.js +2 -0
- package/dist/Scrollspy/scrollspy-attachment.svelte.d.ts +10 -0
- package/dist/Scrollspy/scrollspy-attachment.svelte.js +122 -0
- package/dist/Scrollspy/types.d.ts +9 -0
- package/dist/Scrollspy/types.js +1 -0
- package/dist/Spinner/index.d.ts +2 -0
- package/dist/Spinner/index.js +2 -0
- package/dist/Spinner/spinner.svelte +77 -0
- package/dist/Spinner/spinner.svelte.d.ts +70 -0
- package/dist/Spinner/types.d.ts +9 -0
- package/dist/Spinner/types.js +1 -0
- package/dist/Tab/composition.d.ts +5 -0
- package/dist/Tab/composition.js +4 -0
- package/dist/Tab/index.d.ts +1 -0
- package/dist/Tab/index.js +1 -0
- package/dist/Tab/tab-content.svelte +29 -0
- package/dist/Tab/tab-content.svelte.d.ts +23 -0
- package/dist/Tab/tab-nav-link.svelte +69 -0
- package/dist/Tab/tab-nav-link.svelte.d.ts +22 -0
- package/dist/Tab/tab-pane.svelte +72 -0
- package/dist/Tab/tab-pane.svelte.d.ts +26 -0
- package/dist/Tab/tab.svelte +63 -0
- package/dist/Tab/tab.svelte.d.ts +50 -0
- package/dist/Tab/types.d.ts +18 -0
- package/dist/Tab/types.js +1 -0
- package/dist/Table/composition.d.ts +9 -0
- package/dist/Table/composition.js +8 -0
- package/dist/Table/index.d.ts +1 -0
- package/dist/Table/index.js +1 -0
- package/dist/Table/table-body.svelte +30 -0
- package/dist/Table/table-body.svelte.d.ts +23 -0
- package/dist/Table/table-caption.svelte +20 -0
- package/dist/Table/table-caption.svelte.d.ts +15 -0
- package/dist/Table/table-data.svelte +30 -0
- package/dist/Table/table-data.svelte.d.ts +19 -0
- package/dist/Table/table-foot.svelte +31 -0
- package/dist/Table/table-foot.svelte.d.ts +24 -0
- package/dist/Table/table-head.svelte +31 -0
- package/dist/Table/table-head.svelte.d.ts +24 -0
- package/dist/Table/table-header.svelte +38 -0
- package/dist/Table/table-header.svelte.d.ts +17 -0
- package/dist/Table/table-row.svelte +34 -0
- package/dist/Table/table-row.svelte.d.ts +23 -0
- package/dist/Table/table.svelte +154 -0
- package/dist/Table/table.svelte.d.ts +98 -0
- package/dist/Table/table.svelte.js +92 -0
- package/dist/Table/types.d.ts +43 -0
- package/dist/Table/types.js +1 -0
- package/dist/Toast/composition.d.ts +5 -0
- package/dist/Toast/composition.js +4 -0
- package/dist/Toast/index.d.ts +1 -0
- package/dist/Toast/index.js +1 -0
- package/dist/Toast/toast-body.svelte +26 -0
- package/dist/Toast/toast-body.svelte.d.ts +18 -0
- package/dist/Toast/toast-container.svelte +44 -0
- package/dist/Toast/toast-container.svelte.d.ts +36 -0
- package/dist/Toast/toast-header.svelte +56 -0
- package/dist/Toast/toast-header.svelte.d.ts +36 -0
- package/dist/Toast/toast.svelte +112 -0
- package/dist/Toast/toast.svelte.d.ts +54 -0
- package/dist/Toast/toast.svelte.js +83 -0
- package/dist/Toast/types.d.ts +53 -0
- package/dist/Toast/types.js +19 -0
- package/dist/Tooltip/composition.d.ts +3 -0
- package/dist/Tooltip/composition.js +2 -0
- package/dist/Tooltip/index.d.ts +1 -0
- package/dist/Tooltip/index.js +1 -0
- package/dist/Tooltip/tooltip-inner.svelte +10 -0
- package/dist/Tooltip/tooltip-inner.svelte.d.ts +4 -0
- package/dist/Tooltip/tooltip.svelte +213 -0
- package/dist/Tooltip/tooltip.svelte.d.ts +54 -0
- package/dist/Tooltip/types.d.ts +43 -0
- package/dist/Tooltip/types.js +1 -0
- package/dist/common/context.d.ts +47 -0
- package/dist/common/context.js +70 -0
- package/dist/common/css.d.ts +71 -0
- package/dist/common/css.js +133 -0
- package/dist/common/dom.d.ts +51 -0
- package/dist/common/dom.js +98 -0
- package/dist/common/index.d.ts +6 -0
- package/dist/common/index.js +5 -0
- package/dist/common/nav-tab.svelte.d.ts +88 -0
- package/dist/common/nav-tab.svelte.js +188 -0
- package/dist/common/navbar-offcanvas.svelte.d.ts +101 -0
- package/dist/common/navbar-offcanvas.svelte.js +228 -0
- package/dist/common/noop.d.ts +4 -0
- package/dist/common/noop.js +4 -0
- package/dist/common/scrollbar.d.ts +20 -0
- package/dist/common/scrollbar.js +53 -0
- package/dist/common/types.d.ts +143 -0
- package/dist/common/types.js +40 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.js +33 -0
- 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,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,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;
|