@pajohns/flowbite-svelte 0.1.0
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 +22 -0
- package/README.md +471 -0
- package/dist/accordion/Accordion.svelte +58 -0
- package/dist/accordion/Accordion.svelte.d.ts +18 -0
- package/dist/accordion/AccordionItem.svelte +131 -0
- package/dist/accordion/AccordionItem.svelte.d.ts +23 -0
- package/dist/accordion/index.d.ts +3 -0
- package/dist/accordion/index.js +3 -0
- package/dist/accordion/theme.d.ts +96 -0
- package/dist/accordion/theme.js +59 -0
- package/dist/alert/Alert.svelte +94 -0
- package/dist/alert/Alert.svelte.d.ts +22 -0
- package/dist/alert/index.d.ts +2 -0
- package/dist/alert/index.js +2 -0
- package/dist/alert/theme.d.ts +108 -0
- package/dist/alert/theme.js +149 -0
- package/dist/avatar/Avatar.svelte +68 -0
- package/dist/avatar/Avatar.svelte.d.ts +24 -0
- package/dist/avatar/index.d.ts +2 -0
- package/dist/avatar/index.js +2 -0
- package/dist/avatar/theme.d.ts +63 -0
- package/dist/avatar/theme.js +31 -0
- package/dist/badge/Badge.svelte +98 -0
- package/dist/badge/Badge.svelte.d.ts +26 -0
- package/dist/badge/index.d.ts +2 -0
- package/dist/badge/index.js +2 -0
- package/dist/badge/theme.d.ts +247 -0
- package/dist/badge/theme.js +250 -0
- package/dist/banner/Banner.svelte +85 -0
- package/dist/banner/Banner.svelte.d.ts +24 -0
- package/dist/banner/index.d.ts +2 -0
- package/dist/banner/index.js +2 -0
- package/dist/banner/theme.d.ts +229 -0
- package/dist/banner/theme.js +45 -0
- package/dist/bottom-navigation/BottomNav.svelte +70 -0
- package/dist/bottom-navigation/BottomNav.svelte.d.ts +21 -0
- package/dist/bottom-navigation/BottomNavHeader.svelte +42 -0
- package/dist/bottom-navigation/BottomNavHeader.svelte.d.ts +16 -0
- package/dist/bottom-navigation/BottomNavHeaderItem.svelte +29 -0
- package/dist/bottom-navigation/BottomNavHeaderItem.svelte.d.ts +14 -0
- package/dist/bottom-navigation/BottomNavItem.svelte +94 -0
- package/dist/bottom-navigation/BottomNavItem.svelte.d.ts +20 -0
- package/dist/bottom-navigation/index.d.ts +5 -0
- package/dist/bottom-navigation/index.js +5 -0
- package/dist/bottom-navigation/theme.d.ts +349 -0
- package/dist/bottom-navigation/theme.js +113 -0
- package/dist/breadcrumb/Breadcrumb.svelte +44 -0
- package/dist/breadcrumb/Breadcrumb.svelte.d.ts +17 -0
- package/dist/breadcrumb/BreadcrumbItem.svelte +73 -0
- package/dist/breadcrumb/BreadcrumbItem.svelte.d.ts +20 -0
- package/dist/breadcrumb/index.d.ts +3 -0
- package/dist/breadcrumb/index.js +3 -0
- package/dist/breadcrumb/theme.d.ts +72 -0
- package/dist/breadcrumb/theme.js +57 -0
- package/dist/button-group/ButtonGroup.svelte +43 -0
- package/dist/button-group/ButtonGroup.svelte.d.ts +15 -0
- package/dist/button-group/index.d.ts +2 -0
- package/dist/button-group/index.js +2 -0
- package/dist/button-group/theme.d.ts +21 -0
- package/dist/button-group/theme.js +14 -0
- package/dist/buttons/Button.svelte +74 -0
- package/dist/buttons/Button.svelte.d.ts +22 -0
- package/dist/buttons/GradientButton.svelte +47 -0
- package/dist/buttons/GradientButton.svelte.d.ts +21 -0
- package/dist/buttons/index.d.ts +3 -0
- package/dist/buttons/index.js +3 -0
- package/dist/buttons/theme.d.ts +707 -0
- package/dist/buttons/theme.js +303 -0
- package/dist/card/Card.svelte +79 -0
- package/dist/card/Card.svelte.d.ts +21 -0
- package/dist/card/index.d.ts +2 -0
- package/dist/card/index.js +2 -0
- package/dist/card/theme.d.ts +403 -0
- package/dist/card/theme.js +186 -0
- package/dist/carousel/Carousel.svelte +242 -0
- package/dist/carousel/Carousel.svelte.d.ts +26 -0
- package/dist/carousel/CarouselIndicators.svelte +48 -0
- package/dist/carousel/CarouselIndicators.svelte.d.ts +16 -0
- package/dist/carousel/CarouselSlide.d.ts +5 -0
- package/dist/carousel/CarouselSlide.js +7 -0
- package/dist/carousel/ControlButton.svelte +47 -0
- package/dist/carousel/ControlButton.svelte.d.ts +16 -0
- package/dist/carousel/Controls.svelte +37 -0
- package/dist/carousel/Controls.svelte.d.ts +13 -0
- package/dist/carousel/Slide.svelte +55 -0
- package/dist/carousel/Slide.svelte.d.ts +15 -0
- package/dist/carousel/Thumbnail.svelte +23 -0
- package/dist/carousel/Thumbnail.svelte.d.ts +13 -0
- package/dist/carousel/Thumbnails.svelte +59 -0
- package/dist/carousel/Thumbnails.svelte.d.ts +17 -0
- package/dist/carousel/index.d.ts +8 -0
- package/dist/carousel/index.js +8 -0
- package/dist/carousel/theme.d.ts +142 -0
- package/dist/carousel/theme.js +68 -0
- package/dist/clipboard/Clipboard.svelte +58 -0
- package/dist/clipboard/Clipboard.svelte.d.ts +17 -0
- package/dist/clipboard/index.d.ts +2 -0
- package/dist/clipboard/index.js +2 -0
- package/dist/clipboard/theme.d.ts +18 -0
- package/dist/clipboard/theme.js +13 -0
- package/dist/clipboard-manager/ClipboardManager.svelte +496 -0
- package/dist/clipboard-manager/ClipboardManager.svelte.d.ts +4 -0
- package/dist/clipboard-manager/index.d.ts +2 -0
- package/dist/clipboard-manager/index.js +2 -0
- package/dist/clipboard-manager/theme.d.ts +169 -0
- package/dist/clipboard-manager/theme.js +73 -0
- package/dist/command-palette/CommandPalette.svelte +209 -0
- package/dist/command-palette/CommandPalette.svelte.d.ts +20 -0
- package/dist/command-palette/index.d.ts +1 -0
- package/dist/command-palette/index.js +1 -0
- package/dist/command-palette/theme.d.ts +43 -0
- package/dist/command-palette/theme.js +17 -0
- package/dist/context.d.ts +50 -0
- package/dist/context.js +71 -0
- package/dist/darkmode/DarkMode.svelte +75 -0
- package/dist/darkmode/DarkMode.svelte.d.ts +16 -0
- package/dist/darkmode/index.d.ts +2 -0
- package/dist/darkmode/index.js +2 -0
- package/dist/darkmode/theme.d.ts +1 -0
- package/dist/darkmode/theme.js +4 -0
- package/dist/datepicker/Datepicker.svelte +589 -0
- package/dist/datepicker/Datepicker.svelte.d.ts +42 -0
- package/dist/datepicker/index.d.ts +2 -0
- package/dist/datepicker/index.js +2 -0
- package/dist/datepicker/theme.d.ts +388 -0
- package/dist/datepicker/theme.js +57 -0
- package/dist/device-mockups/Android.svelte +60 -0
- package/dist/device-mockups/Android.svelte.d.ts +21 -0
- package/dist/device-mockups/DefaultMockup.svelte +57 -0
- package/dist/device-mockups/DefaultMockup.svelte.d.ts +20 -0
- package/dist/device-mockups/Desktop.svelte +51 -0
- package/dist/device-mockups/Desktop.svelte.d.ts +18 -0
- package/dist/device-mockups/DeviceMockup.svelte +39 -0
- package/dist/device-mockups/DeviceMockup.svelte.d.ts +13 -0
- package/dist/device-mockups/Ios.svelte +57 -0
- package/dist/device-mockups/Ios.svelte.d.ts +20 -0
- package/dist/device-mockups/Laptop.svelte +55 -0
- package/dist/device-mockups/Laptop.svelte.d.ts +18 -0
- package/dist/device-mockups/Smartwatch.svelte +58 -0
- package/dist/device-mockups/Smartwatch.svelte.d.ts +20 -0
- package/dist/device-mockups/Tablet.svelte +57 -0
- package/dist/device-mockups/Tablet.svelte.d.ts +20 -0
- package/dist/device-mockups/index.d.ts +9 -0
- package/dist/device-mockups/index.js +9 -0
- package/dist/device-mockups/theme.d.ts +377 -0
- package/dist/device-mockups/theme.js +76 -0
- package/dist/dialog/Dialog.svelte +200 -0
- package/dist/dialog/Dialog.svelte.d.ts +28 -0
- package/dist/dialog/index.d.ts +2 -0
- package/dist/dialog/index.js +2 -0
- package/dist/dialog/theme.d.ts +16 -0
- package/dist/dialog/theme.js +17 -0
- package/dist/drawer/Drawer.svelte +163 -0
- package/dist/drawer/Drawer.svelte.d.ts +24 -0
- package/dist/drawer/DrawerHandle.svelte +33 -0
- package/dist/drawer/DrawerHandle.svelte.d.ts +16 -0
- package/dist/drawer/Drawerhead.svelte +52 -0
- package/dist/drawer/Drawerhead.svelte.d.ts +17 -0
- package/dist/drawer/index.d.ts +4 -0
- package/dist/drawer/index.js +4 -0
- package/dist/drawer/theme.d.ts +167 -0
- package/dist/drawer/theme.js +82 -0
- package/dist/dropdown/Dropdown.svelte +53 -0
- package/dist/dropdown/Dropdown.svelte.d.ts +19 -0
- package/dist/dropdown/DropdownDivider.svelte +22 -0
- package/dist/dropdown/DropdownDivider.svelte.d.ts +12 -0
- package/dist/dropdown/DropdownGroup.svelte +25 -0
- package/dist/dropdown/DropdownGroup.svelte.d.ts +13 -0
- package/dist/dropdown/DropdownHeader.svelte +25 -0
- package/dist/dropdown/DropdownHeader.svelte.d.ts +13 -0
- package/dist/dropdown/DropdownItem.svelte +60 -0
- package/dist/dropdown/DropdownItem.svelte.d.ts +19 -0
- package/dist/dropdown/index.d.ts +6 -0
- package/dist/dropdown/index.js +6 -0
- package/dist/dropdown/theme.d.ts +44 -0
- package/dist/dropdown/theme.js +20 -0
- package/dist/footer/Footer.svelte +28 -0
- package/dist/footer/Footer.svelte.d.ts +14 -0
- package/dist/footer/FooterBrand.svelte +45 -0
- package/dist/footer/FooterBrand.svelte.d.ts +19 -0
- package/dist/footer/FooterCopyright.svelte +55 -0
- package/dist/footer/FooterCopyright.svelte.d.ts +20 -0
- package/dist/footer/FooterIcon.svelte +31 -0
- package/dist/footer/FooterIcon.svelte.d.ts +15 -0
- package/dist/footer/FooterLink.svelte +43 -0
- package/dist/footer/FooterLink.svelte.d.ts +17 -0
- package/dist/footer/FooterLinkGroup.svelte +25 -0
- package/dist/footer/FooterLinkGroup.svelte.d.ts +13 -0
- package/dist/footer/index.d.ts +7 -0
- package/dist/footer/index.js +7 -0
- package/dist/footer/theme.d.ts +137 -0
- package/dist/footer/theme.js +39 -0
- package/dist/forms/button-toggle/ButtonToggle.svelte +98 -0
- package/dist/forms/button-toggle/ButtonToggle.svelte.d.ts +21 -0
- package/dist/forms/button-toggle/ButtonToggleGroup.svelte +115 -0
- package/dist/forms/button-toggle/ButtonToggleGroup.svelte.d.ts +4 -0
- package/dist/forms/button-toggle/CheckIcon.svelte +31 -0
- package/dist/forms/button-toggle/CheckIcon.svelte.d.ts +12 -0
- package/dist/forms/button-toggle/index.d.ts +4 -0
- package/dist/forms/button-toggle/index.js +4 -0
- package/dist/forms/button-toggle/theme.d.ts +347 -0
- package/dist/forms/button-toggle/theme.js +129 -0
- package/dist/forms/checkbox/Checkbox.svelte +84 -0
- package/dist/forms/checkbox/Checkbox.svelte.d.ts +4 -0
- package/dist/forms/checkbox/CheckboxButton.svelte +38 -0
- package/dist/forms/checkbox/CheckboxButton.svelte.d.ts +21 -0
- package/dist/forms/checkbox/index.d.ts +3 -0
- package/dist/forms/checkbox/index.js +3 -0
- package/dist/forms/checkbox/theme.d.ts +321 -0
- package/dist/forms/checkbox/theme.js +114 -0
- package/dist/forms/dropzone/Dropzone.svelte +64 -0
- package/dist/forms/dropzone/Dropzone.svelte.d.ts +17 -0
- package/dist/forms/dropzone/index.d.ts +2 -0
- package/dist/forms/dropzone/index.js +2 -0
- package/dist/forms/dropzone/theme.d.ts +1 -0
- package/dist/forms/dropzone/theme.js +4 -0
- package/dist/forms/fileupload/Fileupload.svelte +73 -0
- package/dist/forms/fileupload/Fileupload.svelte.d.ts +22 -0
- package/dist/forms/fileupload/index.d.ts +2 -0
- package/dist/forms/fileupload/index.js +2 -0
- package/dist/forms/fileupload/theme.d.ts +55 -0
- package/dist/forms/fileupload/theme.js +16 -0
- package/dist/forms/floating-label/FloatingLabelInput.svelte +240 -0
- package/dist/forms/floating-label/FloatingLabelInput.svelte.d.ts +32 -0
- package/dist/forms/floating-label/index.d.ts +2 -0
- package/dist/forms/floating-label/index.js +2 -0
- package/dist/forms/floating-label/theme.d.ts +349 -0
- package/dist/forms/floating-label/theme.js +182 -0
- package/dist/forms/helper/Helper.svelte +28 -0
- package/dist/forms/helper/Helper.svelte.d.ts +14 -0
- package/dist/forms/helper/index.d.ts +2 -0
- package/dist/forms/helper/index.js +2 -0
- package/dist/forms/helper/theme.d.ts +75 -0
- package/dist/forms/helper/theme.js +29 -0
- package/dist/forms/input-addon/InputAddon.svelte +64 -0
- package/dist/forms/input-addon/InputAddon.svelte.d.ts +14 -0
- package/dist/forms/input-addon/index.d.ts +1 -0
- package/dist/forms/input-addon/index.js +1 -0
- package/dist/forms/input-field/Input.svelte +309 -0
- package/dist/forms/input-field/Input.svelte.d.ts +4 -0
- package/dist/forms/input-field/index.d.ts +4 -0
- package/dist/forms/input-field/index.js +5 -0
- package/dist/forms/input-field/theme.d.ts +304 -0
- package/dist/forms/input-field/theme.js +100 -0
- package/dist/forms/label/Label.svelte +33 -0
- package/dist/forms/label/Label.svelte.d.ts +15 -0
- package/dist/forms/label/index.d.ts +2 -0
- package/dist/forms/label/index.js +2 -0
- package/dist/forms/label/theme.d.ts +75 -0
- package/dist/forms/label/theme.js +29 -0
- package/dist/forms/phoneinput/PhoneInput.svelte +51 -0
- package/dist/forms/phoneinput/PhoneInput.svelte.d.ts +4 -0
- package/dist/forms/phoneinput/index.d.ts +2 -0
- package/dist/forms/phoneinput/index.js +2 -0
- package/dist/forms/phoneinput/theme.d.ts +79 -0
- package/dist/forms/phoneinput/theme.js +28 -0
- package/dist/forms/radio/Radio.svelte +49 -0
- package/dist/forms/radio/Radio.svelte.d.ts +30 -0
- package/dist/forms/radio/RadioButton.svelte +26 -0
- package/dist/forms/radio/RadioButton.svelte.d.ts +30 -0
- package/dist/forms/radio/index.d.ts +3 -0
- package/dist/forms/radio/index.js +3 -0
- package/dist/forms/radio/theme.d.ts +290 -0
- package/dist/forms/radio/theme.js +95 -0
- package/dist/forms/range/Range.svelte +29 -0
- package/dist/forms/range/Range.svelte.d.ts +17 -0
- package/dist/forms/range/index.d.ts +2 -0
- package/dist/forms/range/index.js +2 -0
- package/dist/forms/range/theme.d.ts +66 -0
- package/dist/forms/range/theme.js +74 -0
- package/dist/forms/search/Search.svelte +87 -0
- package/dist/forms/search/Search.svelte.d.ts +24 -0
- package/dist/forms/search/index.d.ts +2 -0
- package/dist/forms/search/index.js +2 -0
- package/dist/forms/search/theme.d.ts +73 -0
- package/dist/forms/search/theme.js +34 -0
- package/dist/forms/select/MultiSelect.svelte +271 -0
- package/dist/forms/select/MultiSelect.svelte.d.ts +25 -0
- package/dist/forms/select/Select.svelte +82 -0
- package/dist/forms/select/Select.svelte.d.ts +25 -0
- package/dist/forms/select/index.d.ts +3 -0
- package/dist/forms/select/index.js +3 -0
- package/dist/forms/select/theme.d.ts +264 -0
- package/dist/forms/select/theme.js +99 -0
- package/dist/forms/tags/Tags.svelte +245 -0
- package/dist/forms/tags/Tags.svelte.d.ts +25 -0
- package/dist/forms/tags/index.d.ts +2 -0
- package/dist/forms/tags/index.js +2 -0
- package/dist/forms/tags/theme.d.ts +70 -0
- package/dist/forms/tags/theme.js +13 -0
- package/dist/forms/textarea/Textarea.svelte +128 -0
- package/dist/forms/textarea/Textarea.svelte.d.ts +30 -0
- package/dist/forms/textarea/index.d.ts +2 -0
- package/dist/forms/textarea/index.js +2 -0
- package/dist/forms/textarea/theme.d.ts +100 -0
- package/dist/forms/textarea/theme.js +37 -0
- package/dist/forms/timepicker/Timepicker.svelte +436 -0
- package/dist/forms/timepicker/Timepicker.svelte.d.ts +34 -0
- package/dist/forms/timepicker/index.d.ts +2 -0
- package/dist/forms/timepicker/index.js +2 -0
- package/dist/forms/timepicker/theme.d.ts +190 -0
- package/dist/forms/timepicker/theme.js +72 -0
- package/dist/forms/toggle/Toggle.svelte +53 -0
- package/dist/forms/toggle/Toggle.svelte.d.ts +22 -0
- package/dist/forms/toggle/index.d.ts +2 -0
- package/dist/forms/toggle/index.js +2 -0
- package/dist/forms/toggle/theme.d.ts +280 -0
- package/dist/forms/toggle/theme.js +97 -0
- package/dist/gallery/Gallery.svelte +60 -0
- package/dist/gallery/Gallery.svelte.d.ts +17 -0
- package/dist/gallery/index.d.ts +2 -0
- package/dist/gallery/index.js +2 -0
- package/dist/gallery/theme.d.ts +34 -0
- package/dist/gallery/theme.js +7 -0
- package/dist/index.d.ts +89 -0
- package/dist/index.js +97 -0
- package/dist/indicator/Indicator.svelte +47 -0
- package/dist/indicator/Indicator.svelte.d.ts +19 -0
- package/dist/indicator/index.d.ts +2 -0
- package/dist/indicator/index.js +2 -0
- package/dist/indicator/theme.d.ts +177 -0
- package/dist/indicator/theme.js +114 -0
- package/dist/kanban/KanbanBoard.svelte +99 -0
- package/dist/kanban/KanbanBoard.svelte.d.ts +4 -0
- package/dist/kanban/KanbanCard.svelte +58 -0
- package/dist/kanban/KanbanCard.svelte.d.ts +16 -0
- package/dist/kanban/index.d.ts +3 -0
- package/dist/kanban/index.js +3 -0
- package/dist/kanban/theme.d.ts +108 -0
- package/dist/kanban/theme.js +43 -0
- package/dist/kbd/Kbd.svelte +27 -0
- package/dist/kbd/Kbd.svelte.d.ts +13 -0
- package/dist/kbd/index.d.ts +2 -0
- package/dist/kbd/index.js +2 -0
- package/dist/kbd/theme.d.ts +1 -0
- package/dist/kbd/theme.js +4 -0
- package/dist/list-group/Listgroup.svelte +71 -0
- package/dist/list-group/Listgroup.svelte.d.ts +21 -0
- package/dist/list-group/ListgroupItem.svelte +61 -0
- package/dist/list-group/ListgroupItem.svelte.d.ts +20 -0
- package/dist/list-group/index.d.ts +3 -0
- package/dist/list-group/index.js +3 -0
- package/dist/list-group/theme.d.ts +86 -0
- package/dist/list-group/theme.js +67 -0
- package/dist/mega-menu/MegaMenu.svelte +53 -0
- package/dist/mega-menu/MegaMenu.svelte.d.ts +20 -0
- package/dist/mega-menu/index.d.ts +2 -0
- package/dist/mega-menu/index.js +2 -0
- package/dist/mega-menu/theme.d.ts +46 -0
- package/dist/mega-menu/theme.js +24 -0
- package/dist/modal/Modal.svelte +107 -0
- package/dist/modal/Modal.svelte.d.ts +29 -0
- package/dist/modal/index.d.ts +2 -0
- package/dist/modal/index.js +2 -0
- package/dist/modal/theme.d.ts +82 -0
- package/dist/modal/theme.js +42 -0
- package/dist/navbar/Menu.svelte +46 -0
- package/dist/navbar/Menu.svelte.d.ts +16 -0
- package/dist/navbar/NavBrand.svelte +25 -0
- package/dist/navbar/NavBrand.svelte.d.ts +12 -0
- package/dist/navbar/NavContainer.svelte +26 -0
- package/dist/navbar/NavContainer.svelte.d.ts +14 -0
- package/dist/navbar/NavHamburger.svelte +50 -0
- package/dist/navbar/NavHamburger.svelte.d.ts +131 -0
- package/dist/navbar/NavLi.svelte +62 -0
- package/dist/navbar/NavLi.svelte.d.ts +16 -0
- package/dist/navbar/NavUl.svelte +108 -0
- package/dist/navbar/NavUl.svelte.d.ts +22 -0
- package/dist/navbar/Navbar.svelte +59 -0
- package/dist/navbar/Navbar.svelte.d.ts +17 -0
- package/dist/navbar/index.d.ts +7 -0
- package/dist/navbar/index.js +7 -0
- package/dist/navbar/theme.d.ts +233 -0
- package/dist/navbar/theme.js +160 -0
- package/dist/pagination/Pagination.svelte +81 -0
- package/dist/pagination/Pagination.svelte.d.ts +19 -0
- package/dist/pagination/PaginationButton.svelte +75 -0
- package/dist/pagination/PaginationButton.svelte.d.ts +18 -0
- package/dist/pagination/PaginationItem.svelte +52 -0
- package/dist/pagination/PaginationItem.svelte.d.ts +16 -0
- package/dist/pagination/PaginationNav.svelte +149 -0
- package/dist/pagination/PaginationNav.svelte.d.ts +28 -0
- package/dist/pagination/index.d.ts +5 -0
- package/dist/pagination/index.js +5 -0
- package/dist/pagination/theme.d.ts +228 -0
- package/dist/pagination/theme.js +118 -0
- package/dist/popover/Popover.svelte +66 -0
- package/dist/popover/Popover.svelte.d.ts +21 -0
- package/dist/popover/index.d.ts +2 -0
- package/dist/popover/index.js +2 -0
- package/dist/popover/theme.d.ts +280 -0
- package/dist/popover/theme.js +97 -0
- package/dist/progress/Progressbar.svelte +85 -0
- package/dist/progress/Progressbar.svelte.d.ts +22 -0
- package/dist/progress/Progressradial.svelte +113 -0
- package/dist/progress/Progressradial.svelte.d.ts +25 -0
- package/dist/progress/index.d.ts +3 -0
- package/dist/progress/index.js +3 -0
- package/dist/progress/theme.d.ts +570 -0
- package/dist/progress/theme.js +214 -0
- package/dist/rating/AdvancedRating.svelte +63 -0
- package/dist/rating/AdvancedRating.svelte.d.ts +21 -0
- package/dist/rating/CustomIcon.svelte +57 -0
- package/dist/rating/CustomIcon.svelte.d.ts +21 -0
- package/dist/rating/Heart.svelte +60 -0
- package/dist/rating/Heart.svelte.d.ts +20 -0
- package/dist/rating/Rating.svelte +70 -0
- package/dist/rating/Rating.svelte.d.ts +21 -0
- package/dist/rating/RatingComment.svelte +73 -0
- package/dist/rating/RatingComment.svelte.d.ts +15 -0
- package/dist/rating/Review.svelte +119 -0
- package/dist/rating/Review.svelte.d.ts +24 -0
- package/dist/rating/ScoreRating.svelte +78 -0
- package/dist/rating/ScoreRating.svelte.d.ts +14 -0
- package/dist/rating/Star.svelte +61 -0
- package/dist/rating/Star.svelte.d.ts +20 -0
- package/dist/rating/Thumbup.svelte +60 -0
- package/dist/rating/Thumbup.svelte.d.ts +20 -0
- package/dist/rating/index.d.ts +10 -0
- package/dist/rating/index.js +10 -0
- package/dist/rating/theme.d.ts +202 -0
- package/dist/rating/theme.js +38 -0
- package/dist/scroll-spy/ScrollSpy.svelte +276 -0
- package/dist/scroll-spy/ScrollSpy.svelte.d.ts +23 -0
- package/dist/scroll-spy/index.d.ts +2 -0
- package/dist/scroll-spy/index.js +2 -0
- package/dist/scroll-spy/theme.d.ts +148 -0
- package/dist/scroll-spy/theme.js +66 -0
- package/dist/sidebar/Sidebar.svelte +169 -0
- package/dist/sidebar/Sidebar.svelte.d.ts +31 -0
- package/dist/sidebar/SidebarBrand.svelte +50 -0
- package/dist/sidebar/SidebarBrand.svelte.d.ts +17 -0
- package/dist/sidebar/SidebarButton.svelte +35 -0
- package/dist/sidebar/SidebarButton.svelte.d.ts +14 -0
- package/dist/sidebar/SidebarCta.svelte +52 -0
- package/dist/sidebar/SidebarCta.svelte.d.ts +18 -0
- package/dist/sidebar/SidebarDropdownWrapper.svelte +126 -0
- package/dist/sidebar/SidebarDropdownWrapper.svelte.d.ts +26 -0
- package/dist/sidebar/SidebarGroup.svelte +23 -0
- package/dist/sidebar/SidebarGroup.svelte.d.ts +15 -0
- package/dist/sidebar/SidebarItem.svelte +46 -0
- package/dist/sidebar/SidebarItem.svelte.d.ts +21 -0
- package/dist/sidebar/SidebarWrapper.svelte +15 -0
- package/dist/sidebar/SidebarWrapper.svelte.d.ts +9 -0
- package/dist/sidebar/index.d.ts +10 -0
- package/dist/sidebar/index.js +10 -0
- package/dist/sidebar/theme.d.ts +312 -0
- package/dist/sidebar/theme.js +81 -0
- package/dist/skeleton/CardPlaceholder.svelte +50 -0
- package/dist/skeleton/CardPlaceholder.svelte.d.ts +14 -0
- package/dist/skeleton/ImagePlaceholder.svelte +81 -0
- package/dist/skeleton/ImagePlaceholder.svelte.d.ts +16 -0
- package/dist/skeleton/ListPlaceholder.svelte +61 -0
- package/dist/skeleton/ListPlaceholder.svelte.d.ts +16 -0
- package/dist/skeleton/Skeleton.svelte +51 -0
- package/dist/skeleton/Skeleton.svelte.d.ts +14 -0
- package/dist/skeleton/TestimonialPlaceholder.svelte +60 -0
- package/dist/skeleton/TestimonialPlaceholder.svelte.d.ts +13 -0
- package/dist/skeleton/TextPlaceholder.svelte +86 -0
- package/dist/skeleton/TextPlaceholder.svelte.d.ts +14 -0
- package/dist/skeleton/VideoPlaceholder.svelte +31 -0
- package/dist/skeleton/VideoPlaceholder.svelte.d.ts +12 -0
- package/dist/skeleton/WidgetPlaceholder.svelte +37 -0
- package/dist/skeleton/WidgetPlaceholder.svelte.d.ts +12 -0
- package/dist/skeleton/index.d.ts +9 -0
- package/dist/skeleton/index.js +9 -0
- package/dist/skeleton/theme.d.ts +585 -0
- package/dist/skeleton/theme.js +178 -0
- package/dist/speed-dial/SpeedDial.svelte +70 -0
- package/dist/speed-dial/SpeedDial.svelte.d.ts +21 -0
- package/dist/speed-dial/SpeedDialButton.svelte +73 -0
- package/dist/speed-dial/SpeedDialButton.svelte.d.ts +20 -0
- package/dist/speed-dial/SpeedDialTrigger.svelte +57 -0
- package/dist/speed-dial/SpeedDialTrigger.svelte.d.ts +18 -0
- package/dist/speed-dial/index.d.ts +4 -0
- package/dist/speed-dial/index.js +4 -0
- package/dist/speed-dial/theme.d.ts +75 -0
- package/dist/speed-dial/theme.js +36 -0
- package/dist/spinner/Spinner.svelte +95 -0
- package/dist/spinner/Spinner.svelte.d.ts +17 -0
- package/dist/spinner/index.d.ts +2 -0
- package/dist/spinner/index.js +2 -0
- package/dist/spinner/theme.d.ts +120 -0
- package/dist/spinner/theme.js +49 -0
- package/dist/split-pane/Divider.svelte +50 -0
- package/dist/split-pane/Divider.svelte.d.ts +18 -0
- package/dist/split-pane/Pane.svelte +55 -0
- package/dist/split-pane/Pane.svelte.d.ts +13 -0
- package/dist/split-pane/SplitPane.svelte +401 -0
- package/dist/split-pane/SplitPane.svelte.d.ts +21 -0
- package/dist/split-pane/index.d.ts +4 -0
- package/dist/split-pane/index.js +4 -0
- package/dist/split-pane/theme.d.ts +65 -0
- package/dist/split-pane/theme.js +45 -0
- package/dist/step-indicator/StepIndicator.svelte +134 -0
- package/dist/step-indicator/StepIndicator.svelte.d.ts +23 -0
- package/dist/step-indicator/index.d.ts +2 -0
- package/dist/step-indicator/index.js +2 -0
- package/dist/step-indicator/theme.d.ts +248 -0
- package/dist/step-indicator/theme.js +103 -0
- package/dist/stepper/BreadcrumbStepper.svelte +147 -0
- package/dist/stepper/BreadcrumbStepper.svelte.d.ts +18 -0
- package/dist/stepper/CheckmarkIcon.svelte +92 -0
- package/dist/stepper/CheckmarkIcon.svelte.d.ts +18 -0
- package/dist/stepper/DetailedStepper.svelte +156 -0
- package/dist/stepper/DetailedStepper.svelte.d.ts +19 -0
- package/dist/stepper/DoubleArrowIcon.svelte +34 -0
- package/dist/stepper/DoubleArrowIcon.svelte.d.ts +15 -0
- package/dist/stepper/ProfileCardIcon.svelte +25 -0
- package/dist/stepper/ProfileCardIcon.svelte.d.ts +15 -0
- package/dist/stepper/ProgressStepper.svelte +162 -0
- package/dist/stepper/ProgressStepper.svelte.d.ts +18 -0
- package/dist/stepper/Stepper.svelte +119 -0
- package/dist/stepper/Stepper.svelte.d.ts +18 -0
- package/dist/stepper/TimelineStepper.svelte +122 -0
- package/dist/stepper/TimelineStepper.svelte.d.ts +19 -0
- package/dist/stepper/VerticalStepper.svelte +122 -0
- package/dist/stepper/VerticalStepper.svelte.d.ts +19 -0
- package/dist/stepper/index.d.ts +10 -0
- package/dist/stepper/index.js +10 -0
- package/dist/stepper/theme.d.ts +395 -0
- package/dist/stepper/theme.js +175 -0
- package/dist/table/Table.svelte +85 -0
- package/dist/table/Table.svelte.d.ts +23 -0
- package/dist/table/TableBody.svelte +42 -0
- package/dist/table/TableBody.svelte.d.ts +14 -0
- package/dist/table/TableBodyCell.svelte +35 -0
- package/dist/table/TableBodyCell.svelte.d.ts +15 -0
- package/dist/table/TableBodyRow.svelte +41 -0
- package/dist/table/TableBodyRow.svelte.d.ts +17 -0
- package/dist/table/TableHead.svelte +67 -0
- package/dist/table/TableHead.svelte.d.ts +19 -0
- package/dist/table/TableHeadCell.svelte +27 -0
- package/dist/table/TableHeadCell.svelte.d.ts +13 -0
- package/dist/table/TableSearch.svelte +121 -0
- package/dist/table/TableSearch.svelte.d.ts +29 -0
- package/dist/table/index.d.ts +8 -0
- package/dist/table/index.js +8 -0
- package/dist/table/theme.d.ts +593 -0
- package/dist/table/theme.js +440 -0
- package/dist/tabs/TabItem.svelte +86 -0
- package/dist/tabs/TabItem.svelte.d.ts +22 -0
- package/dist/tabs/Tabs.svelte +109 -0
- package/dist/tabs/Tabs.svelte.d.ts +19 -0
- package/dist/tabs/index.d.ts +3 -0
- package/dist/tabs/index.js +3 -0
- package/dist/tabs/theme.d.ts +135 -0
- package/dist/tabs/theme.js +83 -0
- package/dist/theme/ThemeProvider.svelte +37 -0
- package/dist/theme/ThemeProvider.svelte.d.ts +17 -0
- package/dist/theme/index.d.ts +8 -0
- package/dist/theme/index.js +2 -0
- package/dist/theme/themeUtils.d.ts +24 -0
- package/dist/theme/themeUtils.js +74 -0
- package/dist/theme/themes.d.ts +78 -0
- package/dist/theme/themes.js +84 -0
- package/dist/timeline/Activity.svelte +25 -0
- package/dist/timeline/Activity.svelte.d.ts +13 -0
- package/dist/timeline/ActivityItem.svelte +81 -0
- package/dist/timeline/ActivityItem.svelte.d.ts +22 -0
- package/dist/timeline/Group.svelte +51 -0
- package/dist/timeline/Group.svelte.d.ts +18 -0
- package/dist/timeline/GroupItem.svelte +90 -0
- package/dist/timeline/GroupItem.svelte.d.ts +19 -0
- package/dist/timeline/Timeline.svelte +30 -0
- package/dist/timeline/Timeline.svelte.d.ts +14 -0
- package/dist/timeline/TimelineItem.svelte +156 -0
- package/dist/timeline/TimelineItem.svelte.d.ts +28 -0
- package/dist/timeline/index.d.ts +7 -0
- package/dist/timeline/index.js +7 -0
- package/dist/timeline/theme.d.ts +367 -0
- package/dist/timeline/theme.js +287 -0
- package/dist/toast/Toast.svelte +97 -0
- package/dist/toast/Toast.svelte.d.ts +24 -0
- package/dist/toast/ToastContainer.svelte +35 -0
- package/dist/toast/ToastContainer.svelte.d.ts +14 -0
- package/dist/toast/index.d.ts +3 -0
- package/dist/toast/index.js +3 -0
- package/dist/toast/theme.d.ts +323 -0
- package/dist/toast/theme.js +103 -0
- package/dist/toolbar/Toolbar.svelte +64 -0
- package/dist/toolbar/Toolbar.svelte.d.ts +17 -0
- package/dist/toolbar/ToolbarButton.svelte +46 -0
- package/dist/toolbar/ToolbarButton.svelte.d.ts +17 -0
- package/dist/toolbar/ToolbarGroup.svelte +35 -0
- package/dist/toolbar/ToolbarGroup.svelte.d.ts +16 -0
- package/dist/toolbar/index.d.ts +4 -0
- package/dist/toolbar/index.js +4 -0
- package/dist/toolbar/theme.d.ts +320 -0
- package/dist/toolbar/theme.js +155 -0
- package/dist/tooltip/Tooltip.svelte +51 -0
- package/dist/tooltip/Tooltip.svelte.d.ts +20 -0
- package/dist/tooltip/index.d.ts +2 -0
- package/dist/tooltip/index.js +2 -0
- package/dist/tooltip/theme.d.ts +90 -0
- package/dist/tooltip/theme.js +45 -0
- package/dist/tour/Tour.svelte +268 -0
- package/dist/tour/Tour.svelte.d.ts +4 -0
- package/dist/tour/index.d.ts +2 -0
- package/dist/tour/index.js +2 -0
- package/dist/tour/theme.d.ts +214 -0
- package/dist/tour/theme.js +79 -0
- package/dist/types.d.ts +2058 -0
- package/dist/types.js +1 -0
- package/dist/typography/a/A.svelte +55 -0
- package/dist/typography/a/A.svelte.d.ts +17 -0
- package/dist/typography/a/index.d.ts +2 -0
- package/dist/typography/a/index.js +2 -0
- package/dist/typography/a/theme.d.ts +72 -0
- package/dist/typography/a/theme.js +29 -0
- package/dist/typography/blockquote/Blockquote.svelte +41 -0
- package/dist/typography/blockquote/Blockquote.svelte.d.ts +18 -0
- package/dist/typography/blockquote/index.d.ts +2 -0
- package/dist/typography/blockquote/index.js +2 -0
- package/dist/typography/blockquote/theme.d.ts +102 -0
- package/dist/typography/blockquote/theme.js +45 -0
- package/dist/typography/descriptionlist/DescriptionList.svelte +33 -0
- package/dist/typography/descriptionlist/DescriptionList.svelte.d.ts +14 -0
- package/dist/typography/descriptionlist/index.d.ts +2 -0
- package/dist/typography/descriptionlist/index.js +2 -0
- package/dist/typography/descriptionlist/theme.d.ts +18 -0
- package/dist/typography/descriptionlist/theme.js +12 -0
- package/dist/typography/heading/Heading.svelte +28 -0
- package/dist/typography/heading/Heading.svelte.d.ts +14 -0
- package/dist/typography/heading/index.d.ts +2 -0
- package/dist/typography/heading/index.js +2 -0
- package/dist/typography/heading/theme.d.ts +30 -0
- package/dist/typography/heading/theme.js +17 -0
- package/dist/typography/hr/Hr.svelte +59 -0
- package/dist/typography/hr/Hr.svelte.d.ts +16 -0
- package/dist/typography/hr/index.d.ts +2 -0
- package/dist/typography/hr/index.js +2 -0
- package/dist/typography/hr/theme.d.ts +40 -0
- package/dist/typography/hr/theme.js +20 -0
- package/dist/typography/img/Img.svelte +78 -0
- package/dist/typography/img/Img.svelte.d.ts +21 -0
- package/dist/typography/img/index.d.ts +2 -0
- package/dist/typography/img/index.js +2 -0
- package/dist/typography/img/theme.d.ts +211 -0
- package/dist/typography/img/theme.js +42 -0
- package/dist/typography/layout/Layout.svelte +27 -0
- package/dist/typography/layout/Layout.svelte.d.ts +13 -0
- package/dist/typography/layout/index.d.ts +2 -0
- package/dist/typography/layout/index.js +2 -0
- package/dist/typography/layout/theme.d.ts +1 -0
- package/dist/typography/layout/theme.js +4 -0
- package/dist/typography/list/Li.svelte +27 -0
- package/dist/typography/list/Li.svelte.d.ts +14 -0
- package/dist/typography/list/List.svelte +48 -0
- package/dist/typography/list/List.svelte.d.ts +17 -0
- package/dist/typography/list/index.d.ts +3 -0
- package/dist/typography/list/index.js +3 -0
- package/dist/typography/list/theme.d.ts +33 -0
- package/dist/typography/list/theme.js +19 -0
- package/dist/typography/mark/Mark.svelte +25 -0
- package/dist/typography/mark/Mark.svelte.d.ts +13 -0
- package/dist/typography/mark/index.d.ts +2 -0
- package/dist/typography/mark/index.js +2 -0
- package/dist/typography/mark/theme.d.ts +1 -0
- package/dist/typography/mark/theme.js +4 -0
- package/dist/typography/paragraph/P.svelte +49 -0
- package/dist/typography/paragraph/P.svelte.d.ts +22 -0
- package/dist/typography/paragraph/index.d.ts +2 -0
- package/dist/typography/paragraph/index.js +2 -0
- package/dist/typography/paragraph/theme.d.ts +225 -0
- package/dist/typography/paragraph/theme.js +79 -0
- package/dist/typography/secondary/Secondary.svelte +25 -0
- package/dist/typography/secondary/Secondary.svelte.d.ts +13 -0
- package/dist/typography/secondary/index.d.ts +2 -0
- package/dist/typography/secondary/index.js +2 -0
- package/dist/typography/secondary/theme.d.ts +1 -0
- package/dist/typography/secondary/theme.js +4 -0
- package/dist/typography/span/Span.svelte +51 -0
- package/dist/typography/span/Span.svelte.d.ts +22 -0
- package/dist/typography/span/index.d.ts +2 -0
- package/dist/typography/span/index.js +2 -0
- package/dist/typography/span/theme.d.ts +246 -0
- package/dist/typography/span/theme.js +88 -0
- package/dist/uiHelpers.svelte.d.ts +10 -0
- package/dist/uiHelpers.svelte.js +50 -0
- package/dist/utils/Arrow.svelte +63 -0
- package/dist/utils/Arrow.svelte.d.ts +13 -0
- package/dist/utils/CloseButton.svelte +67 -0
- package/dist/utils/CloseButton.svelte.d.ts +19 -0
- package/dist/utils/Popper.svelte +289 -0
- package/dist/utils/Popper.svelte.d.ts +31 -0
- package/dist/utils/actions.d.ts +16 -0
- package/dist/utils/actions.js +107 -0
- package/dist/utils/countdown.svelte.d.ts +8 -0
- package/dist/utils/countdown.svelte.js +64 -0
- package/dist/utils/debounce.d.ts +17 -0
- package/dist/utils/debounce.js +41 -0
- package/dist/utils/dismissable.d.ts +9 -0
- package/dist/utils/dismissable.js +16 -0
- package/dist/utils/index.d.ts +8 -0
- package/dist/utils/index.js +14 -0
- package/dist/utils/nonPassiveTouch.d.ts +3 -0
- package/dist/utils/nonPassiveTouch.js +8 -0
- package/dist/utils/responsive.svelte +111 -0
- package/dist/utils/responsive.svelte.d.ts +45 -0
- package/dist/utils/singleselection.svelte.d.ts +15 -0
- package/dist/utils/singleselection.svelte.js +52 -0
- package/dist/utils/theme.d.ts +100 -0
- package/dist/utils/theme.js +69 -0
- package/dist/video/Video.svelte +34 -0
- package/dist/video/Video.svelte.d.ts +18 -0
- package/dist/video/index.d.ts +1 -0
- package/dist/video/index.js +1 -0
- package/dist/virtual-masonry/VirtualMasonry.svelte +185 -0
- package/dist/virtual-masonry/VirtualMasonry.svelte.d.ts +44 -0
- package/dist/virtual-masonry/index.d.ts +3 -0
- package/dist/virtual-masonry/index.js +2 -0
- package/dist/virtual-masonry/theme.d.ts +40 -0
- package/dist/virtual-masonry/theme.js +18 -0
- package/dist/virtuallist/VirtualList.svelte +145 -0
- package/dist/virtuallist/VirtualList.svelte.d.ts +42 -0
- package/dist/virtuallist/index.d.ts +2 -0
- package/dist/virtuallist/index.js +2 -0
- package/dist/virtuallist/theme.d.ts +40 -0
- package/dist/virtuallist/theme.js +18 -0
- package/package.json +917 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { tv } from "tailwind-variants";
|
|
2
|
+
export const clipboardManager = tv({
|
|
3
|
+
slots: {
|
|
4
|
+
base: "relative max-w-2xl mx-auto p-4 space-y-4",
|
|
5
|
+
// Input section
|
|
6
|
+
inputSection: "space-y-2",
|
|
7
|
+
inputWrapper: "flex gap-2",
|
|
8
|
+
input: "flex-1 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-800 px-3 py-2 text-sm outline-none focus:ring-2 focus:ring-blue-500 dark:text-white",
|
|
9
|
+
// Search section
|
|
10
|
+
searchWrapper: "flex gap-2",
|
|
11
|
+
searchContainer: "relative flex-1",
|
|
12
|
+
searchInput: "w-full rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-800 pl-9 pr-3 py-2 text-sm outline-none focus:ring-2 focus:ring-blue-500 dark:text-white",
|
|
13
|
+
searchIcon: "absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400",
|
|
14
|
+
// Items list
|
|
15
|
+
itemsList: "space-y-2 max-h-[500px] overflow-y-auto",
|
|
16
|
+
// Empty state
|
|
17
|
+
emptyState: "text-center py-8",
|
|
18
|
+
emptyIcon: "w-12 h-12 mx-auto text-gray-300 dark:text-gray-600 mb-3",
|
|
19
|
+
emptyText: "text-sm text-gray-500 dark:text-gray-400",
|
|
20
|
+
emptySubtext: "text-xs text-gray-400 dark:text-gray-500 mt-1",
|
|
21
|
+
// Item
|
|
22
|
+
item: "group flex items-start gap-3 rounded-lg border border-gray-200 dark:border-gray-700 p-3 transition hover:bg-gray-50 dark:hover:bg-gray-800/50",
|
|
23
|
+
itemContent: "flex-1 min-w-0",
|
|
24
|
+
itemHeader: "flex items-center gap-2 mb-1",
|
|
25
|
+
itemTimestamp: "text-xs text-gray-500 dark:text-gray-400",
|
|
26
|
+
itemText: "text-sm text-gray-900 dark:text-gray-100 break-words line-clamp-2",
|
|
27
|
+
// Actions
|
|
28
|
+
itemActions: "flex gap-1 opacity-0 group-hover:opacity-100 transition-opacity",
|
|
29
|
+
actionButton: "p-1.5 rounded hover:bg-gray-200 dark:hover:bg-gray-700 transition flex items-center justify-center",
|
|
30
|
+
actionIcon: "w-4 h-4 flex-shrink-0",
|
|
31
|
+
pinButton: "p-1.5 rounded transition",
|
|
32
|
+
deleteButton: "p-1.5 rounded text-red-500 hover:bg-red-100 dark:hover:bg-red-900/20 transition",
|
|
33
|
+
// Toast
|
|
34
|
+
toastContainer: "fixed top-4 left-1/2 -translate-x-1/2 z-50 animate-[slideIn_0.2s_ease-out]",
|
|
35
|
+
toast: "flex items-center gap-2 px-4 py-2 rounded-lg shadow-lg",
|
|
36
|
+
toastIcon: "w-5 h-5",
|
|
37
|
+
toastText: "text-sm font-medium",
|
|
38
|
+
// buttons
|
|
39
|
+
addToClipboard: "whitespace-nowrap rounded bg-blue-600 px-4 py-2 text-white hover:bg-blue-700 disabled:opacity-50",
|
|
40
|
+
clearAll: "rounded bg-red-600 px-4 py-2 text-white hover:bg-red-700",
|
|
41
|
+
// Selection bubble menu
|
|
42
|
+
selectionMenu: "selection-menu fixed z-50 -translate-x-1/2 -translate-y-full",
|
|
43
|
+
selectionBubble: "mb-2 flex items-center gap-2 rounded-lg bg-gray-900 px-3 py-2 text-white shadow-xl",
|
|
44
|
+
selectionText: "max-w-[200px] truncate text-xs",
|
|
45
|
+
selectionButton: "rounded bg-primary-700 px-2 py-1 text-xs font-medium whitespace-nowrap transition hover:bg-primary-500",
|
|
46
|
+
selectionArrow: "absolute bottom-1 left-1/2 h-2 w-2 -translate-x-1/2 rotate-45 bg-gray-900"
|
|
47
|
+
},
|
|
48
|
+
variants: {
|
|
49
|
+
pinned: {
|
|
50
|
+
true: {
|
|
51
|
+
pinButton: "text-blue-600 dark:text-blue-400 hover:bg-blue-100 dark:hover:bg-blue-900/20"
|
|
52
|
+
},
|
|
53
|
+
false: {
|
|
54
|
+
pinButton: "hover:bg-gray-200 dark:hover:bg-gray-700"
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
type: {
|
|
58
|
+
success: {
|
|
59
|
+
toast: "bg-green-500 text-white"
|
|
60
|
+
},
|
|
61
|
+
error: {
|
|
62
|
+
toast: "bg-red-500 text-white"
|
|
63
|
+
},
|
|
64
|
+
info: {
|
|
65
|
+
toast: "bg-blue-500 text-white"
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
defaultVariants: {
|
|
70
|
+
pinned: false,
|
|
71
|
+
type: "success"
|
|
72
|
+
}
|
|
73
|
+
});
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import Dialog from "../dialog/Dialog.svelte";
|
|
3
|
+
import Search from "../forms/search/Search.svelte";
|
|
4
|
+
import { getTheme } from "../theme/themeUtils";
|
|
5
|
+
import type { CommandItem, CommandPaletteProps } from "../types";
|
|
6
|
+
import clsx from "clsx";
|
|
7
|
+
import { commandPalette } from "./theme";
|
|
8
|
+
|
|
9
|
+
const styles = commandPalette();
|
|
10
|
+
|
|
11
|
+
let {
|
|
12
|
+
open = $bindable(false),
|
|
13
|
+
items = [],
|
|
14
|
+
placeholder = "Type a command or search keywords ...",
|
|
15
|
+
emptyMessage = "No results found.",
|
|
16
|
+
shortcutKey = "k",
|
|
17
|
+
vim = false,
|
|
18
|
+
"aria-labelledby": ariaLabelledby,
|
|
19
|
+
class: className,
|
|
20
|
+
classes,
|
|
21
|
+
...restProps
|
|
22
|
+
}: CommandPaletteProps = $props();
|
|
23
|
+
|
|
24
|
+
const theme = $derived(getTheme("commandPalette"));
|
|
25
|
+
|
|
26
|
+
let search = $state("");
|
|
27
|
+
let selectedIndex = $state(0);
|
|
28
|
+
let containerElement = $state<HTMLDialogElement>();
|
|
29
|
+
let gid = $props.id();
|
|
30
|
+
let ulId = "command-palette-options-" + gid;
|
|
31
|
+
|
|
32
|
+
const filteredItems = $derived.by(() => {
|
|
33
|
+
const searchLower = search.trim().toLowerCase();
|
|
34
|
+
if (searchLower === "") return items;
|
|
35
|
+
|
|
36
|
+
const check = (x?: string) => x?.toLowerCase().includes(searchLower);
|
|
37
|
+
return items.filter((item) => check(item.label) || check(item.description) || item.keywords?.some(check));
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
$effect(() => {
|
|
41
|
+
if (filteredItems.length > 0 && selectedIndex >= filteredItems.length) {
|
|
42
|
+
selectedIndex = Math.max(filteredItems.length - 1, 0);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
function handleKeydown(e: KeyboardEvent) {
|
|
47
|
+
if (!open) return;
|
|
48
|
+
|
|
49
|
+
if (handleGlobalKeydown(e)) return;
|
|
50
|
+
|
|
51
|
+
switch (e.key) {
|
|
52
|
+
case "j":
|
|
53
|
+
if (!vim || e.ctrlKey) break;
|
|
54
|
+
// falls through
|
|
55
|
+
case "ArrowDown":
|
|
56
|
+
e.preventDefault();
|
|
57
|
+
selectedIndex = Math.max(Math.min(selectedIndex + 1, filteredItems.length - 1), 0);
|
|
58
|
+
scrollToSelected();
|
|
59
|
+
break;
|
|
60
|
+
case "k":
|
|
61
|
+
if (!vim || e.ctrlKey) break;
|
|
62
|
+
// falls through
|
|
63
|
+
case "ArrowUp":
|
|
64
|
+
e.preventDefault();
|
|
65
|
+
selectedIndex = Math.max(selectedIndex - 1, 0);
|
|
66
|
+
scrollToSelected();
|
|
67
|
+
break;
|
|
68
|
+
case "Enter":
|
|
69
|
+
e.preventDefault();
|
|
70
|
+
if (filteredItems[selectedIndex]) {
|
|
71
|
+
selectItem(filteredItems[selectedIndex]);
|
|
72
|
+
}
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
function scrollToSelected() {
|
|
78
|
+
if (!containerElement) return;
|
|
79
|
+
|
|
80
|
+
const listElement = containerElement.querySelector("ul");
|
|
81
|
+
if (!listElement) return;
|
|
82
|
+
|
|
83
|
+
const selectedElement = listElement.querySelector(`#${CSS.escape(filteredItems[selectedIndex]?.id)}`) as HTMLElement;
|
|
84
|
+
if (!selectedElement) return;
|
|
85
|
+
|
|
86
|
+
const listRect = listElement.getBoundingClientRect();
|
|
87
|
+
const elementRect = selectedElement.getBoundingClientRect();
|
|
88
|
+
|
|
89
|
+
if (elementRect.bottom > listRect.bottom) {
|
|
90
|
+
selectedElement.scrollIntoView({ block: "end", behavior: "auto" });
|
|
91
|
+
} else if (elementRect.top < listRect.top) {
|
|
92
|
+
selectedElement.scrollIntoView({ block: "start", behavior: "auto" });
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
function selectItem(item: CommandItem) {
|
|
97
|
+
item.onselect();
|
|
98
|
+
open = false;
|
|
99
|
+
search = "";
|
|
100
|
+
selectedIndex = 0;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
const handleGlobalKeydown = (e: KeyboardEvent) => {
|
|
104
|
+
if ((e.metaKey || e.ctrlKey) && e.key === shortcutKey) {
|
|
105
|
+
e.preventDefault();
|
|
106
|
+
open = !open;
|
|
107
|
+
selectedIndex = 0;
|
|
108
|
+
return true;
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
function init(dlg: HTMLDialogElement) {
|
|
113
|
+
containerElement = dlg;
|
|
114
|
+
}
|
|
115
|
+
</script>
|
|
116
|
+
|
|
117
|
+
<svelte:window onkeydown={open ? handleKeydown : handleGlobalKeydown} />
|
|
118
|
+
|
|
119
|
+
<Dialog bind:open dismissable={false} {@attach init} aria-modal="true" aria-labelledby={ariaLabelledby} tabindex={-1} class={styles.base({ class: clsx(theme?.base, className) })} {...restProps}>
|
|
120
|
+
<!-- Search Input -->
|
|
121
|
+
<Search
|
|
122
|
+
size="md"
|
|
123
|
+
{placeholder}
|
|
124
|
+
bind:value={search}
|
|
125
|
+
classes={{ input: styles.search({ class: clsx(theme?.search, classes?.search) }) }}
|
|
126
|
+
autofocus
|
|
127
|
+
role="combobox"
|
|
128
|
+
aria-expanded="true"
|
|
129
|
+
aria-controls={ulId}
|
|
130
|
+
aria-activedescendant={filteredItems[selectedIndex]?.id}
|
|
131
|
+
/>
|
|
132
|
+
|
|
133
|
+
<!-- Results -->
|
|
134
|
+
{#if filteredItems.length > 0}
|
|
135
|
+
<ul id={ulId} class={styles.list({ class: clsx(theme?.list, classes?.list) })} role="listbox">
|
|
136
|
+
{#each filteredItems as item, index (item.id)}
|
|
137
|
+
<li
|
|
138
|
+
data-index={index}
|
|
139
|
+
id={item.id}
|
|
140
|
+
role="option"
|
|
141
|
+
aria-selected={index === selectedIndex}
|
|
142
|
+
class={styles.item({ selected: index === selectedIndex, class: clsx(theme?.item, classes?.item) })}
|
|
143
|
+
onclick={() => selectItem(item)}
|
|
144
|
+
onkeydown={(e) => e.key === "Enter" && selectItem(item)}
|
|
145
|
+
onmouseenter={() => (selectedIndex = index)}
|
|
146
|
+
tabindex="-1"
|
|
147
|
+
>
|
|
148
|
+
<div class="flex items-center gap-3">
|
|
149
|
+
{#if item.icon}
|
|
150
|
+
<span class="text-lg">{item.icon}</span>
|
|
151
|
+
{/if}
|
|
152
|
+
<div class="min-w-0 flex-1">
|
|
153
|
+
<div class="truncate text-sm font-medium">{item.label}</div>
|
|
154
|
+
{#if item.description}
|
|
155
|
+
<div class={styles.itemDescription({ class: clsx(theme?.itemDescription, classes?.itemDescription) })}>
|
|
156
|
+
{item.description}
|
|
157
|
+
</div>
|
|
158
|
+
{/if}
|
|
159
|
+
</div>
|
|
160
|
+
</div>
|
|
161
|
+
</li>
|
|
162
|
+
{/each}
|
|
163
|
+
</ul>
|
|
164
|
+
{:else if search}
|
|
165
|
+
<div class={styles.empty({ class: clsx(theme?.empty, classes?.empty) })}>
|
|
166
|
+
<p>{emptyMessage}</p>
|
|
167
|
+
</div>
|
|
168
|
+
{/if}
|
|
169
|
+
|
|
170
|
+
<!-- Footer -->
|
|
171
|
+
<div class={styles.footer({ class: clsx(theme?.footer, classes?.footer) })}>
|
|
172
|
+
<div class="flex items-center gap-4">
|
|
173
|
+
<kbd class={styles.kbd({ class: clsx(theme?.kbd, classes?.kbd) })}>
|
|
174
|
+
{#if vim}
|
|
175
|
+
<span>j/k</span>
|
|
176
|
+
{:else}
|
|
177
|
+
<span>↑↓</span>
|
|
178
|
+
{/if}
|
|
179
|
+
<span>Navigate</span>
|
|
180
|
+
</kbd>
|
|
181
|
+
<kbd class={styles.kbd({ class: clsx(theme?.kbd, classes?.kbd) })}>
|
|
182
|
+
<span>↵</span>
|
|
183
|
+
<span>Select</span>
|
|
184
|
+
</kbd>
|
|
185
|
+
</div>
|
|
186
|
+
<kbd class={styles.kbd({ class: clsx(theme?.kbd, classes?.kbd) })}>
|
|
187
|
+
<span>ESC</span>
|
|
188
|
+
<span>Close</span>
|
|
189
|
+
</kbd>
|
|
190
|
+
</div>
|
|
191
|
+
</Dialog>
|
|
192
|
+
|
|
193
|
+
<!--
|
|
194
|
+
@component
|
|
195
|
+
[Go to docs](https://flowbite-svelte.com/)
|
|
196
|
+
## Type
|
|
197
|
+
[CommandPaletteProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2313)
|
|
198
|
+
## Props
|
|
199
|
+
@prop open = $bindable(false)
|
|
200
|
+
@prop items = []
|
|
201
|
+
@prop placeholder = "Type a command or search keywords ..."
|
|
202
|
+
@prop emptyMessage = "No results found."
|
|
203
|
+
@prop shortcutKey = "k"
|
|
204
|
+
@prop vim = false
|
|
205
|
+
@prop "aria-labelledby": ariaLabelledby
|
|
206
|
+
@prop class: className
|
|
207
|
+
@prop classes
|
|
208
|
+
@prop ...restProps
|
|
209
|
+
-->
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { CommandPaletteProps } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* [Go to docs](https://flowbite-svelte.com/)
|
|
4
|
+
* ## Type
|
|
5
|
+
* [CommandPaletteProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2313)
|
|
6
|
+
* ## Props
|
|
7
|
+
* @prop open = $bindable(false)
|
|
8
|
+
* @prop items = []
|
|
9
|
+
* @prop placeholder = "Type a command or search keywords ..."
|
|
10
|
+
* @prop emptyMessage = "No results found."
|
|
11
|
+
* @prop shortcutKey = "k"
|
|
12
|
+
* @prop vim = false
|
|
13
|
+
* @prop "aria-labelledby": ariaLabelledby
|
|
14
|
+
* @prop class: className
|
|
15
|
+
* @prop classes
|
|
16
|
+
* @prop ...restProps
|
|
17
|
+
*/
|
|
18
|
+
declare const CommandPalette: import("svelte").Component<CommandPaletteProps, {}, "open">;
|
|
19
|
+
type CommandPalette = ReturnType<typeof CommandPalette>;
|
|
20
|
+
export default CommandPalette;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as CommandPalette } from "./CommandPalette.svelte";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as CommandPalette } from "./CommandPalette.svelte";
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { type VariantProps } from "tailwind-variants";
|
|
2
|
+
import type { Classes } from "../theme/themeUtils";
|
|
3
|
+
export type CommandPaletteVariants = VariantProps<typeof commandPalette> & Classes<typeof commandPalette>;
|
|
4
|
+
export declare const commandPalette: import("tailwind-variants").TVReturnType<{
|
|
5
|
+
selected: {
|
|
6
|
+
true: {};
|
|
7
|
+
};
|
|
8
|
+
}, {
|
|
9
|
+
base: string;
|
|
10
|
+
search: string;
|
|
11
|
+
list: string;
|
|
12
|
+
item: string;
|
|
13
|
+
itemDescription: string;
|
|
14
|
+
empty: string;
|
|
15
|
+
footer: string;
|
|
16
|
+
kbd: string;
|
|
17
|
+
}, undefined, {
|
|
18
|
+
selected: {
|
|
19
|
+
true: {};
|
|
20
|
+
};
|
|
21
|
+
}, {
|
|
22
|
+
base: string;
|
|
23
|
+
search: string;
|
|
24
|
+
list: string;
|
|
25
|
+
item: string;
|
|
26
|
+
itemDescription: string;
|
|
27
|
+
empty: string;
|
|
28
|
+
footer: string;
|
|
29
|
+
kbd: string;
|
|
30
|
+
}, import("tailwind-variants").TVReturnType<{
|
|
31
|
+
selected: {
|
|
32
|
+
true: {};
|
|
33
|
+
};
|
|
34
|
+
}, {
|
|
35
|
+
base: string;
|
|
36
|
+
search: string;
|
|
37
|
+
list: string;
|
|
38
|
+
item: string;
|
|
39
|
+
itemDescription: string;
|
|
40
|
+
empty: string;
|
|
41
|
+
footer: string;
|
|
42
|
+
kbd: string;
|
|
43
|
+
}, undefined, unknown, unknown, undefined>>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { tv } from "tailwind-variants";
|
|
2
|
+
export const commandPalette = tv({
|
|
3
|
+
slots: {
|
|
4
|
+
base: "w-full mx-auto mt-20 max-w-2xl bg-white dark:bg-gray-800 rounded-lg shadow-2xl ring-1 ring-black/5 dark:ring-white/10 overflow-hidden transform transition-all",
|
|
5
|
+
search: "rounded-b-none border-0 py-3",
|
|
6
|
+
list: "max-h-80 scroll-py-2 overflow-y-auto border-t border-gray-200 dark:border-gray-700",
|
|
7
|
+
item: "cursor-pointer select-none px-4 py-2 text-sm text-gray-900 dark:text-gray-100 " + "aria-selected:bg-primary-600 aria-selected:text-white",
|
|
8
|
+
itemDescription: "text-xs truncate text-gray-500 dark:text-gray-400 aria-selected:text-primary-100",
|
|
9
|
+
empty: "px-4 py-14 text-center border-t border-gray-200 dark:border-gray-700 text-sm text-gray-500 dark:text-gray-400",
|
|
10
|
+
footer: "flex flex-wrap items-center justify-between gap-2 bg-gray-50 dark:bg-gray-900/50 " + "px-4 py-2.5 text-xs text-gray-500 dark:text-gray-400 border-t border-gray-200 dark:border-gray-700",
|
|
11
|
+
kbd: "inline-flex items-center gap-1 rounded border border-gray-300 dark:border-gray-600 " + "bg-white dark:bg-gray-800 px-2 py-1 font-sans text-xs"
|
|
12
|
+
},
|
|
13
|
+
variants: {
|
|
14
|
+
selected: { true: {} }
|
|
15
|
+
},
|
|
16
|
+
defaultVariants: {}
|
|
17
|
+
});
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { AccordionContextType, BottomNavContextType, CarouselContextType, DrawerContextType, DropdownContextType, PaginationContextType, ButtonToggleContextType, ListContextType, ToolbarContextType, ListGroupContextType, ButtonGroupContextType, NavbarState, NavbarBreakpoint, SidebarContextType, TableContextType, TabsContextType } from "./types";
|
|
2
|
+
import type { SplitPaneContext } from "./types";
|
|
3
|
+
import type { ThemeConfig } from "./theme";
|
|
4
|
+
declare const getAccordionContext: () => AccordionContextType | undefined, setAccordionContext: (context: AccordionContextType) => AccordionContextType;
|
|
5
|
+
export { getAccordionContext, setAccordionContext };
|
|
6
|
+
declare const getBottomNavContext: () => BottomNavContextType | undefined, setBottomNavContext: (context: BottomNavContextType) => BottomNavContextType;
|
|
7
|
+
export { getBottomNavContext, setBottomNavContext };
|
|
8
|
+
declare const getCarouselContext: () => CarouselContextType | undefined, setCarouselContext: (context: CarouselContextType) => CarouselContextType;
|
|
9
|
+
export { getCarouselContext, setCarouselContext };
|
|
10
|
+
declare const getDrawerContext: () => DrawerContextType | undefined, setDrawerContext: (context: DrawerContextType) => DrawerContextType;
|
|
11
|
+
export { getDrawerContext, setDrawerContext };
|
|
12
|
+
declare const getDropdownContext: () => DropdownContextType | undefined, setDropdownContext: (context: DropdownContextType) => DropdownContextType;
|
|
13
|
+
export { getDropdownContext, setDropdownContext };
|
|
14
|
+
declare const getPaginationContext: () => PaginationContextType | undefined, setPaginationContext: (context: PaginationContextType) => PaginationContextType;
|
|
15
|
+
export { getPaginationContext, setPaginationContext };
|
|
16
|
+
declare const getButtonToggleContext: () => ButtonToggleContextType | undefined, setButtonToggleContext: (context: ButtonToggleContextType) => ButtonToggleContextType;
|
|
17
|
+
export { getButtonToggleContext, setButtonToggleContext };
|
|
18
|
+
declare const getListContext: () => ListContextType | undefined, setListContext: (context: ListContextType) => ListContextType;
|
|
19
|
+
export { getListContext, setListContext };
|
|
20
|
+
declare const getToolbarContext: () => ToolbarContextType | undefined, setToolbarContext: (context: ToolbarContextType) => ToolbarContextType;
|
|
21
|
+
export { getToolbarContext, setToolbarContext };
|
|
22
|
+
type ThemeContextValue = ThemeConfig | {
|
|
23
|
+
value?: ThemeConfig;
|
|
24
|
+
};
|
|
25
|
+
declare const getThemeContext: () => ThemeContextValue | undefined, setThemeContext: (context: ThemeContextValue) => ThemeContextValue;
|
|
26
|
+
export { getThemeContext, setThemeContext };
|
|
27
|
+
declare const getListGroupContext: () => ListGroupContextType | undefined, setListGroupContext: (context: ListGroupContextType) => ListGroupContextType;
|
|
28
|
+
export { getListGroupContext, setListGroupContext };
|
|
29
|
+
declare const getButtonGroupContext: () => ButtonGroupContextType | undefined, setButtonGroupContext: (context: ButtonGroupContextType) => ButtonGroupContextType;
|
|
30
|
+
export { getButtonGroupContext, setButtonGroupContext };
|
|
31
|
+
declare const getNavbarStateContext: () => NavbarState | undefined, setNavbarStateContext: (context: NavbarState) => NavbarState;
|
|
32
|
+
export { getNavbarStateContext, setNavbarStateContext };
|
|
33
|
+
declare const getNavbarBreakpointContext: () => NavbarBreakpoint | undefined, setNavbarBreakpointContext: (context: NavbarBreakpoint) => NavbarBreakpoint;
|
|
34
|
+
export { getNavbarBreakpointContext, setNavbarBreakpointContext };
|
|
35
|
+
declare const getSidebarContext: () => SidebarContextType | undefined, setSidebarContext: (context: SidebarContextType) => SidebarContextType;
|
|
36
|
+
export { getSidebarContext, setSidebarContext };
|
|
37
|
+
declare const getActiveUrlContext: () => {
|
|
38
|
+
value: string;
|
|
39
|
+
} | undefined, setActiveUrlContext: (context: {
|
|
40
|
+
value: string;
|
|
41
|
+
}) => {
|
|
42
|
+
value: string;
|
|
43
|
+
};
|
|
44
|
+
export { getActiveUrlContext, setActiveUrlContext };
|
|
45
|
+
declare const getTableContext: () => TableContextType | undefined, setTableContext: (context: TableContextType) => TableContextType;
|
|
46
|
+
export { getTableContext, setTableContext };
|
|
47
|
+
declare const getSplitPaneContext: () => SplitPaneContext | undefined, setSplitPaneContext: (context: SplitPaneContext) => SplitPaneContext;
|
|
48
|
+
export { getSplitPaneContext, setSplitPaneContext };
|
|
49
|
+
declare const getTabsContext: () => TabsContextType | undefined, setTabsContext: (context: TabsContextType) => TabsContextType;
|
|
50
|
+
export { getTabsContext, setTabsContext };
|
package/dist/context.js
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { createContext } from "svelte";
|
|
2
|
+
/**
|
|
3
|
+
* Helper function to create a context with safe getter that returns undefined instead of throwing
|
|
4
|
+
* when accessed outside of the context provider.
|
|
5
|
+
*/
|
|
6
|
+
function createSafeContext() {
|
|
7
|
+
const [getRaw, set] = createContext();
|
|
8
|
+
function get() {
|
|
9
|
+
try {
|
|
10
|
+
return getRaw();
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return [get, set];
|
|
17
|
+
}
|
|
18
|
+
// Accordion
|
|
19
|
+
const [getAccordionContext, setAccordionContext] = createSafeContext();
|
|
20
|
+
export { getAccordionContext, setAccordionContext };
|
|
21
|
+
// BottomNav
|
|
22
|
+
const [getBottomNavContext, setBottomNavContext] = createSafeContext();
|
|
23
|
+
export { getBottomNavContext, setBottomNavContext };
|
|
24
|
+
// Carousel
|
|
25
|
+
const [getCarouselContext, setCarouselContext] = createSafeContext();
|
|
26
|
+
export { getCarouselContext, setCarouselContext };
|
|
27
|
+
// Drawer
|
|
28
|
+
const [getDrawerContext, setDrawerContext] = createSafeContext();
|
|
29
|
+
export { getDrawerContext, setDrawerContext };
|
|
30
|
+
// Dropdown
|
|
31
|
+
const [getDropdownContext, setDropdownContext] = createSafeContext();
|
|
32
|
+
export { getDropdownContext, setDropdownContext };
|
|
33
|
+
// Pagination
|
|
34
|
+
const [getPaginationContext, setPaginationContext] = createSafeContext();
|
|
35
|
+
export { getPaginationContext, setPaginationContext };
|
|
36
|
+
// ButtonToggle
|
|
37
|
+
const [getButtonToggleContext, setButtonToggleContext] = createSafeContext();
|
|
38
|
+
export { getButtonToggleContext, setButtonToggleContext };
|
|
39
|
+
// List
|
|
40
|
+
const [getListContext, setListContext] = createSafeContext();
|
|
41
|
+
export { getListContext, setListContext };
|
|
42
|
+
// Toolbar
|
|
43
|
+
const [getToolbarContext, setToolbarContext] = createSafeContext();
|
|
44
|
+
export { getToolbarContext, setToolbarContext };
|
|
45
|
+
const [getThemeContext, setThemeContext] = createSafeContext();
|
|
46
|
+
export { getThemeContext, setThemeContext };
|
|
47
|
+
// ListGroup
|
|
48
|
+
const [getListGroupContext, setListGroupContext] = createSafeContext();
|
|
49
|
+
export { getListGroupContext, setListGroupContext };
|
|
50
|
+
// ButtonGroup
|
|
51
|
+
const [getButtonGroupContext, setButtonGroupContext] = createSafeContext();
|
|
52
|
+
export { getButtonGroupContext, setButtonGroupContext };
|
|
53
|
+
// Navbar
|
|
54
|
+
const [getNavbarStateContext, setNavbarStateContext] = createSafeContext();
|
|
55
|
+
export { getNavbarStateContext, setNavbarStateContext };
|
|
56
|
+
const [getNavbarBreakpointContext, setNavbarBreakpointContext] = createSafeContext();
|
|
57
|
+
export { getNavbarBreakpointContext, setNavbarBreakpointContext };
|
|
58
|
+
// Sidebar
|
|
59
|
+
const [getSidebarContext, setSidebarContext] = createSafeContext();
|
|
60
|
+
export { getSidebarContext, setSidebarContext };
|
|
61
|
+
const [getActiveUrlContext, setActiveUrlContext] = createSafeContext();
|
|
62
|
+
export { getActiveUrlContext, setActiveUrlContext };
|
|
63
|
+
// Table
|
|
64
|
+
const [getTableContext, setTableContext] = createSafeContext();
|
|
65
|
+
export { getTableContext, setTableContext };
|
|
66
|
+
// SplitPane
|
|
67
|
+
const [getSplitPaneContext, setSplitPaneContext] = createSafeContext();
|
|
68
|
+
export { getSplitPaneContext, setSplitPaneContext };
|
|
69
|
+
// Tabs
|
|
70
|
+
const [getTabsContext, setTabsContext] = createSafeContext();
|
|
71
|
+
export { getTabsContext, setTabsContext };
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { darkmode } from "./theme";
|
|
3
|
+
import clsx from "clsx";
|
|
4
|
+
import type { DarkmodeProps } from "..";
|
|
5
|
+
import { getTheme } from "../theme/themeUtils";
|
|
6
|
+
|
|
7
|
+
// const THEME_PREFERENCE_KEY = 'color-theme';
|
|
8
|
+
let { class: className, lightIcon, darkIcon, size = "md", ariaLabel = "Dark mode", ...restProps }: DarkmodeProps = $props();
|
|
9
|
+
|
|
10
|
+
const theme = $derived(getTheme("darkmode"));
|
|
11
|
+
|
|
12
|
+
const sizes = {
|
|
13
|
+
sm: "w-4 h-4",
|
|
14
|
+
md: "w-5 h-5",
|
|
15
|
+
lg: "w-6 h-6"
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
const toggleTheme = (ev: MouseEvent) => {
|
|
19
|
+
const target = ev.target as HTMLElement;
|
|
20
|
+
const isDark = target.ownerDocument.documentElement.classList.toggle("dark");
|
|
21
|
+
if (target.ownerDocument === document)
|
|
22
|
+
// we are NOT in the iFrame
|
|
23
|
+
localStorage.setItem("THEME_PREFERENCE_KEY", isDark ? "dark" : "light");
|
|
24
|
+
};
|
|
25
|
+
</script>
|
|
26
|
+
|
|
27
|
+
<svelte:head>
|
|
28
|
+
<script lang="ts">
|
|
29
|
+
if ("THEME_PREFERENCE_KEY" in localStorage) {
|
|
30
|
+
localStorage.getItem("THEME_PREFERENCE_KEY") === "dark" ? window.document.documentElement.classList.add("dark") : window.document.documentElement.classList.remove("dark");
|
|
31
|
+
} else {
|
|
32
|
+
if (window.matchMedia("(prefers-color-scheme: dark)").matches) window.document.documentElement.classList.add("dark");
|
|
33
|
+
}
|
|
34
|
+
</script>
|
|
35
|
+
</svelte:head>
|
|
36
|
+
|
|
37
|
+
<button onclick={toggleTheme} aria-label={ariaLabel} type="button" {...restProps} class={darkmode({ class: clsx(theme, className) })} tabindex={0}>
|
|
38
|
+
<span class="hidden dark:block">
|
|
39
|
+
{#if lightIcon}
|
|
40
|
+
{@render lightIcon()}
|
|
41
|
+
{:else}
|
|
42
|
+
<svg role="img" aria-label="Light mode" class={sizes[size]} fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
|
43
|
+
<path
|
|
44
|
+
d="M10 2a1 1 0 011 1v1a1 1 0 11-2 0V3a1 1 0 011-1zm4 8a4 4 0 11-8 0 4 4 0 018 0zm-.464 4.95l.707.707a1 1 0 001.414-1.414l-.707-.707a1 1 0 00-1.414 1.414zm2.12-10.607a1 1 0 010 1.414l-.706.707a1 1 0 11-1.414-1.414l.707-.707a1 1 0 011.414 0zM17 11a1 1 0 100-2h-1a1 1 0 100 2h1zm-7 4a1 1 0 011 1v1a1 1 0 11-2 0v-1a1 1 0 011-1zM5.05 6.464A1 1 0 106.465 5.05l-.708-.707a1 1 0 00-1.414 1.414l.707.707zm1.414 8.486l-.707.707a1 1 0 01-1.414-1.414l.707-.707a1 1 0 011.414 1.414zM4 11a1 1
|
|
45
|
+
0 100-2H3a1 1 0 000 2h1z"
|
|
46
|
+
fill-rule="evenodd"
|
|
47
|
+
clip-rule="evenodd"
|
|
48
|
+
/>
|
|
49
|
+
</svg>
|
|
50
|
+
{/if}
|
|
51
|
+
</span>
|
|
52
|
+
<span class="block dark:hidden">
|
|
53
|
+
{#if darkIcon}
|
|
54
|
+
{@render darkIcon()}
|
|
55
|
+
{:else}
|
|
56
|
+
<svg role="img" aria-label="Dark mode" class={sizes[size]} fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
|
57
|
+
<path d="M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z" />
|
|
58
|
+
</svg>
|
|
59
|
+
{/if}
|
|
60
|
+
</span>
|
|
61
|
+
</button>
|
|
62
|
+
|
|
63
|
+
<!--
|
|
64
|
+
@component
|
|
65
|
+
[Go to docs](https://flowbite-svelte.com/)
|
|
66
|
+
## Type
|
|
67
|
+
[DarkmodeProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L536)
|
|
68
|
+
## Props
|
|
69
|
+
@prop class: className
|
|
70
|
+
@prop lightIcon
|
|
71
|
+
@prop darkIcon
|
|
72
|
+
@prop size = "md"
|
|
73
|
+
@prop ariaLabel = "Dark mode"
|
|
74
|
+
@prop ...restProps
|
|
75
|
+
-->
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { DarkmodeProps } from "..";
|
|
2
|
+
/**
|
|
3
|
+
* [Go to docs](https://flowbite-svelte.com/)
|
|
4
|
+
* ## Type
|
|
5
|
+
* [DarkmodeProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L536)
|
|
6
|
+
* ## Props
|
|
7
|
+
* @prop class: className
|
|
8
|
+
* @prop lightIcon
|
|
9
|
+
* @prop darkIcon
|
|
10
|
+
* @prop size = "md"
|
|
11
|
+
* @prop ariaLabel = "Dark mode"
|
|
12
|
+
* @prop ...restProps
|
|
13
|
+
*/
|
|
14
|
+
declare const DarkMode: import("svelte").Component<DarkmodeProps, {}, "">;
|
|
15
|
+
type DarkMode = ReturnType<typeof DarkMode>;
|
|
16
|
+
export default DarkMode;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const darkmode: import("tailwind-variants").TVReturnType<{} | {} | {}, undefined, "text-gray-500 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 focus:outline-hidden rounded-lg text-sm p-2.5", {} | {}, undefined, import("tailwind-variants").TVReturnType<unknown, undefined, "text-gray-500 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 focus:outline-hidden rounded-lg text-sm p-2.5", unknown, unknown, undefined>>;
|