@getmicdrop/svelte-components 1.0.1 → 1.0.3
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/dist/components/Alert/Alert.spec.d.ts +2 -0
- package/dist/components/Alert/Alert.spec.d.ts.map +1 -0
- package/dist/components/Alert/Alert.spec.js +170 -0
- package/dist/components/Alert/Alert.svelte +54 -0
- package/dist/components/Alert/Alert.svelte.d.ts +40 -0
- package/dist/components/Alert/Alert.svelte.d.ts.map +1 -0
- package/dist/components/Alert/AlertAudit.stories.svelte +241 -0
- package/dist/components/Alert/AlertAudit.stories.svelte.d.ts +31 -0
- package/dist/components/Alert/AlertAudit.stories.svelte.d.ts.map +1 -0
- package/dist/components/Badges/Badge.spec.d.ts +2 -0
- package/dist/components/Badges/Badge.spec.d.ts.map +1 -0
- package/dist/components/Badges/Badge.spec.js +103 -0
- package/dist/components/Badges/Badge.stories.svelte +87 -0
- package/dist/components/Badges/Badge.stories.svelte.d.ts +47 -0
- package/dist/components/Badges/Badge.stories.svelte.d.ts.map +1 -0
- package/dist/components/Badges/Badge.svelte +182 -0
- package/dist/components/Badges/Badge.svelte.d.ts +38 -0
- package/dist/components/Badges/Badge.svelte.d.ts.map +1 -0
- package/dist/components/Badges/BadgeAudit.stories.svelte +238 -0
- package/dist/components/Badges/BadgeAudit.stories.svelte.d.ts +31 -0
- package/dist/components/Badges/BadgeAudit.stories.svelte.d.ts.map +1 -0
- package/dist/components/BottomSheet/BottomSheet.spec.d.ts +2 -0
- package/dist/components/BottomSheet/BottomSheet.spec.d.ts.map +1 -0
- package/dist/components/BottomSheet/BottomSheet.spec.js +127 -0
- package/dist/components/BottomSheet/BottomSheet.stories.svelte +91 -0
- package/dist/components/BottomSheet/BottomSheet.stories.svelte.d.ts +45 -0
- package/dist/components/BottomSheet/BottomSheet.stories.svelte.d.ts.map +1 -0
- package/dist/components/BottomSheet/BottomSheet.svelte +171 -0
- package/dist/components/BottomSheet/BottomSheet.svelte.d.ts +40 -0
- package/dist/components/BottomSheet/BottomSheet.svelte.d.ts.map +1 -0
- package/dist/components/Breadcrumb/Breadcrumb.spec.d.ts +2 -0
- package/dist/components/Breadcrumb/Breadcrumb.spec.d.ts.map +1 -0
- package/dist/components/Breadcrumb/Breadcrumb.spec.js +120 -0
- package/dist/components/Breadcrumb/Breadcrumb.stories.svelte +24 -0
- package/dist/components/Breadcrumb/Breadcrumb.stories.svelte.d.ts +36 -0
- package/dist/components/Breadcrumb/Breadcrumb.stories.svelte.d.ts.map +1 -0
- package/dist/components/Breadcrumb/Breadcrumb.svelte +50 -0
- package/dist/components/Breadcrumb/Breadcrumb.svelte.d.ts +30 -0
- package/dist/components/Breadcrumb/Breadcrumb.svelte.d.ts.map +1 -0
- package/dist/components/Button/Button.spec.d.ts +2 -0
- package/dist/components/Button/Button.spec.d.ts.map +1 -0
- package/dist/components/Button/Button.spec.js +211 -0
- package/dist/components/Button/Button.stories.svelte +111 -0
- package/dist/components/Button/Button.stories.svelte.d.ts +59 -0
- package/dist/components/Button/Button.stories.svelte.d.ts.map +1 -0
- package/dist/components/Button/Button.svelte +642 -0
- package/dist/components/Button/Button.svelte.d.ts +68 -0
- package/dist/components/Button/Button.svelte.d.ts.map +1 -0
- package/dist/components/Button/ButtonAudit.stories.svelte +333 -0
- package/dist/components/Button/ButtonAudit.stories.svelte.d.ts +33 -0
- package/dist/components/Button/ButtonAudit.stories.svelte.d.ts.map +1 -0
- package/dist/components/Button/ButtonSaveDemo.spec.d.ts +2 -0
- package/dist/components/Button/ButtonSaveDemo.spec.d.ts.map +1 -0
- package/dist/components/Button/ButtonSaveDemo.spec.js +48 -0
- package/dist/components/Button/ButtonSaveDemo.svelte +24 -0
- package/dist/components/Button/ButtonSaveDemo.svelte.d.ts +26 -0
- package/dist/components/Button/ButtonSaveDemo.svelte.d.ts.map +1 -0
- package/dist/components/Calendar/Calendar.spec.d.ts +2 -0
- package/dist/components/Calendar/Calendar.spec.d.ts.map +1 -0
- package/dist/components/Calendar/Calendar.spec.js +131 -0
- package/dist/components/Calendar/Calendar.svelte +1115 -0
- package/dist/components/Calendar/Calendar.svelte.d.ts +52 -0
- package/dist/components/Calendar/Calendar.svelte.d.ts.map +1 -0
- package/dist/components/Calendar/QuarterView.spec.d.ts +2 -0
- package/dist/components/Calendar/QuarterView.spec.d.ts.map +1 -0
- package/dist/components/Calendar/QuarterView.spec.js +394 -0
- package/dist/components/Calendar/QuarterView.stories.svelte +134 -0
- package/dist/components/Calendar/QuarterView.stories.svelte.d.ts +40 -0
- package/dist/components/Calendar/QuarterView.stories.svelte.d.ts.map +1 -0
- package/dist/components/Calendar/QuarterView.svelte +736 -0
- package/dist/components/Calendar/QuarterView.svelte.d.ts +30 -0
- package/dist/components/Calendar/QuarterView.svelte.d.ts.map +1 -0
- package/dist/components/Card.spec.d.ts +2 -0
- package/dist/components/Card.spec.d.ts.map +1 -0
- package/dist/components/Card.spec.js +47 -0
- package/dist/components/Card.stories.svelte +26 -0
- package/dist/components/Card.stories.svelte.d.ts +36 -0
- package/dist/components/Card.stories.svelte.d.ts.map +1 -0
- package/dist/components/Card.svelte +9 -0
- package/dist/components/Card.svelte.d.ts +30 -0
- package/dist/components/Card.svelte.d.ts.map +1 -0
- package/dist/components/CardAudit.stories.svelte +175 -0
- package/dist/components/CardAudit.stories.svelte.d.ts +31 -0
- package/dist/components/CardAudit.stories.svelte.d.ts.map +1 -0
- package/dist/components/CropImage/CropImage.spec.d.ts +2 -0
- package/dist/components/CropImage/CropImage.spec.d.ts.map +1 -0
- package/dist/components/CropImage/CropImage.spec.js +216 -0
- package/dist/components/CropImage/CropImage.stories.svelte +133 -0
- package/dist/components/CropImage/CropImage.stories.svelte.d.ts +40 -0
- package/dist/components/CropImage/CropImage.stories.svelte.d.ts.map +1 -0
- package/dist/components/CropImage/CropImage.svelte +311 -0
- package/dist/components/CropImage/CropImage.svelte.d.ts +34 -0
- package/dist/components/CropImage/CropImage.svelte.d.ts.map +1 -0
- package/dist/components/DarkModeToggle.spec.d.ts +2 -0
- package/dist/components/DarkModeToggle.spec.d.ts.map +1 -0
- package/dist/components/DarkModeToggle.spec.js +357 -0
- package/dist/components/DarkModeToggle.stories.svelte +55 -0
- package/dist/components/DarkModeToggle.stories.svelte.d.ts +32 -0
- package/dist/components/DarkModeToggle.stories.svelte.d.ts.map +1 -0
- package/dist/components/DarkModeToggle.svelte +245 -0
- package/dist/components/DarkModeToggle.svelte.d.ts +26 -0
- package/dist/components/DarkModeToggle.svelte.d.ts.map +1 -0
- package/dist/components/ErrorDisplay.spec.d.ts +2 -0
- package/dist/components/ErrorDisplay.spec.d.ts.map +1 -0
- package/dist/components/ErrorDisplay.spec.js +69 -0
- package/dist/components/ErrorDisplay.stories.svelte +115 -0
- package/dist/components/ErrorDisplay.stories.svelte.d.ts +62 -0
- package/dist/components/ErrorDisplay.stories.svelte.d.ts.map +1 -0
- package/dist/components/ErrorDisplay.svelte +58 -0
- package/dist/components/ErrorDisplay.svelte.d.ts +36 -0
- package/dist/components/ErrorDisplay.svelte.d.ts.map +1 -0
- package/dist/components/FormActions.spec.d.ts +2 -0
- package/dist/components/FormActions.spec.d.ts.map +1 -0
- package/dist/components/FormActions.spec.js +88 -0
- package/dist/components/FormActions.stories.svelte +98 -0
- package/dist/components/FormActions.stories.svelte.d.ts +57 -0
- package/dist/components/FormActions.stories.svelte.d.ts.map +1 -0
- package/dist/components/FormActions.svelte +67 -0
- package/dist/components/FormActions.svelte.d.ts +48 -0
- package/dist/components/FormActions.svelte.d.ts.map +1 -0
- package/dist/components/FormValidationSummary.spec.d.ts +2 -0
- package/dist/components/FormValidationSummary.spec.d.ts.map +1 -0
- package/dist/components/FormValidationSummary.spec.js +203 -0
- package/dist/components/FormValidationSummary.stories.svelte +95 -0
- package/dist/components/FormValidationSummary.stories.svelte.d.ts +32 -0
- package/dist/components/FormValidationSummary.stories.svelte.d.ts.map +1 -0
- package/dist/components/FormValidationSummary.svelte +83 -0
- package/dist/components/FormValidationSummary.svelte.d.ts +32 -0
- package/dist/components/FormValidationSummary.svelte.d.ts.map +1 -0
- package/dist/components/Icons/ArrowLeft.svelte +21 -0
- package/dist/components/Icons/ArrowLeft.svelte.d.ts +28 -0
- package/dist/components/Icons/ArrowLeft.svelte.d.ts.map +1 -0
- package/dist/components/Icons/ArrowRight.svelte +21 -0
- package/dist/components/Icons/ArrowRight.svelte.d.ts +28 -0
- package/dist/components/Icons/ArrowRight.svelte.d.ts.map +1 -0
- package/dist/components/Icons/Availability.svelte +28 -0
- package/dist/components/Icons/Availability.svelte.d.ts +28 -0
- package/dist/components/Icons/Availability.svelte.d.ts.map +1 -0
- package/dist/components/Icons/Back.svelte +28 -0
- package/dist/components/Icons/Back.svelte.d.ts +28 -0
- package/dist/components/Icons/Back.svelte.d.ts.map +1 -0
- package/dist/components/Icons/CheckCircle.svelte +20 -0
- package/dist/components/Icons/CheckCircle.svelte.d.ts +28 -0
- package/dist/components/Icons/CheckCircle.svelte.d.ts.map +1 -0
- package/dist/components/Icons/CheckCircleOutline.svelte +28 -0
- package/dist/components/Icons/CheckCircleOutline.svelte.d.ts +28 -0
- package/dist/components/Icons/CheckCircleOutline.svelte.d.ts.map +1 -0
- package/dist/components/Icons/ChevronLeft.svelte +18 -0
- package/dist/components/Icons/ChevronLeft.svelte.d.ts +28 -0
- package/dist/components/Icons/ChevronLeft.svelte.d.ts.map +1 -0
- package/dist/components/Icons/ChevronRight.svelte +18 -0
- package/dist/components/Icons/ChevronRight.svelte.d.ts +28 -0
- package/dist/components/Icons/ChevronRight.svelte.d.ts.map +1 -0
- package/dist/components/Icons/Copy.svelte +28 -0
- package/dist/components/Icons/Copy.svelte.d.ts +28 -0
- package/dist/components/Icons/Copy.svelte.d.ts.map +1 -0
- package/dist/components/Icons/Cross.svelte +18 -0
- package/dist/components/Icons/Cross.svelte.d.ts +28 -0
- package/dist/components/Icons/Cross.svelte.d.ts.map +1 -0
- package/dist/components/Icons/DownArrow.svelte +21 -0
- package/dist/components/Icons/DownArrow.svelte.d.ts +28 -0
- package/dist/components/Icons/DownArrow.svelte.d.ts.map +1 -0
- package/dist/components/Icons/ErrorCircle.svelte +20 -0
- package/dist/components/Icons/ErrorCircle.svelte.d.ts +28 -0
- package/dist/components/Icons/ErrorCircle.svelte.d.ts.map +1 -0
- package/dist/components/Icons/FacebookIcon.svelte +14 -0
- package/dist/components/Icons/FacebookIcon.svelte.d.ts +28 -0
- package/dist/components/Icons/FacebookIcon.svelte.d.ts.map +1 -0
- package/dist/components/Icons/Home.svelte +29 -0
- package/dist/components/Icons/Home.svelte.d.ts +28 -0
- package/dist/components/Icons/Home.svelte.d.ts.map +1 -0
- package/dist/components/Icons/Icon.spec.d.ts +2 -0
- package/dist/components/Icons/Icon.spec.d.ts.map +1 -0
- package/dist/components/Icons/Icon.spec.js +175 -0
- package/dist/components/Icons/Icon.stories.svelte +101 -0
- package/dist/components/Icons/Icon.stories.svelte.d.ts +44 -0
- package/dist/components/Icons/Icon.stories.svelte.d.ts.map +1 -0
- package/dist/components/Icons/Icon.svelte +66 -0
- package/dist/components/Icons/Icon.svelte.d.ts +30 -0
- package/dist/components/Icons/Icon.svelte.d.ts.map +1 -0
- package/dist/components/Icons/IconGallery.stories.svelte +233 -0
- package/dist/components/Icons/IconGallery.stories.svelte.d.ts +30 -0
- package/dist/components/Icons/IconGallery.stories.svelte.d.ts.map +1 -0
- package/dist/components/Icons/Info.svelte +20 -0
- package/dist/components/Icons/Info.svelte.d.ts +28 -0
- package/dist/components/Icons/Info.svelte.d.ts.map +1 -0
- package/dist/components/Icons/InstagramIcon.svelte +20 -0
- package/dist/components/Icons/InstagramIcon.svelte.d.ts +28 -0
- package/dist/components/Icons/InstagramIcon.svelte.d.ts.map +1 -0
- package/dist/components/Icons/Message.svelte +28 -0
- package/dist/components/Icons/Message.svelte.d.ts +28 -0
- package/dist/components/Icons/Message.svelte.d.ts.map +1 -0
- package/dist/components/Icons/MoonIcon.svelte +17 -0
- package/dist/components/Icons/MoonIcon.svelte.d.ts +28 -0
- package/dist/components/Icons/MoonIcon.svelte.d.ts.map +1 -0
- package/dist/components/Icons/More.svelte +35 -0
- package/dist/components/Icons/More.svelte.d.ts +28 -0
- package/dist/components/Icons/More.svelte.d.ts.map +1 -0
- package/dist/components/Icons/MoreHori.spec.d.ts +2 -0
- package/dist/components/Icons/MoreHori.spec.d.ts.map +1 -0
- package/dist/components/Icons/MoreHori.spec.js +67 -0
- package/dist/components/Icons/MoreHori.svelte +35 -0
- package/dist/components/Icons/MoreHori.svelte.d.ts +28 -0
- package/dist/components/Icons/MoreHori.svelte.d.ts.map +1 -0
- package/dist/components/Icons/Notification.svelte +28 -0
- package/dist/components/Icons/Notification.svelte.d.ts +28 -0
- package/dist/components/Icons/Notification.svelte.d.ts.map +1 -0
- package/dist/components/Icons/Payment.svelte +28 -0
- package/dist/components/Icons/Payment.svelte.d.ts +28 -0
- package/dist/components/Icons/Payment.svelte.d.ts.map +1 -0
- package/dist/components/Icons/Profile.svelte +35 -0
- package/dist/components/Icons/Profile.svelte.d.ts +28 -0
- package/dist/components/Icons/Profile.svelte.d.ts.map +1 -0
- package/dist/components/Icons/Reload.svelte +42 -0
- package/dist/components/Icons/Reload.svelte.d.ts +28 -0
- package/dist/components/Icons/Reload.svelte.d.ts.map +1 -0
- package/dist/components/Icons/Shows.svelte +35 -0
- package/dist/components/Icons/Shows.svelte.d.ts +28 -0
- package/dist/components/Icons/Shows.svelte.d.ts.map +1 -0
- package/dist/components/Icons/Signout.svelte +35 -0
- package/dist/components/Icons/Signout.svelte.d.ts +28 -0
- package/dist/components/Icons/Signout.svelte.d.ts.map +1 -0
- package/dist/components/Icons/SunIcon.svelte +20 -0
- package/dist/components/Icons/SunIcon.svelte.d.ts +28 -0
- package/dist/components/Icons/SunIcon.svelte.d.ts.map +1 -0
- package/dist/components/Icons/TiktokIcon.svelte +14 -0
- package/dist/components/Icons/TiktokIcon.svelte.d.ts +28 -0
- package/dist/components/Icons/TiktokIcon.svelte.d.ts.map +1 -0
- package/dist/components/Icons/TwitterIcon.svelte +14 -0
- package/dist/components/Icons/TwitterIcon.svelte.d.ts +28 -0
- package/dist/components/Icons/TwitterIcon.svelte.d.ts.map +1 -0
- package/dist/components/Icons/WarningIcon.spec.d.ts +2 -0
- package/dist/components/Icons/WarningIcon.spec.d.ts.map +1 -0
- package/dist/components/Icons/WarningIcon.spec.js +30 -0
- package/dist/components/Icons/WarningIcon.svelte +24 -0
- package/dist/components/Icons/WarningIcon.svelte.d.ts +26 -0
- package/dist/components/Icons/WarningIcon.svelte.d.ts.map +1 -0
- package/dist/components/Input/Input.spec.d.ts +2 -0
- package/dist/components/Input/Input.spec.d.ts.map +1 -0
- package/dist/components/Input/Input.spec.js +573 -0
- package/dist/components/Input/Input.stories.svelte +140 -0
- package/dist/components/Input/Input.stories.svelte.d.ts +80 -0
- package/dist/components/Input/Input.stories.svelte.d.ts.map +1 -0
- package/dist/components/Input/Input.svelte +721 -0
- package/dist/components/Input/Input.svelte.d.ts +96 -0
- package/dist/components/Input/Input.svelte.d.ts.map +1 -0
- package/dist/components/Input/InputAudit.stories.svelte +483 -0
- package/dist/components/Input/InputAudit.stories.svelte.d.ts +31 -0
- package/dist/components/Input/InputAudit.stories.svelte.d.ts.map +1 -0
- package/dist/components/Input/MultiSelect.spec.d.ts +2 -0
- package/dist/components/Input/MultiSelect.spec.d.ts.map +1 -0
- package/dist/components/Input/MultiSelect.spec.js +257 -0
- package/dist/components/Input/MultiSelect.stories.svelte +138 -0
- package/dist/components/Input/MultiSelect.stories.svelte.d.ts +32 -0
- package/dist/components/Input/MultiSelect.stories.svelte.d.ts.map +1 -0
- package/dist/components/Input/MultiSelect.svelte +557 -0
- package/dist/components/Input/MultiSelect.svelte.d.ts +50 -0
- package/dist/components/Input/MultiSelect.svelte.d.ts.map +1 -0
- package/dist/components/Input/OTPInput.spec.d.ts +2 -0
- package/dist/components/Input/OTPInput.spec.d.ts.map +1 -0
- package/dist/components/Input/OTPInput.spec.js +238 -0
- package/dist/components/Input/OTPInput.stories.svelte +167 -0
- package/dist/components/Input/OTPInput.stories.svelte.d.ts +48 -0
- package/dist/components/Input/OTPInput.stories.svelte.d.ts.map +1 -0
- package/dist/components/Input/OTPInput.svelte +117 -0
- package/dist/components/Input/OTPInput.svelte.d.ts +42 -0
- package/dist/components/Input/OTPInput.svelte.d.ts.map +1 -0
- package/dist/components/Input/Select.spec.d.ts +2 -0
- package/dist/components/Input/Select.spec.d.ts.map +1 -0
- package/dist/components/Input/Select.spec.js +218 -0
- package/dist/components/Input/Select.svelte +385 -0
- package/dist/components/Input/Select.svelte.d.ts +48 -0
- package/dist/components/Input/Select.svelte.d.ts.map +1 -0
- package/dist/components/Input/SelectAudit.stories.svelte +364 -0
- package/dist/components/Input/SelectAudit.stories.svelte.d.ts +31 -0
- package/dist/components/Input/SelectAudit.stories.svelte.d.ts.map +1 -0
- package/dist/components/Layout/BottomNav.spec.d.ts +2 -0
- package/dist/components/Layout/BottomNav.spec.d.ts.map +1 -0
- package/dist/components/Layout/BottomNav.spec.js +130 -0
- package/dist/components/Layout/BottomNav.stories.svelte +115 -0
- package/dist/components/Layout/BottomNav.stories.svelte.d.ts +32 -0
- package/dist/components/Layout/BottomNav.stories.svelte.d.ts.map +1 -0
- package/dist/components/Layout/BottomNav.svelte +120 -0
- package/dist/components/Layout/BottomNav.svelte.d.ts +26 -0
- package/dist/components/Layout/BottomNav.svelte.d.ts.map +1 -0
- package/dist/components/Layout/Header.spec.d.ts +2 -0
- package/dist/components/Layout/Header.spec.d.ts.map +1 -0
- package/dist/components/Layout/Header.spec.js +203 -0
- package/dist/components/Layout/Header.stories.svelte +78 -0
- package/dist/components/Layout/Header.stories.svelte.d.ts +47 -0
- package/dist/components/Layout/Header.stories.svelte.d.ts.map +1 -0
- package/dist/components/Layout/Header.svelte +528 -0
- package/dist/components/Layout/Header.svelte.d.ts +42 -0
- package/dist/components/Layout/Header.svelte.d.ts.map +1 -0
- package/dist/components/Modal/ConfirmationModal.spec.d.ts +2 -0
- package/dist/components/Modal/ConfirmationModal.spec.d.ts.map +1 -0
- package/dist/components/Modal/ConfirmationModal.spec.js +191 -0
- package/dist/components/Modal/ConfirmationModal.stories.svelte +124 -0
- package/dist/components/Modal/ConfirmationModal.stories.svelte.d.ts +45 -0
- package/dist/components/Modal/ConfirmationModal.stories.svelte.d.ts.map +1 -0
- package/dist/components/Modal/ConfirmationModal.svelte +105 -0
- package/dist/components/Modal/ConfirmationModal.svelte.d.ts +38 -0
- package/dist/components/Modal/ConfirmationModal.svelte.d.ts.map +1 -0
- package/dist/components/Modal/Modal.spec.d.ts +2 -0
- package/dist/components/Modal/Modal.spec.d.ts.map +1 -0
- package/dist/components/Modal/Modal.spec.js +95 -0
- package/dist/components/Modal/Modal.stories.svelte +83 -0
- package/dist/components/Modal/Modal.stories.svelte.d.ts +31 -0
- package/dist/components/Modal/Modal.stories.svelte.d.ts.map +1 -0
- package/dist/components/Modal/Modal.svelte +234 -0
- package/dist/components/Modal/Modal.svelte.d.ts +46 -0
- package/dist/components/Modal/Modal.svelte.d.ts.map +1 -0
- package/dist/components/Modal/ModalAudit.stories.svelte +329 -0
- package/dist/components/Modal/ModalAudit.stories.svelte.d.ts +31 -0
- package/dist/components/Modal/ModalAudit.stories.svelte.d.ts.map +1 -0
- package/dist/components/Modal/ModalStateManager.spec.d.ts +2 -0
- package/dist/components/Modal/ModalStateManager.spec.d.ts.map +1 -0
- package/dist/components/Modal/ModalStateManager.spec.js +100 -0
- package/dist/components/Modal/ModalStateManager.svelte +67 -0
- package/dist/components/Modal/ModalStateManager.svelte.d.ts +48 -0
- package/dist/components/Modal/ModalStateManager.svelte.d.ts.map +1 -0
- package/dist/components/Modal/ModalTestWrapper.svelte +21 -0
- package/dist/components/Modal/ModalTestWrapper.svelte.d.ts +36 -0
- package/dist/components/Modal/ModalTestWrapper.svelte.d.ts.map +1 -0
- package/dist/components/PageLoader.spec.d.ts +2 -0
- package/dist/components/PageLoader.spec.d.ts.map +1 -0
- package/dist/components/PageLoader.spec.js +54 -0
- package/dist/components/PageLoader.stories.svelte +145 -0
- package/dist/components/PageLoader.stories.svelte.d.ts +53 -0
- package/dist/components/PageLoader.stories.svelte.d.ts.map +1 -0
- package/dist/components/PageLoader.svelte +52 -0
- package/dist/components/PageLoader.svelte.d.ts +42 -0
- package/dist/components/PageLoader.svelte.d.ts.map +1 -0
- package/dist/components/PasswordStrengthIndicator/PasswordStrengthIndicator.spec.d.ts +2 -0
- package/dist/components/PasswordStrengthIndicator/PasswordStrengthIndicator.spec.d.ts.map +1 -0
- package/dist/components/PasswordStrengthIndicator/PasswordStrengthIndicator.spec.js +173 -0
- package/dist/components/PasswordStrengthIndicator/PasswordStrengthIndicator.svelte +101 -0
- package/dist/components/PasswordStrengthIndicator/PasswordStrengthIndicator.svelte.d.ts +36 -0
- package/dist/components/PasswordStrengthIndicator/PasswordStrengthIndicator.svelte.d.ts.map +1 -0
- package/dist/components/PlaceAutocomplete/PlaceAutocomplete.spec.d.ts +2 -0
- package/dist/components/PlaceAutocomplete/PlaceAutocomplete.spec.d.ts.map +1 -0
- package/dist/components/PlaceAutocomplete/PlaceAutocomplete.spec.js +300 -0
- package/dist/components/PlaceAutocomplete/PlaceAutocomplete.stories.svelte +168 -0
- package/dist/components/PlaceAutocomplete/PlaceAutocomplete.stories.svelte.d.ts +60 -0
- package/dist/components/PlaceAutocomplete/PlaceAutocomplete.stories.svelte.d.ts.map +1 -0
- package/dist/components/PlaceAutocomplete/PlaceAutocomplete.svelte +431 -0
- package/dist/components/PlaceAutocomplete/PlaceAutocomplete.svelte.d.ts +29 -0
- package/dist/components/PlaceAutocomplete/PlaceAutocomplete.svelte.d.ts.map +1 -0
- package/dist/components/Spinner/Spinner.spec.d.ts +2 -0
- package/dist/components/Spinner/Spinner.spec.d.ts.map +1 -0
- package/dist/components/Spinner/Spinner.spec.js +75 -0
- package/dist/components/Spinner/Spinner.stories.svelte +30 -0
- package/dist/components/Spinner/Spinner.stories.svelte.d.ts +31 -0
- package/dist/components/Spinner/Spinner.stories.svelte.d.ts.map +1 -0
- package/dist/components/Spinner/Spinner.svelte +19 -0
- package/dist/components/Spinner/Spinner.svelte.d.ts +26 -0
- package/dist/components/Spinner/Spinner.svelte.d.ts.map +1 -0
- package/dist/components/StatusIndicator/StatusIndicator.spec.d.ts +2 -0
- package/dist/components/StatusIndicator/StatusIndicator.spec.d.ts.map +1 -0
- package/dist/components/StatusIndicator/StatusIndicator.spec.js +129 -0
- package/dist/components/StatusIndicator/StatusIndicator.svelte +206 -0
- package/dist/components/StatusIndicator/StatusIndicator.svelte.d.ts +28 -0
- package/dist/components/StatusIndicator/StatusIndicator.svelte.d.ts.map +1 -0
- package/dist/components/Toaster/Toaster.stories.svelte +61 -0
- package/dist/components/Toaster/Toaster.stories.svelte.d.ts +29 -0
- package/dist/components/Toaster/Toaster.stories.svelte.d.ts.map +1 -0
- package/dist/components/Toggle.spec.d.ts +2 -0
- package/dist/components/Toggle.spec.d.ts.map +1 -0
- package/dist/components/Toggle.spec.js +158 -0
- package/dist/components/Toggle.stories.svelte +93 -0
- package/dist/components/Toggle.stories.svelte.d.ts +41 -0
- package/dist/components/Toggle.stories.svelte.d.ts.map +1 -0
- package/dist/components/Toggle.svelte +79 -0
- package/dist/components/Toggle.svelte.d.ts +32 -0
- package/dist/components/Toggle.svelte.d.ts.map +1 -0
- package/dist/components/ValidationError.spec.d.ts +2 -0
- package/dist/components/ValidationError.spec.d.ts.map +1 -0
- package/dist/components/ValidationError.spec.js +79 -0
- package/dist/components/ValidationError.stories.svelte +88 -0
- package/dist/components/ValidationError.stories.svelte.d.ts +41 -0
- package/dist/components/ValidationError.stories.svelte.d.ts.map +1 -0
- package/dist/components/ValidationError.svelte +19 -0
- package/dist/components/ValidationError.svelte.d.ts +28 -0
- package/dist/components/ValidationError.svelte.d.ts.map +1 -0
- package/dist/components/pages/performers/AvailabilityCalendarModal.spec.d.ts +2 -0
- package/dist/components/pages/performers/AvailabilityCalendarModal.spec.d.ts.map +1 -0
- package/dist/components/pages/performers/AvailabilityCalendarModal.spec.js +606 -0
- package/dist/components/pages/performers/AvailabilityCalendarModal.svelte +632 -0
- package/dist/components/pages/performers/AvailabilityCalendarModal.svelte.d.ts +36 -0
- package/dist/components/pages/performers/AvailabilityCalendarModal.svelte.d.ts.map +1 -0
- package/dist/components/pages/performers/ModalShowInfo.spec.d.ts +2 -0
- package/dist/components/pages/performers/ModalShowInfo.spec.d.ts.map +1 -0
- package/dist/components/pages/performers/ModalShowInfo.spec.js +124 -0
- package/dist/components/pages/performers/ModalShowInfo.svelte +88 -0
- package/dist/components/pages/performers/ModalShowInfo.svelte.d.ts +34 -0
- package/dist/components/pages/performers/ModalShowInfo.svelte.d.ts.map +1 -0
- package/dist/components/pages/performers/PageBackButton.spec.d.ts +2 -0
- package/dist/components/pages/performers/PageBackButton.spec.d.ts.map +1 -0
- package/dist/components/pages/performers/PageBackButton.spec.js +89 -0
- package/dist/components/pages/performers/PageBackButton.stories.svelte +72 -0
- package/dist/components/pages/performers/PageBackButton.stories.svelte.d.ts +36 -0
- package/dist/components/pages/performers/PageBackButton.stories.svelte.d.ts.map +1 -0
- package/dist/components/pages/performers/PageBackButton.svelte +13 -0
- package/dist/components/pages/performers/PageBackButton.svelte.d.ts +26 -0
- package/dist/components/pages/performers/PageBackButton.svelte.d.ts.map +1 -0
- package/dist/components/pages/performers/SectionHeader.spec.d.ts +2 -0
- package/dist/components/pages/performers/SectionHeader.spec.d.ts.map +1 -0
- package/dist/components/pages/performers/SectionHeader.spec.js +75 -0
- package/dist/components/pages/performers/SectionHeader.stories.svelte +100 -0
- package/dist/components/pages/performers/SectionHeader.stories.svelte.d.ts +41 -0
- package/dist/components/pages/performers/SectionHeader.stories.svelte.d.ts.map +1 -0
- package/dist/components/pages/performers/SectionHeader.svelte +9 -0
- package/dist/components/pages/performers/SectionHeader.svelte.d.ts +28 -0
- package/dist/components/pages/performers/SectionHeader.svelte.d.ts.map +1 -0
- package/dist/components/pages/performers/ShowDetails.spec.d.ts +2 -0
- package/dist/components/pages/performers/ShowDetails.spec.d.ts.map +1 -0
- package/dist/components/pages/performers/ShowDetails.spec.js +166 -0
- package/dist/components/pages/performers/ShowDetails.stories.svelte +140 -0
- package/dist/components/pages/performers/ShowDetails.stories.svelte.d.ts +37 -0
- package/dist/components/pages/performers/ShowDetails.stories.svelte.d.ts.map +1 -0
- package/dist/components/pages/performers/ShowDetails.svelte +73 -0
- package/dist/components/pages/performers/ShowDetails.svelte.d.ts +44 -0
- package/dist/components/pages/performers/ShowDetails.svelte.d.ts.map +1 -0
- package/dist/components/pages/performers/ShowItemCard.spec.d.ts +2 -0
- package/dist/components/pages/performers/ShowItemCard.spec.d.ts.map +1 -0
- package/dist/components/pages/performers/ShowItemCard.spec.js +793 -0
- package/dist/components/pages/performers/ShowItemCard.stories.svelte +250 -0
- package/dist/components/pages/performers/ShowItemCard.stories.svelte.d.ts +43 -0
- package/dist/components/pages/performers/ShowItemCard.stories.svelte.d.ts.map +1 -0
- package/dist/components/pages/performers/ShowItemCard.svelte +886 -0
- package/dist/components/pages/performers/ShowItemCard.svelte.d.ts +54 -0
- package/dist/components/pages/performers/ShowItemCard.svelte.d.ts.map +1 -0
- package/dist/components/pages/performers/SwitchOption.spec.d.ts +2 -0
- package/dist/components/pages/performers/SwitchOption.spec.d.ts.map +1 -0
- package/dist/components/pages/performers/SwitchOption.spec.js +127 -0
- package/dist/components/pages/performers/SwitchOption.stories.svelte +211 -0
- package/dist/components/pages/performers/SwitchOption.stories.svelte.d.ts +40 -0
- package/dist/components/pages/performers/SwitchOption.stories.svelte.d.ts.map +1 -0
- package/dist/components/pages/performers/SwitchOption.svelte +24 -0
- package/dist/components/pages/performers/SwitchOption.svelte.d.ts +30 -0
- package/dist/components/pages/performers/SwitchOption.svelte.d.ts.map +1 -0
- package/dist/components/pages/performers/VenueInfo.spec.d.ts +2 -0
- package/dist/components/pages/performers/VenueInfo.spec.d.ts.map +1 -0
- package/dist/components/pages/performers/VenueInfo.spec.js +167 -0
- package/dist/components/pages/performers/VenueInfo.svelte +90 -0
- package/dist/components/pages/performers/VenueInfo.svelte.d.ts +32 -0
- package/dist/components/pages/performers/VenueInfo.svelte.d.ts.map +1 -0
- package/dist/components/pages/performers/VenueItemCard.spec.d.ts +2 -0
- package/dist/components/pages/performers/VenueItemCard.spec.d.ts.map +1 -0
- package/dist/components/pages/performers/VenueItemCard.spec.js +763 -0
- package/dist/components/pages/performers/VenueItemCard.stories.svelte +301 -0
- package/dist/components/pages/performers/VenueItemCard.stories.svelte.d.ts +37 -0
- package/dist/components/pages/performers/VenueItemCard.stories.svelte.d.ts.map +1 -0
- package/dist/components/pages/performers/VenueItemCard.svelte +192 -0
- package/dist/components/pages/performers/VenueItemCard.svelte.d.ts +66 -0
- package/dist/components/pages/performers/VenueItemCard.svelte.d.ts.map +1 -0
- package/dist/components/pages/profile/profile-form.spec.d.ts +2 -0
- package/dist/components/pages/profile/profile-form.spec.d.ts.map +1 -0
- package/dist/components/pages/profile/profile-form.spec.js +9 -0
- package/dist/components/pages/profile/profile-form.stories.svelte +279 -0
- package/dist/components/pages/profile/profile-form.stories.svelte.d.ts +48 -0
- package/dist/components/pages/profile/profile-form.stories.svelte.d.ts.map +1 -0
- package/dist/components/pages/profile/profile-form.svelte +445 -0
- package/dist/components/pages/profile/profile-form.svelte.d.ts +36 -0
- package/dist/components/pages/profile/profile-form.svelte.d.ts.map +1 -0
- package/dist/components/pages/profile/profile-photos.stories.svelte +69 -0
- package/dist/components/pages/profile/profile-photos.stories.svelte.d.ts +31 -0
- package/dist/components/pages/profile/profile-photos.stories.svelte.d.ts.map +1 -0
- package/dist/components/pages/profile/profile-photos.svelte +26 -0
- package/dist/components/pages/profile/profile-photos.svelte.d.ts +26 -0
- package/dist/components/pages/profile/profile-photos.svelte.d.ts.map +1 -0
- package/dist/components/pages/settings/tabs/CustomImageDropzone.stories.svelte +166 -0
- package/dist/components/pages/settings/tabs/CustomImageDropzone.stories.svelte.d.ts +49 -0
- package/dist/components/pages/settings/tabs/CustomImageDropzone.stories.svelte.d.ts.map +1 -0
- package/dist/components/pages/settings/tabs/CustomImageDropzone.svelte +241 -0
- package/dist/components/pages/settings/tabs/CustomImageDropzone.svelte.d.ts +38 -0
- package/dist/components/pages/settings/tabs/CustomImageDropzone.svelte.d.ts.map +1 -0
- package/dist/components/pages/shows/ShowList.spec.d.ts +2 -0
- package/dist/components/pages/shows/ShowList.spec.d.ts.map +1 -0
- package/dist/components/pages/shows/ShowList.spec.js +33 -0
- package/dist/components/pages/shows/ShowList.stories.svelte +258 -0
- package/dist/components/pages/shows/ShowList.stories.svelte.d.ts +41 -0
- package/dist/components/pages/shows/ShowList.stories.svelte.d.ts.map +1 -0
- package/dist/components/pages/shows/ShowList.svelte +12 -0
- package/dist/components/pages/shows/ShowList.svelte.d.ts +28 -0
- package/dist/components/pages/shows/ShowList.svelte.d.ts.map +1 -0
- package/dist/components/pages/shows/TabContent.spec.d.ts +2 -0
- package/dist/components/pages/shows/TabContent.spec.d.ts.map +1 -0
- package/dist/components/pages/shows/TabContent.spec.js +90 -0
- package/dist/components/pages/shows/TabContent.stories.svelte +254 -0
- package/dist/components/pages/shows/TabContent.stories.svelte.d.ts +45 -0
- package/dist/components/pages/shows/TabContent.stories.svelte.d.ts.map +1 -0
- package/dist/components/pages/shows/TabContent.svelte +94 -0
- package/dist/components/pages/shows/TabContent.svelte.d.ts +32 -0
- package/dist/components/pages/shows/TabContent.svelte.d.ts.map +1 -0
- package/dist/components/pages/shows/TabNavigation.spec.d.ts +2 -0
- package/dist/components/pages/shows/TabNavigation.spec.d.ts.map +1 -0
- package/dist/components/pages/shows/TabNavigation.spec.js +143 -0
- package/dist/components/pages/shows/TabNavigation.stories.svelte +177 -0
- package/dist/components/pages/shows/TabNavigation.stories.svelte.d.ts +41 -0
- package/dist/components/pages/shows/TabNavigation.stories.svelte.d.ts.map +1 -0
- package/dist/components/pages/shows/TabNavigation.svelte +64 -0
- package/dist/components/pages/shows/TabNavigation.svelte.d.ts +32 -0
- package/dist/components/pages/shows/TabNavigation.svelte.d.ts.map +1 -0
- package/dist/index.d.ts +80 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +111 -0
- package/package.json +5 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Alert.spec.d.ts","sourceRoot":"","sources":["../../../src/lib/components/Alert/Alert.spec.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { render, screen, fireEvent } from "@testing-library/svelte";
|
|
2
|
+
import userEvent from "@testing-library/user-event";
|
|
3
|
+
import { expect, describe, test, vi } from "vitest";
|
|
4
|
+
import Alert from "./Alert.svelte";
|
|
5
|
+
|
|
6
|
+
function setupTest(args = {}) {
|
|
7
|
+
const user = userEvent.setup();
|
|
8
|
+
const { component } = render(Alert, {
|
|
9
|
+
props: { ...args },
|
|
10
|
+
});
|
|
11
|
+
return { user, component };
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
describe("Alert Component Tests", () => {
|
|
15
|
+
test("Renders alert with title", () => {
|
|
16
|
+
setupTest({
|
|
17
|
+
title: "Alert Title",
|
|
18
|
+
});
|
|
19
|
+
expect(screen.getByText("Alert Title")).toBeInTheDocument();
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
test("Renders alert with message", () => {
|
|
23
|
+
setupTest({
|
|
24
|
+
message: "This is an alert message",
|
|
25
|
+
});
|
|
26
|
+
expect(screen.getByText("This is an alert message")).toBeInTheDocument();
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
test("Renders alert with both title and message", () => {
|
|
30
|
+
setupTest({
|
|
31
|
+
title: "Warning",
|
|
32
|
+
message: "Something needs your attention",
|
|
33
|
+
});
|
|
34
|
+
expect(screen.getByText("Warning")).toBeInTheDocument();
|
|
35
|
+
expect(screen.getByText("Something needs your attention")).toBeInTheDocument();
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
test("Maps info type to blue color", () => {
|
|
39
|
+
const { component } = setupTest({
|
|
40
|
+
title: "Info Alert",
|
|
41
|
+
type: "info",
|
|
42
|
+
});
|
|
43
|
+
// The Alert component should have the correct Flowbite color prop
|
|
44
|
+
const alertElement = screen.getByRole("alert");
|
|
45
|
+
expect(alertElement).toBeInTheDocument();
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
test("Maps success type to green color", () => {
|
|
49
|
+
setupTest({
|
|
50
|
+
title: "Success Alert",
|
|
51
|
+
type: "success",
|
|
52
|
+
});
|
|
53
|
+
const alertElement = screen.getByRole("alert");
|
|
54
|
+
expect(alertElement).toBeInTheDocument();
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
test("Maps warning type to yellow color", () => {
|
|
58
|
+
setupTest({
|
|
59
|
+
title: "Warning Alert",
|
|
60
|
+
type: "warning",
|
|
61
|
+
});
|
|
62
|
+
const alertElement = screen.getByRole("alert");
|
|
63
|
+
expect(alertElement).toBeInTheDocument();
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
test("Maps danger type to red color", () => {
|
|
67
|
+
setupTest({
|
|
68
|
+
title: "Danger Alert",
|
|
69
|
+
type: "danger",
|
|
70
|
+
});
|
|
71
|
+
const alertElement = screen.getByRole("alert");
|
|
72
|
+
expect(alertElement).toBeInTheDocument();
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
test("Defaults to info type when type is invalid", () => {
|
|
76
|
+
setupTest({
|
|
77
|
+
title: "Default Alert",
|
|
78
|
+
type: "invalid-type",
|
|
79
|
+
});
|
|
80
|
+
const alertElement = screen.getByRole("alert");
|
|
81
|
+
expect(alertElement).toBeInTheDocument();
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
test("Shows dismiss button when onClose is provided", () => {
|
|
85
|
+
const onCloseMock = vi.fn();
|
|
86
|
+
setupTest({
|
|
87
|
+
title: "Dismissable Alert",
|
|
88
|
+
onClose: onCloseMock,
|
|
89
|
+
});
|
|
90
|
+
// Flowbite Alert shows dismiss button when dismissable
|
|
91
|
+
const dismissButton = screen.queryByRole("button");
|
|
92
|
+
expect(dismissButton).toBeInTheDocument();
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
test("Does not show dismiss button when onClose is not provided", () => {
|
|
96
|
+
setupTest({
|
|
97
|
+
title: "Non-dismissable Alert",
|
|
98
|
+
});
|
|
99
|
+
// Without onClose, there should be no dismiss button
|
|
100
|
+
const dismissButton = screen.queryByRole("button");
|
|
101
|
+
expect(dismissButton).not.toBeInTheDocument();
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
test("Calls onClose when dismiss button is clicked", async () => {
|
|
105
|
+
const onCloseMock = vi.fn();
|
|
106
|
+
const { user } = setupTest({
|
|
107
|
+
title: "Dismissable Alert",
|
|
108
|
+
onClose: onCloseMock,
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
const dismissButton = screen.getByRole("button");
|
|
112
|
+
await user.click(dismissButton);
|
|
113
|
+
|
|
114
|
+
// Note: Flowbite Alert may handle close differently - check if button exists
|
|
115
|
+
expect(dismissButton).toBeInTheDocument();
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
test("Renders with close button when onClose provided", async () => {
|
|
119
|
+
const onCloseMock = vi.fn();
|
|
120
|
+
setupTest({
|
|
121
|
+
title: "Dismissable Alert",
|
|
122
|
+
onClose: onCloseMock,
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
const dismissButton = screen.getByRole("button");
|
|
126
|
+
expect(dismissButton).toBeInTheDocument();
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
test("Has custom-alert class for dark mode styling", () => {
|
|
130
|
+
setupTest({
|
|
131
|
+
title: "Styled Alert",
|
|
132
|
+
});
|
|
133
|
+
const alertElement = screen.getByRole("alert");
|
|
134
|
+
expect(alertElement).toHaveClass("custom-alert");
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
test("Renders without title when only message is provided", () => {
|
|
138
|
+
setupTest({
|
|
139
|
+
message: "Message only alert",
|
|
140
|
+
});
|
|
141
|
+
expect(screen.getByText("Message only alert")).toBeInTheDocument();
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
test("Renders empty alert when no props provided", () => {
|
|
145
|
+
setupTest({});
|
|
146
|
+
const alertElement = screen.getByRole("alert");
|
|
147
|
+
expect(alertElement).toBeInTheDocument();
|
|
148
|
+
});
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
describe("Alert Type Color Mapping", () => {
|
|
152
|
+
const typeColorMap = [
|
|
153
|
+
{ type: "info", expectedColor: "blue" },
|
|
154
|
+
{ type: "success", expectedColor: "green" },
|
|
155
|
+
{ type: "warning", expectedColor: "yellow" },
|
|
156
|
+
{ type: "danger", expectedColor: "red" },
|
|
157
|
+
];
|
|
158
|
+
|
|
159
|
+
typeColorMap.forEach(({ type, expectedColor }) => {
|
|
160
|
+
test(`Type "${type}" maps to "${expectedColor}" color`, () => {
|
|
161
|
+
setupTest({
|
|
162
|
+
title: `${type} Alert`,
|
|
163
|
+
type,
|
|
164
|
+
});
|
|
165
|
+
// Alert renders successfully with correct type
|
|
166
|
+
const alertElement = screen.getByRole("alert");
|
|
167
|
+
expect(alertElement).toBeInTheDocument();
|
|
168
|
+
});
|
|
169
|
+
});
|
|
170
|
+
});
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
import { Alert } from "flowbite-svelte";
|
|
3
|
+
import { createEventDispatcher } from "svelte";
|
|
4
|
+
|
|
5
|
+
export let title = "";
|
|
6
|
+
export let message = "";
|
|
7
|
+
export let type = "info"; // info, success, warning, danger
|
|
8
|
+
export let onClose = undefined;
|
|
9
|
+
|
|
10
|
+
const dispatch = createEventDispatcher();
|
|
11
|
+
|
|
12
|
+
// Map legacy 'type' to Flowbite 'color'
|
|
13
|
+
$: color =
|
|
14
|
+
{
|
|
15
|
+
info: "blue",
|
|
16
|
+
success: "green",
|
|
17
|
+
warning: "yellow",
|
|
18
|
+
danger: "red",
|
|
19
|
+
}[type] || "blue";
|
|
20
|
+
|
|
21
|
+
function handleClose() {
|
|
22
|
+
if (onClose) onClose();
|
|
23
|
+
dispatch("close");
|
|
24
|
+
}
|
|
25
|
+
</script>
|
|
26
|
+
|
|
27
|
+
<Alert {color} dismissable={!!onClose} on:close={handleClose} class="mb-4 custom-alert">
|
|
28
|
+
{#if title}
|
|
29
|
+
<span class="font-medium">{title}</span>
|
|
30
|
+
{/if}
|
|
31
|
+
{#if message}
|
|
32
|
+
<div class="mt-1 text-sm">
|
|
33
|
+
{message}
|
|
34
|
+
</div>
|
|
35
|
+
{/if}
|
|
36
|
+
<slot />
|
|
37
|
+
</Alert>
|
|
38
|
+
|
|
39
|
+
<style>
|
|
40
|
+
/* Dark mode alert styling */
|
|
41
|
+
:global(.dark .custom-alert),
|
|
42
|
+
:global(.performer-portal.dark .custom-alert) {
|
|
43
|
+
background-color: #0d1526 !important;
|
|
44
|
+
border-color: #374151 !important;
|
|
45
|
+
color: #f7f7f8 !important;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
:global(.dark .custom-alert span),
|
|
49
|
+
:global(.performer-portal.dark .custom-alert span),
|
|
50
|
+
:global(.dark .custom-alert div),
|
|
51
|
+
:global(.performer-portal.dark .custom-alert div) {
|
|
52
|
+
color: #f7f7f8 !important;
|
|
53
|
+
}
|
|
54
|
+
</style>
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/** @typedef {typeof __propDef.props} AlertProps */
|
|
2
|
+
/** @typedef {typeof __propDef.events} AlertEvents */
|
|
3
|
+
/** @typedef {typeof __propDef.slots} AlertSlots */
|
|
4
|
+
export default class Alert extends SvelteComponent<{
|
|
5
|
+
title?: string | undefined;
|
|
6
|
+
message?: string | undefined;
|
|
7
|
+
type?: string | undefined;
|
|
8
|
+
onClose?: any;
|
|
9
|
+
}, {
|
|
10
|
+
close: CustomEvent<any>;
|
|
11
|
+
} & {
|
|
12
|
+
[evt: string]: CustomEvent<any>;
|
|
13
|
+
}, {
|
|
14
|
+
default: {};
|
|
15
|
+
}> {
|
|
16
|
+
}
|
|
17
|
+
export type AlertProps = typeof __propDef.props;
|
|
18
|
+
export type AlertEvents = typeof __propDef.events;
|
|
19
|
+
export type AlertSlots = typeof __propDef.slots;
|
|
20
|
+
import { SvelteComponent } from "svelte";
|
|
21
|
+
declare const __propDef: {
|
|
22
|
+
props: {
|
|
23
|
+
title?: string | undefined;
|
|
24
|
+
message?: string | undefined;
|
|
25
|
+
type?: string | undefined;
|
|
26
|
+
onClose?: any;
|
|
27
|
+
};
|
|
28
|
+
events: {
|
|
29
|
+
close: CustomEvent<any>;
|
|
30
|
+
} & {
|
|
31
|
+
[evt: string]: CustomEvent<any>;
|
|
32
|
+
};
|
|
33
|
+
slots: {
|
|
34
|
+
default: {};
|
|
35
|
+
};
|
|
36
|
+
exports?: undefined;
|
|
37
|
+
bindings?: undefined;
|
|
38
|
+
};
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=Alert.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Alert.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/Alert/Alert.svelte.js"],"names":[],"mappings":"AAiDA,oDAAoD;AACpD,sDAAsD;AACtD,oDAAoD;AAEpD;;;;;;;;;;;;CACC;yBALa,OAAO,SAAS,CAAC,KAAK;0BACtB,OAAO,SAAS,CAAC,MAAM;yBACvB,OAAO,SAAS,CAAC,KAAK;gCAnDJ,QAAQ;AAgDxC;;;;;;;;;;;;;;;;;EAAsH"}
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
<script context="module">
|
|
2
|
+
import Alert from "./Alert.svelte";
|
|
3
|
+
|
|
4
|
+
export const meta = {
|
|
5
|
+
title: "Audit/Alert Variants",
|
|
6
|
+
component: Alert,
|
|
7
|
+
};
|
|
8
|
+
</script>
|
|
9
|
+
|
|
10
|
+
<script>
|
|
11
|
+
import { Story } from '@storybook/addon-svelte-csf';
|
|
12
|
+
|
|
13
|
+
let showDismissable = true;
|
|
14
|
+
|
|
15
|
+
function resetDismissable() {
|
|
16
|
+
showDismissable = false;
|
|
17
|
+
setTimeout(() => showDismissable = true, 500);
|
|
18
|
+
}
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<Story name="All Alert Variants">
|
|
22
|
+
<div class="performer-portal p-6 space-y-8 bg-BG-Primary min-h-screen">
|
|
23
|
+
<div class="max-w-2xl mx-auto">
|
|
24
|
+
<h1 class="text-2xl font-bold text-Text-Primary mb-2">Alert Component Audit</h1>
|
|
25
|
+
<p class="text-Text-Tartiary mb-8">All alert variants as they appear across the performers portal</p>
|
|
26
|
+
|
|
27
|
+
<!-- SECTION: Alert Types -->
|
|
28
|
+
<section class="mb-10">
|
|
29
|
+
<h2 class="text-lg font-semibold text-Text-Primary mb-4 pb-2 border-b border-stroke-Primary">
|
|
30
|
+
Alert Types
|
|
31
|
+
</h2>
|
|
32
|
+
|
|
33
|
+
<div class="space-y-4">
|
|
34
|
+
<div class="p-4 bg-BG-Secondary rounded-lg">
|
|
35
|
+
<div class="text-xs text-Text-Tartiary mb-2 font-mono">
|
|
36
|
+
type="info" (default) - blue styling
|
|
37
|
+
</div>
|
|
38
|
+
<Alert type="info" title="Information" message="This is an informational alert message." />
|
|
39
|
+
</div>
|
|
40
|
+
|
|
41
|
+
<div class="p-4 bg-BG-Secondary rounded-lg">
|
|
42
|
+
<div class="text-xs text-Text-Tartiary mb-2 font-mono">
|
|
43
|
+
type="success" - green styling
|
|
44
|
+
</div>
|
|
45
|
+
<Alert type="success" title="Success" message="Your changes have been saved successfully." />
|
|
46
|
+
</div>
|
|
47
|
+
|
|
48
|
+
<div class="p-4 bg-BG-Secondary rounded-lg">
|
|
49
|
+
<div class="text-xs text-Text-Tartiary mb-2 font-mono">
|
|
50
|
+
type="warning" - yellow styling
|
|
51
|
+
</div>
|
|
52
|
+
<Alert type="warning" title="Warning" message="Please review your information before proceeding." />
|
|
53
|
+
</div>
|
|
54
|
+
|
|
55
|
+
<div class="p-4 bg-BG-Secondary rounded-lg">
|
|
56
|
+
<div class="text-xs text-Text-Tartiary mb-2 font-mono">
|
|
57
|
+
type="danger" - red styling
|
|
58
|
+
</div>
|
|
59
|
+
<Alert type="danger" title="Error" message="Something went wrong. Please try again." />
|
|
60
|
+
</div>
|
|
61
|
+
</div>
|
|
62
|
+
</section>
|
|
63
|
+
|
|
64
|
+
<!-- SECTION: Content Variants -->
|
|
65
|
+
<section class="mb-10">
|
|
66
|
+
<h2 class="text-lg font-semibold text-Text-Primary mb-4 pb-2 border-b border-stroke-Primary">
|
|
67
|
+
Content Variants
|
|
68
|
+
</h2>
|
|
69
|
+
|
|
70
|
+
<div class="space-y-4">
|
|
71
|
+
<div class="p-4 bg-BG-Secondary rounded-lg">
|
|
72
|
+
<div class="text-xs text-Text-Tartiary mb-2 font-mono">
|
|
73
|
+
Title only (no message)
|
|
74
|
+
</div>
|
|
75
|
+
<Alert type="info" title="Just a title" />
|
|
76
|
+
</div>
|
|
77
|
+
|
|
78
|
+
<div class="p-4 bg-BG-Secondary rounded-lg">
|
|
79
|
+
<div class="text-xs text-Text-Tartiary mb-2 font-mono">
|
|
80
|
+
Message only (no title)
|
|
81
|
+
</div>
|
|
82
|
+
<Alert type="info" message="This alert has only a message, no title." />
|
|
83
|
+
</div>
|
|
84
|
+
|
|
85
|
+
<div class="p-4 bg-BG-Secondary rounded-lg">
|
|
86
|
+
<div class="text-xs text-Text-Tartiary mb-2 font-mono">
|
|
87
|
+
With slot content
|
|
88
|
+
</div>
|
|
89
|
+
<Alert type="warning" title="Custom Content">
|
|
90
|
+
<p class="mt-2">This alert uses a <strong>slot</strong> for custom HTML content.</p>
|
|
91
|
+
<ul class="list-disc list-inside mt-2 text-sm">
|
|
92
|
+
<li>Item one</li>
|
|
93
|
+
<li>Item two</li>
|
|
94
|
+
</ul>
|
|
95
|
+
</Alert>
|
|
96
|
+
</div>
|
|
97
|
+
</div>
|
|
98
|
+
</section>
|
|
99
|
+
|
|
100
|
+
<!-- SECTION: Dismissable -->
|
|
101
|
+
<section class="mb-10">
|
|
102
|
+
<h2 class="text-lg font-semibold text-Text-Primary mb-4 pb-2 border-b border-stroke-Primary">
|
|
103
|
+
Dismissable Alerts
|
|
104
|
+
</h2>
|
|
105
|
+
|
|
106
|
+
<div class="space-y-4">
|
|
107
|
+
<div class="p-4 bg-BG-Secondary rounded-lg">
|
|
108
|
+
<div class="text-xs text-Text-Tartiary mb-2 font-mono">
|
|
109
|
+
onClose callback provided - shows X button
|
|
110
|
+
</div>
|
|
111
|
+
{#if showDismissable}
|
|
112
|
+
<Alert
|
|
113
|
+
type="info"
|
|
114
|
+
title="Dismissable Alert"
|
|
115
|
+
message="Click the X to dismiss this alert."
|
|
116
|
+
onClose={resetDismissable}
|
|
117
|
+
/>
|
|
118
|
+
{:else}
|
|
119
|
+
<button
|
|
120
|
+
class="text-blue-500 underline text-sm"
|
|
121
|
+
on:click={resetDismissable}
|
|
122
|
+
>
|
|
123
|
+
Show alert again
|
|
124
|
+
</button>
|
|
125
|
+
{/if}
|
|
126
|
+
</div>
|
|
127
|
+
</div>
|
|
128
|
+
</section>
|
|
129
|
+
|
|
130
|
+
<!-- SECTION: Real Usage Examples -->
|
|
131
|
+
<section class="mb-10">
|
|
132
|
+
<h2 class="text-lg font-semibold text-Text-Primary mb-4 pb-2 border-b border-stroke-Primary">
|
|
133
|
+
Real Usage Examples
|
|
134
|
+
</h2>
|
|
135
|
+
|
|
136
|
+
<div class="space-y-4">
|
|
137
|
+
<div class="p-4 bg-BG-Secondary rounded-lg">
|
|
138
|
+
<div class="text-xs text-primary-700 font-semibold mb-1">Payment Settings - Error State</div>
|
|
139
|
+
<Alert
|
|
140
|
+
type="danger"
|
|
141
|
+
title="Payment Failed"
|
|
142
|
+
message="We couldn't process your payment. Please check your card details and try again."
|
|
143
|
+
/>
|
|
144
|
+
</div>
|
|
145
|
+
|
|
146
|
+
<div class="p-4 bg-BG-Secondary rounded-lg">
|
|
147
|
+
<div class="text-xs text-primary-700 font-semibold mb-1">Profile - Missing Info Warning</div>
|
|
148
|
+
<Alert
|
|
149
|
+
type="warning"
|
|
150
|
+
title="Profile Incomplete"
|
|
151
|
+
message="Please complete your profile to start receiving show invitations."
|
|
152
|
+
/>
|
|
153
|
+
</div>
|
|
154
|
+
|
|
155
|
+
<div class="p-4 bg-BG-Secondary rounded-lg">
|
|
156
|
+
<div class="text-xs text-primary-700 font-semibold mb-1">Availability - Success Message</div>
|
|
157
|
+
<Alert
|
|
158
|
+
type="success"
|
|
159
|
+
title="Availability Updated"
|
|
160
|
+
message="Your availability has been saved and sent to the venue."
|
|
161
|
+
/>
|
|
162
|
+
</div>
|
|
163
|
+
</div>
|
|
164
|
+
</section>
|
|
165
|
+
|
|
166
|
+
<!-- SECTION: Props Summary -->
|
|
167
|
+
<section class="mb-10">
|
|
168
|
+
<h2 class="text-lg font-semibold text-Text-Primary mb-4 pb-2 border-b border-stroke-Primary">
|
|
169
|
+
Props Summary
|
|
170
|
+
</h2>
|
|
171
|
+
|
|
172
|
+
<div class="bg-BG-Secondary rounded-lg p-4 text-sm">
|
|
173
|
+
<table class="w-full text-left">
|
|
174
|
+
<thead>
|
|
175
|
+
<tr class="border-b border-stroke-Primary">
|
|
176
|
+
<th class="py-2 text-Text-Primary">Prop</th>
|
|
177
|
+
<th class="py-2 text-Text-Primary">Type</th>
|
|
178
|
+
<th class="py-2 text-Text-Primary">Default</th>
|
|
179
|
+
<th class="py-2 text-Text-Primary">Description</th>
|
|
180
|
+
</tr>
|
|
181
|
+
</thead>
|
|
182
|
+
<tbody class="text-Text-Tartiary">
|
|
183
|
+
<tr class="border-b border-stroke-Secondary">
|
|
184
|
+
<td class="py-2 font-mono text-xs">type</td>
|
|
185
|
+
<td class="py-2 text-xs">string</td>
|
|
186
|
+
<td class="py-2 text-xs">"info"</td>
|
|
187
|
+
<td class="py-2 text-xs">info, success, warning, danger</td>
|
|
188
|
+
</tr>
|
|
189
|
+
<tr class="border-b border-stroke-Secondary">
|
|
190
|
+
<td class="py-2 font-mono text-xs">title</td>
|
|
191
|
+
<td class="py-2 text-xs">string</td>
|
|
192
|
+
<td class="py-2 text-xs">""</td>
|
|
193
|
+
<td class="py-2 text-xs">Bold heading text</td>
|
|
194
|
+
</tr>
|
|
195
|
+
<tr class="border-b border-stroke-Secondary">
|
|
196
|
+
<td class="py-2 font-mono text-xs">message</td>
|
|
197
|
+
<td class="py-2 text-xs">string</td>
|
|
198
|
+
<td class="py-2 text-xs">""</td>
|
|
199
|
+
<td class="py-2 text-xs">Body text below title</td>
|
|
200
|
+
</tr>
|
|
201
|
+
<tr>
|
|
202
|
+
<td class="py-2 font-mono text-xs">onClose</td>
|
|
203
|
+
<td class="py-2 text-xs">function</td>
|
|
204
|
+
<td class="py-2 text-xs">undefined</td>
|
|
205
|
+
<td class="py-2 text-xs">If provided, shows dismiss button</td>
|
|
206
|
+
</tr>
|
|
207
|
+
</tbody>
|
|
208
|
+
</table>
|
|
209
|
+
</div>
|
|
210
|
+
</section>
|
|
211
|
+
|
|
212
|
+
<!-- SECTION: Consolidation Recommendations -->
|
|
213
|
+
<section class="mb-10">
|
|
214
|
+
<h2 class="text-lg font-semibold text-Text-Primary mb-4 pb-2 border-b border-stroke-Primary">
|
|
215
|
+
Consolidation Recommendations
|
|
216
|
+
</h2>
|
|
217
|
+
|
|
218
|
+
<div class="space-y-4 text-sm text-Text-Tartiary">
|
|
219
|
+
<div class="p-4 bg-green-50 dark:bg-green-900/20 rounded-lg border border-green-200 dark:border-green-800">
|
|
220
|
+
<h3 class="font-semibold text-green-700 dark:text-green-400 mb-2">Keep As-Is</h3>
|
|
221
|
+
<ul class="list-disc list-inside space-y-1">
|
|
222
|
+
<li>Clean, simple API with type, title, message props</li>
|
|
223
|
+
<li>Dark mode support already implemented</li>
|
|
224
|
+
<li>Slot support for custom content</li>
|
|
225
|
+
<li>Uses Flowbite under the hood (consistent styling)</li>
|
|
226
|
+
</ul>
|
|
227
|
+
</div>
|
|
228
|
+
|
|
229
|
+
<div class="p-4 bg-yellow-50 dark:bg-yellow-900/20 rounded-lg border border-yellow-200 dark:border-yellow-800">
|
|
230
|
+
<h3 class="font-semibold text-yellow-700 dark:text-yellow-400 mb-2">Minor Improvements</h3>
|
|
231
|
+
<ul class="list-disc list-inside space-y-1">
|
|
232
|
+
<li>Consider adding icon prop for custom icons</li>
|
|
233
|
+
<li>Add auto-dismiss timeout option</li>
|
|
234
|
+
<li>Consider border style variant (bordered vs filled)</li>
|
|
235
|
+
</ul>
|
|
236
|
+
</div>
|
|
237
|
+
</div>
|
|
238
|
+
</section>
|
|
239
|
+
</div>
|
|
240
|
+
</div>
|
|
241
|
+
</Story>
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export namespace meta {
|
|
2
|
+
export let title: string;
|
|
3
|
+
export { Alert as component };
|
|
4
|
+
}
|
|
5
|
+
/** @typedef {typeof __propDef.props} AlertAuditProps */
|
|
6
|
+
/** @typedef {typeof __propDef.events} AlertAuditEvents */
|
|
7
|
+
/** @typedef {typeof __propDef.slots} AlertAuditSlots */
|
|
8
|
+
export default class AlertAudit extends SvelteComponent<{
|
|
9
|
+
[x: string]: never;
|
|
10
|
+
}, {
|
|
11
|
+
[evt: string]: CustomEvent<any>;
|
|
12
|
+
}, {}> {
|
|
13
|
+
}
|
|
14
|
+
export type AlertAuditProps = typeof __propDef.props;
|
|
15
|
+
export type AlertAuditEvents = typeof __propDef.events;
|
|
16
|
+
export type AlertAuditSlots = typeof __propDef.slots;
|
|
17
|
+
import Alert from "./Alert.svelte";
|
|
18
|
+
import { SvelteComponent } from "svelte";
|
|
19
|
+
declare const __propDef: {
|
|
20
|
+
props: {
|
|
21
|
+
[x: string]: never;
|
|
22
|
+
};
|
|
23
|
+
events: {
|
|
24
|
+
[evt: string]: CustomEvent<any>;
|
|
25
|
+
};
|
|
26
|
+
slots: {};
|
|
27
|
+
exports?: undefined;
|
|
28
|
+
bindings?: undefined;
|
|
29
|
+
};
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=AlertAudit.stories.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AlertAudit.stories.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/Alert/AlertAudit.stories.svelte.js"],"names":[],"mappings":";;;;AAuOA,yDAAyD;AACzD,2DAA2D;AAC3D,yDAAyD;AAEzD;;;;;CACC;8BALa,OAAO,SAAS,CAAC,KAAK;+BACtB,OAAO,SAAS,CAAC,MAAM;8BACvB,OAAO,SAAS,CAAC,KAAK;kBAtOhB,gBAAgB;gCAHJ,QAAQ;AAsOxC;;;;;;;;;;EAAgF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Badge.spec.d.ts","sourceRoot":"","sources":["../../../src/lib/components/Badges/Badge.spec.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { render, screen } from '@testing-library/svelte';
|
|
2
|
+
import userEvent from '@testing-library/user-event';
|
|
3
|
+
import { describe, test, expect, vi } from 'vitest';
|
|
4
|
+
import Badge from './Badge.svelte';
|
|
5
|
+
|
|
6
|
+
function setupTest(args = {}) {
|
|
7
|
+
const user = userEvent.setup();
|
|
8
|
+
const onClick = vi.fn();
|
|
9
|
+
const { component, container } = render(Badge, { props: { ...args } });
|
|
10
|
+
component.$on('click', onClick);
|
|
11
|
+
const badge = container.querySelector('div');
|
|
12
|
+
return {
|
|
13
|
+
user,
|
|
14
|
+
badge,
|
|
15
|
+
onClick,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
describe('Badge Component Tests', () => {
|
|
20
|
+
test('Renders with default props', () => {
|
|
21
|
+
const { badge } = setupTest();
|
|
22
|
+
expect(badge).toBeInTheDocument();
|
|
23
|
+
expect(badge).toHaveClass('badge');
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
test('Renders with different sizes', () => {
|
|
27
|
+
const { badge: smallBadge } = setupTest({ size: 'small' });
|
|
28
|
+
expect(smallBadge).toHaveClass('badge-sm');
|
|
29
|
+
|
|
30
|
+
const { badge: mediumBadge } = setupTest({ size: 'medium' });
|
|
31
|
+
expect(mediumBadge).toHaveClass('badge-md');
|
|
32
|
+
|
|
33
|
+
const { badge: largeBadge } = setupTest({ size: 'large' });
|
|
34
|
+
expect(largeBadge).toHaveClass('badge-lg');
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
test('Handles role variant props for colors', () => {
|
|
38
|
+
const { badge: hostBadge } = setupTest({ variant: 'host' });
|
|
39
|
+
expect(hostBadge).toHaveClass('badge-host');
|
|
40
|
+
|
|
41
|
+
const { badge: headlinerBadge } = setupTest({ variant: 'headliner' });
|
|
42
|
+
expect(headlinerBadge).toHaveClass('badge-headliner');
|
|
43
|
+
|
|
44
|
+
const { badge: featureBadge } = setupTest({ variant: 'feature' });
|
|
45
|
+
expect(featureBadge).toHaveClass('badge-feature');
|
|
46
|
+
|
|
47
|
+
const { badge: specialGuestBadge } = setupTest({ variant: 'special-guest' });
|
|
48
|
+
expect(specialGuestBadge).toHaveClass('badge-special-guest');
|
|
49
|
+
|
|
50
|
+
const { badge: openerBadge } = setupTest({ variant: 'opener' });
|
|
51
|
+
expect(openerBadge).toHaveClass('badge-opener');
|
|
52
|
+
|
|
53
|
+
const { badge: guestBadge } = setupTest({ variant: 'guest' });
|
|
54
|
+
expect(guestBadge).toHaveClass('badge-guest');
|
|
55
|
+
|
|
56
|
+
const { badge: teacherBadge } = setupTest({ variant: 'teacher' });
|
|
57
|
+
expect(teacherBadge).toHaveClass('badge-teacher');
|
|
58
|
+
|
|
59
|
+
const { badge: assistantBadge } = setupTest({ variant: 'assistant' });
|
|
60
|
+
expect(assistantBadge).toHaveClass('badge-assistant');
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
test('Handles status variant props for colors', () => {
|
|
64
|
+
const { badge: successBadge } = setupTest({ variant: 'success' });
|
|
65
|
+
expect(successBadge).toHaveClass('badge-success');
|
|
66
|
+
|
|
67
|
+
const { badge: warningBadge } = setupTest({ variant: 'warning' });
|
|
68
|
+
expect(warningBadge).toHaveClass('badge-warning');
|
|
69
|
+
|
|
70
|
+
const { badge: errorBadge } = setupTest({ variant: 'error' });
|
|
71
|
+
expect(errorBadge).toHaveClass('badge-error');
|
|
72
|
+
|
|
73
|
+
const { badge: infoBadge } = setupTest({ variant: 'info' });
|
|
74
|
+
expect(infoBadge).toHaveClass('badge-info');
|
|
75
|
+
|
|
76
|
+
const { badge: neutralBadge } = setupTest({ variant: 'neutral' });
|
|
77
|
+
expect(neutralBadge).toHaveClass('badge-neutral');
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
test('Falls back to neutral variant for unknown variants', () => {
|
|
81
|
+
const { badge } = setupTest({ variant: 'unknown' });
|
|
82
|
+
expect(badge).toHaveClass('badge-neutral');
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
test('Handles case-insensitive variants', () => {
|
|
86
|
+
const { badge: upperBadge } = setupTest({ variant: 'HOST' });
|
|
87
|
+
expect(upperBadge).toHaveClass('badge-host');
|
|
88
|
+
|
|
89
|
+
const { badge: mixedBadge } = setupTest({ variant: 'Headliner' });
|
|
90
|
+
expect(mixedBadge).toHaveClass('badge-headliner');
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
test('Falls back to medium size for unknown sizes', () => {
|
|
94
|
+
const { badge } = setupTest({ size: 'unknown' });
|
|
95
|
+
expect(badge).toHaveClass('badge-md');
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
test('Dispatches click event', async () => {
|
|
99
|
+
const { user, badge, onClick } = setupTest();
|
|
100
|
+
await user.click(badge);
|
|
101
|
+
expect(onClick).toHaveBeenCalledOnce();
|
|
102
|
+
});
|
|
103
|
+
});
|