pi-mega-compact 0.20.73 → 0.20.74

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.
Files changed (70) hide show
  1. package/dist/extensions/dashboard-server/routes-setup-cortex-actions.js +7 -0
  2. package/dist/extensions/dashboard-server/routes-setup-enc2a.js +21 -5
  3. package/dist/extensions/dashboard-server/routes-vector-cortex-helpers.js +8 -0
  4. package/extensions/dashboard-client/dist/assets/{AdminTab-ZyVtgYrZ.js → AdminTab-CqhIxrlT.js} +2 -2
  5. package/extensions/dashboard-client/dist/assets/{AdminTab-ZyVtgYrZ.js.map → AdminTab-CqhIxrlT.js.map} +1 -1
  6. package/extensions/dashboard-client/dist/assets/{AreaChart-7ms8Hk1m.js → AreaChart-D4EY7yiY.js} +2 -2
  7. package/extensions/dashboard-client/dist/assets/{AreaChart-7ms8Hk1m.js.map → AreaChart-D4EY7yiY.js.map} +1 -1
  8. package/extensions/dashboard-client/dist/assets/{BarChart-DeTE0NXA.js → BarChart-r_BFpd7a.js} +2 -2
  9. package/extensions/dashboard-client/dist/assets/{BarChart-DeTE0NXA.js.map → BarChart-r_BFpd7a.js.map} +1 -1
  10. package/extensions/dashboard-client/dist/assets/{CacheTab-CpIrpr_X.js → CacheTab-Bf5rwce6.js} +2 -2
  11. package/extensions/dashboard-client/dist/assets/{CacheTab-CpIrpr_X.js.map → CacheTab-Bf5rwce6.js.map} +1 -1
  12. package/extensions/dashboard-client/dist/assets/{ConfigTab-BNMrO7uz.js → ConfigTab-RFUXAUIP.js} +2 -2
  13. package/extensions/dashboard-client/dist/assets/{ConfigTab-BNMrO7uz.js.map → ConfigTab-RFUXAUIP.js.map} +1 -1
  14. package/extensions/dashboard-client/dist/assets/{EventsTab-j42vDTjs.js → EventsTab-DEqHbSHf.js} +2 -2
  15. package/extensions/dashboard-client/dist/assets/{EventsTab-j42vDTjs.js.map → EventsTab-DEqHbSHf.js.map} +1 -1
  16. package/extensions/dashboard-client/dist/assets/{HealthTab-D0Tf8XM_.js → HealthTab-WGEwtqmO.js} +2 -2
  17. package/extensions/dashboard-client/dist/assets/{HealthTab-D0Tf8XM_.js.map → HealthTab-WGEwtqmO.js.map} +1 -1
  18. package/extensions/dashboard-client/dist/assets/{MaintenanceTab-CleWX_RM.js → MaintenanceTab-ClT1D4P9.js} +2 -2
  19. package/extensions/dashboard-client/dist/assets/{MaintenanceTab-CleWX_RM.js.map → MaintenanceTab-ClT1D4P9.js.map} +1 -1
  20. package/extensions/dashboard-client/dist/assets/{MemoryMapTab-LUpPJzNP.js → MemoryMapTab-DaAxLJ5x.js} +2 -2
  21. package/extensions/dashboard-client/dist/assets/{MemoryMapTab-LUpPJzNP.js.map → MemoryMapTab-DaAxLJ5x.js.map} +1 -1
  22. package/extensions/dashboard-client/dist/assets/{MetricsCards-G4_uynTE.js → MetricsCards-CprVx2Yq.js} +2 -2
  23. package/extensions/dashboard-client/dist/assets/{MetricsCards-G4_uynTE.js.map → MetricsCards-CprVx2Yq.js.map} +1 -1
  24. package/extensions/dashboard-client/dist/assets/MetricsTab-8WBHRpRp.js +2 -0
  25. package/extensions/dashboard-client/dist/assets/{MetricsTab-yypKMQXf.js.map → MetricsTab-8WBHRpRp.js.map} +1 -1
  26. package/extensions/dashboard-client/dist/assets/{OverviewTab-M47NMRaT.js → OverviewTab-C5ClXheK.js} +2 -2
  27. package/extensions/dashboard-client/dist/assets/{OverviewTab-M47NMRaT.js.map → OverviewTab-C5ClXheK.js.map} +1 -1
  28. package/extensions/dashboard-client/dist/assets/{ReposTab-BX3ZxrAI.js → ReposTab-BOX5sOBg.js} +2 -2
  29. package/extensions/dashboard-client/dist/assets/{ReposTab-BX3ZxrAI.js.map → ReposTab-BOX5sOBg.js.map} +1 -1
  30. package/extensions/dashboard-client/dist/assets/{SessionsTab-CSUmsNeZ.js → SessionsTab-DKUO5gCp.js} +2 -2
  31. package/extensions/dashboard-client/dist/assets/{SessionsTab-CSUmsNeZ.js.map → SessionsTab-DKUO5gCp.js.map} +1 -1
  32. package/extensions/dashboard-client/dist/assets/{SetupTab-jF9BsQjw.js → SetupTab-CeeRk5Rd.js} +3 -3
  33. package/extensions/dashboard-client/dist/assets/{SetupTab-jF9BsQjw.js.map → SetupTab-CeeRk5Rd.js.map} +1 -1
  34. package/extensions/dashboard-client/dist/assets/{TimeSavedCard-qfwO1WJ3.js → TimeSavedCard-Dlhljae9.js} +2 -2
  35. package/extensions/dashboard-client/dist/assets/{TimeSavedCard-qfwO1WJ3.js.map → TimeSavedCard-Dlhljae9.js.map} +1 -1
  36. package/extensions/dashboard-client/dist/assets/{TurnMemoryView-C7NQo_xi.js → TurnMemoryView-B8fWymMP.js} +2 -2
  37. package/extensions/dashboard-client/dist/assets/{TurnMemoryView-C7NQo_xi.js.map → TurnMemoryView-B8fWymMP.js.map} +1 -1
  38. package/extensions/dashboard-client/dist/assets/TurnsTab-kJ4sfWSd.js +2 -0
  39. package/extensions/dashboard-client/dist/assets/{TurnsTab-D-19giqQ.js.map → TurnsTab-kJ4sfWSd.js.map} +1 -1
  40. package/extensions/dashboard-client/dist/assets/{VcStatusBadge-DTHlwuUJ.js → VcStatusBadge-FJZlkrD7.js} +2 -2
  41. package/extensions/dashboard-client/dist/assets/{VcStatusBadge-DTHlwuUJ.js.map → VcStatusBadge-FJZlkrD7.js.map} +1 -1
  42. package/extensions/dashboard-client/dist/assets/{VectorCortexTab-Dvgdcwvs.js → VectorCortexTab-C1iE6z4c.js} +2 -2
  43. package/extensions/dashboard-client/dist/assets/{VectorCortexTab-Dvgdcwvs.js.map → VectorCortexTab-C1iE6z4c.js.map} +1 -1
  44. package/extensions/dashboard-client/dist/assets/{WikiTab-CYUEAQmZ.js → WikiTab-BXqRiTbt.js} +2 -2
  45. package/extensions/dashboard-client/dist/assets/{WikiTab-CYUEAQmZ.js.map → WikiTab-BXqRiTbt.js.map} +1 -1
  46. package/extensions/dashboard-client/dist/assets/{button-DPOwTRN8.js → button-CUeN3VyF.js} +2 -2
  47. package/extensions/dashboard-client/dist/assets/{button-DPOwTRN8.js.map → button-CUeN3VyF.js.map} +1 -1
  48. package/extensions/dashboard-client/dist/assets/{card-CUipkgi9.js → card-DtOD33bZ.js} +2 -2
  49. package/extensions/dashboard-client/dist/assets/{card-CUipkgi9.js.map → card-DtOD33bZ.js.map} +1 -1
  50. package/extensions/dashboard-client/dist/assets/{client-extra-9lcKX-iO.js → client-extra-_tIKSPZ3.js} +2 -2
  51. package/extensions/dashboard-client/dist/assets/{client-extra-9lcKX-iO.js.map → client-extra-_tIKSPZ3.js.map} +1 -1
  52. package/extensions/dashboard-client/dist/assets/{generateCategoricalChart-_WpiJebf.js → generateCategoricalChart-8AyWGIrK.js} +2 -2
  53. package/extensions/dashboard-client/dist/assets/{generateCategoricalChart-_WpiJebf.js.map → generateCategoricalChart-8AyWGIrK.js.map} +1 -1
  54. package/extensions/dashboard-client/dist/assets/{index-DlHJ7LBL.js → index-BBJ8LglL.js} +3 -3
  55. package/extensions/dashboard-client/dist/assets/{index-DlHJ7LBL.js.map → index-BBJ8LglL.js.map} +1 -1
  56. package/extensions/dashboard-client/dist/assets/{switch-Cx6-1wnT.js → switch-Drm0yRgr.js} +2 -2
  57. package/extensions/dashboard-client/dist/assets/{switch-Cx6-1wnT.js.map → switch-Drm0yRgr.js.map} +1 -1
  58. package/extensions/dashboard-client/dist/assets/{toggle-Y3vbE0NG.js → toggle-DnRtZDPW.js} +2 -2
  59. package/extensions/dashboard-client/dist/assets/{toggle-Y3vbE0NG.js.map → toggle-DnRtZDPW.js.map} +1 -1
  60. package/extensions/dashboard-client/dist/assets/{useSSE-CnJdk56R.js → useSSE-l_bpRt_v.js} +2 -2
  61. package/extensions/dashboard-client/dist/assets/{useSSE-CnJdk56R.js.map → useSSE-l_bpRt_v.js.map} +1 -1
  62. package/extensions/dashboard-client/dist/index.html +1 -1
  63. package/extensions/dashboard-client/src/tabs/SetupTab/CortexRuntimeCard.tsx +6 -11
  64. package/extensions/dashboard-server/api-contracts/setup.ts +4 -2
  65. package/extensions/dashboard-server/routes-setup-cortex-actions.ts +7 -0
  66. package/extensions/dashboard-server/routes-setup-enc2a.ts +20 -10
  67. package/extensions/dashboard-server/routes-vector-cortex-helpers.ts +8 -0
  68. package/package.json +1 -1
  69. package/extensions/dashboard-client/dist/assets/MetricsTab-yypKMQXf.js +0 -2
  70. package/extensions/dashboard-client/dist/assets/TurnsTab-D-19giqQ.js +0 -2
@@ -26,6 +26,7 @@ import { VC9B_ENABLED, ENC_0G_ENABLED, ENC_0F_ENABLED, ENC_2C_ENABLED, } from ".
26
26
  import { setupCortexActionBlockers, computeSetupCortexBlockers } from "./setup-cortex-blockers.js";
27
27
  import { readEncoderManifest, detectPlatform } from "../../src/vector-cortex/encoder/asset.js";
28
28
  import { readQualificationRecord, encoderStateDir, } from "./qualification-record.js";
29
+ import { readEnc2aGuide } from "./routes-setup-enc2a.js";
29
30
  import { runSetupCortexAction, readActionLogTail, } from "./setup-cortex-actions.js";
30
31
  const ACTION_KINDS = new Set([
31
32
  "fetch-model",
@@ -72,6 +73,12 @@ function liveActionBlockers() {
72
73
  platform: detectPlatform(),
73
74
  qualification: record,
74
75
  headCount,
76
+ // ENC-2c: the install action's HG-3 gate closes when the native binding is
77
+ // installed on this device. The action would be a no-op without this — a
78
+ // stale "open" HG-3 permanently blocks the install button even after the
79
+ // binding is on disk, because the compute default is nativeOrtInstalledVersion
80
+ // = null (not installed). Read the ENC-2a guide probe to get the true state.
81
+ nativeOrtInstalledVersion: readEnc2aGuide(encoderStateDir()).installedVersion,
75
82
  });
76
83
  }
77
84
  /** Flag-off response, byte-identical regardless of request (VC9B absent). */
@@ -37,8 +37,13 @@ import { NATIVE_ORT_VERSION, NATIVE_ORT_PACKAGE, NATIVE_ORT_INSTALLABLE_PLATFORM
37
37
  /** The committed operator script that performs the install (repo-relative). */
38
38
  const ENC_2A_SCRIPT_PATH = "scripts/encoder/install-native-ort.mjs";
39
39
  /** Where the operator script installs the native binding (absolute install
40
- * prefix used verbatim in the guide commands + the version probe). */
40
+ * prefix used verbatim in the guide commands + the version probe). The
41
+ * MEGACOMPACT_NATIVE_ORT_ROOT override exists so tests can point at an empty
42
+ * dir (isolation from a globally-installed binding). */
41
43
  function nativeOrtDir() {
44
+ const override = process.env.MEGACOMPACT_NATIVE_ORT_ROOT;
45
+ if (override !== undefined && override.length > 0)
46
+ return override;
42
47
  return join(process.env.HOME ?? "", ".pi", "mega-compact", "native-ort");
43
48
  }
44
49
  /**
@@ -96,13 +101,24 @@ export function readEnc2aGuide(stateDir) {
96
101
  scriptPath: ENC_2A_SCRIPT_PATH,
97
102
  };
98
103
  }
99
- return { guide, installedVersion: probeInstalledVersion() };
104
+ return { guide, installedVersion: probeInstalledVersion(stateDir) };
100
105
  }
101
106
  /** Probe the local native-ort package.json for the installed onnxruntime-node
102
- * version. Null when the package is absent/unreadable (reader-only, local). */
103
- function probeInstalledVersion() {
107
+ * version. Probes `<stateDir>/native-ort/` first (test isolation), then the
108
+ * global `~/.pi/mega-compact/native-ort/`. Null when the package is
109
+ * absent/unreadable in both roots (reader-only, local). */
110
+ function probeInstalledVersion(stateDir) {
111
+ for (const root of [join(stateDir, "native-ort"), nativeOrtDir()]) {
112
+ const v = probeVersionAt(root);
113
+ if (v !== null)
114
+ return v;
115
+ }
116
+ return null;
117
+ }
118
+ /** Version probe for one candidate root. */
119
+ function probeVersionAt(root) {
104
120
  try {
105
- const pkgPath = join(nativeOrtDir(), "node_modules", NATIVE_ORT_PACKAGE, "package.json");
121
+ const pkgPath = join(root, "node_modules", NATIVE_ORT_PACKAGE, "package.json");
106
122
  if (!existsSync(pkgPath))
107
123
  return null;
108
124
  const raw = JSON.parse(readFileSync(pkgPath, "utf8"));
@@ -63,6 +63,14 @@ export async function withServer(port, dir, fn) {
63
63
  env: {
64
64
  ...process.env,
65
65
  MEGACOMPACT_INDEX_DIR: dir,
66
+ // Forward test-isolation overrides so the spawned server's readers
67
+ // resolve to the test temp dir, not the operator's global install.
68
+ ...(process.env.MEGACOMPACT_STATE_DIR !== undefined
69
+ ? { MEGACOMPACT_STATE_DIR: process.env.MEGACOMPACT_STATE_DIR }
70
+ : {}),
71
+ ...(process.env.MEGACOMPACT_NATIVE_ORT_ROOT !== undefined
72
+ ? { MEGACOMPACT_NATIVE_ORT_ROOT: process.env.MEGACOMPACT_NATIVE_ORT_ROOT }
73
+ : {}),
66
74
  },
67
75
  });
68
76
  try {
@@ -1,2 +1,2 @@
1
- import{r as s,u as o,e as c,j as e}from"./index-DlHJ7LBL.js";import{T as i}from"./toggle-Y3vbE0NG.js";import r from"./MaintenanceTab-CleWX_RM.js";import{C as l}from"./ConfigTab-BNMrO7uz.js";import"./card-CUipkgi9.js";import"./button-DPOwTRN8.js";import"./switch-Cx6-1wnT.js";const f="MEGACOMPACT_DASH_0C";function m(n){if(!n)return!1;for(const t of n.categories)for(const a of t.settings)if(a.key===f&&a.type==="boolean")return a.value===!0;return!1}function h(){const[n,t]=s.useState("maintenance"),{data:a}=o(s.useCallback(()=>c(),[]),{pollInterval:0,maxRetries:0});return m(a)?e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs("div",{className:"flex items-center gap-2",role:"tablist","aria-label":"Admin views",children:[e.jsx(i,{pressed:n==="maintenance",onClick:()=>t("maintenance"),children:"Maintenance"}),e.jsx(i,{pressed:n==="config",onClick:()=>t("config"),children:"Config"})]}),n==="maintenance"?e.jsx(r,{}):e.jsx(l,{})]}):e.jsx(r,{})}export{h as default};
2
- //# sourceMappingURL=AdminTab-ZyVtgYrZ.js.map
1
+ import{r as s,u as o,e as c,j as e}from"./index-BBJ8LglL.js";import{T as i}from"./toggle-DnRtZDPW.js";import r from"./MaintenanceTab-ClT1D4P9.js";import{C as l}from"./ConfigTab-RFUXAUIP.js";import"./card-DtOD33bZ.js";import"./button-CUeN3VyF.js";import"./switch-Drm0yRgr.js";const f="MEGACOMPACT_DASH_0C";function m(n){if(!n)return!1;for(const t of n.categories)for(const a of t.settings)if(a.key===f&&a.type==="boolean")return a.value===!0;return!1}function h(){const[n,t]=s.useState("maintenance"),{data:a}=o(s.useCallback(()=>c(),[]),{pollInterval:0,maxRetries:0});return m(a)?e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs("div",{className:"flex items-center gap-2",role:"tablist","aria-label":"Admin views",children:[e.jsx(i,{pressed:n==="maintenance",onClick:()=>t("maintenance"),children:"Maintenance"}),e.jsx(i,{pressed:n==="config",onClick:()=>t("config"),children:"Config"})]}),n==="maintenance"?e.jsx(r,{}):e.jsx(l,{})]}):e.jsx(r,{})}export{h as default};
2
+ //# sourceMappingURL=AdminTab-CqhIxrlT.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AdminTab-ZyVtgYrZ.js","sources":["../../src/tabs/AdminTab.tsx"],"sourcesContent":["/**\n * dashboard-client/src/tabs/AdminTab.tsx — Admin tab (DASH-0c delegate-shell).\n *\n * DASH-0c: the Admin surface combines the maintenance actions with the config\n * editor. A `AdminViews` toggle (\"maintenance\" / \"config\") switches between\n * `MaintenanceTab` (the maintenance shell over MaintenanceTab/*) and `ConfigTab`\n * (the config editor). Both bodies are UNCHANGED — only their hosting changes to\n * this new delegate-shell. `MaintenanceTab.tsx` and `ConfigTab.tsx` stay importable\n * from their original hosts (`ConfigTab` also stays wired into SetupTab per the\n * dual-host note). Flag-ON renders the toggle + both views; flag-OFF renders only\n * the maintenance view (the predecessor's `admin → MaintenanceTab` mapping),\n * and App.tsx keeps its current TabId routing this sprint (DASH-0d rewires).\n *\n * Flag: `MEGACOMPACT_DASH_0C` default ON. The dashboard client is a browser\n * bundle with NO `process` global, so the positive sprint flag cannot be read\n * server-side-style (`process.env`) inside the client. Instead the flag is read\n * from the server-authoritative `/api/rag-settings` state: the server resolves\n * `process.env[\"MEGACOMPACT_DASH_0C\"] ?? default` into the `SettingState.value`\n * boolean.\n */\n\nimport type React from \"react\";\nimport { useCallback, useState } from \"react\";\nimport type { SettingsResponse } from \"@contracts\";\nimport { useApi } from \"../hooks/useApi\";\nimport { fetchSettings } from \"../api/client\";\nimport { Toggle } from \"../components/ui/toggle\";\nimport MaintenanceTab from \"./MaintenanceTab\";\nimport ConfigTab from \"./ConfigTab\";\n\nconst DASH_0C_KEY = \"MEGACOMPACT_DASH_0C\";\n\n/** Resolve the DASH-0c consolidation flag from the server settings state.\n * Absent/not-yet-loaded => false (flag-off posture), so flag-off users never\n * see the toggle flash; the toggle appears only once settings confirm it is ON. */\nfunction dash0cEnabled(settings: SettingsResponse | null): boolean {\n\tif (!settings) return false;\n\tfor (const cat of settings.categories) {\n\t\tfor (const s of cat.settings) {\n\t\t\tif (s.key === DASH_0C_KEY && s.type === \"boolean\") return s.value === true;\n\t\t}\n\t}\n\treturn false;\n}\n\ntype AdminViews = \"maintenance\" | \"config\";\n\nexport default function AdminTab(): React.ReactElement {\n\tconst [view, setView] = useState<AdminViews>(\"maintenance\");\n\n\tconst { data: settingsData } = useApi<SettingsResponse>(\n\t\tuseCallback(() => fetchSettings(), []),\n\t\t{ pollInterval: 0, maxRetries: 0 },\n\t);\n\tconst dash0cOn = dash0cEnabled(settingsData);\n\n\tif (!dash0cOn) {\n\t\treturn <MaintenanceTab />;\n\t}\n\n\treturn (\n\t\t<div className=\"flex flex-col gap-4\">\n\t\t\t<div\n\t\t\t\tclassName=\"flex items-center gap-2\"\n\t\t\t\trole=\"tablist\"\n\t\t\t\taria-label=\"Admin views\"\n\t\t\t>\n\t\t\t\t<Toggle\n\t\t\t\t\tpressed={view === \"maintenance\"}\n\t\t\t\t\tonClick={() => setView(\"maintenance\")}\n\t\t\t\t>\n\t\t\t\t\tMaintenance\n\t\t\t\t</Toggle>\n\t\t\t\t<Toggle pressed={view === \"config\"} onClick={() => setView(\"config\")}>\n\t\t\t\t\tConfig\n\t\t\t\t</Toggle>\n\t\t\t</div>\n\t\t\t{view === \"maintenance\" ? <MaintenanceTab /> : <ConfigTab />}\n\t\t</div>\n\t);\n}\n"],"names":["DASH_0C_KEY","dash0cEnabled","settings","cat","s","AdminTab","view","setView","useState","settingsData","useApi","useCallback","fetchSettings","jsxs","jsx","Toggle","MaintenanceTab","ConfigTab"],"mappings":"mRA8BA,MAAMA,EAAc,sBAKpB,SAASC,EAAcC,EAA4C,CAClE,GAAI,CAACA,EAAU,MAAO,GACtB,UAAWC,KAAOD,EAAS,WAC1B,UAAWE,KAAKD,EAAI,SACnB,GAAIC,EAAE,MAAQJ,GAAeI,EAAE,OAAS,UAAW,OAAOA,EAAE,QAAU,GAGxE,MAAO,EACR,CAIA,SAAwBC,GAA+B,CACtD,KAAM,CAACC,EAAMC,CAAO,EAAIC,EAAAA,SAAqB,aAAa,EAEpD,CAAE,KAAMC,CAAA,EAAiBC,EAC9BC,cAAY,IAAMC,EAAA,EAAiB,EAAE,EACrC,CAAE,aAAc,EAAG,WAAY,CAAA,CAAE,EAIlC,OAFiBX,EAAcQ,CAAY,EAO1CI,EAAAA,KAAC,MAAA,CAAI,UAAU,sBACd,SAAA,CAAAA,EAAAA,KAAC,MAAA,CACA,UAAU,0BACV,KAAK,UACL,aAAW,cAEX,SAAA,CAAAC,EAAAA,IAACC,EAAA,CACA,QAAST,IAAS,cAClB,QAAS,IAAMC,EAAQ,aAAa,EACpC,SAAA,aAAA,CAAA,EAGDO,EAAAA,IAACC,EAAA,CAAO,QAAST,IAAS,SAAU,QAAS,IAAMC,EAAQ,QAAQ,EAAG,SAAA,QAAA,CAEtE,CAAA,CAAA,CAAA,EAEAD,IAAS,cAAgBQ,MAACE,EAAA,CAAA,CAAe,QAAMC,EAAA,CAAA,CAAU,CAAA,EAC3D,QArBQD,EAAA,EAAe,CAuBzB"}
1
+ {"version":3,"file":"AdminTab-CqhIxrlT.js","sources":["../../src/tabs/AdminTab.tsx"],"sourcesContent":["/**\n * dashboard-client/src/tabs/AdminTab.tsx — Admin tab (DASH-0c delegate-shell).\n *\n * DASH-0c: the Admin surface combines the maintenance actions with the config\n * editor. A `AdminViews` toggle (\"maintenance\" / \"config\") switches between\n * `MaintenanceTab` (the maintenance shell over MaintenanceTab/*) and `ConfigTab`\n * (the config editor). Both bodies are UNCHANGED — only their hosting changes to\n * this new delegate-shell. `MaintenanceTab.tsx` and `ConfigTab.tsx` stay importable\n * from their original hosts (`ConfigTab` also stays wired into SetupTab per the\n * dual-host note). Flag-ON renders the toggle + both views; flag-OFF renders only\n * the maintenance view (the predecessor's `admin → MaintenanceTab` mapping),\n * and App.tsx keeps its current TabId routing this sprint (DASH-0d rewires).\n *\n * Flag: `MEGACOMPACT_DASH_0C` default ON. The dashboard client is a browser\n * bundle with NO `process` global, so the positive sprint flag cannot be read\n * server-side-style (`process.env`) inside the client. Instead the flag is read\n * from the server-authoritative `/api/rag-settings` state: the server resolves\n * `process.env[\"MEGACOMPACT_DASH_0C\"] ?? default` into the `SettingState.value`\n * boolean.\n */\n\nimport type React from \"react\";\nimport { useCallback, useState } from \"react\";\nimport type { SettingsResponse } from \"@contracts\";\nimport { useApi } from \"../hooks/useApi\";\nimport { fetchSettings } from \"../api/client\";\nimport { Toggle } from \"../components/ui/toggle\";\nimport MaintenanceTab from \"./MaintenanceTab\";\nimport ConfigTab from \"./ConfigTab\";\n\nconst DASH_0C_KEY = \"MEGACOMPACT_DASH_0C\";\n\n/** Resolve the DASH-0c consolidation flag from the server settings state.\n * Absent/not-yet-loaded => false (flag-off posture), so flag-off users never\n * see the toggle flash; the toggle appears only once settings confirm it is ON. */\nfunction dash0cEnabled(settings: SettingsResponse | null): boolean {\n\tif (!settings) return false;\n\tfor (const cat of settings.categories) {\n\t\tfor (const s of cat.settings) {\n\t\t\tif (s.key === DASH_0C_KEY && s.type === \"boolean\") return s.value === true;\n\t\t}\n\t}\n\treturn false;\n}\n\ntype AdminViews = \"maintenance\" | \"config\";\n\nexport default function AdminTab(): React.ReactElement {\n\tconst [view, setView] = useState<AdminViews>(\"maintenance\");\n\n\tconst { data: settingsData } = useApi<SettingsResponse>(\n\t\tuseCallback(() => fetchSettings(), []),\n\t\t{ pollInterval: 0, maxRetries: 0 },\n\t);\n\tconst dash0cOn = dash0cEnabled(settingsData);\n\n\tif (!dash0cOn) {\n\t\treturn <MaintenanceTab />;\n\t}\n\n\treturn (\n\t\t<div className=\"flex flex-col gap-4\">\n\t\t\t<div\n\t\t\t\tclassName=\"flex items-center gap-2\"\n\t\t\t\trole=\"tablist\"\n\t\t\t\taria-label=\"Admin views\"\n\t\t\t>\n\t\t\t\t<Toggle\n\t\t\t\t\tpressed={view === \"maintenance\"}\n\t\t\t\t\tonClick={() => setView(\"maintenance\")}\n\t\t\t\t>\n\t\t\t\t\tMaintenance\n\t\t\t\t</Toggle>\n\t\t\t\t<Toggle pressed={view === \"config\"} onClick={() => setView(\"config\")}>\n\t\t\t\t\tConfig\n\t\t\t\t</Toggle>\n\t\t\t</div>\n\t\t\t{view === \"maintenance\" ? <MaintenanceTab /> : <ConfigTab />}\n\t\t</div>\n\t);\n}\n"],"names":["DASH_0C_KEY","dash0cEnabled","settings","cat","s","AdminTab","view","setView","useState","settingsData","useApi","useCallback","fetchSettings","jsxs","jsx","Toggle","MaintenanceTab","ConfigTab"],"mappings":"mRA8BA,MAAMA,EAAc,sBAKpB,SAASC,EAAcC,EAA4C,CAClE,GAAI,CAACA,EAAU,MAAO,GACtB,UAAWC,KAAOD,EAAS,WAC1B,UAAWE,KAAKD,EAAI,SACnB,GAAIC,EAAE,MAAQJ,GAAeI,EAAE,OAAS,UAAW,OAAOA,EAAE,QAAU,GAGxE,MAAO,EACR,CAIA,SAAwBC,GAA+B,CACtD,KAAM,CAACC,EAAMC,CAAO,EAAIC,EAAAA,SAAqB,aAAa,EAEpD,CAAE,KAAMC,CAAA,EAAiBC,EAC9BC,cAAY,IAAMC,EAAA,EAAiB,EAAE,EACrC,CAAE,aAAc,EAAG,WAAY,CAAA,CAAE,EAIlC,OAFiBX,EAAcQ,CAAY,EAO1CI,EAAAA,KAAC,MAAA,CAAI,UAAU,sBACd,SAAA,CAAAA,EAAAA,KAAC,MAAA,CACA,UAAU,0BACV,KAAK,UACL,aAAW,cAEX,SAAA,CAAAC,EAAAA,IAACC,EAAA,CACA,QAAST,IAAS,cAClB,QAAS,IAAMC,EAAQ,aAAa,EACpC,SAAA,aAAA,CAAA,EAGDO,EAAAA,IAACC,EAAA,CAAO,QAAST,IAAS,SAAU,QAAS,IAAMC,EAAQ,QAAQ,EAAG,SAAA,QAAA,CAEtE,CAAA,CAAA,CAAA,EAEAD,IAAS,cAAgBQ,MAACE,EAAA,CAAA,CAAe,QAAMC,EAAA,CAAA,CAAU,CAAA,EAC3D,QArBQD,EAAA,EAAe,CAuBzB"}
@@ -1,2 +1,2 @@
1
- import{b as R,c as W,m as T,i as C,d as F,A as ie,e as B,h as q,j as oe,k as G,l as se,n as le,u as ue,o as K,G as ce,p as J,q as Q,D as fe,g as pe,X as he,Y as de,f as me}from"./generateCategoricalChart-_WpiJebf.js";import{R as p,J as ee,r as ve}from"./index-DlHJ7LBL.js";var ye=["layout","type","stroke","connectNulls","isRange","ref"],be=["key"],te;function M(e){"@babel/helpers - typeof";return M=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},M(e)}function ae(e,t){if(e==null)return{};var r=Ae(e,t),a,n;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],!(t.indexOf(a)>=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function Ae(e,t){if(e==null)return{};var r={};for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){if(t.indexOf(a)>=0)continue;r[a]=e[a]}return r}function D(){return D=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},D.apply(this,arguments)}function U(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,a)}return r}function S(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?U(Object(r),!0).forEach(function(a){E(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):U(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function ge(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Z(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,ne(a.key),a)}}function xe(e,t,r){return t&&Z(e.prototype,t),r&&Z(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Pe(e,t,r){return t=$(t),Oe(e,re()?Reflect.construct(t,r||[],$(e).constructor):t.apply(e,r))}function Oe(e,t){if(t&&(M(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Ee(e)}function Ee(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function re(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(re=function(){return!!e})()}function $(e){return $=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},$(e)}function we(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&X(e,t)}function X(e,t){return X=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,n){return a.__proto__=n,a},X(e,t)}function E(e,t,r){return t=ne(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ne(e){var t=_e(e,"string");return M(t)=="symbol"?t:t+""}function _e(e,t){if(M(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t);if(M(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var L=function(e){function t(){var r;ge(this,t);for(var a=arguments.length,n=new Array(a),i=0;i<a;i++)n[i]=arguments[i];return r=Pe(this,t,[].concat(n)),E(r,"state",{isAnimationFinished:!0}),E(r,"id",ue("recharts-area-")),E(r,"handleAnimationEnd",function(){var o=r.props.onAnimationEnd;r.setState({isAnimationFinished:!0}),K(o)&&o()}),E(r,"handleAnimationStart",function(){var o=r.props.onAnimationStart;r.setState({isAnimationFinished:!1}),K(o)&&o()}),r}return we(t,e),xe(t,[{key:"renderDots",value:function(a,n,i){var o=this.props.isAnimationActive,s=this.state.isAnimationFinished;if(o&&!s)return null;var u=this.props,l=u.dot,f=u.points,c=u.dataKey,h=R(this.props,!1),A=R(l,!0),g=f.map(function(v,O){var y=S(S(S({key:"dot-".concat(O),r:3},h),A),{},{index:O,cx:v.x,cy:v.y,dataKey:c,value:v.value,payload:v.payload,points:f});return t.renderDotItem(l,y)}),x={clipPath:a?"url(#clipPath-".concat(n?"":"dots-").concat(i,")"):null};return p.createElement(W,D({className:"recharts-area-dots"},x),g)}},{key:"renderHorizontalRect",value:function(a){var n=this.props,i=n.baseLine,o=n.points,s=n.strokeWidth,u=o[0].x,l=o[o.length-1].x,f=a*Math.abs(u-l),c=T(o.map(function(h){return h.y||0}));return C(i)&&typeof i=="number"?c=Math.max(i,c):i&&Array.isArray(i)&&i.length&&(c=Math.max(T(i.map(function(h){return h.y||0})),c)),C(c)?p.createElement("rect",{x:u<l?u:u-f,y:0,width:f,height:Math.floor(c+(s?parseInt("".concat(s),10):1))}):null}},{key:"renderVerticalRect",value:function(a){var n=this.props,i=n.baseLine,o=n.points,s=n.strokeWidth,u=o[0].y,l=o[o.length-1].y,f=a*Math.abs(u-l),c=T(o.map(function(h){return h.x||0}));return C(i)&&typeof i=="number"?c=Math.max(i,c):i&&Array.isArray(i)&&i.length&&(c=Math.max(T(i.map(function(h){return h.x||0})),c)),C(c)?p.createElement("rect",{x:0,y:u<l?u:u-f,width:c+(s?parseInt("".concat(s),10):1),height:Math.floor(f)}):null}},{key:"renderClipRect",value:function(a){var n=this.props.layout;return n==="vertical"?this.renderVerticalRect(a):this.renderHorizontalRect(a)}},{key:"renderAreaStatically",value:function(a,n,i,o){var s=this.props,u=s.layout,l=s.type,f=s.stroke,c=s.connectNulls,h=s.isRange;s.ref;var A=ae(s,ye);return p.createElement(W,{clipPath:i?"url(#clipPath-".concat(o,")"):null},p.createElement(F,D({},R(A,!0),{points:a,connectNulls:c,type:l,baseLine:n,layout:u,stroke:"none",className:"recharts-area-area"})),f!=="none"&&p.createElement(F,D({},R(this.props,!1),{className:"recharts-area-curve",layout:u,type:l,connectNulls:c,fill:"none",points:a})),f!=="none"&&h&&p.createElement(F,D({},R(this.props,!1),{className:"recharts-area-curve",layout:u,type:l,connectNulls:c,fill:"none",points:n})))}},{key:"renderAreaWithAnimation",value:function(a,n){var i=this,o=this.props,s=o.points,u=o.baseLine,l=o.isAnimationActive,f=o.animationBegin,c=o.animationDuration,h=o.animationEasing,A=o.animationId,g=this.state,x=g.prevPoints,v=g.prevBaseLine;return p.createElement(ie,{begin:f,duration:c,isActive:l,easing:h,from:{t:0},to:{t:1},key:"area-".concat(A),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(O){var y=O.t;if(x){var _=x.length/s.length,d=s.map(function(P,N){var k=Math.floor(N*_);if(x[k]){var j=x[k],I=B(j.x,P.x),V=B(j.y,P.y);return S(S({},P),{},{x:I(y),y:V(y)})}return P}),m;if(C(u)&&typeof u=="number"){var b=B(v,u);m=b(y)}else if(q(u)||oe(u)){var w=B(v,0);m=w(y)}else m=u.map(function(P,N){var k=Math.floor(N*_);if(v[k]){var j=v[k],I=B(j.x,P.x),V=B(j.y,P.y);return S(S({},P),{},{x:I(y),y:V(y)})}return P});return i.renderAreaStatically(d,m,a,n)}return p.createElement(W,null,p.createElement("defs",null,p.createElement("clipPath",{id:"animationClipPath-".concat(n)},i.renderClipRect(y))),p.createElement(W,{clipPath:"url(#animationClipPath-".concat(n,")")},i.renderAreaStatically(s,u,a,n)))})}},{key:"renderArea",value:function(a,n){var i=this.props,o=i.points,s=i.baseLine,u=i.isAnimationActive,l=this.state,f=l.prevPoints,c=l.prevBaseLine,h=l.totalLength;return u&&o&&o.length&&(!f&&h>0||!G(f,o)||!G(c,s))?this.renderAreaWithAnimation(a,n):this.renderAreaStatically(o,s,a,n)}},{key:"render",value:function(){var a,n=this.props,i=n.hide,o=n.dot,s=n.points,u=n.className,l=n.top,f=n.left,c=n.xAxis,h=n.yAxis,A=n.width,g=n.height,x=n.isAnimationActive,v=n.id;if(i||!s||!s.length)return null;var O=this.state.isAnimationFinished,y=s.length===1,_=ee("recharts-area",u),d=c&&c.allowDataOverflow,m=h&&h.allowDataOverflow,b=d||m,w=q(v)?this.id:v,P=(a=R(o,!1))!==null&&a!==void 0?a:{r:3,strokeWidth:2},N=P.r,k=N===void 0?3:N,j=P.strokeWidth,I=j===void 0?2:j,V=se(o)?o:{},Y=V.clipDot,H=Y===void 0?!0:Y,z=k*2+I;return p.createElement(W,{className:_},d||m?p.createElement("defs",null,p.createElement("clipPath",{id:"clipPath-".concat(w)},p.createElement("rect",{x:d?f:f-A/2,y:m?l:l-g/2,width:d?A:A*2,height:m?g:g*2})),!H&&p.createElement("clipPath",{id:"clipPath-dots-".concat(w)},p.createElement("rect",{x:f-z/2,y:l-z/2,width:A+z,height:g+z}))):null,y?null:this.renderArea(b,w),(o||y)&&this.renderDots(b,H,w),(!x||O)&&le.renderCallByParent(this.props,s))}}],[{key:"getDerivedStateFromProps",value:function(a,n){return a.animationId!==n.prevAnimationId?{prevAnimationId:a.animationId,curPoints:a.points,curBaseLine:a.baseLine,prevPoints:n.curPoints,prevBaseLine:n.curBaseLine}:a.points!==n.curPoints||a.baseLine!==n.curBaseLine?{curPoints:a.points,curBaseLine:a.baseLine}:null}}])}(ve.PureComponent);te=L;E(L,"displayName","Area");E(L,"defaultProps",{stroke:"#3182bd",fill:"#3182bd",fillOpacity:.6,xAxisId:0,yAxisId:0,legendType:"line",connectNulls:!1,points:[],dot:!1,activeDot:!0,hide:!1,isAnimationActive:!ce.isSsr,animationBegin:0,animationDuration:1500,animationEasing:"ease"});E(L,"getBaseValue",function(e,t,r,a){var n=e.layout,i=e.baseValue,o=t.props.baseValue,s=o??i;if(C(s)&&typeof s=="number")return s;var u=n==="horizontal"?a:r,l=u.scale.domain();if(u.type==="number"){var f=Math.max(l[0],l[1]),c=Math.min(l[0],l[1]);return s==="dataMin"?c:s==="dataMax"||f<0?f:Math.max(Math.min(l[0],l[1]),0)}return s==="dataMin"?l[0]:s==="dataMax"?l[1]:l[0]});E(L,"getComposedData",function(e){var t=e.props,r=e.item,a=e.xAxis,n=e.yAxis,i=e.xAxisTicks,o=e.yAxisTicks,s=e.bandSize,u=e.dataKey,l=e.stackedData,f=e.dataStartIndex,c=e.displayedData,h=e.offset,A=t.layout,g=l&&l.length,x=te.getBaseValue(t,r,a,n),v=A==="horizontal",O=!1,y=c.map(function(d,m){var b;g?b=l[f+m]:(b=J(d,u),Array.isArray(b)?O=!0:b=[x,b]);var w=b[1]==null||g&&J(d,u)==null;return v?{x:Q({axis:a,ticks:i,bandSize:s,entry:d,index:m}),y:w?null:n.scale(b[1]),value:b,payload:d}:{x:w?null:a.scale(b[1]),y:Q({axis:n,ticks:o,bandSize:s,entry:d,index:m}),value:b,payload:d}}),_;return g||O?_=y.map(function(d){var m=Array.isArray(d.value)?d.value[0]:null;return v?{x:d.x,y:m!=null&&d.y!=null?n.scale(m):null}:{x:m!=null?a.scale(m):null,y:d.y}}):_=v?n.scale(x):a.scale(x),S({points:y,baseLine:_,layout:A,isRange:O},h)});E(L,"renderDotItem",function(e,t){var r;if(p.isValidElement(e))r=p.cloneElement(e,t);else if(K(e))r=e(t);else{var a=ee("recharts-area-dot",typeof e!="boolean"?e.className:""),n=t.key,i=ae(t,be);r=p.createElement(fe,D({},i,{key:n,className:a}))}return r});var ke=pe({chartName:"AreaChart",GraphicalChild:L,axisComponents:[{axisType:"xAxis",AxisComp:he},{axisType:"yAxis",AxisComp:de}],formatAxisMap:me});export{ke as A,L as a};
2
- //# sourceMappingURL=AreaChart-7ms8Hk1m.js.map
1
+ import{b as R,c as W,m as T,i as C,d as F,A as ie,e as B,h as q,j as oe,k as G,l as se,n as le,u as ue,o as K,G as ce,p as J,q as Q,D as fe,g as pe,X as he,Y as de,f as me}from"./generateCategoricalChart-8AyWGIrK.js";import{R as p,J as ee,r as ve}from"./index-BBJ8LglL.js";var ye=["layout","type","stroke","connectNulls","isRange","ref"],be=["key"],te;function M(e){"@babel/helpers - typeof";return M=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},M(e)}function ae(e,t){if(e==null)return{};var r=Ae(e,t),a,n;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],!(t.indexOf(a)>=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function Ae(e,t){if(e==null)return{};var r={};for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){if(t.indexOf(a)>=0)continue;r[a]=e[a]}return r}function D(){return D=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},D.apply(this,arguments)}function U(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,a)}return r}function S(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?U(Object(r),!0).forEach(function(a){E(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):U(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function ge(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Z(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,ne(a.key),a)}}function xe(e,t,r){return t&&Z(e.prototype,t),r&&Z(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Pe(e,t,r){return t=$(t),Oe(e,re()?Reflect.construct(t,r||[],$(e).constructor):t.apply(e,r))}function Oe(e,t){if(t&&(M(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Ee(e)}function Ee(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function re(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(re=function(){return!!e})()}function $(e){return $=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},$(e)}function we(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&X(e,t)}function X(e,t){return X=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,n){return a.__proto__=n,a},X(e,t)}function E(e,t,r){return t=ne(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ne(e){var t=_e(e,"string");return M(t)=="symbol"?t:t+""}function _e(e,t){if(M(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t);if(M(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var L=function(e){function t(){var r;ge(this,t);for(var a=arguments.length,n=new Array(a),i=0;i<a;i++)n[i]=arguments[i];return r=Pe(this,t,[].concat(n)),E(r,"state",{isAnimationFinished:!0}),E(r,"id",ue("recharts-area-")),E(r,"handleAnimationEnd",function(){var o=r.props.onAnimationEnd;r.setState({isAnimationFinished:!0}),K(o)&&o()}),E(r,"handleAnimationStart",function(){var o=r.props.onAnimationStart;r.setState({isAnimationFinished:!1}),K(o)&&o()}),r}return we(t,e),xe(t,[{key:"renderDots",value:function(a,n,i){var o=this.props.isAnimationActive,s=this.state.isAnimationFinished;if(o&&!s)return null;var u=this.props,l=u.dot,f=u.points,c=u.dataKey,h=R(this.props,!1),A=R(l,!0),g=f.map(function(v,O){var y=S(S(S({key:"dot-".concat(O),r:3},h),A),{},{index:O,cx:v.x,cy:v.y,dataKey:c,value:v.value,payload:v.payload,points:f});return t.renderDotItem(l,y)}),x={clipPath:a?"url(#clipPath-".concat(n?"":"dots-").concat(i,")"):null};return p.createElement(W,D({className:"recharts-area-dots"},x),g)}},{key:"renderHorizontalRect",value:function(a){var n=this.props,i=n.baseLine,o=n.points,s=n.strokeWidth,u=o[0].x,l=o[o.length-1].x,f=a*Math.abs(u-l),c=T(o.map(function(h){return h.y||0}));return C(i)&&typeof i=="number"?c=Math.max(i,c):i&&Array.isArray(i)&&i.length&&(c=Math.max(T(i.map(function(h){return h.y||0})),c)),C(c)?p.createElement("rect",{x:u<l?u:u-f,y:0,width:f,height:Math.floor(c+(s?parseInt("".concat(s),10):1))}):null}},{key:"renderVerticalRect",value:function(a){var n=this.props,i=n.baseLine,o=n.points,s=n.strokeWidth,u=o[0].y,l=o[o.length-1].y,f=a*Math.abs(u-l),c=T(o.map(function(h){return h.x||0}));return C(i)&&typeof i=="number"?c=Math.max(i,c):i&&Array.isArray(i)&&i.length&&(c=Math.max(T(i.map(function(h){return h.x||0})),c)),C(c)?p.createElement("rect",{x:0,y:u<l?u:u-f,width:c+(s?parseInt("".concat(s),10):1),height:Math.floor(f)}):null}},{key:"renderClipRect",value:function(a){var n=this.props.layout;return n==="vertical"?this.renderVerticalRect(a):this.renderHorizontalRect(a)}},{key:"renderAreaStatically",value:function(a,n,i,o){var s=this.props,u=s.layout,l=s.type,f=s.stroke,c=s.connectNulls,h=s.isRange;s.ref;var A=ae(s,ye);return p.createElement(W,{clipPath:i?"url(#clipPath-".concat(o,")"):null},p.createElement(F,D({},R(A,!0),{points:a,connectNulls:c,type:l,baseLine:n,layout:u,stroke:"none",className:"recharts-area-area"})),f!=="none"&&p.createElement(F,D({},R(this.props,!1),{className:"recharts-area-curve",layout:u,type:l,connectNulls:c,fill:"none",points:a})),f!=="none"&&h&&p.createElement(F,D({},R(this.props,!1),{className:"recharts-area-curve",layout:u,type:l,connectNulls:c,fill:"none",points:n})))}},{key:"renderAreaWithAnimation",value:function(a,n){var i=this,o=this.props,s=o.points,u=o.baseLine,l=o.isAnimationActive,f=o.animationBegin,c=o.animationDuration,h=o.animationEasing,A=o.animationId,g=this.state,x=g.prevPoints,v=g.prevBaseLine;return p.createElement(ie,{begin:f,duration:c,isActive:l,easing:h,from:{t:0},to:{t:1},key:"area-".concat(A),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(O){var y=O.t;if(x){var _=x.length/s.length,d=s.map(function(P,N){var k=Math.floor(N*_);if(x[k]){var j=x[k],I=B(j.x,P.x),V=B(j.y,P.y);return S(S({},P),{},{x:I(y),y:V(y)})}return P}),m;if(C(u)&&typeof u=="number"){var b=B(v,u);m=b(y)}else if(q(u)||oe(u)){var w=B(v,0);m=w(y)}else m=u.map(function(P,N){var k=Math.floor(N*_);if(v[k]){var j=v[k],I=B(j.x,P.x),V=B(j.y,P.y);return S(S({},P),{},{x:I(y),y:V(y)})}return P});return i.renderAreaStatically(d,m,a,n)}return p.createElement(W,null,p.createElement("defs",null,p.createElement("clipPath",{id:"animationClipPath-".concat(n)},i.renderClipRect(y))),p.createElement(W,{clipPath:"url(#animationClipPath-".concat(n,")")},i.renderAreaStatically(s,u,a,n)))})}},{key:"renderArea",value:function(a,n){var i=this.props,o=i.points,s=i.baseLine,u=i.isAnimationActive,l=this.state,f=l.prevPoints,c=l.prevBaseLine,h=l.totalLength;return u&&o&&o.length&&(!f&&h>0||!G(f,o)||!G(c,s))?this.renderAreaWithAnimation(a,n):this.renderAreaStatically(o,s,a,n)}},{key:"render",value:function(){var a,n=this.props,i=n.hide,o=n.dot,s=n.points,u=n.className,l=n.top,f=n.left,c=n.xAxis,h=n.yAxis,A=n.width,g=n.height,x=n.isAnimationActive,v=n.id;if(i||!s||!s.length)return null;var O=this.state.isAnimationFinished,y=s.length===1,_=ee("recharts-area",u),d=c&&c.allowDataOverflow,m=h&&h.allowDataOverflow,b=d||m,w=q(v)?this.id:v,P=(a=R(o,!1))!==null&&a!==void 0?a:{r:3,strokeWidth:2},N=P.r,k=N===void 0?3:N,j=P.strokeWidth,I=j===void 0?2:j,V=se(o)?o:{},Y=V.clipDot,H=Y===void 0?!0:Y,z=k*2+I;return p.createElement(W,{className:_},d||m?p.createElement("defs",null,p.createElement("clipPath",{id:"clipPath-".concat(w)},p.createElement("rect",{x:d?f:f-A/2,y:m?l:l-g/2,width:d?A:A*2,height:m?g:g*2})),!H&&p.createElement("clipPath",{id:"clipPath-dots-".concat(w)},p.createElement("rect",{x:f-z/2,y:l-z/2,width:A+z,height:g+z}))):null,y?null:this.renderArea(b,w),(o||y)&&this.renderDots(b,H,w),(!x||O)&&le.renderCallByParent(this.props,s))}}],[{key:"getDerivedStateFromProps",value:function(a,n){return a.animationId!==n.prevAnimationId?{prevAnimationId:a.animationId,curPoints:a.points,curBaseLine:a.baseLine,prevPoints:n.curPoints,prevBaseLine:n.curBaseLine}:a.points!==n.curPoints||a.baseLine!==n.curBaseLine?{curPoints:a.points,curBaseLine:a.baseLine}:null}}])}(ve.PureComponent);te=L;E(L,"displayName","Area");E(L,"defaultProps",{stroke:"#3182bd",fill:"#3182bd",fillOpacity:.6,xAxisId:0,yAxisId:0,legendType:"line",connectNulls:!1,points:[],dot:!1,activeDot:!0,hide:!1,isAnimationActive:!ce.isSsr,animationBegin:0,animationDuration:1500,animationEasing:"ease"});E(L,"getBaseValue",function(e,t,r,a){var n=e.layout,i=e.baseValue,o=t.props.baseValue,s=o??i;if(C(s)&&typeof s=="number")return s;var u=n==="horizontal"?a:r,l=u.scale.domain();if(u.type==="number"){var f=Math.max(l[0],l[1]),c=Math.min(l[0],l[1]);return s==="dataMin"?c:s==="dataMax"||f<0?f:Math.max(Math.min(l[0],l[1]),0)}return s==="dataMin"?l[0]:s==="dataMax"?l[1]:l[0]});E(L,"getComposedData",function(e){var t=e.props,r=e.item,a=e.xAxis,n=e.yAxis,i=e.xAxisTicks,o=e.yAxisTicks,s=e.bandSize,u=e.dataKey,l=e.stackedData,f=e.dataStartIndex,c=e.displayedData,h=e.offset,A=t.layout,g=l&&l.length,x=te.getBaseValue(t,r,a,n),v=A==="horizontal",O=!1,y=c.map(function(d,m){var b;g?b=l[f+m]:(b=J(d,u),Array.isArray(b)?O=!0:b=[x,b]);var w=b[1]==null||g&&J(d,u)==null;return v?{x:Q({axis:a,ticks:i,bandSize:s,entry:d,index:m}),y:w?null:n.scale(b[1]),value:b,payload:d}:{x:w?null:a.scale(b[1]),y:Q({axis:n,ticks:o,bandSize:s,entry:d,index:m}),value:b,payload:d}}),_;return g||O?_=y.map(function(d){var m=Array.isArray(d.value)?d.value[0]:null;return v?{x:d.x,y:m!=null&&d.y!=null?n.scale(m):null}:{x:m!=null?a.scale(m):null,y:d.y}}):_=v?n.scale(x):a.scale(x),S({points:y,baseLine:_,layout:A,isRange:O},h)});E(L,"renderDotItem",function(e,t){var r;if(p.isValidElement(e))r=p.cloneElement(e,t);else if(K(e))r=e(t);else{var a=ee("recharts-area-dot",typeof e!="boolean"?e.className:""),n=t.key,i=ae(t,be);r=p.createElement(fe,D({},i,{key:n,className:a}))}return r});var ke=pe({chartName:"AreaChart",GraphicalChild:L,axisComponents:[{axisType:"xAxis",AxisComp:he},{axisType:"yAxis",AxisComp:de}],formatAxisMap:me});export{ke as A,L as a};
2
+ //# sourceMappingURL=AreaChart-D4EY7yiY.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AreaChart-7ms8Hk1m.js","sources":["../../node_modules/recharts/es6/cartesian/Area.js","../../node_modules/recharts/es6/chart/AreaChart.js"],"sourcesContent":["var _excluded = [\"layout\", \"type\", \"stroke\", \"connectNulls\", \"isRange\", \"ref\"],\n _excluded2 = [\"key\"];\nvar _Area;\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Area\n */\nimport React, { PureComponent } from 'react';\nimport clsx from 'clsx';\nimport Animate from 'react-smooth';\nimport isFunction from 'lodash/isFunction';\nimport max from 'lodash/max';\nimport isNil from 'lodash/isNil';\nimport isNan from 'lodash/isNaN';\nimport isEqual from 'lodash/isEqual';\nimport { Curve } from '../shape/Curve';\nimport { Dot } from '../shape/Dot';\nimport { Layer } from '../container/Layer';\nimport { LabelList } from '../component/LabelList';\nimport { Global } from '../util/Global';\nimport { isNumber, uniqueId, interpolateNumber } from '../util/DataUtils';\nimport { getCateCoordinateOfLine, getValueByDataKey } from '../util/ChartUtils';\nimport { filterProps, hasClipDot } from '../util/ReactUtils';\nexport var Area = /*#__PURE__*/function (_PureComponent) {\n function Area() {\n var _this;\n _classCallCheck(this, Area);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, Area, [].concat(args));\n _defineProperty(_this, \"state\", {\n isAnimationFinished: true\n });\n _defineProperty(_this, \"id\", uniqueId('recharts-area-'));\n _defineProperty(_this, \"handleAnimationEnd\", function () {\n var onAnimationEnd = _this.props.onAnimationEnd;\n _this.setState({\n isAnimationFinished: true\n });\n if (isFunction(onAnimationEnd)) {\n onAnimationEnd();\n }\n });\n _defineProperty(_this, \"handleAnimationStart\", function () {\n var onAnimationStart = _this.props.onAnimationStart;\n _this.setState({\n isAnimationFinished: false\n });\n if (isFunction(onAnimationStart)) {\n onAnimationStart();\n }\n });\n return _this;\n }\n _inherits(Area, _PureComponent);\n return _createClass(Area, [{\n key: \"renderDots\",\n value: function renderDots(needClip, clipDot, clipPathId) {\n var isAnimationActive = this.props.isAnimationActive;\n var isAnimationFinished = this.state.isAnimationFinished;\n if (isAnimationActive && !isAnimationFinished) {\n return null;\n }\n var _this$props = this.props,\n dot = _this$props.dot,\n points = _this$props.points,\n dataKey = _this$props.dataKey;\n var areaProps = filterProps(this.props, false);\n var customDotProps = filterProps(dot, true);\n var dots = points.map(function (entry, i) {\n var dotProps = _objectSpread(_objectSpread(_objectSpread({\n key: \"dot-\".concat(i),\n r: 3\n }, areaProps), customDotProps), {}, {\n index: i,\n cx: entry.x,\n cy: entry.y,\n dataKey: dataKey,\n value: entry.value,\n payload: entry.payload,\n points: points\n });\n return Area.renderDotItem(dot, dotProps);\n });\n var dotsProps = {\n clipPath: needClip ? \"url(#clipPath-\".concat(clipDot ? '' : 'dots-').concat(clipPathId, \")\") : null\n };\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: \"recharts-area-dots\"\n }, dotsProps), dots);\n }\n }, {\n key: \"renderHorizontalRect\",\n value: function renderHorizontalRect(alpha) {\n var _this$props2 = this.props,\n baseLine = _this$props2.baseLine,\n points = _this$props2.points,\n strokeWidth = _this$props2.strokeWidth;\n var startX = points[0].x;\n var endX = points[points.length - 1].x;\n var width = alpha * Math.abs(startX - endX);\n var maxY = max(points.map(function (entry) {\n return entry.y || 0;\n }));\n if (isNumber(baseLine) && typeof baseLine === 'number') {\n maxY = Math.max(baseLine, maxY);\n } else if (baseLine && Array.isArray(baseLine) && baseLine.length) {\n maxY = Math.max(max(baseLine.map(function (entry) {\n return entry.y || 0;\n })), maxY);\n }\n if (isNumber(maxY)) {\n return /*#__PURE__*/React.createElement(\"rect\", {\n x: startX < endX ? startX : startX - width,\n y: 0,\n width: width,\n height: Math.floor(maxY + (strokeWidth ? parseInt(\"\".concat(strokeWidth), 10) : 1))\n });\n }\n return null;\n }\n }, {\n key: \"renderVerticalRect\",\n value: function renderVerticalRect(alpha) {\n var _this$props3 = this.props,\n baseLine = _this$props3.baseLine,\n points = _this$props3.points,\n strokeWidth = _this$props3.strokeWidth;\n var startY = points[0].y;\n var endY = points[points.length - 1].y;\n var height = alpha * Math.abs(startY - endY);\n var maxX = max(points.map(function (entry) {\n return entry.x || 0;\n }));\n if (isNumber(baseLine) && typeof baseLine === 'number') {\n maxX = Math.max(baseLine, maxX);\n } else if (baseLine && Array.isArray(baseLine) && baseLine.length) {\n maxX = Math.max(max(baseLine.map(function (entry) {\n return entry.x || 0;\n })), maxX);\n }\n if (isNumber(maxX)) {\n return /*#__PURE__*/React.createElement(\"rect\", {\n x: 0,\n y: startY < endY ? startY : startY - height,\n width: maxX + (strokeWidth ? parseInt(\"\".concat(strokeWidth), 10) : 1),\n height: Math.floor(height)\n });\n }\n return null;\n }\n }, {\n key: \"renderClipRect\",\n value: function renderClipRect(alpha) {\n var layout = this.props.layout;\n if (layout === 'vertical') {\n return this.renderVerticalRect(alpha);\n }\n return this.renderHorizontalRect(alpha);\n }\n }, {\n key: \"renderAreaStatically\",\n value: function renderAreaStatically(points, baseLine, needClip, clipPathId) {\n var _this$props4 = this.props,\n layout = _this$props4.layout,\n type = _this$props4.type,\n stroke = _this$props4.stroke,\n connectNulls = _this$props4.connectNulls,\n isRange = _this$props4.isRange,\n ref = _this$props4.ref,\n others = _objectWithoutProperties(_this$props4, _excluded);\n return /*#__PURE__*/React.createElement(Layer, {\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : null\n }, /*#__PURE__*/React.createElement(Curve, _extends({}, filterProps(others, true), {\n points: points,\n connectNulls: connectNulls,\n type: type,\n baseLine: baseLine,\n layout: layout,\n stroke: \"none\",\n className: \"recharts-area-area\"\n })), stroke !== 'none' && /*#__PURE__*/React.createElement(Curve, _extends({}, filterProps(this.props, false), {\n className: \"recharts-area-curve\",\n layout: layout,\n type: type,\n connectNulls: connectNulls,\n fill: \"none\",\n points: points\n })), stroke !== 'none' && isRange && /*#__PURE__*/React.createElement(Curve, _extends({}, filterProps(this.props, false), {\n className: \"recharts-area-curve\",\n layout: layout,\n type: type,\n connectNulls: connectNulls,\n fill: \"none\",\n points: baseLine\n })));\n }\n }, {\n key: \"renderAreaWithAnimation\",\n value: function renderAreaWithAnimation(needClip, clipPathId) {\n var _this2 = this;\n var _this$props5 = this.props,\n points = _this$props5.points,\n baseLine = _this$props5.baseLine,\n isAnimationActive = _this$props5.isAnimationActive,\n animationBegin = _this$props5.animationBegin,\n animationDuration = _this$props5.animationDuration,\n animationEasing = _this$props5.animationEasing,\n animationId = _this$props5.animationId;\n var _this$state = this.state,\n prevPoints = _this$state.prevPoints,\n prevBaseLine = _this$state.prevBaseLine;\n // const clipPathId = isNil(id) ? this.id : id;\n\n return /*#__PURE__*/React.createElement(Animate, {\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n from: {\n t: 0\n },\n to: {\n t: 1\n },\n key: \"area-\".concat(animationId),\n onAnimationEnd: this.handleAnimationEnd,\n onAnimationStart: this.handleAnimationStart\n }, function (_ref) {\n var t = _ref.t;\n if (prevPoints) {\n var prevPointsDiffFactor = prevPoints.length / points.length;\n // update animtaion\n var stepPoints = points.map(function (entry, index) {\n var prevPointIndex = Math.floor(index * prevPointsDiffFactor);\n if (prevPoints[prevPointIndex]) {\n var prev = prevPoints[prevPointIndex];\n var interpolatorX = interpolateNumber(prev.x, entry.x);\n var interpolatorY = interpolateNumber(prev.y, entry.y);\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: interpolatorX(t),\n y: interpolatorY(t)\n });\n }\n return entry;\n });\n var stepBaseLine;\n if (isNumber(baseLine) && typeof baseLine === 'number') {\n var interpolator = interpolateNumber(prevBaseLine, baseLine);\n stepBaseLine = interpolator(t);\n } else if (isNil(baseLine) || isNan(baseLine)) {\n var _interpolator = interpolateNumber(prevBaseLine, 0);\n stepBaseLine = _interpolator(t);\n } else {\n stepBaseLine = baseLine.map(function (entry, index) {\n var prevPointIndex = Math.floor(index * prevPointsDiffFactor);\n if (prevBaseLine[prevPointIndex]) {\n var prev = prevBaseLine[prevPointIndex];\n var interpolatorX = interpolateNumber(prev.x, entry.x);\n var interpolatorY = interpolateNumber(prev.y, entry.y);\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: interpolatorX(t),\n y: interpolatorY(t)\n });\n }\n return entry;\n });\n }\n return _this2.renderAreaStatically(stepPoints, stepBaseLine, needClip, clipPathId);\n }\n return /*#__PURE__*/React.createElement(Layer, null, /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"animationClipPath-\".concat(clipPathId)\n }, _this2.renderClipRect(t))), /*#__PURE__*/React.createElement(Layer, {\n clipPath: \"url(#animationClipPath-\".concat(clipPathId, \")\")\n }, _this2.renderAreaStatically(points, baseLine, needClip, clipPathId)));\n });\n }\n }, {\n key: \"renderArea\",\n value: function renderArea(needClip, clipPathId) {\n var _this$props6 = this.props,\n points = _this$props6.points,\n baseLine = _this$props6.baseLine,\n isAnimationActive = _this$props6.isAnimationActive;\n var _this$state2 = this.state,\n prevPoints = _this$state2.prevPoints,\n prevBaseLine = _this$state2.prevBaseLine,\n totalLength = _this$state2.totalLength;\n if (isAnimationActive && points && points.length && (!prevPoints && totalLength > 0 || !isEqual(prevPoints, points) || !isEqual(prevBaseLine, baseLine))) {\n return this.renderAreaWithAnimation(needClip, clipPathId);\n }\n return this.renderAreaStatically(points, baseLine, needClip, clipPathId);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _filterProps;\n var _this$props7 = this.props,\n hide = _this$props7.hide,\n dot = _this$props7.dot,\n points = _this$props7.points,\n className = _this$props7.className,\n top = _this$props7.top,\n left = _this$props7.left,\n xAxis = _this$props7.xAxis,\n yAxis = _this$props7.yAxis,\n width = _this$props7.width,\n height = _this$props7.height,\n isAnimationActive = _this$props7.isAnimationActive,\n id = _this$props7.id;\n if (hide || !points || !points.length) {\n return null;\n }\n var isAnimationFinished = this.state.isAnimationFinished;\n var hasSinglePoint = points.length === 1;\n var layerClass = clsx('recharts-area', className);\n var needClipX = xAxis && xAxis.allowDataOverflow;\n var needClipY = yAxis && yAxis.allowDataOverflow;\n var needClip = needClipX || needClipY;\n var clipPathId = isNil(id) ? this.id : id;\n var _ref2 = (_filterProps = filterProps(dot, false)) !== null && _filterProps !== void 0 ? _filterProps : {\n r: 3,\n strokeWidth: 2\n },\n _ref2$r = _ref2.r,\n r = _ref2$r === void 0 ? 3 : _ref2$r,\n _ref2$strokeWidth = _ref2.strokeWidth,\n strokeWidth = _ref2$strokeWidth === void 0 ? 2 : _ref2$strokeWidth;\n var _ref3 = hasClipDot(dot) ? dot : {},\n _ref3$clipDot = _ref3.clipDot,\n clipDot = _ref3$clipDot === void 0 ? true : _ref3$clipDot;\n var dotSize = r * 2 + strokeWidth;\n return /*#__PURE__*/React.createElement(Layer, {\n className: layerClass\n }, needClipX || needClipY ? /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clipPath-\".concat(clipPathId)\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: needClipX ? left : left - width / 2,\n y: needClipY ? top : top - height / 2,\n width: needClipX ? width : width * 2,\n height: needClipY ? height : height * 2\n })), !clipDot && /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clipPath-dots-\".concat(clipPathId)\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: left - dotSize / 2,\n y: top - dotSize / 2,\n width: width + dotSize,\n height: height + dotSize\n }))) : null, !hasSinglePoint ? this.renderArea(needClip, clipPathId) : null, (dot || hasSinglePoint) && this.renderDots(needClip, clipDot, clipPathId), (!isAnimationActive || isAnimationFinished) && LabelList.renderCallByParent(this.props, points));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.animationId !== prevState.prevAnimationId) {\n return {\n prevAnimationId: nextProps.animationId,\n curPoints: nextProps.points,\n curBaseLine: nextProps.baseLine,\n prevPoints: prevState.curPoints,\n prevBaseLine: prevState.curBaseLine\n };\n }\n if (nextProps.points !== prevState.curPoints || nextProps.baseLine !== prevState.curBaseLine) {\n return {\n curPoints: nextProps.points,\n curBaseLine: nextProps.baseLine\n };\n }\n return null;\n }\n }]);\n}(PureComponent);\n_Area = Area;\n_defineProperty(Area, \"displayName\", 'Area');\n_defineProperty(Area, \"defaultProps\", {\n stroke: '#3182bd',\n fill: '#3182bd',\n fillOpacity: 0.6,\n xAxisId: 0,\n yAxisId: 0,\n legendType: 'line',\n connectNulls: false,\n // points of area\n points: [],\n dot: false,\n activeDot: true,\n hide: false,\n isAnimationActive: !Global.isSsr,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: 'ease'\n});\n_defineProperty(Area, \"getBaseValue\", function (props, item, xAxis, yAxis) {\n var layout = props.layout,\n chartBaseValue = props.baseValue;\n var itemBaseValue = item.props.baseValue;\n\n // The baseValue can be defined both on the AreaChart as well as on the Area.\n // The value for the item takes precedence.\n var baseValue = itemBaseValue !== null && itemBaseValue !== void 0 ? itemBaseValue : chartBaseValue;\n if (isNumber(baseValue) && typeof baseValue === 'number') {\n return baseValue;\n }\n var numericAxis = layout === 'horizontal' ? yAxis : xAxis;\n var domain = numericAxis.scale.domain();\n if (numericAxis.type === 'number') {\n var domainMax = Math.max(domain[0], domain[1]);\n var domainMin = Math.min(domain[0], domain[1]);\n if (baseValue === 'dataMin') {\n return domainMin;\n }\n if (baseValue === 'dataMax') {\n return domainMax;\n }\n return domainMax < 0 ? domainMax : Math.max(Math.min(domain[0], domain[1]), 0);\n }\n if (baseValue === 'dataMin') {\n return domain[0];\n }\n if (baseValue === 'dataMax') {\n return domain[1];\n }\n return domain[0];\n});\n_defineProperty(Area, \"getComposedData\", function (_ref4) {\n var props = _ref4.props,\n item = _ref4.item,\n xAxis = _ref4.xAxis,\n yAxis = _ref4.yAxis,\n xAxisTicks = _ref4.xAxisTicks,\n yAxisTicks = _ref4.yAxisTicks,\n bandSize = _ref4.bandSize,\n dataKey = _ref4.dataKey,\n stackedData = _ref4.stackedData,\n dataStartIndex = _ref4.dataStartIndex,\n displayedData = _ref4.displayedData,\n offset = _ref4.offset;\n var layout = props.layout;\n var hasStack = stackedData && stackedData.length;\n var baseValue = _Area.getBaseValue(props, item, xAxis, yAxis);\n var isHorizontalLayout = layout === 'horizontal';\n var isRange = false;\n var points = displayedData.map(function (entry, index) {\n var value;\n if (hasStack) {\n value = stackedData[dataStartIndex + index];\n } else {\n value = getValueByDataKey(entry, dataKey);\n if (!Array.isArray(value)) {\n value = [baseValue, value];\n } else {\n isRange = true;\n }\n }\n var isBreakPoint = value[1] == null || hasStack && getValueByDataKey(entry, dataKey) == null;\n if (isHorizontalLayout) {\n return {\n x: getCateCoordinateOfLine({\n axis: xAxis,\n ticks: xAxisTicks,\n bandSize: bandSize,\n entry: entry,\n index: index\n }),\n y: isBreakPoint ? null : yAxis.scale(value[1]),\n value: value,\n payload: entry\n };\n }\n return {\n x: isBreakPoint ? null : xAxis.scale(value[1]),\n y: getCateCoordinateOfLine({\n axis: yAxis,\n ticks: yAxisTicks,\n bandSize: bandSize,\n entry: entry,\n index: index\n }),\n value: value,\n payload: entry\n };\n });\n var baseLine;\n if (hasStack || isRange) {\n baseLine = points.map(function (entry) {\n var x = Array.isArray(entry.value) ? entry.value[0] : null;\n if (isHorizontalLayout) {\n return {\n x: entry.x,\n y: x != null && entry.y != null ? yAxis.scale(x) : null\n };\n }\n return {\n x: x != null ? xAxis.scale(x) : null,\n y: entry.y\n };\n });\n } else {\n baseLine = isHorizontalLayout ? yAxis.scale(baseValue) : xAxis.scale(baseValue);\n }\n return _objectSpread({\n points: points,\n baseLine: baseLine,\n layout: layout,\n isRange: isRange\n }, offset);\n});\n_defineProperty(Area, \"renderDotItem\", function (option, props) {\n var dotItem;\n if ( /*#__PURE__*/React.isValidElement(option)) {\n dotItem = /*#__PURE__*/React.cloneElement(option, props);\n } else if (isFunction(option)) {\n dotItem = option(props);\n } else {\n var className = clsx('recharts-area-dot', typeof option !== 'boolean' ? option.className : '');\n var key = props.key,\n rest = _objectWithoutProperties(props, _excluded2);\n dotItem = /*#__PURE__*/React.createElement(Dot, _extends({}, rest, {\n key: key,\n className: className\n }));\n }\n return dotItem;\n});","/**\n * @fileOverview Area Chart\n */\nimport { generateCategoricalChart } from './generateCategoricalChart';\nimport { Area } from '../cartesian/Area';\nimport { XAxis } from '../cartesian/XAxis';\nimport { YAxis } from '../cartesian/YAxis';\nimport { formatAxisMap } from '../util/CartesianUtils';\nexport var AreaChart = generateCategoricalChart({\n chartName: 'AreaChart',\n GraphicalChild: Area,\n axisComponents: [{\n axisType: 'xAxis',\n AxisComp: XAxis\n }, {\n axisType: 'yAxis',\n AxisComp: YAxis\n }],\n formatAxisMap: formatAxisMap\n});"],"names":["_excluded","_excluded2","_Area","_typeof","o","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","key","i","sourceSymbolKeys","_extends","ownKeys","r","t","_objectSpread","_defineProperty","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_callSuper","e","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","self","call","_assertThisInitialized","_inherits","subClass","superClass","_setPrototypeOf","p","obj","value","_toPrimitive","Area","_PureComponent","_this","_len","args","_key","uniqueId","onAnimationEnd","isFunction","onAnimationStart","needClip","clipDot","clipPathId","isAnimationActive","isAnimationFinished","_this$props","dot","points","dataKey","areaProps","filterProps","customDotProps","dots","entry","dotProps","dotsProps","React","Layer","alpha","_this$props2","baseLine","strokeWidth","startX","endX","width","maxY","max","isNumber","_this$props3","startY","endY","height","maxX","layout","_this$props4","type","stroke","connectNulls","isRange","others","Curve","_this2","_this$props5","animationBegin","animationDuration","animationEasing","animationId","_this$state","prevPoints","prevBaseLine","Animate","_ref","prevPointsDiffFactor","stepPoints","index","prevPointIndex","prev","interpolatorX","interpolateNumber","interpolatorY","stepBaseLine","interpolator","isNil","isNan","_interpolator","_this$props6","_this$state2","totalLength","isEqual","_filterProps","_this$props7","hide","className","top","left","xAxis","yAxis","id","hasSinglePoint","layerClass","clsx","needClipX","needClipY","_ref2","_ref2$r","_ref2$strokeWidth","_ref3","hasClipDot","_ref3$clipDot","dotSize","LabelList","nextProps","prevState","PureComponent","Global","item","chartBaseValue","itemBaseValue","baseValue","numericAxis","domain","domainMax","domainMin","_ref4","xAxisTicks","yAxisTicks","bandSize","stackedData","dataStartIndex","displayedData","offset","hasStack","isHorizontalLayout","getValueByDataKey","isBreakPoint","getCateCoordinateOfLine","x","option","dotItem","rest","Dot","AreaChart","generateCategoricalChart","XAxis","YAxis","formatAxisMap"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"AreaChart-D4EY7yiY.js","sources":["../../node_modules/recharts/es6/cartesian/Area.js","../../node_modules/recharts/es6/chart/AreaChart.js"],"sourcesContent":["var _excluded = [\"layout\", \"type\", \"stroke\", \"connectNulls\", \"isRange\", \"ref\"],\n _excluded2 = [\"key\"];\nvar _Area;\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Area\n */\nimport React, { PureComponent } from 'react';\nimport clsx from 'clsx';\nimport Animate from 'react-smooth';\nimport isFunction from 'lodash/isFunction';\nimport max from 'lodash/max';\nimport isNil from 'lodash/isNil';\nimport isNan from 'lodash/isNaN';\nimport isEqual from 'lodash/isEqual';\nimport { Curve } from '../shape/Curve';\nimport { Dot } from '../shape/Dot';\nimport { Layer } from '../container/Layer';\nimport { LabelList } from '../component/LabelList';\nimport { Global } from '../util/Global';\nimport { isNumber, uniqueId, interpolateNumber } from '../util/DataUtils';\nimport { getCateCoordinateOfLine, getValueByDataKey } from '../util/ChartUtils';\nimport { filterProps, hasClipDot } from '../util/ReactUtils';\nexport var Area = /*#__PURE__*/function (_PureComponent) {\n function Area() {\n var _this;\n _classCallCheck(this, Area);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, Area, [].concat(args));\n _defineProperty(_this, \"state\", {\n isAnimationFinished: true\n });\n _defineProperty(_this, \"id\", uniqueId('recharts-area-'));\n _defineProperty(_this, \"handleAnimationEnd\", function () {\n var onAnimationEnd = _this.props.onAnimationEnd;\n _this.setState({\n isAnimationFinished: true\n });\n if (isFunction(onAnimationEnd)) {\n onAnimationEnd();\n }\n });\n _defineProperty(_this, \"handleAnimationStart\", function () {\n var onAnimationStart = _this.props.onAnimationStart;\n _this.setState({\n isAnimationFinished: false\n });\n if (isFunction(onAnimationStart)) {\n onAnimationStart();\n }\n });\n return _this;\n }\n _inherits(Area, _PureComponent);\n return _createClass(Area, [{\n key: \"renderDots\",\n value: function renderDots(needClip, clipDot, clipPathId) {\n var isAnimationActive = this.props.isAnimationActive;\n var isAnimationFinished = this.state.isAnimationFinished;\n if (isAnimationActive && !isAnimationFinished) {\n return null;\n }\n var _this$props = this.props,\n dot = _this$props.dot,\n points = _this$props.points,\n dataKey = _this$props.dataKey;\n var areaProps = filterProps(this.props, false);\n var customDotProps = filterProps(dot, true);\n var dots = points.map(function (entry, i) {\n var dotProps = _objectSpread(_objectSpread(_objectSpread({\n key: \"dot-\".concat(i),\n r: 3\n }, areaProps), customDotProps), {}, {\n index: i,\n cx: entry.x,\n cy: entry.y,\n dataKey: dataKey,\n value: entry.value,\n payload: entry.payload,\n points: points\n });\n return Area.renderDotItem(dot, dotProps);\n });\n var dotsProps = {\n clipPath: needClip ? \"url(#clipPath-\".concat(clipDot ? '' : 'dots-').concat(clipPathId, \")\") : null\n };\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: \"recharts-area-dots\"\n }, dotsProps), dots);\n }\n }, {\n key: \"renderHorizontalRect\",\n value: function renderHorizontalRect(alpha) {\n var _this$props2 = this.props,\n baseLine = _this$props2.baseLine,\n points = _this$props2.points,\n strokeWidth = _this$props2.strokeWidth;\n var startX = points[0].x;\n var endX = points[points.length - 1].x;\n var width = alpha * Math.abs(startX - endX);\n var maxY = max(points.map(function (entry) {\n return entry.y || 0;\n }));\n if (isNumber(baseLine) && typeof baseLine === 'number') {\n maxY = Math.max(baseLine, maxY);\n } else if (baseLine && Array.isArray(baseLine) && baseLine.length) {\n maxY = Math.max(max(baseLine.map(function (entry) {\n return entry.y || 0;\n })), maxY);\n }\n if (isNumber(maxY)) {\n return /*#__PURE__*/React.createElement(\"rect\", {\n x: startX < endX ? startX : startX - width,\n y: 0,\n width: width,\n height: Math.floor(maxY + (strokeWidth ? parseInt(\"\".concat(strokeWidth), 10) : 1))\n });\n }\n return null;\n }\n }, {\n key: \"renderVerticalRect\",\n value: function renderVerticalRect(alpha) {\n var _this$props3 = this.props,\n baseLine = _this$props3.baseLine,\n points = _this$props3.points,\n strokeWidth = _this$props3.strokeWidth;\n var startY = points[0].y;\n var endY = points[points.length - 1].y;\n var height = alpha * Math.abs(startY - endY);\n var maxX = max(points.map(function (entry) {\n return entry.x || 0;\n }));\n if (isNumber(baseLine) && typeof baseLine === 'number') {\n maxX = Math.max(baseLine, maxX);\n } else if (baseLine && Array.isArray(baseLine) && baseLine.length) {\n maxX = Math.max(max(baseLine.map(function (entry) {\n return entry.x || 0;\n })), maxX);\n }\n if (isNumber(maxX)) {\n return /*#__PURE__*/React.createElement(\"rect\", {\n x: 0,\n y: startY < endY ? startY : startY - height,\n width: maxX + (strokeWidth ? parseInt(\"\".concat(strokeWidth), 10) : 1),\n height: Math.floor(height)\n });\n }\n return null;\n }\n }, {\n key: \"renderClipRect\",\n value: function renderClipRect(alpha) {\n var layout = this.props.layout;\n if (layout === 'vertical') {\n return this.renderVerticalRect(alpha);\n }\n return this.renderHorizontalRect(alpha);\n }\n }, {\n key: \"renderAreaStatically\",\n value: function renderAreaStatically(points, baseLine, needClip, clipPathId) {\n var _this$props4 = this.props,\n layout = _this$props4.layout,\n type = _this$props4.type,\n stroke = _this$props4.stroke,\n connectNulls = _this$props4.connectNulls,\n isRange = _this$props4.isRange,\n ref = _this$props4.ref,\n others = _objectWithoutProperties(_this$props4, _excluded);\n return /*#__PURE__*/React.createElement(Layer, {\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : null\n }, /*#__PURE__*/React.createElement(Curve, _extends({}, filterProps(others, true), {\n points: points,\n connectNulls: connectNulls,\n type: type,\n baseLine: baseLine,\n layout: layout,\n stroke: \"none\",\n className: \"recharts-area-area\"\n })), stroke !== 'none' && /*#__PURE__*/React.createElement(Curve, _extends({}, filterProps(this.props, false), {\n className: \"recharts-area-curve\",\n layout: layout,\n type: type,\n connectNulls: connectNulls,\n fill: \"none\",\n points: points\n })), stroke !== 'none' && isRange && /*#__PURE__*/React.createElement(Curve, _extends({}, filterProps(this.props, false), {\n className: \"recharts-area-curve\",\n layout: layout,\n type: type,\n connectNulls: connectNulls,\n fill: \"none\",\n points: baseLine\n })));\n }\n }, {\n key: \"renderAreaWithAnimation\",\n value: function renderAreaWithAnimation(needClip, clipPathId) {\n var _this2 = this;\n var _this$props5 = this.props,\n points = _this$props5.points,\n baseLine = _this$props5.baseLine,\n isAnimationActive = _this$props5.isAnimationActive,\n animationBegin = _this$props5.animationBegin,\n animationDuration = _this$props5.animationDuration,\n animationEasing = _this$props5.animationEasing,\n animationId = _this$props5.animationId;\n var _this$state = this.state,\n prevPoints = _this$state.prevPoints,\n prevBaseLine = _this$state.prevBaseLine;\n // const clipPathId = isNil(id) ? this.id : id;\n\n return /*#__PURE__*/React.createElement(Animate, {\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n from: {\n t: 0\n },\n to: {\n t: 1\n },\n key: \"area-\".concat(animationId),\n onAnimationEnd: this.handleAnimationEnd,\n onAnimationStart: this.handleAnimationStart\n }, function (_ref) {\n var t = _ref.t;\n if (prevPoints) {\n var prevPointsDiffFactor = prevPoints.length / points.length;\n // update animtaion\n var stepPoints = points.map(function (entry, index) {\n var prevPointIndex = Math.floor(index * prevPointsDiffFactor);\n if (prevPoints[prevPointIndex]) {\n var prev = prevPoints[prevPointIndex];\n var interpolatorX = interpolateNumber(prev.x, entry.x);\n var interpolatorY = interpolateNumber(prev.y, entry.y);\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: interpolatorX(t),\n y: interpolatorY(t)\n });\n }\n return entry;\n });\n var stepBaseLine;\n if (isNumber(baseLine) && typeof baseLine === 'number') {\n var interpolator = interpolateNumber(prevBaseLine, baseLine);\n stepBaseLine = interpolator(t);\n } else if (isNil(baseLine) || isNan(baseLine)) {\n var _interpolator = interpolateNumber(prevBaseLine, 0);\n stepBaseLine = _interpolator(t);\n } else {\n stepBaseLine = baseLine.map(function (entry, index) {\n var prevPointIndex = Math.floor(index * prevPointsDiffFactor);\n if (prevBaseLine[prevPointIndex]) {\n var prev = prevBaseLine[prevPointIndex];\n var interpolatorX = interpolateNumber(prev.x, entry.x);\n var interpolatorY = interpolateNumber(prev.y, entry.y);\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: interpolatorX(t),\n y: interpolatorY(t)\n });\n }\n return entry;\n });\n }\n return _this2.renderAreaStatically(stepPoints, stepBaseLine, needClip, clipPathId);\n }\n return /*#__PURE__*/React.createElement(Layer, null, /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"animationClipPath-\".concat(clipPathId)\n }, _this2.renderClipRect(t))), /*#__PURE__*/React.createElement(Layer, {\n clipPath: \"url(#animationClipPath-\".concat(clipPathId, \")\")\n }, _this2.renderAreaStatically(points, baseLine, needClip, clipPathId)));\n });\n }\n }, {\n key: \"renderArea\",\n value: function renderArea(needClip, clipPathId) {\n var _this$props6 = this.props,\n points = _this$props6.points,\n baseLine = _this$props6.baseLine,\n isAnimationActive = _this$props6.isAnimationActive;\n var _this$state2 = this.state,\n prevPoints = _this$state2.prevPoints,\n prevBaseLine = _this$state2.prevBaseLine,\n totalLength = _this$state2.totalLength;\n if (isAnimationActive && points && points.length && (!prevPoints && totalLength > 0 || !isEqual(prevPoints, points) || !isEqual(prevBaseLine, baseLine))) {\n return this.renderAreaWithAnimation(needClip, clipPathId);\n }\n return this.renderAreaStatically(points, baseLine, needClip, clipPathId);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _filterProps;\n var _this$props7 = this.props,\n hide = _this$props7.hide,\n dot = _this$props7.dot,\n points = _this$props7.points,\n className = _this$props7.className,\n top = _this$props7.top,\n left = _this$props7.left,\n xAxis = _this$props7.xAxis,\n yAxis = _this$props7.yAxis,\n width = _this$props7.width,\n height = _this$props7.height,\n isAnimationActive = _this$props7.isAnimationActive,\n id = _this$props7.id;\n if (hide || !points || !points.length) {\n return null;\n }\n var isAnimationFinished = this.state.isAnimationFinished;\n var hasSinglePoint = points.length === 1;\n var layerClass = clsx('recharts-area', className);\n var needClipX = xAxis && xAxis.allowDataOverflow;\n var needClipY = yAxis && yAxis.allowDataOverflow;\n var needClip = needClipX || needClipY;\n var clipPathId = isNil(id) ? this.id : id;\n var _ref2 = (_filterProps = filterProps(dot, false)) !== null && _filterProps !== void 0 ? _filterProps : {\n r: 3,\n strokeWidth: 2\n },\n _ref2$r = _ref2.r,\n r = _ref2$r === void 0 ? 3 : _ref2$r,\n _ref2$strokeWidth = _ref2.strokeWidth,\n strokeWidth = _ref2$strokeWidth === void 0 ? 2 : _ref2$strokeWidth;\n var _ref3 = hasClipDot(dot) ? dot : {},\n _ref3$clipDot = _ref3.clipDot,\n clipDot = _ref3$clipDot === void 0 ? true : _ref3$clipDot;\n var dotSize = r * 2 + strokeWidth;\n return /*#__PURE__*/React.createElement(Layer, {\n className: layerClass\n }, needClipX || needClipY ? /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clipPath-\".concat(clipPathId)\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: needClipX ? left : left - width / 2,\n y: needClipY ? top : top - height / 2,\n width: needClipX ? width : width * 2,\n height: needClipY ? height : height * 2\n })), !clipDot && /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clipPath-dots-\".concat(clipPathId)\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: left - dotSize / 2,\n y: top - dotSize / 2,\n width: width + dotSize,\n height: height + dotSize\n }))) : null, !hasSinglePoint ? this.renderArea(needClip, clipPathId) : null, (dot || hasSinglePoint) && this.renderDots(needClip, clipDot, clipPathId), (!isAnimationActive || isAnimationFinished) && LabelList.renderCallByParent(this.props, points));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.animationId !== prevState.prevAnimationId) {\n return {\n prevAnimationId: nextProps.animationId,\n curPoints: nextProps.points,\n curBaseLine: nextProps.baseLine,\n prevPoints: prevState.curPoints,\n prevBaseLine: prevState.curBaseLine\n };\n }\n if (nextProps.points !== prevState.curPoints || nextProps.baseLine !== prevState.curBaseLine) {\n return {\n curPoints: nextProps.points,\n curBaseLine: nextProps.baseLine\n };\n }\n return null;\n }\n }]);\n}(PureComponent);\n_Area = Area;\n_defineProperty(Area, \"displayName\", 'Area');\n_defineProperty(Area, \"defaultProps\", {\n stroke: '#3182bd',\n fill: '#3182bd',\n fillOpacity: 0.6,\n xAxisId: 0,\n yAxisId: 0,\n legendType: 'line',\n connectNulls: false,\n // points of area\n points: [],\n dot: false,\n activeDot: true,\n hide: false,\n isAnimationActive: !Global.isSsr,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: 'ease'\n});\n_defineProperty(Area, \"getBaseValue\", function (props, item, xAxis, yAxis) {\n var layout = props.layout,\n chartBaseValue = props.baseValue;\n var itemBaseValue = item.props.baseValue;\n\n // The baseValue can be defined both on the AreaChart as well as on the Area.\n // The value for the item takes precedence.\n var baseValue = itemBaseValue !== null && itemBaseValue !== void 0 ? itemBaseValue : chartBaseValue;\n if (isNumber(baseValue) && typeof baseValue === 'number') {\n return baseValue;\n }\n var numericAxis = layout === 'horizontal' ? yAxis : xAxis;\n var domain = numericAxis.scale.domain();\n if (numericAxis.type === 'number') {\n var domainMax = Math.max(domain[0], domain[1]);\n var domainMin = Math.min(domain[0], domain[1]);\n if (baseValue === 'dataMin') {\n return domainMin;\n }\n if (baseValue === 'dataMax') {\n return domainMax;\n }\n return domainMax < 0 ? domainMax : Math.max(Math.min(domain[0], domain[1]), 0);\n }\n if (baseValue === 'dataMin') {\n return domain[0];\n }\n if (baseValue === 'dataMax') {\n return domain[1];\n }\n return domain[0];\n});\n_defineProperty(Area, \"getComposedData\", function (_ref4) {\n var props = _ref4.props,\n item = _ref4.item,\n xAxis = _ref4.xAxis,\n yAxis = _ref4.yAxis,\n xAxisTicks = _ref4.xAxisTicks,\n yAxisTicks = _ref4.yAxisTicks,\n bandSize = _ref4.bandSize,\n dataKey = _ref4.dataKey,\n stackedData = _ref4.stackedData,\n dataStartIndex = _ref4.dataStartIndex,\n displayedData = _ref4.displayedData,\n offset = _ref4.offset;\n var layout = props.layout;\n var hasStack = stackedData && stackedData.length;\n var baseValue = _Area.getBaseValue(props, item, xAxis, yAxis);\n var isHorizontalLayout = layout === 'horizontal';\n var isRange = false;\n var points = displayedData.map(function (entry, index) {\n var value;\n if (hasStack) {\n value = stackedData[dataStartIndex + index];\n } else {\n value = getValueByDataKey(entry, dataKey);\n if (!Array.isArray(value)) {\n value = [baseValue, value];\n } else {\n isRange = true;\n }\n }\n var isBreakPoint = value[1] == null || hasStack && getValueByDataKey(entry, dataKey) == null;\n if (isHorizontalLayout) {\n return {\n x: getCateCoordinateOfLine({\n axis: xAxis,\n ticks: xAxisTicks,\n bandSize: bandSize,\n entry: entry,\n index: index\n }),\n y: isBreakPoint ? null : yAxis.scale(value[1]),\n value: value,\n payload: entry\n };\n }\n return {\n x: isBreakPoint ? null : xAxis.scale(value[1]),\n y: getCateCoordinateOfLine({\n axis: yAxis,\n ticks: yAxisTicks,\n bandSize: bandSize,\n entry: entry,\n index: index\n }),\n value: value,\n payload: entry\n };\n });\n var baseLine;\n if (hasStack || isRange) {\n baseLine = points.map(function (entry) {\n var x = Array.isArray(entry.value) ? entry.value[0] : null;\n if (isHorizontalLayout) {\n return {\n x: entry.x,\n y: x != null && entry.y != null ? yAxis.scale(x) : null\n };\n }\n return {\n x: x != null ? xAxis.scale(x) : null,\n y: entry.y\n };\n });\n } else {\n baseLine = isHorizontalLayout ? yAxis.scale(baseValue) : xAxis.scale(baseValue);\n }\n return _objectSpread({\n points: points,\n baseLine: baseLine,\n layout: layout,\n isRange: isRange\n }, offset);\n});\n_defineProperty(Area, \"renderDotItem\", function (option, props) {\n var dotItem;\n if ( /*#__PURE__*/React.isValidElement(option)) {\n dotItem = /*#__PURE__*/React.cloneElement(option, props);\n } else if (isFunction(option)) {\n dotItem = option(props);\n } else {\n var className = clsx('recharts-area-dot', typeof option !== 'boolean' ? option.className : '');\n var key = props.key,\n rest = _objectWithoutProperties(props, _excluded2);\n dotItem = /*#__PURE__*/React.createElement(Dot, _extends({}, rest, {\n key: key,\n className: className\n }));\n }\n return dotItem;\n});","/**\n * @fileOverview Area Chart\n */\nimport { generateCategoricalChart } from './generateCategoricalChart';\nimport { Area } from '../cartesian/Area';\nimport { XAxis } from '../cartesian/XAxis';\nimport { YAxis } from '../cartesian/YAxis';\nimport { formatAxisMap } from '../util/CartesianUtils';\nexport var AreaChart = generateCategoricalChart({\n chartName: 'AreaChart',\n GraphicalChild: Area,\n axisComponents: [{\n axisType: 'xAxis',\n AxisComp: XAxis\n }, {\n axisType: 'yAxis',\n AxisComp: YAxis\n }],\n formatAxisMap: formatAxisMap\n});"],"names":["_excluded","_excluded2","_Area","_typeof","o","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","key","i","sourceSymbolKeys","_extends","ownKeys","r","t","_objectSpread","_defineProperty","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_callSuper","e","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","self","call","_assertThisInitialized","_inherits","subClass","superClass","_setPrototypeOf","p","obj","value","_toPrimitive","Area","_PureComponent","_this","_len","args","_key","uniqueId","onAnimationEnd","isFunction","onAnimationStart","needClip","clipDot","clipPathId","isAnimationActive","isAnimationFinished","_this$props","dot","points","dataKey","areaProps","filterProps","customDotProps","dots","entry","dotProps","dotsProps","React","Layer","alpha","_this$props2","baseLine","strokeWidth","startX","endX","width","maxY","max","isNumber","_this$props3","startY","endY","height","maxX","layout","_this$props4","type","stroke","connectNulls","isRange","others","Curve","_this2","_this$props5","animationBegin","animationDuration","animationEasing","animationId","_this$state","prevPoints","prevBaseLine","Animate","_ref","prevPointsDiffFactor","stepPoints","index","prevPointIndex","prev","interpolatorX","interpolateNumber","interpolatorY","stepBaseLine","interpolator","isNil","isNan","_interpolator","_this$props6","_this$state2","totalLength","isEqual","_filterProps","_this$props7","hide","className","top","left","xAxis","yAxis","id","hasSinglePoint","layerClass","clsx","needClipX","needClipY","_ref2","_ref2$r","_ref2$strokeWidth","_ref3","hasClipDot","_ref3$clipDot","dotSize","LabelList","nextProps","prevState","PureComponent","Global","item","chartBaseValue","itemBaseValue","baseValue","numericAxis","domain","domainMax","domainMin","_ref4","xAxisTicks","yAxisTicks","bandSize","stackedData","dataStartIndex","displayedData","offset","hasStack","isHorizontalLayout","getValueByDataKey","isBreakPoint","getCateCoordinateOfLine","x","option","dotItem","rest","Dot","AreaChart","generateCategoricalChart","XAxis","YAxis","formatAxisMap"],"mappings":"iRAAA,IAAIA,GAAY,CAAC,SAAU,OAAQ,SAAU,eAAgB,UAAW,KAAK,EAC3EC,GAAa,CAAC,KAAK,EACjBC,GACJ,SAASC,EAAQC,EAAG,CAAE,0BAA2B,OAAOD,EAAwB,OAAO,QAArB,YAA2C,OAAO,OAAO,UAA1B,SAAqC,SAAUC,EAAG,CAAE,OAAO,OAAOA,CAAG,EAAI,SAAUA,EAAG,CAAE,OAAOA,GAAmB,OAAO,QAArB,YAA+BA,EAAE,cAAgB,QAAUA,IAAM,OAAO,UAAY,SAAW,OAAOA,CAAG,EAAGD,EAAQC,CAAC,CAAG,CAC7T,SAASC,GAAyBC,EAAQC,EAAU,CAAE,GAAID,GAAU,KAAM,MAAO,CAAA,EAAI,IAAIE,EAASC,GAA8BH,EAAQC,CAAQ,EAAOG,EAAKC,EAAG,GAAI,OAAO,sBAAuB,CAAE,IAAIC,EAAmB,OAAO,sBAAsBN,CAAM,EAAG,IAAKK,EAAI,EAAGA,EAAIC,EAAiB,OAAQD,IAAOD,EAAME,EAAiBD,CAAC,EAAO,EAAAJ,EAAS,QAAQG,CAAG,GAAK,IAAkB,OAAO,UAAU,qBAAqB,KAAKJ,EAAQI,CAAG,IAAaF,EAAOE,CAAG,EAAIJ,EAAOI,CAAG,EAAK,CAAE,OAAOF,CAAQ,CAC3e,SAASC,GAA8BH,EAAQC,EAAU,CAAE,GAAID,GAAU,KAAM,MAAO,CAAA,EAAI,IAAIE,EAAS,GAAI,QAASE,KAAOJ,EAAU,GAAI,OAAO,UAAU,eAAe,KAAKA,EAAQI,CAAG,EAAG,CAAE,GAAIH,EAAS,QAAQG,CAAG,GAAK,EAAG,SAAUF,EAAOE,CAAG,EAAIJ,EAAOI,CAAG,CAAG,CAAI,OAAOF,CAAQ,CACtR,SAASK,GAAW,CAAE,OAAAA,EAAW,OAAO,OAAS,OAAO,OAAO,OAAS,SAAUL,EAAQ,CAAE,QAASG,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CAAE,IAAIL,EAAS,UAAUK,CAAC,EAAG,QAASD,KAAOJ,EAAc,OAAO,UAAU,eAAe,KAAKA,EAAQI,CAAG,IAAKF,EAAOE,CAAG,EAAIJ,EAAOI,CAAG,EAAO,CAAE,OAAOF,CAAQ,EAAUK,EAAS,MAAM,KAAM,SAAS,CAAG,CAClV,SAASC,EAAQ,EAAGC,EAAG,CAAE,IAAIC,EAAI,OAAO,KAAK,CAAC,EAAG,GAAI,OAAO,sBAAuB,CAAE,IAAIZ,EAAI,OAAO,sBAAsB,CAAC,EAAGW,IAAMX,EAAIA,EAAE,OAAO,SAAUW,EAAG,CAAE,OAAO,OAAO,yBAAyB,EAAGA,CAAC,EAAE,UAAY,CAAC,GAAIC,EAAE,KAAK,MAAMA,EAAGZ,CAAC,CAAG,CAAE,OAAOY,CAAG,CAC9P,SAASC,EAAc,EAAG,CAAE,QAASF,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CAAE,IAAIC,EAAY,UAAUD,CAAC,GAAnB,KAAuB,UAAUA,CAAC,EAAI,CAAA,EAAIA,EAAI,EAAID,EAAQ,OAAOE,CAAC,EAAG,EAAE,EAAE,QAAQ,SAAUD,EAAG,CAAEG,EAAgB,EAAGH,EAAGC,EAAED,CAAC,CAAC,CAAG,CAAC,EAAI,OAAO,0BAA4B,OAAO,iBAAiB,EAAG,OAAO,0BAA0BC,CAAC,CAAC,EAAIF,EAAQ,OAAOE,CAAC,CAAC,EAAE,QAAQ,SAAUD,EAAG,CAAE,OAAO,eAAe,EAAGA,EAAG,OAAO,yBAAyBC,EAAGD,CAAC,CAAC,CAAG,CAAC,CAAG,CAAE,OAAO,CAAG,CACtb,SAASI,GAAgBC,EAAUC,EAAa,CAAE,GAAI,EAAED,aAAoBC,GAAgB,MAAM,IAAI,UAAU,mCAAmC,CAAK,CACxJ,SAASC,EAAkBd,EAAQe,EAAO,CAAE,QAASZ,EAAI,EAAGA,EAAIY,EAAM,OAAQZ,IAAK,CAAE,IAAIa,EAAaD,EAAMZ,CAAC,EAAGa,EAAW,WAAaA,EAAW,YAAc,GAAOA,EAAW,aAAe,GAAU,UAAWA,IAAYA,EAAW,SAAW,IAAM,OAAO,eAAehB,EAAQiB,GAAeD,EAAW,GAAG,EAAGA,CAAU,CAAG,CAAE,CAC5U,SAASE,GAAaL,EAAaM,EAAYC,EAAa,CAAE,OAAID,GAAYL,EAAkBD,EAAY,UAAWM,CAAU,EAAOC,GAAaN,EAAkBD,EAAaO,CAAW,EAAG,OAAO,eAAeP,EAAa,YAAa,CAAE,SAAU,EAAK,CAAE,EAAUA,CAAa,CAC5R,SAASQ,GAAWb,EAAGZ,EAAG0B,EAAG,CAAE,OAAO1B,EAAI2B,EAAgB3B,CAAC,EAAG4B,GAA2BhB,EAAGiB,GAAyB,EAAK,QAAQ,UAAU7B,EAAG0B,GAAK,CAAA,EAAIC,EAAgBf,CAAC,EAAE,WAAW,EAAIZ,EAAE,MAAMY,EAAGc,CAAC,CAAC,CAAG,CAC1M,SAASE,GAA2BE,EAAMC,EAAM,CAAE,GAAIA,IAAShC,EAAQgC,CAAI,IAAM,UAAY,OAAOA,GAAS,YAAe,OAAOA,EAAa,GAAIA,IAAS,OAAU,MAAM,IAAI,UAAU,0DAA0D,EAAK,OAAOC,GAAuBF,CAAI,CAAG,CAC/R,SAASE,GAAuBF,EAAM,CAAE,GAAIA,IAAS,OAAU,MAAM,IAAI,eAAe,2DAA2D,EAAK,OAAOA,CAAM,CACrK,SAASD,IAA4B,CAAE,GAAI,CAAE,IAAIjB,EAAI,CAAC,QAAQ,UAAU,QAAQ,KAAK,QAAQ,UAAU,QAAS,CAAA,EAAI,UAAY,CAAC,CAAC,CAAC,CAAG,MAAY,CAAC,CAAE,OAAQiB,GAA4B,UAAqC,CAAE,MAAO,CAAC,CAACjB,CAAG,GAAC,CAAK,CAClP,SAASe,EAAgB3B,EAAG,CAAE,OAAA2B,EAAkB,OAAO,eAAiB,OAAO,eAAe,OAAS,SAAyB3B,EAAG,CAAE,OAAOA,EAAE,WAAa,OAAO,eAAeA,CAAC,CAAG,EAAU2B,EAAgB3B,CAAC,CAAG,CACnN,SAASiC,GAAUC,EAAUC,EAAY,CAAE,GAAI,OAAOA,GAAe,YAAcA,IAAe,KAAQ,MAAM,IAAI,UAAU,oDAAoD,EAAKD,EAAS,UAAY,OAAO,OAAOC,GAAcA,EAAW,UAAW,CAAE,YAAa,CAAE,MAAOD,EAAU,SAAU,GAAM,aAAc,EAAI,EAAI,EAAG,OAAO,eAAeA,EAAU,YAAa,CAAE,SAAU,EAAK,CAAE,EAAOC,GAAYC,EAAgBF,EAAUC,CAAU,CAAG,CACnc,SAASC,EAAgBpC,EAAGqC,EAAG,CAAE,OAAAD,EAAkB,OAAO,eAAiB,OAAO,eAAe,OAAS,SAAyBpC,EAAGqC,EAAG,CAAE,OAAArC,EAAE,UAAYqC,EAAUrC,CAAG,EAAUoC,EAAgBpC,EAAGqC,CAAC,CAAG,CACvM,SAASvB,EAAgBwB,EAAKhC,EAAKiC,EAAO,CAAE,OAAAjC,EAAMe,GAAef,CAAG,EAAOA,KAAOgC,EAAO,OAAO,eAAeA,EAAKhC,EAAK,CAAE,MAAOiC,EAAO,WAAY,GAAM,aAAc,GAAM,SAAU,EAAI,CAAE,EAAYD,EAAIhC,CAAG,EAAIiC,EAAgBD,CAAK,CAC3O,SAASjB,GAAeT,EAAG,CAAE,IAAIL,EAAIiC,GAAa5B,EAAG,QAAQ,EAAG,OAAmBb,EAAQQ,CAAC,GAArB,SAAyBA,EAAIA,EAAI,EAAI,CAC5G,SAASiC,GAAa5B,EAAGD,EAAG,CAAE,GAAgBZ,EAAQa,CAAC,GAArB,UAA0B,CAACA,EAAG,OAAOA,EAAG,IAAIc,EAAId,EAAE,OAAO,WAAW,EAAG,GAAec,IAAX,OAAc,CAAE,IAAInB,EAAImB,EAAE,KAAKd,EAAGD,CAAc,EAAG,GAAgBZ,EAAQQ,CAAC,GAArB,SAAwB,OAAOA,EAAG,MAAM,IAAI,UAAU,8CAA8C,CAAG,CAAE,OAAyB,OAAiBK,CAAC,CAAG,CAoBjT,IAAC6B,EAAoB,SAAUC,EAAgB,CACvD,SAASD,GAAO,CACd,IAAIE,EACJ5B,GAAgB,KAAM0B,CAAI,EAC1B,QAASG,EAAO,UAAU,OAAQC,EAAO,IAAI,MAAMD,CAAI,EAAGE,EAAO,EAAGA,EAAOF,EAAME,IAC/ED,EAAKC,CAAI,EAAI,UAAUA,CAAI,EAE7B,OAAAH,EAAQlB,GAAW,KAAMgB,EAAM,CAAA,EAAG,OAAOI,CAAI,CAAC,EAC9C/B,EAAgB6B,EAAO,QAAS,CAC9B,oBAAqB,EAC3B,CAAK,EACD7B,EAAgB6B,EAAO,KAAMI,GAAS,gBAAgB,CAAC,EACvDjC,EAAgB6B,EAAO,qBAAsB,UAAY,CACvD,IAAIK,EAAiBL,EAAM,MAAM,eACjCA,EAAM,SAAS,CACb,oBAAqB,EAC7B,CAAO,EACGM,EAAWD,CAAc,GAC3BA,EAAc,CAElB,CAAC,EACDlC,EAAgB6B,EAAO,uBAAwB,UAAY,CACzD,IAAIO,EAAmBP,EAAM,MAAM,iBACnCA,EAAM,SAAS,CACb,oBAAqB,EAC7B,CAAO,EACGM,EAAWC,CAAgB,GAC7BA,EAAgB,CAEpB,CAAC,EACMP,CACT,CACA,OAAAV,GAAUQ,EAAMC,CAAc,EACvBpB,GAAamB,EAAM,CAAC,CACzB,IAAK,aACL,MAAO,SAAoBU,EAAUC,EAASC,EAAY,CACxD,IAAIC,EAAoB,KAAK,MAAM,kBAC/BC,EAAsB,KAAK,MAAM,oBACrC,GAAID,GAAqB,CAACC,EACxB,OAAO,KAET,IAAIC,EAAc,KAAK,MACrBC,EAAMD,EAAY,IAClBE,EAASF,EAAY,OACrBG,EAAUH,EAAY,QACpBI,EAAYC,EAAY,KAAK,MAAO,EAAK,EACzCC,EAAiBD,EAAYJ,EAAK,EAAI,EACtCM,EAAOL,EAAO,IAAI,SAAUM,EAAOzD,EAAG,CACxC,IAAI0D,EAAWpD,EAAcA,EAAcA,EAAc,CACvD,IAAK,OAAO,OAAON,CAAC,EACpB,EAAG,CACb,EAAWqD,CAAS,EAAGE,CAAc,EAAG,GAAI,CAClC,MAAOvD,EACP,GAAIyD,EAAM,EACV,GAAIA,EAAM,EACV,QAASL,EACT,MAAOK,EAAM,MACb,QAASA,EAAM,QACf,OAAQN,CAClB,CAAS,EACD,OAAOjB,EAAK,cAAcgB,EAAKQ,CAAQ,CACzC,CAAC,EACGC,EAAY,CACd,SAAUf,EAAW,iBAAiB,OAAOC,EAAU,GAAK,OAAO,EAAE,OAAOC,EAAY,GAAG,EAAI,IACvG,EACM,OAAoBc,EAAM,cAAcC,EAAO3D,EAAS,CACtD,UAAW,oBACnB,EAASyD,CAAS,EAAGH,CAAI,CACrB,CACJ,EAAK,CACD,IAAK,uBACL,MAAO,SAA8BM,EAAO,CAC1C,IAAIC,EAAe,KAAK,MACtBC,EAAWD,EAAa,SACxBZ,EAASY,EAAa,OACtBE,EAAcF,EAAa,YACzBG,EAASf,EAAO,CAAC,EAAE,EACnBgB,EAAOhB,EAAOA,EAAO,OAAS,CAAC,EAAE,EACjCiB,EAAQN,EAAQ,KAAK,IAAII,EAASC,CAAI,EACtCE,EAAOC,EAAInB,EAAO,IAAI,SAAUM,EAAO,CACzC,OAAOA,EAAM,GAAK,CACpB,CAAC,CAAC,EAQF,OAPIc,EAASP,CAAQ,GAAK,OAAOA,GAAa,SAC5CK,EAAO,KAAK,IAAIL,EAAUK,CAAI,EACrBL,GAAY,MAAM,QAAQA,CAAQ,GAAKA,EAAS,SACzDK,EAAO,KAAK,IAAIC,EAAIN,EAAS,IAAI,SAAUP,EAAO,CAChD,OAAOA,EAAM,GAAK,CACpB,CAAC,CAAC,EAAGY,CAAI,GAEPE,EAASF,CAAI,EACKT,EAAM,cAAc,OAAQ,CAC9C,EAAGM,EAASC,EAAOD,EAASA,EAASE,EACrC,EAAG,EACH,MAAOA,EACP,OAAQ,KAAK,MAAMC,GAAQJ,EAAc,SAAS,GAAG,OAAOA,CAAW,EAAG,EAAE,EAAI,EAAE,CAC5F,CAAS,EAEI,IACT,CACJ,EAAK,CACD,IAAK,qBACL,MAAO,SAA4BH,EAAO,CACxC,IAAIU,EAAe,KAAK,MACtBR,EAAWQ,EAAa,SACxBrB,EAASqB,EAAa,OACtBP,EAAcO,EAAa,YACzBC,EAAStB,EAAO,CAAC,EAAE,EACnBuB,EAAOvB,EAAOA,EAAO,OAAS,CAAC,EAAE,EACjCwB,EAASb,EAAQ,KAAK,IAAIW,EAASC,CAAI,EACvCE,EAAON,EAAInB,EAAO,IAAI,SAAUM,EAAO,CACzC,OAAOA,EAAM,GAAK,CACpB,CAAC,CAAC,EAQF,OAPIc,EAASP,CAAQ,GAAK,OAAOA,GAAa,SAC5CY,EAAO,KAAK,IAAIZ,EAAUY,CAAI,EACrBZ,GAAY,MAAM,QAAQA,CAAQ,GAAKA,EAAS,SACzDY,EAAO,KAAK,IAAIN,EAAIN,EAAS,IAAI,SAAUP,EAAO,CAChD,OAAOA,EAAM,GAAK,CACpB,CAAC,CAAC,EAAGmB,CAAI,GAEPL,EAASK,CAAI,EACKhB,EAAM,cAAc,OAAQ,CAC9C,EAAG,EACH,EAAGa,EAASC,EAAOD,EAASA,EAASE,EACrC,MAAOC,GAAQX,EAAc,SAAS,GAAG,OAAOA,CAAW,EAAG,EAAE,EAAI,GACpE,OAAQ,KAAK,MAAMU,CAAM,CACnC,CAAS,EAEI,IACT,CACJ,EAAK,CACD,IAAK,iBACL,MAAO,SAAwBb,EAAO,CACpC,IAAIe,EAAS,KAAK,MAAM,OACxB,OAAIA,IAAW,WACN,KAAK,mBAAmBf,CAAK,EAE/B,KAAK,qBAAqBA,CAAK,CACxC,CACJ,EAAK,CACD,IAAK,uBACL,MAAO,SAA8BX,EAAQa,EAAUpB,EAAUE,EAAY,CACxE,IAACgC,EAAe,KAAK,MACtBD,EAASC,EAAa,OACtBC,EAAOD,EAAa,KACpBE,EAASF,EAAa,OACtBG,EAAeH,EAAa,aAC5BI,EAAUJ,EAAa,QACjBA,EAAa,IAC3B,IAAQK,EAASzF,GAAyBoF,EAAczF,EAAS,EAC3D,OAAoBuE,EAAM,cAAcC,EAAO,CAC7C,SAAUjB,EAAW,iBAAiB,OAAOE,EAAY,GAAG,EAAI,IACxE,EAAsBc,EAAM,cAAcwB,EAAOlF,EAAS,CAAA,EAAIoD,EAAY6B,EAAQ,EAAI,EAAG,CACjF,OAAQhC,EACR,aAAc8B,EACd,KAAMF,EACN,SAAUf,EACV,OAAQa,EACR,OAAQ,OACR,UAAW,oBACnB,CAAO,CAAC,EAAGG,IAAW,QAAuBpB,EAAM,cAAcwB,EAAOlF,EAAS,CAAA,EAAIoD,EAAY,KAAK,MAAO,EAAK,EAAG,CAC7G,UAAW,sBACX,OAAQuB,EACR,KAAME,EACN,aAAcE,EACd,KAAM,OACN,OAAQ9B,CAChB,CAAO,CAAC,EAAG6B,IAAW,QAAUE,GAAwBtB,EAAM,cAAcwB,EAAOlF,EAAS,CAAA,EAAIoD,EAAY,KAAK,MAAO,EAAK,EAAG,CACxH,UAAW,sBACX,OAAQuB,EACR,KAAME,EACN,aAAcE,EACd,KAAM,OACN,OAAQjB,CAChB,CAAO,CAAC,CAAC,CACL,CACJ,EAAK,CACD,IAAK,0BACL,MAAO,SAAiCpB,EAAUE,EAAY,CAC5D,IAAIuC,EAAS,KACTC,EAAe,KAAK,MACtBnC,EAASmC,EAAa,OACtBtB,EAAWsB,EAAa,SACxBvC,EAAoBuC,EAAa,kBACjCC,EAAiBD,EAAa,eAC9BE,EAAoBF,EAAa,kBACjCG,EAAkBH,EAAa,gBAC/BI,EAAcJ,EAAa,YACzBK,EAAc,KAAK,MACrBC,EAAaD,EAAY,WACzBE,EAAeF,EAAY,aAG7B,OAAoB/B,EAAM,cAAckC,GAAS,CAC/C,MAAOP,EACP,SAAUC,EACV,SAAUzC,EACV,OAAQ0C,EACR,KAAM,CACJ,EAAG,CACb,EACQ,GAAI,CACF,EAAG,CACb,EACQ,IAAK,QAAQ,OAAOC,CAAW,EAC/B,eAAgB,KAAK,mBACrB,iBAAkB,KAAK,oBAC/B,EAAS,SAAUK,EAAM,CACjB,IAAI1F,EAAI0F,EAAK,EACb,GAAIH,EAAY,CACd,IAAII,EAAuBJ,EAAW,OAASzC,EAAO,OAElD8C,EAAa9C,EAAO,IAAI,SAAUM,EAAOyC,EAAO,CAClD,IAAIC,EAAiB,KAAK,MAAMD,EAAQF,CAAoB,EAC5D,GAAIJ,EAAWO,CAAc,EAAG,CAC9B,IAAIC,EAAOR,EAAWO,CAAc,EAChCE,EAAgBC,EAAkBF,EAAK,EAAG3C,EAAM,CAAC,EACjD8C,EAAgBD,EAAkBF,EAAK,EAAG3C,EAAM,CAAC,EACrD,OAAOnD,EAAcA,EAAc,CAAA,EAAImD,CAAK,EAAG,CAAA,EAAI,CACjD,EAAG4C,EAAchG,CAAC,EAClB,EAAGkG,EAAclG,CAAC,CAClC,CAAe,CACH,CACA,OAAOoD,CACT,CAAC,EACG+C,EACJ,GAAIjC,EAASP,CAAQ,GAAK,OAAOA,GAAa,SAAU,CACtD,IAAIyC,EAAeH,EAAkBT,EAAc7B,CAAQ,EAC3DwC,EAAeC,EAAapG,CAAC,CAC/B,SAAWqG,EAAM1C,CAAQ,GAAK2C,GAAM3C,CAAQ,EAAG,CAC7C,IAAI4C,EAAgBN,EAAkBT,EAAc,CAAC,EACrDW,EAAeI,EAAcvG,CAAC,CAChC,MACEmG,EAAexC,EAAS,IAAI,SAAUP,EAAOyC,EAAO,CAClD,IAAIC,EAAiB,KAAK,MAAMD,EAAQF,CAAoB,EAC5D,GAAIH,EAAaM,CAAc,EAAG,CAChC,IAAIC,EAAOP,EAAaM,CAAc,EAClCE,EAAgBC,EAAkBF,EAAK,EAAG3C,EAAM,CAAC,EACjD8C,EAAgBD,EAAkBF,EAAK,EAAG3C,EAAM,CAAC,EACrD,OAAOnD,EAAcA,EAAc,CAAA,EAAImD,CAAK,EAAG,CAAA,EAAI,CACjD,EAAG4C,EAAchG,CAAC,EAClB,EAAGkG,EAAclG,CAAC,CACpC,CAAiB,CACH,CACA,OAAOoD,CACT,CAAC,EAEH,OAAO4B,EAAO,qBAAqBY,EAAYO,EAAc5D,EAAUE,CAAU,CACnF,CACA,OAAoBc,EAAM,cAAcC,EAAO,KAAmBD,EAAM,cAAc,OAAQ,KAAmBA,EAAM,cAAc,WAAY,CAC/I,GAAI,qBAAqB,OAAOd,CAAU,CACpD,EAAWuC,EAAO,eAAehF,CAAC,CAAC,CAAC,EAAgBuD,EAAM,cAAcC,EAAO,CACrE,SAAU,0BAA0B,OAAOf,EAAY,GAAG,CACpE,EAAWuC,EAAO,qBAAqBlC,EAAQa,EAAUpB,EAAUE,CAAU,CAAC,CAAC,CACzE,CAAC,CACH,CACJ,EAAK,CACD,IAAK,aACL,MAAO,SAAoBF,EAAUE,EAAY,CAC/C,IAAI+D,EAAe,KAAK,MACtB1D,EAAS0D,EAAa,OACtB7C,EAAW6C,EAAa,SACxB9D,EAAoB8D,EAAa,kBAC/BC,EAAe,KAAK,MACtBlB,EAAakB,EAAa,WAC1BjB,EAAeiB,EAAa,aAC5BC,EAAcD,EAAa,YAC7B,OAAI/D,GAAqBI,GAAUA,EAAO,SAAW,CAACyC,GAAcmB,EAAc,GAAK,CAACC,EAAQpB,EAAYzC,CAAM,GAAK,CAAC6D,EAAQnB,EAAc7B,CAAQ,GAC7I,KAAK,wBAAwBpB,EAAUE,CAAU,EAEnD,KAAK,qBAAqBK,EAAQa,EAAUpB,EAAUE,CAAU,CACzE,CACJ,EAAK,CACD,IAAK,SACL,MAAO,UAAkB,CACvB,IAAImE,EACAC,EAAe,KAAK,MACtBC,EAAOD,EAAa,KACpBhE,EAAMgE,EAAa,IACnB/D,EAAS+D,EAAa,OACtBE,EAAYF,EAAa,UACzBG,EAAMH,EAAa,IACnBI,EAAOJ,EAAa,KACpBK,EAAQL,EAAa,MACrBM,EAAQN,EAAa,MACrB9C,EAAQ8C,EAAa,MACrBvC,EAASuC,EAAa,OACtBnE,EAAoBmE,EAAa,kBACjCO,EAAKP,EAAa,GACpB,GAAIC,GAAQ,CAAChE,GAAU,CAACA,EAAO,OAC7B,OAAO,KAET,IAAIH,EAAsB,KAAK,MAAM,oBACjC0E,EAAiBvE,EAAO,SAAW,EACnCwE,EAAaC,GAAK,gBAAiBR,CAAS,EAC5CS,EAAYN,GAASA,EAAM,kBAC3BO,EAAYN,GAASA,EAAM,kBAC3B5E,EAAWiF,GAAaC,EACxBhF,EAAa4D,EAAMe,CAAE,EAAI,KAAK,GAAKA,EACnCM,GAASd,EAAe3D,EAAYJ,EAAK,EAAK,KAAO,MAAQ+D,IAAiB,OAASA,EAAe,CACtG,EAAG,EACH,YAAa,CACvB,EACQe,EAAUD,EAAM,EAChB3H,EAAI4H,IAAY,OAAS,EAAIA,EAC7BC,EAAoBF,EAAM,YAC1B9D,EAAcgE,IAAsB,OAAS,EAAIA,EAC/CC,EAAQC,GAAWjF,CAAG,EAAIA,EAAM,CAAA,EAClCkF,EAAgBF,EAAM,QACtBrF,EAAUuF,IAAkB,OAAS,GAAOA,EAC1CC,EAAUjI,EAAI,EAAI6D,EACtB,OAAoBL,EAAM,cAAcC,EAAO,CAC7C,UAAW8D,CACnB,EAASE,GAAaC,EAAyBlE,EAAM,cAAc,OAAQ,KAAmBA,EAAM,cAAc,WAAY,CACtH,GAAI,YAAY,OAAOd,CAAU,CACzC,EAAsBc,EAAM,cAAc,OAAQ,CAC1C,EAAGiE,EAAYP,EAAOA,EAAOlD,EAAQ,EACrC,EAAG0D,EAAYT,EAAMA,EAAM1C,EAAS,EACpC,MAAOkD,EAAYzD,EAAQA,EAAQ,EACnC,OAAQ0D,EAAYnD,EAASA,EAAS,CAC9C,CAAO,CAAC,EAAG,CAAC9B,GAAwBe,EAAM,cAAc,WAAY,CAC5D,GAAI,iBAAiB,OAAOd,CAAU,CAC9C,EAAsBc,EAAM,cAAc,OAAQ,CAC1C,EAAG0D,EAAOe,EAAU,EACpB,EAAGhB,EAAMgB,EAAU,EACnB,MAAOjE,EAAQiE,EACf,OAAQ1D,EAAS0D,CACzB,CAAO,CAAC,CAAC,EAAI,KAAOX,EAAyD,KAAxC,KAAK,WAAW9E,EAAUE,CAAU,GAAWI,GAAOwE,IAAmB,KAAK,WAAW9E,EAAUC,EAASC,CAAU,GAAI,CAACC,GAAqBC,IAAwBsF,GAAU,mBAAmB,KAAK,MAAOnF,CAAM,CAAC,CACzP,CACJ,CAAG,EAAG,CAAC,CACH,IAAK,2BACL,MAAO,SAAkCoF,EAAWC,EAAW,CAC7D,OAAID,EAAU,cAAgBC,EAAU,gBAC/B,CACL,gBAAiBD,EAAU,YAC3B,UAAWA,EAAU,OACrB,YAAaA,EAAU,SACvB,WAAYC,EAAU,UACtB,aAAcA,EAAU,WAClC,EAEUD,EAAU,SAAWC,EAAU,WAAaD,EAAU,WAAaC,EAAU,YACxE,CACL,UAAWD,EAAU,OACrB,YAAaA,EAAU,QACjC,EAEa,IACT,CACJ,CAAG,CAAC,CACJ,EAAEE,GAAAA,aAAa,EACflJ,GAAQ2C,EACR3B,EAAgB2B,EAAM,cAAe,MAAM,EAC3C3B,EAAgB2B,EAAM,eAAgB,CACpC,OAAQ,UACR,KAAM,UACN,YAAa,GACb,QAAS,EACT,QAAS,EACT,WAAY,OACZ,aAAc,GAEd,OAAQ,CAAA,EACR,IAAK,GACL,UAAW,GACX,KAAM,GACN,kBAAmB,CAACwG,GAAO,MAC3B,eAAgB,EAChB,kBAAmB,KACnB,gBAAiB,MACnB,CAAC,EACDnI,EAAgB2B,EAAM,eAAgB,SAAUtB,EAAO+H,EAAMpB,EAAOC,EAAO,CACzE,IAAI3C,EAASjE,EAAM,OACjBgI,EAAiBhI,EAAM,UACrBiI,EAAgBF,EAAK,MAAM,UAI3BG,EAAYD,GAAqED,EACrF,GAAIrE,EAASuE,CAAS,GAAK,OAAOA,GAAc,SAC9C,OAAOA,EAET,IAAIC,EAAclE,IAAW,aAAe2C,EAAQD,EAChDyB,EAASD,EAAY,MAAM,OAAM,EACrC,GAAIA,EAAY,OAAS,SAAU,CACjC,IAAIE,EAAY,KAAK,IAAID,EAAO,CAAC,EAAGA,EAAO,CAAC,CAAC,EACzCE,EAAY,KAAK,IAAIF,EAAO,CAAC,EAAGA,EAAO,CAAC,CAAC,EAC7C,OAAIF,IAAc,UACTI,EAELJ,IAAc,WAGXG,EAAY,EAFVA,EAE0B,KAAK,IAAI,KAAK,IAAID,EAAO,CAAC,EAAGA,EAAO,CAAC,CAAC,EAAG,CAAC,CAC/E,CACA,OAAIF,IAAc,UACTE,EAAO,CAAC,EAEbF,IAAc,UACTE,EAAO,CAAC,EAEVA,EAAO,CAAC,CACjB,CAAC,EACDzI,EAAgB2B,EAAM,kBAAmB,SAAUiH,EAAO,CACxD,IAAIvI,EAAQuI,EAAM,MAChBR,EAAOQ,EAAM,KACb5B,EAAQ4B,EAAM,MACd3B,EAAQ2B,EAAM,MACdC,EAAaD,EAAM,WACnBE,EAAaF,EAAM,WACnBG,EAAWH,EAAM,SACjB/F,EAAU+F,EAAM,QAChBI,EAAcJ,EAAM,YACpBK,EAAiBL,EAAM,eACvBM,EAAgBN,EAAM,cACtBO,EAASP,EAAM,OACbtE,EAASjE,EAAM,OACf+I,EAAWJ,GAAeA,EAAY,OACtCT,EAAYvJ,GAAM,aAAaqB,EAAO+H,EAAMpB,EAAOC,CAAK,EACxDoC,EAAqB/E,IAAW,aAChCK,EAAU,GACV/B,EAASsG,EAAc,IAAI,SAAUhG,EAAOyC,EAAO,CACrD,IAAIlE,EACA2H,EACF3H,EAAQuH,EAAYC,EAAiBtD,CAAK,GAE1ClE,EAAQ6H,EAAkBpG,EAAOL,CAAO,EACnC,MAAM,QAAQpB,CAAK,EAGtBkD,EAAU,GAFVlD,EAAQ,CAAC8G,EAAW9G,CAAK,GAK7B,IAAI8H,EAAe9H,EAAM,CAAC,GAAK,MAAQ2H,GAAYE,EAAkBpG,EAAOL,CAAO,GAAK,KACxF,OAAIwG,EACK,CACL,EAAGG,EAAwB,CACzB,KAAMxC,EACN,MAAO6B,EACP,SAAUE,EACV,MAAO7F,EACP,MAAOyC,CACjB,CAAS,EACD,EAAG4D,EAAe,KAAOtC,EAAM,MAAMxF,EAAM,CAAC,CAAC,EAC7C,MAAOA,EACP,QAASyB,CACjB,EAEW,CACL,EAAGqG,EAAe,KAAOvC,EAAM,MAAMvF,EAAM,CAAC,CAAC,EAC7C,EAAG+H,EAAwB,CACzB,KAAMvC,EACN,MAAO6B,EACP,SAAUC,EACV,MAAO7F,EACP,MAAOyC,CACf,CAAO,EACD,MAAOlE,EACP,QAASyB,CACf,CACE,CAAC,EACGO,EACJ,OAAI2F,GAAYzE,EACdlB,EAAWb,EAAO,IAAI,SAAUM,EAAO,CACrC,IAAIuG,EAAI,MAAM,QAAQvG,EAAM,KAAK,EAAIA,EAAM,MAAM,CAAC,EAAI,KACtD,OAAImG,EACK,CACL,EAAGnG,EAAM,EACT,EAAGuG,GAAK,MAAQvG,EAAM,GAAK,KAAO+D,EAAM,MAAMwC,CAAC,EAAI,IAC7D,EAEa,CACL,EAAGA,GAAK,KAAOzC,EAAM,MAAMyC,CAAC,EAAI,KAChC,EAAGvG,EAAM,CACjB,CACI,CAAC,EAEDO,EAAW4F,EAAqBpC,EAAM,MAAMsB,CAAS,EAAIvB,EAAM,MAAMuB,CAAS,EAEzExI,EAAc,CACnB,OAAQ6C,EACR,SAAUa,EACV,OAAQa,EACR,QAASK,CACb,EAAKwE,CAAM,CACX,CAAC,EACDnJ,EAAgB2B,EAAM,gBAAiB,SAAU+H,EAAQrJ,EAAO,CAC9D,IAAIsJ,EACJ,GAAkBtG,EAAM,eAAeqG,CAAM,EAC3CC,EAAuBtG,EAAM,aAAaqG,EAAQrJ,CAAK,UAC9C8B,EAAWuH,CAAM,EAC1BC,EAAUD,EAAOrJ,CAAK,MACjB,CACL,IAAIwG,EAAYQ,GAAK,oBAAqB,OAAOqC,GAAW,UAAYA,EAAO,UAAY,EAAE,EACzFlK,EAAMa,EAAM,IACduJ,EAAOzK,GAAyBkB,EAAOtB,EAAU,EACnD4K,EAAuBtG,EAAM,cAAcwG,GAAKlK,EAAS,CAAA,EAAIiK,EAAM,CACjE,IAAKpK,EACL,UAAWqH,CACjB,CAAK,CAAC,CACJ,CACA,OAAO8C,CACT,CAAC,ECthBS,IAACG,GAAYC,GAAyB,CAC9C,UAAW,YACX,eAAgBpI,EAChB,eAAgB,CAAC,CACf,SAAU,QACV,SAAUqI,EACd,EAAK,CACD,SAAU,QACV,SAAUC,EACd,CAAG,EACD,cAAeC,EACjB,CAAC","x_google_ignoreList":[0,1]}
@@ -1,2 +1,2 @@
1
- import{g as a,L as e,X as i,Y as s,f as x,B as t}from"./generateCategoricalChart-_WpiJebf.js";var p=a({chartName:"LineChart",GraphicalChild:e,axisComponents:[{axisType:"xAxis",AxisComp:i},{axisType:"yAxis",AxisComp:s}],formatAxisMap:x}),o=a({chartName:"BarChart",GraphicalChild:t,defaultTooltipEventType:"axis",validateTooltipEventTypes:["axis","item"],axisComponents:[{axisType:"xAxis",AxisComp:i},{axisType:"yAxis",AxisComp:s}],formatAxisMap:x});export{o as B,p as L};
2
- //# sourceMappingURL=BarChart-DeTE0NXA.js.map
1
+ import{g as a,L as e,X as i,Y as s,f as x,B as t}from"./generateCategoricalChart-8AyWGIrK.js";var p=a({chartName:"LineChart",GraphicalChild:e,axisComponents:[{axisType:"xAxis",AxisComp:i},{axisType:"yAxis",AxisComp:s}],formatAxisMap:x}),o=a({chartName:"BarChart",GraphicalChild:t,defaultTooltipEventType:"axis",validateTooltipEventTypes:["axis","item"],axisComponents:[{axisType:"xAxis",AxisComp:i},{axisType:"yAxis",AxisComp:s}],formatAxisMap:x});export{o as B,p as L};
2
+ //# sourceMappingURL=BarChart-r_BFpd7a.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BarChart-DeTE0NXA.js","sources":["../../node_modules/recharts/es6/chart/LineChart.js","../../node_modules/recharts/es6/chart/BarChart.js"],"sourcesContent":["/**\n * @fileOverview Line Chart\n */\nimport { generateCategoricalChart } from './generateCategoricalChart';\nimport { Line } from '../cartesian/Line';\nimport { XAxis } from '../cartesian/XAxis';\nimport { YAxis } from '../cartesian/YAxis';\nimport { formatAxisMap } from '../util/CartesianUtils';\nexport var LineChart = generateCategoricalChart({\n chartName: 'LineChart',\n GraphicalChild: Line,\n axisComponents: [{\n axisType: 'xAxis',\n AxisComp: XAxis\n }, {\n axisType: 'yAxis',\n AxisComp: YAxis\n }],\n formatAxisMap: formatAxisMap\n});","/**\n * @fileOverview Bar Chart\n */\nimport { generateCategoricalChart } from './generateCategoricalChart';\nimport { Bar } from '../cartesian/Bar';\nimport { XAxis } from '../cartesian/XAxis';\nimport { YAxis } from '../cartesian/YAxis';\nimport { formatAxisMap } from '../util/CartesianUtils';\nexport var BarChart = generateCategoricalChart({\n chartName: 'BarChart',\n GraphicalChild: Bar,\n defaultTooltipEventType: 'axis',\n validateTooltipEventTypes: ['axis', 'item'],\n axisComponents: [{\n axisType: 'xAxis',\n AxisComp: XAxis\n }, {\n axisType: 'yAxis',\n AxisComp: YAxis\n }],\n formatAxisMap: formatAxisMap\n});"],"names":["LineChart","generateCategoricalChart","Line","XAxis","YAxis","formatAxisMap","BarChart","Bar"],"mappings":"8FAQU,IAACA,EAAYC,EAAyB,CAC9C,UAAW,YACX,eAAgBC,EAChB,eAAgB,CAAC,CACf,SAAU,QACV,SAAUC,CACd,EAAK,CACD,SAAU,QACV,SAAUC,CACd,CAAG,EACD,cAAeC,CACjB,CAAC,ECXUC,EAAWL,EAAyB,CAC7C,UAAW,WACX,eAAgBM,EAChB,wBAAyB,OACzB,0BAA2B,CAAC,OAAQ,MAAM,EAC1C,eAAgB,CAAC,CACf,SAAU,QACV,SAAUJ,CACd,EAAK,CACD,SAAU,QACV,SAAUC,CACd,CAAG,EACD,cAAeC,CACjB,CAAC","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"BarChart-r_BFpd7a.js","sources":["../../node_modules/recharts/es6/chart/LineChart.js","../../node_modules/recharts/es6/chart/BarChart.js"],"sourcesContent":["/**\n * @fileOverview Line Chart\n */\nimport { generateCategoricalChart } from './generateCategoricalChart';\nimport { Line } from '../cartesian/Line';\nimport { XAxis } from '../cartesian/XAxis';\nimport { YAxis } from '../cartesian/YAxis';\nimport { formatAxisMap } from '../util/CartesianUtils';\nexport var LineChart = generateCategoricalChart({\n chartName: 'LineChart',\n GraphicalChild: Line,\n axisComponents: [{\n axisType: 'xAxis',\n AxisComp: XAxis\n }, {\n axisType: 'yAxis',\n AxisComp: YAxis\n }],\n formatAxisMap: formatAxisMap\n});","/**\n * @fileOverview Bar Chart\n */\nimport { generateCategoricalChart } from './generateCategoricalChart';\nimport { Bar } from '../cartesian/Bar';\nimport { XAxis } from '../cartesian/XAxis';\nimport { YAxis } from '../cartesian/YAxis';\nimport { formatAxisMap } from '../util/CartesianUtils';\nexport var BarChart = generateCategoricalChart({\n chartName: 'BarChart',\n GraphicalChild: Bar,\n defaultTooltipEventType: 'axis',\n validateTooltipEventTypes: ['axis', 'item'],\n axisComponents: [{\n axisType: 'xAxis',\n AxisComp: XAxis\n }, {\n axisType: 'yAxis',\n AxisComp: YAxis\n }],\n formatAxisMap: formatAxisMap\n});"],"names":["LineChart","generateCategoricalChart","Line","XAxis","YAxis","formatAxisMap","BarChart","Bar"],"mappings":"8FAQU,IAACA,EAAYC,EAAyB,CAC9C,UAAW,YACX,eAAgBC,EAChB,eAAgB,CAAC,CACf,SAAU,QACV,SAAUC,CACd,EAAK,CACD,SAAU,QACV,SAAUC,CACd,CAAG,EACD,cAAeC,CACjB,CAAC,ECXUC,EAAWL,EAAyB,CAC7C,UAAW,WACX,eAAgBM,EAChB,wBAAyB,OACzB,0BAA2B,CAAC,OAAQ,MAAM,EAC1C,eAAgB,CAAC,CACf,SAAU,QACV,SAAUJ,CACd,EAAK,CACD,SAAU,QACV,SAAUC,CACd,CAAG,EACD,cAAeC,CACjB,CAAC","x_google_ignoreList":[0,1]}
@@ -1,2 +1,2 @@
1
- import{j as e,r as c,u as m,h as D,i as _,k as w,l as W,e as F}from"./index-DlHJ7LBL.js";import{C as O,T as G}from"./TimeSavedCard-qfwO1WJ3.js";import{b as u,c as v,d as B,e as K,f as x}from"./format-COjDIVGj.js";import{l as U}from"./pricing-DkYp8-vi.js";import{C as j,a as C,b as S,c as N}from"./card-CUipkgi9.js";import{B as V}from"./button-DPOwTRN8.js";import{M as Y}from"./MetricsCards-G4_uynTE.js";import{f as q}from"./client-extra-9lcKX-iO.js";import"./generateCategoricalChart-_WpiJebf.js";import"./BarChart-DeTE0NXA.js";import"./AreaChart-7ms8Hk1m.js";function A(t){return t>=80?"ov-stat-value-green":t>=50?"ov-stat-value-yellow":"ov-stat-value-red"}function z(t){return t==null?"":t>=0?"ov-stat-value-green":"ov-stat-value-red"}function n({label:t,value:a,className:s,title:l}){return e.jsxs("div",{className:"flex items-baseline justify-between border-b border-border py-1 text-sm",children:[e.jsx("span",{className:"text-xs text-muted-foreground",title:l,children:t}),e.jsx("span",{className:`font-semibold${s?` ${s}`:""}`,children:a})]})}function J(t){return e.jsxs(j,{className:"electric-hover",children:[e.jsx(C,{children:e.jsx(S,{children:"Provider Prompt Cache"})}),e.jsxs(N,{children:[e.jsx(n,{label:"Cache Hit Rate",value:`${t.hitPct.toFixed(1)}%`,className:A(t.hitPct)}),e.jsx(n,{label:"Turns Recorded",value:String(t.turnCount)}),e.jsx(n,{label:"Cache Read Tokens",value:u(t.totalCacheRead)}),e.jsx(n,{label:"Cache Write Tokens",value:u(t.totalCacheWrite)}),e.jsx(n,{label:"Input Tokens",value:u(t.totalInput)}),e.jsx(n,{label:"$ Saved (reads)",value:v(t.cacheReadSaved)}),e.jsx(n,{label:"Write Investment",value:v(t.cacheWriteCost)}),e.jsx(n,{label:"Net Saved",value:v(t.netSaved),className:z(t.netSaved)}),e.jsx(n,{label:"Model",value:t.modelLabel??"—"}),e.jsx(n,{label:"Tracked Since",value:B(t.firstTurnAt)}),e.jsx(n,{label:"Last Updated",value:K(t.latestTurnAt)}),t.byModel.length>0&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mt-2 text-xs font-semibold text-muted-foreground",children:"Per Model"}),t.byModel.map(a=>{const s=U(a.model),l=s!=null?a.totalCacheRead/1e6*s:null,r=s!=null?a.totalCacheWrite/1e6*s:null;return e.jsxs("div",{className:"mt-2",children:[e.jsx(n,{label:"Model",value:a.model}),e.jsx(n,{label:"Hit Rate",value:`${a.hitPct.toFixed(1)}%`,className:A(a.hitPct)}),e.jsx(n,{label:"Cache Read",value:u(a.totalCacheRead)}),e.jsx(n,{label:"Cache Write",value:u(a.totalCacheWrite)}),e.jsx(n,{label:"Samples",value:String(a.sampleCount)}),e.jsx(n,{label:"$ Saved (reads)",value:l!=null?v(l):"—"}),e.jsx(n,{label:"Write Investment",value:r!=null?v(r):"—"})]},a.model)})]})]})]})}const Q=["ov-bar-green","ov-bar-blue","ov-bar-teal","ov-bar-yellow","ov-bar-gray"],X=["Permanent","Epoch","Topic","Thread","Volatile"],Z={good:"ov-text-green",fair:"ov-text-yellow",degraded:"ov-text-orange",poor:"ov-text-red"};function ee({data:t}){const a=Math.max(...t.buckets.map(l=>l.count),1),s=Z[t.health.label]??"ov-text-gray";return e.jsxs("div",{className:"ov-card",children:[e.jsx("h3",{className:"ov-card-title",children:"Cache Stripe Distribution"}),e.jsxs("div",{className:"ov-stripe-health-summary",children:[e.jsx("span",{className:`ov-stripe-health-badge ${s}`,children:t.health.label}),e.jsx("span",{className:"ov-stripe-health-score",children:x(t.health.score)}),e.jsxs("span",{className:"ov-stripe-churn",children:["Churn: ",x(t.health.churnRate)]}),e.jsxs("span",{className:"ov-stripe-total",children:[t.totalChunks," total chunks"]})]}),e.jsx("div",{className:"ov-stripe-bars",children:t.buckets.map(l=>{const r=a>0?Math.max(0,Math.min(100,l.count/a*100)):0,i=Q[l.stripe]??"ov-bar-gray",o=l.label||(X[l.stripe]??`Stripe ${l.stripe}`);return e.jsxs("div",{className:"ov-stripe-row",children:[e.jsx("span",{className:"ov-stripe-label",title:o,children:o}),e.jsx("div",{className:"ov-bar-track",children:e.jsx("div",{className:`ov-bar-fill ${i}`,style:{width:`${r}%`}})}),e.jsx("span",{className:"ov-stripe-count",children:l.count}),e.jsx("span",{className:"ov-stripe-stability",title:`min ${x(l.minStability)} / max ${x(l.maxStability)}`,children:x(l.avgStability)})]},l.stripe)})}),e.jsxs("div",{className:"ov-stripe-footer",children:["Epoch: ",t.epochId??"—","· Dominant tier: ",x(t.health.dominantTier)]})]})}function g(t){return`${t.toFixed(1)}%`}function te(t){return t>=80?"ov-bar-green":t>=60?"ov-bar-teal":t>=40?"ov-bar-yellow":t>=20?"ov-bar-orange":"ov-bar-red"}const ae=({perf:t})=>{const{cache_hit_pct:a}=t,s=a.samples&&a.samples.length>0?a.samples:[];return e.jsxs(j,{className:"electric-hover",children:[e.jsx(C,{children:e.jsx(S,{children:"Cache Hit-Rate Trend"})}),e.jsxs(N,{children:[e.jsxs("div",{className:"mb-3 flex gap-4 text-sm text-muted-foreground",children:[e.jsxs("div",{children:["Avg: ",e.jsx("strong",{className:"text-foreground",children:g(a.avg)})]}),e.jsxs("div",{children:["Latest: ",e.jsx("strong",{className:"text-foreground",children:g(a.latest)})]}),e.jsxs("div",{children:["Samples: ",e.jsx("strong",{className:"text-foreground",children:a.n})]})]}),s.length>0?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"ov-sparkline",role:"img","aria-label":`Cache hit rate trend: ${a.n} samples, average ${g(a.avg)}, latest ${g(a.latest)}`,children:s.map((l,r)=>{const i=Math.max(2,Math.round(l.pct*.6)),o=te(l.pct),d=r===s.length-1;return e.jsx("div",{className:`ov-sparkline-bar ${o}${d?" ov-bar-latest":""}`,style:{height:`${i}px`},title:`${g(l.pct)} at ${new Date(l.ts).toLocaleTimeString()}`},r)})}),e.jsxs("div",{className:"mt-1 text-xs text-muted-foreground",children:[s.length," sample",s.length!==1?"s":""," over"," ",s.length>1?`${Math.round((s[s.length-1].ts-s[0].ts)/1e3)}s`:"latest turn"]})]}):e.jsx("div",{className:"text-sm text-muted-foreground",children:"No cache-hit samples yet"})]})]})};function T(t){return`${(t*100).toFixed(1)}%`}function se(t){const a=t*100;return a>=80?"ov-bar-green":a>=60?"ov-bar-teal":a>=40?"ov-bar-yellow":a>=20?"ov-bar-orange":"ov-bar-red"}const E={improving:"Improving",stable:"Stable",degrading:"Degrading"},le=({data:t})=>{const{turns:a,avgRatio:s,trend:l}=t;return e.jsxs(j,{className:"electric-hover",children:[e.jsx(C,{children:e.jsx(S,{children:"Per-Turn Stable Prefix"})}),e.jsxs(N,{children:[e.jsxs("div",{className:"mb-3 flex gap-4 text-sm text-muted-foreground",children:[e.jsxs("div",{children:["Avg:"," ",e.jsx("strong",{className:"text-foreground",children:T(s)})]}),e.jsxs("div",{children:["Trend:"," ",e.jsx("strong",{className:"text-foreground",children:E[l]})]}),e.jsxs("div",{children:["Turns: ",e.jsx("strong",{className:"text-foreground",children:a.length})]})]}),a.length>0?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"ov-sparkline",role:"img","aria-label":`Per-turn stable-prefix ratio trend: ${a.length} turns, average ${T(s)}, trend ${E[l]}`,children:a.map((r,i)=>{const o=Math.max(2,Math.round(r.ratio*60)),d=se(r.ratio),p=i===a.length-1;return e.jsx("div",{className:`ov-sparkline-bar ${d}${p?" ov-bar-latest":""}`,style:{height:`${o}px`},title:`Turn ${r.turnIndex}: ${T(r.ratio)} (${r.stablePrefix}/${r.totalMessages} msg) @ ${new Date(r.timestamp).toLocaleTimeString()}`},i)})}),e.jsx("div",{className:"mt-1 text-xs text-muted-foreground",children:"Shared prompt-cache prefix ratio per turn — higher is better."})]}):e.jsx("div",{className:"text-sm text-muted-foreground",children:"No stable-prefix samples yet"})]})]})},re="MEGACOMPACT_DASH_0C";function ne(t){if(!t)return!1;for(const a of t.categories)for(const s of a.settings)if(s.key===re&&s.type==="boolean")return s.value===!0;return!1}function be(){const[t,a]=c.useState(!1),{data:s,loading:l,error:r}=m(c.useCallback(()=>D(),[]),{pollInterval:5e3}),{data:i,loading:o,error:d}=m(c.useCallback(()=>_(),[]),{pollInterval:15e3}),{data:p,loading:L,error:y}=m(c.useCallback(()=>w({minutes:30}),[]),{pollInterval:15e3}),{data:P,loading:M}=m(c.useCallback(()=>q(50),[]),{pollInterval:15e3}),{data:h,loading:H,error:$}=m(c.useCallback(()=>W(),[]),{pollInterval:5e3}),{data:k}=m(c.useCallback(()=>F(),[]),{pollInterval:0,maxRetries:0}),I=ne(k);return e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs("div",{children:[e.jsx(V,{type:"button",variant:"outline",onClick:()=>a(!t),children:t?"Hide Guidance":"Show Cache-Friendly Prompt Ordering Guidance"}),t&&e.jsxs(j,{className:"mt-3",children:[e.jsx(C,{children:e.jsx(S,{children:"Cache-Friendly Prompt Ordering"})}),e.jsxs(N,{children:[e.jsxs("ul",{className:"list-disc space-y-1 pl-5",children:[e.jsx("li",{children:"Keep system prompts and stable context at the top of your conversation — the provider caches the leading prefix."}),e.jsxs("li",{children:["Tool results and volatile content are automatically moved to the tail by message separation (",e.jsx("code",{children:"MEGACOMPACT_MESSAGE_SEPARATION"}),") so they don't invalidate the cache prefix."]}),e.jsxs("li",{children:["Cache striping (",e.jsx("code",{children:"MEGACOMPACT_CACHE_STRIPING"}),") further orders stable context by a stability score so the most durable chunks lead."]}),e.jsx("li",{children:"Avoid inserting new instructions mid-conversation — prepend them instead."})]}),h&&e.jsxs("div",{className:"mt-2 text-sm",children:[e.jsx("strong",{children:"Status:"})," ",h.config.auto?"Auto-compaction Enabled":"Auto-compaction Disabled"," |"," ","fast-gate ",h.config.fastGatePct,"% / threshold"," ",h.config.thresholdTokens.toLocaleString()," tokens"]})]})]})]}),e.jsx("h2",{className:"font-heading text-lg font-semibold",children:"Provider Prompt Cache"}),l?e.jsx("p",{className:"tab-stub",children:"Loading..."}):r?e.jsxs("p",{className:"tab-stub",children:["Provider cache unavailable: ",r.message]}):s?e.jsx(J,{hitPct:s.cache.avgHitPct,turnCount:s.cache.turnCount,totalCacheRead:s.cache.totalCacheRead,totalCacheWrite:s.cache.totalCacheWrite,totalInput:s.cache.totalInput,cacheReadSaved:s.savings?.cacheReadSaved??null,cacheWriteCost:s.savings?.cacheWriteCost??null,netSaved:s.savings?.netSaved??null,modelLabel:s.savings?.model??null,firstTurnAt:s.cache.firstTurnAt,latestTurnAt:s.cache.latestTurnAt,byModel:s.cache.byModel??[]}):null,e.jsx("h2",{className:"font-heading text-lg font-semibold",children:"Cache Stripe Distribution"}),o?e.jsx("p",{className:"tab-stub",children:"Loading..."}):d?e.jsxs("p",{className:"tab-stub",children:["Cache stripe data unavailable: ",d.message]}):i?e.jsx(ee,{data:i}):null,e.jsx("h2",{className:"font-heading text-lg font-semibold",children:"Cache Hit-Rate Trend"}),L?e.jsx("p",{className:"tab-stub",children:"Loading..."}):y?e.jsxs("p",{className:"tab-stub",children:["Hit-rate trend unavailable: ",y.message]}):p?e.jsx(ae,{perf:p}):null,P&&!M?e.jsxs("div",{children:[e.jsx("h2",{className:"font-heading text-lg font-semibold",children:"Per-Turn Stable Prefix"}),e.jsx(le,{data:P})]}):null,e.jsx("h2",{className:"font-heading text-lg font-semibold",children:"Mega-Compact Dedup Cache"}),H?e.jsx("p",{className:"tab-stub",children:"Loading..."}):$?e.jsxs("p",{className:"tab-stub",children:["Snapshot unavailable: ",$.message]}):h&&(()=>{const{cacheHits:b,compacts:R,timeSaved:f}=h;return e.jsxs("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 xl:grid-cols-3",children:[e.jsx(O,{cacheHitsSession:b.session,cacheHitsTotal:b.total,tokensSavedSession:b.sessionTokensSaved,tokensSavedTotal:b.totalTokensSaved,compactionsSession:R.session,compactionsTotal:R.total}),e.jsx(G,{compactSessionSec:f.compact.sessionSec,compactTotalSec:f.compact.totalSec,cacheHitSessionSec:f.cacheHit.sessionSec,cacheHitTotalSec:f.cacheHit.totalSec})]})})(),I&&e.jsxs("section",{"aria-labelledby":"cache-perf-cards",children:[e.jsx("h2",{id:"cache-perf-cards",className:"font-heading text-lg font-semibold",children:"Performance"}),e.jsx(Y,{})]})]})}export{be as default};
2
- //# sourceMappingURL=CacheTab-CpIrpr_X.js.map
1
+ import{j as e,r as c,u as m,h as D,i as _,k as w,l as W,e as F}from"./index-BBJ8LglL.js";import{C as O,T as G}from"./TimeSavedCard-Dlhljae9.js";import{b as u,c as v,d as B,e as K,f as x}from"./format-COjDIVGj.js";import{l as U}from"./pricing-DkYp8-vi.js";import{C as j,a as C,b as S,c as N}from"./card-DtOD33bZ.js";import{B as V}from"./button-CUeN3VyF.js";import{M as Y}from"./MetricsCards-CprVx2Yq.js";import{f as q}from"./client-extra-_tIKSPZ3.js";import"./generateCategoricalChart-8AyWGIrK.js";import"./BarChart-r_BFpd7a.js";import"./AreaChart-D4EY7yiY.js";function A(t){return t>=80?"ov-stat-value-green":t>=50?"ov-stat-value-yellow":"ov-stat-value-red"}function z(t){return t==null?"":t>=0?"ov-stat-value-green":"ov-stat-value-red"}function n({label:t,value:a,className:s,title:l}){return e.jsxs("div",{className:"flex items-baseline justify-between border-b border-border py-1 text-sm",children:[e.jsx("span",{className:"text-xs text-muted-foreground",title:l,children:t}),e.jsx("span",{className:`font-semibold${s?` ${s}`:""}`,children:a})]})}function J(t){return e.jsxs(j,{className:"electric-hover",children:[e.jsx(C,{children:e.jsx(S,{children:"Provider Prompt Cache"})}),e.jsxs(N,{children:[e.jsx(n,{label:"Cache Hit Rate",value:`${t.hitPct.toFixed(1)}%`,className:A(t.hitPct)}),e.jsx(n,{label:"Turns Recorded",value:String(t.turnCount)}),e.jsx(n,{label:"Cache Read Tokens",value:u(t.totalCacheRead)}),e.jsx(n,{label:"Cache Write Tokens",value:u(t.totalCacheWrite)}),e.jsx(n,{label:"Input Tokens",value:u(t.totalInput)}),e.jsx(n,{label:"$ Saved (reads)",value:v(t.cacheReadSaved)}),e.jsx(n,{label:"Write Investment",value:v(t.cacheWriteCost)}),e.jsx(n,{label:"Net Saved",value:v(t.netSaved),className:z(t.netSaved)}),e.jsx(n,{label:"Model",value:t.modelLabel??"—"}),e.jsx(n,{label:"Tracked Since",value:B(t.firstTurnAt)}),e.jsx(n,{label:"Last Updated",value:K(t.latestTurnAt)}),t.byModel.length>0&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mt-2 text-xs font-semibold text-muted-foreground",children:"Per Model"}),t.byModel.map(a=>{const s=U(a.model),l=s!=null?a.totalCacheRead/1e6*s:null,r=s!=null?a.totalCacheWrite/1e6*s:null;return e.jsxs("div",{className:"mt-2",children:[e.jsx(n,{label:"Model",value:a.model}),e.jsx(n,{label:"Hit Rate",value:`${a.hitPct.toFixed(1)}%`,className:A(a.hitPct)}),e.jsx(n,{label:"Cache Read",value:u(a.totalCacheRead)}),e.jsx(n,{label:"Cache Write",value:u(a.totalCacheWrite)}),e.jsx(n,{label:"Samples",value:String(a.sampleCount)}),e.jsx(n,{label:"$ Saved (reads)",value:l!=null?v(l):"—"}),e.jsx(n,{label:"Write Investment",value:r!=null?v(r):"—"})]},a.model)})]})]})]})}const Q=["ov-bar-green","ov-bar-blue","ov-bar-teal","ov-bar-yellow","ov-bar-gray"],X=["Permanent","Epoch","Topic","Thread","Volatile"],Z={good:"ov-text-green",fair:"ov-text-yellow",degraded:"ov-text-orange",poor:"ov-text-red"};function ee({data:t}){const a=Math.max(...t.buckets.map(l=>l.count),1),s=Z[t.health.label]??"ov-text-gray";return e.jsxs("div",{className:"ov-card",children:[e.jsx("h3",{className:"ov-card-title",children:"Cache Stripe Distribution"}),e.jsxs("div",{className:"ov-stripe-health-summary",children:[e.jsx("span",{className:`ov-stripe-health-badge ${s}`,children:t.health.label}),e.jsx("span",{className:"ov-stripe-health-score",children:x(t.health.score)}),e.jsxs("span",{className:"ov-stripe-churn",children:["Churn: ",x(t.health.churnRate)]}),e.jsxs("span",{className:"ov-stripe-total",children:[t.totalChunks," total chunks"]})]}),e.jsx("div",{className:"ov-stripe-bars",children:t.buckets.map(l=>{const r=a>0?Math.max(0,Math.min(100,l.count/a*100)):0,i=Q[l.stripe]??"ov-bar-gray",o=l.label||(X[l.stripe]??`Stripe ${l.stripe}`);return e.jsxs("div",{className:"ov-stripe-row",children:[e.jsx("span",{className:"ov-stripe-label",title:o,children:o}),e.jsx("div",{className:"ov-bar-track",children:e.jsx("div",{className:`ov-bar-fill ${i}`,style:{width:`${r}%`}})}),e.jsx("span",{className:"ov-stripe-count",children:l.count}),e.jsx("span",{className:"ov-stripe-stability",title:`min ${x(l.minStability)} / max ${x(l.maxStability)}`,children:x(l.avgStability)})]},l.stripe)})}),e.jsxs("div",{className:"ov-stripe-footer",children:["Epoch: ",t.epochId??"—","· Dominant tier: ",x(t.health.dominantTier)]})]})}function g(t){return`${t.toFixed(1)}%`}function te(t){return t>=80?"ov-bar-green":t>=60?"ov-bar-teal":t>=40?"ov-bar-yellow":t>=20?"ov-bar-orange":"ov-bar-red"}const ae=({perf:t})=>{const{cache_hit_pct:a}=t,s=a.samples&&a.samples.length>0?a.samples:[];return e.jsxs(j,{className:"electric-hover",children:[e.jsx(C,{children:e.jsx(S,{children:"Cache Hit-Rate Trend"})}),e.jsxs(N,{children:[e.jsxs("div",{className:"mb-3 flex gap-4 text-sm text-muted-foreground",children:[e.jsxs("div",{children:["Avg: ",e.jsx("strong",{className:"text-foreground",children:g(a.avg)})]}),e.jsxs("div",{children:["Latest: ",e.jsx("strong",{className:"text-foreground",children:g(a.latest)})]}),e.jsxs("div",{children:["Samples: ",e.jsx("strong",{className:"text-foreground",children:a.n})]})]}),s.length>0?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"ov-sparkline",role:"img","aria-label":`Cache hit rate trend: ${a.n} samples, average ${g(a.avg)}, latest ${g(a.latest)}`,children:s.map((l,r)=>{const i=Math.max(2,Math.round(l.pct*.6)),o=te(l.pct),d=r===s.length-1;return e.jsx("div",{className:`ov-sparkline-bar ${o}${d?" ov-bar-latest":""}`,style:{height:`${i}px`},title:`${g(l.pct)} at ${new Date(l.ts).toLocaleTimeString()}`},r)})}),e.jsxs("div",{className:"mt-1 text-xs text-muted-foreground",children:[s.length," sample",s.length!==1?"s":""," over"," ",s.length>1?`${Math.round((s[s.length-1].ts-s[0].ts)/1e3)}s`:"latest turn"]})]}):e.jsx("div",{className:"text-sm text-muted-foreground",children:"No cache-hit samples yet"})]})]})};function T(t){return`${(t*100).toFixed(1)}%`}function se(t){const a=t*100;return a>=80?"ov-bar-green":a>=60?"ov-bar-teal":a>=40?"ov-bar-yellow":a>=20?"ov-bar-orange":"ov-bar-red"}const E={improving:"Improving",stable:"Stable",degrading:"Degrading"},le=({data:t})=>{const{turns:a,avgRatio:s,trend:l}=t;return e.jsxs(j,{className:"electric-hover",children:[e.jsx(C,{children:e.jsx(S,{children:"Per-Turn Stable Prefix"})}),e.jsxs(N,{children:[e.jsxs("div",{className:"mb-3 flex gap-4 text-sm text-muted-foreground",children:[e.jsxs("div",{children:["Avg:"," ",e.jsx("strong",{className:"text-foreground",children:T(s)})]}),e.jsxs("div",{children:["Trend:"," ",e.jsx("strong",{className:"text-foreground",children:E[l]})]}),e.jsxs("div",{children:["Turns: ",e.jsx("strong",{className:"text-foreground",children:a.length})]})]}),a.length>0?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"ov-sparkline",role:"img","aria-label":`Per-turn stable-prefix ratio trend: ${a.length} turns, average ${T(s)}, trend ${E[l]}`,children:a.map((r,i)=>{const o=Math.max(2,Math.round(r.ratio*60)),d=se(r.ratio),p=i===a.length-1;return e.jsx("div",{className:`ov-sparkline-bar ${d}${p?" ov-bar-latest":""}`,style:{height:`${o}px`},title:`Turn ${r.turnIndex}: ${T(r.ratio)} (${r.stablePrefix}/${r.totalMessages} msg) @ ${new Date(r.timestamp).toLocaleTimeString()}`},i)})}),e.jsx("div",{className:"mt-1 text-xs text-muted-foreground",children:"Shared prompt-cache prefix ratio per turn — higher is better."})]}):e.jsx("div",{className:"text-sm text-muted-foreground",children:"No stable-prefix samples yet"})]})]})},re="MEGACOMPACT_DASH_0C";function ne(t){if(!t)return!1;for(const a of t.categories)for(const s of a.settings)if(s.key===re&&s.type==="boolean")return s.value===!0;return!1}function be(){const[t,a]=c.useState(!1),{data:s,loading:l,error:r}=m(c.useCallback(()=>D(),[]),{pollInterval:5e3}),{data:i,loading:o,error:d}=m(c.useCallback(()=>_(),[]),{pollInterval:15e3}),{data:p,loading:L,error:y}=m(c.useCallback(()=>w({minutes:30}),[]),{pollInterval:15e3}),{data:P,loading:M}=m(c.useCallback(()=>q(50),[]),{pollInterval:15e3}),{data:h,loading:H,error:$}=m(c.useCallback(()=>W(),[]),{pollInterval:5e3}),{data:k}=m(c.useCallback(()=>F(),[]),{pollInterval:0,maxRetries:0}),I=ne(k);return e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs("div",{children:[e.jsx(V,{type:"button",variant:"outline",onClick:()=>a(!t),children:t?"Hide Guidance":"Show Cache-Friendly Prompt Ordering Guidance"}),t&&e.jsxs(j,{className:"mt-3",children:[e.jsx(C,{children:e.jsx(S,{children:"Cache-Friendly Prompt Ordering"})}),e.jsxs(N,{children:[e.jsxs("ul",{className:"list-disc space-y-1 pl-5",children:[e.jsx("li",{children:"Keep system prompts and stable context at the top of your conversation — the provider caches the leading prefix."}),e.jsxs("li",{children:["Tool results and volatile content are automatically moved to the tail by message separation (",e.jsx("code",{children:"MEGACOMPACT_MESSAGE_SEPARATION"}),") so they don't invalidate the cache prefix."]}),e.jsxs("li",{children:["Cache striping (",e.jsx("code",{children:"MEGACOMPACT_CACHE_STRIPING"}),") further orders stable context by a stability score so the most durable chunks lead."]}),e.jsx("li",{children:"Avoid inserting new instructions mid-conversation — prepend them instead."})]}),h&&e.jsxs("div",{className:"mt-2 text-sm",children:[e.jsx("strong",{children:"Status:"})," ",h.config.auto?"Auto-compaction Enabled":"Auto-compaction Disabled"," |"," ","fast-gate ",h.config.fastGatePct,"% / threshold"," ",h.config.thresholdTokens.toLocaleString()," tokens"]})]})]})]}),e.jsx("h2",{className:"font-heading text-lg font-semibold",children:"Provider Prompt Cache"}),l?e.jsx("p",{className:"tab-stub",children:"Loading..."}):r?e.jsxs("p",{className:"tab-stub",children:["Provider cache unavailable: ",r.message]}):s?e.jsx(J,{hitPct:s.cache.avgHitPct,turnCount:s.cache.turnCount,totalCacheRead:s.cache.totalCacheRead,totalCacheWrite:s.cache.totalCacheWrite,totalInput:s.cache.totalInput,cacheReadSaved:s.savings?.cacheReadSaved??null,cacheWriteCost:s.savings?.cacheWriteCost??null,netSaved:s.savings?.netSaved??null,modelLabel:s.savings?.model??null,firstTurnAt:s.cache.firstTurnAt,latestTurnAt:s.cache.latestTurnAt,byModel:s.cache.byModel??[]}):null,e.jsx("h2",{className:"font-heading text-lg font-semibold",children:"Cache Stripe Distribution"}),o?e.jsx("p",{className:"tab-stub",children:"Loading..."}):d?e.jsxs("p",{className:"tab-stub",children:["Cache stripe data unavailable: ",d.message]}):i?e.jsx(ee,{data:i}):null,e.jsx("h2",{className:"font-heading text-lg font-semibold",children:"Cache Hit-Rate Trend"}),L?e.jsx("p",{className:"tab-stub",children:"Loading..."}):y?e.jsxs("p",{className:"tab-stub",children:["Hit-rate trend unavailable: ",y.message]}):p?e.jsx(ae,{perf:p}):null,P&&!M?e.jsxs("div",{children:[e.jsx("h2",{className:"font-heading text-lg font-semibold",children:"Per-Turn Stable Prefix"}),e.jsx(le,{data:P})]}):null,e.jsx("h2",{className:"font-heading text-lg font-semibold",children:"Mega-Compact Dedup Cache"}),H?e.jsx("p",{className:"tab-stub",children:"Loading..."}):$?e.jsxs("p",{className:"tab-stub",children:["Snapshot unavailable: ",$.message]}):h&&(()=>{const{cacheHits:b,compacts:R,timeSaved:f}=h;return e.jsxs("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 xl:grid-cols-3",children:[e.jsx(O,{cacheHitsSession:b.session,cacheHitsTotal:b.total,tokensSavedSession:b.sessionTokensSaved,tokensSavedTotal:b.totalTokensSaved,compactionsSession:R.session,compactionsTotal:R.total}),e.jsx(G,{compactSessionSec:f.compact.sessionSec,compactTotalSec:f.compact.totalSec,cacheHitSessionSec:f.cacheHit.sessionSec,cacheHitTotalSec:f.cacheHit.totalSec})]})})(),I&&e.jsxs("section",{"aria-labelledby":"cache-perf-cards",children:[e.jsx("h2",{id:"cache-perf-cards",className:"font-heading text-lg font-semibold",children:"Performance"}),e.jsx(Y,{})]})]})}export{be as default};
2
+ //# sourceMappingURL=CacheTab-Bf5rwce6.js.map