pi-mega-compact 0.20.81 → 0.20.83

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 (103) hide show
  1. package/dist/extensions/dashboard-server/routes-rag-settings-helpers.js +0 -1
  2. package/dist/extensions/mega-config.js +0 -2
  3. package/dist/extensions/mega-events/agent-handlers/turnEndHandler/recordTurnRow.js +0 -17
  4. package/dist/extensions/mega-events/register.js +0 -3
  5. package/extensions/dashboard-client/dist/assets/{AdminTab-BTCZLMCc.js → AdminTab-BsA8-_bX.js} +2 -2
  6. package/extensions/dashboard-client/dist/assets/{AdminTab-BTCZLMCc.js.map → AdminTab-BsA8-_bX.js.map} +1 -1
  7. package/extensions/dashboard-client/dist/assets/{AreaChart-BTMI0QnR.js → AreaChart-BRHEfWhc.js} +2 -2
  8. package/extensions/dashboard-client/dist/assets/{AreaChart-BTMI0QnR.js.map → AreaChart-BRHEfWhc.js.map} +1 -1
  9. package/extensions/dashboard-client/dist/assets/{BarChart-C1F8wLM3.js → BarChart-C-M0LaFc.js} +2 -2
  10. package/extensions/dashboard-client/dist/assets/{BarChart-C1F8wLM3.js.map → BarChart-C-M0LaFc.js.map} +1 -1
  11. package/extensions/dashboard-client/dist/assets/{CacheTab-ORjrhSbZ.js → CacheTab-Cj3n59U3.js} +2 -2
  12. package/extensions/dashboard-client/dist/assets/{CacheTab-ORjrhSbZ.js.map → CacheTab-Cj3n59U3.js.map} +1 -1
  13. package/extensions/dashboard-client/dist/assets/{ConfigTab-CtXVSxD_.js → ConfigTab-C016XTNC.js} +2 -2
  14. package/extensions/dashboard-client/dist/assets/{ConfigTab-CtXVSxD_.js.map → ConfigTab-C016XTNC.js.map} +1 -1
  15. package/extensions/dashboard-client/dist/assets/{EventsTab-DQdwa9IB.js → EventsTab-DE29fuqe.js} +2 -2
  16. package/extensions/dashboard-client/dist/assets/{EventsTab-DQdwa9IB.js.map → EventsTab-DE29fuqe.js.map} +1 -1
  17. package/extensions/dashboard-client/dist/assets/{HealthTab-BpVO7BeO.js → HealthTab-D4eVI8ar.js} +2 -2
  18. package/extensions/dashboard-client/dist/assets/{HealthTab-BpVO7BeO.js.map → HealthTab-D4eVI8ar.js.map} +1 -1
  19. package/extensions/dashboard-client/dist/assets/{MaintenanceTab-Cl9mWaR8.js → MaintenanceTab-4fJ7M4S4.js} +2 -2
  20. package/extensions/dashboard-client/dist/assets/{MaintenanceTab-Cl9mWaR8.js.map → MaintenanceTab-4fJ7M4S4.js.map} +1 -1
  21. package/extensions/dashboard-client/dist/assets/{MemoryMapTab-D3kIPeCy.js → MemoryMapTab-CDbcK9e4.js} +2 -2
  22. package/extensions/dashboard-client/dist/assets/{MemoryMapTab-D3kIPeCy.js.map → MemoryMapTab-CDbcK9e4.js.map} +1 -1
  23. package/extensions/dashboard-client/dist/assets/{MetricsCards-Cu1zDkfm.js → MetricsCards-VUEcgGzo.js} +2 -2
  24. package/extensions/dashboard-client/dist/assets/{MetricsCards-Cu1zDkfm.js.map → MetricsCards-VUEcgGzo.js.map} +1 -1
  25. package/extensions/dashboard-client/dist/assets/MetricsTab-CKqJ0Zl-.js +2 -0
  26. package/extensions/dashboard-client/dist/assets/{MetricsTab-BAvMzWuF.js.map → MetricsTab-CKqJ0Zl-.js.map} +1 -1
  27. package/extensions/dashboard-client/dist/assets/OverviewTab-9Kxo79mi.js +16 -0
  28. package/extensions/dashboard-client/dist/assets/OverviewTab-9Kxo79mi.js.map +1 -0
  29. package/extensions/dashboard-client/dist/assets/{ReposTab-BUESjauJ.js → ReposTab-C4iveqrP.js} +2 -2
  30. package/extensions/dashboard-client/dist/assets/{ReposTab-BUESjauJ.js.map → ReposTab-C4iveqrP.js.map} +1 -1
  31. package/extensions/dashboard-client/dist/assets/{SessionsTab-DyJmQ_78.js → SessionsTab-DSEwkMQm.js} +2 -2
  32. package/extensions/dashboard-client/dist/assets/{SessionsTab-DyJmQ_78.js.map → SessionsTab-DSEwkMQm.js.map} +1 -1
  33. package/extensions/dashboard-client/dist/assets/{SetupTab-q8wYL5A-.js → SetupTab-CCyWgy4O.js} +2 -2
  34. package/extensions/dashboard-client/dist/assets/{SetupTab-q8wYL5A-.js.map → SetupTab-CCyWgy4O.js.map} +1 -1
  35. package/extensions/dashboard-client/dist/assets/{TimeSavedCard-DIRH1Pq7.js → TimeSavedCard-CyD8e_e_.js} +2 -2
  36. package/extensions/dashboard-client/dist/assets/{TimeSavedCard-DIRH1Pq7.js.map → TimeSavedCard-CyD8e_e_.js.map} +1 -1
  37. package/extensions/dashboard-client/dist/assets/{TurnMemoryView-CrYSOcZX.js → TurnMemoryView-5tLbWkRv.js} +2 -2
  38. package/extensions/dashboard-client/dist/assets/{TurnMemoryView-CrYSOcZX.js.map → TurnMemoryView-5tLbWkRv.js.map} +1 -1
  39. package/extensions/dashboard-client/dist/assets/TurnsTab-C7pm92Hg.js +2 -0
  40. package/extensions/dashboard-client/dist/assets/{TurnsTab-C0jARSvU.js.map → TurnsTab-C7pm92Hg.js.map} +1 -1
  41. package/extensions/dashboard-client/dist/assets/{VcStatusBadge-D83Fz939.js → VcStatusBadge-ObhcIyfN.js} +2 -2
  42. package/extensions/dashboard-client/dist/assets/{VcStatusBadge-D83Fz939.js.map → VcStatusBadge-ObhcIyfN.js.map} +1 -1
  43. package/extensions/dashboard-client/dist/assets/{VectorCortexTab-BFXh5Nu7.js → VectorCortexTab-BtHZb7o7.js} +2 -2
  44. package/extensions/dashboard-client/dist/assets/{VectorCortexTab-BFXh5Nu7.js.map → VectorCortexTab-BtHZb7o7.js.map} +1 -1
  45. package/extensions/dashboard-client/dist/assets/{WikiTab-CEdJXkou.js → WikiTab-lQ4l3QIK.js} +2 -2
  46. package/extensions/dashboard-client/dist/assets/{WikiTab-CEdJXkou.js.map → WikiTab-lQ4l3QIK.js.map} +1 -1
  47. package/extensions/dashboard-client/dist/assets/{button-BlRKWQsj.js → button-DhQQAJGm.js} +2 -2
  48. package/extensions/dashboard-client/dist/assets/{button-BlRKWQsj.js.map → button-DhQQAJGm.js.map} +1 -1
  49. package/extensions/dashboard-client/dist/assets/{card-Cx6WA_2T.js → card-Cfhz9X31.js} +2 -2
  50. package/extensions/dashboard-client/dist/assets/{card-Cx6WA_2T.js.map → card-Cfhz9X31.js.map} +1 -1
  51. package/extensions/dashboard-client/dist/assets/{client-extra-BRFScIiK.js → client-extra-CKNOGEz_.js} +2 -2
  52. package/extensions/dashboard-client/dist/assets/{client-extra-BRFScIiK.js.map → client-extra-CKNOGEz_.js.map} +1 -1
  53. package/extensions/dashboard-client/dist/assets/{generateCategoricalChart-DrkPNaOf.js → generateCategoricalChart-JKjK9_cB.js} +2 -2
  54. package/extensions/dashboard-client/dist/assets/{generateCategoricalChart-DrkPNaOf.js.map → generateCategoricalChart-JKjK9_cB.js.map} +1 -1
  55. package/extensions/dashboard-client/dist/assets/{index-DUnKr3wN.js → index-iuxgtzEW.js} +6 -6
  56. package/extensions/dashboard-client/dist/assets/index-iuxgtzEW.js.map +1 -0
  57. package/extensions/dashboard-client/dist/assets/{switch-Wr0u4HKw.js → switch-7EHEQMSP.js} +2 -2
  58. package/extensions/dashboard-client/dist/assets/{switch-Wr0u4HKw.js.map → switch-7EHEQMSP.js.map} +1 -1
  59. package/extensions/dashboard-client/dist/assets/{toggle-C_eSNeMT.js → toggle-z1lWY4UM.js} +2 -2
  60. package/extensions/dashboard-client/dist/assets/{toggle-C_eSNeMT.js.map → toggle-z1lWY4UM.js.map} +1 -1
  61. package/extensions/dashboard-client/dist/assets/{useSSE-C_oFqrwF.js → useSSE-sctOZuRM.js} +2 -2
  62. package/extensions/dashboard-client/dist/assets/{useSSE-C_oFqrwF.js.map → useSSE-sctOZuRM.js.map} +1 -1
  63. package/extensions/dashboard-client/dist/index.html +1 -1
  64. package/extensions/dashboard-client/src/App.tsx +1 -11
  65. package/extensions/dashboard-client/src/components/RepoContextStack.tsx +21 -28
  66. package/extensions/dashboard-client/src/tabs/dashHashRouter.ts +1 -31
  67. package/extensions/dashboard-server/routes-rag-settings-helpers.ts +0 -6
  68. package/extensions/mega-config-types.ts +0 -3
  69. package/extensions/mega-config.ts +0 -2
  70. package/extensions/mega-events/agent-handlers/turnEndHandler/recordTurnRow.ts +0 -17
  71. package/extensions/mega-events/register.ts +0 -3
  72. package/package.json +1 -1
  73. package/dist/extensions/mega-events/analytics-handler.js +0 -169
  74. package/dist/src/store/analytics/connection.js +0 -114
  75. package/dist/src/store/analytics/contract-compliance.test/_helpers.js +0 -39
  76. package/dist/src/store/analytics/index.js +0 -25
  77. package/dist/src/store/analytics/memory-store.js +0 -111
  78. package/dist/src/store/analytics/schema.js +0 -108
  79. package/dist/src/store/analytics/sqlite-store/admin.js +0 -84
  80. package/dist/src/store/analytics/sqlite-store/ctx.js +0 -1
  81. package/dist/src/store/analytics/sqlite-store/read.js +0 -25
  82. package/dist/src/store/analytics/sqlite-store/rows.js +0 -44
  83. package/dist/src/store/analytics/sqlite-store/write.js +0 -90
  84. package/dist/src/store/analytics/sqlite-store.js +0 -79
  85. package/dist/src/store/analytics/types.js +0 -17
  86. package/extensions/dashboard-client/dist/assets/MetricsTab-BAvMzWuF.js +0 -2
  87. package/extensions/dashboard-client/dist/assets/OverviewTab-CouEq0qi.js +0 -16
  88. package/extensions/dashboard-client/dist/assets/OverviewTab-CouEq0qi.js.map +0 -1
  89. package/extensions/dashboard-client/dist/assets/TurnsTab-C0jARSvU.js +0 -2
  90. package/extensions/dashboard-client/dist/assets/index-DUnKr3wN.js.map +0 -1
  91. package/extensions/mega-events/analytics-handler.ts +0 -236
  92. package/src/store/analytics/connection.ts +0 -128
  93. package/src/store/analytics/contract-compliance.test/_helpers.ts +0 -47
  94. package/src/store/analytics/index.ts +0 -61
  95. package/src/store/analytics/memory-store.ts +0 -161
  96. package/src/store/analytics/schema.ts +0 -132
  97. package/src/store/analytics/sqlite-store/admin.ts +0 -96
  98. package/src/store/analytics/sqlite-store/ctx.ts +0 -9
  99. package/src/store/analytics/sqlite-store/read.ts +0 -46
  100. package/src/store/analytics/sqlite-store/rows.ts +0 -58
  101. package/src/store/analytics/sqlite-store/write.ts +0 -111
  102. package/src/store/analytics/sqlite-store.ts +0 -119
  103. package/src/store/analytics/types.ts +0 -202
@@ -62,7 +62,6 @@ export const SETTINGS = [
62
62
  boolDirect("MEGACOMPACT_AUTO_WIKI", "Auto Wiki", "Auto-categorizing wiki (k-means + TF-IDF)", true),
63
63
  boolDirect("MEGACOMPACT_WIKI_SEED_FROM_TURNS", "Wiki Seed from Turns", "Seed topic model from raw_transcript when chunks thin", true),
64
64
  boolDirect("MEGACOMPACT_TURNS_DB", "Turns DB", "Isolated turns.db store", true),
65
- boolDirect("MEGACOMPACT_PROVIDER_MODEL_ANALYTICS", "Provider/Model Analytics", "Capture provider/model analytics in analytics.db", true),
66
65
  num("MEGACOMPACT_WIKI_SILHOUETTE_MIN", "Silhouette Minimum", "Full rebuild trigger threshold", 0.2, 0, 1),
67
66
  num("MEGACOMPACT_TURNS_RETENTION_DAYS", "Turn Retention", "Per-turn provenance retention window", 30, 1, 365, "days"),
68
67
  num("MEGACOMPACT_TURNS_KEEP_MIN", "Turns Keep Minimum", "Min turns kept per conversation during prune", 5, 1, 100),
@@ -160,8 +160,6 @@ export function loadConfig() {
160
160
  // turn path (S48 behavior). Mirrors src/config/turns.ts TURNS_DB_ENABLED.
161
161
  turnsDbEnabled: envBool("MEGACOMPACT_TURNS_DB", true),
162
162
  autoWikiEnabled: envBool("MEGACOMPACT_AUTO_WIKI", true),
163
- // PMA: provider/model analytics (isolated analytics.db). Default ON.
164
- providerModelAnalytics: envBool("MEGACOMPACT_PROVIDER_MODEL_ANALYTICS", true),
165
163
  crossRepoEnabled: envBool("MEGACOMPACT_CROSSREPO_ENABLED", true),
166
164
  crossRepoCosine: Number(process.env.MEGACOMPACT_CROSSREPO_COSINE ?? "0.90"),
167
165
  memoryAutoReview: envBool("MEGACOMPACT_MEMORY_AUTO_REVIEW", true),
@@ -28,23 +28,6 @@ export function recordTurnRow(event, runtime, config) {
28
28
  });
29
29
  }
30
30
  catch (e) {
31
- // DuplicateTurnError: the turn was already persisted (the same turnIndex
32
- // was written by an earlier code path — a double-write race). This is a
33
- // SUCCESS, not a failure: the turn IS in turns.db. Emit turn_written with
34
- // duplicate:true so events.log stops showing 289 false "turn_write_failed"
35
- // entries (which made the Turns tab + context engine look broken).
36
- // Uses the same message-pattern idiom as write.ts's UNIQUE constraint guard
37
- // (no new import; DuplicateTurnError isn't re-exported through mega-turn-store
38
- // and the append-only invariant forbids UPDATE/UPSERT in the store layer).
39
- if (e instanceof Error && /Duplicate turn:/.test(e.message)) {
40
- runtime.dashboard.event("turn_written", {
41
- turnIndex: event.turnIndex,
42
- pressureBand: runtime.pressureBand ?? null,
43
- turnsDbEnabled: config.turnsDbEnabled,
44
- duplicate: true,
45
- });
46
- return;
47
- }
48
31
  runtime.dashboard.event("turn_write_failed", {
49
32
  turnIndex: event.turnIndex,
50
33
  turnsDbEnabled: config.turnsDbEnabled,
@@ -3,7 +3,6 @@ import { registerAgentHandlers } from "./agent-handlers.js";
3
3
  import { registerContextHandler } from "./context-handler.js";
4
4
  import { registerCompactHandlers } from "./compact-handlers.js";
5
5
  import { registerPerfHandler } from "./perf-handler.js";
6
- import { registerAnalyticsHandler } from "./analytics-handler.js";
7
6
  import { registerVectorCortexRender } from "../mega-context/vector-cortex.js";
8
7
  /**
9
8
  * DIAG accessor for the headless test harness: the most recently constructed
@@ -38,6 +37,4 @@ export function registerEventHandlers(pi, runtime, config) {
38
37
  registerContextHandler(pi, runtime, config);
39
38
  registerCompactHandlers(pi, runtime, config);
40
39
  registerPerfHandler(pi, runtime);
41
- // PMA-2: analytics ingestion — flag-gated (OFF = no-op, no DB opened).
42
- registerAnalyticsHandler(pi, runtime, config);
43
40
  }
@@ -1,2 +1,2 @@
1
- import{r as s,u as o,e as c,j as e}from"./index-DUnKr3wN.js";import{T as i}from"./toggle-C_eSNeMT.js";import r from"./MaintenanceTab-Cl9mWaR8.js";import{C as l}from"./ConfigTab-CtXVSxD_.js";import"./card-Cx6WA_2T.js";import"./button-BlRKWQsj.js";import"./switch-Wr0u4HKw.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-BTCZLMCc.js.map
1
+ import{r as s,u as o,e as c,j as e}from"./index-iuxgtzEW.js";import{T as i}from"./toggle-z1lWY4UM.js";import r from"./MaintenanceTab-4fJ7M4S4.js";import{C as l}from"./ConfigTab-C016XTNC.js";import"./card-Cfhz9X31.js";import"./button-DhQQAJGm.js";import"./switch-7EHEQMSP.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-BsA8-_bX.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AdminTab-BTCZLMCc.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-BsA8-_bX.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-DrkPNaOf.js";import{R as p,J as ee,r as ve}from"./index-DUnKr3wN.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-BTMI0QnR.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-JKjK9_cB.js";import{R as p,J as ee,r as ve}from"./index-iuxgtzEW.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-BRHEfWhc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AreaChart-BTMI0QnR.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-BRHEfWhc.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,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-DrkPNaOf.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-C1F8wLM3.js.map
1
+ import{g as a,L as e,X as i,Y as s,f as x,B as t}from"./generateCategoricalChart-JKjK9_cB.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-C-M0LaFc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BarChart-C1F8wLM3.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-C-M0LaFc.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-DUnKr3wN.js";import{C as O,T as G}from"./TimeSavedCard-DIRH1Pq7.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-Cx6WA_2T.js";import{B as V}from"./button-BlRKWQsj.js";import{M as Y}from"./MetricsCards-Cu1zDkfm.js";import{f as q}from"./client-extra-BRFScIiK.js";import"./generateCategoricalChart-DrkPNaOf.js";import"./BarChart-C1F8wLM3.js";import"./AreaChart-BTMI0QnR.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-ORjrhSbZ.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-iuxgtzEW.js";import{C as O,T as G}from"./TimeSavedCard-CyD8e_e_.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-Cfhz9X31.js";import{B as V}from"./button-DhQQAJGm.js";import{M as Y}from"./MetricsCards-VUEcgGzo.js";import{f as q}from"./client-extra-CKNOGEz_.js";import"./generateCategoricalChart-JKjK9_cB.js";import"./BarChart-C-M0LaFc.js";import"./AreaChart-BRHEfWhc.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-Cj3n59U3.js.map