@getmicdrop/svelte-components 1.0.2 → 1.0.4
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/README.md +98 -98
- 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/config.js +5 -5
- package/dist/config.spec.js +29 -29
- package/dist/constants/formOptions.js +25 -25
- package/dist/constants/formOptions.spec.js +88 -88
- package/dist/index.d.ts +80 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +111 -0
- package/dist/telemetry.js +357 -357
- package/dist/telemetry.server.js +211 -211
- package/dist/telemetry.server.spec.js +434 -434
- package/dist/telemetry.spec.js +660 -660
- package/package.json +159 -152
|
@@ -0,0 +1,364 @@
|
|
|
1
|
+
<script context="module">
|
|
2
|
+
import Select from "./Select.svelte";
|
|
3
|
+
import MultiSelect from "./MultiSelect.svelte";
|
|
4
|
+
import { GENDER_OPTIONS, ETHNICITY_OPTIONS } from "../../constants/formOptions";
|
|
5
|
+
|
|
6
|
+
export const meta = {
|
|
7
|
+
title: "Audit/Select & Dropdown Variants",
|
|
8
|
+
component: Select,
|
|
9
|
+
};
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<script>
|
|
13
|
+
import { Story } from "@storybook/addon-svelte-csf";
|
|
14
|
+
|
|
15
|
+
let singleValue = "";
|
|
16
|
+
let multiValue = [];
|
|
17
|
+
let genderValue = "";
|
|
18
|
+
let ethnicityValue = [];
|
|
19
|
+
|
|
20
|
+
const countryItems = [
|
|
21
|
+
{ value: "us", name: "United States" },
|
|
22
|
+
{ value: "ca", name: "Canada" },
|
|
23
|
+
{ value: "uk", name: "United Kingdom" },
|
|
24
|
+
{ value: "au", name: "Australia" },
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const roleItems = [
|
|
28
|
+
{ value: "host", name: "Host" },
|
|
29
|
+
{ value: "headliner", name: "Headliner" },
|
|
30
|
+
{ value: "feature", name: "Feature" },
|
|
31
|
+
{ value: "opener", name: "Opener" },
|
|
32
|
+
];
|
|
33
|
+
|
|
34
|
+
const genreItems = [
|
|
35
|
+
{ value: "standup", name: "Stand-up Comedy" },
|
|
36
|
+
{ value: "improv", name: "Improv" },
|
|
37
|
+
{ value: "sketch", name: "Sketch Comedy" },
|
|
38
|
+
{ value: "musical", name: "Musical Comedy" },
|
|
39
|
+
];
|
|
40
|
+
</script>
|
|
41
|
+
|
|
42
|
+
<Story name="All Select Variants">
|
|
43
|
+
<div class="performer-portal p-6 space-y-8 bg-BG-Primary min-h-screen">
|
|
44
|
+
<div class="max-w-2xl mx-auto">
|
|
45
|
+
<h1 class="text-2xl font-bold text-Text-Primary mb-2">Select & Dropdown Component Audit</h1>
|
|
46
|
+
<p class="text-Text-Tartiary mb-8">All dropdown/select variants across the performers portal</p>
|
|
47
|
+
|
|
48
|
+
<!-- SECTION: Base Select -->
|
|
49
|
+
<section class="mb-10">
|
|
50
|
+
<h2 class="text-lg font-semibold text-Text-Primary mb-4 pb-2 border-b border-stroke-Primary">
|
|
51
|
+
Select Component (Single Selection)
|
|
52
|
+
</h2>
|
|
53
|
+
|
|
54
|
+
<div class="space-y-4">
|
|
55
|
+
<div class="p-4 bg-BG-Secondary rounded-lg">
|
|
56
|
+
<div class="text-xs text-Text-Tartiary mb-2 font-mono">
|
|
57
|
+
Basic Select with label
|
|
58
|
+
</div>
|
|
59
|
+
<Select
|
|
60
|
+
bind:value={singleValue}
|
|
61
|
+
items={countryItems}
|
|
62
|
+
label="Country"
|
|
63
|
+
placeholder="Select a country"
|
|
64
|
+
/>
|
|
65
|
+
</div>
|
|
66
|
+
|
|
67
|
+
<div class="p-4 bg-BG-Secondary rounded-lg">
|
|
68
|
+
<div class="text-xs text-Text-Tartiary mb-2 font-mono">
|
|
69
|
+
Required Select
|
|
70
|
+
</div>
|
|
71
|
+
<Select
|
|
72
|
+
bind:value={singleValue}
|
|
73
|
+
items={roleItems}
|
|
74
|
+
label="Role"
|
|
75
|
+
placeholder="Select your role"
|
|
76
|
+
required
|
|
77
|
+
/>
|
|
78
|
+
</div>
|
|
79
|
+
|
|
80
|
+
<div class="p-4 bg-BG-Secondary rounded-lg">
|
|
81
|
+
<div class="text-xs text-Text-Tartiary mb-2 font-mono">
|
|
82
|
+
Select with error
|
|
83
|
+
</div>
|
|
84
|
+
<Select
|
|
85
|
+
bind:value={singleValue}
|
|
86
|
+
items={countryItems}
|
|
87
|
+
label="Country"
|
|
88
|
+
placeholder="Select a country"
|
|
89
|
+
error="Please select a country"
|
|
90
|
+
/>
|
|
91
|
+
</div>
|
|
92
|
+
|
|
93
|
+
<div class="p-4 bg-BG-Secondary rounded-lg">
|
|
94
|
+
<div class="text-xs text-Text-Tartiary mb-2 font-mono">
|
|
95
|
+
Disabled Select
|
|
96
|
+
</div>
|
|
97
|
+
<Select
|
|
98
|
+
value="us"
|
|
99
|
+
items={countryItems}
|
|
100
|
+
label="Country"
|
|
101
|
+
disabled
|
|
102
|
+
/>
|
|
103
|
+
</div>
|
|
104
|
+
</div>
|
|
105
|
+
</section>
|
|
106
|
+
|
|
107
|
+
<!-- SECTION: MultiSelect -->
|
|
108
|
+
<section class="mb-10">
|
|
109
|
+
<h2 class="text-lg font-semibold text-Text-Primary mb-4 pb-2 border-b border-stroke-Primary">
|
|
110
|
+
MultiSelect Component (Multiple Selection)
|
|
111
|
+
</h2>
|
|
112
|
+
|
|
113
|
+
<div class="space-y-4">
|
|
114
|
+
<div class="p-4 bg-BG-Secondary rounded-lg">
|
|
115
|
+
<div class="text-xs text-Text-Tartiary mb-2 font-mono">
|
|
116
|
+
Basic MultiSelect
|
|
117
|
+
</div>
|
|
118
|
+
<MultiSelect
|
|
119
|
+
bind:value={multiValue}
|
|
120
|
+
items={genreItems}
|
|
121
|
+
label="Genres"
|
|
122
|
+
placeholder="Select genres"
|
|
123
|
+
/>
|
|
124
|
+
</div>
|
|
125
|
+
|
|
126
|
+
<div class="p-4 bg-BG-Secondary rounded-lg">
|
|
127
|
+
<div class="text-xs text-Text-Tartiary mb-2 font-mono">
|
|
128
|
+
MultiSelect with hideClear=true
|
|
129
|
+
</div>
|
|
130
|
+
<MultiSelect
|
|
131
|
+
bind:value={multiValue}
|
|
132
|
+
items={genreItems}
|
|
133
|
+
label="Genres (No Clear Button)"
|
|
134
|
+
placeholder="Select genres"
|
|
135
|
+
hideClear
|
|
136
|
+
/>
|
|
137
|
+
</div>
|
|
138
|
+
|
|
139
|
+
<div class="p-4 bg-BG-Secondary rounded-lg">
|
|
140
|
+
<div class="text-xs text-Text-Tartiary mb-2 font-mono">
|
|
141
|
+
Required MultiSelect with error
|
|
142
|
+
</div>
|
|
143
|
+
<MultiSelect
|
|
144
|
+
bind:value={multiValue}
|
|
145
|
+
items={genreItems}
|
|
146
|
+
label="Genres"
|
|
147
|
+
placeholder="Select at least one"
|
|
148
|
+
required
|
|
149
|
+
error="Please select at least one genre"
|
|
150
|
+
/>
|
|
151
|
+
</div>
|
|
152
|
+
</div>
|
|
153
|
+
</section>
|
|
154
|
+
|
|
155
|
+
<!-- SECTION: Using Constants for Options -->
|
|
156
|
+
<section class="mb-10">
|
|
157
|
+
<h2 class="text-lg font-semibold text-Text-Primary mb-4 pb-2 border-b border-stroke-Primary">
|
|
158
|
+
Using Shared Constants for Options
|
|
159
|
+
</h2>
|
|
160
|
+
<p class="text-sm text-Text-Tartiary mb-4">
|
|
161
|
+
Instead of wrapper components, use Select/MultiSelect with constants from <code>$lib/constants/formOptions</code>.
|
|
162
|
+
</p>
|
|
163
|
+
|
|
164
|
+
<div class="space-y-4">
|
|
165
|
+
<div class="p-4 bg-BG-Secondary rounded-lg">
|
|
166
|
+
<div class="text-xs text-Text-Tartiary mb-2 font-mono">
|
|
167
|
+
Select with GENDER_OPTIONS constant
|
|
168
|
+
</div>
|
|
169
|
+
<Select
|
|
170
|
+
bind:value={genderValue}
|
|
171
|
+
items={GENDER_OPTIONS}
|
|
172
|
+
label="Gender"
|
|
173
|
+
placeholder="Select gender"
|
|
174
|
+
/>
|
|
175
|
+
<div class="mt-2 text-xs text-Text-Tartiary">
|
|
176
|
+
<strong>Options:</strong> Male (1), Female (2), Non-Binary (3)
|
|
177
|
+
</div>
|
|
178
|
+
</div>
|
|
179
|
+
|
|
180
|
+
<div class="p-4 bg-BG-Secondary rounded-lg">
|
|
181
|
+
<div class="text-xs text-Text-Tartiary mb-2 font-mono">
|
|
182
|
+
MultiSelect with ETHNICITY_OPTIONS constant
|
|
183
|
+
</div>
|
|
184
|
+
<MultiSelect
|
|
185
|
+
bind:value={ethnicityValue}
|
|
186
|
+
items={ETHNICITY_OPTIONS}
|
|
187
|
+
label="Ethnicity"
|
|
188
|
+
placeholder="Select ethnicity"
|
|
189
|
+
hideClear
|
|
190
|
+
/>
|
|
191
|
+
<div class="mt-2 text-xs text-Text-Tartiary">
|
|
192
|
+
<strong>Options:</strong> American Indian, Asian, Black, Hispanic, Middle Eastern, Native Hawaiian, White
|
|
193
|
+
</div>
|
|
194
|
+
</div>
|
|
195
|
+
</div>
|
|
196
|
+
</section>
|
|
197
|
+
|
|
198
|
+
<!-- SECTION: Real Usage Examples -->
|
|
199
|
+
<section class="mb-10">
|
|
200
|
+
<h2 class="text-lg font-semibold text-Text-Primary mb-4 pb-2 border-b border-stroke-Primary">
|
|
201
|
+
Real Usage Examples
|
|
202
|
+
</h2>
|
|
203
|
+
|
|
204
|
+
<div class="space-y-4">
|
|
205
|
+
<div class="p-4 bg-BG-Secondary rounded-lg">
|
|
206
|
+
<div class="text-xs text-primary-700 font-semibold mb-1">profile-form.svelte - Gender field</div>
|
|
207
|
+
<div class="text-xs text-Text-Tartiary mb-2 font-mono">
|
|
208
|
+
<Select items={GENDER_OPTIONS} bind:value={formData.gender} />
|
|
209
|
+
</div>
|
|
210
|
+
<Select
|
|
211
|
+
value=""
|
|
212
|
+
items={GENDER_OPTIONS}
|
|
213
|
+
label="Gender"
|
|
214
|
+
placeholder="Select gender"
|
|
215
|
+
/>
|
|
216
|
+
</div>
|
|
217
|
+
|
|
218
|
+
<div class="p-4 bg-BG-Secondary rounded-lg">
|
|
219
|
+
<div class="text-xs text-primary-700 font-semibold mb-1">profile-form.svelte - Ethnicity field</div>
|
|
220
|
+
<div class="text-xs text-Text-Tartiary mb-2 font-mono">
|
|
221
|
+
<MultiSelect items={ETHNICITY_OPTIONS} bind:value={formData.ethnicity} hideClear />
|
|
222
|
+
</div>
|
|
223
|
+
<MultiSelect
|
|
224
|
+
value={[]}
|
|
225
|
+
items={ETHNICITY_OPTIONS}
|
|
226
|
+
label="Ethnicity"
|
|
227
|
+
placeholder="Select ethnicity"
|
|
228
|
+
hideClear
|
|
229
|
+
/>
|
|
230
|
+
</div>
|
|
231
|
+
</div>
|
|
232
|
+
</section>
|
|
233
|
+
|
|
234
|
+
<!-- SECTION: Props Summary -->
|
|
235
|
+
<section class="mb-10">
|
|
236
|
+
<h2 class="text-lg font-semibold text-Text-Primary mb-4 pb-2 border-b border-stroke-Primary">
|
|
237
|
+
Props Summary
|
|
238
|
+
</h2>
|
|
239
|
+
|
|
240
|
+
<div class="bg-BG-Secondary rounded-lg p-4 text-sm mb-4">
|
|
241
|
+
<h3 class="font-semibold text-Text-Primary mb-2">Select</h3>
|
|
242
|
+
<table class="w-full text-left">
|
|
243
|
+
<thead>
|
|
244
|
+
<tr class="border-b border-stroke-Primary">
|
|
245
|
+
<th class="py-2 text-Text-Primary">Prop</th>
|
|
246
|
+
<th class="py-2 text-Text-Primary">Type</th>
|
|
247
|
+
<th class="py-2 text-Text-Primary">Description</th>
|
|
248
|
+
</tr>
|
|
249
|
+
</thead>
|
|
250
|
+
<tbody class="text-Text-Tartiary">
|
|
251
|
+
<tr class="border-b border-stroke-Secondary">
|
|
252
|
+
<td class="py-2 font-mono text-xs">value</td>
|
|
253
|
+
<td class="py-2 text-xs">any</td>
|
|
254
|
+
<td class="py-2 text-xs">Selected value (bindable)</td>
|
|
255
|
+
</tr>
|
|
256
|
+
<tr class="border-b border-stroke-Secondary">
|
|
257
|
+
<td class="py-2 font-mono text-xs">items</td>
|
|
258
|
+
<td class="py-2 text-xs">array</td>
|
|
259
|
+
<td class="py-2 text-xs">Options: {value, name}</td>
|
|
260
|
+
</tr>
|
|
261
|
+
<tr class="border-b border-stroke-Secondary">
|
|
262
|
+
<td class="py-2 font-mono text-xs">label</td>
|
|
263
|
+
<td class="py-2 text-xs">string</td>
|
|
264
|
+
<td class="py-2 text-xs">Label text above select</td>
|
|
265
|
+
</tr>
|
|
266
|
+
<tr class="border-b border-stroke-Secondary">
|
|
267
|
+
<td class="py-2 font-mono text-xs">placeholder</td>
|
|
268
|
+
<td class="py-2 text-xs">string</td>
|
|
269
|
+
<td class="py-2 text-xs">Placeholder text</td>
|
|
270
|
+
</tr>
|
|
271
|
+
<tr class="border-b border-stroke-Secondary">
|
|
272
|
+
<td class="py-2 font-mono text-xs">required</td>
|
|
273
|
+
<td class="py-2 text-xs">boolean</td>
|
|
274
|
+
<td class="py-2 text-xs">Shows * indicator</td>
|
|
275
|
+
</tr>
|
|
276
|
+
<tr class="border-b border-stroke-Secondary">
|
|
277
|
+
<td class="py-2 font-mono text-xs">disabled</td>
|
|
278
|
+
<td class="py-2 text-xs">boolean</td>
|
|
279
|
+
<td class="py-2 text-xs">Disables interaction</td>
|
|
280
|
+
</tr>
|
|
281
|
+
<tr>
|
|
282
|
+
<td class="py-2 font-mono text-xs">error</td>
|
|
283
|
+
<td class="py-2 text-xs">string</td>
|
|
284
|
+
<td class="py-2 text-xs">Error message</td>
|
|
285
|
+
</tr>
|
|
286
|
+
</tbody>
|
|
287
|
+
</table>
|
|
288
|
+
</div>
|
|
289
|
+
|
|
290
|
+
<div class="bg-BG-Secondary rounded-lg p-4 text-sm">
|
|
291
|
+
<h3 class="font-semibold text-Text-Primary mb-2">MultiSelect (same as Select, plus:)</h3>
|
|
292
|
+
<table class="w-full text-left">
|
|
293
|
+
<thead>
|
|
294
|
+
<tr class="border-b border-stroke-Primary">
|
|
295
|
+
<th class="py-2 text-Text-Primary">Prop</th>
|
|
296
|
+
<th class="py-2 text-Text-Primary">Type</th>
|
|
297
|
+
<th class="py-2 text-Text-Primary">Description</th>
|
|
298
|
+
</tr>
|
|
299
|
+
</thead>
|
|
300
|
+
<tbody class="text-Text-Tartiary">
|
|
301
|
+
<tr>
|
|
302
|
+
<td class="py-2 font-mono text-xs">hideClear</td>
|
|
303
|
+
<td class="py-2 text-xs">boolean</td>
|
|
304
|
+
<td class="py-2 text-xs">Hides the clear/X button</td>
|
|
305
|
+
</tr>
|
|
306
|
+
</tbody>
|
|
307
|
+
</table>
|
|
308
|
+
</div>
|
|
309
|
+
</section>
|
|
310
|
+
|
|
311
|
+
<!-- SECTION: Consolidation Status -->
|
|
312
|
+
<section class="mb-10">
|
|
313
|
+
<h2 class="text-lg font-semibold text-Text-Primary mb-4 pb-2 border-b border-stroke-Primary">
|
|
314
|
+
Consolidation Status
|
|
315
|
+
</h2>
|
|
316
|
+
|
|
317
|
+
<div class="space-y-4 text-sm text-Text-Tartiary">
|
|
318
|
+
<div class="p-4 bg-green-50 dark:bg-green-900/20 rounded-lg border border-green-200 dark:border-green-800">
|
|
319
|
+
<h3 class="font-semibold text-green-700 dark:text-green-400 mb-2">Completed</h3>
|
|
320
|
+
<ul class="list-disc list-inside space-y-1">
|
|
321
|
+
<li><strong>Removed GenderInput</strong> - was just wrapping Select with hardcoded items</li>
|
|
322
|
+
<li><strong>Removed EthnicityDropdown</strong> - was just wrapping MultiSelect with hardcoded items</li>
|
|
323
|
+
<li><strong>Created constants file</strong> - GENDER_OPTIONS and ETHNICITY_OPTIONS in <code>$lib/constants/formOptions.js</code></li>
|
|
324
|
+
<li><strong>Updated profile-form.svelte</strong> - now uses Select/MultiSelect directly with constants</li>
|
|
325
|
+
</ul>
|
|
326
|
+
</div>
|
|
327
|
+
|
|
328
|
+
<div class="p-4 bg-green-50 dark:bg-green-900/20 rounded-lg border border-green-200 dark:border-green-800">
|
|
329
|
+
<h3 class="font-semibold text-green-700 dark:text-green-400 mb-2">Current State</h3>
|
|
330
|
+
<ul class="list-disc list-inside space-y-1">
|
|
331
|
+
<li>Select and MultiSelect are the only dropdown components needed</li>
|
|
332
|
+
<li>Pass items as props - no need for wrapper components</li>
|
|
333
|
+
<li>Consistent API across both components</li>
|
|
334
|
+
<li>Error handling and label display work well</li>
|
|
335
|
+
</ul>
|
|
336
|
+
</div>
|
|
337
|
+
|
|
338
|
+
<div class="p-4 bg-blue-50 dark:bg-blue-900/20 rounded-lg border border-blue-200 dark:border-blue-800">
|
|
339
|
+
<h3 class="font-semibold text-blue-700 dark:text-blue-400 mb-2">Usage Pattern</h3>
|
|
340
|
+
<pre class="bg-gray-100 dark:bg-gray-800 p-2 rounded text-xs overflow-x-auto">
|
|
341
|
+
{`import { GENDER_OPTIONS, ETHNICITY_OPTIONS } from "../../constants/formOptions";
|
|
342
|
+
|
|
343
|
+
// Gender dropdown
|
|
344
|
+
<Select
|
|
345
|
+
items={GENDER_OPTIONS}
|
|
346
|
+
bind:value={formData.gender}
|
|
347
|
+
label="Gender"
|
|
348
|
+
placeholder="Select gender"
|
|
349
|
+
/>
|
|
350
|
+
|
|
351
|
+
// Ethnicity multi-select
|
|
352
|
+
<MultiSelect
|
|
353
|
+
items={ETHNICITY_OPTIONS}
|
|
354
|
+
bind:value={formData.ethnicity}
|
|
355
|
+
label="Ethnicity"
|
|
356
|
+
hideClear
|
|
357
|
+
/>`}
|
|
358
|
+
</pre>
|
|
359
|
+
</div>
|
|
360
|
+
</div>
|
|
361
|
+
</section>
|
|
362
|
+
</div>
|
|
363
|
+
</div>
|
|
364
|
+
</Story>
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export namespace meta {
|
|
2
|
+
export let title: string;
|
|
3
|
+
export { Select as component };
|
|
4
|
+
}
|
|
5
|
+
/** @typedef {typeof __propDef.props} SelectAuditProps */
|
|
6
|
+
/** @typedef {typeof __propDef.events} SelectAuditEvents */
|
|
7
|
+
/** @typedef {typeof __propDef.slots} SelectAuditSlots */
|
|
8
|
+
export default class SelectAudit extends SvelteComponent<{
|
|
9
|
+
[x: string]: never;
|
|
10
|
+
}, {
|
|
11
|
+
[evt: string]: CustomEvent<any>;
|
|
12
|
+
}, {}> {
|
|
13
|
+
}
|
|
14
|
+
export type SelectAuditProps = typeof __propDef.props;
|
|
15
|
+
export type SelectAuditEvents = typeof __propDef.events;
|
|
16
|
+
export type SelectAuditSlots = typeof __propDef.slots;
|
|
17
|
+
import Select from "./Select.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=SelectAudit.stories.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectAudit.stories.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/Input/SelectAudit.stories.svelte.js"],"names":[],"mappings":";;;;AAwTA,0DAA0D;AAC1D,4DAA4D;AAC5D,0DAA0D;AAE1D;;;;;CACC;+BALa,OAAO,SAAS,CAAC,KAAK;gCACtB,OAAO,SAAS,CAAC,MAAM;+BACvB,OAAO,SAAS,CAAC,KAAK;mBAvTf,iBAAiB;gCAHN,QAAQ;AAuTxC;;;;;;;;;;EAAgF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BottomNav.spec.d.ts","sourceRoot":"","sources":["../../../src/lib/components/Layout/BottomNav.spec.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
|
2
|
+
import { render, screen } from '@testing-library/svelte';
|
|
3
|
+
import BottomNav from './BottomNav.svelte';
|
|
4
|
+
|
|
5
|
+
// Mock fetch for API calls
|
|
6
|
+
global.fetch = vi.fn(() =>
|
|
7
|
+
Promise.resolve({
|
|
8
|
+
ok: true,
|
|
9
|
+
json: () => Promise.resolve([]),
|
|
10
|
+
})
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
// Mock SvelteKit modules
|
|
14
|
+
vi.mock('$app/stores', () => ({
|
|
15
|
+
page: {
|
|
16
|
+
subscribe: (fn) => {
|
|
17
|
+
fn({ url: { pathname: '/shows' } });
|
|
18
|
+
return () => {};
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}));
|
|
22
|
+
|
|
23
|
+
vi.mock('$app/paths', () => ({
|
|
24
|
+
base: '/performers'
|
|
25
|
+
}));
|
|
26
|
+
|
|
27
|
+
describe('BottomNav', () => {
|
|
28
|
+
const defaultLinks = [
|
|
29
|
+
{ label: 'Home', href: '/', icon: 'home' },
|
|
30
|
+
{ label: 'Shows', href: '/shows', icon: 'shows' },
|
|
31
|
+
{ label: 'Availability', href: '/availability', icon: 'availability' },
|
|
32
|
+
{ label: 'Profile', href: '/profile', icon: 'profile' }
|
|
33
|
+
];
|
|
34
|
+
|
|
35
|
+
beforeEach(() => {
|
|
36
|
+
vi.clearAllMocks();
|
|
37
|
+
global.fetch.mockImplementation(() =>
|
|
38
|
+
Promise.resolve({
|
|
39
|
+
ok: true,
|
|
40
|
+
json: () => Promise.resolve([]),
|
|
41
|
+
})
|
|
42
|
+
);
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
describe('basic rendering', () => {
|
|
46
|
+
it('renders all navigation links', () => {
|
|
47
|
+
const { container } = render(BottomNav, { links: defaultLinks });
|
|
48
|
+
const navItems = container.querySelectorAll('.bottom-nav-item');
|
|
49
|
+
expect(navItems.length).toBe(4);
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
it('renders link labels as aria-label', () => {
|
|
53
|
+
const { container } = render(BottomNav, { links: defaultLinks });
|
|
54
|
+
const homeLink = container.querySelector('[aria-label="Home"]');
|
|
55
|
+
expect(homeLink).toBeTruthy();
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
it('renders icons for each link', () => {
|
|
59
|
+
const { container } = render(BottomNav, { links: defaultLinks });
|
|
60
|
+
const icons = container.querySelectorAll('.bottom-nav-icon');
|
|
61
|
+
expect(icons.length).toBe(4);
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
describe('active state', () => {
|
|
66
|
+
it('marks current path as active', () => {
|
|
67
|
+
const { container } = render(BottomNav, { links: defaultLinks });
|
|
68
|
+
const showsLink = container.querySelector('a[href="/shows"]');
|
|
69
|
+
expect(showsLink.classList.contains('active')).toBe(true);
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
it('non-current paths are not active', () => {
|
|
73
|
+
const { container } = render(BottomNav, { links: defaultLinks });
|
|
74
|
+
const homeLink = container.querySelector('a[href="/"]');
|
|
75
|
+
expect(homeLink.classList.contains('active')).toBe(false);
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
describe('notification dot', () => {
|
|
80
|
+
it('shows notification dot when there are invitations', async () => {
|
|
81
|
+
global.fetch.mockImplementationOnce(() =>
|
|
82
|
+
Promise.resolve({
|
|
83
|
+
ok: true,
|
|
84
|
+
json: () => Promise.resolve([{ acceptedState: 0 }]),
|
|
85
|
+
})
|
|
86
|
+
);
|
|
87
|
+
|
|
88
|
+
const { container } = render(BottomNav, { links: defaultLinks });
|
|
89
|
+
|
|
90
|
+
// Wait for the fetch to complete
|
|
91
|
+
await vi.waitFor(() => {
|
|
92
|
+
const dot = container.querySelector('.notification-dot');
|
|
93
|
+
return dot !== null;
|
|
94
|
+
}, { timeout: 1000 }).catch(() => null);
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
it('does not show notification dot when no invitations', () => {
|
|
98
|
+
const { container } = render(BottomNav, { links: defaultLinks });
|
|
99
|
+
const dot = container.querySelector('.notification-dot');
|
|
100
|
+
expect(dot).toBeFalsy();
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
describe('empty links', () => {
|
|
105
|
+
it('renders nothing when links array is empty', () => {
|
|
106
|
+
const { container } = render(BottomNav, { links: [] });
|
|
107
|
+
const navItems = container.querySelectorAll('.bottom-nav-item');
|
|
108
|
+
expect(navItems.length).toBe(0);
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
describe('API error handling', () => {
|
|
113
|
+
it('handles fetch error gracefully', async () => {
|
|
114
|
+
const consoleSpy = vi.spyOn(console, 'error').mockImplementation(() => {});
|
|
115
|
+
global.fetch.mockImplementationOnce(() =>
|
|
116
|
+
Promise.resolve({
|
|
117
|
+
ok: false,
|
|
118
|
+
})
|
|
119
|
+
);
|
|
120
|
+
|
|
121
|
+
const { container } = render(BottomNav, { links: defaultLinks });
|
|
122
|
+
|
|
123
|
+
// Component should still render despite fetch error
|
|
124
|
+
const navItems = container.querySelectorAll('.bottom-nav-item');
|
|
125
|
+
expect(navItems.length).toBe(4);
|
|
126
|
+
|
|
127
|
+
consoleSpy.mockRestore();
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
});
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
<script context="module">
|
|
2
|
+
import BottomNav from './BottomNav.svelte';
|
|
3
|
+
|
|
4
|
+
export const meta = {
|
|
5
|
+
title: 'Components/Layout/BottomNav',
|
|
6
|
+
component: BottomNav,
|
|
7
|
+
tags: ['autodocs'],
|
|
8
|
+
};
|
|
9
|
+
</script>
|
|
10
|
+
|
|
11
|
+
<script>
|
|
12
|
+
import { Story } from '@storybook/addon-svelte-csf';
|
|
13
|
+
|
|
14
|
+
const defaultLinks = [
|
|
15
|
+
{ label: 'Home', href: '/', icon: 'Home' },
|
|
16
|
+
{ label: 'Shows', href: '/shows', icon: 'Shows' },
|
|
17
|
+
{ label: 'Availability', href: '/availability', icon: 'Availability' },
|
|
18
|
+
{ label: 'Profile', href: '/profile', icon: 'Profile' },
|
|
19
|
+
];
|
|
20
|
+
|
|
21
|
+
const extendedLinks = [
|
|
22
|
+
{ label: 'Home', href: '/', icon: 'Home' },
|
|
23
|
+
{ label: 'Shows', href: '/shows', icon: 'Shows' },
|
|
24
|
+
{ label: 'Availability', href: '/availability', icon: 'Availability' },
|
|
25
|
+
{ label: 'Messages', href: '/messages', icon: 'Message' },
|
|
26
|
+
{ label: 'Profile', href: '/profile', icon: 'Profile' },
|
|
27
|
+
];
|
|
28
|
+
</script>
|
|
29
|
+
|
|
30
|
+
<Story name="Default (4 Tabs)">
|
|
31
|
+
<div class="bg-gray-100 p-4">
|
|
32
|
+
<p class="text-sm text-gray-600 mb-4">Mobile Bottom Navigation (4 tabs)</p>
|
|
33
|
+
<div class="max-w-md mx-auto bg-white rounded-lg shadow-lg overflow-hidden">
|
|
34
|
+
<div class="h-64 bg-gradient-to-br from-blue-50 to-blue-100 flex items-center justify-center">
|
|
35
|
+
<p class="text-gray-500">Page Content Area</p>
|
|
36
|
+
</div>
|
|
37
|
+
<div class="flex border-t bg-white">
|
|
38
|
+
<BottomNav links={defaultLinks} />
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
</Story>
|
|
43
|
+
|
|
44
|
+
<Story name="With 5 Tabs">
|
|
45
|
+
<div class="bg-gray-100 p-4">
|
|
46
|
+
<p class="text-sm text-gray-600 mb-4">Extended Navigation (5 tabs)</p>
|
|
47
|
+
<div class="max-w-md mx-auto bg-white rounded-lg shadow-lg overflow-hidden">
|
|
48
|
+
<div class="h-64 bg-gradient-to-br from-purple-50 to-purple-100 flex items-center justify-center">
|
|
49
|
+
<p class="text-gray-500">Page Content Area</p>
|
|
50
|
+
</div>
|
|
51
|
+
<div class="flex border-t bg-white">
|
|
52
|
+
<BottomNav links={extendedLinks} />
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
</div>
|
|
56
|
+
</Story>
|
|
57
|
+
|
|
58
|
+
<Story name="Different Icon Set">
|
|
59
|
+
<div class="bg-gray-100 p-4">
|
|
60
|
+
<p class="text-sm text-gray-600 mb-4">Custom Icons</p>
|
|
61
|
+
<div class="max-w-md mx-auto bg-white rounded-lg shadow-lg overflow-hidden">
|
|
62
|
+
<div class="h-64 bg-gradient-to-br from-green-50 to-green-100 flex items-center justify-center">
|
|
63
|
+
<p class="text-gray-500">Page Content Area</p>
|
|
64
|
+
</div>
|
|
65
|
+
<div class="flex border-t bg-white">
|
|
66
|
+
<BottomNav
|
|
67
|
+
links={[
|
|
68
|
+
{ label: 'Dashboard', href: '/', icon: 'Home' },
|
|
69
|
+
{ label: 'Events', href: '/events', icon: 'Shows' },
|
|
70
|
+
{ label: 'Notifications', href: '/notifications', icon: 'Notification' },
|
|
71
|
+
{ label: 'Settings', href: '/settings', icon: 'Profile' },
|
|
72
|
+
]}
|
|
73
|
+
/>
|
|
74
|
+
</div>
|
|
75
|
+
</div>
|
|
76
|
+
</div>
|
|
77
|
+
</Story>
|
|
78
|
+
|
|
79
|
+
<Story name="Mobile Viewport">
|
|
80
|
+
<div class="max-w-[375px] mx-auto bg-white shadow-2xl rounded-3xl overflow-hidden">
|
|
81
|
+
<!-- Mock iPhone screen -->
|
|
82
|
+
<div class="h-[667px] flex flex-col">
|
|
83
|
+
<!-- Status bar -->
|
|
84
|
+
<div class="h-6 bg-black flex items-center justify-between px-4">
|
|
85
|
+
<span class="text-white text-xs">9:41</span>
|
|
86
|
+
<span class="text-white text-xs">100%</span>
|
|
87
|
+
</div>
|
|
88
|
+
|
|
89
|
+
<!-- Content area -->
|
|
90
|
+
<div class="flex-1 bg-gradient-to-br from-blue-50 to-purple-50 p-4">
|
|
91
|
+
<h1 class="text-2xl font-bold mb-2">Home</h1>
|
|
92
|
+
<p class="text-gray-600">This is a mobile viewport simulation</p>
|
|
93
|
+
</div>
|
|
94
|
+
|
|
95
|
+
<!-- Bottom navigation -->
|
|
96
|
+
<div class="flex border-t bg-white safe-bottom">
|
|
97
|
+
<BottomNav links={defaultLinks} />
|
|
98
|
+
</div>
|
|
99
|
+
</div>
|
|
100
|
+
</div>
|
|
101
|
+
</Story>
|
|
102
|
+
|
|
103
|
+
<Story name="Dark Mode">
|
|
104
|
+
<div class="dark bg-gray-900 p-4 min-h-screen">
|
|
105
|
+
<p class="text-sm text-gray-400 mb-4">Dark Mode Bottom Navigation</p>
|
|
106
|
+
<div class="max-w-md mx-auto bg-gray-800 rounded-lg shadow-2xl overflow-hidden">
|
|
107
|
+
<div class="h-64 bg-gradient-to-br from-gray-900 to-gray-800 flex items-center justify-center">
|
|
108
|
+
<p class="text-gray-400">Dark Mode Content</p>
|
|
109
|
+
</div>
|
|
110
|
+
<div class="flex border-t border-gray-700 bg-gray-800">
|
|
111
|
+
<BottomNav links={defaultLinks} />
|
|
112
|
+
</div>
|
|
113
|
+
</div>
|
|
114
|
+
</div>
|
|
115
|
+
</Story>
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export namespace meta {
|
|
2
|
+
export let title: string;
|
|
3
|
+
export { BottomNav as component };
|
|
4
|
+
export let tags: string[];
|
|
5
|
+
}
|
|
6
|
+
/** @typedef {typeof __propDef.props} BottomNavProps */
|
|
7
|
+
/** @typedef {typeof __propDef.events} BottomNavEvents */
|
|
8
|
+
/** @typedef {typeof __propDef.slots} BottomNavSlots */
|
|
9
|
+
export default class BottomNav extends SvelteComponent<{
|
|
10
|
+
[x: string]: never;
|
|
11
|
+
}, {
|
|
12
|
+
[evt: string]: CustomEvent<any>;
|
|
13
|
+
}, {}> {
|
|
14
|
+
}
|
|
15
|
+
export type BottomNavProps = typeof __propDef.props;
|
|
16
|
+
export type BottomNavEvents = typeof __propDef.events;
|
|
17
|
+
export type BottomNavSlots = typeof __propDef.slots;
|
|
18
|
+
import BottomNav from './BottomNav.svelte';
|
|
19
|
+
import { SvelteComponent } from "svelte";
|
|
20
|
+
declare const __propDef: {
|
|
21
|
+
props: {
|
|
22
|
+
[x: string]: never;
|
|
23
|
+
};
|
|
24
|
+
events: {
|
|
25
|
+
[evt: string]: CustomEvent<any>;
|
|
26
|
+
};
|
|
27
|
+
slots: {};
|
|
28
|
+
exports?: undefined;
|
|
29
|
+
bindings?: undefined;
|
|
30
|
+
};
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=BottomNav.stories.svelte.d.ts.map
|