pi-mega-compact 0.20.14 → 0.20.15

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 (74) hide show
  1. package/dist/config/vector-cortex.js +20 -0
  2. package/dist/config.js +1 -1
  3. package/dist/extensions/dashboard-server/route-dispatch.js +1 -0
  4. package/dist/extensions/dashboard-server/routes-rag-settings-vector-cortex.js +1 -0
  5. package/dist/src/config/vector-cortex.js +20 -0
  6. package/dist/src/config.js +1 -1
  7. package/dist/src/vector-cortex/migrations/request-hash-v2-ops.js +143 -0
  8. package/dist/src/vector-cortex/migrations/request-hash-v2-types.js +30 -0
  9. package/dist/src/vector-cortex/migrations/request-hash-v2.js +42 -147
  10. package/dist/vector-cortex/migrations/request-hash-v2-ops.js +143 -0
  11. package/dist/vector-cortex/migrations/request-hash-v2-types.js +30 -0
  12. package/dist/vector-cortex/migrations/request-hash-v2.js +42 -147
  13. package/extensions/dashboard-client/dist/assets/{AreaChart-VUd_iOtO.js → AreaChart-CV8WqMmt.js} +2 -2
  14. package/extensions/dashboard-client/dist/assets/{AreaChart-VUd_iOtO.js.map → AreaChart-CV8WqMmt.js.map} +1 -1
  15. package/extensions/dashboard-client/dist/assets/{BarChart-BoqeJ5mM.js → BarChart-M-HEBq9l.js} +2 -2
  16. package/extensions/dashboard-client/dist/assets/{BarChart-BoqeJ5mM.js.map → BarChart-M-HEBq9l.js.map} +1 -1
  17. package/extensions/dashboard-client/dist/assets/{CacheTab-1ON7meDK.js → CacheTab-DJ_yPAhP.js} +2 -2
  18. package/extensions/dashboard-client/dist/assets/{CacheTab-1ON7meDK.js.map → CacheTab-DJ_yPAhP.js.map} +1 -1
  19. package/extensions/dashboard-client/dist/assets/{EventsTab-Dr9eqt1k.js → EventsTab-DNVlKzt6.js} +2 -2
  20. package/extensions/dashboard-client/dist/assets/{EventsTab-Dr9eqt1k.js.map → EventsTab-DNVlKzt6.js.map} +1 -1
  21. package/extensions/dashboard-client/dist/assets/{HealthTab-Ciaigd4i.js → HealthTab-B5yjuInb.js} +2 -2
  22. package/extensions/dashboard-client/dist/assets/{HealthTab-Ciaigd4i.js.map → HealthTab-B5yjuInb.js.map} +1 -1
  23. package/extensions/dashboard-client/dist/assets/{MaintenanceTab-DjZRr3Lf.js → MaintenanceTab-DoQedESF.js} +2 -2
  24. package/extensions/dashboard-client/dist/assets/{MaintenanceTab-DjZRr3Lf.js.map → MaintenanceTab-DoQedESF.js.map} +1 -1
  25. package/extensions/dashboard-client/dist/assets/{MemoryMapTab-BpZXHA7j.js → MemoryMapTab-CuL5CzdH.js} +2 -2
  26. package/extensions/dashboard-client/dist/assets/{MemoryMapTab-BpZXHA7j.js.map → MemoryMapTab-CuL5CzdH.js.map} +1 -1
  27. package/extensions/dashboard-client/dist/assets/{MetricsTab-QemocY5k.js → MetricsTab-CZSTaCpK.js} +2 -2
  28. package/extensions/dashboard-client/dist/assets/{MetricsTab-QemocY5k.js.map → MetricsTab-CZSTaCpK.js.map} +1 -1
  29. package/extensions/dashboard-client/dist/assets/{OverviewTab-VtC1F-mO.js → OverviewTab-vkZlXRW6.js} +2 -2
  30. package/extensions/dashboard-client/dist/assets/{OverviewTab-VtC1F-mO.js.map → OverviewTab-vkZlXRW6.js.map} +1 -1
  31. package/extensions/dashboard-client/dist/assets/{ReposTab-CJD1cBxp.js → ReposTab-DgPD96rF.js} +2 -2
  32. package/extensions/dashboard-client/dist/assets/{ReposTab-CJD1cBxp.js.map → ReposTab-DgPD96rF.js.map} +1 -1
  33. package/extensions/dashboard-client/dist/assets/{SessionsTab-Cj0erPR4.js → SessionsTab-XPbWh7XN.js} +2 -2
  34. package/extensions/dashboard-client/dist/assets/{SessionsTab-Cj0erPR4.js.map → SessionsTab-XPbWh7XN.js.map} +1 -1
  35. package/extensions/dashboard-client/dist/assets/{SetupTab-AOVROZ4G.js → SetupTab-Dz74XAtR.js} +2 -2
  36. package/extensions/dashboard-client/dist/assets/{SetupTab-AOVROZ4G.js.map → SetupTab-Dz74XAtR.js.map} +1 -1
  37. package/extensions/dashboard-client/dist/assets/{TimeSavedCard-ZliVn8DH.js → TimeSavedCard-FynCpJdx.js} +2 -2
  38. package/extensions/dashboard-client/dist/assets/{TimeSavedCard-ZliVn8DH.js.map → TimeSavedCard-FynCpJdx.js.map} +1 -1
  39. package/extensions/dashboard-client/dist/assets/{TurnsTab-DsoTWeIh.js → TurnsTab-C7m3GDy0.js} +2 -2
  40. package/extensions/dashboard-client/dist/assets/{TurnsTab-DsoTWeIh.js.map → TurnsTab-C7m3GDy0.js.map} +1 -1
  41. package/extensions/dashboard-client/dist/assets/VectorCortexTab-jRd_Iztk.js +2 -0
  42. package/extensions/dashboard-client/dist/assets/VectorCortexTab-jRd_Iztk.js.map +1 -0
  43. package/extensions/dashboard-client/dist/assets/{WikiTab-CK8fcW1l.js → WikiTab-C6viLa0u.js} +2 -2
  44. package/extensions/dashboard-client/dist/assets/{WikiTab-CK8fcW1l.js.map → WikiTab-C6viLa0u.js.map} +1 -1
  45. package/extensions/dashboard-client/dist/assets/{button-DdPcvex1.js → button-mBEgbBVU.js} +2 -2
  46. package/extensions/dashboard-client/dist/assets/{button-DdPcvex1.js.map → button-mBEgbBVU.js.map} +1 -1
  47. package/extensions/dashboard-client/dist/assets/{card-DXFuZph_.js → card-CalUQAKG.js} +2 -2
  48. package/extensions/dashboard-client/dist/assets/{card-DXFuZph_.js.map → card-CalUQAKG.js.map} +1 -1
  49. package/extensions/dashboard-client/dist/assets/{generateCategoricalChart-BagDVGWn.js → generateCategoricalChart-CMmkuwj5.js} +2 -2
  50. package/extensions/dashboard-client/dist/assets/{generateCategoricalChart-BagDVGWn.js.map → generateCategoricalChart-CMmkuwj5.js.map} +1 -1
  51. package/extensions/dashboard-client/dist/assets/{index-DVdDtRY4.js → index-Dz8GPBOE.js} +3 -3
  52. package/extensions/dashboard-client/dist/assets/{index-DVdDtRY4.js.map → index-Dz8GPBOE.js.map} +1 -1
  53. package/extensions/dashboard-client/dist/assets/{switch-CtdtGyUR.js → switch-8QKO6CTU.js} +2 -2
  54. package/extensions/dashboard-client/dist/assets/{switch-CtdtGyUR.js.map → switch-8QKO6CTU.js.map} +1 -1
  55. package/extensions/dashboard-client/dist/assets/{toggle-Cvvwlbye.js → toggle-9eCkWI4q.js} +2 -2
  56. package/extensions/dashboard-client/dist/assets/{toggle-Cvvwlbye.js.map → toggle-9eCkWI4q.js.map} +1 -1
  57. package/extensions/dashboard-client/dist/assets/{useSSE-DvlceHjV.js → useSSE-s6IqOKoD.js} +2 -2
  58. package/extensions/dashboard-client/dist/assets/{useSSE-DvlceHjV.js.map → useSSE-s6IqOKoD.js.map} +1 -1
  59. package/extensions/dashboard-client/dist/index.html +1 -1
  60. package/extensions/dashboard-client/src/api/vector-cortex.ts +9 -0
  61. package/extensions/dashboard-client/src/tabs/VectorCortexTab.tsx +23 -121
  62. package/extensions/dashboard-client/src/tabs/useVectorCortexPoll.ts +123 -0
  63. package/extensions/dashboard-client/src/types/vector-cortex-vc7.ts +63 -0
  64. package/extensions/dashboard-client/src/types/vector-cortex.ts +5 -33
  65. package/extensions/dashboard-server/route-dispatch.ts +1 -0
  66. package/extensions/dashboard-server/routes-rag-settings-vector-cortex.ts +6 -0
  67. package/package.json +1 -1
  68. package/src/config/vector-cortex.ts +21 -0
  69. package/src/config.ts +1 -0
  70. package/src/vector-cortex/migrations/request-hash-v2-ops.ts +195 -0
  71. package/src/vector-cortex/migrations/request-hash-v2-types.ts +87 -0
  72. package/src/vector-cortex/migrations/request-hash-v2.ts +65 -213
  73. package/extensions/dashboard-client/dist/assets/VectorCortexTab-BBa7rp6C.js +0 -2
  74. package/extensions/dashboard-client/dist/assets/VectorCortexTab-BBa7rp6C.js.map +0 -1
@@ -1,161 +1,56 @@
1
1
  /**
2
- * vector-cortex/migrations/request-hash-v2.ts — M5 request-hash-v2, COPY +
3
- * VALIDATE ONLY (VC7B). The switch lands in VC7C.
2
+ * vector-cortex/migrations/request-hash-v2.ts — M5 request-hash-v2 migration
3
+ * (COPY + VALIDATE + SWITCH).
4
+ *
5
+ * Delegate-shell: types + constants live in request-hash-v2-types.ts and the
6
+ * operational logic (copy/verify/switch/collision) lives in
7
+ * request-hash-v2-ops.ts. This file re-exports the public surface so callers
8
+ * import from a single module. Split to keep under the 300-line soft limit
9
+ * (soft-as-hard gate).
4
10
  *
5
11
  * M5 versions the canonical request hash: the predecessor hashed the outbound
6
12
  * request under the v1 scheme; v2 folds in the provider profile's ECONOMICS
7
13
  * version so a pricing/TTL/exclusion change cannot silently reuse a cache
8
14
  * identity minted under different economics. Like M4/M6 it follows the
9
- * copy/validate/switch contract — but VC7B deliberately stops after validate:
15
+ * copy/validate/switch contract:
10
16
  *
11
17
  * - copy: resumable per (profile, request) — an interrupted run resumes
12
18
  * without duplicate rows or active-pointer drift.
13
19
  * - validate: every v1 row has exactly one v2 row, every v2 digest re-hashes
14
- * from its own declared fields, and the M5-specific invariant —
15
- * the migration is IDENTITY-PRESERVING: a v2 row must carry the
16
- * same `requestDigest` as the v1 row it came from. v2 changes how
17
- * a CACHE KEY is derived, never what the request IS. A row whose
18
- * request digest drifted is rejected (`M5_IDENTITY_DRIFT`).
19
- * - switch: NOT IMPLEMENTED IN VC7B. `m5Switch` exists so the shape of the
20
- * lifecycle is reviewable, but it always refuses with
21
- * `M5_SWITCH_DEFERRED` and leaves the active pointer on v1.
20
+ * from its own declared fields, the migration is IDENTITY-PRESERVING
21
+ * (a v2 row carries the same `requestDigest` as its v1 source v2
22
+ * changes how a CACHE KEY is derived, never what the request IS), and
23
+ * the M5-specific invariant ADDED in VC7C there are ZERO
24
+ * collisions: no two distinct v1 rows may map to one v2 hash. A
25
+ * collision (`M5_REQUEST_HASH_COLLISION`) means two different
26
+ * conversations would share a cache key, the most dangerous outcome
27
+ * in the subsystem, so it blocks the switch outright.
28
+ * - switch: ATOMICALLY flip the active pointer to v2 via `host.switchToV2()`.
29
+ * VC7B deferred this; VC7C performs it — but ONLY after re-validating
30
+ * against freshly-read host state at switch time.
22
31
  *
23
- * WHY THE SWITCH IS WITHHELD. Flipping the request-hash version invalidates
24
- * every crystal minted under v1 in one step. VC7C first runs the shadow
25
- * comparison (v1 vs v2 digests over live traffic) so the blast radius is
26
- * measured before it is taken. Shipping the switch here would mean flipping it
27
- * on evidence that does not exist yet so the function is present, refuses, and
28
- * says why, rather than being a TODO comment someone later mistakes for done.
29
- * Old-binary protocol: a reader that predates v2 keeps reading v1 rows, which
30
- * remain untouched and authoritative for the whole of VC7B.
32
+ * WHY THE COLLISION CHECK RUNS AT SWITCH TIME, NOT VALIDATE TIME. The brief's
33
+ * failure-injection contract is explicit: crash after M5 validation, inject a
34
+ * collision into host state, then resume and the RESUMED run must detect
35
+ * `M5_REQUEST_HASH_COLLISION`. If the collision were detected only from the result
36
+ * of an earlier `m5Verify` call, the cached result would be replayed and the
37
+ * injected collision would be invisible. So `m5Switch` RE-READS the host (`v1Rows`,
38
+ * `existingV2`, `activeVersion`) and RE-RUNS the collision check against that live
39
+ * state. Validation is a precondition; the switch is the only place that proves the
40
+ * hazard is absent *right now*. This is the same resume-after-crash discipline as
41
+ * M4/M6: a migration that trusts a stale verification is a migration that loses
42
+ * data on restart.
31
43
  *
32
- * Pure logic over an injected M5Host (deterministic + testable; no console).
33
- * PREVENT-002/011/PI-004 honored.
34
- */
35
- import { createHash } from "node:crypto";
36
- /** The active-version value the v2 pointer will be switched to in VC7C. */
37
- export const REQUEST_HASH_V2_VERSION = 2;
38
- /** The legacy (predecessor) active version; VC7B never leaves this. */
39
- export const REQUEST_HASH_LEGACY_VERSION = 1;
40
- /** M5 failure codes. */
41
- export const M5_FAIL = {
42
- COPY_PARTIAL: "M5_COPY_PARTIAL",
43
- COUNT_MISMATCH: "M5_COUNT_MISMATCH",
44
- DIGEST_MISMATCH: "M5_DIGEST_MISMATCH",
45
- IDENTITY_DRIFT: "M5_IDENTITY_DRIFT",
46
- SWITCH_DEFERRED: "M5_SWITCH_DEFERRED",
47
- };
48
- /** Length-prefixed framing so the folded fields cannot alias. */
49
- function field(value) {
50
- return `${Buffer.byteLength(value, "utf8")}:${value}`;
51
- }
52
- /**
53
- * The authoritative v2 hash: SHA-256 over the version tag, profile, request
54
- * digest, and economics version. Length-prefixed for injectivity, exactly as the
55
- * crystal key encoder frames its fields.
56
- */
57
- export function deriveRequestHashV2(profileId, requestDigest, economicsVersion) {
58
- return createHash("sha256")
59
- .update(field("request-hash-v2") + field(profileId) + field(requestDigest) + field(economicsVersion), "utf8")
60
- .digest("hex");
61
- }
62
- /** Derive the v2 row for one v1 row. */
63
- export function deriveRequestHashRow(host, v1) {
64
- const economicsVersion = host.economicsVersionOf(v1.profileId);
65
- return {
66
- profileId: v1.profileId,
67
- // IDENTITY-PRESERVING: carried through verbatim, never re-derived.
68
- requestDigest: v1.requestDigest,
69
- economicsVersion,
70
- hash: deriveRequestHashV2(v1.profileId, v1.requestDigest, economicsVersion),
71
- };
72
- }
73
- const identity = (profileId, requestDigest) => `${profileId}::${requestDigest}`;
74
- /**
75
- * Copy every v1 row into a v2 row BESIDE it (resumable, idempotent). Rows already
76
- * persisted with a matching derivation are left untouched; absent or stale rows
77
- * are (re)written from the authoritative derivation. The active pointer is never
78
- * touched — v1 remains authoritative throughout VC7B.
79
- */
80
- export function m5Copy(host) {
81
- const existing = new Map(host.existingV2().map((r) => [identity(r.profileId, r.requestDigest), r]));
82
- const wanted = [];
83
- for (const v1 of host.v1Rows()) {
84
- const fresh = deriveRequestHashRow(host, v1);
85
- const stored = existing.get(identity(v1.profileId, v1.requestDigest));
86
- if (stored !== undefined &&
87
- stored.hash === fresh.hash &&
88
- stored.economicsVersion === fresh.economicsVersion) {
89
- continue; // healthy, already copied
90
- }
91
- wanted.push(fresh);
92
- }
93
- if (wanted.length > 0)
94
- host.putV2(wanted);
95
- return { written: wanted, all: [...host.existingV2()] };
96
- }
97
- /**
98
- * Validate the copied set: exactly one v2 row per v1 row, every v2 hash
99
- * re-derives from its own declared fields, no orphan v2 rows, and every v2 row's
100
- * request digest equals its v1 source's (identity preservation). Never mutates.
101
- */
102
- export function m5Verify(host) {
103
- const codes = [];
104
- const stored = host.existingV2();
105
- const v1Rows = host.v1Rows();
106
- const counts = new Map();
107
- for (const r of stored) {
108
- const id = identity(r.profileId, r.requestDigest);
109
- counts.set(id, (counts.get(id) ?? 0) + 1);
110
- }
111
- const expected = new Set();
112
- for (const v1 of v1Rows) {
113
- const id = identity(v1.profileId, v1.requestDigest);
114
- expected.add(id);
115
- const n = counts.get(id) ?? 0;
116
- if (n === 0)
117
- codes.push(M5_FAIL.COPY_PARTIAL);
118
- if (n > 1)
119
- codes.push(M5_FAIL.COUNT_MISMATCH);
120
- }
121
- // Every v1 request digest that must survive the migration unchanged.
122
- const v1Digests = new Set(v1Rows.map((r) => identity(r.profileId, r.requestDigest)));
123
- for (const r of stored) {
124
- const fresh = deriveRequestHashV2(r.profileId, r.requestDigest, r.economicsVersion);
125
- if (r.hash !== fresh)
126
- codes.push(M5_FAIL.DIGEST_MISMATCH);
127
- const id = identity(r.profileId, r.requestDigest);
128
- // A v2 row whose identity has no v1 source either drifted or is an orphan.
129
- if (!v1Digests.has(id)) {
130
- codes.push(expected.size > 0 ? M5_FAIL.IDENTITY_DRIFT : M5_FAIL.COUNT_MISMATCH);
131
- }
132
- }
133
- return { ok: codes.length === 0, codes: dedupe(codes) };
134
- }
135
- /**
136
- * The switch — DEFERRED TO VC7C BY DESIGN.
44
+ * M6 INVALIDATION CONSUMPTION. A v2 request hash is only as trustworthy as the
45
+ * generation it was minted under. The switch consumes M6's structured invalidation
46
+ * keys via the REAL API (`invalidationKey` from `../topology/query.js`) rather than
47
+ * inventing one: when a v2 row's economics version maps to an invalidated router
48
+ * generation, that row cannot be promoted to active. We do not re-derive a
49
+ * generation here — topology is the authority on what generation is live — we only
50
+ * refuse to switch a row whose generation is dead. This keeps M5 from resurrecting
51
+ * cache identities tied to a generation the router has already invalidated.
137
52
  *
138
- * Always refuses and always leaves the active pointer on v1. It exists so the
139
- * lifecycle is complete and reviewable, and so a caller that tries to switch
140
- * early gets an explicit `M5_SWITCH_DEFERRED` instead of silence.
141
- */
142
- export function m5Switch(host) {
143
- void host;
144
- return { ok: false, codes: [M5_FAIL.SWITCH_DEFERRED] };
145
- }
146
- /**
147
- * The VC7B M5 lifecycle: copy -> verify. NO SWITCH. Returns the verify result;
148
- * the active version pointer is guaranteed to still be
149
- * `REQUEST_HASH_LEGACY_VERSION` on return.
53
+ * PREVENT-002/011/PI-004 honored.
150
54
  */
151
- export function migrateRequestHashV2CopyValidate(host) {
152
- m5Copy(host);
153
- return m5Verify(host);
154
- }
155
- function dedupe(codes) {
156
- const out = [];
157
- for (const c of codes)
158
- if (!out.includes(c))
159
- out.push(c);
160
- return out;
161
- }
55
+ export { REQUEST_HASH_V2_VERSION, REQUEST_HASH_LEGACY_VERSION, M5_FAIL, M5_IDS, M5_NAMED_IDS, } from "./request-hash-v2-types.js";
56
+ export { deriveRequestHashV2, deriveRequestHashRow, detectCollision, isGenerationInvalidated, m5Copy, m5Verify, m5Switch, migrateRequestHashV2, } from "./request-hash-v2-ops.js";
@@ -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-BagDVGWn.js";import{R as p,F as ee,r as ve}from"./index-DVdDtRY4.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-VUd_iOtO.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-CMmkuwj5.js";import{R as p,F as ee,r as ve}from"./index-Dz8GPBOE.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-CV8WqMmt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AreaChart-VUd_iOtO.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-CV8WqMmt.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-BagDVGWn.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-BoqeJ5mM.js.map
1
+ import{g as a,L as e,X as i,Y as s,f as x,B as t}from"./generateCategoricalChart-CMmkuwj5.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-M-HEBq9l.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BarChart-BoqeJ5mM.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-M-HEBq9l.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 h,u as j,A as L,D as $,z as H,l as M}from"./index-DVdDtRY4.js";import{C as I,T as k}from"./TimeSavedCard-ZliVn8DH.js";import{b as m,c as u,d as w,e as W,f as d}from"./format-COjDIVGj.js";import{l as D}from"./pricing-DkYp8-vi.js";import{C as g,a as f,b as C,c as S}from"./card-DXFuZph_.js";import{B as _}from"./button-DdPcvex1.js";function R(a){return a>=80?"ov-stat-value-green":a>=50?"ov-stat-value-yellow":"ov-stat-value-red"}function F(a){return a==null?"":a>=0?"ov-stat-value-green":"ov-stat-value-red"}function r({label:a,value:s,className:t,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:a}),e.jsx("span",{className:`font-semibold${t?` ${t}`:""}`,children:s})]})}function O(a){return e.jsxs(g,{className:"electric-hover",children:[e.jsx(f,{children:e.jsx(C,{children:"Provider Prompt Cache"})}),e.jsxs(S,{children:[e.jsx(r,{label:"Cache Hit Rate",value:`${a.hitPct.toFixed(1)}%`,className:R(a.hitPct)}),e.jsx(r,{label:"Turns Recorded",value:String(a.turnCount)}),e.jsx(r,{label:"Cache Read Tokens",value:m(a.totalCacheRead)}),e.jsx(r,{label:"Cache Write Tokens",value:m(a.totalCacheWrite)}),e.jsx(r,{label:"Input Tokens",value:m(a.totalInput)}),e.jsx(r,{label:"$ Saved (reads)",value:u(a.cacheReadSaved)}),e.jsx(r,{label:"Write Investment",value:u(a.cacheWriteCost)}),e.jsx(r,{label:"Net Saved",value:u(a.netSaved),className:F(a.netSaved)}),e.jsx(r,{label:"Model",value:a.modelLabel??"—"}),e.jsx(r,{label:"Tracked Since",value:w(a.firstTurnAt)}),e.jsx(r,{label:"Last Updated",value:W(a.latestTurnAt)}),a.byModel.length>0&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mt-2 text-xs font-semibold text-muted-foreground",children:"Per Model"}),a.byModel.map(s=>{const t=D(s.model),l=t!=null?s.totalCacheRead/1e6*t:null,n=t!=null?s.totalCacheWrite/1e6*t:null;return e.jsxs("div",{className:"mt-2",children:[e.jsx(r,{label:"Model",value:s.model}),e.jsx(r,{label:"Hit Rate",value:`${s.hitPct.toFixed(1)}%`,className:R(s.hitPct)}),e.jsx(r,{label:"Cache Read",value:m(s.totalCacheRead)}),e.jsx(r,{label:"Cache Write",value:m(s.totalCacheWrite)}),e.jsx(r,{label:"Samples",value:String(s.sampleCount)}),e.jsx(r,{label:"$ Saved (reads)",value:l!=null?u(l):"—"}),e.jsx(r,{label:"Write Investment",value:n!=null?u(n):"—"})]},s.model)})]})]})]})}const G=["ov-bar-green","ov-bar-blue","ov-bar-teal","ov-bar-yellow","ov-bar-gray"],B=["Permanent","Epoch","Topic","Thread","Volatile"],z={good:"ov-text-green",fair:"ov-text-yellow",degraded:"ov-text-orange",poor:"ov-text-red"};function K({data:a}){const s=Math.max(...a.buckets.map(l=>l.count),1),t=z[a.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 ${t}`,children:a.health.label}),e.jsx("span",{className:"ov-stripe-health-score",children:d(a.health.score)}),e.jsxs("span",{className:"ov-stripe-churn",children:["Churn: ",d(a.health.churnRate)]}),e.jsxs("span",{className:"ov-stripe-total",children:[a.totalChunks," total chunks"]})]}),e.jsx("div",{className:"ov-stripe-bars",children:a.buckets.map(l=>{const n=s>0?Math.max(0,Math.min(100,l.count/s*100)):0,o=G[l.stripe]??"ov-bar-gray",c=l.label||(B[l.stripe]??`Stripe ${l.stripe}`);return e.jsxs("div",{className:"ov-stripe-row",children:[e.jsx("span",{className:"ov-stripe-label",title:c,children:c}),e.jsx("div",{className:"ov-bar-track",children:e.jsx("div",{className:`ov-bar-fill ${o}`,style:{width:`${n}%`}})}),e.jsx("span",{className:"ov-stripe-count",children:l.count}),e.jsx("span",{className:"ov-stripe-stability",title:`min ${d(l.minStability)} / max ${d(l.maxStability)}`,children:d(l.avgStability)})]},l.stripe)})}),e.jsxs("div",{className:"ov-stripe-footer",children:["Epoch: ",a.epochId??"—","· Dominant tier: ",d(a.health.dominantTier)]})]})}function x(a){return`${a.toFixed(1)}%`}function U(a){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 V=({perf:a})=>{const{cache_hit_pct:s}=a,t=s.samples&&s.samples.length>0?s.samples:[];return e.jsxs(g,{className:"electric-hover",children:[e.jsx(f,{children:e.jsx(C,{children:"Cache Hit-Rate Trend"})}),e.jsxs(S,{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:x(s.avg)})]}),e.jsxs("div",{children:["Latest: ",e.jsx("strong",{className:"text-foreground",children:x(s.latest)})]}),e.jsxs("div",{children:["Samples: ",e.jsx("strong",{className:"text-foreground",children:s.n})]})]}),t.length>0?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"ov-sparkline",role:"img","aria-label":`Cache hit rate trend: ${s.n} samples, average ${x(s.avg)}, latest ${x(s.latest)}`,children:t.map((l,n)=>{const o=Math.max(2,Math.round(l.pct*.6)),c=U(l.pct),v=n===t.length-1;return e.jsx("div",{className:`ov-sparkline-bar ${c}${v?" ov-bar-latest":""}`,style:{height:`${o}px`},title:`${x(l.pct)} at ${new Date(l.ts).toLocaleTimeString()}`},n)})}),e.jsxs("div",{className:"mt-1 text-xs text-muted-foreground",children:[t.length," sample",t.length!==1?"s":""," over"," ",t.length>1?`${Math.round((t[t.length-1].ts-t[0].ts)/1e3)}s`:"latest turn"]})]}):e.jsx("div",{className:"text-sm text-muted-foreground",children:"No cache-hit samples yet"})]})]})};function ee(){const[a,s]=h.useState(!1),{data:t,loading:l,error:n}=j(h.useCallback(()=>L(),[]),{pollInterval:5e3}),{data:o,loading:c,error:v}=j(h.useCallback(()=>$(),[]),{pollInterval:15e3}),{data:N,loading:A,error:T}=j(h.useCallback(()=>H({minutes:30}),[]),{pollInterval:15e3}),{data:i,loading:E,error:y}=j(h.useCallback(()=>M(),[]),{pollInterval:5e3});return e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs("div",{children:[e.jsx(_,{type:"button",variant:"outline",onClick:()=>s(!a),children:a?"Hide Guidance":"Show Cache-Friendly Prompt Ordering Guidance"}),a&&e.jsxs(g,{className:"mt-3",children:[e.jsx(f,{children:e.jsx(C,{children:"Cache-Friendly Prompt Ordering"})}),e.jsxs(S,{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."})]}),i&&e.jsxs("div",{className:"mt-2 text-sm",children:[e.jsx("strong",{children:"Status:"})," ",i.config.auto?"Auto-compaction Enabled":"Auto-compaction Disabled"," |"," ","fast-gate ",i.config.fastGatePct,"% / threshold"," ",i.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..."}):n?e.jsxs("p",{className:"tab-stub",children:["Provider cache unavailable: ",n.message]}):t?e.jsx(O,{hitPct:t.cache.avgHitPct,turnCount:t.cache.turnCount,totalCacheRead:t.cache.totalCacheRead,totalCacheWrite:t.cache.totalCacheWrite,totalInput:t.cache.totalInput,cacheReadSaved:t.savings?.cacheReadSaved??null,cacheWriteCost:t.savings?.cacheWriteCost??null,netSaved:t.savings?.netSaved??null,modelLabel:t.savings?.model??null,firstTurnAt:t.cache.firstTurnAt,latestTurnAt:t.cache.latestTurnAt,byModel:t.cache.byModel??[]}):null,e.jsx("h2",{className:"font-heading text-lg font-semibold",children:"Cache Stripe Distribution"}),c?e.jsx("p",{className:"tab-stub",children:"Loading..."}):v?e.jsxs("p",{className:"tab-stub",children:["Cache stripe data unavailable: ",v.message]}):o?e.jsx(K,{data:o}):null,e.jsx("h2",{className:"font-heading text-lg font-semibold",children:"Cache Hit-Rate Trend"}),A?e.jsx("p",{className:"tab-stub",children:"Loading..."}):T?e.jsxs("p",{className:"tab-stub",children:["Hit-rate trend unavailable: ",T.message]}):N?e.jsx(V,{perf:N}):null,e.jsx("h2",{className:"font-heading text-lg font-semibold",children:"Mega-Compact Dedup Cache"}),E?e.jsx("p",{className:"tab-stub",children:"Loading..."}):y?e.jsxs("p",{className:"tab-stub",children:["Snapshot unavailable: ",y.message]}):i&&(()=>{const{cacheHits:p,compacts:P,timeSaved:b}=i;return e.jsxs("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 xl:grid-cols-3",children:[e.jsx(I,{cacheHitsSession:p.session,cacheHitsTotal:p.total,tokensSavedSession:p.sessionTokensSaved,tokensSavedTotal:p.totalTokensSaved,compactionsSession:P.session,compactionsTotal:P.total}),e.jsx(k,{compactSessionSec:b.compact.sessionSec,compactTotalSec:b.compact.totalSec,cacheHitSessionSec:b.cacheHit.sessionSec,cacheHitTotalSec:b.cacheHit.totalSec})]})})()]})}export{ee as default};
2
- //# sourceMappingURL=CacheTab-1ON7meDK.js.map
1
+ import{j as e,r as h,u as j,A as L,D as $,z as H,l as M}from"./index-Dz8GPBOE.js";import{C as I,T as k}from"./TimeSavedCard-FynCpJdx.js";import{b as m,c as u,d as w,e as W,f as d}from"./format-COjDIVGj.js";import{l as D}from"./pricing-DkYp8-vi.js";import{C as g,a as f,b as C,c as S}from"./card-CalUQAKG.js";import{B as _}from"./button-mBEgbBVU.js";function R(a){return a>=80?"ov-stat-value-green":a>=50?"ov-stat-value-yellow":"ov-stat-value-red"}function F(a){return a==null?"":a>=0?"ov-stat-value-green":"ov-stat-value-red"}function r({label:a,value:s,className:t,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:a}),e.jsx("span",{className:`font-semibold${t?` ${t}`:""}`,children:s})]})}function O(a){return e.jsxs(g,{className:"electric-hover",children:[e.jsx(f,{children:e.jsx(C,{children:"Provider Prompt Cache"})}),e.jsxs(S,{children:[e.jsx(r,{label:"Cache Hit Rate",value:`${a.hitPct.toFixed(1)}%`,className:R(a.hitPct)}),e.jsx(r,{label:"Turns Recorded",value:String(a.turnCount)}),e.jsx(r,{label:"Cache Read Tokens",value:m(a.totalCacheRead)}),e.jsx(r,{label:"Cache Write Tokens",value:m(a.totalCacheWrite)}),e.jsx(r,{label:"Input Tokens",value:m(a.totalInput)}),e.jsx(r,{label:"$ Saved (reads)",value:u(a.cacheReadSaved)}),e.jsx(r,{label:"Write Investment",value:u(a.cacheWriteCost)}),e.jsx(r,{label:"Net Saved",value:u(a.netSaved),className:F(a.netSaved)}),e.jsx(r,{label:"Model",value:a.modelLabel??"—"}),e.jsx(r,{label:"Tracked Since",value:w(a.firstTurnAt)}),e.jsx(r,{label:"Last Updated",value:W(a.latestTurnAt)}),a.byModel.length>0&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mt-2 text-xs font-semibold text-muted-foreground",children:"Per Model"}),a.byModel.map(s=>{const t=D(s.model),l=t!=null?s.totalCacheRead/1e6*t:null,n=t!=null?s.totalCacheWrite/1e6*t:null;return e.jsxs("div",{className:"mt-2",children:[e.jsx(r,{label:"Model",value:s.model}),e.jsx(r,{label:"Hit Rate",value:`${s.hitPct.toFixed(1)}%`,className:R(s.hitPct)}),e.jsx(r,{label:"Cache Read",value:m(s.totalCacheRead)}),e.jsx(r,{label:"Cache Write",value:m(s.totalCacheWrite)}),e.jsx(r,{label:"Samples",value:String(s.sampleCount)}),e.jsx(r,{label:"$ Saved (reads)",value:l!=null?u(l):"—"}),e.jsx(r,{label:"Write Investment",value:n!=null?u(n):"—"})]},s.model)})]})]})]})}const G=["ov-bar-green","ov-bar-blue","ov-bar-teal","ov-bar-yellow","ov-bar-gray"],B=["Permanent","Epoch","Topic","Thread","Volatile"],z={good:"ov-text-green",fair:"ov-text-yellow",degraded:"ov-text-orange",poor:"ov-text-red"};function K({data:a}){const s=Math.max(...a.buckets.map(l=>l.count),1),t=z[a.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 ${t}`,children:a.health.label}),e.jsx("span",{className:"ov-stripe-health-score",children:d(a.health.score)}),e.jsxs("span",{className:"ov-stripe-churn",children:["Churn: ",d(a.health.churnRate)]}),e.jsxs("span",{className:"ov-stripe-total",children:[a.totalChunks," total chunks"]})]}),e.jsx("div",{className:"ov-stripe-bars",children:a.buckets.map(l=>{const n=s>0?Math.max(0,Math.min(100,l.count/s*100)):0,o=G[l.stripe]??"ov-bar-gray",c=l.label||(B[l.stripe]??`Stripe ${l.stripe}`);return e.jsxs("div",{className:"ov-stripe-row",children:[e.jsx("span",{className:"ov-stripe-label",title:c,children:c}),e.jsx("div",{className:"ov-bar-track",children:e.jsx("div",{className:`ov-bar-fill ${o}`,style:{width:`${n}%`}})}),e.jsx("span",{className:"ov-stripe-count",children:l.count}),e.jsx("span",{className:"ov-stripe-stability",title:`min ${d(l.minStability)} / max ${d(l.maxStability)}`,children:d(l.avgStability)})]},l.stripe)})}),e.jsxs("div",{className:"ov-stripe-footer",children:["Epoch: ",a.epochId??"—","· Dominant tier: ",d(a.health.dominantTier)]})]})}function x(a){return`${a.toFixed(1)}%`}function U(a){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 V=({perf:a})=>{const{cache_hit_pct:s}=a,t=s.samples&&s.samples.length>0?s.samples:[];return e.jsxs(g,{className:"electric-hover",children:[e.jsx(f,{children:e.jsx(C,{children:"Cache Hit-Rate Trend"})}),e.jsxs(S,{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:x(s.avg)})]}),e.jsxs("div",{children:["Latest: ",e.jsx("strong",{className:"text-foreground",children:x(s.latest)})]}),e.jsxs("div",{children:["Samples: ",e.jsx("strong",{className:"text-foreground",children:s.n})]})]}),t.length>0?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"ov-sparkline",role:"img","aria-label":`Cache hit rate trend: ${s.n} samples, average ${x(s.avg)}, latest ${x(s.latest)}`,children:t.map((l,n)=>{const o=Math.max(2,Math.round(l.pct*.6)),c=U(l.pct),v=n===t.length-1;return e.jsx("div",{className:`ov-sparkline-bar ${c}${v?" ov-bar-latest":""}`,style:{height:`${o}px`},title:`${x(l.pct)} at ${new Date(l.ts).toLocaleTimeString()}`},n)})}),e.jsxs("div",{className:"mt-1 text-xs text-muted-foreground",children:[t.length," sample",t.length!==1?"s":""," over"," ",t.length>1?`${Math.round((t[t.length-1].ts-t[0].ts)/1e3)}s`:"latest turn"]})]}):e.jsx("div",{className:"text-sm text-muted-foreground",children:"No cache-hit samples yet"})]})]})};function ee(){const[a,s]=h.useState(!1),{data:t,loading:l,error:n}=j(h.useCallback(()=>L(),[]),{pollInterval:5e3}),{data:o,loading:c,error:v}=j(h.useCallback(()=>$(),[]),{pollInterval:15e3}),{data:N,loading:A,error:T}=j(h.useCallback(()=>H({minutes:30}),[]),{pollInterval:15e3}),{data:i,loading:E,error:y}=j(h.useCallback(()=>M(),[]),{pollInterval:5e3});return e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs("div",{children:[e.jsx(_,{type:"button",variant:"outline",onClick:()=>s(!a),children:a?"Hide Guidance":"Show Cache-Friendly Prompt Ordering Guidance"}),a&&e.jsxs(g,{className:"mt-3",children:[e.jsx(f,{children:e.jsx(C,{children:"Cache-Friendly Prompt Ordering"})}),e.jsxs(S,{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."})]}),i&&e.jsxs("div",{className:"mt-2 text-sm",children:[e.jsx("strong",{children:"Status:"})," ",i.config.auto?"Auto-compaction Enabled":"Auto-compaction Disabled"," |"," ","fast-gate ",i.config.fastGatePct,"% / threshold"," ",i.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..."}):n?e.jsxs("p",{className:"tab-stub",children:["Provider cache unavailable: ",n.message]}):t?e.jsx(O,{hitPct:t.cache.avgHitPct,turnCount:t.cache.turnCount,totalCacheRead:t.cache.totalCacheRead,totalCacheWrite:t.cache.totalCacheWrite,totalInput:t.cache.totalInput,cacheReadSaved:t.savings?.cacheReadSaved??null,cacheWriteCost:t.savings?.cacheWriteCost??null,netSaved:t.savings?.netSaved??null,modelLabel:t.savings?.model??null,firstTurnAt:t.cache.firstTurnAt,latestTurnAt:t.cache.latestTurnAt,byModel:t.cache.byModel??[]}):null,e.jsx("h2",{className:"font-heading text-lg font-semibold",children:"Cache Stripe Distribution"}),c?e.jsx("p",{className:"tab-stub",children:"Loading..."}):v?e.jsxs("p",{className:"tab-stub",children:["Cache stripe data unavailable: ",v.message]}):o?e.jsx(K,{data:o}):null,e.jsx("h2",{className:"font-heading text-lg font-semibold",children:"Cache Hit-Rate Trend"}),A?e.jsx("p",{className:"tab-stub",children:"Loading..."}):T?e.jsxs("p",{className:"tab-stub",children:["Hit-rate trend unavailable: ",T.message]}):N?e.jsx(V,{perf:N}):null,e.jsx("h2",{className:"font-heading text-lg font-semibold",children:"Mega-Compact Dedup Cache"}),E?e.jsx("p",{className:"tab-stub",children:"Loading..."}):y?e.jsxs("p",{className:"tab-stub",children:["Snapshot unavailable: ",y.message]}):i&&(()=>{const{cacheHits:p,compacts:P,timeSaved:b}=i;return e.jsxs("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 xl:grid-cols-3",children:[e.jsx(I,{cacheHitsSession:p.session,cacheHitsTotal:p.total,tokensSavedSession:p.sessionTokensSaved,tokensSavedTotal:p.totalTokensSaved,compactionsSession:P.session,compactionsTotal:P.total}),e.jsx(k,{compactSessionSec:b.compact.sessionSec,compactTotalSec:b.compact.totalSec,cacheHitSessionSec:b.cacheHit.sessionSec,cacheHitTotalSec:b.cacheHit.totalSec})]})})()]})}export{ee as default};
2
+ //# sourceMappingURL=CacheTab-DJ_yPAhP.js.map