/**
 * Lean primitive registry for the core UMD bundle (seekora-react-sdk.core.umd.js).
 *
 * Unlike the full `primitive-registry.ts` (which statically imports ALL components
 * so that the monolithic slim/fat UMD bundles are self-contained), this file
 * pre-seeds only the core chrome components that ship in the core bundle.
 *
 * Filter and suggestions components are NOT imported here — they register
 * themselves via registerPrimitive() when their respective UMD chunks load.
 * This keeps the core bundle lean and allows lazy loading of filter/suggestions.
 *
 * The full primitive-registry.ts is used by the monolithic slim/fat UMD builds
 * (seekora-react-sdk.slim.umd.js, seekora-react-sdk.umd.js) — those remain
 * self-contained for merchants not using the split bundle.
 *
 * SCRUM-268
 */
import { ClearRefinements } from "../components/ClearRefinements";
import { Stats } from "../components/Stats";
import { SortBy } from "../components/SortBy";
import { CurrentRefinements } from "../components/CurrentRefinements";
import { Pagination } from "../components/Pagination";
import { SearchBar } from "../components/SearchBar";
import { SearchInput as SearchInputStandalone } from "../components/SearchInput";
import { MobileFiltersButton } from "../components/MobileFilters";
import { HitsPerPage } from "../components/HitsPerPage";
import { Breadcrumb } from "../components/Breadcrumb";
import { SearchResults } from "../components/SearchResults";
import { SectionItemGrid } from "../components/section-primitives/SectionItemGrid";
import { ThemeHarvestPredictiveList } from "../components/ThemeHarvestPredictiveList";
import { ThemeHarvestSuggestionList } from "../components/ThemeHarvestSuggestionList";
import { ThemeHarvestGrid } from "../components/ThemeHarvestGrid";
// Core-only primitives. Filter + suggestions primitives are absent at bundle time
// and will be registered dynamically when those chunks load.
const REGISTRY = {
    ClearRefinements,
    Stats,
    SortBy,
    CurrentRefinements,
    Pagination,
    SearchBar,
    SearchInputStandalone,
    MobileFiltersButton,
    HitsPerPage,
    Breadcrumb,
    SearchResults,
    SectionItemGrid,
    ThemeHarvestGrid,
    ThemeHarvestPredictiveList,
    ThemeHarvestSuggestionList,
};
export const PRIMITIVE_REGISTRY = REGISTRY;
export function registerPrimitive(name, component) {
    REGISTRY[name] = component;
}
export function getPrimitive(name) {
    return REGISTRY[name];
}
export function listPrimitives() {
    return Object.keys(REGISTRY);
}
