@myrjfa/ui 2.1.9 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chat/ChatMain.d.ts +1 -1
- package/dist/chat/ChatMain.d.ts.map +1 -1
- package/dist/chat/ChatMain.js +3 -3
- package/dist/chat/ChatSidebar.d.ts +1 -1
- package/dist/chat/ChatSidebar.d.ts.map +1 -1
- package/dist/chat/ConversationList.d.ts +1 -1
- package/dist/chat/ConversationList.d.ts.map +1 -1
- package/dist/chat/ConversationList.js +1 -1
- package/dist/chat/ExpensePanel.js +1 -1
- package/dist/chat/MessageBubble.d.ts +1 -1
- package/dist/chat/MessageBubble.d.ts.map +1 -1
- package/dist/chat/MessageInput.js +1 -1
- package/dist/chat/MilestonePanel.js +1 -1
- package/dist/chat/components/SplitInputs.d.ts +1 -1
- package/dist/chat/components/SplitInputs.d.ts.map +1 -1
- package/dist/chat/components/SplitTypeSelector.d.ts +1 -1
- package/dist/chat/components/SplitTypeSelector.d.ts.map +1 -1
- package/dist/chat/dialogs/AddMemberDialog.d.ts +1 -1
- package/dist/chat/dialogs/AddMemberDialog.d.ts.map +1 -1
- package/dist/chat/dialogs/AddMemberDialog.js +1 -1
- package/dist/chat/dialogs/ExpenseAnalyticsDialog.js +1 -1
- package/dist/chat/dialogs/GroupInfoDialog.d.ts +1 -1
- package/dist/chat/dialogs/GroupInfoDialog.d.ts.map +1 -1
- package/dist/chat/dialogs/GroupInfoDialog.js +1 -1
- package/dist/chat/dialogs/GroupInfoViewDialog.d.ts +1 -1
- package/dist/chat/dialogs/GroupInfoViewDialog.d.ts.map +1 -1
- package/dist/chat/dialogs/NewChatDialog.js +2 -2
- package/dist/chat/dialogs/NewGroupDialog.js +2 -2
- package/dist/chat/dialogs/ParticipantsDialog.d.ts +1 -1
- package/dist/chat/dialogs/ParticipantsDialog.d.ts.map +1 -1
- package/dist/chat/dialogs/ParticipantsDialog.js +1 -1
- package/dist/components/CityAutocomplete.d.ts +5 -0
- package/dist/components/CityAutocomplete.d.ts.map +1 -0
- package/dist/components/CityAutocomplete.js +112 -0
- package/dist/components/CreateListingDropdown.d.ts +5 -0
- package/dist/components/CreateListingDropdown.d.ts.map +1 -0
- package/dist/components/CreateListingDropdown.js +21 -0
- package/dist/components/DestinationAutocomplete.d.ts +11 -0
- package/dist/components/DestinationAutocomplete.d.ts.map +1 -0
- package/dist/components/DestinationAutocomplete.js +24 -0
- package/dist/components/StateAutocomplete.d.ts +10 -0
- package/dist/components/StateAutocomplete.d.ts.map +1 -0
- package/dist/components/StateAutocomplete.js +34 -0
- package/dist/components/admin/AdminBookingRegistrationsList.d.ts +5 -0
- package/dist/components/admin/AdminBookingRegistrationsList.d.ts.map +1 -0
- package/dist/components/admin/AdminBookingRegistrationsList.js +69 -0
- package/dist/components/admin/AdminListingActionsWrapper.d.ts +9 -0
- package/dist/components/admin/AdminListingActionsWrapper.d.ts.map +1 -0
- package/dist/components/admin/AdminListingActionsWrapper.js +200 -0
- package/dist/components/ads/ActivateAdPlacementButton.d.ts +6 -0
- package/dist/components/ads/ActivateAdPlacementButton.d.ts.map +1 -0
- package/dist/components/ads/ActivateAdPlacementButton.js +27 -0
- package/dist/components/ads/AdOfferCard.d.ts +6 -0
- package/dist/components/ads/AdOfferCard.d.ts.map +1 -0
- package/dist/components/ads/AdOfferCard.js +15 -0
- package/dist/components/adventure/AdventureAvailabilityPlanner.d.ts +17 -0
- package/dist/components/adventure/AdventureAvailabilityPlanner.d.ts.map +1 -0
- package/dist/components/adventure/AdventureAvailabilityPlanner.js +106 -0
- package/dist/components/adventure/AdventureQueryCard.d.ts +5 -0
- package/dist/components/adventure/AdventureQueryCard.d.ts.map +1 -0
- package/dist/components/adventure/AdventureQueryCard.js +65 -0
- package/dist/components/adventure/AdventureSlotBuilder.d.ts +41 -0
- package/dist/components/adventure/AdventureSlotBuilder.d.ts.map +1 -0
- package/dist/components/adventure/AdventureSlotBuilder.js +146 -0
- package/dist/components/booking/booking-form.d.ts +39 -0
- package/dist/components/booking/booking-form.d.ts.map +1 -0
- package/dist/components/booking/booking-form.js +824 -0
- package/dist/components/brand/BrandPageView.d.ts +8 -0
- package/dist/components/brand/BrandPageView.d.ts.map +1 -0
- package/dist/components/brand/BrandPageView.js +97 -0
- package/dist/components/companion/AnonymousChat.d.ts +22 -0
- package/dist/components/companion/AnonymousChat.d.ts.map +1 -0
- package/dist/components/companion/AnonymousChat.js +24 -0
- package/dist/components/companion/SwipeCard.d.ts +25 -0
- package/dist/components/companion/SwipeCard.d.ts.map +1 -0
- package/dist/components/companion/SwipeCard.js +58 -0
- package/dist/components/create-flow/ConfirmDiscardDialog.d.ts +11 -0
- package/dist/components/create-flow/ConfirmDiscardDialog.d.ts.map +1 -0
- package/dist/components/create-flow/ConfirmDiscardDialog.js +14 -0
- package/dist/components/create-flow/EntityEditLoadingState.d.ts +2 -0
- package/dist/components/create-flow/EntityEditLoadingState.d.ts.map +1 -0
- package/dist/components/create-flow/EntityEditLoadingState.js +6 -0
- package/dist/components/create-flow/EntityFormCompletionState.d.ts +12 -0
- package/dist/components/create-flow/EntityFormCompletionState.d.ts.map +1 -0
- package/dist/components/create-flow/EntityFormCompletionState.js +10 -0
- package/dist/components/create-flow/EntityFormHeader.d.ts +9 -0
- package/dist/components/create-flow/EntityFormHeader.d.ts.map +1 -0
- package/dist/components/create-flow/EntityFormHeader.js +7 -0
- package/dist/components/create-flow/EntityFormPageFrame.d.ts +10 -0
- package/dist/components/create-flow/EntityFormPageFrame.d.ts.map +1 -0
- package/dist/components/create-flow/EntityFormPageFrame.js +10 -0
- package/dist/components/create-flow/ImageUploadStep.d.ts +15 -0
- package/dist/components/create-flow/ImageUploadStep.d.ts.map +1 -0
- package/dist/components/create-flow/ImageUploadStep.js +11 -0
- package/dist/components/create-flow/ImageUploader.d.ts +30 -0
- package/dist/components/create-flow/ImageUploader.d.ts.map +1 -0
- package/dist/components/create-flow/ImageUploader.js +193 -0
- package/dist/components/create-flow/MultiStepWizard.d.ts +25 -0
- package/dist/components/create-flow/MultiStepWizard.d.ts.map +1 -0
- package/dist/components/create-flow/MultiStepWizard.js +31 -0
- package/dist/components/create-flow/ReviewConfirmationCard.d.ts +8 -0
- package/dist/components/create-flow/ReviewConfirmationCard.d.ts.map +1 -0
- package/dist/components/create-flow/ReviewConfirmationCard.js +5 -0
- package/dist/components/create-flow/ReviewMetricGrid.d.ts +15 -0
- package/dist/components/create-flow/ReviewMetricGrid.d.ts.map +1 -0
- package/dist/components/create-flow/ReviewMetricGrid.js +8 -0
- package/dist/components/create-flow/TemplateSelectionDialog.d.ts +17 -0
- package/dist/components/create-flow/TemplateSelectionDialog.d.ts.map +1 -0
- package/dist/components/create-flow/TemplateSelectionDialog.js +7 -0
- package/dist/components/enquiry/EnquiryFormParts.d.ts +40 -0
- package/dist/components/enquiry/EnquiryFormParts.d.ts.map +1 -0
- package/dist/components/enquiry/EnquiryFormParts.js +29 -0
- package/dist/components/form-sections/FaqSection.d.ts +24 -0
- package/dist/components/form-sections/FaqSection.d.ts.map +1 -0
- package/dist/components/form-sections/FaqSection.js +17 -0
- package/dist/components/form-sections/ImageUploadSection.d.ts +12 -0
- package/dist/components/form-sections/ImageUploadSection.d.ts.map +1 -0
- package/dist/components/form-sections/ImageUploadSection.js +8 -0
- package/dist/components/form-sections/OpportunityBasicsSection.d.ts +8 -0
- package/dist/components/form-sections/OpportunityBasicsSection.d.ts.map +1 -0
- package/dist/components/form-sections/OpportunityBasicsSection.js +26 -0
- package/dist/components/form-sections/OpportunityDetailsSection.d.ts +18 -0
- package/dist/components/form-sections/OpportunityDetailsSection.d.ts.map +1 -0
- package/dist/components/form-sections/OpportunityDetailsSection.js +10 -0
- package/dist/components/form-sections/OpportunityTypeSection.d.ts +7 -0
- package/dist/components/form-sections/OpportunityTypeSection.d.ts.map +1 -0
- package/dist/components/form-sections/OpportunityTypeSection.js +15 -0
- package/dist/components/form-sections/PackageDetailsSection.d.ts +22 -0
- package/dist/components/form-sections/PackageDetailsSection.d.ts.map +1 -0
- package/dist/components/form-sections/PackageDetailsSection.js +20 -0
- package/dist/components/form-sections/PackageItinerarySection.d.ts +21 -0
- package/dist/components/form-sections/PackageItinerarySection.d.ts.map +1 -0
- package/dist/components/form-sections/PackageItinerarySection.js +112 -0
- package/dist/components/form-sections/PackagePricingSection.d.ts +8 -0
- package/dist/components/form-sections/PackagePricingSection.d.ts.map +1 -0
- package/dist/components/form-sections/PackagePricingSection.js +11 -0
- package/dist/components/form-sections/PackageReviewSection.d.ts +12 -0
- package/dist/components/form-sections/PackageReviewSection.d.ts.map +1 -0
- package/dist/components/form-sections/PackageReviewSection.js +26 -0
- package/dist/components/form-sections/RentalBasicsSection.d.ts +12 -0
- package/dist/components/form-sections/RentalBasicsSection.d.ts.map +1 -0
- package/dist/components/form-sections/RentalBasicsSection.js +91 -0
- package/dist/components/form-sections/RentalCapacitySection.d.ts +9 -0
- package/dist/components/form-sections/RentalCapacitySection.d.ts.map +1 -0
- package/dist/components/form-sections/RentalCapacitySection.js +23 -0
- package/dist/components/form-sections/RentalLocationSection.d.ts +10 -0
- package/dist/components/form-sections/RentalLocationSection.d.ts.map +1 -0
- package/dist/components/form-sections/RentalLocationSection.js +41 -0
- package/dist/components/form-sections/RentalPhotosSection.d.ts +8 -0
- package/dist/components/form-sections/RentalPhotosSection.d.ts.map +1 -0
- package/dist/components/form-sections/RentalPhotosSection.js +7 -0
- package/dist/components/form-sections/RentalReviewSection.d.ts +10 -0
- package/dist/components/form-sections/RentalReviewSection.d.ts.map +1 -0
- package/dist/components/form-sections/RentalReviewSection.js +27 -0
- package/dist/components/form-sections/RentalRulesSection.d.ts +7 -0
- package/dist/components/form-sections/RentalRulesSection.d.ts.map +1 -0
- package/dist/components/form-sections/RentalRulesSection.js +10 -0
- package/dist/components/form-sections/RentalSpecsSection.d.ts +7 -0
- package/dist/components/form-sections/RentalSpecsSection.d.ts.map +1 -0
- package/dist/components/form-sections/RentalSpecsSection.js +10 -0
- package/dist/components/host-dashboard/HostCalendar.d.ts +8 -0
- package/dist/components/host-dashboard/HostCalendar.d.ts.map +1 -0
- package/dist/components/host-dashboard/HostCalendar.js +43 -0
- package/dist/components/host-dashboard/HostCalendarGrid.d.ts +34 -0
- package/dist/components/host-dashboard/HostCalendarGrid.d.ts.map +1 -0
- package/dist/components/host-dashboard/HostCalendarGrid.js +30 -0
- package/dist/components/host-dashboard/HostListingMultiSelect.d.ts +12 -0
- package/dist/components/host-dashboard/HostListingMultiSelect.d.ts.map +1 -0
- package/dist/components/host-dashboard/HostListingMultiSelect.js +24 -0
- package/dist/components/host-dashboard/HostManageCalendarShell.d.ts +17 -0
- package/dist/components/host-dashboard/HostManageCalendarShell.d.ts.map +1 -0
- package/dist/components/host-dashboard/HostManageCalendarShell.js +5 -0
- package/dist/components/host-dashboard/HostSidebarNavigation.d.ts +2 -0
- package/dist/components/host-dashboard/HostSidebarNavigation.d.ts.map +1 -0
- package/dist/components/host-dashboard/HostSidebarNavigation.js +262 -0
- package/dist/components/host-dashboard/ManageFeatureSwitcher.d.ts +15 -0
- package/dist/components/host-dashboard/ManageFeatureSwitcher.d.ts.map +1 -0
- package/dist/components/host-dashboard/ManageFeatureSwitcher.js +43 -0
- package/dist/components/host-dashboard/PageHeader.d.ts +14 -0
- package/dist/components/host-dashboard/PageHeader.d.ts.map +1 -0
- package/dist/components/host-dashboard/PageHeader.js +8 -0
- package/dist/components/host-dashboard/PlaceholderPage.d.ts +4 -0
- package/dist/components/host-dashboard/PlaceholderPage.d.ts.map +1 -0
- package/dist/components/host-dashboard/PlaceholderPage.js +9 -0
- package/dist/components/host-dashboard/StatCard.d.ts +15 -0
- package/dist/components/host-dashboard/StatCard.d.ts.map +1 -0
- package/dist/components/host-dashboard/StatCard.js +38 -0
- package/dist/components/layout/AppProviders.d.ts +5 -0
- package/dist/components/layout/AppProviders.d.ts.map +1 -0
- package/dist/components/layout/AppProviders.js +11 -0
- package/dist/components/layout/PublicRouteLayout.d.ts +5 -0
- package/dist/components/layout/PublicRouteLayout.d.ts.map +1 -0
- package/dist/components/layout/PublicRouteLayout.js +5 -0
- package/dist/components/layout/PublicShell.d.ts +5 -0
- package/dist/components/layout/PublicShell.d.ts.map +1 -0
- package/dist/components/layout/PublicShell.js +5 -0
- package/dist/components/location/LocationPicker.d.ts +27 -0
- package/dist/components/location/LocationPicker.d.ts.map +1 -0
- package/dist/components/location/LocationPicker.js +415 -0
- package/dist/components/location/LocationPreview.d.ts +11 -0
- package/dist/components/location/LocationPreview.d.ts.map +1 -0
- package/dist/components/location/LocationPreview.js +12 -0
- package/dist/components/location/MapPicker.d.ts +9 -0
- package/dist/components/location/MapPicker.d.ts.map +1 -0
- package/dist/components/location/MapPicker.js +40 -0
- package/dist/components/location/MapPreview.d.ts +8 -0
- package/dist/components/location/MapPreview.d.ts.map +1 -0
- package/dist/components/location/MapPreview.js +17 -0
- package/dist/components/location/PlaceLinkInline.d.ts +14 -0
- package/dist/components/location/PlaceLinkInline.d.ts.map +1 -0
- package/dist/components/location/PlaceLinkInline.js +30 -0
- package/dist/components/location/leafletMap.d.ts +8 -0
- package/dist/components/location/leafletMap.d.ts.map +1 -0
- package/dist/components/location/leafletMap.js +74 -0
- package/dist/components/ui/GuestOrLoginDialog.d.ts +11 -0
- package/dist/components/ui/GuestOrLoginDialog.d.ts.map +1 -0
- package/dist/components/ui/GuestOrLoginDialog.js +19 -0
- package/dist/components/ui/ImageGalleryViewer.d.ts +10 -0
- package/dist/components/ui/ImageGalleryViewer.d.ts.map +1 -0
- package/dist/components/ui/ImageGalleryViewer.js +59 -0
- package/dist/components/ui/LocationInput.d.ts +12 -0
- package/dist/components/ui/LocationInput.d.ts.map +1 -0
- package/dist/components/ui/LocationInput.js +39 -0
- package/dist/components/ui/PropertyGalleryClient.d.ts +8 -0
- package/dist/components/ui/PropertyGalleryClient.d.ts.map +1 -0
- package/dist/components/ui/PropertyGalleryClient.js +22 -0
- package/dist/components/ui/calendar.d.ts +9 -0
- package/dist/components/ui/calendar.d.ts.map +1 -0
- package/dist/components/ui/calendar.js +75 -0
- package/dist/components/ui/dashboard/admin-adventures-table.d.ts +12 -0
- package/dist/components/ui/dashboard/admin-adventures-table.d.ts.map +1 -0
- package/dist/components/ui/dashboard/admin-adventures-table.js +94 -0
- package/dist/components/ui/dashboard/admin-blogs-table.d.ts +11 -0
- package/dist/components/ui/dashboard/admin-blogs-table.d.ts.map +1 -0
- package/dist/components/ui/dashboard/admin-blogs-table.js +58 -0
- package/dist/components/ui/dashboard/admin-opportunities-table.d.ts +20 -0
- package/dist/components/ui/dashboard/admin-opportunities-table.d.ts.map +1 -0
- package/dist/components/ui/dashboard/admin-opportunities-table.js +133 -0
- package/dist/components/ui/dashboard/admin-rentals-table.d.ts +12 -0
- package/dist/components/ui/dashboard/admin-rentals-table.d.ts.map +1 -0
- package/dist/components/ui/dashboard/admin-rentals-table.js +85 -0
- package/dist/components/ui/dashboard/admin-travel-package-table.d.ts +16 -0
- package/dist/components/ui/dashboard/admin-travel-package-table.d.ts.map +1 -0
- package/dist/components/ui/dashboard/admin-travel-package-table.js +100 -0
- package/dist/components/ui/dashboard/adventures-table.d.ts +16 -0
- package/dist/components/ui/dashboard/adventures-table.d.ts.map +1 -0
- package/dist/components/ui/dashboard/adventures-table.js +151 -0
- package/dist/components/ui/dashboard/approver-applications-table.d.ts +13 -0
- package/dist/components/ui/dashboard/approver-applications-table.d.ts.map +1 -0
- package/dist/components/ui/dashboard/approver-applications-table.js +85 -0
- package/dist/components/ui/dashboard/approver-package-enquiries-table.d.ts +11 -0
- package/dist/components/ui/dashboard/approver-package-enquiries-table.d.ts.map +1 -0
- package/dist/components/ui/dashboard/approver-package-enquiries-table.js +102 -0
- package/dist/components/ui/dashboard/archive-confirm-modal.d.ts +9 -0
- package/dist/components/ui/dashboard/archive-confirm-modal.d.ts.map +1 -0
- package/dist/components/ui/dashboard/archive-confirm-modal.js +6 -0
- package/dist/components/ui/dashboard/blogs-table.d.ts +10 -0
- package/dist/components/ui/dashboard/blogs-table.d.ts.map +1 -0
- package/dist/components/ui/dashboard/blogs-table.js +62 -0
- package/dist/components/ui/dashboard/bookings-table.d.ts +12 -0
- package/dist/components/ui/dashboard/bookings-table.d.ts.map +1 -0
- package/dist/components/ui/dashboard/bookings-table.js +160 -0
- package/dist/components/ui/dashboard/dashboard-page-shell.d.ts +7 -0
- package/dist/components/ui/dashboard/dashboard-page-shell.d.ts.map +1 -0
- package/dist/components/ui/dashboard/dashboard-page-shell.js +5 -0
- package/dist/components/ui/dashboard/data-table-shell.d.ts +18 -0
- package/dist/components/ui/dashboard/data-table-shell.d.ts.map +1 -0
- package/dist/components/ui/dashboard/data-table-shell.js +6 -0
- package/dist/components/ui/dashboard/delete-confirm-modal.d.ts +9 -0
- package/dist/components/ui/dashboard/delete-confirm-modal.d.ts.map +1 -0
- package/dist/components/ui/dashboard/delete-confirm-modal.js +6 -0
- package/dist/components/ui/dashboard/entity-list-page-state.d.ts +25 -0
- package/dist/components/ui/dashboard/entity-list-page-state.d.ts.map +1 -0
- package/dist/components/ui/dashboard/entity-list-page-state.js +17 -0
- package/dist/components/ui/dashboard/generic-entity-table.d.ts +36 -0
- package/dist/components/ui/dashboard/generic-entity-table.d.ts.map +1 -0
- package/dist/components/ui/dashboard/generic-entity-table.js +203 -0
- package/dist/components/ui/dashboard/opportunities-table.d.ts +17 -0
- package/dist/components/ui/dashboard/opportunities-table.d.ts.map +1 -0
- package/dist/components/ui/dashboard/opportunities-table.js +143 -0
- package/dist/components/ui/dashboard/rentals-table.d.ts +17 -0
- package/dist/components/ui/dashboard/rentals-table.d.ts.map +1 -0
- package/dist/components/ui/dashboard/rentals-table.js +155 -0
- package/dist/components/ui/dashboard/restore-confirm-modal.d.ts +9 -0
- package/dist/components/ui/dashboard/restore-confirm-modal.d.ts.map +1 -0
- package/dist/components/ui/dashboard/restore-confirm-modal.js +6 -0
- package/dist/components/ui/dashboard/stats-card.d.ts +6 -0
- package/dist/components/ui/dashboard/stats-card.d.ts.map +1 -0
- package/dist/components/ui/dashboard/stats-card.js +5 -0
- package/dist/components/ui/dashboard/travel-packages-table.d.ts +16 -0
- package/dist/components/ui/dashboard/travel-packages-table.d.ts.map +1 -0
- package/dist/components/ui/dashboard/travel-packages-table.js +134 -0
- package/dist/components/ui/dashboard/user-applications-table.d.ts +12 -0
- package/dist/components/ui/dashboard/user-applications-table.d.ts.map +1 -0
- package/dist/components/ui/dashboard/user-applications-table.js +79 -0
- package/dist/components/ui/loading-skeleton.d.ts +10 -0
- package/dist/components/ui/loading-skeleton.d.ts.map +1 -0
- package/dist/components/ui/loading-skeleton.js +49 -0
- package/dist/components/ui/misc/IosPwaNavBar.d.ts +8 -0
- package/dist/components/ui/misc/IosPwaNavBar.d.ts.map +1 -0
- package/dist/components/ui/misc/IosPwaNavBar.js +25 -0
- package/dist/components/ui/misc/document-upload-button.d.ts +10 -0
- package/dist/components/ui/misc/document-upload-button.d.ts.map +1 -0
- package/dist/components/ui/misc/document-upload-button.js +12 -0
- package/dist/components/ui/misc/empty-state.d.ts +9 -0
- package/dist/components/ui/misc/empty-state.d.ts.map +1 -0
- package/dist/components/ui/misc/empty-state.js +4 -0
- package/dist/components/ui/misc/image-cropper.d.ts +9 -0
- package/dist/components/ui/misc/image-cropper.d.ts.map +1 -0
- package/dist/components/ui/misc/image-cropper.js +28 -0
- package/dist/components/ui/misc/rental-tile.d.ts +6 -0
- package/dist/components/ui/misc/rental-tile.d.ts.map +1 -0
- package/dist/components/ui/misc/rental-tile.js +56 -0
- package/dist/components/ui/misc/skeleton-extras.d.ts +32 -0
- package/dist/components/ui/misc/skeleton-extras.d.ts.map +1 -0
- package/dist/components/ui/misc/skeleton-extras.js +58 -0
- package/dist/components/ui/misc/tile.d.ts +4 -0
- package/dist/components/ui/misc/tile.d.ts.map +1 -0
- package/dist/components/ui/misc/tile.js +45 -0
- package/dist/components/ui/misc/whatsapp-help.d.ts +7 -0
- package/dist/components/ui/misc/whatsapp-help.d.ts.map +1 -0
- package/dist/components/ui/misc/whatsapp-help.js +6 -0
- package/dist/components/ui/motion.d.ts +14 -0
- package/dist/components/ui/motion.d.ts.map +1 -0
- package/dist/components/ui/motion.js +17 -0
- package/dist/components/ui/trippeaze/breadcrumb-trail.d.ts +10 -0
- package/dist/components/ui/trippeaze/breadcrumb-trail.d.ts.map +1 -0
- package/dist/components/ui/trippeaze/breadcrumb-trail.js +15 -0
- package/dist/components/ui/trippeaze/chip-tabs.d.ts +13 -0
- package/dist/components/ui/trippeaze/chip-tabs.d.ts.map +1 -0
- package/dist/components/ui/trippeaze/chip-tabs.js +6 -0
- package/dist/components/ui/trippeaze/page-shell.d.ts +22 -0
- package/dist/components/ui/trippeaze/page-shell.d.ts.map +1 -0
- package/dist/components/ui/trippeaze/page-shell.js +15 -0
- package/dist/components/ui/trippeaze/search-input.d.ts +5 -0
- package/dist/components/ui/trippeaze/search-input.d.ts.map +1 -0
- package/dist/components/ui/trippeaze/search-input.js +7 -0
- package/dist/components/user-dashboard/UserDashboardShellSidebar.d.ts +2 -0
- package/dist/components/user-dashboard/UserDashboardShellSidebar.d.ts.map +1 -0
- package/dist/components/user-dashboard/UserDashboardShellSidebar.js +17 -0
- package/dist/components/user-dashboard/UserSidebarNav.d.ts +2 -0
- package/dist/components/user-dashboard/UserSidebarNav.d.ts.map +1 -0
- package/dist/components/user-dashboard/UserSidebarNav.js +67 -0
- package/dist/dashboard/action-buttons.d.ts +2 -1
- package/dist/dashboard/action-buttons.d.ts.map +1 -1
- package/dist/dashboard/action-buttons.js +18 -11
- package/dist/dashboard/app-sidebar.d.ts.map +1 -1
- package/dist/dashboard/app-sidebar.js +3 -36
- package/dist/dashboard/dashboard-components.js +1 -1
- package/dist/dashboard/data-table.d.ts +5 -1
- package/dist/dashboard/data-table.d.ts.map +1 -1
- package/dist/dashboard/data-table.js +39 -7
- package/dist/dashboard/table.js +1 -1
- package/dist/header/mobile-nav-item.js +2 -2
- package/dist/header/mobile-navbar.d.ts.map +1 -1
- package/dist/header/mobile-navbar.js +10 -1
- package/dist/header/nav-item.js +2 -2
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -0
- package/dist/main/footer.d.ts +0 -1
- package/dist/main/footer.d.ts.map +1 -1
- package/dist/main/footer.js +0 -1
- package/dist/main/navbar.d.ts +2 -2
- package/dist/main/navbar.d.ts.map +1 -1
- package/dist/main/navbar.js +73 -44
- package/dist/main/portfolio/portfolioItem.d.ts +1 -1
- package/dist/main/portfolio/portfolioItem.d.ts.map +1 -1
- package/dist/main/portfolio/portfolioPopup.d.ts +1 -1
- package/dist/main/portfolio/portfolioPopup.d.ts.map +1 -1
- package/dist/main/review-page.d.ts +2 -1
- package/dist/main/review-page.d.ts.map +1 -1
- package/dist/main/review-page.js +34 -4
- package/dist/misc/accordion.js +1 -1
- package/dist/misc/alert-dialog.js +1 -1
- package/dist/misc/alert.js +1 -1
- package/dist/misc/alertdialogclaude.js +1 -1
- package/dist/misc/avatar.js +1 -1
- package/dist/misc/badge.js +1 -1
- package/dist/misc/button.d.ts +6 -3
- package/dist/misc/button.d.ts.map +1 -1
- package/dist/misc/button.js +33 -5
- package/dist/misc/card.js +1 -1
- package/dist/misc/carousel.d.ts +2 -2
- package/dist/misc/carousel.d.ts.map +1 -1
- package/dist/misc/carousel.js +13 -5
- package/dist/misc/checkbox.js +1 -1
- package/dist/misc/command.js +1 -1
- package/dist/misc/datepicker.d.ts +2 -1
- package/dist/misc/datepicker.d.ts.map +1 -1
- package/dist/misc/datepicker.js +23 -21
- package/dist/misc/dialog.js +1 -1
- package/dist/misc/discount-strategy-editor.d.ts +11 -0
- package/dist/misc/discount-strategy-editor.d.ts.map +1 -0
- package/dist/misc/discount-strategy-editor.js +82 -0
- package/dist/misc/dropdown-menu.js +1 -1
- package/dist/misc/faq.d.ts +1 -1
- package/dist/misc/faq.d.ts.map +1 -1
- package/dist/misc/filter.js +2 -2
- package/dist/misc/filterBar.d.ts +11 -3
- package/dist/misc/filterBar.d.ts.map +1 -1
- package/dist/misc/filterBar.js +109 -55
- package/dist/misc/form.js +1 -1
- package/dist/misc/input.d.ts +4 -1
- package/dist/misc/input.d.ts.map +1 -1
- package/dist/misc/input.js +8 -3
- package/dist/misc/label.js +1 -1
- package/dist/misc/listing-wishlist-button.d.ts +13 -0
- package/dist/misc/listing-wishlist-button.d.ts.map +1 -0
- package/dist/misc/listing-wishlist-button.js +42 -0
- package/dist/misc/location/locationPicker.js +1 -1
- package/dist/misc/location-autocomplete.d.ts +28 -0
- package/dist/misc/location-autocomplete.d.ts.map +1 -0
- package/dist/misc/location-autocomplete.js +121 -0
- package/dist/misc/notification.js +2 -2
- package/dist/misc/pagination.js +1 -1
- package/dist/misc/popover.js +1 -1
- package/dist/misc/pricing-strategy-editor.d.ts +17 -0
- package/dist/misc/pricing-strategy-editor.d.ts.map +1 -0
- package/dist/misc/pricing-strategy-editor.js +80 -0
- package/dist/misc/progress.js +1 -1
- package/dist/misc/pwa-install-button.d.ts.map +1 -1
- package/dist/misc/pwa-install-button.js +2 -0
- package/dist/misc/rental-tile.d.ts +1 -1
- package/dist/misc/rental-tile.d.ts.map +1 -1
- package/dist/misc/rental-tile.js +24 -14
- package/dist/misc/scroll-area.js +1 -1
- package/dist/misc/select.js +1 -1
- package/dist/misc/separator.js +1 -1
- package/dist/misc/sheet.js +1 -1
- package/dist/misc/sidebar.js +2 -2
- package/dist/misc/slider.js +1 -1
- package/dist/misc/stateCard.d.ts +1 -1
- package/dist/misc/stateCard.d.ts.map +1 -1
- package/dist/misc/stateCard.js +1 -1
- package/dist/misc/step-progress.d.ts +16 -0
- package/dist/misc/step-progress.d.ts.map +1 -0
- package/dist/misc/step-progress.js +40 -0
- package/dist/misc/switch.js +1 -1
- package/dist/misc/tabs.js +1 -1
- package/dist/misc/tag-filter-input.d.ts +16 -0
- package/dist/misc/tag-filter-input.d.ts.map +1 -0
- package/dist/misc/tag-filter-input.js +26 -0
- package/dist/misc/textarea.js +1 -1
- package/dist/misc/tile.d.ts +1 -1
- package/dist/misc/tile.d.ts.map +1 -1
- package/dist/misc/tile.js +12 -47
- package/dist/misc/time-select.d.ts +14 -0
- package/dist/misc/time-select.d.ts.map +1 -0
- package/dist/misc/time-select.js +13 -0
- package/dist/misc/tooltip.js +1 -1
- package/dist/misc/wizard-footer.d.ts +18 -0
- package/dist/misc/wizard-footer.d.ts.map +1 -0
- package/dist/misc/wizard-footer.js +11 -0
- package/package.json +9 -6
- package/dist/misc/dashboard/action-buttons.js +0 -31
- package/dist/misc/misc/alertdialogclaude.js +0 -221
- package/dist/misc/misc/button.js +0 -46
- package/dist/misc/misc/dropdown-menu.js +0 -136
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Skeleton } from '@myrjfa/ui/dist/misc/skeleton';
|
|
3
|
+
export function FeedSkeleton({ count = 6 }) {
|
|
4
|
+
return (_jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6", children: Array.from({ length: count }).map((_, i) => (_jsxs("div", { className: "flex flex-col gap-3", children: [_jsx(Skeleton, { className: "h-48 w-full rounded-xl" }), _jsx(Skeleton, { className: "h-4 w-3/4" }), _jsx(Skeleton, { className: "h-4 w-1/2" })] }, i))) }));
|
|
5
|
+
}
|
|
6
|
+
export function SkeletonList({ count = 5 }) {
|
|
7
|
+
return (_jsx("div", { className: "flex flex-col gap-3", children: Array.from({ length: count }).map((_, i) => (_jsxs("div", { className: "flex items-center gap-4", children: [_jsx(Skeleton, { className: "h-12 w-12 rounded-full" }), _jsxs("div", { className: "flex flex-col gap-2 flex-1", children: [_jsx(Skeleton, { className: "h-4 w-3/4" }), _jsx(Skeleton, { className: "h-3 w-1/2" })] })] }, i))) }));
|
|
8
|
+
}
|
|
9
|
+
export function DetailPageSkeleton() {
|
|
10
|
+
return (_jsxs("div", { className: "flex flex-col gap-6 p-6 max-w-4xl mx-auto", children: [_jsx(Skeleton, { className: "h-64 w-full rounded-xl" }), _jsx(Skeleton, { className: "h-8 w-2/3" }), _jsx(Skeleton, { className: "h-4 w-full" }), _jsx(Skeleton, { className: "h-4 w-5/6" }), _jsx(Skeleton, { className: "h-4 w-4/5" }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsx(Skeleton, { className: "h-24 rounded-lg" }), _jsx(Skeleton, { className: "h-24 rounded-lg" })] })] }));
|
|
11
|
+
}
|
|
12
|
+
// ── Companion Skeletons ────────────────────────────────────────────────────────
|
|
13
|
+
export function TripCardSkeleton() {
|
|
14
|
+
return (_jsxs("div", { className: "bg-white rounded-3xl overflow-hidden border border-slate-100 flex flex-col", children: [_jsx(Skeleton, { className: "h-36 w-full rounded-none" }), _jsxs("div", { className: "p-5 flex flex-col gap-3", children: [_jsx(Skeleton, { className: "h-4 w-2/3" }), _jsx(Skeleton, { className: "h-4 w-full" }), _jsx(Skeleton, { className: "h-3 w-1/2" }), _jsxs("div", { className: "flex gap-1.5 mt-1", children: [_jsx(Skeleton, { className: "h-5 w-14 rounded-full" }), _jsx(Skeleton, { className: "h-5 w-16 rounded-full" }), _jsx(Skeleton, { className: "h-5 w-12 rounded-full" })] })] })] }));
|
|
15
|
+
}
|
|
16
|
+
export function TripFeedSkeleton({ count = 8 }) {
|
|
17
|
+
return (_jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-5", children: Array.from({ length: count }).map((_, i) => (_jsx(TripCardSkeleton, {}, i))) }));
|
|
18
|
+
}
|
|
19
|
+
export function MatchCardSkeleton() {
|
|
20
|
+
return (_jsxs("div", { className: "bg-white rounded-3xl p-5 border border-slate-100 flex flex-col gap-3", children: [_jsxs("div", { className: "flex items-center gap-4", children: [_jsx(Skeleton, { className: "w-14 h-14 rounded-full shrink-0" }), _jsxs("div", { className: "flex flex-col gap-2 flex-1", children: [_jsx(Skeleton, { className: "h-4 w-1/2" }), _jsx(Skeleton, { className: "h-3 w-1/3" }), _jsx(Skeleton, { className: "h-3 w-2/3" })] }), _jsx(Skeleton, { className: "w-11 h-11 rounded-2xl shrink-0" })] }), _jsxs("div", { className: "flex gap-1.5 ml-[4.5rem]", children: [_jsx(Skeleton, { className: "h-5 w-14 rounded-full" }), _jsx(Skeleton, { className: "h-5 w-16 rounded-full" }), _jsx(Skeleton, { className: "h-5 w-12 rounded-full" })] })] }));
|
|
21
|
+
}
|
|
22
|
+
export function MatchesSkeleton({ count = 5 }) {
|
|
23
|
+
return (_jsx("div", { className: "space-y-4", children: Array.from({ length: count }).map((_, i) => (_jsx(MatchCardSkeleton, {}, i))) }));
|
|
24
|
+
}
|
|
25
|
+
export function TripDetailSkeleton() {
|
|
26
|
+
return (_jsx("div", { className: "min-h-screen bg-slate-50 pt-20 pb-20", children: _jsxs("div", { className: "container mx-auto px-4 max-w-3xl", children: [_jsxs("div", { className: "flex items-center gap-4 mb-6 pt-6", children: [_jsx(Skeleton, { className: "w-5 h-5 rounded" }), _jsx(Skeleton, { className: "h-6 w-32" })] }), _jsx(Skeleton, { className: "h-64 md:h-72 w-full rounded-t-3xl" }), _jsxs("div", { className: "bg-white rounded-b-3xl p-8 border border-t-0 border-slate-100 shadow-sm", children: [_jsxs("div", { className: "flex items-start justify-between flex-wrap gap-4 mb-6", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Skeleton, { className: "h-7 w-56" }), _jsx(Skeleton, { className: "h-4 w-72" })] }), _jsx(Skeleton, { className: "h-9 w-16 rounded-full" })] }), _jsx("div", { className: "grid grid-cols-2 sm:grid-cols-4 gap-4 mb-6", children: Array.from({ length: 4 }).map((_, i) => (_jsx(Skeleton, { className: "h-20 rounded-2xl" }, i))) }), _jsxs("div", { className: "mb-6 flex flex-col gap-2", children: [_jsx(Skeleton, { className: "h-4 w-full" }), _jsx(Skeleton, { className: "h-4 w-5/6" }), _jsx(Skeleton, { className: "h-4 w-4/5" })] }), _jsxs("div", { className: "flex gap-2 mb-6", children: [_jsx(Skeleton, { className: "h-6 w-16 rounded-full" }), _jsx(Skeleton, { className: "h-6 w-20 rounded-full" }), _jsx(Skeleton, { className: "h-6 w-14 rounded-full" })] }), _jsxs("div", { className: "flex items-center gap-3 py-4 border-t border-slate-100", children: [_jsx(Skeleton, { className: "w-10 h-10 rounded-full shrink-0" }), _jsxs("div", { className: "flex flex-col gap-1.5 flex-1", children: [_jsx(Skeleton, { className: "h-4 w-32" }), _jsx(Skeleton, { className: "h-3 w-20" })] })] }), _jsx("div", { className: "mt-6 pt-6 border-t border-slate-100", children: _jsx(Skeleton, { className: "h-14 w-full rounded-2xl" }) })] })] }) }));
|
|
27
|
+
}
|
|
28
|
+
export function SwipeCardSkeleton() {
|
|
29
|
+
return (_jsxs("div", { className: "max-w-md mx-auto", children: [_jsxs("div", { className: "bg-white rounded-[2rem] shadow-xl overflow-hidden border border-slate-100", children: [_jsx(Skeleton, { className: "h-48 w-full rounded-none" }), _jsxs("div", { className: "p-6 flex flex-col gap-3", children: [_jsx(Skeleton, { className: "h-5 w-40" }), _jsx(Skeleton, { className: "h-4 w-full" }), _jsx(Skeleton, { className: "h-4 w-5/6" }), _jsxs("div", { className: "flex gap-2", children: [_jsx(Skeleton, { className: "h-7 w-20 rounded-full" }), _jsx(Skeleton, { className: "h-7 w-24 rounded-full" }), _jsx(Skeleton, { className: "h-7 w-16 rounded-full" })] })] })] }), _jsxs("div", { className: "flex justify-center gap-8 mt-6", children: [_jsx(Skeleton, { className: "w-14 h-14 rounded-full" }), _jsx(Skeleton, { className: "w-[72px] h-[72px] rounded-full" })] })] }));
|
|
30
|
+
}
|
|
31
|
+
// ── Events Skeletons ──────────────────────────────────────────────────────────
|
|
32
|
+
export function EventCardSkeleton() {
|
|
33
|
+
return (_jsxs("div", { className: "bg-white rounded-[2rem] border border-gray-100 overflow-hidden flex flex-col", children: [_jsx(Skeleton, { className: "h-56 w-full rounded-none" }), _jsxs("div", { className: "p-5 flex flex-col gap-3", children: [_jsxs("div", { className: "flex gap-2", children: [_jsx(Skeleton, { className: "h-5 w-24 rounded-md" }), _jsx(Skeleton, { className: "h-5 w-20 rounded-md" })] }), _jsx(Skeleton, { className: "h-5 w-full" }), _jsx(Skeleton, { className: "h-4 w-5/6" }), _jsx(Skeleton, { className: "h-4 w-2/3" }), _jsxs("div", { className: "flex items-center justify-between pt-3 border-t border-gray-100", children: [_jsx(Skeleton, { className: "h-6 w-20" }), _jsx(Skeleton, { className: "h-9 w-20 rounded-xl" })] })] })] }));
|
|
34
|
+
}
|
|
35
|
+
export function EventFeedSkeleton({ count = 8 }) {
|
|
36
|
+
return (_jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6", children: Array.from({ length: count }).map((_, i) => (_jsx(EventCardSkeleton, {}, i))) }));
|
|
37
|
+
}
|
|
38
|
+
export function EventDetailSkeleton() {
|
|
39
|
+
return (_jsxs("div", { className: "min-h-screen bg-gray-50 pb-24", children: [_jsx(Skeleton, { className: "h-[50vh] w-full rounded-none" }), _jsxs("div", { className: "container mx-auto px-4 max-w-6xl pt-10 flex flex-col lg:flex-row gap-12", children: [_jsxs("div", { className: "flex-1 flex flex-col gap-10", children: [_jsx("div", { className: "grid grid-cols-2 md:grid-cols-4 gap-4", children: Array.from({ length: 4 }).map((_, i) => (_jsx(Skeleton, { className: "h-20 rounded-[2rem]" }, i))) }), _jsxs("div", { className: "border-t border-gray-100 pt-8 flex flex-col gap-3", children: [_jsx(Skeleton, { className: "h-7 w-48" }), _jsx(Skeleton, { className: "h-4 w-full" }), _jsx(Skeleton, { className: "h-4 w-5/6" }), _jsx(Skeleton, { className: "h-4 w-4/5" })] }), _jsxs("div", { className: "border-t border-gray-100 pt-8 flex flex-col gap-3", children: [_jsx(Skeleton, { className: "h-7 w-40" }), _jsx("div", { className: "grid grid-cols-2 gap-2.5", children: Array.from({ length: 4 }).map((_, i) => (_jsx(Skeleton, { className: "h-10 rounded-2xl" }, i))) })] })] }), _jsx("div", { className: "w-full lg:w-[420px] shrink-0", children: _jsxs("div", { className: "bg-white rounded-[2.5rem] border border-gray-100 shadow-2xl p-8 flex flex-col gap-6", children: [_jsx(Skeleton, { className: "h-10 w-32" }), _jsx(Skeleton, { className: "h-20 rounded-2xl" }), _jsx(Skeleton, { className: "h-10 rounded-2xl" }), _jsx(Skeleton, { className: "h-10 rounded-2xl" }), _jsx(Skeleton, { className: "h-14 rounded-2xl" })] }) })] })] }));
|
|
40
|
+
}
|
|
41
|
+
// ── Stay Skeletons ────────────────────────────────────────────────────────────
|
|
42
|
+
export function StayDetailSkeleton() {
|
|
43
|
+
return (_jsx("div", { className: "min-h-screen bg-gray-50 pt-16", children: _jsxs("div", { className: "container mx-auto px-4 max-w-6xl pt-6", children: [_jsx(Skeleton, { className: "h-5 w-28 mb-5" }), _jsxs("div", { className: "grid grid-cols-4 grid-rows-2 gap-2 h-[420px] rounded-3xl overflow-hidden mb-8", children: [_jsx(Skeleton, { className: "col-span-2 row-span-2 rounded-none" }), _jsx(Skeleton, { className: "rounded-none" }), _jsx(Skeleton, { className: "rounded-none" }), _jsx(Skeleton, { className: "rounded-none" }), _jsx(Skeleton, { className: "rounded-none" })] }), _jsxs("div", { className: "flex flex-col xl:flex-row gap-8", children: [_jsxs("main", { className: "flex-1 flex flex-col gap-8 pb-20", children: [_jsxs("div", { className: "pb-8 border-b border-gray-200 flex flex-col gap-3", children: [_jsx(Skeleton, { className: "h-8 w-2/3" }), _jsx(Skeleton, { className: "h-4 w-1/2" })] }), _jsxs("div", { className: "py-8 border-b border-gray-200 flex flex-col gap-3", children: [_jsx(Skeleton, { className: "h-6 w-40" }), _jsx(Skeleton, { className: "h-4 w-full" }), _jsx(Skeleton, { className: "h-4 w-5/6" })] }), _jsx("div", { className: "py-8 border-b border-gray-200 grid grid-cols-3 gap-3", children: Array.from({ length: 9 }).map((_, i) => (_jsx(Skeleton, { className: "h-6" }, i))) }), _jsxs("div", { className: "py-8 flex flex-col gap-4", children: [_jsx(Skeleton, { className: "h-7 w-48 mb-2" }), Array.from({ length: 2 }).map((_, i) => (_jsx(Skeleton, { className: "h-48 w-full rounded-3xl" }, i)))] })] }), _jsx("aside", { className: "w-full xl:w-80 shrink-0", children: _jsx(Skeleton, { className: "h-96 w-full rounded-3xl" }) })] })] }) }));
|
|
44
|
+
}
|
|
45
|
+
// ── Dashboard Skeletons ───────────────────────────────────────────────────────
|
|
46
|
+
export function BookingDetailSkeleton() {
|
|
47
|
+
return (_jsxs("div", { className: "max-w-4xl mx-auto space-y-6", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx(Skeleton, { className: "w-10 h-10 rounded-2xl shrink-0" }), _jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsx(Skeleton, { className: "h-7 w-40" }), _jsx(Skeleton, { className: "h-4 w-56" })] }), _jsxs("div", { className: "ml-auto flex gap-2", children: [_jsx(Skeleton, { className: "h-12 w-28 rounded-2xl" }), _jsx(Skeleton, { className: "h-12 w-32 rounded-2xl" })] })] }), _jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: Array.from({ length: 2 }).map((_, i) => (_jsxs("div", { className: "bg-white rounded-3xl border border-slate-100 p-6 space-y-4", children: [_jsx(Skeleton, { className: "h-4 w-24" }), _jsxs("div", { className: "flex items-center gap-3 pb-4 border-b border-slate-50", children: [_jsx(Skeleton, { className: "w-14 h-14 rounded-2xl shrink-0" }), _jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsx(Skeleton, { className: "h-4 w-32" }), _jsx(Skeleton, { className: "h-3 w-20" })] })] }), _jsx("div", { className: "space-y-3", children: Array.from({ length: 3 }).map((_, j) => (_jsxs("div", { className: "flex items-start gap-3", children: [_jsx(Skeleton, { className: "w-8 h-8 rounded-xl shrink-0" }), _jsxs("div", { className: "flex flex-col gap-1", children: [_jsx(Skeleton, { className: "h-3 w-16" }), _jsx(Skeleton, { className: "h-4 w-40" })] })] }, j))) })] }, i))) }), _jsxs("div", { className: "bg-white rounded-3xl border border-slate-100 p-6", children: [_jsx(Skeleton, { className: "h-4 w-24 mb-4" }), _jsxs("div", { className: "flex gap-3", children: [_jsx(Skeleton, { className: "h-12 w-40 rounded-2xl" }), _jsx(Skeleton, { className: "h-12 w-32 rounded-2xl" })] })] })] }));
|
|
48
|
+
}
|
|
49
|
+
export function ManagersPageSkeleton() {
|
|
50
|
+
return (_jsx("div", { className: "min-h-screen bg-slate-50 pt-24 pb-20 px-4", children: _jsxs("div", { className: "max-w-4xl mx-auto space-y-8", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Skeleton, { className: "h-4 w-28" }), _jsx(Skeleton, { className: "h-9 w-40" }), _jsx(Skeleton, { className: "h-4 w-64" })] }), _jsx(Skeleton, { className: "h-12 w-36 rounded-full" })] }), _jsx("div", { className: "bg-white rounded-[2rem] border border-slate-100 overflow-hidden divide-y divide-slate-100", children: Array.from({ length: 3 }).map((_, i) => (_jsxs("div", { className: "p-6 flex items-center gap-5", children: [_jsx(Skeleton, { className: "w-14 h-14 rounded-2xl shrink-0" }), _jsxs("div", { className: "flex flex-col gap-2 flex-1", children: [_jsx(Skeleton, { className: "h-5 w-32" }), _jsx(Skeleton, { className: "h-3 w-24" })] }), _jsxs("div", { className: "flex gap-2", children: [_jsx(Skeleton, { className: "w-9 h-9 rounded-xl" }), _jsx(Skeleton, { className: "w-9 h-9 rounded-xl" })] })] }, i))) })] }) }));
|
|
51
|
+
}
|
|
52
|
+
// ── Places / Itinerary Skeletons ──────────────────────────────────────────────
|
|
53
|
+
export function ItineraryGridSkeleton({ count = 6 }) {
|
|
54
|
+
return (_jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-5", children: Array.from({ length: count }).map((_, i) => (_jsxs("div", { className: "bg-white rounded-2xl border border-gray-100 shadow-sm p-5 flex flex-col gap-3", children: [_jsxs("div", { className: "flex items-start justify-between gap-2", children: [_jsx(Skeleton, { className: "h-4 w-3/4" }), _jsx(Skeleton, { className: "h-5 w-16 rounded-full shrink-0" })] }), _jsx(Skeleton, { className: "h-3 w-full" }), _jsx(Skeleton, { className: "h-3 w-5/6" }), _jsxs("div", { className: "flex gap-3 pt-2 border-t border-gray-50", children: [_jsx(Skeleton, { className: "h-4 w-16" }), _jsx(Skeleton, { className: "h-4 w-20" })] })] }, i))) }));
|
|
55
|
+
}
|
|
56
|
+
export function ForumPostSkeleton({ count = 4 }) {
|
|
57
|
+
return (_jsx("div", { className: "space-y-4", children: Array.from({ length: count }).map((_, i) => (_jsxs("div", { className: "bg-white rounded-2xl border border-gray-100 p-5 flex flex-col gap-3", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx(Skeleton, { className: "w-8 h-8 rounded-full shrink-0" }), _jsxs("div", { className: "flex flex-col gap-1", children: [_jsx(Skeleton, { className: "h-3 w-24" }), _jsx(Skeleton, { className: "h-3 w-16" })] })] }), _jsx(Skeleton, { className: "h-4 w-full" }), _jsx(Skeleton, { className: "h-4 w-5/6" }), _jsxs("div", { className: "flex gap-4", children: [_jsx(Skeleton, { className: "h-7 w-16 rounded-lg" }), _jsx(Skeleton, { className: "h-7 w-16 rounded-lg" })] })] }, i))) }));
|
|
58
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { TileProps } from "@myrjfa/state/dist/lib/models/tile";
|
|
2
|
+
export type { TileProps };
|
|
3
|
+
export declare function Tile({ slug, image, title, description, location, rating, skills, tileType, className, date, host, duration, price, currency, includeHost, href, }: TileProps): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
//# sourceMappingURL=tile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tile.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/misc/tile.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAG/D,YAAY,EAAE,SAAS,EAAE,CAAC;AAG1B,wBAAgB,IAAI,CAAC,EACjB,IAAI,EACJ,KAAK,EACL,KAAK,EACL,WAAW,EACX,QAAQ,EACR,MAAM,EACN,MAAW,EACX,QAA0B,EAC1B,SAAS,EACT,IAAI,EACJ,IAAgB,EAChB,QAAY,EACZ,KAAW,EACX,QAAgB,EAChB,WAAkB,EAClB,IAAI,GACP,EAAE,SAAS,2CA6JX"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { cn, formatDate, truncateText } from "@myrjfa/state/dist/lib/utils";
|
|
4
|
+
import { Clock, Loader2, MapPin, Star } from "lucide-react";
|
|
5
|
+
import Image from "next/image";
|
|
6
|
+
import { useRouter } from "next/navigation";
|
|
7
|
+
import { useState } from "react";
|
|
8
|
+
import { Badge } from "@myrjfa/ui/dist/misc/badge";
|
|
9
|
+
import { Card, CardContent } from "@myrjfa/ui/dist/misc/card";
|
|
10
|
+
import { RentalTile } from "./rental-tile";
|
|
11
|
+
import { ListingWishlistButton } from "../../../misc/listing-wishlist-button";
|
|
12
|
+
export function Tile({ slug, image, title, description, location, rating, skills = [], tileType = "opportunities", className, date, host = undefined, duration = 1, price = 0.0, currency = "INR", includeHost = true, href, }) {
|
|
13
|
+
var _a, _b, _c, _d;
|
|
14
|
+
const effectiveTileType = (tileType !== null && tileType !== void 0 ? tileType : "opportunities");
|
|
15
|
+
const router = useRouter();
|
|
16
|
+
const [clicked, setClicked] = useState(false);
|
|
17
|
+
const handleTileClick = () => {
|
|
18
|
+
if (clicked)
|
|
19
|
+
return; // prevent duplicate navigation
|
|
20
|
+
setClicked(true);
|
|
21
|
+
router.push(href !== null && href !== void 0 ? href : `/${effectiveTileType}/${slug}`);
|
|
22
|
+
};
|
|
23
|
+
const formatPrice = (price, currency) => {
|
|
24
|
+
return new Intl.NumberFormat('en-IN', {
|
|
25
|
+
style: 'currency',
|
|
26
|
+
currency,
|
|
27
|
+
maximumFractionDigits: 0
|
|
28
|
+
}).format(price);
|
|
29
|
+
};
|
|
30
|
+
if (effectiveTileType === "rentals") {
|
|
31
|
+
return _jsx(RentalTile, { ...arguments[0], onClick: handleTileClick, clicked: clicked });
|
|
32
|
+
}
|
|
33
|
+
return (_jsxs(Card, { className: cn("h-full shadow-lg py-0 gap-0 group transition-shadow hover:shadow-2xl border border-gray-100 rounded-2xl overflow-hidden cursor-pointer relative bg-white", className, clicked && "opacity-60 pointer-events-none" // visual cue + blocking
|
|
34
|
+
), onClick: handleTileClick, children: [clicked && (_jsx("div", { className: "absolute inset-0 z-20 flex items-center justify-center bg-white/70 rounded-lg", children: _jsx(Loader2, { className: "animate-spin text-gray-600", size: 24 }) })), _jsxs("div", { className: "relative h-55 w-full p-0 overflow-hidden", children: [_jsx(Image, { src: image, alt: title, fill: true, priority: true, sizes: "(max-width: 768px) 100vw, 400px", className: "object-cover transition-transform duration-300 group-hover:scale-105", style: {
|
|
35
|
+
WebkitMaskImage: "linear-gradient(to bottom, rgba(0,0,0,1) 90%, rgba(255, 255, 255, 0) 100%)",
|
|
36
|
+
WebkitMaskRepeat: "no-repeat",
|
|
37
|
+
WebkitMaskSize: "100% 100%",
|
|
38
|
+
}, onError: (e) => console.error(e.target) }), _jsx("div", { className: "absolute bottom-0 left-0 right-0 h-5 pointer-events-none bg-gradient-to-b from-transparent to-white" }), tileType !== "blogs" && (_jsx(ListingWishlistButton, { slug: slug, tileType: effectiveTileType, className: "absolute top-3 right-3 z-10" })), (effectiveTileType == "packages" || effectiveTileType == "adventures" || effectiveTileType == "guides" || effectiveTileType == "stays" || effectiveTileType == "events") && (_jsx("div", { className: "absolute top-4 left-4 bg-white/80 backdrop-blur px-3 py-1 rounded-full shadow text-gray-900 font-semibold text-base", children: formatPrice(price, currency) }))] }), _jsxs(CardContent, { className: "p-4 pt-0 flex flex-col gap-3 z-10", children: [tileType !== "blogs" && (_jsxs("div", { className: "flex justify-between text-sm text-muted-foreground", children: [location && (_jsxs("span", { className: "flex items-center gap-1", children: [_jsx(MapPin, { size: 15 }), " ", truncateText(location, 30)] })), (rating && rating > 0) ? _jsxs("div", { className: "flex items-center gap-1 bg-green-50 px-2 py-1 rounded-full", children: [_jsx(Star, { className: "w-4 h-4 text-amber-400 fill-current" }), _jsx("span", { className: " font-semibold", children: rating })] })
|
|
39
|
+
: null] })), _jsx("h4", { className: "text-lg font-semibold truncate-text", children: truncateText(title, 30) }), (effectiveTileType !== "packages" && effectiveTileType !== "adventures" && effectiveTileType !== "guides" && effectiveTileType !== "stays" && effectiveTileType !== "events") &&
|
|
40
|
+
_jsx("p", { className: "text-sm text-muted-foreground truncate-text-3", children: description }), effectiveTileType == "opportunities" && skills.length > 0 && (_jsx("div", { className: "flex flex-wrap gap-2 mt-2 truncate-text", children: skills.slice(0, 3).map((skill, index) => (_jsx(Badge, { variant: "secondary", children: truncateText(skill, 10) }, index))) })), effectiveTileType == "blogs" && (includeHost ?
|
|
41
|
+
_jsxs("div", { className: "flex items-center gap-3 pt-3 border-t min-h-12 max-h-15", children: [_jsx(Image, { src: (_a = host === null || host === void 0 ? void 0 : host.image) !== null && _a !== void 0 ? _a : "/images/profile_placeholder.webp", alt: "Host Image", width: 40, height: 40, className: "rounded-full object-cover" }), _jsxs("div", { className: "flex-1", children: [_jsxs("p", { className: "font-medium", children: ["By ", truncateText((_b = host === null || host === void 0 ? void 0 : host.name) !== null && _b !== void 0 ? _b : "Host", 18)] }), _jsxs("p", { className: "text-xs text-muted-foreground", children: ["on ", formatDate(date !== null && date !== void 0 ? date : new Date())] })] })] }) :
|
|
42
|
+
_jsxs("div", { className: "flex justify-between items-center text-xs text-gray-500", children: [_jsx("span", { children: formatDate(date !== null && date !== void 0 ? date : new Date()) }), _jsxs("span", { children: [rating, " likes"] })] })), (effectiveTileType == "packages" || effectiveTileType == "adventures" || effectiveTileType == "guides" || effectiveTileType == "stays" || effectiveTileType == "events") && (_jsxs("div", { className: "flex items-center justify-between pt-3 border-t border-gray-100", children: [(effectiveTileType !== "guides" && effectiveTileType !== "stays" && effectiveTileType !== "events") && (_jsxs("div", { className: "flex items-center gap-1 text-gray-600 whitespace-nowrap", children: [_jsx(Clock, { className: "w-4 h-4 mr-1" }), _jsxs("span", { className: "text-sm", children: [duration, " ", effectiveTileType == "adventures" ? "hrs" : "Days"] })] })), includeHost ?
|
|
43
|
+
_jsxs("div", { className: "flex items-center gap-1", children: [_jsx(Image, { src: (_c = host === null || host === void 0 ? void 0 : host.image) !== null && _c !== void 0 ? _c : "/images/profile_placeholder.webp", alt: (_d = host === null || host === void 0 ? void 0 : host.name) !== null && _d !== void 0 ? _d : "DP", width: 25, height: 25, className: "rounded-full" }), _jsx("span", { className: "text-sm text-gray-500 max-w-40", children: host === null || host === void 0 ? void 0 : host.name })] }) :
|
|
44
|
+
_jsx("div", { className: "flex justify-between items-center text-xs text-gray-500", children: _jsx("span", { children: formatDate(date !== null && date !== void 0 ? date : new Date()) }) })] }))] })] }));
|
|
45
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
interface WhatsAppHelpButtonProps {
|
|
2
|
+
message?: string;
|
|
3
|
+
phoneNumber?: string;
|
|
4
|
+
}
|
|
5
|
+
export declare function WhatsAppHelpButton({ message, phoneNumber }: WhatsAppHelpButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=whatsapp-help.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"whatsapp-help.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/misc/whatsapp-help.tsx"],"names":[],"mappings":"AAGA,UAAU,uBAAuB;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,OAAsB,EAAE,WAA4B,EAAE,EAAE,uBAAuB,2CAenH"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
export function WhatsAppHelpButton({ message = 'Need help?', phoneNumber = '918888888888' }) {
|
|
4
|
+
const url = `https://wa.me/${phoneNumber}?text=${encodeURIComponent(message)}`;
|
|
5
|
+
return (_jsxs("a", { href: url, target: "_blank", rel: "noopener noreferrer", className: "fixed bottom-6 right-6 z-50 flex items-center gap-2 bg-green-500 hover:bg-green-600 text-white px-4 py-2 rounded-full shadow-lg text-sm font-medium transition-colors", children: [_jsx("svg", { viewBox: "0 0 24 24", className: "h-5 w-5 fill-current", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { d: "M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z" }) }), "Help"] }));
|
|
6
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const MotionDiv: import("react").ComponentType<Omit<import("framer-motion").HTMLMotionProps<"div">, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
2
|
+
export declare const MotionSpan: import("react").ComponentType<Omit<import("framer-motion").HTMLMotionProps<"span">, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
|
|
3
|
+
export declare const MotionButton: import("react").ComponentType<Omit<import("framer-motion").HTMLMotionProps<"button">, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
4
|
+
export declare const MotionForm: import("react").ComponentType<Omit<import("framer-motion").HTMLMotionProps<"form">, "ref"> & import("react").RefAttributes<HTMLFormElement>>;
|
|
5
|
+
export declare const MotionUl: import("react").ComponentType<Omit<import("framer-motion").HTMLMotionProps<"ul">, "ref"> & import("react").RefAttributes<HTMLUListElement>>;
|
|
6
|
+
export declare const MotionLi: import("react").ComponentType<Omit<import("framer-motion").HTMLMotionProps<"li">, "ref"> & import("react").RefAttributes<HTMLLIElement>>;
|
|
7
|
+
export declare const MotionP: import("react").ComponentType<Omit<import("framer-motion").HTMLMotionProps<"p">, "ref"> & import("react").RefAttributes<HTMLParagraphElement>>;
|
|
8
|
+
export declare const MotionH1: import("react").ComponentType<Omit<import("framer-motion").HTMLMotionProps<"h1">, "ref"> & import("react").RefAttributes<HTMLHeadingElement>>;
|
|
9
|
+
export declare const MotionH2: import("react").ComponentType<Omit<import("framer-motion").HTMLMotionProps<"h2">, "ref"> & import("react").RefAttributes<HTMLHeadingElement>>;
|
|
10
|
+
export declare const MotionH3: import("react").ComponentType<Omit<import("framer-motion").HTMLMotionProps<"h3">, "ref"> & import("react").RefAttributes<HTMLHeadingElement>>;
|
|
11
|
+
export declare const AnimatePresence: import("react").ComponentType<import("react").PropsWithChildren<import("framer-motion").AnimatePresenceProps>>;
|
|
12
|
+
export declare const MotionG: import("react").ComponentType<import("framer-motion").SVGMotionProps<SVGGElement> & import("react").RefAttributes<SVGGElement>>;
|
|
13
|
+
export declare const MotionText: import("react").ComponentType<import("framer-motion").SVGMotionProps<SVGTextElement> & import("react").RefAttributes<SVGTextElement>>;
|
|
14
|
+
//# sourceMappingURL=motion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"motion.d.ts","sourceRoot":"","sources":["../../../src/components/ui/motion.tsx"],"names":[],"mappings":"AAOA,eAAO,MAAM,SAAS,4IAGrB,CAAC;AAEF,eAAO,MAAM,UAAU,8IAGtB,CAAC;AAEF,eAAO,MAAM,YAAY,kJAGxB,CAAC;AAEF,eAAO,MAAM,UAAU,8IAGtB,CAAC;AAEF,eAAO,MAAM,QAAQ,6IAGpB,CAAC;AAEF,eAAO,MAAM,QAAQ,0IAGpB,CAAC;AAEF,eAAO,MAAM,OAAO,gJAGnB,CAAC;AAEF,eAAO,MAAM,QAAQ,+IAGpB,CAAC;AAEF,eAAO,MAAM,QAAQ,+IAGpB,CAAC;AAEF,eAAO,MAAM,QAAQ,+IAGpB,CAAC;AAEF,eAAO,MAAM,eAAe,gHAG3B,CAAC;AAEF,eAAO,MAAM,OAAO,iIAGnB,CAAC;AAEF,eAAO,MAAM,UAAU,uIAGtB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import dynamic from "next/dynamic";
|
|
3
|
+
// Dynamically import framer-motion components to prevent bundling the 80KB library
|
|
4
|
+
// on initial page load for pages that only need simple animations.
|
|
5
|
+
export const MotionDiv = dynamic(() => import("framer-motion").then((mod) => mod.motion.div), { ssr: false });
|
|
6
|
+
export const MotionSpan = dynamic(() => import("framer-motion").then((mod) => mod.motion.span), { ssr: false });
|
|
7
|
+
export const MotionButton = dynamic(() => import("framer-motion").then((mod) => mod.motion.button), { ssr: false });
|
|
8
|
+
export const MotionForm = dynamic(() => import("framer-motion").then((mod) => mod.motion.form), { ssr: false });
|
|
9
|
+
export const MotionUl = dynamic(() => import("framer-motion").then((mod) => mod.motion.ul), { ssr: false });
|
|
10
|
+
export const MotionLi = dynamic(() => import("framer-motion").then((mod) => mod.motion.li), { ssr: false });
|
|
11
|
+
export const MotionP = dynamic(() => import("framer-motion").then((mod) => mod.motion.p), { ssr: false });
|
|
12
|
+
export const MotionH1 = dynamic(() => import("framer-motion").then((mod) => mod.motion.h1), { ssr: false });
|
|
13
|
+
export const MotionH2 = dynamic(() => import("framer-motion").then((mod) => mod.motion.h2), { ssr: false });
|
|
14
|
+
export const MotionH3 = dynamic(() => import("framer-motion").then((mod) => mod.motion.h3), { ssr: false });
|
|
15
|
+
export const AnimatePresence = dynamic(() => import("framer-motion").then((mod) => mod.AnimatePresence), { ssr: false });
|
|
16
|
+
export const MotionG = dynamic(() => import("framer-motion").then((mod) => mod.motion.g), { ssr: false });
|
|
17
|
+
export const MotionText = dynamic(() => import("framer-motion").then((mod) => mod.motion.text), { ssr: false });
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface BreadcrumbItem {
|
|
2
|
+
label: string;
|
|
3
|
+
href?: string;
|
|
4
|
+
}
|
|
5
|
+
export declare function BreadcrumbTrail({ items, className, light, }: {
|
|
6
|
+
items: BreadcrumbItem[];
|
|
7
|
+
className?: string;
|
|
8
|
+
light?: boolean;
|
|
9
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
//# sourceMappingURL=breadcrumb-trail.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breadcrumb-trail.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/trippeaze/breadcrumb-trail.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,SAAS,EACT,KAAa,GACd,EAAE;IACD,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,2CAyDA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import Link from "next/link";
|
|
4
|
+
import { ChevronRight, Home } from "lucide-react";
|
|
5
|
+
import { cn } from "@myrjfa/state/dist/lib/utils";
|
|
6
|
+
export function BreadcrumbTrail({ items, className, light = false, }) {
|
|
7
|
+
const tone = light
|
|
8
|
+
? "text-white/72 [&_a]:text-white/72 [&_a:hover]:text-white [&_svg]:text-white/45"
|
|
9
|
+
: "text-slate-500 [&_a]:text-slate-500 [&_a:hover]:text-slate-950 [&_svg]:text-slate-300";
|
|
10
|
+
return (_jsx("nav", { "aria-label": "Breadcrumb", className: cn("flex flex-wrap items-center gap-1.5 text-xs font-semibold sm:text-sm", tone, className), children: items.map((item, index) => {
|
|
11
|
+
const isFirst = index === 0;
|
|
12
|
+
const isLast = index === items.length - 1;
|
|
13
|
+
return (_jsxs("span", { className: "inline-flex items-center gap-1.5", children: [!isFirst ? _jsx(ChevronRight, { className: "h-3.5 w-3.5" }) : null, item.href && !isLast ? (_jsx(Link, { href: item.href, className: "transition-colors", children: isFirst ? (_jsxs("span", { className: "inline-flex items-center gap-1", children: [_jsx(Home, { className: "h-3.5 w-3.5" }), item.label] })) : (item.label) })) : (_jsx("span", { className: cn("truncate", isLast ? (light ? "text-white" : "text-slate-950") : ""), children: isFirst ? (_jsxs("span", { className: "inline-flex items-center gap-1", children: [_jsx(Home, { className: "h-3.5 w-3.5" }), item.label] })) : (item.label) }))] }, `${item.label}-${index}`));
|
|
14
|
+
}) }));
|
|
15
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
export interface ChipTabItem<T extends string> {
|
|
3
|
+
id: T;
|
|
4
|
+
label: string;
|
|
5
|
+
icon?: ReactNode;
|
|
6
|
+
}
|
|
7
|
+
export declare function ChipTabs<T extends string>({ items, active, onChange, className, }: {
|
|
8
|
+
items: ChipTabItem<T>[];
|
|
9
|
+
active: T;
|
|
10
|
+
onChange: (value: T) => void;
|
|
11
|
+
className?: string;
|
|
12
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
//# sourceMappingURL=chip-tabs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chip-tabs.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/trippeaze/chip-tabs.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,MAAM;IAC3C,EAAE,EAAE,CAAC,CAAC;IACN,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,EACzC,KAAK,EACL,MAAM,EACN,QAAQ,EACR,SAAS,GACV,EAAE;IACD,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IACxB,MAAM,EAAE,CAAC,CAAC;IACV,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,2CAgBA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { cn } from "@myrjfa/state/dist/lib/utils";
|
|
4
|
+
export function ChipTabs({ items, active, onChange, className, }) {
|
|
5
|
+
return (_jsx("div", { className: cn("flex flex-wrap gap-2", className), children: items.map((item) => (_jsxs("button", { type: "button", onClick: () => onChange(item.id), className: cn("tp-chip", active === item.id && "tp-chip-active"), children: [item.icon, _jsx("span", { children: item.label })] }, item.id))) }));
|
|
6
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
export declare function PageShell({ children, className, }: {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
className?: string;
|
|
5
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export declare function PageContainer({ children, className, }: {
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
className?: string;
|
|
9
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare function SurfaceCard({ children, className, muted, }: {
|
|
11
|
+
children: ReactNode;
|
|
12
|
+
className?: string;
|
|
13
|
+
muted?: boolean;
|
|
14
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export declare function SectionHeading({ eyebrow, title, description, action, className, }: {
|
|
16
|
+
eyebrow?: string;
|
|
17
|
+
title: string;
|
|
18
|
+
description?: string;
|
|
19
|
+
action?: ReactNode;
|
|
20
|
+
className?: string;
|
|
21
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
//# sourceMappingURL=page-shell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-shell.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/trippeaze/page-shell.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,2CAEA;AAED,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,2CAEA;AAED,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,SAAS,EACT,KAAa,GACd,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,2CAMA;AAED,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,KAAK,EACL,WAAW,EACX,MAAM,EACN,SAAS,GACV,EAAE;IACD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,2CAoBA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { cn } from "@myrjfa/state/dist/lib/utils";
|
|
4
|
+
export function PageShell({ children, className, }) {
|
|
5
|
+
return _jsx("div", { className: cn("tp-page pt-16", className), children: children });
|
|
6
|
+
}
|
|
7
|
+
export function PageContainer({ children, className, }) {
|
|
8
|
+
return _jsx("div", { className: cn("tp-container", className), children: children });
|
|
9
|
+
}
|
|
10
|
+
export function SurfaceCard({ children, className, muted = false, }) {
|
|
11
|
+
return (_jsx("div", { className: cn(muted ? "tp-surface-muted" : "tp-surface", className), children: children }));
|
|
12
|
+
}
|
|
13
|
+
export function SectionHeading({ eyebrow, title, description, action, className, }) {
|
|
14
|
+
return (_jsxs("div", { className: cn("flex flex-col gap-4 sm:flex-row sm:items-end sm:justify-between", className), children: [_jsxs("div", { className: "tp-stack-1", children: [eyebrow ? _jsx("span", { className: "tp-eyebrow", children: eyebrow }) : null, _jsxs("div", { className: "tp-stack-1", children: [_jsx("h2", { className: "tp-title-md text-slate-950", children: title }), description ? (_jsx("p", { className: "tp-copy max-w-3xl", children: description })) : null] })] }), action ? _jsx("div", { className: "shrink-0", children: action }) : null] }));
|
|
15
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { InputHTMLAttributes } from "react";
|
|
2
|
+
export declare function SearchInput({ className, inputClassName, ...props }: InputHTMLAttributes<HTMLInputElement> & {
|
|
3
|
+
inputClassName?: string;
|
|
4
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
//# sourceMappingURL=search-input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-input.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/trippeaze/search-input.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAIjD,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,cAAc,EACd,GAAG,KAAK,EACT,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,GAAG;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,2CAOA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Search } from "lucide-react";
|
|
4
|
+
import { cn } from "@myrjfa/state/dist/lib/utils";
|
|
5
|
+
export function SearchInput({ className, inputClassName, ...props }) {
|
|
6
|
+
return (_jsxs("div", { className: cn("relative", className), children: [_jsx(Search, { className: "pointer-events-none absolute left-4 top-1/2 h-4.5 w-4.5 -translate-y-1/2 text-slate-400" }), _jsx("input", { ...props, className: cn("tp-search", inputClassName) })] }));
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserDashboardShellSidebar.d.ts","sourceRoot":"","sources":["../../../src/components/user-dashboard/UserDashboardShellSidebar.tsx"],"names":[],"mappings":"AAMA,wBAAgB,yBAAyB,mDAiBxC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { usePathname } from "next/navigation";
|
|
4
|
+
import { AppSidebar } from "@myrjfa/ui/dist/dashboard/app-sidebar";
|
|
5
|
+
import { UserSidebarNav } from "@myrjfa/ui/dist/components/user-dashboard/UserSidebarNav";
|
|
6
|
+
export function UserDashboardShellSidebar() {
|
|
7
|
+
const pathname = usePathname() || "";
|
|
8
|
+
const isProfileRoute = pathname.startsWith("/profile/");
|
|
9
|
+
const useUserSidebar = pathname.startsWith("/profile/user/") || pathname === "/profile/user/edit";
|
|
10
|
+
if (isProfileRoute) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
if (useUserSidebar) {
|
|
14
|
+
return _jsx(UserSidebarNav, {});
|
|
15
|
+
}
|
|
16
|
+
return (_jsx(AppSidebar, { variant: "inset", className: "hidden h-full flex-shrink md:flex" }));
|
|
17
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserSidebarNav.d.ts","sourceRoot":"","sources":["../../../src/components/user-dashboard/UserSidebarNav.tsx"],"names":[],"mappings":"AAqCA,wBAAgB,cAAc,4CAmJ7B"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useAtomValue } from "jotai";
|
|
4
|
+
import { Bell, BriefcaseBusiness, ChevronsLeft, ChevronsRight, FileText, LayoutDashboard, Map, PlaneTakeoff, User, } from "lucide-react";
|
|
5
|
+
import Link from "next/link";
|
|
6
|
+
import { usePathname } from "next/navigation";
|
|
7
|
+
import { useEffect, useState } from "react";
|
|
8
|
+
import { userAtom } from "@myrjfa/state/dist/lib/userAtom";
|
|
9
|
+
import { cn } from "@myrjfa/state/dist/lib/utils";
|
|
10
|
+
const primaryItems = [
|
|
11
|
+
{ href: "/dashboard/user", label: "Overview", icon: LayoutDashboard },
|
|
12
|
+
{
|
|
13
|
+
href: "/dashboard/user/applications",
|
|
14
|
+
label: "My Applications",
|
|
15
|
+
icon: BriefcaseBusiness,
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
href: "/dashboard/user/bookings",
|
|
19
|
+
label: "My Bookings",
|
|
20
|
+
icon: PlaneTakeoff,
|
|
21
|
+
},
|
|
22
|
+
{ href: "/dashboard/user/itineraries", label: "My Itineraries", icon: Map },
|
|
23
|
+
{ href: "/dashboard/user/blogs", label: "My Blogs", icon: FileText },
|
|
24
|
+
];
|
|
25
|
+
export function UserSidebarNav() {
|
|
26
|
+
const pathname = usePathname() || "";
|
|
27
|
+
const user = useAtomValue(userAtom);
|
|
28
|
+
const [collapsed, setCollapsed] = useState(false);
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
setCollapsed(window.localStorage.getItem("trippeaze-user-sidebar-collapsed") === "true");
|
|
31
|
+
}, []);
|
|
32
|
+
const toggleCollapsed = () => {
|
|
33
|
+
setCollapsed((current) => {
|
|
34
|
+
const next = !current;
|
|
35
|
+
window.localStorage.setItem("trippeaze-user-sidebar-collapsed", String(next));
|
|
36
|
+
return next;
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
const secondaryItems = [
|
|
40
|
+
{
|
|
41
|
+
href: (user === null || user === void 0 ? void 0 : user.username)
|
|
42
|
+
? `/profile/user/${user.username}`
|
|
43
|
+
: "/dashboard/user",
|
|
44
|
+
label: "Profile",
|
|
45
|
+
icon: User,
|
|
46
|
+
},
|
|
47
|
+
{ href: "/dashboard/user/inbox", label: "Inbox", icon: Bell },
|
|
48
|
+
];
|
|
49
|
+
return (_jsxs("aside", { "data-collapsed": collapsed ? "true" : "false", className: cn("hidden md:flex shrink-0 flex-col border-r border-slate-200 bg-white/95 px-4 py-5 transition-[width] duration-200", collapsed ? "w-20" : "w-72"), children: [_jsx("style", { children: `
|
|
50
|
+
aside[data-collapsed="true"] .user-sidebar-copy,
|
|
51
|
+
aside[data-collapsed="true"] .user-sidebar-group-label {
|
|
52
|
+
display: none;
|
|
53
|
+
}
|
|
54
|
+
` }), _jsx("div", { className: cn("mb-3 flex", collapsed ? "justify-center" : "justify-end"), children: _jsxs("button", { type: "button", onClick: toggleCollapsed, "aria-label": collapsed ? "Expand dashboard sidebar" : "Collapse dashboard sidebar", title: collapsed ? "Expand sidebar" : "Collapse sidebar", className: cn("flex h-9 items-center justify-center gap-2 rounded-xl border border-slate-200 bg-white px-3 text-xs font-black text-slate-500 shadow-sm transition hover:bg-slate-50 hover:text-slate-950", collapsed && "w-9 px-0"), children: [collapsed ? _jsx(ChevronsRight, { className: "h-4 w-4" }) : _jsx(ChevronsLeft, { className: "h-4 w-4" }), _jsx("span", { className: "user-sidebar-copy", children: "Collapse" })] }) }), _jsxs("div", { className: cn("mb-5 rounded-2xl border border-slate-200 bg-slate-50/80 p-4", collapsed && "px-2 py-3 text-center"), children: [_jsx("p", { className: "user-sidebar-copy text-xs font-bold uppercase tracking-[0.2em] text-slate-400", children: "Your Space" }), _jsx("div", { className: cn("mt-2 flex items-center", collapsed ? "justify-center" : "hidden"), children: _jsx("span", { className: "flex h-9 w-9 items-center justify-center rounded-xl bg-primary/10 text-sm font-black text-primary", children: ((user === null || user === void 0 ? void 0 : user.firstName) || (user === null || user === void 0 ? void 0 : user.username) || "T").charAt(0).toUpperCase() }) }), _jsx("p", { className: "user-sidebar-copy mt-2 text-lg font-bold text-slate-900", children: (user === null || user === void 0 ? void 0 : user.firstName)
|
|
55
|
+
? `${user.firstName} ${user.lastName || ""}`.trim()
|
|
56
|
+
: "Traveller" }), _jsx("p", { className: "user-sidebar-copy mt-1 text-sm text-slate-500", children: "Manage your travel activity, writing, profile, and messages." })] }), _jsxs("nav", { className: "space-y-6", children: [_jsxs("div", { children: [_jsx("p", { className: "user-sidebar-group-label px-3 text-[10px] font-bold uppercase tracking-[0.2em] text-slate-400", children: "Dashboard" }), _jsx("div", { className: "mt-2 space-y-1", children: primaryItems.map(({ href, label, icon: Icon }) => {
|
|
57
|
+
const active = pathname === href;
|
|
58
|
+
return (_jsxs(Link, { href: href, className: cn("flex items-center gap-3 rounded-2xl px-3 py-3 text-sm font-semibold transition", collapsed && "justify-center", active
|
|
59
|
+
? "bg-trippeaze-primary text-white shadow-md shadow-trippeaze-primary/20"
|
|
60
|
+
: "text-slate-600 hover:bg-slate-50 hover:text-slate-900"), title: label, children: [_jsx(Icon, { className: cn("h-4 w-4", active ? "text-white" : "text-slate-400") }), _jsx("span", { className: "user-sidebar-copy", children: label })] }, href));
|
|
61
|
+
}) })] }), _jsxs("div", { children: [_jsx("p", { className: "user-sidebar-group-label px-3 text-[10px] font-bold uppercase tracking-[0.2em] text-slate-400", children: "Account" }), _jsx("div", { className: "mt-2 space-y-1", children: secondaryItems.map(({ href, label, icon: Icon }) => {
|
|
62
|
+
const active = pathname === href;
|
|
63
|
+
return (_jsxs(Link, { href: href, className: cn("flex items-center gap-3 rounded-2xl px-3 py-3 text-sm font-semibold transition", collapsed && "justify-center", active
|
|
64
|
+
? "bg-slate-900 text-white"
|
|
65
|
+
: "text-slate-600 hover:bg-slate-50 hover:text-slate-900"), title: label, children: [_jsx(Icon, { className: cn("h-4 w-4", active ? "text-white" : "text-slate-400") }), _jsx("span", { className: "user-sidebar-copy", children: label })] }, href));
|
|
66
|
+
}) })] })] })] }));
|
|
67
|
+
}
|
|
@@ -10,7 +10,8 @@ interface ActionButtonsProps {
|
|
|
10
10
|
actions: ActionButton[];
|
|
11
11
|
includeMoreMenu?: boolean;
|
|
12
12
|
maxDisplayed?: number;
|
|
13
|
+
mobileMaxDisplayed?: number;
|
|
13
14
|
}
|
|
14
|
-
export declare function ActionButtons({ actions, includeMoreMenu, maxDisplayed }: ActionButtonsProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export declare function ActionButtons({ actions, includeMoreMenu, maxDisplayed, mobileMaxDisplayed }: ActionButtonsProps): import("react/jsx-runtime").JSX.Element;
|
|
15
16
|
export {};
|
|
16
17
|
//# sourceMappingURL=action-buttons.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-buttons.d.ts","sourceRoot":"","sources":["../../src/dashboard/action-buttons.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AAEnG,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED,UAAU,kBAAkB;IACxB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"action-buttons.d.ts","sourceRoot":"","sources":["../../src/dashboard/action-buttons.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AAEnG,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED,UAAU,kBAAkB;IACxB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,eAAsB,EAAE,YAAgB,EAAE,kBAAkB,EAAE,EAAE,kBAAkB,2CAwE1H"}
|
|
@@ -1,15 +1,22 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { MoreHorizontal } from 'lucide-react';
|
|
3
3
|
import { Button } from '../misc/button';
|
|
4
4
|
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from '../misc/dropdown-menu';
|
|
5
|
-
export function ActionButtons({ actions, includeMoreMenu = true, maxDisplayed = 0 }) {
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
5
|
+
export function ActionButtons({ actions, includeMoreMenu = true, maxDisplayed = 0, mobileMaxDisplayed }) {
|
|
6
|
+
const effectiveMobileMaxDisplayed = mobileMaxDisplayed !== null && mobileMaxDisplayed !== void 0 ? mobileMaxDisplayed : (includeMoreMenu && actions.length > 0 ? Math.max(1, maxDisplayed) : maxDisplayed);
|
|
7
|
+
const renderActions = (displayCount) => {
|
|
8
|
+
const displayedActions = actions.slice(0, displayCount);
|
|
9
|
+
const menuActions = includeMoreMenu ? actions.slice(displayCount) : [];
|
|
10
|
+
return (_jsxs(_Fragment, { children: [displayedActions.map((action, index) => (_jsxs(Button, { variant: action.variant || 'outline', size: "sm", onClick: (e) => {
|
|
11
|
+
e.stopPropagation();
|
|
12
|
+
action.action();
|
|
13
|
+
}, className: 'cursor-pointer', children: [action.icon, _jsx("span", { className: "ml-1", children: action.label })] }, index))), menuActions.length > 0 && (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx(Button, { variant: "outline", size: "sm", children: _jsx(MoreHorizontal, { className: "h-4 w-4 cursor-pointer" }) }) }), _jsx(DropdownMenuContent, { align: "end", children: menuActions.map((action, index) => (_jsxs(DropdownMenuItem, { onClick: (e) => {
|
|
14
|
+
e.stopPropagation();
|
|
15
|
+
action.action();
|
|
16
|
+
}, children: [action.icon, _jsx("span", { className: "ml-2", children: action.label })] }, index))) })] }))] }));
|
|
17
|
+
};
|
|
18
|
+
if (effectiveMobileMaxDisplayed !== maxDisplayed) {
|
|
19
|
+
return (_jsxs(_Fragment, { children: [_jsx("div", { className: "hidden items-center gap-2 lg:flex", children: renderActions(maxDisplayed) }), _jsx("div", { className: "flex items-center gap-2 lg:hidden", children: renderActions(effectiveMobileMaxDisplayed) })] }));
|
|
20
|
+
}
|
|
21
|
+
return (_jsx("div", { className: "flex items-center gap-2", children: renderActions(maxDisplayed) }));
|
|
15
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-sidebar.d.ts","sourceRoot":"","sources":["../../src/dashboard/app-sidebar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"app-sidebar.d.ts","sourceRoot":"","sources":["../../src/dashboard/app-sidebar.tsx"],"names":[],"mappings":"AAkBA,OAAO,EACL,OAAO,EAIR,MAAM,iBAAiB,CAAA;AAGxB,wBAAgB,UAAU,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,OAAO,CAAC,2CAmH5E"}
|
|
@@ -3,7 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
3
3
|
import { logoutUser } from "@myrjfa/state/dist/lib/actions/auth";
|
|
4
4
|
import { isLoggedInAtom, userAtom, userLoadingAtom } from "@myrjfa/state/dist/lib/userAtom";
|
|
5
5
|
import { useAtom, useAtomValue, useSetAtom } from "jotai";
|
|
6
|
-
import {
|
|
6
|
+
import { HelpCircleIcon, LogOutIcon, User, } from "lucide-react";
|
|
7
7
|
import { useRouter } from "next/navigation";
|
|
8
8
|
import { useEffect } from "react";
|
|
9
9
|
import { NavMain } from "../dashboard/nav-main";
|
|
@@ -14,7 +14,7 @@ import { Label } from "../misc/label";
|
|
|
14
14
|
import { Sidebar, SidebarContent, SidebarFooter, SidebarMenuButton } from "../misc/sidebar";
|
|
15
15
|
import { Skeleton } from "../misc/skeleton";
|
|
16
16
|
export function AppSidebar({ ...props }) {
|
|
17
|
-
var _a, _b, _c, _d, _e, _f, _g, _h
|
|
17
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
18
18
|
const router = useRouter();
|
|
19
19
|
const [user, setUser] = useAtom(userAtom);
|
|
20
20
|
const setIsLoggedIn = useSetAtom(isLoggedInAtom);
|
|
@@ -33,39 +33,6 @@ export function AppSidebar({ ...props }) {
|
|
|
33
33
|
url: user ? `/profile/${(_a = user.role) !== null && _a !== void 0 ? _a : "user"}/${user.username}` : "#",
|
|
34
34
|
icon: User,
|
|
35
35
|
},
|
|
36
|
-
{
|
|
37
|
-
title: "My Opportunities",
|
|
38
|
-
url: user ? `/overview/${(_b = user.role) !== null && _b !== void 0 ? _b : "user"}` : "#",
|
|
39
|
-
icon: LayoutDashboardIcon
|
|
40
|
-
},
|
|
41
|
-
...((user === null || user === void 0 ? void 0 : user.role) === "admin" || (user === null || user === void 0 ? void 0 : user.role) === "host"
|
|
42
|
-
? [
|
|
43
|
-
{
|
|
44
|
-
title: "My Tours",
|
|
45
|
-
url: `/overview/${user.role}/packages`,
|
|
46
|
-
icon: Package,
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
title: "My Properties",
|
|
50
|
-
url: `/overview/${user.role}#properties`,
|
|
51
|
-
icon: Building2,
|
|
52
|
-
},
|
|
53
|
-
]
|
|
54
|
-
: []),
|
|
55
|
-
...((user === null || user === void 0 ? void 0 : user.role) === "admin" || (user === null || user === void 0 ? void 0 : user.role) === "host"
|
|
56
|
-
? [
|
|
57
|
-
{
|
|
58
|
-
title: "Blogs",
|
|
59
|
-
url: `/overview/${user.role}/blogs`,
|
|
60
|
-
icon: FileText,
|
|
61
|
-
},
|
|
62
|
-
]
|
|
63
|
-
: []),
|
|
64
|
-
{
|
|
65
|
-
title: "Inbox",
|
|
66
|
-
url: "/inbox",
|
|
67
|
-
icon: Inbox
|
|
68
|
-
},
|
|
69
36
|
],
|
|
70
37
|
navSecondary: [
|
|
71
38
|
{
|
|
@@ -90,5 +57,5 @@ export function AppSidebar({ ...props }) {
|
|
|
90
57
|
await showAlert((_a = response.message) !== null && _a !== void 0 ? _a : "");
|
|
91
58
|
router.push('/auth/login?role=' + role);
|
|
92
59
|
};
|
|
93
|
-
return (_jsxs(Sidebar, { collapsible: "icon", ...props, children: [_jsxs(SidebarContent, { children: [_jsx(NavMain, { items: navData.navMain }), _jsx(NavSecondary, { items: navData.navSecondary, className: "mt-auto" })] }), _jsxs(SidebarFooter, { children: [_jsx(SidebarMenuButton, { size: "lg", className: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground", children: loading ? (_jsx(UserInfoSkeleton, {})) : user ? (_jsxs(_Fragment, { children: [_jsxs(Avatar, { className: "h-8 w-8 rounded-full", children: [_jsx(AvatarImage, { src: (
|
|
60
|
+
return (_jsxs(Sidebar, { collapsible: "icon", ...props, children: [_jsxs(SidebarContent, { children: [_jsx(NavMain, { items: navData.navMain }), _jsx(NavSecondary, { items: navData.navSecondary, className: "mt-auto" })] }), _jsxs(SidebarFooter, { children: [_jsx(SidebarMenuButton, { size: "lg", className: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground", children: loading ? (_jsx(UserInfoSkeleton, {})) : user ? (_jsxs(_Fragment, { children: [_jsxs(Avatar, { className: "h-8 w-8 rounded-full", children: [_jsx(AvatarImage, { src: (_b = user.profilePic) !== null && _b !== void 0 ? _b : "/images/profile_placeholder.webp", alt: `${(_c = user.firstName) !== null && _c !== void 0 ? _c : "Guest"} ${user.lastName}` }), _jsxs(AvatarFallback, { className: "rounded-full", children: [(_e = (_d = user.firstName) === null || _d === void 0 ? void 0 : _d.charAt(0)) !== null && _e !== void 0 ? _e : "D", (_g = (_f = user.lastName) === null || _f === void 0 ? void 0 : _f.charAt(0)) !== null && _g !== void 0 ? _g : "P"] })] }), _jsxs("div", { className: "grid flex-1 text-left text-sm leading-tight", children: [_jsxs("span", { className: "truncate font-medium", children: [(_h = user.firstName) !== null && _h !== void 0 ? _h : "Guest", " ", user.lastName] }), user.email && (_jsx("span", { className: "truncate text-xs text-muted-foreground", children: user.email }))] })] })) : (_jsxs(_Fragment, { children: [_jsx(Avatar, { className: "h-8 w-8 rounded-full", children: _jsx(AvatarFallback, { className: "rounded-full", children: "GU" }) }), _jsxs("div", { className: "grid flex-1 text-left text-sm leading-tight", children: [_jsx("span", { className: "truncate font-medium", children: "Guest User" }), _jsx("span", { className: "truncate text-xs text-muted-foreground", children: "Not signed in" })] })] })) }), _jsxs(SidebarMenuButton, { size: "lg", className: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground", onClick: handleLogout, disabled: loading, children: [_jsx(LogOutIcon, { className: "mx-2" }), _jsx(Label, { className: "cursor-pointer", children: "Log out" })] })] })] }));
|
|
94
61
|
}
|