@igamingcareer/igaming-components 1.2.23 → 1.2.25
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/index.js +1558 -1558
- package/dist/index.mjs +20962 -22083
- package/dist/types/components/ui/alert-dialog.d.ts +20 -0
- package/dist/types/components/ui/alert.d.ts +8 -0
- package/dist/types/components/ui/avatar.d.ts +6 -0
- package/dist/types/components/ui/badge.d.ts +9 -0
- package/dist/types/components/ui/button.d.ts +11 -0
- package/dist/types/components/ui/card.d.ts +8 -0
- package/dist/types/components/ui/checkbox.d.ts +4 -0
- package/dist/types/components/ui/city-input.d.ts +12 -0
- package/dist/types/components/ui/collapsible.d.ts +5 -0
- package/dist/types/components/ui/command.d.ts +82 -0
- package/dist/types/components/ui/country-select.d.ts +14 -0
- package/dist/types/components/ui/dialog.d.ts +19 -0
- package/dist/types/components/ui/drawer.d.ts +22 -0
- package/dist/types/components/ui/dropdown-menu.d.ts +27 -0
- package/dist/types/components/ui/form.d.ts +23 -0
- package/dist/types/components/ui/input.d.ts +3 -0
- package/dist/types/components/ui/label.d.ts +5 -0
- package/dist/types/components/ui/phone-input.d.ts +13 -0
- package/dist/types/components/ui/popover.d.ts +7 -0
- package/dist/types/components/ui/progress.d.ts +4 -0
- package/dist/types/components/ui/radio-group.d.ts +5 -0
- package/dist/types/components/ui/scroll-area.d.ts +5 -0
- package/dist/types/components/ui/select.d.ts +13 -0
- package/dist/types/components/ui/separator.d.ts +4 -0
- package/dist/types/components/ui/slider.d.ts +4 -0
- package/dist/types/components/ui/switch.d.ts +4 -0
- package/dist/types/components/ui/tabs.d.ts +7 -0
- package/dist/types/components/ui/textarea.d.ts +5 -0
- package/dist/types/components/ui/toast.d.ts +15 -0
- package/dist/types/hooks/use-toast.d.ts +45 -0
- package/dist/types/lib/utils.d.ts +2 -0
- package/dist/types/src/components/App/App.d.ts +2 -0
- package/dist/types/src/components/Auth/ForgotPassword.d.ts +26 -0
- package/dist/types/src/components/Auth/ForgotPasswordForm.d.ts +16 -0
- package/dist/types/src/components/Auth/Login.d.ts +43 -0
- package/dist/types/src/components/Auth/Login.stories.d.ts +11 -0
- package/dist/types/src/components/Auth/LoginForm.d.ts +30 -0
- package/dist/types/src/components/Auth/Register.d.ts +33 -0
- package/dist/types/src/components/Auth/RegisterForm.d.ts +29 -0
- package/dist/types/src/components/Auth/RegisterFormV2.d.ts +27 -0
- package/dist/types/src/components/Auth/RegisterV2.d.ts +25 -0
- package/dist/types/src/components/Auth/RegisterV2.stories.d.ts +14 -0
- package/dist/types/src/components/Auth/SignInPromptModal.d.ts +23 -0
- package/dist/types/src/components/Auth/SignInPromptModal.stories.d.ts +7 -0
- package/dist/types/src/components/Auth/SocialButton.d.ts +11 -0
- package/dist/types/src/components/Auth/SocialButton.stories.d.ts +11 -0
- package/dist/types/src/components/Auth/SocialDivider.d.ts +6 -0
- package/dist/types/src/components/Auth/VerificationBanner.d.ts +11 -0
- package/dist/types/src/components/Auth/VerificationBanner.stories.d.ts +9 -0
- package/dist/types/src/components/Auth/__tests__/Login.social.test.d.ts +1 -0
- package/dist/types/src/components/Auth/__tests__/LoginForm.social.test.d.ts +1 -0
- package/dist/types/src/components/Auth/__tests__/RegisterV2.social.test.d.ts +1 -0
- package/dist/types/src/components/Auth/__tests__/SocialButton.test.d.ts +1 -0
- package/dist/types/src/components/Auth/__tests__/SocialDivider.test.d.ts +1 -0
- package/dist/types/src/components/Button/Button.d.ts +5 -0
- package/dist/types/src/components/Button/Button.stories.d.ts +7 -0
- package/dist/types/src/components/CandidateProfile/CandidateProfile.d.ts +49 -0
- package/dist/types/src/components/CareerAssistant/CareerAssistant.d.ts +11 -0
- package/dist/types/src/components/CareerAssistant/MessageBubble.d.ts +15 -0
- package/dist/types/src/components/CareerAssistant/WelcomeScreen.d.ts +7 -0
- package/dist/types/src/components/CareerAssistant/mockCareerAssistant.d.ts +8 -0
- package/dist/types/src/components/Companies/CompaniesList.d.ts +31 -0
- package/dist/types/src/components/Companies/CompanyAdminPage.d.ts +0 -0
- package/dist/types/src/components/Companies/CompanyCard.stories.d.ts +7 -0
- package/dist/types/src/components/Companies/CompanyDetail.d.ts +33 -0
- package/dist/types/src/components/Companies/CompanyDetail.similarCompanies.test.d.ts +1 -0
- package/dist/types/src/components/Companies/CompanyDirectory.d.ts +27 -0
- package/dist/types/src/components/Companies/CompanyDirectoryContainer.d.ts +23 -0
- package/dist/types/src/components/Companies/CompanyFilters.test.d.ts +1 -0
- package/dist/types/src/components/Companies/CompanyGroupDetail.d.ts +6 -0
- package/dist/types/src/components/Companies/CompanyGroupDetail.stories.d.ts +6 -0
- package/dist/types/src/components/Companies/CompanyHeader.stories.d.ts +7 -0
- package/dist/types/src/components/Companies/CompanyPublicPage.d.ts +0 -0
- package/dist/types/src/components/Companies/CompanyReviewsTab.d.ts +13 -0
- package/dist/types/src/components/Companies/LoadingCompanyShadowCard.stories.d.ts +7 -0
- package/dist/types/src/components/Companies/admin/CompanyJobsAdmin.d.ts +0 -0
- package/dist/types/src/components/Companies/admin/CompanyPeopleAdmin.d.ts +0 -0
- package/dist/types/src/components/Companies/admin/CompanyProfileEditor.d.ts +0 -0
- package/dist/types/src/components/Companies/companiesListFilters.d.ts +19 -0
- package/dist/types/src/components/Companies/companiesListFilters.test.d.ts +1 -0
- package/dist/types/src/components/Companies/components/ClaimProfileDialog.d.ts +10 -0
- package/dist/types/src/components/Companies/components/CompaniesHeader.d.ts +2 -0
- package/dist/types/src/components/Companies/components/CompanyAdminEditDialog.d.ts +15 -0
- package/dist/types/src/components/Companies/components/CompanyAdminShell.d.ts +38 -0
- package/dist/types/src/components/Companies/components/CompanyCard.d.ts +25 -0
- package/dist/types/src/components/Companies/components/CompanyClaim.d.ts +7 -0
- package/dist/types/src/components/Companies/components/CompanyComparison.d.ts +12 -0
- package/dist/types/src/components/Companies/components/CompanyFilters.d.ts +10 -0
- package/dist/types/src/components/Companies/components/CompanyHeader.d.ts +35 -0
- package/dist/types/src/components/Companies/components/CompanyMetaHighlights.d.ts +11 -0
- package/dist/types/src/components/Companies/components/LoadingCompanyShadowCard.d.ts +5 -0
- package/dist/types/src/components/Companies/components/ViewControls.d.ts +14 -0
- package/dist/types/src/components/Companies/components/admin/CandidateCard.d.ts +11 -0
- package/dist/types/src/components/Companies/components/admin/CompanyAdminCandidates.d.ts +13 -0
- package/dist/types/src/components/Companies/components/admin/CompanyAdminCandidates.stories.d.ts +5 -0
- package/dist/types/src/components/Companies/components/admin/CompanyAdminEvents.d.ts +10 -0
- package/dist/types/src/components/Companies/components/admin/CompanyAdminJobs.d.ts +10 -0
- package/dist/types/src/components/Companies/components/admin/CompanyAdminJobs.stories.d.ts +6 -0
- package/dist/types/src/components/Companies/components/admin/CompanyAdminNews.d.ts +10 -0
- package/dist/types/src/components/Companies/components/admin/CompanyAdminOverview.d.ts +10 -0
- package/dist/types/src/components/Companies/components/admin/CompanyAdminPeople.d.ts +11 -0
- package/dist/types/src/components/Companies/components/admin/CompanyAdminPeople.stories.d.ts +5 -0
- package/dist/types/src/components/Companies/components/admin/CompanyAdminProducts.d.ts +10 -0
- package/dist/types/src/components/Companies/components/admin/CompanyAdminSettings.d.ts +9 -0
- package/dist/types/src/components/Companies/components/admin/CompanyAdminSettings.stories.d.ts +5 -0
- package/dist/types/src/components/Companies/components/admin/InviteModal.d.ts +9 -0
- package/dist/types/src/components/Companies/components/admin/ProfileStrengthWidget.d.ts +7 -0
- package/dist/types/src/components/Companies/components/admin/modals/AddEventModal.d.ts +16 -0
- package/dist/types/src/components/Companies/components/admin/modals/AddJobModal.d.ts +17 -0
- package/dist/types/src/components/Companies/components/admin/modals/AddPersonModal.d.ts +15 -0
- package/dist/types/src/components/Companies/components/admin/modals/AddProductModal.d.ts +15 -0
- package/dist/types/src/components/Companies/components/tabs/CompanyEventsTab.d.ts +8 -0
- package/dist/types/src/components/Companies/components/tabs/CompanyInsightsTab.d.ts +2 -0
- package/dist/types/src/components/Companies/components/tabs/CompanyJobsTab.d.ts +9 -0
- package/dist/types/src/components/Companies/components/tabs/CompanyNewsTab.d.ts +8 -0
- package/dist/types/src/components/Companies/components/tabs/CompanyOverviewTab.d.ts +9 -0
- package/dist/types/src/components/Companies/components/tabs/CompanyPeopleTab.d.ts +6 -0
- package/dist/types/src/components/Companies/components/tabs/CompanyProductsTab.d.ts +6 -0
- package/dist/types/src/components/Companies/components/tabs/CompanySidebar.d.ts +7 -0
- package/dist/types/src/components/Companies/components/tabs/CompanyTabsList.d.ts +7 -0
- package/dist/types/src/components/Companies/components/tabs/CompanyTrustTab.d.ts +7 -0
- package/dist/types/src/components/Companies/data/companies.d.ts +18 -0
- package/dist/types/src/components/Companies/data/company-group-preview.d.ts +3 -0
- package/dist/types/src/components/Companies/data/countries.d.ts +9 -0
- package/dist/types/src/components/Companies/hooks/useCompaniesQuery.d.ts +10 -0
- package/dist/types/src/components/Companies/reviews/LeaveReviewModal.d.ts +11 -0
- package/dist/types/src/components/Companies/reviews/ReviewCard.d.ts +9 -0
- package/dist/types/src/components/Companies/reviews/ReviewStars.d.ts +9 -0
- package/dist/types/src/components/Companies/reviews/ReviewSummaryBar.d.ts +7 -0
- package/dist/types/src/components/Companies/reviews/index.d.ts +4 -0
- package/dist/types/src/components/Companies/types/companyAdmin.d.ts +81 -0
- package/dist/types/src/components/Companies/types/index.d.ts +390 -0
- package/dist/types/src/components/Companies/utils/companiesQuery.d.ts +6 -0
- package/dist/types/src/components/Companies/utils/companyFilters.d.ts +53 -0
- package/dist/types/src/components/Companies/utils/companyFilters.test.d.ts +1 -0
- package/dist/types/src/components/Companies/utils/normalizeCompanies.d.ts +15 -0
- package/dist/types/src/components/Companies/utils/normalizeCompaniesResponse.test.d.ts +1 -0
- package/dist/types/src/components/Companies/utils/permissions.d.ts +9 -0
- package/dist/types/src/components/Companies/utils/safeArray.d.ts +1 -0
- package/dist/types/src/components/Companies/utils/similarCompanies.d.ts +2 -0
- package/dist/types/src/components/CompanyOnboarding/CompanyOnboardingModal.d.ts +18 -0
- package/dist/types/src/components/CompanyOnboarding/index.d.ts +1 -0
- package/dist/types/src/components/Complaints/Complaints.d.ts +8 -0
- package/dist/types/src/components/Complaints/SubmitComplaintModal.d.ts +16 -0
- package/dist/types/src/components/Consent/Analytics.d.ts +9 -0
- package/dist/types/src/components/Consent/ConsentAnalytics.stories.d.ts +9 -0
- package/dist/types/src/components/Consent/ConsentBanner.d.ts +11 -0
- package/dist/types/src/components/Consent/ConsentContext.d.ts +20 -0
- package/dist/types/src/components/ContactForm/ContactFormHybrid.d.ts +8 -0
- package/dist/types/src/components/Courses/CoursesList.d.ts +9 -0
- package/dist/types/src/components/Dashboard/AddExperienceModal.d.ts +33 -0
- package/dist/types/src/components/Dashboard/AddJobDetailModal.d.ts +9 -0
- package/dist/types/src/components/Dashboard/AddLanguageModal.d.ts +10 -0
- package/dist/types/src/components/Dashboard/AddPreferenceTopicModal.d.ts +7 -0
- package/dist/types/src/components/Dashboard/AddSkillModal.d.ts +7 -0
- package/dist/types/src/components/Dashboard/Alerts/AlertCard.d.ts +12 -0
- package/dist/types/src/components/Dashboard/Alerts/AlertEmptyState.d.ts +5 -0
- package/dist/types/src/components/Dashboard/Alerts/AlertForm.d.ts +10 -0
- package/dist/types/src/components/Dashboard/Alerts/AlertInsightsWidget.d.ts +8 -0
- package/dist/types/src/components/Dashboard/Alerts/AlertStatusBadge.d.ts +8 -0
- package/dist/types/src/components/Dashboard/Alerts/DashboardAlerts.d.ts +11 -0
- package/dist/types/src/components/Dashboard/CVUploadDialog.d.ts +8 -0
- package/dist/types/src/components/Dashboard/CompanyDashboard.d.ts +16 -0
- package/dist/types/src/components/Dashboard/CompanyEmployeeOverview.d.ts +29 -0
- package/dist/types/src/components/Dashboard/CompanyOwnerOverview.d.ts +20 -0
- package/dist/types/src/components/Dashboard/CompanyRecruiterOverview.d.ts +31 -0
- package/dist/types/src/components/Dashboard/Dashboard.d.ts +56 -0
- package/dist/types/src/components/Dashboard/DashboardCourses.d.ts +32 -0
- package/dist/types/src/components/Dashboard/DashboardJobCard.d.ts +13 -0
- package/dist/types/src/components/Dashboard/DashboardJobs.d.ts +17 -0
- package/dist/types/src/components/Dashboard/DashboardLayout.d.ts +15 -0
- package/dist/types/src/components/Dashboard/DashboardNews.d.ts +15 -0
- package/dist/types/src/components/Dashboard/DashboardNewsCard.d.ts +12 -0
- package/dist/types/src/components/Dashboard/DashboardOverview.d.ts +46 -0
- package/dist/types/src/components/Dashboard/DashboardProfile.d.ts +64 -0
- package/dist/types/src/components/Dashboard/DashboardSettings.d.ts +84 -0
- package/dist/types/src/components/Dashboard/DashboardStats.d.ts +17 -0
- package/dist/types/src/components/Dashboard/FreelancerActivationCard.d.ts +6 -0
- package/dist/types/src/components/Dashboard/FreelancerDashboardSection.d.ts +10 -0
- package/dist/types/src/components/Dashboard/FreelancerOnboardingModal.d.ts +10 -0
- package/dist/types/src/components/Dashboard/OnboardingChecklist.d.ts +16 -0
- package/dist/types/src/components/Dashboard/OnboardingChecklist.stories.d.ts +8 -0
- package/dist/types/src/components/Dashboard/OnboardingDashboard.d.ts +19 -0
- package/dist/types/src/components/Dashboard/OnboardingDashboard.stories.d.ts +9 -0
- package/dist/types/src/components/Events/EventCalendarCard.d.ts +7 -0
- package/dist/types/src/components/Events/EventsList.d.ts +11 -0
- package/dist/types/src/components/Events/SubmitEventModal.d.ts +22 -0
- package/dist/types/src/components/Events/mockEvents.d.ts +2 -0
- package/dist/types/src/components/Events/types.d.ts +22 -0
- package/dist/types/src/components/Footer/Footer.d.ts +32 -0
- package/dist/types/src/components/Footer/Footer.stories.d.ts +7 -0
- package/dist/types/src/components/Freelancer/FreelancerProfile.d.ts +19 -0
- package/dist/types/src/components/Freelancer/FreelancerProfileContainer.d.ts +2 -0
- package/dist/types/src/components/Freelancer/Freelancers.d.ts +30 -0
- package/dist/types/src/components/Freelancer/FreelancersContainer.d.ts +2 -0
- package/dist/types/src/components/Freelancer/FreelancersList.d.ts +10 -0
- package/dist/types/src/components/Freelancer/mockFreelancers.d.ts +6 -0
- package/dist/types/src/components/GenericListing/Banner.d.ts +9 -0
- package/dist/types/src/components/GenericListing/DateFilter.d.ts +13 -0
- package/dist/types/src/components/GenericListing/LastVisitedJobs.d.ts +8 -0
- package/dist/types/src/components/GenericListing/Listing.d.ts +32 -0
- package/dist/types/src/components/GenericListing/ListingGrid.d.ts +16 -0
- package/dist/types/src/components/GenericListing/ListingHeader.d.ts +6 -0
- package/dist/types/src/components/GenericListing/ListingSort.d.ts +14 -0
- package/dist/types/src/components/GenericListing/MobileFilterDrawer.d.ts +21 -0
- package/dist/types/src/components/GenericListing/MobileNav.d.ts +3 -0
- package/dist/types/src/components/GenericListing/Pagination.d.ts +8 -0
- package/dist/types/src/components/GenericListing/PaginationControls.d.ts +8 -0
- package/dist/types/src/components/GenericListing/SearchBar.d.ts +10 -0
- package/dist/types/src/components/GenericListing/SearchableSelect.d.ts +10 -0
- package/dist/types/src/components/GenericListing/Sidebar.d.ts +11 -0
- package/dist/types/src/components/GenericListing/SidebarFilter.d.ts +31 -0
- package/dist/types/src/components/GenericListing/SidebarFilters.d.ts +12 -0
- package/dist/types/src/components/GenericListing/accessControl.d.ts +22 -0
- package/dist/types/src/components/GenericListing/generateMockJobs.d.ts +3 -0
- package/dist/types/src/components/GenericListing/useJobDataHook.d.ts +6 -0
- package/dist/types/src/components/GenericListing/useLocalStorageState.d.ts +1 -0
- package/dist/types/src/components/Header/Header.d.ts +2 -0
- package/dist/types/src/components/Header/Header.stories.d.ts +6 -0
- package/dist/types/src/components/Header/HeaderAlternative.d.ts +13 -0
- package/dist/types/src/components/HomePage/Advantages.d.ts +15 -0
- package/dist/types/src/components/HomePage/Cart.d.ts +12 -0
- package/dist/types/src/components/HomePage/Chatbot.d.ts +6 -0
- package/dist/types/src/components/HomePage/Contact.d.ts +22 -0
- package/dist/types/src/components/HomePage/CourseTypes.d.ts +26 -0
- package/dist/types/src/components/HomePage/Courses.d.ts +16 -0
- package/dist/types/src/components/HomePage/Destinations.d.ts +12 -0
- package/dist/types/src/components/HomePage/FAQ.d.ts +11 -0
- package/dist/types/src/components/HomePage/FeatureJobs.d.ts +19 -0
- package/dist/types/src/components/HomePage/Features.d.ts +13 -0
- package/dist/types/src/components/HomePage/ForEmployers.d.ts +10 -0
- package/dist/types/src/components/HomePage/Gallery.d.ts +13 -0
- package/dist/types/src/components/HomePage/Hero.d.ts +11 -0
- package/dist/types/src/components/HomePage/HeroAlternative.d.ts +14 -0
- package/dist/types/src/components/HomePage/HeroSection.d.ts +2 -0
- package/dist/types/src/components/HomePage/HomePage.d.ts +3 -0
- package/dist/types/src/components/HomePage/IgamingCareerHome.d.ts +33 -0
- package/dist/types/src/components/HomePage/ImageSlider.d.ts +11 -0
- package/dist/types/src/components/HomePage/JobSearch.d.ts +2 -0
- package/dist/types/src/components/HomePage/JobsSearchWidget.d.ts +22 -0
- package/dist/types/src/components/HomePage/Navbar.d.ts +19 -0
- package/dist/types/src/components/HomePage/Newsletter.d.ts +11 -0
- package/dist/types/src/components/HomePage/NewsletterV2.d.ts +21 -0
- package/dist/types/src/components/HomePage/NotificationModal.d.ts +7 -0
- package/dist/types/src/components/HomePage/Partners.d.ts +2 -0
- package/dist/types/src/components/HomePage/Services.d.ts +13 -0
- package/dist/types/src/components/HomePage/ServicesNoIcons.d.ts +16 -0
- package/dist/types/src/components/HomePage/SidebarNewsletter.d.ts +9 -0
- package/dist/types/src/components/HomePage/SidebarNewsletterV2.d.ts +18 -0
- package/dist/types/src/components/HomePage/Testimonials.d.ts +14 -0
- package/dist/types/src/components/HomePage/TestimonialsVariant.d.ts +2 -0
- package/dist/types/src/components/HomePage/TrustSignals.d.ts +21 -0
- package/dist/types/src/components/HomePage/ValueProposition.d.ts +12 -0
- package/dist/types/src/components/HomePage/Videos.d.ts +13 -0
- package/dist/types/src/components/HomePage/context/CartContext.d.ts +22 -0
- package/dist/types/src/components/IgamingCoursesPage/CourseCard.d.ts +12 -0
- package/dist/types/src/components/IgamingCoursesPage/CourseFilters.d.ts +19 -0
- package/dist/types/src/components/IgamingCoursesPage/CourseNavigation.d.ts +11 -0
- package/dist/types/src/components/IgamingCoursesPage/CourseSearch.d.ts +10 -0
- package/dist/types/src/components/IgamingCoursesPage/CourseSidebarFilters.d.ts +23 -0
- package/dist/types/src/components/IgamingCoursesPage/CoursesListingCards.d.ts +17 -0
- package/dist/types/src/components/IgamingCoursesPage/FeaturedCourses.d.ts +12 -0
- package/dist/types/src/components/IgamingCoursesPage/HeroSection.d.ts +9 -0
- package/dist/types/src/components/IgamingCoursesPage/IgamingCoursesPage.d.ts +12 -0
- package/dist/types/src/components/IgamingCoursesPage/MobileCourseSearch.d.ts +10 -0
- package/dist/types/src/components/IgamingCoursesPage/Statistics.d.ts +8 -0
- package/dist/types/src/components/IgamingCoursesPage/data/courses.d.ts +3 -0
- package/dist/types/src/components/IgamingCoursesPage/types/course.d.ts +63 -0
- package/dist/types/src/components/JobListing/JobListing.d.ts +24 -0
- package/dist/types/src/components/JobListing/components/Filters.d.ts +17 -0
- package/dist/types/src/components/JobListing/components/Footer.d.ts +12 -0
- package/dist/types/src/components/JobListing/components/JobCard.d.ts +14 -0
- package/dist/types/src/components/JobListing/components/JobList.d.ts +12 -0
- package/dist/types/src/components/JobListing/components/MobileFilterDrawer.d.ts +21 -0
- package/dist/types/src/components/JobListing/components/Navbar.d.ts +13 -0
- package/dist/types/src/components/JobListing/components/PromoCard.d.ts +11 -0
- package/dist/types/src/components/JobListing/components/SearchBar.d.ts +10 -0
- package/dist/types/src/components/JobListing/types/Job.d.ts +1 -0
- package/dist/types/src/components/Jobs/JobsList.d.ts +39 -0
- package/dist/types/src/components/Jobs/jobsListFilters.d.ts +13 -0
- package/dist/types/src/components/Jobs/jobsListFilters.test.d.ts +1 -0
- package/dist/types/src/components/JobsDetails/JobDetail.d.ts +9 -0
- package/dist/types/src/components/JobsDetails/utils/navigation.d.ts +2 -0
- package/dist/types/src/components/JobsDetails/utils/types.d.ts +37 -0
- package/dist/types/src/components/JobsDetails/utils/useJobSlug.d.ts +1 -0
- package/dist/types/src/components/LanguageSchools/LanguageSchoolDetail.d.ts +16 -0
- package/dist/types/src/components/LanguageSchools/LanguageSchoolsList.d.ts +17 -0
- package/dist/types/src/components/LanguageSchools/components/SchoolCard.d.ts +10 -0
- package/dist/types/src/components/LanguageSchools/schoolsListFilters.d.ts +6 -0
- package/dist/types/src/components/LeadForm.d.ts +45 -0
- package/dist/types/src/components/LeadForm.stories.d.ts +51 -0
- package/dist/types/src/components/LeadForm.test.d.ts +4 -0
- package/dist/types/src/components/MaltaEvents/MaltaEventDetail.d.ts +8 -0
- package/dist/types/src/components/MaltaEvents/MaltaEventsList.d.ts +17 -0
- package/dist/types/src/components/MaltaEvents/components/MaltaEventCard.d.ts +10 -0
- package/dist/types/src/components/MaltaEvents/eventsListFilters.d.ts +22 -0
- package/dist/types/src/components/MaltaEvents/index.d.ts +5 -0
- package/dist/types/src/components/MaltaEvents/mockMaltaEvents.d.ts +2 -0
- package/dist/types/src/components/MaltaPlaces/MaltaPlaceDetail.d.ts +8 -0
- package/dist/types/src/components/MaltaPlaces/MaltaPlacesList.d.ts +17 -0
- package/dist/types/src/components/MaltaPlaces/components/MaltaPlaceCard.d.ts +10 -0
- package/dist/types/src/components/MaltaPlaces/index.d.ts +5 -0
- package/dist/types/src/components/MaltaPlaces/mockMaltaPlaces.d.ts +2 -0
- package/dist/types/src/components/MaltaPlaces/placesListFilters.d.ts +14 -0
- package/dist/types/src/components/MarketDetail/MarketDetail.d.ts +6 -0
- package/dist/types/src/components/Markets/MarketsList.d.ts +17 -0
- package/dist/types/src/components/Markets/SuggestMarketModal.d.ts +8 -0
- package/dist/types/src/components/Markets/mockMarkets.d.ts +3 -0
- package/dist/types/src/components/Modal/Modal.d.ts +10 -0
- package/dist/types/src/components/News/NewsList.d.ts +7 -0
- package/dist/types/src/components/NewsPage/BreakingNews.d.ts +7 -0
- package/dist/types/src/components/NewsPage/NewsCard.d.ts +15 -0
- package/dist/types/src/components/NewsPage/NewsFilters.d.ts +14 -0
- package/dist/types/src/components/NewsPage/NewsPage.d.ts +19 -0
- package/dist/types/src/components/NewsPage/NewsSearch.d.ts +9 -0
- package/dist/types/src/components/NewsPage/NewsSidebarFilters.d.ts +19 -0
- package/dist/types/src/components/NewsPage/TrendingNews.d.ts +8 -0
- package/dist/types/src/components/NewsPage/data/news.d.ts +3 -0
- package/dist/types/src/components/NewsPage/types/news.d.ts +35 -0
- package/dist/types/src/components/Notification/Notification.stories.d.ts +6 -0
- package/dist/types/src/components/Notification/NotificationItem.d.ts +15 -0
- package/dist/types/src/components/Notification/NotificationProvider.d.ts +20 -0
- package/dist/types/src/components/Notification/NotificationTester.d.ts +21 -0
- package/dist/types/src/components/Notification/NotificationTester.stories.d.ts +6 -0
- package/dist/types/src/components/Notification/NotificationViewport.d.ts +20 -0
- package/dist/types/src/components/Notification/index.d.ts +4 -0
- package/dist/types/src/components/Notification/notificationStore.d.ts +51 -0
- package/dist/types/src/components/Onboarding/DashboardOnboardingSection.d.ts +12 -0
- package/dist/types/src/components/Onboarding/OnboardingChecklist.d.ts +8 -0
- package/dist/types/src/components/Onboarding/OnboardingContext.d.ts +6 -0
- package/dist/types/src/components/Onboarding/OnboardingDashboard.d.ts +11 -0
- package/dist/types/src/components/Onboarding/OnboardingModal.d.ts +19 -0
- package/dist/types/src/components/Onboarding/OnboardingPopup.d.ts +6 -0
- package/dist/types/src/components/Onboarding/ShieldedActionButton.d.ts +15 -0
- package/dist/types/src/components/Onboarding/VerificationBanner.d.ts +12 -0
- package/dist/types/src/components/Onboarding/index.d.ts +13 -0
- package/dist/types/src/components/Places/PlacesList.d.ts +7 -0
- package/dist/types/src/components/Places/mockPlaces.d.ts +2 -0
- package/dist/types/src/components/Places/types.d.ts +16 -0
- package/dist/types/src/components/Prices/Group/GroupPrices.d.ts +10 -0
- package/dist/types/src/components/Prices/PricingComponents.stories.d.ts +6 -0
- package/dist/types/src/components/Prices/Summary/SlidingSummary.d.ts +7 -0
- package/dist/types/src/components/ProductCategories/ProductCategoriesList.d.ts +9 -0
- package/dist/types/src/components/ProductCategories/ProductCategoryDetail.d.ts +7 -0
- package/dist/types/src/components/ProductCategories/mockProductCategories.d.ts +3 -0
- package/dist/types/src/components/ProductCategories/types.d.ts +47 -0
- package/dist/types/src/components/QualityCompounderFramework/QualityCompounderFramework.d.ts +11 -0
- package/dist/types/src/components/QualityCompounderFramework/ResearchPage.d.ts +1 -0
- package/dist/types/src/components/QualityCompounderFramework/Savedevaluations.d.ts +6 -0
- package/dist/types/src/components/QualityCompounderFramework/WatchlistDashboard.d.ts +6 -0
- package/dist/types/src/components/RegulatorDetail/RegulatorDetail.d.ts +6 -0
- package/dist/types/src/components/Regulators/JurisdictionsList.d.ts +6 -0
- package/dist/types/src/components/Regulators/RegulatorsList.d.ts +9 -0
- package/dist/types/src/components/Regulators/mockJurisdictions.d.ts +3 -0
- package/dist/types/src/components/Regulators/mockRegulators.d.ts +3 -0
- package/dist/types/src/components/Regulators/types.d.ts +55 -0
- package/dist/types/src/components/Research/ResearchPage.d.ts +5 -0
- package/dist/types/src/components/Research/index.d.ts +1 -0
- package/dist/types/src/components/Reviews/LeaveReviewStandaloneModal.d.ts +23 -0
- package/dist/types/src/components/Reviews/Reviews.d.ts +8 -0
- package/dist/types/src/components/Shared/ActiveFiltersDisplay.d.ts +15 -0
- package/dist/types/src/components/Shared/Cards/CareerPathCard.d.ts +20 -0
- package/dist/types/src/components/Shared/Cards/ChannelCard.d.ts +9 -0
- package/dist/types/src/components/Shared/Cards/CompanyCardMobile.d.ts +30 -0
- package/dist/types/src/components/Shared/Cards/CompanyTypeCard.d.ts +9 -0
- package/dist/types/src/components/Shared/Cards/CourseCard.d.ts +37 -0
- package/dist/types/src/components/Shared/Cards/DepartmentCard.d.ts +15 -0
- package/dist/types/src/components/Shared/Cards/DepartmentEntityCard.d.ts +9 -0
- package/dist/types/src/components/Shared/Cards/DirectoryDetailCard.d.ts +13 -0
- package/dist/types/src/components/Shared/Cards/DirectoryInfoPanel.d.ts +25 -0
- package/dist/types/src/components/Shared/Cards/DirectoryKeyRolesList.d.ts +11 -0
- package/dist/types/src/components/Shared/Cards/EventsCard.d.ts +19 -0
- package/dist/types/src/components/Shared/Cards/FreelancerCard.d.ts +23 -0
- package/dist/types/src/components/Shared/Cards/GamblingVerticalCard.d.ts +9 -0
- package/dist/types/src/components/Shared/Cards/JobCard.d.ts +31 -0
- package/dist/types/src/components/Shared/Cards/JurisdictionCard.d.ts +8 -0
- package/dist/types/src/components/Shared/Cards/MarketsCard.d.ts +8 -0
- package/dist/types/src/components/Shared/Cards/NewsCard.d.ts +32 -0
- package/dist/types/src/components/Shared/Cards/PlacesCard.d.ts +18 -0
- package/dist/types/src/components/Shared/Cards/PlaybookCard.d.ts +17 -0
- package/dist/types/src/components/Shared/Cards/ProductCategoriesCard.d.ts +26 -0
- package/dist/types/src/components/Shared/Cards/RegulatorsCard.d.ts +21 -0
- package/dist/types/src/components/Shared/Cards/RoleGuideCard.d.ts +17 -0
- package/dist/types/src/components/Shared/Cards/TermCard.d.ts +14 -0
- package/dist/types/src/components/Shared/Cards/VideoCard.d.ts +21 -0
- package/dist/types/src/components/Shared/Cards/index.d.ts +10 -0
- package/dist/types/src/components/Shared/CompanyCardMobile.stories.d.ts +7 -0
- package/dist/types/src/components/Shared/Directory/DirectoryBanner.d.ts +8 -0
- package/dist/types/src/components/Shared/Directory/DirectoryShell.d.ts +30 -0
- package/dist/types/src/components/Shared/Directory/DirectoryShowcase.d.ts +3 -0
- package/dist/types/src/components/Shared/Directory/DirectoryToolbar.d.ts +20 -0
- package/dist/types/src/components/Shared/Directory/ViewModeToggle.d.ts +1 -0
- package/dist/types/src/components/Shared/Directory/index.d.ts +5 -0
- package/dist/types/src/components/Shared/Directory/types.d.ts +73 -0
- package/dist/types/src/components/Shared/GenericFilter.d.ts +17 -0
- package/dist/types/src/components/Shared/GenericPagination.d.ts +8 -0
- package/dist/types/src/components/Shared/GenericPagination.stories.d.ts +7 -0
- package/dist/types/src/components/Shared/ItemsPerPageSelector.d.ts +10 -0
- package/dist/types/src/components/Shared/ItemsPerPageSelector.stories.d.ts +7 -0
- package/dist/types/src/components/Shared/Listing/ListingActiveFilters.d.ts +16 -0
- package/dist/types/src/components/Shared/Listing/ListingEmptyState.d.ts +16 -0
- package/dist/types/src/components/Shared/Listing/ListingHeader.d.ts +17 -0
- package/dist/types/src/components/Shared/Listing/ListingMobileFilters.d.ts +24 -0
- package/dist/types/src/components/Shared/Listing/ListingPagination.d.ts +15 -0
- package/dist/types/src/components/Shared/Listing/ListingSearchBar.d.ts +20 -0
- package/dist/types/src/components/Shared/Listing/ListingSidebar.d.ts +25 -0
- package/dist/types/src/components/Shared/Listing/ListingToolbar.d.ts +24 -0
- package/dist/types/src/components/Shared/Listing/index.d.ts +9 -0
- package/dist/types/src/components/Shared/Listing/types.d.ts +50 -0
- package/dist/types/src/components/Shared/LoadingShadowCard.d.ts +5 -0
- package/dist/types/src/components/Shared/LoadingShadowCard.stories.d.ts +7 -0
- package/dist/types/src/components/Shared/Mobile/BottomSheetFilter.d.ts +23 -0
- package/dist/types/src/components/Shared/Mobile/FloatingActionButton.d.ts +22 -0
- package/dist/types/src/components/Shared/Mobile/HorizontalTagSlider.d.ts +22 -0
- package/dist/types/src/components/Shared/Mobile/StickyFilterChips.d.ts +20 -0
- package/dist/types/src/components/Shared/Mobile/UserIdentityMenu.d.ts +36 -0
- package/dist/types/src/components/Shared/Mobile/index.d.ts +5 -0
- package/dist/types/src/components/Shared/MobileDrawer.d.ts +9 -0
- package/dist/types/src/components/Shared/PageTitleHeader.d.ts +16 -0
- package/dist/types/src/components/Shared/SearchBox.d.ts +11 -0
- package/dist/types/src/components/Shared/ShieldedActionButton.d.ts +14 -0
- package/dist/types/src/components/Shared/ShieldedActionButton.stories.d.ts +8 -0
- package/dist/types/src/components/Shared/SubscriptionModal.d.ts +10 -0
- package/dist/types/src/components/Shared/Taxonomy/ExamplesPanel.d.ts +7 -0
- package/dist/types/src/components/Shared/Taxonomy/TaxonomyApproveForm.d.ts +15 -0
- package/dist/types/src/components/Shared/Taxonomy/TaxonomySuggestionDetail.d.ts +11 -0
- package/dist/types/src/components/Shared/Taxonomy/TaxonomySuggestionTable.d.ts +12 -0
- package/dist/types/src/components/Shared/Taxonomy/types.d.ts +18 -0
- package/dist/types/src/components/Shared/ViewControls.d.ts +13 -0
- package/dist/types/src/components/Shared/ViewModeToggle.d.ts +9 -0
- package/dist/types/src/components/Shared/extractTagsFromTitle.d.ts +3 -0
- package/dist/types/src/components/Shared/helpers/api.d.ts +21 -0
- package/dist/types/src/components/Shared/helpers/filters.d.ts +10 -0
- package/dist/types/src/components/Shared/helpers/jobsHelpers.d.ts +6 -0
- package/dist/types/src/components/Shared/types/shared-types.d.ts +125 -0
- package/dist/types/src/components/Shared/useSavedJobs.d.ts +5 -0
- package/dist/types/src/components/TagBadge/TagBadge.d.ts +12 -0
- package/dist/types/src/components/TagPicker/TagPicker.d.ts +20 -0
- package/dist/types/src/components/hooks/use-lead-form.d.ts +30 -0
- package/dist/types/src/components/hooks/useFilters.d.ts +5 -0
- package/dist/types/src/components/hooks/useOnboarding.d.ts +19 -0
- package/dist/types/src/components/hooks/usePagination.d.ts +6 -0
- package/dist/types/src/components/hooks/useSubscription.d.ts +4 -0
- package/dist/types/src/components/services/lead-validation.d.ts +30 -0
- package/dist/types/src/components/types/lead.d.ts +43 -0
- package/dist/types/src/components/ui/button.d.ts +57 -0
- package/dist/types/src/components/ui/button.stories.d.ts +105 -0
- package/dist/types/src/components/ui/button.test.d.ts +1 -0
- package/dist/types/src/components/ui/index.d.ts +17 -0
- package/dist/types/src/data/mockCandidates.d.ts +2 -0
- package/dist/types/src/data/mockCareerAssistant.d.ts +6 -0
- package/dist/types/src/data/mockComplaints.d.ts +2 -0
- package/dist/types/src/data/mockReviews.d.ts +6 -0
- package/dist/types/src/hooks/use-lead-form.d.ts +21 -0
- package/dist/types/src/hooks/useCareerAssistant.d.ts +7 -0
- package/dist/types/src/hooks/useLocalStorage.d.ts +36 -0
- package/dist/types/src/index.d.ts +170 -0
- package/dist/types/src/lib/utils.d.ts +15 -0
- package/dist/types/src/services/alphaVantageResearch.d.ts +32 -0
- package/dist/types/src/services/careerAssistant.mock.d.ts +53 -0
- package/dist/types/src/services/fmpService.d.ts +74 -0
- package/dist/types/src/services/lead-validation.d.ts +105 -0
- package/dist/types/src/services/research.d.ts +71 -0
- package/dist/types/src/services/scoringEngine.d.ts +35 -0
- package/dist/types/src/services/watchlistStore.d.ts +18 -0
- package/dist/types/src/stories/PageComponents.stories.d.ts +7 -0
- package/dist/types/src/types/candidate.d.ts +27 -0
- package/dist/types/src/types/chat-messages.d.ts +6 -0
- package/dist/types/src/types/company-user.d.ts +33 -0
- package/dist/types/src/types/company-user.test.d.ts +1 -0
- package/dist/types/src/types/company.d.ts +252 -0
- package/dist/types/src/types/complaint.d.ts +21 -0
- package/dist/types/src/types/conference.d.ts +21 -0
- package/dist/types/src/types/dashboard.d.ts +252 -0
- package/dist/types/src/types/events.courses.d.ts +49 -0
- package/dist/types/src/types/events.d.ts +23 -0
- package/dist/types/src/types/events.freelancers.d.ts +11 -0
- package/dist/types/src/types/events.jobs.d.ts +70 -0
- package/dist/types/src/types/events.news.d.ts +57 -0
- package/dist/types/src/types/events.newsletter.d.ts +6 -0
- package/dist/types/src/types/freelancer.d.ts +128 -0
- package/dist/types/src/types/general.d.ts +20 -0
- package/dist/types/src/types/icon-utils.d.ts +3 -0
- package/dist/types/src/types/item.d.ts +10 -0
- package/dist/types/src/types/job-alert.d.ts +64 -0
- package/dist/types/src/types/job.d.ts +70 -0
- package/dist/types/src/types/lead.d.ts +128 -0
- package/dist/types/src/types/maltaevent.d.ts +50 -0
- package/dist/types/src/types/maltaplace.d.ts +52 -0
- package/dist/types/src/types/market.d.ts +86 -0
- package/dist/types/src/types/news.d.ts +15 -0
- package/dist/types/src/types/onboarding.d.ts +42 -0
- package/dist/types/src/types/review.d.ts +61 -0
- package/dist/types/src/types/school.d.ts +89 -0
- package/dist/types/src/types/user.d.ts +34 -0
- package/dist/types/src/utils/safeArray.d.ts +1 -0
- package/dist/types/src/utils/safeArray.test.d.ts +1 -0
- package/package.json +4 -4
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
export interface Course {
|
|
2
|
+
id: string;
|
|
3
|
+
_id?: string;
|
|
4
|
+
link?: string;
|
|
5
|
+
title: string;
|
|
6
|
+
description: string;
|
|
7
|
+
company?: string;
|
|
8
|
+
company_slug?: string;
|
|
9
|
+
slug?: string;
|
|
10
|
+
instructor: string;
|
|
11
|
+
image?: string;
|
|
12
|
+
logo?: string;
|
|
13
|
+
next_available?: string;
|
|
14
|
+
scraped_at?: string;
|
|
15
|
+
industries?: string[];
|
|
16
|
+
solutions?: string[];
|
|
17
|
+
status?: number;
|
|
18
|
+
is_saved?: boolean;
|
|
19
|
+
is_recommended?: boolean;
|
|
20
|
+
is_enrolled?: boolean;
|
|
21
|
+
has_certificate?: boolean;
|
|
22
|
+
price: number;
|
|
23
|
+
originalPrice?: number;
|
|
24
|
+
currency: string;
|
|
25
|
+
duration: string;
|
|
26
|
+
level: "Beginner" | "Intermediate" | "Advanced";
|
|
27
|
+
category: string;
|
|
28
|
+
subcategory: string;
|
|
29
|
+
rating: number;
|
|
30
|
+
reviewCount: number;
|
|
31
|
+
enrollmentCount: number;
|
|
32
|
+
thumbnail: string;
|
|
33
|
+
tags: string[];
|
|
34
|
+
features: string[];
|
|
35
|
+
lastUpdated: string;
|
|
36
|
+
language: string;
|
|
37
|
+
certificate: boolean;
|
|
38
|
+
accessType: "Lifetime" | "Subscription" | "Limited";
|
|
39
|
+
isFeatured: boolean;
|
|
40
|
+
isNew: boolean;
|
|
41
|
+
isBestseller: boolean;
|
|
42
|
+
}
|
|
43
|
+
export interface CourseCategory {
|
|
44
|
+
id: string;
|
|
45
|
+
name: string;
|
|
46
|
+
icon?: string;
|
|
47
|
+
subcategories: CourseSubcategory[];
|
|
48
|
+
}
|
|
49
|
+
export interface CourseSubcategory {
|
|
50
|
+
id: string;
|
|
51
|
+
name: string;
|
|
52
|
+
courseCount: number;
|
|
53
|
+
}
|
|
54
|
+
export type SortOption = "relevance" | "price-low-high" | "price-high-low" | "rating" | "newest" | "most-enrolled";
|
|
55
|
+
export interface CourseFilters {
|
|
56
|
+
categories: string[];
|
|
57
|
+
subcategories: string[];
|
|
58
|
+
priceRange: [number, number];
|
|
59
|
+
levels: string[];
|
|
60
|
+
languages: string[];
|
|
61
|
+
features: string[];
|
|
62
|
+
rating: number;
|
|
63
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ListingAccessControl } from "@/components/GenericListing/accessControl";
|
|
3
|
+
interface BannerConfig {
|
|
4
|
+
enabled: boolean;
|
|
5
|
+
url?: string;
|
|
6
|
+
alt?: string;
|
|
7
|
+
link: string;
|
|
8
|
+
}
|
|
9
|
+
interface JobListingsProps {
|
|
10
|
+
apiUrl: string;
|
|
11
|
+
itemsPerPage: number;
|
|
12
|
+
filterKeys: string[];
|
|
13
|
+
enableSearch: boolean;
|
|
14
|
+
enablePagination: boolean;
|
|
15
|
+
enableMobileFilter: boolean;
|
|
16
|
+
banners: {
|
|
17
|
+
top: BannerConfig;
|
|
18
|
+
bottom: BannerConfig;
|
|
19
|
+
sidebar: BannerConfig;
|
|
20
|
+
};
|
|
21
|
+
userAccess?: ListingAccessControl;
|
|
22
|
+
}
|
|
23
|
+
declare const JobListings: React.FC<JobListingsProps>;
|
|
24
|
+
export default JobListings;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
interface FiltersProps {
|
|
3
|
+
filterKeys: string[];
|
|
4
|
+
filtersData: {
|
|
5
|
+
[key: string]: string[];
|
|
6
|
+
};
|
|
7
|
+
activeFilters: {
|
|
8
|
+
[key: string]: string;
|
|
9
|
+
};
|
|
10
|
+
handleFilterChange: (filterKey: string, value: string) => void;
|
|
11
|
+
searchFilters: string[];
|
|
12
|
+
removeSearchFilter: (filter: string) => void;
|
|
13
|
+
clearAllFilters: () => void;
|
|
14
|
+
searchableFilters?: string[];
|
|
15
|
+
}
|
|
16
|
+
declare const Filters: React.FC<FiltersProps>;
|
|
17
|
+
export default Filters;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface FooterLink {
|
|
3
|
+
text: string;
|
|
4
|
+
url: string;
|
|
5
|
+
}
|
|
6
|
+
interface FooterProps {
|
|
7
|
+
title?: string;
|
|
8
|
+
description?: string;
|
|
9
|
+
links?: FooterLink[][];
|
|
10
|
+
}
|
|
11
|
+
declare const Footer: React.FC<FooterProps>;
|
|
12
|
+
export default Footer;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type ResolvedListingAccessControl } from "../../GenericListing/accessControl";
|
|
2
|
+
import { Job } from "@/types/job";
|
|
3
|
+
interface JobCardProps {
|
|
4
|
+
job: Job;
|
|
5
|
+
positionInList?: number;
|
|
6
|
+
onSaveJob: (job: Job, positionInList?: number) => void;
|
|
7
|
+
onViewJob: (job: Job, positionInList?: number, openedIn?: "same_tab" | "new_tab" | "external") => void;
|
|
8
|
+
onApplyJob?: (job: Job, positionInList?: number, applyType?: "external" | "internal" | "one_click") => void;
|
|
9
|
+
isSaved: boolean;
|
|
10
|
+
layout?: "grid" | "list";
|
|
11
|
+
userAccess: ResolvedListingAccessControl;
|
|
12
|
+
}
|
|
13
|
+
declare const JobCard: import("react").NamedExoticComponent<JobCardProps>;
|
|
14
|
+
export default JobCard;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
import type { Job } from '../../../types/job';
|
|
3
|
+
import { ResolvedListingAccessControl } from "@/components/GenericListing/accessControl";
|
|
4
|
+
interface JobListProps {
|
|
5
|
+
jobs: Job[];
|
|
6
|
+
onSaveJob: (job: Job, positionInList?: number) => void;
|
|
7
|
+
onViewJob: (job: Job) => void;
|
|
8
|
+
isJobSaved: (job: Job) => boolean;
|
|
9
|
+
userAccess: ResolvedListingAccessControl;
|
|
10
|
+
}
|
|
11
|
+
declare const JobList: React.FC<JobListProps>;
|
|
12
|
+
export default JobList;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
interface MobileFilterDrawerProps {
|
|
3
|
+
isOpen: boolean;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
filterKeys: string[];
|
|
6
|
+
filtersData: {
|
|
7
|
+
[key: string]: string[];
|
|
8
|
+
};
|
|
9
|
+
activeFilters: {
|
|
10
|
+
[key: string]: string;
|
|
11
|
+
};
|
|
12
|
+
handleFilterChange: (filterKey: string, value: string) => void;
|
|
13
|
+
handleSearchChange: (search: string) => void;
|
|
14
|
+
searchTerm: string;
|
|
15
|
+
clearAllFilters: () => void;
|
|
16
|
+
handleSearchKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;
|
|
17
|
+
searchFilters: string[];
|
|
18
|
+
removeSearchFilter: (filter: string) => void;
|
|
19
|
+
}
|
|
20
|
+
declare const MobileFilterDrawer: React.FC<MobileFilterDrawerProps>;
|
|
21
|
+
export default MobileFilterDrawer;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface NavbarLink {
|
|
3
|
+
text: string;
|
|
4
|
+
url: string;
|
|
5
|
+
}
|
|
6
|
+
interface NavbarProps {
|
|
7
|
+
logo?: string;
|
|
8
|
+
links?: NavbarLink[];
|
|
9
|
+
buttonText?: string;
|
|
10
|
+
buttonUrl?: string;
|
|
11
|
+
}
|
|
12
|
+
declare const Navbar: React.FC<NavbarProps>;
|
|
13
|
+
export default Navbar;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
interface PromoCardProps {
|
|
3
|
+
title: string;
|
|
4
|
+
description: string;
|
|
5
|
+
ctaText: string;
|
|
6
|
+
ctaLink: string;
|
|
7
|
+
bgColor?: string;
|
|
8
|
+
textColor?: string;
|
|
9
|
+
}
|
|
10
|
+
declare const PromoCard: React.FC<PromoCardProps>;
|
|
11
|
+
export default PromoCard;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
import type { KeyboardEvent } from "react";
|
|
3
|
+
interface SearchBarProps {
|
|
4
|
+
searchTerm: string;
|
|
5
|
+
handleSearchChange: (search: string) => void;
|
|
6
|
+
handleSearchKeyDown: (e: KeyboardEvent<HTMLInputElement>) => void;
|
|
7
|
+
suggestions: string[];
|
|
8
|
+
}
|
|
9
|
+
declare const SearchBar: React.FC<SearchBarProps>;
|
|
10
|
+
export default SearchBar;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { Job } from '../../../types/job';
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { ListingAccessControl } from "../GenericListing/accessControl";
|
|
2
|
+
import type { EmittedEventHandler, ListingEventContext } from "@/types/events";
|
|
3
|
+
import { type JobsListFilterDisplayConfig } from "./jobsListFilters";
|
|
4
|
+
import { Job } from "@/types/job";
|
|
5
|
+
interface ListingBannerConfig {
|
|
6
|
+
enabled: boolean;
|
|
7
|
+
url: string;
|
|
8
|
+
link: string;
|
|
9
|
+
alt: string;
|
|
10
|
+
}
|
|
11
|
+
interface JobsListProps {
|
|
12
|
+
apiUrl: string;
|
|
13
|
+
itemsPerPage?: number;
|
|
14
|
+
filterKeys?: string[];
|
|
15
|
+
/** Standardized alias used by other DirectoryShell lists. */
|
|
16
|
+
filterOptions?: string[];
|
|
17
|
+
enablePagination?: boolean;
|
|
18
|
+
enableMobileFilter?: boolean;
|
|
19
|
+
searchableFilters?: string[];
|
|
20
|
+
filterDisplayConfig?: {
|
|
21
|
+
multiSelectKeys?: string[];
|
|
22
|
+
showOptionCounts?: boolean;
|
|
23
|
+
optionSort?: JobsListFilterDisplayConfig["optionSort"];
|
|
24
|
+
};
|
|
25
|
+
banner?: {
|
|
26
|
+
sidebar?: ListingBannerConfig;
|
|
27
|
+
};
|
|
28
|
+
cardType?: string;
|
|
29
|
+
userAccess?: ListingAccessControl & {
|
|
30
|
+
email?: string;
|
|
31
|
+
};
|
|
32
|
+
onEmitEvent?: EmittedEventHandler;
|
|
33
|
+
eventContext?: Omit<ListingEventContext, "component">;
|
|
34
|
+
notification_url?: string;
|
|
35
|
+
/** Pre-fetched jobs from a server component – skips the client-side fetch when provided. */
|
|
36
|
+
initialJobs?: Job[];
|
|
37
|
+
}
|
|
38
|
+
declare const JobsList: ({ apiUrl, itemsPerPage, filterKeys, filterOptions, enablePagination, enableMobileFilter: _enableMobileFilter, searchableFilters, filterDisplayConfig, banner, cardType: _cardType, userAccess, onEmitEvent, eventContext, initialJobs, }: JobsListProps) => import("react/jsx-runtime").JSX.Element;
|
|
39
|
+
export default JobsList;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { DirectoryFilterSection } from "../Shared/Directory/types";
|
|
2
|
+
import type { Job } from '../../types/job';
|
|
3
|
+
export declare const JOBS_LIST_SUPPORTED_FILTER_KEYS: readonly ["categories", "jobType", "salaryRange", "created", "company", "country", "city", "department", "workplace", "companySize"];
|
|
4
|
+
export type JobsListFilterKey = (typeof JOBS_LIST_SUPPORTED_FILTER_KEYS)[number];
|
|
5
|
+
export type JobsListFilterOptionSort = "alphabetical" | "count_desc" | "count_asc";
|
|
6
|
+
export interface JobsListFilterDisplayConfig {
|
|
7
|
+
multiSelectKeys?: readonly JobsListFilterKey[];
|
|
8
|
+
showOptionCounts?: boolean;
|
|
9
|
+
optionSort?: JobsListFilterOptionSort;
|
|
10
|
+
}
|
|
11
|
+
export declare const normalizeJobsListFilterKeys: (keys: readonly string[]) => JobsListFilterKey[];
|
|
12
|
+
export declare const buildJobsFilterSections: (jobs: Job[], filterKeys: readonly JobsListFilterKey[], displayConfig?: JobsListFilterDisplayConfig) => DirectoryFilterSection[];
|
|
13
|
+
export declare const matchesJobsListFilter: (job: Job, key: JobsListFilterKey, values: string[]) => boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { JobDetail, SimilarJob } from './utils/types';
|
|
3
|
+
type Props = {
|
|
4
|
+
job?: Partial<JobDetail>;
|
|
5
|
+
similarJobs?: Partial<SimilarJob>[];
|
|
6
|
+
onSkillClick?: (skill: string) => void;
|
|
7
|
+
};
|
|
8
|
+
declare const JobDetailPage: React.FC<Props>;
|
|
9
|
+
export default JobDetailPage;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export interface SimilarJob {
|
|
2
|
+
id: string;
|
|
3
|
+
title: string;
|
|
4
|
+
company: string;
|
|
5
|
+
location: string;
|
|
6
|
+
salary?: string;
|
|
7
|
+
postedDate: string;
|
|
8
|
+
}
|
|
9
|
+
export interface JobDetail {
|
|
10
|
+
id: string;
|
|
11
|
+
title: string;
|
|
12
|
+
company: string;
|
|
13
|
+
companyLogo?: string;
|
|
14
|
+
location: string;
|
|
15
|
+
salary?: string;
|
|
16
|
+
jobType: string;
|
|
17
|
+
experienceLevel: string;
|
|
18
|
+
department: string;
|
|
19
|
+
postedDate: string;
|
|
20
|
+
applicationDeadline?: string;
|
|
21
|
+
description: string;
|
|
22
|
+
requirements: string[];
|
|
23
|
+
responsibilities: string[];
|
|
24
|
+
benefits: string[];
|
|
25
|
+
skills: string[];
|
|
26
|
+
companyDescription: string;
|
|
27
|
+
companySize?: string;
|
|
28
|
+
companyWebsite?: string;
|
|
29
|
+
contactEmail?: string;
|
|
30
|
+
contactPhone?: string;
|
|
31
|
+
isRemote: boolean;
|
|
32
|
+
isUrgent: boolean;
|
|
33
|
+
isFeatured: boolean;
|
|
34
|
+
applicationUrl?: string;
|
|
35
|
+
viewCount?: number;
|
|
36
|
+
applicantCount?: number;
|
|
37
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useJobSlug(): string | null;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { School } from "@/types/school";
|
|
3
|
+
interface LanguageSchoolDetailProps {
|
|
4
|
+
/**
|
|
5
|
+
* Pass either a pre-fetched school (SSR/SSG) or an API slug to fetch on the client.
|
|
6
|
+
*/
|
|
7
|
+
school?: School | null;
|
|
8
|
+
/**
|
|
9
|
+
* When school is not pre-fetched, provide the full API URL for the single-school endpoint:
|
|
10
|
+
* e.g. "https://maltalovers.com/wp-json/ml/v1/schools/sterling-academy-malta"
|
|
11
|
+
*/
|
|
12
|
+
apiUrl?: string;
|
|
13
|
+
onBack?: () => void;
|
|
14
|
+
}
|
|
15
|
+
declare const LanguageSchoolDetail: React.FC<LanguageSchoolDetailProps>;
|
|
16
|
+
export default LanguageSchoolDetail;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { School } from "@/types/school";
|
|
2
|
+
interface LanguageSchoolsListProps {
|
|
3
|
+
/**
|
|
4
|
+
* Base URL for the MaltaLovers WordPress REST API.
|
|
5
|
+
* e.g. "https://maltalovers.com/wp-json/ml/v1/schools"
|
|
6
|
+
* "http://localhost:8070/wp-json/ml/v1/schools"
|
|
7
|
+
*
|
|
8
|
+
* When omitted the component fetches no data (use initialSchools instead).
|
|
9
|
+
*/
|
|
10
|
+
apiUrl?: string;
|
|
11
|
+
/** Pre-fetched schools — skips the client-side fetch when provided (SSR/SSG). */
|
|
12
|
+
initialSchools?: School[];
|
|
13
|
+
itemsPerPage?: number;
|
|
14
|
+
enableMobileFilter?: boolean;
|
|
15
|
+
}
|
|
16
|
+
declare const LanguageSchoolsList: ({ apiUrl, initialSchools, itemsPerPage, enableMobileFilter: _enableMobileFilter, }: LanguageSchoolsListProps) => import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export default LanguageSchoolsList;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { School } from "@/types/school";
|
|
3
|
+
interface SchoolCardProps {
|
|
4
|
+
school: School;
|
|
5
|
+
viewMode?: "grid" | "list";
|
|
6
|
+
/** Set during local dev when source === "fixture" */
|
|
7
|
+
isFixture?: boolean;
|
|
8
|
+
}
|
|
9
|
+
declare const SchoolCard: React.FC<SchoolCardProps>;
|
|
10
|
+
export default SchoolCard;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { DirectoryFilterSection } from "../Shared/Directory/types";
|
|
2
|
+
import type { School } from "@/types/school";
|
|
3
|
+
export declare const SCHOOLS_LIST_SUPPORTED_FILTER_KEYS: readonly ["course_type", "area", "tier", "accommodation", "accreditation", "min_price", "max_class_size"];
|
|
4
|
+
export type SchoolsListFilterKey = (typeof SCHOOLS_LIST_SUPPORTED_FILTER_KEYS)[number];
|
|
5
|
+
export declare const buildSchoolsFilterSections: (schools: School[]) => DirectoryFilterSection[];
|
|
6
|
+
export declare const matchesSchoolsListFilter: (school: School, filterValues: Record<string, string[]>) => boolean;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LeadForm Component
|
|
3
|
+
* Reusable lead capture form for maltalovers.com and other platforms
|
|
4
|
+
*/
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import { LeadFormData, LeadFormConfig } from '../types/lead';
|
|
7
|
+
export interface LeadFormProps extends React.HTMLAttributes<HTMLFormElement> {
|
|
8
|
+
/**
|
|
9
|
+
* Configuration options
|
|
10
|
+
*/
|
|
11
|
+
config?: LeadFormConfig;
|
|
12
|
+
/**
|
|
13
|
+
* Default values (optional)
|
|
14
|
+
*/
|
|
15
|
+
defaultValues?: Partial<LeadFormData>;
|
|
16
|
+
/**
|
|
17
|
+
* Custom className
|
|
18
|
+
*/
|
|
19
|
+
className?: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* LeadForm Component
|
|
23
|
+
* A reusable form for capturing lead information
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```tsx
|
|
27
|
+
* import { LeadForm } from '@igamingcareer/igaming-components'
|
|
28
|
+
*
|
|
29
|
+
* export function ContactPage() {
|
|
30
|
+
* return (
|
|
31
|
+
* <LeadForm
|
|
32
|
+
* config={{
|
|
33
|
+
* sourcePage: '/cursos/ingles-general',
|
|
34
|
+
* campaign: 'landing-page-2024',
|
|
35
|
+
* visibleFields: ['name', 'email', 'phone', 'country', 'budget', 'timeframe'],
|
|
36
|
+
* onSuccess: (response) => {
|
|
37
|
+
* console.log('Lead captured:', response)
|
|
38
|
+
* },
|
|
39
|
+
* }}
|
|
40
|
+
* />
|
|
41
|
+
* )
|
|
42
|
+
* }
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export declare const LeadForm: React.ForwardRefExoticComponent<LeadFormProps & React.RefAttributes<HTMLFormElement>>;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
declare const meta: {
|
|
3
|
+
title: string;
|
|
4
|
+
component: import("react").ForwardRefExoticComponent<import("@/components/LeadForm").LeadFormProps & import("react").RefAttributes<HTMLFormElement>>;
|
|
5
|
+
parameters: {
|
|
6
|
+
layout: string;
|
|
7
|
+
};
|
|
8
|
+
tags: string[];
|
|
9
|
+
};
|
|
10
|
+
export default meta;
|
|
11
|
+
type Story = StoryObj<typeof meta>;
|
|
12
|
+
/**
|
|
13
|
+
* Basic lead form with all fields visible
|
|
14
|
+
* Used for landing pages and course sign-up pages
|
|
15
|
+
*/
|
|
16
|
+
export declare const Default: Story;
|
|
17
|
+
/**
|
|
18
|
+
* Spanish language variant
|
|
19
|
+
* All fields in Spanish context
|
|
20
|
+
*/
|
|
21
|
+
export declare const SpanishVariant: Story;
|
|
22
|
+
/**
|
|
23
|
+
* Form with pre-filled values
|
|
24
|
+
* Useful for authenticated users or returning visitors
|
|
25
|
+
*/
|
|
26
|
+
export declare const WithDefaultValues: Story;
|
|
27
|
+
/**
|
|
28
|
+
* Full form with all optional fields visible
|
|
29
|
+
* For comprehensive lead qualification
|
|
30
|
+
*/
|
|
31
|
+
export declare const FullForm: Story;
|
|
32
|
+
/**
|
|
33
|
+
* Form with API endpoint override
|
|
34
|
+
* For custom backend integration
|
|
35
|
+
*/
|
|
36
|
+
export declare const CustomEndpoint: Story;
|
|
37
|
+
/**
|
|
38
|
+
* Loading state demonstration
|
|
39
|
+
* Shows the form during submission
|
|
40
|
+
*/
|
|
41
|
+
export declare const LoadingState: Story;
|
|
42
|
+
/**
|
|
43
|
+
* Form with custom styling
|
|
44
|
+
* Demonstrates className override
|
|
45
|
+
*/
|
|
46
|
+
export declare const CustomStyling: Story;
|
|
47
|
+
/**
|
|
48
|
+
* Form showcase with all variants
|
|
49
|
+
* Multiple forms side-by-side
|
|
50
|
+
*/
|
|
51
|
+
export declare const AllVariants: Story;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { MaltaEvent } from "@/types/maltaevent";
|
|
2
|
+
interface MaltaEventDetailProps {
|
|
3
|
+
event?: MaltaEvent | null;
|
|
4
|
+
apiUrl?: string;
|
|
5
|
+
onBack?: () => void;
|
|
6
|
+
}
|
|
7
|
+
declare const MaltaEventDetail: ({ event: initialEvent, apiUrl, onBack }: MaltaEventDetailProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export default MaltaEventDetail;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { MaltaEvent } from "@/types/maltaevent";
|
|
2
|
+
interface MaltaEventsListProps {
|
|
3
|
+
/**
|
|
4
|
+
* Base URL for the MaltaLovers WordPress REST API.
|
|
5
|
+
* e.g. "https://maltalovers.com/wp-json/ml/v1/events"
|
|
6
|
+
* "http://localhost:8070/wp-json/ml/v1/events"
|
|
7
|
+
*
|
|
8
|
+
* When omitted and initialEvents not provided, use mock data.
|
|
9
|
+
*/
|
|
10
|
+
apiUrl?: string;
|
|
11
|
+
/** Pre-fetched events — skips the client-side fetch when provided (SSR/SSG). */
|
|
12
|
+
initialEvents?: MaltaEvent[];
|
|
13
|
+
itemsPerPage?: number;
|
|
14
|
+
enableMobileFilter?: boolean;
|
|
15
|
+
}
|
|
16
|
+
declare const MaltaEventsList: ({ apiUrl, initialEvents, itemsPerPage, enableMobileFilter: _enableMobileFilter, }: MaltaEventsListProps) => import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export default MaltaEventsList;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { MaltaEvent } from "@/types/maltaevent";
|
|
3
|
+
interface MaltaEventCardProps {
|
|
4
|
+
event: MaltaEvent;
|
|
5
|
+
viewMode?: "grid" | "list";
|
|
6
|
+
/** Set during local dev when source === "fixture" */
|
|
7
|
+
isFixture?: boolean;
|
|
8
|
+
}
|
|
9
|
+
declare const MaltaEventCard: React.FC<MaltaEventCardProps>;
|
|
10
|
+
export default MaltaEventCard;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Malta Events filtering and sorting utilities
|
|
3
|
+
*/
|
|
4
|
+
import type { MaltaEvent } from "@/types/maltaevent";
|
|
5
|
+
import type { DirectoryFilterSection } from "../Shared/Directory/types";
|
|
6
|
+
/**
|
|
7
|
+
* Build filter sections from loaded events data.
|
|
8
|
+
* Dynamically extracts unique values from events so filters are always in sync.
|
|
9
|
+
*/
|
|
10
|
+
export declare const buildEventsFilterSections: (events: MaltaEvent[]) => DirectoryFilterSection[];
|
|
11
|
+
/**
|
|
12
|
+
* Check if an event matches the current filter values.
|
|
13
|
+
*/
|
|
14
|
+
export declare const matchesEventsListFilter: (event: MaltaEvent, filterValues: Record<string, string[]>) => boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Parse ISO 8601 datetime string to Date object.
|
|
17
|
+
*/
|
|
18
|
+
export declare const parseEventDate: (dateStr: string) => Date;
|
|
19
|
+
/**
|
|
20
|
+
* Format date for display (relative to today).
|
|
21
|
+
*/
|
|
22
|
+
export declare const formatEventDateDisplay: (dateStr: string) => string;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { default as MaltaEventsList } from "./MaltaEventsList";
|
|
2
|
+
export { default as MaltaEventDetail } from "./MaltaEventDetail";
|
|
3
|
+
export { default as MaltaEventCard } from "./components/MaltaEventCard";
|
|
4
|
+
export { buildEventsFilterSections, matchesEventsListFilter, parseEventDate, formatEventDateDisplay, } from "./eventsListFilters";
|
|
5
|
+
export type { MaltaEvent, EventsApiResponse, EventTaxonomyTerm } from "@/types/maltaevent";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { MaltaPlace } from "@/types/maltaplace";
|
|
2
|
+
interface MaltaPlaceDetailProps {
|
|
3
|
+
place?: MaltaPlace | null;
|
|
4
|
+
apiUrl?: string;
|
|
5
|
+
onBack?: () => void;
|
|
6
|
+
}
|
|
7
|
+
declare const MaltaPlaceDetail: ({ place: initialPlace, apiUrl, onBack }: MaltaPlaceDetailProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export default MaltaPlaceDetail;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { MaltaPlace } from "@/types/maltaplace";
|
|
2
|
+
interface MaltaPlacesListProps {
|
|
3
|
+
/**
|
|
4
|
+
* Base URL for the MaltaLovers WordPress REST API.
|
|
5
|
+
* e.g. "https://maltalovers.com/wp-json/ml/v1/places"
|
|
6
|
+
* "http://localhost:8070/wp-json/ml/v1/places"
|
|
7
|
+
*
|
|
8
|
+
* When omitted and initialPlaces not provided, use mock data.
|
|
9
|
+
*/
|
|
10
|
+
apiUrl?: string;
|
|
11
|
+
/** Pre-fetched places — skips the client-side fetch when provided (SSR/SSG). */
|
|
12
|
+
initialPlaces?: MaltaPlace[];
|
|
13
|
+
itemsPerPage?: number;
|
|
14
|
+
enableMobileFilter?: boolean;
|
|
15
|
+
}
|
|
16
|
+
declare const MaltaPlacesList: ({ apiUrl, initialPlaces, itemsPerPage, enableMobileFilter: _enableMobileFilter, }: MaltaPlacesListProps) => import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export default MaltaPlacesList;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { MaltaPlace } from "@/types/maltaplace";
|
|
3
|
+
interface MaltaPlaceCardProps {
|
|
4
|
+
place: MaltaPlace;
|
|
5
|
+
viewMode?: "grid" | "list";
|
|
6
|
+
/** Set during local dev when source === "fixture" */
|
|
7
|
+
isFixture?: boolean;
|
|
8
|
+
}
|
|
9
|
+
declare const MaltaPlaceCard: React.FC<MaltaPlaceCardProps>;
|
|
10
|
+
export default MaltaPlaceCard;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { default as MaltaPlacesList } from "./MaltaPlacesList";
|
|
2
|
+
export { default as MaltaPlaceDetail } from "./MaltaPlaceDetail";
|
|
3
|
+
export { default as MaltaPlaceCard } from "./components/MaltaPlaceCard";
|
|
4
|
+
export { buildPlacesFilterSections, matchesPlacesListFilter } from "./placesListFilters";
|
|
5
|
+
export type { MaltaPlace, PlacesApiResponse, PlaceAddress, PlaceTaxonomyTerm } from "@/types/maltaplace";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Malta Places filtering and sorting utilities
|
|
3
|
+
*/
|
|
4
|
+
import type { MaltaPlace } from "@/types/maltaplace";
|
|
5
|
+
import type { DirectoryFilterSection } from "../Shared/Directory/types";
|
|
6
|
+
/**
|
|
7
|
+
* Build filter sections from loaded places data.
|
|
8
|
+
* Dynamically extracts unique values from places so filters are always in sync.
|
|
9
|
+
*/
|
|
10
|
+
export declare const buildPlacesFilterSections: (places: MaltaPlace[]) => DirectoryFilterSection[];
|
|
11
|
+
/**
|
|
12
|
+
* Check if a place matches the current filter values.
|
|
13
|
+
*/
|
|
14
|
+
export declare const matchesPlacesListFilter: (place: MaltaPlace, filterValues: Record<string, string[]>) => boolean;
|