@getmicdrop/svelte-components 2.8.1 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/AboutShow/AboutShow.svelte +22 -123
- package/dist/components/AboutShow/AboutShow.svelte.d.ts.map +1 -1
- package/dist/components/Accordion/Accordion.svelte +16 -9
- package/dist/components/Accordion/Accordion.svelte.d.ts +2 -0
- package/dist/components/Accordion/Accordion.svelte.d.ts.map +1 -1
- package/dist/components/Accordion/AccordionItem.svelte +40 -103
- package/dist/components/Accordion/AccordionItem.svelte.d.ts.map +1 -1
- package/dist/components/Alert/Alert.svelte +38 -37
- package/dist/components/Alert/Alert.svelte.d.ts +4 -5
- package/dist/components/Alert/Alert.svelte.d.ts.map +1 -1
- package/dist/components/Avatar/Avatar.svelte +56 -0
- package/dist/components/Avatar/Avatar.svelte.d.ts +37 -0
- package/dist/components/Avatar/Avatar.svelte.d.ts.map +1 -0
- package/dist/components/Badges/Badge.stories.svelte +6 -7
- package/dist/components/Badges/Badge.stories.svelte.d.ts +0 -20
- package/dist/components/Badges/Badge.stories.svelte.d.ts.map +1 -1
- package/dist/components/Badges/Badge.svelte +91 -356
- package/dist/components/Badges/Badge.svelte.d.ts +8 -8
- package/dist/components/Badges/Badge.svelte.d.ts.map +1 -1
- package/dist/components/BottomSheet/BottomSheet.stories.svelte +7 -14
- package/dist/components/BottomSheet/BottomSheet.stories.svelte.d.ts +0 -18
- package/dist/components/BottomSheet/BottomSheet.stories.svelte.d.ts.map +1 -1
- package/dist/components/BottomSheet/BottomSheet.svelte +14 -100
- package/dist/components/Breadcrumb/Breadcrumb.spec.js +1 -1
- package/dist/components/Breadcrumb/Breadcrumb.stories.svelte +7 -8
- package/dist/components/Breadcrumb/Breadcrumb.stories.svelte.d.ts +0 -9
- package/dist/components/Breadcrumb/Breadcrumb.stories.svelte.d.ts.map +1 -1
- package/dist/components/Breadcrumb/Breadcrumb.svelte +31 -37
- package/dist/components/Breadcrumb/Breadcrumb.svelte.d.ts +2 -2
- package/dist/components/Breadcrumb/Breadcrumb.svelte.d.ts.map +1 -1
- package/dist/components/Button/Button.stories.svelte +5 -7
- package/dist/components/Button/Button.stories.svelte.d.ts +0 -32
- package/dist/components/Button/Button.stories.svelte.d.ts.map +1 -1
- package/dist/components/Button/Button.svelte +110 -729
- package/dist/components/Button/Button.svelte.d.ts +4 -22
- package/dist/components/Button/Button.svelte.d.ts.map +1 -1
- package/dist/components/Button/ButtonSaveDemo.svelte +1 -1
- package/dist/components/Calendar/MiniMonthCalendar.svelte +56 -654
- package/dist/components/Calendar/MiniMonthCalendar.svelte.d.ts.map +1 -1
- package/dist/components/Card.spec.js +28 -26
- package/dist/components/Card.stories.svelte +7 -11
- package/dist/components/Card.stories.svelte.d.ts +0 -9
- package/dist/components/Card.stories.svelte.d.ts.map +1 -1
- package/dist/components/Card.svelte +12 -4
- package/dist/components/Card.svelte.d.ts +8 -2
- package/dist/components/Card.svelte.d.ts.map +1 -1
- package/dist/components/Checkbox/Checkbox.svelte +14 -35
- package/dist/components/Checkbox/Checkbox.svelte.d.ts +4 -4
- package/dist/components/Checkbox/Checkbox.svelte.d.ts.map +1 -1
- package/dist/components/CropImage/CropImage.stories.svelte +7 -29
- package/dist/components/CropImage/CropImage.stories.svelte.d.ts +0 -13
- package/dist/components/CropImage/CropImage.stories.svelte.d.ts.map +1 -1
- package/dist/components/CropImage/CropImage.svelte +101 -172
- package/dist/components/CropImage/CropImage.svelte.d.ts.map +1 -1
- package/dist/components/DarkModeToggle.stories.svelte +15 -13
- package/dist/components/DarkModeToggle.stories.svelte.d.ts +0 -5
- package/dist/components/DarkModeToggle.stories.svelte.d.ts.map +1 -1
- package/dist/components/DarkModeToggle.svelte +30 -136
- package/dist/components/DarkModeToggle.svelte.d.ts.map +1 -1
- package/dist/components/DesignSystemAudit.stories.svelte +428 -0
- package/dist/components/{CardAudit.stories.svelte.d.ts → DesignSystemAudit.stories.svelte.d.ts} +4 -9
- package/dist/components/DesignSystemAudit.stories.svelte.d.ts.map +1 -0
- package/dist/components/Drawer/Drawer.svelte +81 -136
- package/dist/components/Drawer/Drawer.svelte.d.ts +8 -10
- package/dist/components/Drawer/Drawer.svelte.d.ts.map +1 -1
- package/dist/components/Dropdown/Dropdown.svelte +56 -85
- package/dist/components/Dropdown/Dropdown.svelte.d.ts +6 -2
- package/dist/components/Dropdown/Dropdown.svelte.d.ts.map +1 -1
- package/dist/components/Dropdown/DropdownItem.svelte +31 -73
- package/dist/components/Dropdown/DropdownItem.svelte.d.ts.map +1 -1
- package/dist/components/Dropdown/SelectDropdown.svelte +36 -162
- package/dist/components/Dropdown/SelectDropdown.svelte.d.ts.map +1 -1
- package/dist/components/EmptyState/EmptyState.svelte +6 -47
- package/dist/components/EmptyState/EmptyState.svelte.d.ts.map +1 -1
- package/dist/components/ErrorDisplay.spec.js +3 -3
- package/dist/components/ErrorDisplay.stories.svelte +8 -9
- package/dist/components/ErrorDisplay.stories.svelte.d.ts +0 -35
- package/dist/components/ErrorDisplay.stories.svelte.d.ts.map +1 -1
- package/dist/components/ErrorDisplay.svelte +1 -29
- package/dist/components/ErrorDisplay.svelte.d.ts.map +1 -1
- package/dist/components/FAQs/FAQs.svelte +62 -32
- package/dist/components/FAQs/FAQs.svelte.d.ts +10 -2
- package/dist/components/FAQs/FAQs.svelte.d.ts.map +1 -1
- package/dist/components/FormActions.stories.svelte +8 -9
- package/dist/components/FormActions.stories.svelte.d.ts +0 -30
- package/dist/components/FormActions.stories.svelte.d.ts.map +1 -1
- package/dist/components/FormActions.svelte +3 -3
- package/dist/components/FormValidationSummary.stories.svelte +8 -6
- package/dist/components/FormValidationSummary.stories.svelte.d.ts +0 -5
- package/dist/components/FormValidationSummary.stories.svelte.d.ts.map +1 -1
- package/dist/components/FormValidationSummary.svelte +4 -4
- package/dist/components/Icons/ArrowLeft.svelte.d.ts +2 -2
- package/dist/components/Icons/ArrowRight.svelte.d.ts +2 -2
- package/dist/components/Icons/Availability.svelte.d.ts +2 -2
- package/dist/components/Icons/Back.svelte.d.ts +2 -2
- package/dist/components/Icons/CheckCircle.svelte.d.ts +2 -2
- package/dist/components/Icons/CheckCircleOutline.svelte.d.ts +2 -2
- package/dist/components/Icons/CheckCircleSolid.svelte +15 -0
- package/dist/components/{Badges/BadgeAudit.stories.svelte.d.ts → Icons/CheckCircleSolid.svelte.d.ts} +7 -12
- package/dist/components/Icons/CheckCircleSolid.svelte.d.ts.map +1 -0
- package/dist/components/Icons/CheckOutline.svelte +17 -0
- package/dist/components/{Alert/AlertAudit.stories.svelte.d.ts → Icons/CheckOutline.svelte.d.ts} +7 -12
- package/dist/components/Icons/CheckOutline.svelte.d.ts.map +1 -0
- package/dist/components/Icons/ChevronDownOutline.svelte +17 -0
- package/dist/components/{Input/InputAudit.stories.svelte.d.ts → Icons/ChevronDownOutline.svelte.d.ts} +7 -12
- package/dist/components/Icons/ChevronDownOutline.svelte.d.ts.map +1 -0
- package/dist/components/Icons/ChevronLeft.svelte.d.ts +2 -2
- package/dist/components/Icons/ChevronLeftOutline.svelte +17 -0
- package/dist/components/Icons/ChevronLeftOutline.svelte.d.ts +27 -0
- package/dist/components/Icons/ChevronLeftOutline.svelte.d.ts.map +1 -0
- package/dist/components/Icons/ChevronRight.svelte.d.ts +2 -2
- package/dist/components/Icons/ChevronRightOutline.svelte +17 -0
- package/dist/components/Icons/ChevronRightOutline.svelte.d.ts +27 -0
- package/dist/components/Icons/ChevronRightOutline.svelte.d.ts.map +1 -0
- package/dist/components/Icons/ChevronUpOutline.svelte +17 -0
- package/dist/components/Icons/ChevronUpOutline.svelte.d.ts +27 -0
- package/dist/components/Icons/ChevronUpOutline.svelte.d.ts.map +1 -0
- package/dist/components/Icons/CloseCircleOutline.svelte +17 -0
- package/dist/components/Icons/CloseCircleOutline.svelte.d.ts +27 -0
- package/dist/components/Icons/CloseCircleOutline.svelte.d.ts.map +1 -0
- package/dist/components/Icons/CloseOutline.svelte +17 -0
- package/dist/components/Icons/CloseOutline.svelte.d.ts +27 -0
- package/dist/components/Icons/CloseOutline.svelte.d.ts.map +1 -0
- package/dist/components/Icons/Copy.svelte.d.ts +2 -2
- package/dist/components/Icons/Cross.svelte.d.ts +2 -2
- package/dist/components/Icons/DotsHorizontalOutline.svelte +15 -0
- package/dist/components/Icons/DotsHorizontalOutline.svelte.d.ts +27 -0
- package/dist/components/Icons/DotsHorizontalOutline.svelte.d.ts.map +1 -0
- package/dist/components/Icons/DownArrow.svelte.d.ts +2 -2
- package/dist/components/Icons/ErrorCircle.svelte.d.ts +2 -2
- package/dist/components/Icons/ExclamationCircleOutline.svelte +17 -0
- package/dist/components/Icons/ExclamationCircleOutline.svelte.d.ts +27 -0
- package/dist/components/Icons/ExclamationCircleOutline.svelte.d.ts.map +1 -0
- package/dist/components/Icons/ExclamationTriangleOutline.svelte +17 -0
- package/dist/components/Icons/ExclamationTriangleOutline.svelte.d.ts +27 -0
- package/dist/components/Icons/ExclamationTriangleOutline.svelte.d.ts.map +1 -0
- package/dist/components/Icons/EyeOutline.svelte +18 -0
- package/dist/components/Icons/EyeOutline.svelte.d.ts +27 -0
- package/dist/components/Icons/EyeOutline.svelte.d.ts.map +1 -0
- package/dist/components/Icons/EyeSlashOutline.svelte +17 -0
- package/dist/components/Icons/EyeSlashOutline.svelte.d.ts +27 -0
- package/dist/components/Icons/EyeSlashOutline.svelte.d.ts.map +1 -0
- package/dist/components/Icons/FacebookIcon.svelte.d.ts +2 -2
- package/dist/components/Icons/FileCopyOutline.svelte +17 -0
- package/dist/components/Icons/FileCopyOutline.svelte.d.ts +27 -0
- package/dist/components/Icons/FileCopyOutline.svelte.d.ts.map +1 -0
- package/dist/components/Icons/Home.svelte.d.ts +2 -2
- package/dist/components/Icons/HomeSolid.svelte +16 -0
- package/dist/components/Icons/HomeSolid.svelte.d.ts +27 -0
- package/dist/components/Icons/HomeSolid.svelte.d.ts.map +1 -0
- package/dist/components/Icons/Icon.stories.svelte +18 -19
- package/dist/components/Icons/Icon.stories.svelte.d.ts +0 -17
- package/dist/components/Icons/Icon.stories.svelte.d.ts.map +1 -1
- package/dist/components/Icons/Icon.svelte.d.ts +2 -2
- package/dist/components/Icons/IconGallery.stories.svelte +29 -27
- package/dist/components/Icons/IconGallery.stories.svelte.d.ts +0 -4
- package/dist/components/Icons/IconGallery.stories.svelte.d.ts.map +1 -1
- package/dist/components/Icons/Info.svelte.d.ts +2 -2
- package/dist/components/Icons/InfoCircleOutline.svelte +17 -0
- package/dist/components/Icons/InfoCircleOutline.svelte.d.ts +27 -0
- package/dist/components/Icons/InfoCircleOutline.svelte.d.ts.map +1 -0
- package/dist/components/Icons/InstagramIcon.svelte.d.ts +2 -2
- package/dist/components/Icons/LogoInstagram.svelte +18 -0
- package/dist/components/Icons/LogoInstagram.svelte.d.ts +29 -0
- package/dist/components/Icons/LogoInstagram.svelte.d.ts.map +1 -0
- package/dist/components/Icons/Message.svelte.d.ts +2 -2
- package/dist/components/Icons/MinusOutline.svelte +17 -0
- package/dist/components/Icons/MinusOutline.svelte.d.ts +27 -0
- package/dist/components/Icons/MinusOutline.svelte.d.ts.map +1 -0
- package/dist/components/Icons/MoonIcon.svelte.d.ts +2 -2
- package/dist/components/Icons/More.svelte.d.ts +2 -2
- package/dist/components/Icons/MoreHori.svelte.d.ts +2 -2
- package/dist/components/Icons/Notification.svelte.d.ts +2 -2
- package/dist/components/Icons/Payment.svelte.d.ts +2 -2
- package/dist/components/Icons/PlusOutline.svelte +17 -0
- package/dist/components/Icons/PlusOutline.svelte.d.ts +27 -0
- package/dist/components/Icons/PlusOutline.svelte.d.ts.map +1 -0
- package/dist/components/Icons/Profile.svelte.d.ts +2 -2
- package/dist/components/Icons/Reload.svelte.d.ts +2 -2
- package/dist/components/Icons/SearchOutline.svelte +17 -0
- package/dist/components/Icons/SearchOutline.svelte.d.ts +27 -0
- package/dist/components/Icons/SearchOutline.svelte.d.ts.map +1 -0
- package/dist/components/Icons/ShareOutline.svelte +17 -0
- package/dist/components/Icons/ShareOutline.svelte.d.ts +27 -0
- package/dist/components/Icons/ShareOutline.svelte.d.ts.map +1 -0
- package/dist/components/Icons/Shows.svelte.d.ts +2 -2
- package/dist/components/Icons/Signout.svelte.d.ts +2 -2
- package/dist/components/Icons/SunIcon.svelte.d.ts +2 -2
- package/dist/components/Icons/TiktokIcon.svelte.d.ts +2 -2
- package/dist/components/Icons/TwitterIcon.svelte.d.ts +2 -2
- package/dist/components/Icons/index.d.ts +53 -0
- package/dist/components/Icons/index.d.ts.map +1 -0
- package/dist/components/Icons/index.js +59 -0
- package/dist/components/Input/Input.stories.svelte +7 -8
- package/dist/components/Input/Input.stories.svelte.d.ts +0 -53
- package/dist/components/Input/Input.stories.svelte.d.ts.map +1 -1
- package/dist/components/Input/Input.svelte +62 -467
- package/dist/components/Input/Input.svelte.d.ts +8 -8
- package/dist/components/Input/Input.svelte.d.ts.map +1 -1
- package/dist/components/Input/MultiSelect.stories.svelte +9 -12
- package/dist/components/Input/MultiSelect.stories.svelte.d.ts +0 -5
- package/dist/components/Input/MultiSelect.stories.svelte.d.ts.map +1 -1
- package/dist/components/Input/MultiSelect.svelte +43 -362
- package/dist/components/Input/MultiSelect.svelte.d.ts +6 -6
- package/dist/components/Input/MultiSelect.svelte.d.ts.map +1 -1
- package/dist/components/Input/OTPInput.stories.svelte +17 -20
- package/dist/components/Input/OTPInput.stories.svelte.d.ts +0 -21
- package/dist/components/Input/OTPInput.stories.svelte.d.ts.map +1 -1
- package/dist/components/Input/OTPInput.svelte +1 -20
- package/dist/components/Input/OTPInput.svelte.d.ts.map +1 -1
- package/dist/components/Input/Search.svelte +6 -101
- package/dist/components/Input/Search.svelte.d.ts +2 -2
- package/dist/components/Input/Search.svelte.d.ts.map +1 -1
- package/dist/components/Input/Select.svelte +28 -258
- package/dist/components/Input/Select.svelte.d.ts +6 -6
- package/dist/components/Input/Select.svelte.d.ts.map +1 -1
- package/dist/components/Input/Textarea.svelte +5 -90
- package/dist/components/Input/Textarea.svelte.d.ts +2 -2
- package/dist/components/Input/Textarea.svelte.d.ts.map +1 -1
- package/dist/components/Label/Label.svelte +8 -39
- package/dist/components/Label/Label.svelte.d.ts.map +1 -1
- package/dist/components/Layout/BottomNav.stories.svelte +27 -25
- package/dist/components/Layout/BottomNav.stories.svelte.d.ts +0 -5
- package/dist/components/Layout/BottomNav.stories.svelte.d.ts.map +1 -1
- package/dist/components/Layout/BottomNav.svelte +9 -72
- package/dist/components/Layout/BottomNav.svelte.d.ts.map +1 -1
- package/dist/components/Layout/Header.stories.svelte +7 -8
- package/dist/components/Layout/Header.stories.svelte.d.ts +0 -20
- package/dist/components/Layout/Header.stories.svelte.d.ts.map +1 -1
- package/dist/components/Layout/Header.svelte +59 -353
- package/dist/components/Layout/PageLayout.svelte +2 -2
- package/dist/components/Layout/PageLayout.svelte.d.ts +2 -2
- package/dist/components/Modal/ConfirmationModal.spec.js +3 -3
- package/dist/components/Modal/ConfirmationModal.stories.svelte +7 -12
- package/dist/components/Modal/ConfirmationModal.stories.svelte.d.ts +0 -19
- package/dist/components/Modal/ConfirmationModal.stories.svelte.d.ts.map +1 -1
- package/dist/components/Modal/ConfirmationModal.svelte +6 -6
- package/dist/components/Modal/ConfirmationModal.svelte.d.ts +4 -4
- package/dist/components/Modal/InputModal.svelte +3 -4
- package/dist/components/Modal/InputModal.svelte.d.ts +2 -2
- package/dist/components/Modal/Modal.stories.svelte +13 -11
- package/dist/components/Modal/Modal.stories.svelte.d.ts +0 -5
- package/dist/components/Modal/Modal.stories.svelte.d.ts.map +1 -1
- package/dist/components/Modal/Modal.svelte +22 -167
- package/dist/components/Modal/Modal.svelte.d.ts +2 -2
- package/dist/components/Modal/Modal.svelte.d.ts.map +1 -1
- package/dist/components/Modal/ModalStateManager.svelte +5 -5
- package/dist/components/Modal/StatusModal.svelte +11 -18
- package/dist/components/Modal/StatusModal.svelte.d.ts +2 -2
- package/dist/components/Modal/StatusModal.svelte.d.ts.map +1 -1
- package/dist/components/MonthSwitcher/MonthSwitcher.svelte +21 -99
- package/dist/components/MonthSwitcher/MonthSwitcher.svelte.d.ts.map +1 -1
- package/dist/components/OrderSummary/OrderSummary.svelte +45 -246
- package/dist/components/OrderSummary/OrderSummary.svelte.d.ts.map +1 -1
- package/dist/components/PageLoader.stories.svelte +7 -13
- package/dist/components/PageLoader.stories.svelte.d.ts +0 -26
- package/dist/components/PageLoader.stories.svelte.d.ts.map +1 -1
- package/dist/components/PageLoader.svelte +2 -2
- package/dist/components/Pagination/Pagination.svelte +167 -103
- package/dist/components/Pagination/Pagination.svelte.d.ts +8 -0
- package/dist/components/Pagination/Pagination.svelte.d.ts.map +1 -1
- package/dist/components/PasswordStrengthIndicator/PasswordStrengthIndicator.spec.js +8 -8
- package/dist/components/PasswordStrengthIndicator/PasswordStrengthIndicator.svelte +3 -3
- package/dist/components/PlaceAutocomplete/PlaceAutocomplete.stories.svelte +14 -17
- package/dist/components/PlaceAutocomplete/PlaceAutocomplete.stories.svelte.d.ts +0 -33
- package/dist/components/PlaceAutocomplete/PlaceAutocomplete.stories.svelte.d.ts.map +1 -1
- package/dist/components/PlaceAutocomplete/PlaceAutocomplete.svelte +31 -198
- package/dist/components/PlaceAutocomplete/PlaceAutocomplete.svelte.d.ts.map +1 -1
- package/dist/components/PublicCard/PublicCard.svelte +20 -128
- package/dist/components/PublicCard/PublicCard.svelte.d.ts.map +1 -1
- package/dist/components/Radio/Radio.svelte +21 -80
- package/dist/components/Radio/Radio.svelte.d.ts +4 -2
- package/dist/components/Radio/Radio.svelte.d.ts.map +1 -1
- package/dist/components/ShowCard/ShowCard.svelte +17 -91
- package/dist/components/ShowCard/ShowCard.svelte.d.ts.map +1 -1
- package/dist/components/ShowTimeCard/ShowTimeCard.svelte +6 -37
- package/dist/components/Skeleton/CardPlaceholder.svelte +98 -0
- package/dist/components/Skeleton/CardPlaceholder.svelte.d.ts +35 -0
- package/dist/components/Skeleton/CardPlaceholder.svelte.d.ts.map +1 -0
- package/dist/components/Skeleton/ImagePlaceholder.svelte +65 -0
- package/dist/components/{Button/ButtonAudit.stories.svelte.d.ts → Skeleton/ImagePlaceholder.svelte.d.ts} +13 -14
- package/dist/components/Skeleton/ImagePlaceholder.svelte.d.ts.map +1 -0
- package/dist/components/Skeleton/ListPlaceholder.svelte +86 -0
- package/dist/components/Skeleton/ListPlaceholder.svelte.d.ts +37 -0
- package/dist/components/Skeleton/ListPlaceholder.svelte.d.ts.map +1 -0
- package/dist/components/Skeleton/Skeleton.svelte +49 -60
- package/dist/components/Skeleton/Skeleton.svelte.d.ts +6 -10
- package/dist/components/Skeleton/Skeleton.svelte.d.ts.map +1 -1
- package/dist/components/Skeleton/index.d.ts +5 -0
- package/dist/components/Skeleton/index.d.ts.map +1 -0
- package/dist/components/Skeleton/index.js +10 -0
- package/dist/components/Spinner/Spinner.stories.svelte +9 -10
- package/dist/components/Spinner/Spinner.stories.svelte.d.ts +0 -4
- package/dist/components/Spinner/Spinner.stories.svelte.d.ts.map +1 -1
- package/dist/components/Spinner/Spinner.svelte +41 -64
- package/dist/components/Spinner/Spinner.svelte.d.ts +6 -4
- package/dist/components/Spinner/Spinner.svelte.d.ts.map +1 -1
- package/dist/components/StatusIndicator/StatusIndicator.svelte +13 -47
- package/dist/components/StatusIndicator/StatusIndicator.svelte.d.ts.map +1 -1
- package/dist/components/Tabs/TabItem.svelte +3 -9
- package/dist/components/Tabs/TabItem.svelte.d.ts.map +1 -1
- package/dist/components/Tabs/Tabs.svelte +49 -126
- package/dist/components/Tabs/Tabs.svelte.d.ts +2 -2
- package/dist/components/Tabs/Tabs.svelte.d.ts.map +1 -1
- package/dist/components/Toaster/Toaster.stories.svelte +15 -13
- package/dist/components/Toaster/Toaster.stories.svelte.d.ts +0 -3
- package/dist/components/Toaster/Toaster.stories.svelte.d.ts.map +1 -1
- package/dist/components/Toggle.spec.js +21 -52
- package/dist/components/Toggle.stories.svelte +14 -15
- package/dist/components/Toggle.stories.svelte.d.ts +0 -14
- package/dist/components/Toggle.stories.svelte.d.ts.map +1 -1
- package/dist/components/Toggle.svelte +47 -67
- package/dist/components/Toggle.svelte.d.ts +21 -4
- package/dist/components/Toggle.svelte.d.ts.map +1 -1
- package/dist/components/Typography/Typography.svelte.d.ts +4 -4
- package/dist/components/ValidationError.stories.svelte +8 -9
- package/dist/components/ValidationError.stories.svelte.d.ts +0 -14
- package/dist/components/ValidationError.stories.svelte.d.ts.map +1 -1
- package/dist/components/ValidationError.svelte +1 -1
- package/dist/components/pages/performers/ModalShowInfo.svelte +7 -61
- package/dist/components/pages/performers/ModalShowInfo.svelte.d.ts.map +1 -1
- package/dist/components/pages/performers/PageBackButton.spec.js +1 -1
- package/dist/components/pages/performers/PageBackButton.stories.svelte +7 -8
- package/dist/components/pages/performers/PageBackButton.stories.svelte.d.ts +0 -9
- package/dist/components/pages/performers/PageBackButton.stories.svelte.d.ts.map +1 -1
- package/dist/components/pages/performers/PageBackButton.svelte +1 -1
- package/dist/components/pages/performers/SectionHeader.spec.js +2 -2
- package/dist/components/pages/performers/SectionHeader.stories.svelte +13 -14
- package/dist/components/pages/performers/SectionHeader.stories.svelte.d.ts +0 -14
- package/dist/components/pages/performers/SectionHeader.stories.svelte.d.ts.map +1 -1
- package/dist/components/pages/performers/SectionHeader.svelte +2 -2
- package/dist/components/pages/performers/ShowDetails.spec.js +2 -2
- package/dist/components/pages/performers/ShowDetails.stories.svelte +9 -12
- package/dist/components/pages/performers/ShowDetails.stories.svelte.d.ts +0 -10
- package/dist/components/pages/performers/ShowDetails.stories.svelte.d.ts.map +1 -1
- package/dist/components/pages/performers/ShowDetails.svelte +11 -11
- package/dist/components/pages/performers/ShowDetails.svelte.d.ts +2 -2
- package/dist/components/pages/performers/ShowItemCard.spec.js +1 -1
- package/dist/components/pages/performers/ShowItemCard.stories.svelte +7 -5
- package/dist/components/pages/performers/ShowItemCard.stories.svelte.d.ts +0 -16
- package/dist/components/pages/performers/ShowItemCard.stories.svelte.d.ts.map +1 -1
- package/dist/components/pages/performers/ShowItemCard.svelte +52 -61
- package/dist/components/pages/performers/ShowItemCard.svelte.d.ts +4 -4
- package/dist/components/pages/performers/SwitchOption.stories.svelte +7 -10
- package/dist/components/pages/performers/SwitchOption.stories.svelte.d.ts +0 -13
- package/dist/components/pages/performers/SwitchOption.stories.svelte.d.ts.map +1 -1
- package/dist/components/pages/performers/SwitchOption.svelte +3 -3
- package/dist/components/pages/performers/VenueInfo.svelte +6 -60
- package/dist/components/pages/performers/VenueInfo.svelte.d.ts.map +1 -1
- package/dist/components/pages/performers/VenueItemCard.stories.svelte +10 -8
- package/dist/components/pages/performers/VenueItemCard.stories.svelte.d.ts +0 -10
- package/dist/components/pages/performers/VenueItemCard.stories.svelte.d.ts.map +1 -1
- package/dist/components/pages/performers/VenueItemCard.svelte +16 -15
- package/dist/components/pages/performers/VenueItemCard.svelte.d.ts +2 -2
- package/dist/components/pages/performers/VenueItemCard.svelte.d.ts.map +1 -1
- package/dist/components/pages/profile/profile-form.stories.svelte +7 -10
- package/dist/components/pages/profile/profile-form.stories.svelte.d.ts +0 -21
- package/dist/components/pages/profile/profile-form.stories.svelte.d.ts.map +1 -1
- package/dist/components/pages/profile/profile-form.svelte +21 -74
- package/dist/components/pages/profile/profile-form.svelte.d.ts.map +1 -1
- package/dist/components/pages/profile/profile-photos.stories.svelte +7 -14
- package/dist/components/pages/profile/profile-photos.stories.svelte.d.ts +0 -4
- package/dist/components/pages/profile/profile-photos.stories.svelte.d.ts.map +1 -1
- package/dist/components/pages/profile/profile-photos.svelte +1 -1
- package/dist/components/pages/settings/tabs/CustomImageDropzone.stories.svelte +11 -12
- package/dist/components/pages/settings/tabs/CustomImageDropzone.stories.svelte.d.ts +0 -22
- package/dist/components/pages/settings/tabs/CustomImageDropzone.stories.svelte.d.ts.map +1 -1
- package/dist/components/pages/settings/tabs/CustomImageDropzone.svelte +12 -12
- package/dist/components/pages/shows/ShowList.stories.svelte +7 -10
- package/dist/components/pages/shows/ShowList.stories.svelte.d.ts +0 -14
- package/dist/components/pages/shows/ShowList.stories.svelte.d.ts.map +1 -1
- package/dist/components/pages/shows/TabContent.stories.svelte +7 -10
- package/dist/components/pages/shows/TabContent.stories.svelte.d.ts +0 -18
- package/dist/components/pages/shows/TabContent.stories.svelte.d.ts.map +1 -1
- package/dist/components/pages/shows/TabContent.svelte +4 -13
- package/dist/components/pages/shows/TabContent.svelte.d.ts.map +1 -1
- package/dist/components/pages/shows/TabNavigation.stories.svelte +19 -22
- package/dist/components/pages/shows/TabNavigation.stories.svelte.d.ts +0 -14
- package/dist/components/pages/shows/TabNavigation.stories.svelte.d.ts.map +1 -1
- package/dist/components/pages/shows/TabNavigation.svelte +1 -34
- package/dist/components/pages/shows/TabNavigation.svelte.d.ts.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/package.json +2 -5
- package/dist/components/Alert/AlertAudit.stories.svelte +0 -241
- package/dist/components/Alert/AlertAudit.stories.svelte.d.ts.map +0 -1
- package/dist/components/Badges/BadgeAudit.stories.svelte +0 -238
- package/dist/components/Badges/BadgeAudit.stories.svelte.d.ts.map +0 -1
- package/dist/components/Button/ButtonAudit.stories.svelte +0 -333
- package/dist/components/Button/ButtonAudit.stories.svelte.d.ts.map +0 -1
- package/dist/components/CardAudit.stories.svelte +0 -175
- package/dist/components/CardAudit.stories.svelte.d.ts.map +0 -1
- package/dist/components/Input/InputAudit.stories.svelte +0 -483
- package/dist/components/Input/InputAudit.stories.svelte.d.ts.map +0 -1
- package/dist/components/Input/SelectAudit.stories.svelte +0 -364
- package/dist/components/Input/SelectAudit.stories.svelte.d.ts +0 -32
- package/dist/components/Input/SelectAudit.stories.svelte.d.ts.map +0 -1
- package/dist/components/Modal/ModalAudit.stories.svelte +0 -329
- package/dist/components/Modal/ModalAudit.stories.svelte.d.ts +0 -32
- package/dist/components/Modal/ModalAudit.stories.svelte.d.ts.map +0 -1
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
<script>
|
|
2
2
|
import { createEventDispatcher, onDestroy } from "svelte";
|
|
3
|
-
import { fly, fade } from "svelte/transition";
|
|
4
|
-
import { cubicOut } from "svelte/easing";
|
|
5
3
|
|
|
6
4
|
/** @type {boolean} Whether the drawer is visible */
|
|
7
5
|
export let show = false;
|
|
@@ -11,26 +9,36 @@
|
|
|
11
9
|
export let title = "";
|
|
12
10
|
/** @type {'left' | 'right' | 'top' | 'bottom'} Which side the drawer slides from */
|
|
13
11
|
export let placement = "left";
|
|
14
|
-
/** @type {
|
|
15
|
-
export let width = "
|
|
16
|
-
/** @type {string} Height of the drawer (for top/bottom placement) */
|
|
17
|
-
export let height = "auto";
|
|
18
|
-
/** @type {number} Transition duration in ms */
|
|
19
|
-
export let duration = 200;
|
|
12
|
+
/** @type {'sm' | 'md' | 'lg' | 'xl' | 'full'} Width preset for left/right drawers */
|
|
13
|
+
export let width = "md";
|
|
20
14
|
/** @type {boolean} Whether clicking the backdrop closes the drawer */
|
|
21
15
|
export let closeOnBackdropClick = true;
|
|
22
16
|
/** @type {boolean} Whether pressing Escape closes the drawer */
|
|
23
17
|
export let closeOnEscape = true;
|
|
24
18
|
/** @type {string} Optional id for the drawer element */
|
|
25
19
|
export let id = "";
|
|
26
|
-
/** @type {
|
|
27
|
-
export let
|
|
20
|
+
/** @type {boolean} Whether to show swipeable edge handle (bottom placement only) */
|
|
21
|
+
export let edge = false;
|
|
22
|
+
/** @type {number} Offset from bottom for edge handle in pixels */
|
|
23
|
+
export let edgeOffset = 60;
|
|
28
24
|
|
|
29
25
|
const dispatch = createEventDispatcher();
|
|
30
26
|
|
|
31
27
|
// Support both show and hidden props (flowbite uses hidden)
|
|
32
28
|
$: isVisible = show || !hidden;
|
|
33
29
|
|
|
30
|
+
// Width classes for left/right drawers
|
|
31
|
+
const widthClasses = {
|
|
32
|
+
sm: "w-64",
|
|
33
|
+
md: "w-80",
|
|
34
|
+
lg: "w-96",
|
|
35
|
+
xl: "w-[28rem]",
|
|
36
|
+
full: "w-full"
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
// Get the appropriate width class
|
|
40
|
+
$: widthClass = widthClasses[width] || widthClasses.md;
|
|
41
|
+
|
|
34
42
|
function close() {
|
|
35
43
|
hidden = true;
|
|
36
44
|
show = false;
|
|
@@ -49,21 +57,14 @@
|
|
|
49
57
|
}
|
|
50
58
|
}
|
|
51
59
|
|
|
52
|
-
//
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
return { x: 320, duration, easing: cubicOut };
|
|
59
|
-
case "top":
|
|
60
|
-
return { y: -320, duration, easing: cubicOut };
|
|
61
|
-
case "bottom":
|
|
62
|
-
return { y: 320, duration, easing: cubicOut };
|
|
63
|
-
default:
|
|
64
|
-
return { x: -320, duration, easing: cubicOut };
|
|
60
|
+
// Handle edge swipe to open drawer
|
|
61
|
+
function handleEdgeClick() {
|
|
62
|
+
if (edge && placement === "bottom") {
|
|
63
|
+
hidden = false;
|
|
64
|
+
show = true;
|
|
65
|
+
dispatch("open");
|
|
65
66
|
}
|
|
66
|
-
}
|
|
67
|
+
}
|
|
67
68
|
|
|
68
69
|
// Lock body scroll when drawer is open
|
|
69
70
|
$: if (typeof document !== "undefined") {
|
|
@@ -83,125 +84,69 @@
|
|
|
83
84
|
|
|
84
85
|
<svelte:window on:keydown={handleKeydown} />
|
|
85
86
|
|
|
86
|
-
|
|
87
|
+
<!-- Swipeable Edge Handle (bottom placement only) -->
|
|
88
|
+
{#if edge && placement === "bottom" && !isVisible}
|
|
87
89
|
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
|
88
90
|
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
|
89
91
|
<div
|
|
90
|
-
class="
|
|
91
|
-
|
|
92
|
-
|
|
92
|
+
class="fixed bottom-0 left-0 right-0 z-40 flex justify-center w-full p-4 cursor-pointer bg-white border-t border-gray-200 hover:bg-gray-50 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700 transition-colors"
|
|
93
|
+
style="bottom: {edgeOffset}px"
|
|
94
|
+
on:click={handleEdgeClick}
|
|
93
95
|
>
|
|
94
|
-
<
|
|
95
|
-
{id}
|
|
96
|
-
class="drawer drawer--{placement}"
|
|
97
|
-
style="--drawer-width: {width}; --drawer-height: {height};"
|
|
98
|
-
on:click|stopPropagation
|
|
99
|
-
transition:fly={computedTransitionParams}
|
|
100
|
-
>
|
|
101
|
-
<!-- Optional header with title -->
|
|
102
|
-
{#if title || $$slots.header}
|
|
103
|
-
<div class="drawer__header">
|
|
104
|
-
{#if $$slots.header}
|
|
105
|
-
<slot name="header" />
|
|
106
|
-
{:else}
|
|
107
|
-
<h3 class="drawer__title">{title}</h3>
|
|
108
|
-
{/if}
|
|
109
|
-
</div>
|
|
110
|
-
{/if}
|
|
111
|
-
|
|
112
|
-
<!-- Content slot -->
|
|
113
|
-
<div class="drawer__content">
|
|
114
|
-
<slot />
|
|
115
|
-
</div>
|
|
116
|
-
|
|
117
|
-
<!-- Actions slot (optional) -->
|
|
118
|
-
{#if $$slots.actions}
|
|
119
|
-
<div class="drawer__actions">
|
|
120
|
-
<slot name="actions" />
|
|
121
|
-
</div>
|
|
122
|
-
{/if}
|
|
123
|
-
</div>
|
|
96
|
+
<span class="absolute w-8 h-1 -translate-x-1/2 bg-gray-300 rounded-lg top-3 left-1/2 dark:bg-gray-600"></span>
|
|
124
97
|
</div>
|
|
125
98
|
{/if}
|
|
126
99
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
.drawer {
|
|
138
|
-
position: absolute;
|
|
139
|
-
background-color: hsl(var(--BG-Primary, 0 0% 100%));
|
|
140
|
-
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
|
|
141
|
-
display: flex;
|
|
142
|
-
flex-direction: column;
|
|
143
|
-
overflow: hidden;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
/* Placement variants */
|
|
147
|
-
.drawer--left {
|
|
148
|
-
left: 0;
|
|
149
|
-
top: 0;
|
|
150
|
-
bottom: 0;
|
|
151
|
-
width: var(--drawer-width, 320px);
|
|
152
|
-
max-width: 100vw;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
.drawer--right {
|
|
156
|
-
right: 0;
|
|
157
|
-
top: 0;
|
|
158
|
-
bottom: 0;
|
|
159
|
-
width: var(--drawer-width, 320px);
|
|
160
|
-
max-width: 100vw;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
.drawer--top {
|
|
164
|
-
top: 0;
|
|
165
|
-
left: 0;
|
|
166
|
-
right: 0;
|
|
167
|
-
height: var(--drawer-height, auto);
|
|
168
|
-
max-height: 100vh;
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
.drawer--bottom {
|
|
172
|
-
bottom: 0;
|
|
173
|
-
left: 0;
|
|
174
|
-
right: 0;
|
|
175
|
-
height: var(--drawer-height, auto);
|
|
176
|
-
max-height: 100vh;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
.drawer__header {
|
|
180
|
-
padding: 1rem 1.5rem;
|
|
181
|
-
border-bottom: 1px solid hsl(var(--Stroke-Primary, 220 13% 85%));
|
|
182
|
-
flex-shrink: 0;
|
|
183
|
-
}
|
|
100
|
+
<!-- Backdrop -->
|
|
101
|
+
{#if isVisible}
|
|
102
|
+
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
|
103
|
+
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
|
104
|
+
<div
|
|
105
|
+
class="fixed inset-0 z-30 bg-gray-900/50 dark:bg-gray-900/80"
|
|
106
|
+
on:click={handleBackdropClick}
|
|
107
|
+
></div>
|
|
108
|
+
{/if}
|
|
184
109
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
110
|
+
<!-- Drawer -->
|
|
111
|
+
<div
|
|
112
|
+
{id}
|
|
113
|
+
class="
|
|
114
|
+
fixed z-40 overflow-y-auto bg-white dark:bg-gray-800
|
|
115
|
+
transition-transform duration-300 ease-in-out
|
|
116
|
+
{placement === 'left' ? `top-0 left-0 h-screen ${widthClass} max-w-full border-r border-gray-200 dark:border-gray-700 ${isVisible ? 'translate-x-0' : '-translate-x-full'}` : ''}
|
|
117
|
+
{placement === 'right' ? `top-0 right-0 h-screen ${widthClass} max-w-full border-l border-gray-200 dark:border-gray-700 ${isVisible ? 'translate-x-0' : 'translate-x-full'}` : ''}
|
|
118
|
+
{placement === 'top' ? `top-0 left-0 right-0 w-full border-b border-gray-200 dark:border-gray-700 ${isVisible ? 'translate-y-0' : '-translate-y-full'}` : ''}
|
|
119
|
+
{placement === 'bottom' ? `bottom-0 left-0 right-0 w-full border-t border-gray-200 dark:border-gray-700 ${isVisible ? 'translate-y-0' : 'translate-y-full'}` : ''}
|
|
120
|
+
"
|
|
121
|
+
tabindex="-1"
|
|
122
|
+
aria-labelledby={title ? `${id}-label` : undefined}
|
|
123
|
+
aria-hidden={!isVisible}
|
|
124
|
+
>
|
|
125
|
+
<!-- Optional header with title -->
|
|
126
|
+
{#if title || $$slots.header}
|
|
127
|
+
<div class="p-4 border-b border-gray-200 dark:border-gray-700">
|
|
128
|
+
{#if $$slots.header}
|
|
129
|
+
<slot name="header" />
|
|
130
|
+
{:else}
|
|
131
|
+
<h5
|
|
132
|
+
id={id ? `${id}-label` : undefined}
|
|
133
|
+
class="text-lg font-semibold text-gray-900 dark:text-white"
|
|
134
|
+
>
|
|
135
|
+
{title}
|
|
136
|
+
</h5>
|
|
137
|
+
{/if}
|
|
138
|
+
</div>
|
|
139
|
+
{/if}
|
|
191
140
|
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
-webkit-overflow-scrolling: touch;
|
|
197
|
-
}
|
|
141
|
+
<!-- Content slot -->
|
|
142
|
+
<div class="flex-1 overflow-y-auto overscroll-contain p-4">
|
|
143
|
+
<slot />
|
|
144
|
+
</div>
|
|
198
145
|
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
border-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
}
|
|
207
|
-
</style>
|
|
146
|
+
<!-- Actions slot (optional) -->
|
|
147
|
+
{#if $$slots.actions}
|
|
148
|
+
<div class="p-4 border-t border-gray-200 dark:border-gray-700 flex flex-col gap-3">
|
|
149
|
+
<slot name="actions" />
|
|
150
|
+
</div>
|
|
151
|
+
{/if}
|
|
152
|
+
</div>
|
|
@@ -1,23 +1,22 @@
|
|
|
1
1
|
export default Drawer;
|
|
2
2
|
type Drawer = SvelteComponent<$$__sveltets_2_PropsWithChildren<{
|
|
3
|
-
duration?: number | undefined;
|
|
4
3
|
title?: string | undefined;
|
|
5
4
|
show?: boolean | undefined;
|
|
6
5
|
hidden?: boolean | undefined;
|
|
7
6
|
placement?: "left" | "right" | "top" | "bottom" | undefined;
|
|
8
|
-
width?:
|
|
9
|
-
height?: string | undefined;
|
|
7
|
+
width?: "sm" | "md" | "lg" | "xl" | "full" | undefined;
|
|
10
8
|
closeOnBackdropClick?: boolean | undefined;
|
|
11
9
|
closeOnEscape?: boolean | undefined;
|
|
12
10
|
id?: string | undefined;
|
|
13
|
-
|
|
11
|
+
edge?: boolean | undefined;
|
|
12
|
+
edgeOffset?: number | undefined;
|
|
14
13
|
}, {
|
|
15
14
|
header: {};
|
|
16
15
|
default: {};
|
|
17
16
|
actions: {};
|
|
18
17
|
}>, {
|
|
19
|
-
click: PointerEvent;
|
|
20
18
|
close: CustomEvent<any>;
|
|
19
|
+
open: CustomEvent<any>;
|
|
21
20
|
} & {
|
|
22
21
|
[evt: string]: CustomEvent<any>;
|
|
23
22
|
}, {
|
|
@@ -28,24 +27,23 @@ type Drawer = SvelteComponent<$$__sveltets_2_PropsWithChildren<{
|
|
|
28
27
|
$$bindings?: string | undefined;
|
|
29
28
|
};
|
|
30
29
|
declare const Drawer: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<{
|
|
31
|
-
duration?: number | undefined;
|
|
32
30
|
title?: string | undefined;
|
|
33
31
|
show?: boolean | undefined;
|
|
34
32
|
hidden?: boolean | undefined;
|
|
35
33
|
placement?: "left" | "right" | "top" | "bottom" | undefined;
|
|
36
|
-
width?:
|
|
37
|
-
height?: string | undefined;
|
|
34
|
+
width?: "sm" | "md" | "lg" | "xl" | "full" | undefined;
|
|
38
35
|
closeOnBackdropClick?: boolean | undefined;
|
|
39
36
|
closeOnEscape?: boolean | undefined;
|
|
40
37
|
id?: string | undefined;
|
|
41
|
-
|
|
38
|
+
edge?: boolean | undefined;
|
|
39
|
+
edgeOffset?: number | undefined;
|
|
42
40
|
}, {
|
|
43
41
|
header: {};
|
|
44
42
|
default: {};
|
|
45
43
|
actions: {};
|
|
46
44
|
}>, {
|
|
47
|
-
click: PointerEvent;
|
|
48
45
|
close: CustomEvent<any>;
|
|
46
|
+
open: CustomEvent<any>;
|
|
49
47
|
} & {
|
|
50
48
|
[evt: string]: CustomEvent<any>;
|
|
51
49
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Drawer.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/Drawer/Drawer.svelte.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Drawer.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/Drawer/Drawer.svelte.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwKA;;;;;;;;;;;;;;;;;;;;;;;;eAAuO;sCATjM,KAAK,EAAE,KAAK;;;;;6CALL,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,OAAO,OAAO,QAAQ;IAC3L,cAAc,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,WAAW,OAAO,SAAS,KAAK,GAAG;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IAC9G,eAAe,QAAQ,CAAC"}
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
export let open = false;
|
|
6
6
|
/** @type {string} Current active URL for highlighting (flowbite API) */
|
|
7
7
|
export let activeUrl = "";
|
|
8
|
-
/** @type {'bottom
|
|
9
|
-
export let placement = "bottom
|
|
8
|
+
/** @type {'bottom' | 'top' | 'left' | 'right'} Placement relative to trigger */
|
|
9
|
+
export let placement = "bottom";
|
|
10
10
|
/** @type {string} Additional CSS classes */
|
|
11
11
|
let className = "";
|
|
12
12
|
export { className as class };
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
const dispatch = createEventDispatcher();
|
|
17
17
|
|
|
18
18
|
let dropdownRef;
|
|
19
|
+
let containerRef;
|
|
19
20
|
let focusedIndex = -1;
|
|
20
21
|
let menuItems = [];
|
|
21
22
|
|
|
@@ -36,27 +37,37 @@
|
|
|
36
37
|
menuItems[focusedIndex]?.focus();
|
|
37
38
|
}
|
|
38
39
|
|
|
39
|
-
// Get trigger element (previous sibling)
|
|
40
|
+
// Get trigger element (previous sibling of the container)
|
|
40
41
|
function getTriggerElement() {
|
|
41
|
-
const parent =
|
|
42
|
+
const parent = containerRef?.parentElement;
|
|
42
43
|
if (parent) {
|
|
43
44
|
const siblings = Array.from(parent.children);
|
|
44
|
-
const
|
|
45
|
-
if (
|
|
46
|
-
return siblings[
|
|
45
|
+
const containerIndex = siblings.indexOf(containerRef);
|
|
46
|
+
if (containerIndex > 0) {
|
|
47
|
+
return siblings[containerIndex - 1];
|
|
47
48
|
}
|
|
48
49
|
}
|
|
49
50
|
return null;
|
|
50
51
|
}
|
|
51
52
|
|
|
53
|
+
// CRITICAL FIX: Click-outside detection using mousedown for reliable detection
|
|
52
54
|
function handleClickOutside(event) {
|
|
53
|
-
if (
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
if (!open) return;
|
|
56
|
+
|
|
57
|
+
// Check if click is inside the dropdown menu
|
|
58
|
+
if (dropdownRef && dropdownRef.contains(event.target)) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// Check if click is on the trigger element
|
|
63
|
+
const trigger = getTriggerElement();
|
|
64
|
+
if (trigger && trigger.contains(event.target)) {
|
|
65
|
+
return; // Let the trigger handle toggling
|
|
59
66
|
}
|
|
67
|
+
|
|
68
|
+
// Click was outside - close the dropdown
|
|
69
|
+
open = false;
|
|
70
|
+
dispatch("close");
|
|
60
71
|
}
|
|
61
72
|
|
|
62
73
|
function handleKeydown(event) {
|
|
@@ -73,6 +84,7 @@
|
|
|
73
84
|
open = false;
|
|
74
85
|
trigger?.focus();
|
|
75
86
|
event.preventDefault();
|
|
87
|
+
dispatch("close");
|
|
76
88
|
break;
|
|
77
89
|
case "ArrowDown":
|
|
78
90
|
focusItem(focusedIndex + 1);
|
|
@@ -92,6 +104,7 @@
|
|
|
92
104
|
break;
|
|
93
105
|
case "Tab":
|
|
94
106
|
open = false;
|
|
107
|
+
dispatch("close");
|
|
95
108
|
break;
|
|
96
109
|
}
|
|
97
110
|
}
|
|
@@ -103,13 +116,14 @@
|
|
|
103
116
|
}
|
|
104
117
|
|
|
105
118
|
onMount(() => {
|
|
106
|
-
|
|
119
|
+
// Use mousedown for click-outside to capture before click completes
|
|
120
|
+
document.addEventListener("mousedown", handleClickOutside, true);
|
|
107
121
|
document.addEventListener("keydown", handleKeydown);
|
|
108
122
|
});
|
|
109
123
|
|
|
110
124
|
onDestroy(() => {
|
|
111
125
|
if (typeof document !== "undefined") {
|
|
112
|
-
document.removeEventListener("
|
|
126
|
+
document.removeEventListener("mousedown", handleClickOutside, true);
|
|
113
127
|
document.removeEventListener("keydown", handleKeydown);
|
|
114
128
|
}
|
|
115
129
|
});
|
|
@@ -118,76 +132,33 @@
|
|
|
118
132
|
import { setContext } from "svelte";
|
|
119
133
|
setContext("dropdown", {
|
|
120
134
|
activeUrl,
|
|
121
|
-
close: () => {
|
|
135
|
+
close: () => {
|
|
136
|
+
open = false;
|
|
137
|
+
dispatch("close");
|
|
138
|
+
}
|
|
122
139
|
});
|
|
123
|
-
</script>
|
|
124
|
-
|
|
125
|
-
{#if open}
|
|
126
|
-
<div
|
|
127
|
-
bind:this={dropdownRef}
|
|
128
|
-
class="dropdown dropdown--{placement} {className}"
|
|
129
|
-
role="menu"
|
|
130
|
-
aria-label={ariaLabel}
|
|
131
|
-
{...$$restProps}
|
|
132
|
-
>
|
|
133
|
-
<slot />
|
|
134
|
-
</div>
|
|
135
|
-
{/if}
|
|
136
|
-
|
|
137
|
-
<style>
|
|
138
|
-
.dropdown {
|
|
139
|
-
position: absolute;
|
|
140
|
-
z-index: 50;
|
|
141
|
-
min-width: 10rem;
|
|
142
|
-
background-color: hsl(var(--BG-Primary, 0 0% 100%));
|
|
143
|
-
border: 1px solid hsl(var(--Stroke-Primary, 220 13% 85%));
|
|
144
|
-
border-radius: 0.5rem;
|
|
145
|
-
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
|
|
146
|
-
padding: 0.25rem 0;
|
|
147
|
-
margin-top: 0.25rem;
|
|
148
|
-
}
|
|
149
140
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
.dropdown--bottom {
|
|
161
|
-
top: 100%;
|
|
162
|
-
left: 50%;
|
|
163
|
-
transform: translateX(-50%);
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
.dropdown--top-start {
|
|
167
|
-
bottom: 100%;
|
|
168
|
-
left: 0;
|
|
169
|
-
margin-top: 0;
|
|
170
|
-
margin-bottom: 0.25rem;
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
.dropdown--top-end {
|
|
174
|
-
bottom: 100%;
|
|
175
|
-
right: 0;
|
|
176
|
-
margin-top: 0;
|
|
177
|
-
margin-bottom: 0.25rem;
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
.dropdown--top {
|
|
181
|
-
bottom: 100%;
|
|
182
|
-
left: 50%;
|
|
183
|
-
transform: translateX(-50%);
|
|
184
|
-
margin-top: 0;
|
|
185
|
-
margin-bottom: 0.25rem;
|
|
186
|
-
}
|
|
141
|
+
// Placement classes following Flowbite patterns
|
|
142
|
+
const placementClasses = {
|
|
143
|
+
bottom: "top-full left-0 mt-1",
|
|
144
|
+
top: "bottom-full left-0 mb-1",
|
|
145
|
+
left: "right-full top-0 mr-1",
|
|
146
|
+
right: "left-full top-0 ml-1"
|
|
147
|
+
};
|
|
148
|
+
</script>
|
|
187
149
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
150
|
+
<div bind:this={containerRef} class="relative inline-block">
|
|
151
|
+
{#if open}
|
|
152
|
+
<div
|
|
153
|
+
bind:this={dropdownRef}
|
|
154
|
+
class="absolute z-10 bg-white divide-y divide-gray-100 rounded-lg shadow-lg w-44 dark:bg-gray-700 dark:divide-gray-600 {placementClasses[placement] || placementClasses.bottom} {className}"
|
|
155
|
+
role="menu"
|
|
156
|
+
aria-label={ariaLabel}
|
|
157
|
+
{...$$restProps}
|
|
158
|
+
>
|
|
159
|
+
<ul class="py-2 text-sm text-gray-700 dark:text-gray-200">
|
|
160
|
+
<slot />
|
|
161
|
+
</ul>
|
|
162
|
+
</div>
|
|
163
|
+
{/if}
|
|
164
|
+
</div>
|
|
@@ -3,12 +3,14 @@ type Dropdown = SvelteComponent<$$__sveltets_2_PropsWithChildren<{
|
|
|
3
3
|
[x: string]: any;
|
|
4
4
|
class?: string | undefined;
|
|
5
5
|
open?: boolean | undefined;
|
|
6
|
-
placement?: "
|
|
6
|
+
placement?: "left" | "right" | "top" | "bottom" | undefined;
|
|
7
7
|
activeUrl?: string | undefined;
|
|
8
8
|
ariaLabel?: string | undefined;
|
|
9
9
|
}, {
|
|
10
10
|
default: {};
|
|
11
11
|
}>, {
|
|
12
|
+
close: CustomEvent<any>;
|
|
13
|
+
} & {
|
|
12
14
|
[evt: string]: CustomEvent<any>;
|
|
13
15
|
}, {
|
|
14
16
|
default: {};
|
|
@@ -19,12 +21,14 @@ declare const Dropdown: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsW
|
|
|
19
21
|
[x: string]: any;
|
|
20
22
|
class?: string | undefined;
|
|
21
23
|
open?: boolean | undefined;
|
|
22
|
-
placement?: "
|
|
24
|
+
placement?: "left" | "right" | "top" | "bottom" | undefined;
|
|
23
25
|
activeUrl?: string | undefined;
|
|
24
26
|
ariaLabel?: string | undefined;
|
|
25
27
|
}, {
|
|
26
28
|
default: {};
|
|
27
29
|
}>, {
|
|
30
|
+
close: CustomEvent<any>;
|
|
31
|
+
} & {
|
|
28
32
|
[evt: string]: CustomEvent<any>;
|
|
29
33
|
}, {
|
|
30
34
|
default: {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropdown.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/Dropdown/Dropdown.svelte.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Dropdown.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/Dropdown/Dropdown.svelte.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AA2LA;;;;;;;;;;;;;;;eAAyL;sCATnJ,KAAK,EAAE,KAAK;;;;;6CALL,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,OAAO,OAAO,QAAQ;IAC3L,cAAc,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,WAAW,OAAO,SAAS,KAAK,GAAG;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IAC9G,eAAe,QAAQ,CAAC"}
|
|
@@ -31,81 +31,39 @@
|
|
|
31
31
|
handleClick(event);
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
+
|
|
35
|
+
// Flowbite dropdown item classes
|
|
36
|
+
const baseClasses = "block w-full text-left px-4 py-2 text-sm hover:bg-gray-100 dark:hover:bg-gray-600 dark:hover:text-white";
|
|
37
|
+
const activeClasses = "bg-blue-50 text-blue-700 dark:bg-gray-600 dark:text-white";
|
|
38
|
+
const disabledClasses = "opacity-50 cursor-not-allowed";
|
|
39
|
+
const defaultClasses = "text-gray-700 dark:text-gray-200";
|
|
34
40
|
</script>
|
|
35
41
|
|
|
36
42
|
{#if href}
|
|
37
|
-
<
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
</
|
|
43
|
+
<li>
|
|
44
|
+
<a
|
|
45
|
+
{href}
|
|
46
|
+
class="{baseClasses} {isActive ? activeClasses : defaultClasses} {disabled ? disabledClasses : 'cursor-pointer'} {className}"
|
|
47
|
+
role="menuitem"
|
|
48
|
+
tabindex={disabled ? -1 : 0}
|
|
49
|
+
on:click={handleClick}
|
|
50
|
+
on:keydown={handleKeydown}
|
|
51
|
+
>
|
|
52
|
+
<slot />
|
|
53
|
+
</a>
|
|
54
|
+
</li>
|
|
49
55
|
{:else}
|
|
50
|
-
<
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
56
|
+
<li>
|
|
57
|
+
<button
|
|
58
|
+
type="button"
|
|
59
|
+
class="{baseClasses} {defaultClasses} {disabled ? disabledClasses : 'cursor-pointer'} {className}"
|
|
60
|
+
role="menuitem"
|
|
61
|
+
tabindex={disabled ? -1 : 0}
|
|
62
|
+
{disabled}
|
|
63
|
+
on:click={handleClick}
|
|
64
|
+
on:keydown={handleKeydown}
|
|
65
|
+
>
|
|
66
|
+
<slot />
|
|
67
|
+
</button>
|
|
68
|
+
</li>
|
|
62
69
|
{/if}
|
|
63
|
-
|
|
64
|
-
<style>
|
|
65
|
-
.dropdown-item {
|
|
66
|
-
display: flex;
|
|
67
|
-
align-items: center;
|
|
68
|
-
width: 100%;
|
|
69
|
-
padding: 0.5rem 1rem;
|
|
70
|
-
font-size: 0.875rem;
|
|
71
|
-
color: hsl(var(--Text-Primary, 220 13% 13%));
|
|
72
|
-
background: transparent;
|
|
73
|
-
border: none;
|
|
74
|
-
text-align: left;
|
|
75
|
-
cursor: pointer;
|
|
76
|
-
text-decoration: none;
|
|
77
|
-
transition: background-color 0.15s ease;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
.dropdown-item:hover:not(.dropdown-item--disabled) {
|
|
81
|
-
background-color: hsl(var(--BG-Secondary, 220 14% 96%));
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
.dropdown-item:focus {
|
|
85
|
-
outline: none;
|
|
86
|
-
background-color: hsl(var(--BG-Secondary, 220 14% 96%));
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
.dropdown-item--active {
|
|
90
|
-
background-color: hsl(var(--Brand-Primary, 221 83% 53%) / 0.1);
|
|
91
|
-
color: hsl(var(--Brand-Primary, 221 83% 53%));
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
.dropdown-item--disabled {
|
|
95
|
-
opacity: 0.5;
|
|
96
|
-
cursor: not-allowed;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/* Dark mode */
|
|
100
|
-
:global(.dark) .dropdown-item {
|
|
101
|
-
color: hsl(var(--Text-Primary, 0 0% 95%));
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
:global(.dark) .dropdown-item:hover:not(.dropdown-item--disabled) {
|
|
105
|
-
background-color: hsl(var(--BG-Secondary, 220 13% 20%));
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
:global(.dark) .dropdown-item:focus {
|
|
109
|
-
background-color: hsl(var(--BG-Secondary, 220 13% 20%));
|
|
110
|
-
}
|
|
111
|
-
</style>
|