import i, { lazy as t } from "react";
import c from "./reducers/data.js";
import p from "./reducers/embeddable.js";
import { injectIntl as a } from "react-intl";
const l = t(() => import("./pagegallery/index.js")), d = t(() => import("./download/index.js")), u = t(() => import("./postscarousel/index.js")), b = t(() => import("./chart/index.js")), C = t(() => import("./filter/index.js")), g = t(() => import("./showcase/index.js")), f = t(() => import("./newsletter/index.js")), w = t(() => import("./tabbedposts/index.js")), P = t(() => import("./pagemodules/index.js")), y = t(() => import("./featuredtabs/index.js")), L = t(() => import("./vertical-featuredtabs/index.js")), F = t(() => import("./inlinelist/index.js")), h = t(() => import("./agree-and-download/index.js")), T = t(() => import("./downloadPDF/index.js")), N = t(() => import("./map/index.js")), R = t(() => import("./filter-reset-button/index.js")), D = t(() => import("./filters-apply-button/index.js")), M = t(() => import("./tooltip/index.js")), k = t(() => import("./references/ReferencesList.js")), B = t(() => import("./references/Reference.js")), j = t(() => import("./time-line/index.js")), A = t(() => import("./new-time-line/index.js")), I = t(() => import("./measures/index.js")), O = t(() => import("./menu/index.js")), S = t(() => import("./child-page-menu/index.js")), v = t(() => import("./d3Map/index.js")), x = t(() => import("./parallax/index.js")), z = t(() => import("./wrapped/index.js")), G = t(() => import("./sankeychart/index.js")), E = t(() => import("./datalabel/index.js")), V = t(() => import("./body/index.js")), W = t(() => import("./superset-chart/index.js")), q = t(() => import("./superset-dashboard/index.js")), H = t(() => import("./big-number/index.js")), J = t(() => import("./big-number-trend/index.js")), K = t(() => import("./posts-filter/index.js")), Q = t(() => import("./filtered-posts/index.js")), U = t(() => import("./posts-filters-reset-button/index.js")), X = t(() => import("./posts-pagination/index.js")), m = {
  pageGallery: l,
  postsCarousel: u,
  chart: b,
  filter: C,
  showCaseForm: g,
  newsLetter: f,
  tabbedPosts: w,
  pageModules: P,
  featuredTabs: y,
  verticalTabs: L,
  inlineList: F,
  download: d,
  downloadPdf: T,
  map: N,
  dataFiltersReset: R,
  dataFiltersApply: D,
  tooltip: M,
  references: k,
  reference: B,
  timeLine: j,
  newTimeLine: A,
  measures: I,
  menu: O,
  childPagesMenu: S,
  newMap: v,
  parallaxContainer: x,
  wrapped: z,
  sankeyChart: G,
  dataLabel: E,
  body: V,
  supersetChart: W,
  supersetDashboard: q,
  agreeAndDownload: h,
  bigNumber: H,
  bigNumberTrend: J,
  postsFilter: K,
  filteredPosts: Q,
  postsFiltersReset: U,
  postsPagination: X,
  redirect: () => null
}, s = {
  components: {},
  reducers: {},
  registerCustomEmbeddables: (r) => {
    for (const [o, e] of Object.entries(r))
      s.components[o] = e;
  },
  getComponentByNameIgnoreCase: (r) => {
    const o = Object.keys(s.components).find((e) => e.toLowerCase() === r.toLowerCase());
    if (o) {
      const e = s.components[o];
      return i.memo(a(e));
    }
    return null;
  },
  registerCustomReducers: (r) => {
    for (const [o, e] of Object.entries(r))
      s.reducers[o] = e;
  },
  getReducers: () => s.reducers
}, tt = (r) => {
  const o = Object.keys(m).find((n) => n.toLowerCase() === r.toLowerCase());
  if (o) {
    const n = m[o];
    return i.memo(a(n));
  }
  const e = s.getComponentByNameIgnoreCase(r);
  return e ? i.memo(a(e)) : null;
}, et = { data: c, embeddable: p, ...s.getReducers() };
export {
  m as components,
  s as customizer,
  tt as getComponentByNameIgnoreCase,
  et as reducers
};
