import { jsx as r } from "react/jsx-runtime";
import "react";
import { connect as Va } from "react-redux";
import Wa from "../data/DataProvider.js";
import Ga from "../data/DataConsumer.js";
import ja from "./map.js";
import Za from "./MapDataFrame.js";
import Ha from "./MapCSVDataFrame.js";
const Ja = [
  { label: "KENYA", value: "KEN", center: [35.8166634, 0.1], scale: 2e3 },
  { label: "Nigeria", value: "NGA", center: [7.491302, 9.072264], scale: 2e3 },
  { label: "South Africa", value: "ZAF", center: [24.676997, -28.48322], scale: 2e3 },
  { label: "West Africa", value: "West Africa", center: [-7.293255, 13.90572], scale: 1500 },
  { label: "Africa", value: "Africa", center: [13.134227, -11.523088], scale: 550 },
  { label: "Ethiopia", value: "ETH", center: [35.8166634, 1.7], scale: 2e3 },
  { label: "Zambia", value: "ZMB", center: [26.459455, -14.668135], scale: 2e3 },
  { label: "Democratic Republic of the Congo", value: "DRC", center: [23.174338, -5.837475], scale: 1250 },
  { label: "World", value: "World", center: [0, 20.050043], scale: 150 }
], Ka = (n) => /* @__PURE__ */ r(qa, { ...n }), qa = (n) => {
  var R;
  const {
    unique: c,
    editing: s,
    "data-filters": P = "{}",
    "data-app": i = "csv",
    "data-csv": k = "",
    "data-dimension1": E = "",
    "data-dimension2": M = "",
    "data-measures": u = '["prevalenceSmokeAny"]',
    "data-height": O = 600,
    width: V = 960,
    "data-data-source-text": W = "NIDS",
    "data-data-source-label": G = "Source",
    "data-national-average-label": j = "National Prevalence Avg",
    "data-legend-title": Z = "Tobacco Prevalence Rate",
    "data-legend-breaks": H = "[]",
    "data-zoom-enabled": g = !1,
    "data-show-legend-labels": h = !1,
    "data-map-file": J,
    "data-mapping-field": K = "zone",
    "data-map-label-field": q = "admin",
    "data-has-multiple-measures": v = "false",
    topoJSONField: Y = "collection",
    "data-map-center": $ = "NGA",
    //country
    "data-map-label-show-value": y = "false",
    "data-show-tooltip": C = "true",
    "data-measure-selector-label": Q = "",
    "data-value-format": X = "",
    "data-show-overall-value": F = "false",
    "data-auto-generate-breaks": L = "false",
    "data-number-of-breaks": _ = 5,
    "data-scheme": aa = "reds",
    "data-show-no-data-label": w = "false",
    "data-group": S = "default",
    "data-map-symbols": ea = "[]",
    "data-tooltip-theme": ta = "map-tooltip-dark",
    "data-label-font-size": oa = 12,
    "data-label-font-weight": la = "normal",
    "data-label-font-color": ra = "#595959",
    "data-legend-font-size": na = 12,
    "data-legend-font-weight": sa = "normal",
    "data-custom-tooltips": ia = "[]",
    "data-format-style": p = "decimal",
    "data-decimals": D = "2",
    "data-currency": da = "",
    "data-tooltip-font-size": ma = 14,
    "data-show-admin-unit-label": ca = "showAll",
    "data-map-no-data-color": ua = "#f8f8f8",
    "data-map-boundary-color": pa = "#000",
    "data-map-focus-boundary-color": fa = "#000",
    "data-highlighted-location": ba = "",
    "data-tooltip-format": ga = `{locationName} %({value},2) 
 {label}: %({value},2)`,
    "data-show-no-data-tooltip": I = "false",
    "data-map-container-bg-color": ha = "#fff",
    "data-map-position": va = "{}",
    "data-main-layer-id": ya = "",
    "data-enabled-layers": Ca,
    "data-point-label-color": Fa = "#fff",
    "data-point-label-format": La = "{locationName} %({value},2)",
    "data-show-no-data-legend-item": N = !1,
    "data-highlighted-loc-label-format": wa = "{locationName} - Score: #({value},2)",
    "data-enable-summary-view": Qa = "false",
    "data-map-type": z = "DEFAULT",
    "data-default-point-color": Sa = "#FFFF00",
    "data-aggregation-formula": Da = "COUNT",
    "data-zoom-level-to-show-points": Ia = 2,
    "data-zoom-on-filter": T = "false",
    "data-zoom-on-filter-field": Na = "",
    "data-no-data-text": za = "No Data",
    "data-labels-exclusion-list": Ta = "",
    "data-custom-measure-labels": xa = "{}",
    "data-show-shading-layer-labels": Aa = "ifUnitHasData",
    "data-dvz-proxy-dataset-id": f,
    "data-recently-toggled-layer-id": Ua = null,
    intl: Xa,
    settings: _a
  } = n, Ra = (a) => s ? a : decodeURIComponent(a), o = (a) => {
    try {
      if (a)
        return JSON.parse(Ra(a));
    } catch {
      console.error("error parsing value:" + a);
    }
    return null;
  }, Ba = (a) => {
    let t = o(a) || [];
    return t = t.map((e) => (e.min && (e.min = parseFloat(e.min)), e.max && (e.max = parseFloat(e.max)), e.color = decodeURIComponent(e.color), e)), t;
  }, Pa = (a) => {
    const t = o(a) || [];
    let e = {};
    return t && t.forEach ? t.forEach((m) => {
      m.value != null && m.value.filter((B) => B != null && B.toString().trim() != "").length > 0 && (e[m.param] = m.value);
    }) : e = t, e;
  }, ka = {
    style: p === "compacted" ? "decimal" : p,
    notation: p === "compacted" ? "compact" : "standard",
    currency: da,
    minimumFractionDigits: parseInt(D),
    maximumFractionDigits: parseInt(D)
  };
  let b = o(Ca) || [];
  b = b.map((a) => (a.bgColor = decodeURIComponent(a.bgColor), a.fontColor = decodeURIComponent(a.fontColor), a));
  const x = Ja.find((a) => a.value === $), A = v == !0 || v == "true";
  let l = [E, M].filter((a) => a != "none" && a != null).join("/");
  const d = {
    unique: c,
    editing: s,
    source: `/${J}`,
    center: x.center,
    scale: x.scale,
    measures: u,
    legendTitle: Z,
    height: O,
    width: V,
    topoJSONField: Y,
    mappingField: K,
    dataSourceText: W,
    dataSourceLabel: G,
    nationalAverageLabel: j,
    legendBreaks: Ba(H),
    mapLabelField: q,
    zoomEnabled: g == !0 || g == "true",
    showLegendLabels: h == !0 || h == "true",
    multipleMeasures: A,
    app: i,
    mapLabelShowValue: y == !0 || y == "true",
    showTooltip: C == !0 || C == "true",
    showOverallValue: F == !0 || F == "true",
    measureSelectorLabel: Q,
    valueFormat: X,
    autoGenerateBreaks: L == !0 || L == "true",
    showNoDataLabel: w == !0 || w == "true",
    numberOfBreaks: _,
    colorScheme: aa,
    group: S,
    symbols: o(ea) || [],
    tooltipTheme: ta,
    labelFontSize: oa,
    labelFontColor: decodeURIComponent(ra),
    labelFontWeight: la,
    legendFontSize: na,
    legendFontWeight: sa,
    customTooltips: o(ia) || [],
    format: ka,
    tooltipFontSize: ma,
    showAdminUnitLabel: ca,
    mapNoDataColor: decodeURIComponent(ua),
    mapBoundaryColor: decodeURIComponent(pa),
    mapFocusBoundaryColor: decodeURIComponent(fa),
    highlightedLocation: ba,
    tooltipFormat: ga,
    showNoDataTooltip: I == !0 || I == "true",
    fields: l.split("/"),
    mapContainerBgColor: decodeURIComponent(ha),
    mapPosition: o(va),
    mainLayerId: ya,
    enabledLayers: b,
    pointLabelColor: decodeURIComponent(Fa),
    pointLabelFormat: La,
    showNoDataLegendItem: N == !0 || N == "true",
    highlightedLocLabelFormat: wa,
    mapType: z,
    defaultPointColor: decodeURIComponent(Sa),
    zoomLevelToShowPoints: Ia,
    zoomOnFilter: T == !0 || T == "true",
    zoomOnFilterField: Na,
    noDataText: za,
    labelsExclusionList: Ta.split(",").map((a) => a.trim()),
    showShadingLayerLabels: Aa,
    dvzProxyDatasetId: f,
    recentlyToggledLayerId: Ua
  };
  if (d.recentlyToggledLayerId) {
    const a = d.enabledLayers.find((t) => String(t.id) === String(d.recentlyToggledLayerId));
    a && (a != null && a.apiField) && (l = (R = a.apiField) == null ? void 0 : R.toLowerCase());
  }
  const Ea = o(xa) || {}, Ma = i === "csv" ? Ha : Za, Oa = s ? (o(u) || []).join(",") : u, U = Pa(P);
  return f && (U.dvzProxyDatasetId = f), /* @__PURE__ */ r(
    Wa,
    {
      params: U,
      app: i,
      csv: decodeURIComponent(k),
      group: S,
      editing: s,
      store: [i, c, ...l.split("/")],
      source: l,
      children: /* @__PURE__ */ r(Ga, { children: /* @__PURE__ */ r(
        Ma,
        {
          measures: Oa,
          multipleMeasures: A,
          mapType: z,
          aggregationFormula: Da,
          customMeasureLabels: Ea,
          source: l,
          children: /* @__PURE__ */ r(ja, { ...d })
        }
      ) })
    }
  );
}, Ya = (n, c) => ({}), $a = {}, de = Va(Ya, $a)(Ka);
export {
  de as default
};
