@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,29 @@
|
|
|
1
|
+
import type { CloseButtonRootProps } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* ## CloseButton
|
|
4
|
+
* A button component that provides a standardized close button functionality.
|
|
5
|
+
* Typically used in alerts, modals, and other dismissible components.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```svelte
|
|
9
|
+
* <CloseButton />
|
|
10
|
+
* ```
|
|
11
|
+
*
|
|
12
|
+
* #### Basic close button
|
|
13
|
+
* ```svelte
|
|
14
|
+
* <CloseButton />
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* #### Disabled state
|
|
18
|
+
* ```svelte
|
|
19
|
+
* <CloseButton disabled={true} />
|
|
20
|
+
* ```
|
|
21
|
+
* ### Props
|
|
22
|
+
* - `ariaLabel` (string): Optional. Customizes the aria-label attribute for accessibility (defaults to "Close")
|
|
23
|
+
* - `class` (string): Optional. Additional CSS classes to apply to the close button
|
|
24
|
+
* - `disabled` (boolean): Optional. Disables the close button when set to true
|
|
25
|
+
* - `elementRef` (HTMLElement): Optional. Reference to the button DOM element
|
|
26
|
+
*/
|
|
27
|
+
declare const CloseButton: import("svelte").Component<CloseButtonRootProps, {}, "elementRef">;
|
|
28
|
+
type CloseButton = ReturnType<typeof CloseButton>;
|
|
29
|
+
export default CloseButton;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@component
|
|
3
|
+
## Col
|
|
4
|
+
A component that implements Bootstrap's grid column functionality.
|
|
5
|
+
|
|
6
|
+
@example
|
|
7
|
+
```svelte
|
|
8
|
+
<Row>
|
|
9
|
+
<Col>Content</Col>
|
|
10
|
+
</Row>
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
#### With responsive sizing
|
|
14
|
+
```svelte
|
|
15
|
+
<Row>
|
|
16
|
+
<Col sizing={{ xs: 12, sm: 6, md: 4 }}>Content</Col>
|
|
17
|
+
</Row>
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
#### With breakpoint-only sizing (using asterisk)
|
|
21
|
+
```svelte
|
|
22
|
+
<Row>
|
|
23
|
+
<Col sizing={{ sm: '*', md: '*' }}>Content</Col>
|
|
24
|
+
</Row>
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
#### With simple numeric sizing
|
|
28
|
+
```svelte
|
|
29
|
+
<Row>
|
|
30
|
+
<Col sizing={6}>Content</Col>
|
|
31
|
+
</Row>
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
#### With column offsets
|
|
35
|
+
```svelte
|
|
36
|
+
<Row>
|
|
37
|
+
<Col offset={2}>Offset by 2</Col>
|
|
38
|
+
<Col offset={{ md: 3, lg: 4 }}>Responsive offset</Col>
|
|
39
|
+
</Row>
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
#### With column ordering
|
|
43
|
+
```svelte
|
|
44
|
+
<Row>
|
|
45
|
+
<Col order="first">First in order</Col>
|
|
46
|
+
<Col order={2}>Second in order</Col>
|
|
47
|
+
<Col order={{ xs: 'last', lg: 3 }}>Responsive order</Col>
|
|
48
|
+
</Row>
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Props
|
|
52
|
+
- `class` (string): Optional. Additional CSS classes.
|
|
53
|
+
- `elementRef` (HTMLElement): Optional. Reference to the column DOM element.
|
|
54
|
+
- `offset` (ColOffsetMap | ZeroToEleven): Optional. Column offset configuration. Can be a number between 0-11 or a breakpoint map.
|
|
55
|
+
- `order` (ColOrderMap | ZeroToFive | FirstOrLast): Optional. Column order configuration. Can be a number between 0-5, 'first', 'last', or a breakpoint map.
|
|
56
|
+
- `sizing` (ColSizingMap | OneToTwelve | 'auto'): Optional. Grid sizing configuration. Can be a number between 1-12, 'auto', or a breakpoint map. When using a breakpoint map, you can use '*' to generate a breakpoint-only class (e.g., `col-sm` instead of `col-sm-*`).
|
|
57
|
+
-->
|
|
58
|
+
<script lang="ts">import { uniqueClsx } from '../common/css.js';
|
|
59
|
+
let { children, class: classValues, elementRef = $bindable(null), offset, order, sizing, ...restOfProps } = $props();
|
|
60
|
+
// Generate sizing classes based on the sizing prop
|
|
61
|
+
let sizingClasses = $derived.by(() => {
|
|
62
|
+
// If sizing is a string and is 'auto', return a single col-auto class
|
|
63
|
+
if (typeof sizing === 'string' && sizing === 'auto') {
|
|
64
|
+
return [`col-${sizing}`];
|
|
65
|
+
}
|
|
66
|
+
// If sizing is a number (OneToTwelve type), generate a simple col-n class
|
|
67
|
+
if (typeof sizing === 'number') {
|
|
68
|
+
return [`col-${sizing}`];
|
|
69
|
+
}
|
|
70
|
+
// If sizing is an object (BreakpointSizingMap type), generate breakpoint-specific classes
|
|
71
|
+
else if (sizing && typeof sizing === 'object') {
|
|
72
|
+
return Object.entries(sizing).map(([breakpoint, value]) => {
|
|
73
|
+
// If the breakpoint is 'xs', return 'col-{value}'
|
|
74
|
+
if (breakpoint === 'xs') {
|
|
75
|
+
return `col-${value}`;
|
|
76
|
+
}
|
|
77
|
+
// If the value is '*', return just 'col-{breakpoint}'
|
|
78
|
+
if (value === '*') {
|
|
79
|
+
return `col-${breakpoint}`;
|
|
80
|
+
}
|
|
81
|
+
// Otherwise, return 'col-{breakpoint}-{value}'
|
|
82
|
+
return `col-${breakpoint}-${value}`;
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
// Default: no sizing classes
|
|
86
|
+
return [];
|
|
87
|
+
});
|
|
88
|
+
// Generate offset classes if provided
|
|
89
|
+
let offsetClasses = $derived.by(() => {
|
|
90
|
+
// If offset is a number (ZeroToEleven type), generate a simple offset-n class
|
|
91
|
+
if (typeof offset === 'number') {
|
|
92
|
+
return [`offset-${offset}`];
|
|
93
|
+
}
|
|
94
|
+
// If offset is an object (ColOffsetMap type), generate breakpoint-specific classes
|
|
95
|
+
else if (offset && typeof offset === 'object') {
|
|
96
|
+
return Object.entries(offset).map(([breakpoint, value]) => {
|
|
97
|
+
// If the value is '*', return just 'offset-{breakpoint}'
|
|
98
|
+
// if (value === '*') {
|
|
99
|
+
// return `offset-${breakpoint}`;
|
|
100
|
+
// }
|
|
101
|
+
// Otherwise, return 'offset-{breakpoint}-{value}'
|
|
102
|
+
return `offset-${breakpoint}-${value}`;
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
// Default: no offset classes
|
|
106
|
+
return [];
|
|
107
|
+
});
|
|
108
|
+
// Generate order classes if provided
|
|
109
|
+
let orderClasses = $derived.by(() => {
|
|
110
|
+
// If order is a string (e.g., 'first' or 'last'), return a single order-first or order-last class
|
|
111
|
+
if (typeof order === 'string' && (order === 'first' || order === 'last')) {
|
|
112
|
+
return [`order-${order}`];
|
|
113
|
+
}
|
|
114
|
+
// If order is a number (ZeroToEleven type), generate a simple order-n class
|
|
115
|
+
if (typeof order === 'number') {
|
|
116
|
+
return [`order-${order}`];
|
|
117
|
+
}
|
|
118
|
+
// If order is an object (ColOrderMap type), generate breakpoint-specific classes
|
|
119
|
+
else if (order && typeof order === 'object') {
|
|
120
|
+
return Object.entries(order).map(([breakpoint, value]) => {
|
|
121
|
+
// return 'order-{breakpoint}-{value}'
|
|
122
|
+
return `order-${breakpoint}-${value}`;
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
// Default: no order classes
|
|
126
|
+
return [];
|
|
127
|
+
});
|
|
128
|
+
let classes = $derived(uniqueClsx({ col: sizing === undefined }, ...sizingClasses, ...offsetClasses, ...orderClasses, classValues));
|
|
129
|
+
</script>
|
|
130
|
+
|
|
131
|
+
<div bind:this={elementRef} class={classes} {...restOfProps}>
|
|
132
|
+
{@render children?.()}
|
|
133
|
+
</div>
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { ColRootProps } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* ## Col
|
|
4
|
+
* A component that implements Bootstrap's grid column functionality.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```svelte
|
|
8
|
+
* <Row>
|
|
9
|
+
* <Col>Content</Col>
|
|
10
|
+
* </Row>
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* #### With responsive sizing
|
|
14
|
+
* ```svelte
|
|
15
|
+
* <Row>
|
|
16
|
+
* <Col sizing={{ xs: 12, sm: 6, md: 4 }}>Content</Col>
|
|
17
|
+
* </Row>
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* #### With breakpoint-only sizing (using asterisk)
|
|
21
|
+
* ```svelte
|
|
22
|
+
* <Row>
|
|
23
|
+
* <Col sizing={{ sm: '*', md: '*' }}>Content</Col>
|
|
24
|
+
* </Row>
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* #### With simple numeric sizing
|
|
28
|
+
* ```svelte
|
|
29
|
+
* <Row>
|
|
30
|
+
* <Col sizing={6}>Content</Col>
|
|
31
|
+
* </Row>
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* #### With column offsets
|
|
35
|
+
* ```svelte
|
|
36
|
+
* <Row>
|
|
37
|
+
* <Col offset={2}>Offset by 2</Col>
|
|
38
|
+
* <Col offset={{ md: 3, lg: 4 }}>Responsive offset</Col>
|
|
39
|
+
* </Row>
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
* #### With column ordering
|
|
43
|
+
* ```svelte
|
|
44
|
+
* <Row>
|
|
45
|
+
* <Col order="first">First in order</Col>
|
|
46
|
+
* <Col order={2}>Second in order</Col>
|
|
47
|
+
* <Col order={{ xs: 'last', lg: 3 }}>Responsive order</Col>
|
|
48
|
+
* </Row>
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
51
|
+
* ### Props
|
|
52
|
+
* - `class` (string): Optional. Additional CSS classes.
|
|
53
|
+
* - `elementRef` (HTMLElement): Optional. Reference to the column DOM element.
|
|
54
|
+
* - `offset` (ColOffsetMap | ZeroToEleven): Optional. Column offset configuration. Can be a number between 0-11 or a breakpoint map.
|
|
55
|
+
* - `order` (ColOrderMap | ZeroToFive | FirstOrLast): Optional. Column order configuration. Can be a number between 0-5, 'first', 'last', or a breakpoint map.
|
|
56
|
+
* - `sizing` (ColSizingMap | OneToTwelve | 'auto'): Optional. Grid sizing configuration. Can be a number between 1-12, 'auto', or a breakpoint map. When using a breakpoint map, you can use '*' to generate a breakpoint-only class (e.g., `col-sm` instead of `col-sm-*`).
|
|
57
|
+
*/
|
|
58
|
+
declare const Col: import("svelte").Component<ColRootProps, {}, "elementRef">;
|
|
59
|
+
type Col = ReturnType<typeof Col>;
|
|
60
|
+
export default Col;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { AutoOrAsterisk, DivElement, FirstOrLast, OneToTwelve, ZeroToEleven, ZeroToFive } from '../common/types.js';
|
|
2
|
+
export type ColSizingMap = {
|
|
3
|
+
xs?: OneToTwelve | AutoOrAsterisk;
|
|
4
|
+
sm?: OneToTwelve | AutoOrAsterisk;
|
|
5
|
+
md?: OneToTwelve | AutoOrAsterisk;
|
|
6
|
+
lg?: OneToTwelve | AutoOrAsterisk;
|
|
7
|
+
xl?: OneToTwelve | AutoOrAsterisk;
|
|
8
|
+
xxl?: OneToTwelve | AutoOrAsterisk;
|
|
9
|
+
};
|
|
10
|
+
export type ColOffsetMap = {
|
|
11
|
+
xs?: ZeroToEleven;
|
|
12
|
+
sm?: ZeroToEleven;
|
|
13
|
+
md?: ZeroToEleven;
|
|
14
|
+
lg?: ZeroToEleven;
|
|
15
|
+
xl?: ZeroToEleven;
|
|
16
|
+
xxl?: ZeroToEleven;
|
|
17
|
+
};
|
|
18
|
+
export type ColOrderMap = {
|
|
19
|
+
xs?: ZeroToFive | FirstOrLast;
|
|
20
|
+
sm?: ZeroToFive | FirstOrLast;
|
|
21
|
+
md?: ZeroToFive | FirstOrLast;
|
|
22
|
+
lg?: ZeroToFive | FirstOrLast;
|
|
23
|
+
xl?: ZeroToFive | FirstOrLast;
|
|
24
|
+
xxl?: ZeroToFive | FirstOrLast;
|
|
25
|
+
};
|
|
26
|
+
export type ColRootProps = DivElement & {
|
|
27
|
+
sizing?: ColSizingMap | OneToTwelve | 'auto';
|
|
28
|
+
offset?: ColOffsetMap | ZeroToEleven;
|
|
29
|
+
order?: ColOrderMap | ZeroToFive | FirstOrLast;
|
|
30
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export function collapseAria(options) {
|
|
2
|
+
return (element) => {
|
|
3
|
+
// Sanity check the options...
|
|
4
|
+
if (!options || typeof options !== 'object') {
|
|
5
|
+
throw new Error('CollapseAria: options must be an object');
|
|
6
|
+
}
|
|
7
|
+
if (options.ariaControls === undefined) {
|
|
8
|
+
throw new Error('CollapseAria: options.ariaControls is required');
|
|
9
|
+
}
|
|
10
|
+
if (typeof options.ariaExpanded !== 'boolean') {
|
|
11
|
+
throw new Error('CollapseAria: options.ariaExpanded must be a boolean');
|
|
12
|
+
}
|
|
13
|
+
// Update the aria-expanded attribute based on isExpanded option
|
|
14
|
+
element.setAttribute('aria-expanded', options.ariaExpanded.toString());
|
|
15
|
+
// Set the aria-controls attribute to link to the controlled element
|
|
16
|
+
if (!element.hasAttribute('aria-controls')) {
|
|
17
|
+
element.setAttribute('aria-controls', options.ariaControls);
|
|
18
|
+
}
|
|
19
|
+
// If the element is not a button, set role="button" for accessibility
|
|
20
|
+
if (element.tagName.toLowerCase() !== 'button' && !element.hasAttribute('role')) {
|
|
21
|
+
element.setAttribute('role', 'button');
|
|
22
|
+
}
|
|
23
|
+
// Return cleanup function that will be called when the attachment is removed
|
|
24
|
+
return () => {
|
|
25
|
+
element.removeAttribute('aria-expanded');
|
|
26
|
+
element.removeAttribute('aria-controls');
|
|
27
|
+
if (element.getAttribute('role') === 'button') {
|
|
28
|
+
element.removeAttribute('role');
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@component
|
|
3
|
+
## Collapse
|
|
4
|
+
A collapsible component that can toggle content visibility with a smooth animation.
|
|
5
|
+
Supports both vertical and horizontal collapse directions.
|
|
6
|
+
|
|
7
|
+
@example
|
|
8
|
+
```svelte
|
|
9
|
+
<Collapse isExpanded={true}>
|
|
10
|
+
Content that can be toggled
|
|
11
|
+
</Collapse>
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
#### Basic collapse
|
|
15
|
+
```svelte
|
|
16
|
+
<Collapse isExpanded={showContent}>
|
|
17
|
+
<div class="card card-body">
|
|
18
|
+
Some collapsible content
|
|
19
|
+
</div>
|
|
20
|
+
</Collapse>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
#### Horizontal collapse
|
|
24
|
+
```svelte
|
|
25
|
+
<Collapse isExpanded={showContent} isHorizontal={true}>
|
|
26
|
+
<div class="card card-body" style="width: 200px;">
|
|
27
|
+
Horizontally collapsing content
|
|
28
|
+
</div>
|
|
29
|
+
</Collapse>
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Props
|
|
33
|
+
- `class` (string): Optional. Additional CSS classes to apply to the collapse
|
|
34
|
+
- `transitionDuration` (number): Optional. Duration of the collapse transition in milliseconds. Default is 350ms.
|
|
35
|
+
- `elementRef` (HTMLElement): Optional. Reference to the collapse DOM element
|
|
36
|
+
- `isExpanded` (boolean): Optional. Controls the visibility state of the collapse
|
|
37
|
+
- `isHorizontal` (boolean): Optional. Enables horizontal collapse animation instead of vertical. Only the `width` style on the child element is required.
|
|
38
|
+
- `onCollapse` (function): Optional. Callback triggered when the collapse starts hiding
|
|
39
|
+
- `onCollapsed` (function): Optional. Callback triggered when the collapse has finished hiding
|
|
40
|
+
- `onExpand` (function): Optional. Callback triggered when the collapse starts showing
|
|
41
|
+
- `onExpanded` (function): Optional. Callback triggered when the collapse has finished showing
|
|
42
|
+
-->
|
|
43
|
+
<script lang="ts">import { uniqueClsx } from '../common/css.js';
|
|
44
|
+
import { noop } from '../common/noop.js';
|
|
45
|
+
import { collapseIn, collapseOut } from './transition.js';
|
|
46
|
+
let { children, class: classValues, transitionDuration: _transitionDuration = 350, elementRef = $bindable(null), isHorizontal = false, isExpanded = false, onCollapse = noop, onCollapsed = noop, onExpand = noop, onExpanded = noop, ...restOfProps } = $props();
|
|
47
|
+
let classes = $derived(uniqueClsx('collapse', { 'collapse-horizontal': isHorizontal }, { show: isExpanded }, classValues));
|
|
48
|
+
</script>
|
|
49
|
+
|
|
50
|
+
{#if isExpanded}
|
|
51
|
+
<div
|
|
52
|
+
bind:this={elementRef}
|
|
53
|
+
class={classes}
|
|
54
|
+
onintrostart={onExpand}
|
|
55
|
+
onintroend={onExpanded}
|
|
56
|
+
onoutrostart={onCollapse}
|
|
57
|
+
onoutroend={onCollapsed}
|
|
58
|
+
in:collapseIn={{ isHorizontal }}
|
|
59
|
+
out:collapseOut={{ isHorizontal }}
|
|
60
|
+
{...restOfProps}>
|
|
61
|
+
{@render children?.()}
|
|
62
|
+
</div>
|
|
63
|
+
{/if}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { CollapseRootProps } from './index.js';
|
|
2
|
+
/**
|
|
3
|
+
* ## Collapse
|
|
4
|
+
* A collapsible component that can toggle content visibility with a smooth animation.
|
|
5
|
+
* Supports both vertical and horizontal collapse directions.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```svelte
|
|
9
|
+
* <Collapse isExpanded={true}>
|
|
10
|
+
* Content that can be toggled
|
|
11
|
+
* </Collapse>
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* #### Basic collapse
|
|
15
|
+
* ```svelte
|
|
16
|
+
* <Collapse isExpanded={showContent}>
|
|
17
|
+
* <div class="card card-body">
|
|
18
|
+
* Some collapsible content
|
|
19
|
+
* </div>
|
|
20
|
+
* </Collapse>
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* #### Horizontal collapse
|
|
24
|
+
* ```svelte
|
|
25
|
+
* <Collapse isExpanded={showContent} isHorizontal={true}>
|
|
26
|
+
* <div class="card card-body" style="width: 200px;">
|
|
27
|
+
* Horizontally collapsing content
|
|
28
|
+
* </div>
|
|
29
|
+
* </Collapse>
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* ### Props
|
|
33
|
+
* - `class` (string): Optional. Additional CSS classes to apply to the collapse
|
|
34
|
+
* - `transitionDuration` (number): Optional. Duration of the collapse transition in milliseconds. Default is 350ms.
|
|
35
|
+
* - `elementRef` (HTMLElement): Optional. Reference to the collapse DOM element
|
|
36
|
+
* - `isExpanded` (boolean): Optional. Controls the visibility state of the collapse
|
|
37
|
+
* - `isHorizontal` (boolean): Optional. Enables horizontal collapse animation instead of vertical. Only the `width` style on the child element is required.
|
|
38
|
+
* - `onCollapse` (function): Optional. Callback triggered when the collapse starts hiding
|
|
39
|
+
* - `onCollapsed` (function): Optional. Callback triggered when the collapse has finished hiding
|
|
40
|
+
* - `onExpand` (function): Optional. Callback triggered when the collapse starts showing
|
|
41
|
+
* - `onExpanded` (function): Optional. Callback triggered when the collapse has finished showing
|
|
42
|
+
*/
|
|
43
|
+
declare const Collapse: import("svelte").Component<CollapseRootProps, {}, "elementRef">;
|
|
44
|
+
type Collapse = ReturnType<typeof Collapse>;
|
|
45
|
+
export default Collapse;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { TransitionConfig } from 'svelte/transition';
|
|
2
|
+
import type { CollapseTransitionParams } from './types.js';
|
|
3
|
+
export declare function collapseIn(node: HTMLElement, params: CollapseTransitionParams): TransitionConfig;
|
|
4
|
+
export declare function collapseOut(node: HTMLElement, params: CollapseTransitionParams): TransitionConfig;
|
|
5
|
+
export declare function getTransitionDuration(element: HTMLElement | null | undefined): number;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
export function collapseIn(node, params) {
|
|
2
|
+
const isHorizontal = params.isHorizontal;
|
|
3
|
+
// Choose dimension to animate: width for horizontal, height for vertical
|
|
4
|
+
const stylePropName = isHorizontal ? 'width' : 'height';
|
|
5
|
+
// Bootstrap collapse semantics: start with "collapsing" state, remove "collapse" and "show"
|
|
6
|
+
node.classList.add('collapsing');
|
|
7
|
+
node.classList.remove('collapse', 'show');
|
|
8
|
+
node.style[stylePropName] = '0';
|
|
9
|
+
const duration = getTransitionDuration(node);
|
|
10
|
+
return {
|
|
11
|
+
duration,
|
|
12
|
+
css: (_progress, _remaining) => 'overflow: hidden;',
|
|
13
|
+
// Svelte calls tick with progress from 0 to 1 during the transition
|
|
14
|
+
tick: (progress, _remaining) => {
|
|
15
|
+
if (progress < 1) {
|
|
16
|
+
// Mid-transition: set dimension to full scroll size to trigger CSS transition
|
|
17
|
+
if (isHorizontal) {
|
|
18
|
+
node.style.width = `${node.scrollWidth}px`;
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
node.style.height = `${node.scrollHeight}px`;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
// Completion: remove "collapsing", add "collapse" and "show", clear inline styles
|
|
26
|
+
node.classList.remove('collapsing');
|
|
27
|
+
node.classList.add('collapse', 'show');
|
|
28
|
+
node.style[stylePropName] = '';
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
export function collapseOut(node, params) {
|
|
34
|
+
// Choose dimension to animate: width for horizontal, height for vertical
|
|
35
|
+
const dimension = params.isHorizontal ? 'width' : 'height';
|
|
36
|
+
// Set initial dimension to current size, then transition to 0
|
|
37
|
+
node.style[dimension] = `${node.getBoundingClientRect()[dimension]}px`;
|
|
38
|
+
// Bootstrap collapse semantics: start with "collapsing" state, remove "collapse" and "show"
|
|
39
|
+
node.classList.add('collapsing');
|
|
40
|
+
node.classList.remove('collapse', 'show');
|
|
41
|
+
const duration = getTransitionDuration(node);
|
|
42
|
+
return {
|
|
43
|
+
duration,
|
|
44
|
+
css: (_progress, _remaining) => 'overflow: hidden;',
|
|
45
|
+
// Svelte calls tick with progress from 1 to 0 during the out transition
|
|
46
|
+
tick: (progress, _remaining) => {
|
|
47
|
+
if (progress > 0) {
|
|
48
|
+
// Mid-transition: clear dimension to allow CSS transition to 0
|
|
49
|
+
node.style[dimension] = '';
|
|
50
|
+
}
|
|
51
|
+
else if (progress === 0) {
|
|
52
|
+
// Completion: remove "collapsing", add "collapse" (but not "show")
|
|
53
|
+
node.classList.remove('collapsing');
|
|
54
|
+
node.classList.add('collapse');
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
export function getTransitionDuration(element) {
|
|
60
|
+
if (!element)
|
|
61
|
+
return 0;
|
|
62
|
+
// Read CSS transition-duration and transition-delay from computed styles
|
|
63
|
+
let { transitionDuration, transitionDelay } = window.getComputedStyle(element);
|
|
64
|
+
const floatTransitionDuration = Number.parseFloat(transitionDuration);
|
|
65
|
+
const floatTransitionDelay = Number.parseFloat(transitionDelay);
|
|
66
|
+
// Return 0 if no transition is configured
|
|
67
|
+
if (!floatTransitionDuration && !floatTransitionDelay) {
|
|
68
|
+
return 0;
|
|
69
|
+
}
|
|
70
|
+
// If multiple durations are defined (comma-separated), take the first one
|
|
71
|
+
transitionDuration = transitionDuration.split(',')[0];
|
|
72
|
+
transitionDelay = transitionDelay.split(',')[0];
|
|
73
|
+
// Return total duration in milliseconds (duration + delay)
|
|
74
|
+
return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * 1000;
|
|
75
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { DivElement } from '../common/types.js';
|
|
2
|
+
export type CollapseTransitionStylePropName = 'width' | 'height';
|
|
3
|
+
export type CollapseTransitionParams = {
|
|
4
|
+
isHorizontal?: boolean;
|
|
5
|
+
};
|
|
6
|
+
export type CollapseRootProps = DivElement & {
|
|
7
|
+
isHorizontal?: boolean;
|
|
8
|
+
isExpanded?: boolean;
|
|
9
|
+
onCollapse?: EventListener;
|
|
10
|
+
onCollapsed?: EventListener;
|
|
11
|
+
onExpand?: EventListener;
|
|
12
|
+
onExpanded?: EventListener;
|
|
13
|
+
transitionDuration?: number;
|
|
14
|
+
};
|
|
15
|
+
export type CollapseAriaOptions = {
|
|
16
|
+
ariaControls: string;
|
|
17
|
+
ariaExpanded: boolean;
|
|
18
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@component
|
|
3
|
+
## Container
|
|
4
|
+
Container component that sets a max-width at various breakpoints.
|
|
5
|
+
|
|
6
|
+
@example
|
|
7
|
+
```svelte
|
|
8
|
+
<Container>
|
|
9
|
+
Content goes here
|
|
10
|
+
</Container>
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
#### Fluid container example
|
|
14
|
+
```svelte
|
|
15
|
+
<Container isFluid={true}>
|
|
16
|
+
Content goes here, spanning the entire width of viewport
|
|
17
|
+
</Container>
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
#### Responsive container example
|
|
21
|
+
```svelte
|
|
22
|
+
<Container breakpoint="md">
|
|
23
|
+
Content has a max-width up to the md breakpoint
|
|
24
|
+
</Container>
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Props
|
|
28
|
+
- `breakpoint` (string): Optional. Breakpoint at which the container becomes responsive ('sm', 'md', 'lg', 'xl', 'xxl')
|
|
29
|
+
- `class` (string): Optional. Additional CSS classes
|
|
30
|
+
- `elementRef` (HTMLElement): Optional. Reference to the DOM element
|
|
31
|
+
- `elementType` (string): Optional. HTML element type to render as (default is 'div'). Can be 'article', 'aside', 'footer', etc.
|
|
32
|
+
- `isFluid` (boolean): Optional. Makes the container full-width, spanning the entire viewport width
|
|
33
|
+
-->
|
|
34
|
+
<script lang="ts">import { uniqueClsx } from '../common/css.js';
|
|
35
|
+
let { breakpoint, children, class: classValues, elementRef = $bindable(null), elementType = 'div', isFluid = false, ...restOfProps } = $props();
|
|
36
|
+
// Build class string based on props
|
|
37
|
+
let classes = $derived(uniqueClsx({
|
|
38
|
+
'container-fluid': isFluid,
|
|
39
|
+
[`container-${breakpoint}`]: !isFluid && breakpoint && breakpoint !== 'xs',
|
|
40
|
+
container: !isFluid && (!breakpoint || breakpoint === 'xs')
|
|
41
|
+
}, classValues));
|
|
42
|
+
</script>
|
|
43
|
+
|
|
44
|
+
<svelte:element this={elementType} bind:this={elementRef} class={classes} {...restOfProps}>
|
|
45
|
+
{@render children?.()}
|
|
46
|
+
</svelte:element>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { ContainerRootProps } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* ## Container
|
|
4
|
+
* Container component that sets a max-width at various breakpoints.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```svelte
|
|
8
|
+
* <Container>
|
|
9
|
+
* Content goes here
|
|
10
|
+
* </Container>
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* #### Fluid container example
|
|
14
|
+
* ```svelte
|
|
15
|
+
* <Container isFluid={true}>
|
|
16
|
+
* Content goes here, spanning the entire width of viewport
|
|
17
|
+
* </Container>
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* #### Responsive container example
|
|
21
|
+
* ```svelte
|
|
22
|
+
* <Container breakpoint="md">
|
|
23
|
+
* Content has a max-width up to the md breakpoint
|
|
24
|
+
* </Container>
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* ### Props
|
|
28
|
+
* - `breakpoint` (string): Optional. Breakpoint at which the container becomes responsive ('sm', 'md', 'lg', 'xl', 'xxl')
|
|
29
|
+
* - `class` (string): Optional. Additional CSS classes
|
|
30
|
+
* - `elementRef` (HTMLElement): Optional. Reference to the DOM element
|
|
31
|
+
* - `elementType` (string): Optional. HTML element type to render as (default is 'div'). Can be 'article', 'aside', 'footer', etc.
|
|
32
|
+
* - `isFluid` (boolean): Optional. Makes the container full-width, spanning the entire viewport width
|
|
33
|
+
*/
|
|
34
|
+
declare const Container: import("svelte").Component<ContainerRootProps, {}, "elementRef">;
|
|
35
|
+
type Container = ReturnType<typeof Container>;
|
|
36
|
+
export default Container;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { BaseBreakpoint, DivElement } from '../common/types.js';
|
|
2
|
+
export type ContainerBreakpoint = BaseBreakpoint;
|
|
3
|
+
export type ContainerElementType = 'article' | 'aside' | 'div' | 'footer' | 'header' | 'main' | 'section';
|
|
4
|
+
export type ContainerRootProps = DivElement & {
|
|
5
|
+
breakpoint?: ContainerBreakpoint;
|
|
6
|
+
elementType?: ContainerElementType;
|
|
7
|
+
isFluid?: boolean;
|
|
8
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { default as Divider } from './dropdown-divider.svelte';
|
|
2
|
+
export { default as Header } from './dropdown-header.svelte';
|
|
3
|
+
export { default as ItemText } from './dropdown-item-text.svelte';
|
|
4
|
+
export { default as Item } from './dropdown-item.svelte';
|
|
5
|
+
export { default as Menu } from './dropdown-menu.svelte';
|
|
6
|
+
export { default as Toggle } from './dropdown-toggle.svelte';
|
|
7
|
+
export { default as Root } from './dropdown.svelte';
|
|
8
|
+
export type { DropdownDividerProps as DividerProps, DropdownHeaderProps as HeaderProps, DropdownItemProps as ItemProps, DropdownTextProps as ItemTextProps, DropdownMenuProps as MenuProps, DropdownRootProps as RootProps, DropdownToggleProps as ToggleProps } from './types.js';
|