@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,41 @@
|
|
|
1
|
+
import { Context } from '../common/index.js';
|
|
2
|
+
export class BreadcrumbRootState {
|
|
3
|
+
props;
|
|
4
|
+
#activeBreadcrumbItemId = $state('');
|
|
5
|
+
constructor(props) {
|
|
6
|
+
this.props = props;
|
|
7
|
+
this.isBreadcrumbItemActive = this.isBreadcrumbItemActive.bind(this);
|
|
8
|
+
this.setBreadcrumbItemActive = this.setBreadcrumbItemActive.bind(this);
|
|
9
|
+
}
|
|
10
|
+
isBreadcrumbItemActive(itemId) {
|
|
11
|
+
return this.#activeBreadcrumbItemId === itemId;
|
|
12
|
+
}
|
|
13
|
+
setBreadcrumbItemActive(itemId) {
|
|
14
|
+
this.#activeBreadcrumbItemId = itemId;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export class BreadcrumbItemState {
|
|
18
|
+
props;
|
|
19
|
+
root;
|
|
20
|
+
isActive = $derived.by(() => this.root.isBreadcrumbItemActive(this.props.id || ''));
|
|
21
|
+
constructor(props, root) {
|
|
22
|
+
this.props = props;
|
|
23
|
+
this.root = root;
|
|
24
|
+
if (this.props.isActive) {
|
|
25
|
+
this.root.setBreadcrumbItemActive(this.props.id || '');
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
const BreadcrumbRootContext = new Context('breadcrumb-root');
|
|
30
|
+
const BreadcrumbItemContext = new Context('breadcrumb-item');
|
|
31
|
+
export function initBreadcrumbRootState(props) {
|
|
32
|
+
const rootState = new BreadcrumbRootState(props);
|
|
33
|
+
return BreadcrumbRootContext.set(rootState);
|
|
34
|
+
}
|
|
35
|
+
export function initBreadcrumbItemState(props) {
|
|
36
|
+
if (!BreadcrumbRootContext.exists()) {
|
|
37
|
+
throw new Error('BreadcrumbRootContext is not set. Please initialize it first.');
|
|
38
|
+
}
|
|
39
|
+
const rootState = BreadcrumbRootContext.get();
|
|
40
|
+
return BreadcrumbItemContext.set(new BreadcrumbItemState(props, rootState));
|
|
41
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * as Breadcrumb from './composition.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * as Breadcrumb from './composition.js';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ListItemElement, OListElement } from '../common/types.js';
|
|
2
|
+
export type BreadcrumbRootProps = OListElement & {
|
|
3
|
+
ariaLabel?: string;
|
|
4
|
+
divider?: string;
|
|
5
|
+
};
|
|
6
|
+
export type BreadcrumbItemProps = ListItemElement & {
|
|
7
|
+
isActive?: boolean;
|
|
8
|
+
href?: string;
|
|
9
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
<script lang="ts">import { noop } from '../common/noop.js';
|
|
2
|
+
import { MediaQuery } from 'svelte/reactivity';
|
|
3
|
+
import { MediaQueryStringsByBreakpointEnum } from './types.js';
|
|
4
|
+
let { children, currentBreakpoint = $bindable(undefined), isDisabled = false, onChange = noop, onBreakUp = noop, onBreakDown = noop, renderOn } = $props();
|
|
5
|
+
const mediaQueries = Object.entries(MediaQueryStringsByBreakpointEnum).map(([breakpoint, queryString]) => ({
|
|
6
|
+
breakpoint: parseInt(breakpoint),
|
|
7
|
+
mediaQuery: new MediaQuery(queryString)
|
|
8
|
+
}));
|
|
9
|
+
const doRenderChildren = () => {
|
|
10
|
+
if (!children || isDisabled) {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
if (Array.isArray(renderOn)) {
|
|
14
|
+
// only call includes when currentBreakpoint is defined to satisfy the BaseBreakpoint type
|
|
15
|
+
if (currentBreakpoint == null) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
return renderOn.includes(currentBreakpoint);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
return renderOn === currentBreakpoint;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
// Effect to monitor all media queries and update currentBreakpoint
|
|
25
|
+
$effect(() => {
|
|
26
|
+
if (isDisabled) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
// Find the currently matching breakpoint
|
|
30
|
+
const matchingBreakpoint = mediaQueries.find(({ mediaQuery }) => mediaQuery.current);
|
|
31
|
+
// Only proceed if we found a matching breakpoint and it's different from current
|
|
32
|
+
if (matchingBreakpoint !== undefined && currentBreakpoint !== matchingBreakpoint.breakpoint) {
|
|
33
|
+
const previousBreakpoint = currentBreakpoint ?? null;
|
|
34
|
+
currentBreakpoint = matchingBreakpoint.breakpoint;
|
|
35
|
+
// Trigger onChange callback
|
|
36
|
+
onChange({ current: currentBreakpoint, previous: previousBreakpoint });
|
|
37
|
+
// Trigger direction-specific callbacks
|
|
38
|
+
if (previousBreakpoint === null) {
|
|
39
|
+
// First detection always counts as breaking up from null
|
|
40
|
+
onBreakUp({ from: null, to: currentBreakpoint });
|
|
41
|
+
}
|
|
42
|
+
else if (currentBreakpoint > previousBreakpoint) {
|
|
43
|
+
onBreakUp({ from: previousBreakpoint, to: currentBreakpoint });
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
onBreakDown({ from: previousBreakpoint, to: currentBreakpoint });
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
</script>
|
|
51
|
+
|
|
52
|
+
{#if doRenderChildren()}
|
|
53
|
+
{@render children?.()}
|
|
54
|
+
{/if}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { BreakpointListenerRootProps } from './types.js';
|
|
2
|
+
declare const BreakpointListener: import("svelte").Component<BreakpointListenerRootProps, {}, "currentBreakpoint">;
|
|
3
|
+
type BreakpointListener = ReturnType<typeof BreakpointListener>;
|
|
4
|
+
export default BreakpointListener;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { Snippet } from 'svelte';
|
|
2
|
+
export type BreakEvent = {
|
|
3
|
+
from: BreakpointEnum | null;
|
|
4
|
+
to: BreakpointEnum;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Enum for breakpoints using numbers to facilitate comparisons.
|
|
8
|
+
*/
|
|
9
|
+
export declare enum BreakpointEnum {
|
|
10
|
+
XS = 0,
|
|
11
|
+
SM = 1,
|
|
12
|
+
MD = 2,
|
|
13
|
+
LG = 3,
|
|
14
|
+
XL = 4,
|
|
15
|
+
XXL = 5
|
|
16
|
+
}
|
|
17
|
+
export type BreakpointListenerRootProps = {
|
|
18
|
+
children?: Snippet;
|
|
19
|
+
currentBreakpoint?: BreakpointEnum;
|
|
20
|
+
isDisabled?: boolean;
|
|
21
|
+
onChange?: (changeEvent: ChangeEvent) => void;
|
|
22
|
+
onBreakUp?: (breakEvent: BreakEvent) => void;
|
|
23
|
+
onBreakDown?: (breakEvent: BreakEvent) => void;
|
|
24
|
+
renderOn?: BreakpointEnum | BreakpointEnum[];
|
|
25
|
+
};
|
|
26
|
+
export type ChangeEvent = {
|
|
27
|
+
current: BreakpointEnum;
|
|
28
|
+
previous: BreakpointEnum | null;
|
|
29
|
+
};
|
|
30
|
+
export declare const MediaQueryStringsByBreakpointEnum: Record<BreakpointEnum, string>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enum for breakpoints using numbers to facilitate comparisons.
|
|
3
|
+
*/
|
|
4
|
+
export var BreakpointEnum;
|
|
5
|
+
(function (BreakpointEnum) {
|
|
6
|
+
BreakpointEnum[BreakpointEnum["XS"] = 0] = "XS";
|
|
7
|
+
BreakpointEnum[BreakpointEnum["SM"] = 1] = "SM";
|
|
8
|
+
BreakpointEnum[BreakpointEnum["MD"] = 2] = "MD";
|
|
9
|
+
BreakpointEnum[BreakpointEnum["LG"] = 3] = "LG";
|
|
10
|
+
BreakpointEnum[BreakpointEnum["XL"] = 4] = "XL";
|
|
11
|
+
BreakpointEnum[BreakpointEnum["XXL"] = 5] = "XXL";
|
|
12
|
+
})(BreakpointEnum || (BreakpointEnum = {}));
|
|
13
|
+
export const MediaQueryStringsByBreakpointEnum = {
|
|
14
|
+
[BreakpointEnum.XS]: '(max-width: 575.98px)',
|
|
15
|
+
[BreakpointEnum.SM]: '(min-width: 576px) and (max-width: 767.98px)',
|
|
16
|
+
[BreakpointEnum.MD]: '(min-width: 768px) and (max-width: 991.98px)',
|
|
17
|
+
[BreakpointEnum.LG]: '(min-width: 992px) and (max-width: 1199.98px)',
|
|
18
|
+
[BreakpointEnum.XL]: '(min-width: 1200px) and (max-width: 1399.98px)',
|
|
19
|
+
[BreakpointEnum.XXL]: '(min-width: 1400px)'
|
|
20
|
+
};
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@component
|
|
3
|
+
## Button
|
|
4
|
+
Use Bootstrap's custom button styles for actions in forms, dialogs, and more. Includes support for multiple sizes, states, and more.
|
|
5
|
+
|
|
6
|
+
@example
|
|
7
|
+
```svelte
|
|
8
|
+
<Button>Click me</Button>
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
#### Button color variants
|
|
12
|
+
```svelte
|
|
13
|
+
<Button colorVariant="primary">Primary</Button>
|
|
14
|
+
<Button colorVariant="secondary">Secondary</Button>
|
|
15
|
+
<Button colorVariant="success">Success</Button>
|
|
16
|
+
<Button colorVariant="danger">Danger</Button>
|
|
17
|
+
<Button colorVariant="warning">Warning</Button>
|
|
18
|
+
<Button colorVariant="info">Info</Button>
|
|
19
|
+
<Button colorVariant="light">Light</Button>
|
|
20
|
+
<Button colorVariant="dark">Dark</Button>
|
|
21
|
+
<Button colorVariant="link">Link</Button>
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
#### Button sizes
|
|
25
|
+
```svelte
|
|
26
|
+
<Button size="lg">Large button</Button>
|
|
27
|
+
<Button size="sm">Small button</Button>
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
#### Disabled state
|
|
31
|
+
```svelte
|
|
32
|
+
<Button disabled>Disabled button</Button>
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
#### Button with href
|
|
36
|
+
```svelte
|
|
37
|
+
<Button href="https://example.com">Link button</Button>
|
|
38
|
+
```
|
|
39
|
+
#### Button with input type
|
|
40
|
+
```svelte
|
|
41
|
+
<Button type="submit" value="Submit">Submit</Button>
|
|
42
|
+
<Button type="reset" value="Reset">Reset</Button>
|
|
43
|
+
<Button type="button" value="Custom">Custom</Button>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Props
|
|
47
|
+
- `children` (slot): Content to display inside the button.
|
|
48
|
+
- `class` (string): Optional. Additional CSS classes.
|
|
49
|
+
- `colorVariant` (string): Optional. Button style variant ('primary', 'secondary', 'success', etc.).
|
|
50
|
+
- `disabled` (boolean): Optional. Disables the button when true (default: false).
|
|
51
|
+
- `elementRef` (HTMLElement): Optional. Reference to the button DOM element.
|
|
52
|
+
- `href` (string): Optional. Turns the button into an anchor element when provided.
|
|
53
|
+
- `size` (string): Optional. Button size ('lg' or 'sm').
|
|
54
|
+
- `type` (string): Optional. Button type attribute (default: 'button').
|
|
55
|
+
- `value` (string): Optional. Value attribute when rendered as an input.
|
|
56
|
+
-->
|
|
57
|
+
<script lang="ts">/* eslint-disable @typescript-eslint/no-explicit-any -- `restOfProps` spread targets <svelte:element> which unions <a>/<button>; the union type is not spreadable without `as any` */
|
|
58
|
+
import { uniqueClsx } from '../common/css.js';
|
|
59
|
+
// Generate a unique ID for the collapse element, in case one is not provided...
|
|
60
|
+
const uid = $props.id();
|
|
61
|
+
let { children, class: classValues, colorVariant, disabled = false, elementRef = $bindable(null), href, id = `btn-${uid}`, size, type = 'button', value = $bindable(undefined), ...restOfProps } = $props();
|
|
62
|
+
let isAnchor = $derived(Boolean(href));
|
|
63
|
+
let isInput = $derived(Boolean(value));
|
|
64
|
+
let elementType = $derived(isAnchor ? 'a' : isInput ? 'input' : 'button');
|
|
65
|
+
let classes = $derived(uniqueClsx('btn', colorVariant && `btn-${colorVariant}`, size && `btn-${size}`, isAnchor && disabled && 'disabled', classValues));
|
|
66
|
+
</script>
|
|
67
|
+
|
|
68
|
+
{#if !isInput}
|
|
69
|
+
<svelte:element
|
|
70
|
+
this={elementType}
|
|
71
|
+
aria-disabled={isAnchor ? disabled : undefined}
|
|
72
|
+
bind:this={elementRef}
|
|
73
|
+
class={classes}
|
|
74
|
+
disabled={isAnchor ? undefined : disabled}
|
|
75
|
+
href={href && !disabled ? href : undefined}
|
|
76
|
+
{id}
|
|
77
|
+
role={isAnchor ? 'button' : undefined}
|
|
78
|
+
tabindex={isAnchor && disabled ? -1 : 0}
|
|
79
|
+
type={isAnchor ? undefined : type}
|
|
80
|
+
{...restOfProps as any}
|
|
81
|
+
><!-- using `as Record<string, unknown>` because Svelte doesn't support spreading props on elements with different types -->
|
|
82
|
+
{@render children?.()}
|
|
83
|
+
</svelte:element>
|
|
84
|
+
{:else}
|
|
85
|
+
<!-- using `as Record<string, unknown>` because Svelte doesn't support spreading props on elements with different types -->
|
|
86
|
+
<input bind:this={elementRef} bind:value class={classes} {disabled} tabindex={disabled ? -1 : 0} {type} {...restOfProps as any} />
|
|
87
|
+
{/if}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { ButtonRootProps } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* ## Button
|
|
4
|
+
* Use Bootstrap's custom button styles for actions in forms, dialogs, and more. Includes support for multiple sizes, states, and more.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```svelte
|
|
8
|
+
* <Button>Click me</Button>
|
|
9
|
+
* ```
|
|
10
|
+
*
|
|
11
|
+
* #### Button color variants
|
|
12
|
+
* ```svelte
|
|
13
|
+
* <Button colorVariant="primary">Primary</Button>
|
|
14
|
+
* <Button colorVariant="secondary">Secondary</Button>
|
|
15
|
+
* <Button colorVariant="success">Success</Button>
|
|
16
|
+
* <Button colorVariant="danger">Danger</Button>
|
|
17
|
+
* <Button colorVariant="warning">Warning</Button>
|
|
18
|
+
* <Button colorVariant="info">Info</Button>
|
|
19
|
+
* <Button colorVariant="light">Light</Button>
|
|
20
|
+
* <Button colorVariant="dark">Dark</Button>
|
|
21
|
+
* <Button colorVariant="link">Link</Button>
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* #### Button sizes
|
|
25
|
+
* ```svelte
|
|
26
|
+
* <Button size="lg">Large button</Button>
|
|
27
|
+
* <Button size="sm">Small button</Button>
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* #### Disabled state
|
|
31
|
+
* ```svelte
|
|
32
|
+
* <Button disabled>Disabled button</Button>
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* #### Button with href
|
|
36
|
+
* ```svelte
|
|
37
|
+
* <Button href="https://example.com">Link button</Button>
|
|
38
|
+
* ```
|
|
39
|
+
* #### Button with input type
|
|
40
|
+
* ```svelte
|
|
41
|
+
* <Button type="submit" value="Submit">Submit</Button>
|
|
42
|
+
* <Button type="reset" value="Reset">Reset</Button>
|
|
43
|
+
* <Button type="button" value="Custom">Custom</Button>
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* ### Props
|
|
47
|
+
* - `children` (slot): Content to display inside the button.
|
|
48
|
+
* - `class` (string): Optional. Additional CSS classes.
|
|
49
|
+
* - `colorVariant` (string): Optional. Button style variant ('primary', 'secondary', 'success', etc.).
|
|
50
|
+
* - `disabled` (boolean): Optional. Disables the button when true (default: false).
|
|
51
|
+
* - `elementRef` (HTMLElement): Optional. Reference to the button DOM element.
|
|
52
|
+
* - `href` (string): Optional. Turns the button into an anchor element when provided.
|
|
53
|
+
* - `size` (string): Optional. Button size ('lg' or 'sm').
|
|
54
|
+
* - `type` (string): Optional. Button type attribute (default: 'button').
|
|
55
|
+
* - `value` (string): Optional. Value attribute when rendered as an input.
|
|
56
|
+
*/
|
|
57
|
+
declare const Button: import("svelte").Component<ButtonRootProps, {}, "value" | "elementRef">;
|
|
58
|
+
type Button = ReturnType<typeof Button>;
|
|
59
|
+
export default Button;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { BaseColorVariant, WithElementRef } from '../common/types.js';
|
|
2
|
+
import type { HTMLAnchorAttributes, HTMLButtonAttributes, HTMLInputAttributes } from 'svelte/elements';
|
|
3
|
+
export type ButtonAsAnchorElement = WithElementRef<Omit<HTMLAnchorAttributes, 'href' | 'type' | 'value'>> & {
|
|
4
|
+
disabled?: HTMLButtonAttributes['disabled'];
|
|
5
|
+
href: HTMLAnchorAttributes['href'];
|
|
6
|
+
type?: never;
|
|
7
|
+
value?: never;
|
|
8
|
+
};
|
|
9
|
+
export type ButtonAsButtonElement = WithElementRef<Omit<HTMLButtonAttributes, 'href' | 'type' | 'value'>> & {
|
|
10
|
+
disabled?: HTMLButtonAttributes['disabled'];
|
|
11
|
+
type?: HTMLButtonAttributes['type'];
|
|
12
|
+
href?: never;
|
|
13
|
+
value?: never;
|
|
14
|
+
};
|
|
15
|
+
export type ButtonAsInputElement = WithElementRef<Omit<HTMLInputAttributes, 'href' | 'size' | 'type' | 'value'>> & {
|
|
16
|
+
disabled?: HTMLInputAttributes['disabled'];
|
|
17
|
+
type?: HTMLInputAttributes['type'];
|
|
18
|
+
href?: never;
|
|
19
|
+
value?: string;
|
|
20
|
+
};
|
|
21
|
+
export type ButtonRootProps = (ButtonAsAnchorElement | ButtonAsButtonElement | ButtonAsInputElement) & {
|
|
22
|
+
colorVariant?: ButtonColorVariant;
|
|
23
|
+
size?: ButtonSize;
|
|
24
|
+
};
|
|
25
|
+
export type ButtonColorVariant = BaseColorVariant | 'link' | 'outline-primary' | 'outline-secondary' | 'outline-success' | 'outline-danger' | 'outline-warning' | 'outline-info' | 'outline-light' | 'outline-dark';
|
|
26
|
+
export type ButtonSize = 'sm' | 'lg' | '';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@component
|
|
3
|
+
## ButtonCheck
|
|
4
|
+
Bootstrap toggle-button input that renders a `.btn-check` input and its matching `.btn` label.
|
|
5
|
+
|
|
6
|
+
@example
|
|
7
|
+
```svelte
|
|
8
|
+
<ButtonCheck id="newsletter">Newsletter</ButtonCheck>
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
#### Radio toggle group
|
|
12
|
+
```svelte
|
|
13
|
+
<ButtonGroup>
|
|
14
|
+
<ButtonCheck id="option-a" name="options" type="radio" colorVariant="outline-primary">Option A</ButtonCheck>
|
|
15
|
+
<ButtonCheck id="option-b" name="options" type="radio" colorVariant="outline-primary">Option B</ButtonCheck>
|
|
16
|
+
</ButtonGroup>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### Props
|
|
20
|
+
- `autocomplete` (string): Optional. Defaults to `'off'`.
|
|
21
|
+
- `checked` (boolean): Optional. Bindable checked state for checkbox inputs.
|
|
22
|
+
- `class` (string): Optional. Additional CSS classes for the input.
|
|
23
|
+
- `colorVariant` (string): Optional. Button style variant for the label.
|
|
24
|
+
- `disabled` (boolean): Optional. Disables the input and label interaction.
|
|
25
|
+
- `elementRef` (HTMLInputElement): Optional. Reference to the input element.
|
|
26
|
+
- `group` (string | unknown[]): Optional. Bindable group value for grouped radio or checkbox inputs.
|
|
27
|
+
- `id` (string): Optional. Input id used by the label `for` attribute.
|
|
28
|
+
- `labelClass` (string): Optional. Additional CSS classes for the label.
|
|
29
|
+
- `labelElementRef` (HTMLLabelElement): Optional. Reference to the label element.
|
|
30
|
+
- `name` (string): Optional. Input group name, commonly used with radio toggles.
|
|
31
|
+
- `type` (`'checkbox' | 'radio'`): Optional. Defaults to `'checkbox'`.
|
|
32
|
+
-->
|
|
33
|
+
<script lang="ts">import { noop, uniqueClsx } from '../common/index.js';
|
|
34
|
+
const uid = $props.id();
|
|
35
|
+
let { autocomplete = 'off', children, checked = $bindable(false), class: classValues, colorVariant, disabled = false, elementRef = $bindable(null), group = $bindable(undefined), id = `btn-check-${uid}`, labelClass, labelElementRef = $bindable(null), onchange = noop, type = 'checkbox', value = undefined, ...restOfProps } = $props();
|
|
36
|
+
let inputClasses = $derived(uniqueClsx('btn-check', classValues));
|
|
37
|
+
let labelClasses = $derived(uniqueClsx('btn', colorVariant && `btn-${colorVariant}`, labelClass));
|
|
38
|
+
let isCheckboxGroup = $derived(type === 'checkbox' && group !== undefined);
|
|
39
|
+
</script>
|
|
40
|
+
|
|
41
|
+
{#if type === 'radio'}
|
|
42
|
+
<input bind:this={elementRef} bind:group {autocomplete} class={inputClasses} {disabled} {id} {onchange} type="radio" {value} {...restOfProps} />
|
|
43
|
+
{:else if isCheckboxGroup}
|
|
44
|
+
<input
|
|
45
|
+
bind:this={elementRef}
|
|
46
|
+
bind:group
|
|
47
|
+
{autocomplete}
|
|
48
|
+
class={inputClasses}
|
|
49
|
+
{disabled}
|
|
50
|
+
{id}
|
|
51
|
+
{onchange}
|
|
52
|
+
type="checkbox"
|
|
53
|
+
{value}
|
|
54
|
+
{...restOfProps} />
|
|
55
|
+
{:else}
|
|
56
|
+
<input
|
|
57
|
+
bind:this={elementRef}
|
|
58
|
+
bind:checked
|
|
59
|
+
{autocomplete}
|
|
60
|
+
class={inputClasses}
|
|
61
|
+
{disabled}
|
|
62
|
+
{id}
|
|
63
|
+
{onchange}
|
|
64
|
+
type="checkbox"
|
|
65
|
+
{value}
|
|
66
|
+
{...restOfProps} />
|
|
67
|
+
{/if}
|
|
68
|
+
<label bind:this={labelElementRef} class={labelClasses} for={id}>
|
|
69
|
+
{@render children?.()}
|
|
70
|
+
</label>
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { ButtonCheckRootProps } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* ## ButtonCheck
|
|
4
|
+
* Bootstrap toggle-button input that renders a `.btn-check` input and its matching `.btn` label.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```svelte
|
|
8
|
+
* <ButtonCheck id="newsletter">Newsletter</ButtonCheck>
|
|
9
|
+
* ```
|
|
10
|
+
*
|
|
11
|
+
* #### Radio toggle group
|
|
12
|
+
* ```svelte
|
|
13
|
+
* <ButtonGroup>
|
|
14
|
+
* <ButtonCheck id="option-a" name="options" type="radio" colorVariant="outline-primary">Option A</ButtonCheck>
|
|
15
|
+
* <ButtonCheck id="option-b" name="options" type="radio" colorVariant="outline-primary">Option B</ButtonCheck>
|
|
16
|
+
* </ButtonGroup>
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* ### Props
|
|
20
|
+
* - `autocomplete` (string): Optional. Defaults to `'off'`.
|
|
21
|
+
* - `checked` (boolean): Optional. Bindable checked state for checkbox inputs.
|
|
22
|
+
* - `class` (string): Optional. Additional CSS classes for the input.
|
|
23
|
+
* - `colorVariant` (string): Optional. Button style variant for the label.
|
|
24
|
+
* - `disabled` (boolean): Optional. Disables the input and label interaction.
|
|
25
|
+
* - `elementRef` (HTMLInputElement): Optional. Reference to the input element.
|
|
26
|
+
* - `group` (string | unknown[]): Optional. Bindable group value for grouped radio or checkbox inputs.
|
|
27
|
+
* - `id` (string): Optional. Input id used by the label `for` attribute.
|
|
28
|
+
* - `labelClass` (string): Optional. Additional CSS classes for the label.
|
|
29
|
+
* - `labelElementRef` (HTMLLabelElement): Optional. Reference to the label element.
|
|
30
|
+
* - `name` (string): Optional. Input group name, commonly used with radio toggles.
|
|
31
|
+
* - `type` (`'checkbox' | 'radio'`): Optional. Defaults to `'checkbox'`.
|
|
32
|
+
*/
|
|
33
|
+
declare const ButtonCheck: import("svelte").Component<ButtonCheckRootProps, {}, "elementRef" | "group" | "checked" | "labelElementRef">;
|
|
34
|
+
type ButtonCheck = ReturnType<typeof ButtonCheck>;
|
|
35
|
+
export default ButtonCheck;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@component
|
|
3
|
+
## ButtonGroup
|
|
4
|
+
A component that groups a series of buttons together on a single line or stacked vertically.
|
|
5
|
+
|
|
6
|
+
@example
|
|
7
|
+
```svelte
|
|
8
|
+
<ButtonGroup>
|
|
9
|
+
<Button>Left</Button>
|
|
10
|
+
<Button>Middle</Button>
|
|
11
|
+
<Button>Right</Button>
|
|
12
|
+
</ButtonGroup>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
#### Basic button group
|
|
16
|
+
```svelte
|
|
17
|
+
<ButtonGroup>
|
|
18
|
+
<Button colorVariant="primary">Primary</Button>
|
|
19
|
+
<Button colorVariant="secondary">Secondary</Button>
|
|
20
|
+
<Button colorVariant="success">Success</Button>
|
|
21
|
+
</ButtonGroup>
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
#### Vertical button group
|
|
25
|
+
```svelte
|
|
26
|
+
<ButtonGroup isVertical={true}>
|
|
27
|
+
<Button>Top</Button>
|
|
28
|
+
<Button>Middle</Button>
|
|
29
|
+
<Button>Bottom</Button>
|
|
30
|
+
</ButtonGroup>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Props
|
|
34
|
+
- `ariaLabel` (string): Optional. Accessibility label for the button group
|
|
35
|
+
- `class` (string): Optional. CSS classes for styling the button group
|
|
36
|
+
- `elementRef` (HTMLElement): Optional. Reference to the button group DOM element
|
|
37
|
+
- `id` (string): Optional. ID for the button group
|
|
38
|
+
- `isVertical` (boolean): Optional. Makes the button group stack vertically\
|
|
39
|
+
- `size` (string): Optional. Size of the button group ('sm' or 'lg')
|
|
40
|
+
-->
|
|
41
|
+
<script lang="ts">import { uniqueClsx } from '../common/css.js';
|
|
42
|
+
import {} from './types.js';
|
|
43
|
+
// Generate a unique ID for the collapse element, in case one is not provided...
|
|
44
|
+
const uid = $props.id();
|
|
45
|
+
let { ariaLabel = `Button group ${uid}`, children, class: classValues, elementRef = $bindable(null), id = `btn-group-${uid}`, isVertical = false, size, ...restOfProps } = $props();
|
|
46
|
+
let classes = $derived(uniqueClsx({ 'btn-group-vertical': isVertical }, { 'btn-group': !isVertical }, size && `btn-group-${size}`, classValues));
|
|
47
|
+
</script>
|
|
48
|
+
|
|
49
|
+
<div aria-label={ariaLabel} bind:this={elementRef} class={classes} {id} role="group" {...restOfProps}>
|
|
50
|
+
{@render children?.()}
|
|
51
|
+
</div>
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { type ButtonGroupRootProps } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* ## ButtonGroup
|
|
4
|
+
* A component that groups a series of buttons together on a single line or stacked vertically.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```svelte
|
|
8
|
+
* <ButtonGroup>
|
|
9
|
+
* <Button>Left</Button>
|
|
10
|
+
* <Button>Middle</Button>
|
|
11
|
+
* <Button>Right</Button>
|
|
12
|
+
* </ButtonGroup>
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* #### Basic button group
|
|
16
|
+
* ```svelte
|
|
17
|
+
* <ButtonGroup>
|
|
18
|
+
* <Button colorVariant="primary">Primary</Button>
|
|
19
|
+
* <Button colorVariant="secondary">Secondary</Button>
|
|
20
|
+
* <Button colorVariant="success">Success</Button>
|
|
21
|
+
* </ButtonGroup>
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* #### Vertical button group
|
|
25
|
+
* ```svelte
|
|
26
|
+
* <ButtonGroup isVertical={true}>
|
|
27
|
+
* <Button>Top</Button>
|
|
28
|
+
* <Button>Middle</Button>
|
|
29
|
+
* <Button>Bottom</Button>
|
|
30
|
+
* </ButtonGroup>
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* ### Props
|
|
34
|
+
* - `ariaLabel` (string): Optional. Accessibility label for the button group
|
|
35
|
+
* - `class` (string): Optional. CSS classes for styling the button group
|
|
36
|
+
* - `elementRef` (HTMLElement): Optional. Reference to the button group DOM element
|
|
37
|
+
* - `id` (string): Optional. ID for the button group
|
|
38
|
+
* - `isVertical` (boolean): Optional. Makes the button group stack vertically\
|
|
39
|
+
* - `size` (string): Optional. Size of the button group ('sm' or 'lg')
|
|
40
|
+
*/
|
|
41
|
+
declare const ButtonGroup: import("svelte").Component<ButtonGroupRootProps, {}, "elementRef">;
|
|
42
|
+
type ButtonGroup = ReturnType<typeof ButtonGroup>;
|
|
43
|
+
export default ButtonGroup;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@component
|
|
3
|
+
## ButtonToolbar
|
|
4
|
+
Combine sets of button groups into button toolbars for more complex components.
|
|
5
|
+
|
|
6
|
+
@example
|
|
7
|
+
```svelte
|
|
8
|
+
<ButtonToolbar ariaLabel="Toolbar with button groups">
|
|
9
|
+
<ButtonGroup class="me-2">
|
|
10
|
+
<Button>1</Button>
|
|
11
|
+
<Button>2</Button>
|
|
12
|
+
<Button>3</Button>
|
|
13
|
+
</ButtonGroup>
|
|
14
|
+
<ButtonGroup class="me-2">
|
|
15
|
+
<Button>4</Button>
|
|
16
|
+
<Button>5</Button>
|
|
17
|
+
</ButtonGroup>
|
|
18
|
+
</ButtonToolbar>
|
|
19
|
+
```
|
|
20
|
+
### Props
|
|
21
|
+
- `ariaLabel` (string): Optional. Accessibility label for the button group.
|
|
22
|
+
- `class` (string): Optional. CSS classes for styling the button group.
|
|
23
|
+
- `elementRef` (HTMLElement): Optional. Reference to the button group DOM element.
|
|
24
|
+
- `id` (string): Optional. ID for the button group.
|
|
25
|
+
-->
|
|
26
|
+
<script lang="ts">import { uniqueClsx } from '../common/css.js';
|
|
27
|
+
import {} from './types.js';
|
|
28
|
+
// Generate a unique ID for the collapse element, in case one is not provided...
|
|
29
|
+
const uid = $props.id();
|
|
30
|
+
let { ariaLabel = 'Button toolbar ${uid}', children, class: classValues, elementRef = $bindable(null), id = `btn-toolbar-${uid}`, ...restOfProps } = $props();
|
|
31
|
+
let classes = $derived(uniqueClsx('btn-toolbar', classValues));
|
|
32
|
+
</script>
|
|
33
|
+
|
|
34
|
+
<div aria-label={ariaLabel} bind:this={elementRef} class={classes} {id} role="toolbar" {...restOfProps}>
|
|
35
|
+
{@render children?.()}
|
|
36
|
+
</div>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type ButtonToolbarRootProps } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* ## ButtonToolbar
|
|
4
|
+
* Combine sets of button groups into button toolbars for more complex components.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```svelte
|
|
8
|
+
* <ButtonToolbar ariaLabel="Toolbar with button groups">
|
|
9
|
+
* <ButtonGroup class="me-2">
|
|
10
|
+
* <Button>1</Button>
|
|
11
|
+
* <Button>2</Button>
|
|
12
|
+
* <Button>3</Button>
|
|
13
|
+
* </ButtonGroup>
|
|
14
|
+
* <ButtonGroup class="me-2">
|
|
15
|
+
* <Button>4</Button>
|
|
16
|
+
* <Button>5</Button>
|
|
17
|
+
* </ButtonGroup>
|
|
18
|
+
* </ButtonToolbar>
|
|
19
|
+
* ```
|
|
20
|
+
* ### Props
|
|
21
|
+
* - `ariaLabel` (string): Optional. Accessibility label for the button group.
|
|
22
|
+
* - `class` (string): Optional. CSS classes for styling the button group.
|
|
23
|
+
* - `elementRef` (HTMLElement): Optional. Reference to the button group DOM element.
|
|
24
|
+
* - `id` (string): Optional. ID for the button group.
|
|
25
|
+
*/
|
|
26
|
+
declare const ButtonToolbar: import("svelte").Component<ButtonToolbarRootProps, {}, "elementRef">;
|
|
27
|
+
type ButtonToolbar = ReturnType<typeof ButtonToolbar>;
|
|
28
|
+
export default ButtonToolbar;
|