@dappworks/kit 0.4.63 → 0.4.64

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 (69) hide show
  1. package/dist/{PromiseState-2a8c856c.d.ts → PromiseState-phP8daDG.d.ts} +2 -2
  2. package/dist/{chunk-CO3IV6BN.mjs → chunk-52OE5FHP.mjs} +9 -13
  3. package/dist/chunk-52OE5FHP.mjs.map +1 -0
  4. package/dist/{chunk-G55EHFDV.mjs → chunk-7FI42NGB.mjs} +5 -9
  5. package/dist/chunk-7FI42NGB.mjs.map +1 -0
  6. package/dist/chunk-7LQSAVH2.mjs +46 -0
  7. package/dist/chunk-7LQSAVH2.mjs.map +1 -0
  8. package/dist/{chunk-FOR424HO.mjs → chunk-AIZ7XDNV.mjs} +16 -19
  9. package/dist/chunk-AIZ7XDNV.mjs.map +1 -0
  10. package/dist/{chunk-5Z72MRKS.mjs → chunk-CDOZMM72.mjs} +9 -24
  11. package/dist/chunk-CDOZMM72.mjs.map +1 -0
  12. package/dist/{chunk-AJ6UVJXP.mjs → chunk-IKFUALQ2.mjs} +76 -98
  13. package/dist/chunk-IKFUALQ2.mjs.map +1 -0
  14. package/dist/chunk-J4DZJDMK.mjs +5 -5
  15. package/dist/chunk-J4DZJDMK.mjs.map +1 -1
  16. package/dist/{chunk-7UR5JQZB.mjs → chunk-O3TH7DXC.mjs} +10 -16
  17. package/dist/chunk-O3TH7DXC.mjs.map +1 -0
  18. package/dist/chunk-OCLML5CM.mjs +9 -0
  19. package/dist/chunk-OCLML5CM.mjs.map +1 -0
  20. package/dist/chunk-ONVPCAMQ.mjs +4 -4
  21. package/dist/chunk-ONVPCAMQ.mjs.map +1 -1
  22. package/dist/{chunk-74WDT7TZ.mjs → chunk-QO5RPRUY.mjs} +11 -24
  23. package/dist/chunk-QO5RPRUY.mjs.map +1 -0
  24. package/dist/{chunk-5E65QCNB.mjs → chunk-R4SQKVDQ.mjs} +3 -11
  25. package/dist/chunk-R4SQKVDQ.mjs.map +1 -0
  26. package/dist/{chunk-HRWHDF2F.mjs → chunk-XJMRAPHI.mjs} +13 -14
  27. package/dist/chunk-XJMRAPHI.mjs.map +1 -0
  28. package/dist/dev.d.mts +1 -1
  29. package/dist/dev.mjs +40 -66
  30. package/dist/dev.mjs.map +1 -1
  31. package/dist/experimental.d.mts +5 -3
  32. package/dist/experimental.mjs +17 -35
  33. package/dist/experimental.mjs.map +1 -1
  34. package/dist/form.d.mts +5 -5
  35. package/dist/form.mjs +94 -198
  36. package/dist/form.mjs.map +1 -1
  37. package/dist/index.d.mts +14 -9
  38. package/dist/index.mjs +27 -71
  39. package/dist/index.mjs.map +1 -1
  40. package/dist/inspector.d.mts +1 -1
  41. package/dist/inspector.mjs +6 -7
  42. package/dist/inspector.mjs.map +1 -1
  43. package/dist/jsontable.d.mts +2 -2
  44. package/dist/jsontable.mjs +10 -14
  45. package/dist/jsontable.mjs.map +1 -1
  46. package/dist/metrics.d.mts +1 -1
  47. package/dist/metrics.mjs +27 -64
  48. package/dist/metrics.mjs.map +1 -1
  49. package/dist/plugins.d.mts +2 -2
  50. package/dist/plugins.mjs +20 -46
  51. package/dist/plugins.mjs.map +1 -1
  52. package/dist/{root-766ae985.d.ts → root-C3lZnoCI.d.ts} +1 -1
  53. package/dist/ui.mjs +12 -23
  54. package/dist/ui.mjs.map +1 -1
  55. package/package.json +1 -1
  56. package/dist/chunk-5E65QCNB.mjs.map +0 -1
  57. package/dist/chunk-5Z72MRKS.mjs.map +0 -1
  58. package/dist/chunk-74WDT7TZ.mjs.map +0 -1
  59. package/dist/chunk-7UR5JQZB.mjs.map +0 -1
  60. package/dist/chunk-AJ6UVJXP.mjs.map +0 -1
  61. package/dist/chunk-CO3IV6BN.mjs.map +0 -1
  62. package/dist/chunk-DUK5IHQE.mjs +0 -8453
  63. package/dist/chunk-DUK5IHQE.mjs.map +0 -1
  64. package/dist/chunk-FOR424HO.mjs.map +0 -1
  65. package/dist/chunk-G55EHFDV.mjs.map +0 -1
  66. package/dist/chunk-HRWHDF2F.mjs.map +0 -1
  67. package/dist/chunk-SXQEYWUP.mjs +0 -13
  68. package/dist/chunk-SXQEYWUP.mjs.map +0 -1
  69. /package/dist/{PaginationState-c19e621a.d.ts → PaginationState-Bmrrw0ky.d.ts} +0 -0
package/dist/index.mjs CHANGED
@@ -1,31 +1,24 @@
1
- import {
2
- BooleanState,
3
- NumberState,
4
- PromiseState,
5
- Store,
6
- StringState,
7
- ValueState
8
- } from "./chunk-5Z72MRKS.mjs";
9
- import "./chunk-J4DZJDMK.mjs";
10
- import {
11
- helper
12
- } from "./chunk-CO3IV6BN.mjs";
13
- import {
14
- rootStore,
15
- useStore
16
- } from "./chunk-SXQEYWUP.mjs";
17
- import {
18
- RootStore
19
- } from "./chunk-HRWHDF2F.mjs";
20
- import "./chunk-DUK5IHQE.mjs";
21
- import "./chunk-5E65QCNB.mjs";
1
+ export { BooleanState, NumberState, PromiseState, Store, StringState, ValueState } from './chunk-CDOZMM72.mjs';
2
+ import './chunk-J4DZJDMK.mjs';
3
+ import { helper } from './chunk-52OE5FHP.mjs';
4
+ export { helper } from './chunk-52OE5FHP.mjs';
5
+ import { rootStore } from './chunk-OCLML5CM.mjs';
6
+ export { rootStore, useStore } from './chunk-OCLML5CM.mjs';
7
+ import { RootStore } from './chunk-XJMRAPHI.mjs';
8
+ export { RootStore } from './chunk-XJMRAPHI.mjs';
9
+ import './chunk-7LQSAVH2.mjs';
10
+ import './chunk-R4SQKVDQ.mjs';
11
+ import { observable, makeAutoObservable } from 'mobx';
12
+ import BigNumber2 from 'bignumber.js';
13
+ import EventEmitter from 'events';
14
+ import axios from 'axios';
15
+ import React, { useEffect } from 'react';
16
+ import { observer } from 'mobx-react-lite';
17
+ import DataLoader from 'dataloader';
18
+ import { Dexie } from 'dexie';
22
19
 
23
- // store/standard/PromiseHook.ts
24
- import { observable } from "mobx";
25
- var KV = class {
26
- };
27
20
  //@ts-ignore
28
- KV.datas = observable();
21
+ observable();
29
22
  var PromiseHook = class {
30
23
  static Get(cls) {
31
24
  try {
@@ -117,18 +110,14 @@ var PromiseHook = class {
117
110
  }
118
111
  };
119
112
  PromiseHook.entities = observable([]);
120
-
121
- // store/standard/BigNumberState.ts
122
- import BigNumber from "bignumber.js";
123
- import { makeAutoObservable as makeAutoObservable2 } from "mobx";
124
113
  var BigNumberState = class {
125
114
  constructor(args) {
126
- this.value = new BigNumber(0);
115
+ this.value = new BigNumber2(0);
127
116
  this.loading = false;
128
117
  this.decimals = 18;
129
118
  this.fixed = 6;
130
119
  Object.assign(this, args);
131
- makeAutoObservable2(this, {
120
+ makeAutoObservable(this, {
132
121
  getFormat: false
133
122
  });
134
123
  }
@@ -142,7 +131,7 @@ var BigNumberState = class {
142
131
  return "...";
143
132
  if (this.formatter)
144
133
  return this.formatter(this);
145
- return helper.number.toPrecisionFloor(new BigNumber(this.value).dividedBy(10 ** decimals).toFixed(), {
134
+ return helper.number.toPrecisionFloor(new BigNumber2(this.value).dividedBy(10 ** decimals).toFixed(), {
146
135
  decimals: fixed
147
136
  });
148
137
  }
@@ -157,10 +146,6 @@ var BigNumberState = class {
157
146
  this.loading = val;
158
147
  }
159
148
  };
160
-
161
- // store/standard/BigNumberInputState.ts
162
- import BigNumber2 from "bignumber.js";
163
- import { makeAutoObservable as makeAutoObservable3 } from "mobx";
164
149
  var BigNumberInputState = class {
165
150
  constructor(args) {
166
151
  this.value = new BigNumber2(0);
@@ -168,7 +153,7 @@ var BigNumberInputState = class {
168
153
  this.loading = false;
169
154
  this.decimals = 18;
170
155
  Object.assign(this, args);
171
- makeAutoObservable3(this);
156
+ makeAutoObservable(this);
172
157
  }
173
158
  get noDecimasValue() {
174
159
  return new BigNumber2(this.value).dividedBy(10 ** this.decimals);
@@ -193,12 +178,6 @@ var BigNumberInputState = class {
193
178
  return this.value.isZero() && this.format == "";
194
179
  }
195
180
  };
196
-
197
- // store/user.ts
198
- import { makeAutoObservable as makeAutoObservable4 } from "mobx";
199
- import EventEmitter from "events";
200
- import axios from "axios";
201
- import { useEffect } from "react";
202
181
  var UserStore = class _UserStore {
203
182
  constructor() {
204
183
  this.sid = "user";
@@ -208,7 +187,7 @@ var UserStore = class _UserStore {
208
187
  this.image = "";
209
188
  this.token = "";
210
189
  this.event = new EventEmitter();
211
- makeAutoObservable4(this);
190
+ makeAutoObservable(this);
212
191
  }
213
192
  signin() {
214
193
  this.event.emit("user:signin", this);
@@ -251,10 +230,6 @@ var UserStore = class _UserStore {
251
230
  }, []);
252
231
  }
253
232
  };
254
-
255
- // module/AppProvider.tsx
256
- import React from "react";
257
- import { observer } from "mobx-react-lite";
258
233
  var AppProvider = observer(({ children }) => {
259
234
  const rootStore2 = RootStore.init();
260
235
  return /* @__PURE__ */ React.createElement(React.Fragment, null, rootStore2.providers.map((store) => {
@@ -262,10 +237,6 @@ var AppProvider = observer(({ children }) => {
262
237
  return /* @__PURE__ */ React.createElement(Component, { rootStore: rootStore2, key: store.sid });
263
238
  }), children);
264
239
  });
265
-
266
- // lib/dexie.ts
267
- import DataLoader from "dataloader";
268
- import { Dexie } from "dexie";
269
240
  var DexieStorage = class extends Dexie {
270
241
  constructor() {
271
242
  super("cache");
@@ -344,22 +315,7 @@ var DexieCache = class {
344
315
  }
345
316
  };
346
317
  var cache = new DexieCache();
347
- export {
348
- AppProvider,
349
- BigNumberInputState,
350
- BigNumberState,
351
- BooleanState,
352
- NumberState,
353
- PromiseHook,
354
- PromiseState,
355
- RootStore,
356
- Store,
357
- StringState,
358
- UserStore,
359
- ValueState,
360
- cache,
361
- helper,
362
- rootStore,
363
- useStore
364
- };
318
+
319
+ export { AppProvider, BigNumberInputState, BigNumberState, PromiseHook, UserStore, cache };
320
+ //# sourceMappingURL=out.js.map
365
321
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../store/standard/PromiseHook.ts","../store/standard/BigNumberState.ts","../store/standard/BigNumberInputState.ts","../store/user.ts","../module/AppProvider.tsx","../lib/dexie.ts"],"sourcesContent":["\n\nimport { makeAutoObservable, observable } from 'mobx';\n\nexport class KV {\n //@ts-ignore\n static datas = observable();\n}\n\nexport abstract class ContractBase {\n // chainId?: number;\n // address?: string;\n\n}\n\nexport type ContractClass<T extends ContractBase> = new (args: Partial<T>) => T\n\nexport type PromiseHookData<T, U> = { value: Awaited<U>; get: T; call: T, loading: boolean }\n\nexport class PromiseHook {\n static entities = observable([]);\n static Get<T extends ContractBase>(cls: ContractClass<T>): (args: { args: Partial<T>; id?: string, select?: { [key in keyof Partial<T>]: boolean }, unselect?: { [key in keyof Partial<T>]: boolean } }) => Promise<T & { refresh: () => Promise<void> }> {\n try {\n return async ({ args, select, id, unselect }) => {\n let instance: any\n //@ts-ignore\n if (!id || !this.entities[id]) {\n instance = new cls(args);\n\n instance.refresh = async () => {\n const hooks = Object.entries(instance)\n .filter((i) => {\n if (!this.isPromiseHook(instance[i[0]])) return false\n if (select && !select[i[0]]) return false\n if (unselect && unselect[i[0]]) return false\n return true\n }).map(i => {\n const hook = instance[i[0]]\n return hook\n })\n\n await Promise.all(hooks.map((i) => i.call()));\n }\n if (id) {\n //@ts-ignore\n this.entities[id] = instance\n }\n } else {\n instance = this.entities[id!]\n }\n\n\n await instance.refresh()\n return instance;\n };\n } catch (e) {\n throw e\n }\n }\n\n\n static isPromiseHook(target) {\n return target?._type == \"promiseHook\"\n }\n\n\n //ttl : ms\n static wrap<T extends (...args: any[]) => Promise<any>, U = ReturnType<T>>({ func, defaultValue }: { func: T; defaultValue?: Awaited<U>; }): PromiseHookData<T, U> {\n let context;\n const call = () => {\n context.loading = true;\n if (!context._call) {\n context._call = func()\n .then((i) => {\n context.value = i;\n context.loading = false;\n context._call = null\n return i\n })\n .catch((i) => {\n console.error(i, func);\n context.value = defaultValue\n context._call = null\n context.loading = false;\n throw i;\n });\n }\n\n\n return context._call\n };\n const get = async () => {\n if (!context.value) {\n\n return call();\n }\n return context.value;\n };\n\n if (!context) {\n context = observable({\n _type: 'promiseHook',\n _value: defaultValue,\n get value() {\n return context['_value'];\n },\n set value(val) {\n context['_value'] = val;\n },\n get,\n loading: false,\n call,\n defaultValue,\n toJSON() {\n return context.value\n },\n toString() {\n return context.value\n },\n });\n }\n\n return context;\n }\n\n}\n","import BigNumber from \"bignumber.js\";\nimport { makeAutoObservable } from \"mobx\";\nimport { helper } from \"../../lib/helper\";\n\nexport class BigNumberState {\n value = new BigNumber(0);\n loading = false;\n decimals = 18;\n fixed = 6;\n formatter?: Function;\n constructor(args: Partial<BigNumberState>) {\n Object.assign(this, args);\n makeAutoObservable(this, {\n getFormat: false,\n });\n }\n get format() {\n if (this.loading) return \"...\";\n return this.getFormat();\n }\n\n getFormat({ decimals = this.decimals, fixed = this.fixed }: { decimals?: number; fixed?: number } = {}) {\n if (this.loading) return \"...\";\n if (this.formatter) return this.formatter(this);\n return helper.number.toPrecisionFloor(new BigNumber(this.value).dividedBy(10 ** decimals).toFixed(), {\n decimals: fixed,\n });\n }\n\n setDecimals(decimals: number) {\n this.decimals = decimals;\n }\n\n setValue(value: BigNumber) {\n this.value = value;\n this.setLoading(false);\n }\n\n setLoading(val) {\n this.loading = val;\n }\n}\n","import BigNumber from 'bignumber.js';\nimport { makeAutoObservable } from 'mobx';\nimport { helper } from '../../lib/helper';\nexport class BigNumberInputState {\n value = new BigNumber(0);\n format = '';\n loading = false;\n decimals = 18;\n formatter?: Function;\n constructor(args: Partial<BigNumberInputState>) {\n Object.assign(this, args);\n makeAutoObservable(this);\n }\n get noDecimasValue(): BigNumber {\n return new BigNumber(this.value).dividedBy(10 ** this.decimals);\n }\n setValue(value: any) {\n this.value = new BigNumber(value);\n this.format = helper.number.toPrecisionFloor(new BigNumber(this.value).dividedBy(10 ** this.decimals).toFixed());\n this.setLoading(false);\n }\n setFormat(val: any) {\n this.format = val;\n this.format = helper.number.toPrecisionFloor(this.format);\n this.value = new BigNumber(val).multipliedBy(10 ** this.decimals);\n }\n setLoading(val: boolean) {\n this.loading = val;\n }\n setDecimals(val: number) {\n this.decimals = val;\n }\n get isZero(): boolean {\n return this.value.isZero() && this.format == '';\n }\n}\n","import { makeAutoObservable } from \"mobx\";\nimport { type User } from \"next-auth\";\nimport EventEmitter from \"events\";\nimport { type Store } from \"./standard/base\";\nimport { rootStore } from \".\";\nimport axios from \"axios\";\nimport { useEffect } from \"react\";\n\nexport class UserStore implements User, Store {\n sid = \"user\";\n id: string = \"\";\n name?: string = \"\";\n email?: string = \"\";\n image?: string = \"\";\n token: string = \"\";\n\n event = new EventEmitter();\n\n signin() {\n this.event.emit(\"user:signin\", this);\n }\n\n logout() {\n this.set({\n token: \"\",\n name: \"\",\n email: \"\",\n image: \"\",\n });\n this.event.emit(\"user:logout\", this);\n }\n\n wait() {\n return new Promise<UserStore>((res, rej) => {\n if (this.id && this.token) {\n res(this);\n }\n\n this.event.once(\"user:ready\", (user) => {\n res(this);\n });\n });\n }\n\n get isLogin() {\n return !!this.token;\n }\n\n set(args: Partial<UserStore>) {\n Object.assign(this, args);\n this.event.emit(\"user:ready\", this);\n }\n\n constructor() {\n makeAutoObservable(this);\n }\n\n use() {\n useEffect(() => {\n const userStore = rootStore.get(UserStore);\n axios.get(\"/api/auth/session\").then((res) => {\n // console.log(res.data.user,'res')\n if (!userStore.isLogin && res?.data?.user) {\n this.set(res.data.user);\n }\n });\n }, []);\n }\n}\n","import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { RootStore } from \"../store/root\";\n\nexport const AppProvider = observer(({ children }: { children: any }) => {\n const rootStore = RootStore.init()\n return <>\n {rootStore.providers.map((store) => {\n const Component: any = store.provider;\n return <Component rootStore={rootStore} key={store.sid} />;\n })}\n {children}\n </>\n})","import DataLoader from 'dataloader'\nimport { Dexie, type Table } from 'dexie'\n\n\nexport class DexieStorage extends Dexie {\n kv: Table<{ key: string, value: { value: any, expiration: number } }>\n\n constructor() {\n super(\"cache\")\n this.version(1).stores({\n kv: 'key, value'\n })\n }\n}\nexport const dexie = new DexieStorage()\n\nexport class DexieCache {\n kv = dexie.kv\n kv_get = new DataLoader(async (ids: string[]) => {\n const res = await this.kv.bulkGet(ids)\n return res.map(i => i?.value)\n }, { cache: false })\n kv_set = new DataLoader(async (ids: { key: string, value: any, ttl: number }[]) => {\n const now = new Date()\n await this.kv.bulkPut(ids.map(i => ({ key: i.key, value: { value: i.value, expiration: now.setTime(now.getTime() + i.ttl) } })))\n return ids\n }, { cache: false })\n options = {\n ttl: 60 * 1000,\n prefix: ''\n }\n\n async get(_key) {\n const key = this.options.prefix + _key;\n console.time('get ' + key);\n const res = await this.kv_get.load(key);\n console.timeEnd('get ' + key);\n const data = res?.value\n if (!data) return;\n return data?.value;\n }\n\n async getRaw(_key) {\n const key = this.options.prefix + _key;\n console.time('get ' + key);\n const res = await this.kv_get.load(key);\n console.timeEnd('get ' + key);\n const data = res?.value\n if (!data) return;\n return data;\n }\n\n async set(_key, value, options?: { ttl?: number }) {\n const key = this.options.prefix + _key;\n this.kv_set.load({ key, value, ttl: options?.ttl || this.options.ttl });\n\n return this;\n }\n\n async delete(key) {\n // return this.dataloader.load(['del', key]);\n return\n }\n\n async clear() { }\n\n async wrap<T extends (...args: any[]) => Promise<any>, U = ReturnType<T>>(key, fn: T, args?: { ttl?: number, alowStale?: boolean }): Promise<Awaited<U>> {\n let data = await this.kv_get.load(key)\n if (data?.expiration && new Date(data.expiration) <= new Date()) {\n // console.log(\"cache expired\", key)\n\n if (args?.alowStale) {\n fn().then((value) => {\n this.kv_set.load({ key, value, ttl: args?.ttl || this.options.ttl })\n }).catch(err => {\n console.error(err)\n })\n } else {\n //@ts-ignore\n data = null;\n }\n }\n if (!data) {\n // console.log(\"miss cache\", key)\n const value = await fn();\n this.kv_set.load({ key, value, ttl: args?.ttl || this.options.ttl });\n return value;\n }\n return data.value;\n }\n}\n\nexport const cache = new DexieCache()\n\n"],"mappings":"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","names":["makeAutoObservable","makeAutoObservable","BigNumber","makeAutoObservable","BigNumber","makeAutoObservable","makeAutoObservable","makeAutoObservable","rootStore"]}
1
+ {"version":3,"sources":["../store/standard/PromiseHook.ts","../store/standard/BigNumberState.ts","../store/standard/BigNumberInputState.ts","../store/user.ts","../module/AppProvider.tsx","../lib/dexie.ts"],"names":["makeAutoObservable","BigNumber","rootStore"],"mappings":"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","sourcesContent":["\n\nimport { makeAutoObservable, observable } from 'mobx';\n\nexport class KV {\n //@ts-ignore\n static datas = observable();\n}\n\nexport abstract class ContractBase {\n // chainId?: number;\n // address?: string;\n\n}\n\nexport type ContractClass<T extends ContractBase> = new (args: Partial<T>) => T\n\nexport type PromiseHookData<T, U> = { value: Awaited<U>; get: T; call: T, loading: boolean }\n\nexport class PromiseHook {\n static entities = observable([]);\n static Get<T extends ContractBase>(cls: ContractClass<T>): (args: { args: Partial<T>; id?: string, select?: { [key in keyof Partial<T>]: boolean }, unselect?: { [key in keyof Partial<T>]: boolean } }) => Promise<T & { refresh: () => Promise<void> }> {\n try {\n return async ({ args, select, id, unselect }) => {\n let instance: any\n //@ts-ignore\n if (!id || !this.entities[id]) {\n instance = new cls(args);\n\n instance.refresh = async () => {\n const hooks = Object.entries(instance)\n .filter((i) => {\n if (!this.isPromiseHook(instance[i[0]])) return false\n if (select && !select[i[0]]) return false\n if (unselect && unselect[i[0]]) return false\n return true\n }).map(i => {\n const hook = instance[i[0]]\n return hook\n })\n\n await Promise.all(hooks.map((i) => i.call()));\n }\n if (id) {\n //@ts-ignore\n this.entities[id] = instance\n }\n } else {\n instance = this.entities[id!]\n }\n\n\n await instance.refresh()\n return instance;\n };\n } catch (e) {\n throw e\n }\n }\n\n\n static isPromiseHook(target) {\n return target?._type == \"promiseHook\"\n }\n\n\n //ttl : ms\n static wrap<T extends (...args: any[]) => Promise<any>, U = ReturnType<T>>({ func, defaultValue }: { func: T; defaultValue?: Awaited<U>; }): PromiseHookData<T, U> {\n let context;\n const call = () => {\n context.loading = true;\n if (!context._call) {\n context._call = func()\n .then((i) => {\n context.value = i;\n context.loading = false;\n context._call = null\n return i\n })\n .catch((i) => {\n console.error(i, func);\n context.value = defaultValue\n context._call = null\n context.loading = false;\n throw i;\n });\n }\n\n\n return context._call\n };\n const get = async () => {\n if (!context.value) {\n\n return call();\n }\n return context.value;\n };\n\n if (!context) {\n context = observable({\n _type: 'promiseHook',\n _value: defaultValue,\n get value() {\n return context['_value'];\n },\n set value(val) {\n context['_value'] = val;\n },\n get,\n loading: false,\n call,\n defaultValue,\n toJSON() {\n return context.value\n },\n toString() {\n return context.value\n },\n });\n }\n\n return context;\n }\n\n}\n","import BigNumber from \"bignumber.js\";\nimport { makeAutoObservable } from \"mobx\";\nimport { helper } from \"../../lib/helper\";\n\nexport class BigNumberState {\n value = new BigNumber(0);\n loading = false;\n decimals = 18;\n fixed = 6;\n formatter?: Function;\n constructor(args: Partial<BigNumberState>) {\n Object.assign(this, args);\n makeAutoObservable(this, {\n getFormat: false,\n });\n }\n get format() {\n if (this.loading) return \"...\";\n return this.getFormat();\n }\n\n getFormat({ decimals = this.decimals, fixed = this.fixed }: { decimals?: number; fixed?: number } = {}) {\n if (this.loading) return \"...\";\n if (this.formatter) return this.formatter(this);\n return helper.number.toPrecisionFloor(new BigNumber(this.value).dividedBy(10 ** decimals).toFixed(), {\n decimals: fixed,\n });\n }\n\n setDecimals(decimals: number) {\n this.decimals = decimals;\n }\n\n setValue(value: BigNumber) {\n this.value = value;\n this.setLoading(false);\n }\n\n setLoading(val) {\n this.loading = val;\n }\n}\n","import BigNumber from 'bignumber.js';\nimport { makeAutoObservable } from 'mobx';\nimport { helper } from '../../lib/helper';\nexport class BigNumberInputState {\n value = new BigNumber(0);\n format = '';\n loading = false;\n decimals = 18;\n formatter?: Function;\n constructor(args: Partial<BigNumberInputState>) {\n Object.assign(this, args);\n makeAutoObservable(this);\n }\n get noDecimasValue(): BigNumber {\n return new BigNumber(this.value).dividedBy(10 ** this.decimals);\n }\n setValue(value: any) {\n this.value = new BigNumber(value);\n this.format = helper.number.toPrecisionFloor(new BigNumber(this.value).dividedBy(10 ** this.decimals).toFixed());\n this.setLoading(false);\n }\n setFormat(val: any) {\n this.format = val;\n this.format = helper.number.toPrecisionFloor(this.format);\n this.value = new BigNumber(val).multipliedBy(10 ** this.decimals);\n }\n setLoading(val: boolean) {\n this.loading = val;\n }\n setDecimals(val: number) {\n this.decimals = val;\n }\n get isZero(): boolean {\n return this.value.isZero() && this.format == '';\n }\n}\n","import { makeAutoObservable } from \"mobx\";\nimport { type User } from \"next-auth\";\nimport EventEmitter from \"events\";\nimport { type Store } from \"./standard/base\";\nimport { rootStore } from \".\";\nimport axios from \"axios\";\nimport { useEffect } from \"react\";\n\nexport class UserStore implements User, Store {\n sid = \"user\";\n id: string = \"\";\n name?: string = \"\";\n email?: string = \"\";\n image?: string = \"\";\n token: string = \"\";\n\n event = new EventEmitter();\n\n signin() {\n this.event.emit(\"user:signin\", this);\n }\n\n logout() {\n this.set({\n token: \"\",\n name: \"\",\n email: \"\",\n image: \"\",\n });\n this.event.emit(\"user:logout\", this);\n }\n\n wait() {\n return new Promise<UserStore>((res, rej) => {\n if (this.id && this.token) {\n res(this);\n }\n\n this.event.once(\"user:ready\", (user) => {\n res(this);\n });\n });\n }\n\n get isLogin() {\n return !!this.token;\n }\n\n set(args: Partial<UserStore>) {\n Object.assign(this, args);\n this.event.emit(\"user:ready\", this);\n }\n\n constructor() {\n makeAutoObservable(this);\n }\n\n use() {\n useEffect(() => {\n const userStore = rootStore.get(UserStore);\n axios.get(\"/api/auth/session\").then((res) => {\n // console.log(res.data.user,'res')\n if (!userStore.isLogin && res?.data?.user) {\n this.set(res.data.user);\n }\n });\n }, []);\n }\n}\n","import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { RootStore } from \"../store/root\";\n\nexport const AppProvider = observer(({ children }: { children: any }) => {\n const rootStore = RootStore.init()\n return <>\n {rootStore.providers.map((store) => {\n const Component: any = store.provider;\n return <Component rootStore={rootStore} key={store.sid} />;\n })}\n {children}\n </>\n})","import DataLoader from 'dataloader'\nimport { Dexie, type Table } from 'dexie'\n\n\nexport class DexieStorage extends Dexie {\n kv: Table<{ key: string, value: { value: any, expiration: number } }>\n\n constructor() {\n super(\"cache\")\n this.version(1).stores({\n kv: 'key, value'\n })\n }\n}\nexport const dexie = new DexieStorage()\n\nexport class DexieCache {\n kv = dexie.kv\n kv_get = new DataLoader(async (ids: string[]) => {\n const res = await this.kv.bulkGet(ids)\n return res.map(i => i?.value)\n }, { cache: false })\n kv_set = new DataLoader(async (ids: { key: string, value: any, ttl: number }[]) => {\n const now = new Date()\n await this.kv.bulkPut(ids.map(i => ({ key: i.key, value: { value: i.value, expiration: now.setTime(now.getTime() + i.ttl) } })))\n return ids\n }, { cache: false })\n options = {\n ttl: 60 * 1000,\n prefix: ''\n }\n\n async get(_key) {\n const key = this.options.prefix + _key;\n console.time('get ' + key);\n const res = await this.kv_get.load(key);\n console.timeEnd('get ' + key);\n const data = res?.value\n if (!data) return;\n return data?.value;\n }\n\n async getRaw(_key) {\n const key = this.options.prefix + _key;\n console.time('get ' + key);\n const res = await this.kv_get.load(key);\n console.timeEnd('get ' + key);\n const data = res?.value\n if (!data) return;\n return data;\n }\n\n async set(_key, value, options?: { ttl?: number }) {\n const key = this.options.prefix + _key;\n this.kv_set.load({ key, value, ttl: options?.ttl || this.options.ttl });\n\n return this;\n }\n\n async delete(key) {\n // return this.dataloader.load(['del', key]);\n return\n }\n\n async clear() { }\n\n async wrap<T extends (...args: any[]) => Promise<any>, U = ReturnType<T>>(key, fn: T, args?: { ttl?: number, alowStale?: boolean }): Promise<Awaited<U>> {\n let data = await this.kv_get.load(key)\n if (data?.expiration && new Date(data.expiration) <= new Date()) {\n // console.log(\"cache expired\", key)\n\n if (args?.alowStale) {\n fn().then((value) => {\n this.kv_set.load({ key, value, ttl: args?.ttl || this.options.ttl })\n }).catch(err => {\n console.error(err)\n })\n } else {\n //@ts-ignore\n data = null;\n }\n }\n if (!data) {\n // console.log(\"miss cache\", key)\n const value = await fn();\n this.kv_set.load({ key, value, ttl: args?.ttl || this.options.ttl });\n return value;\n }\n return data.value;\n }\n}\n\nexport const cache = new DexieCache()\n\n"]}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { S as Store } from './root-766ae985.js';
2
+ import { S as Store } from './root-C3lZnoCI.js';
3
3
  import 'typed-emitter';
4
4
 
5
5
  declare class DevInspectorPlugin implements Store {
@@ -1,8 +1,7 @@
1
- import "./chunk-5E65QCNB.mjs";
1
+ import './chunk-R4SQKVDQ.mjs';
2
+ import React from 'react';
3
+ import { Inspector } from 'react-dev-inspector';
2
4
 
3
- // module/DevInspector/index.tsx
4
- import React from "react";
5
- import { Inspector } from "react-dev-inspector";
6
5
  var DevInspectorPlugin = class {
7
6
  constructor(args = {}) {
8
7
  this.sid = "DevInspectorPlugin";
@@ -27,7 +26,7 @@ var DevInspectorPlugin = class {
27
26
  Object.assign(this, args);
28
27
  }
29
28
  };
30
- export {
31
- DevInspectorPlugin
32
- };
29
+
30
+ export { DevInspectorPlugin };
31
+ //# sourceMappingURL=out.js.map
33
32
  //# sourceMappingURL=inspector.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../module/DevInspector/index.tsx"],"sourcesContent":["import React from 'react';\nimport { Inspector, InspectParams } from 'react-dev-inspector';\nimport { Store } from '../../store/standard/base';\n\nexport class DevInspectorPlugin implements Store {\n sid = 'DevInspectorPlugin';\n stype = \"Plugin\"\n autoObservable = false;\n disabled = false;\n\n constructor(args: Partial<DevInspectorPlugin> = {}) {\n Object.assign(this, args);\n }\n\n provider = () => {\n return (\n <Inspector\n // props see docs:\n // https://github.com/zthxxx/react-dev-inspector#inspector-component-props\n keys={['control', 'shift', 'command', 'c']}\n disableLaunchEditor={true}\n onClickElement={({ codeInfo }: InspectParams) => {\n if (!codeInfo?.absolutePath) return\n const { absolutePath, lineNumber, columnNumber } = codeInfo\n // you can change the url protocol if you are using in Web IDE\n window.open(`vscode://file/${absolutePath}:${lineNumber}:${columnNumber}`)\n }}\n />\n );\n };\n}\n"],"mappings":";;;AAAA,OAAO,WAAW;AAClB,SAAS,iBAAgC;AAGlC,IAAM,qBAAN,MAA0C;AAAA,EAM/C,YAAY,OAAoC,CAAC,GAAG;AALpD,eAAM;AACN,iBAAQ;AACR,0BAAiB;AACjB,oBAAW;AAMX,oBAAW,MAAM;AACf,aACE;AAAA,QAAC;AAAA;AAAA,UAGC,MAAM,CAAC,WAAW,SAAS,WAAW,GAAG;AAAA,UACzC,qBAAqB;AAAA,UACrB,gBAAgB,CAAC,EAAE,SAAS,MAAqB;AAC/C,gBAAI,EAAC,qCAAU;AAAc;AAC7B,kBAAM,EAAE,cAAc,YAAY,aAAa,IAAI;AAEnD,mBAAO,KAAK,iBAAiB,YAAY,IAAI,UAAU,IAAI,YAAY,EAAE;AAAA,UAC3E;AAAA;AAAA,MACF;AAAA,IAEJ;AAlBE,WAAO,OAAO,MAAM,IAAI;AAAA,EAC1B;AAkBF;","names":[]}
1
+ {"version":3,"sources":["../module/DevInspector/index.tsx"],"names":[],"mappings":";;;AAAA,OAAO,WAAW;AAClB,SAAS,iBAAgC;AAGlC,IAAM,qBAAN,MAA0C;AAAA,EAM/C,YAAY,OAAoC,CAAC,GAAG;AALpD,eAAM;AACN,iBAAQ;AACR,0BAAiB;AACjB,oBAAW;AAMX,oBAAW,MAAM;AACf,aACE;AAAA,QAAC;AAAA;AAAA,UAGC,MAAM,CAAC,WAAW,SAAS,WAAW,GAAG;AAAA,UACzC,qBAAqB;AAAA,UACrB,gBAAgB,CAAC,EAAE,SAAS,MAAqB;AAC/C,gBAAI,EAAC,qCAAU;AAAc;AAC7B,kBAAM,EAAE,cAAc,YAAY,aAAa,IAAI;AAEnD,mBAAO,KAAK,iBAAiB,YAAY,IAAI,UAAU,IAAI,YAAY,EAAE;AAAA,UAC3E;AAAA;AAAA,MACF;AAAA,IAEJ;AAlBE,WAAO,OAAO,MAAM,IAAI;AAAA,EAC1B;AAkBF","sourcesContent":["import React from 'react';\nimport { Inspector, InspectParams } from 'react-dev-inspector';\nimport { Store } from '../../store/standard/base';\n\nexport class DevInspectorPlugin implements Store {\n sid = 'DevInspectorPlugin';\n stype = \"Plugin\"\n autoObservable = false;\n disabled = false;\n\n constructor(args: Partial<DevInspectorPlugin> = {}) {\n Object.assign(this, args);\n }\n\n provider = () => {\n return (\n <Inspector\n // props see docs:\n // https://github.com/zthxxx/react-dev-inspector#inspector-component-props\n keys={['control', 'shift', 'command', 'c']}\n disableLaunchEditor={true}\n onClickElement={({ codeInfo }: InspectParams) => {\n if (!codeInfo?.absolutePath) return\n const { absolutePath, lineNumber, columnNumber } = codeInfo\n // you can change the url protocol if you are using in Web IDE\n window.open(`vscode://file/${absolutePath}:${lineNumber}:${columnNumber}`)\n }}\n />\n );\n };\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { ButtonProps } from '@nextui-org/react';
3
- import { P as PaginationState } from './PaginationState-c19e621a.js';
3
+ import { P as PaginationState } from './PaginationState-Bmrrw0ky.js';
4
4
 
5
5
  type ActionButtonType = {
6
6
  props?: ButtonProps;
@@ -72,4 +72,4 @@ declare const JSONTable: (<T extends {}>(props: JSONTableProps<T>) => React.JSX.
72
72
  displayName: string;
73
73
  };
74
74
 
75
- export { ActionButtonType, ActionsType, Column, ColumnOptions, ExtendedTable, JSONTable };
75
+ export { type ActionButtonType, type ActionsType, type Column, type ColumnOptions, type ExtendedTable, JSONTable };
@@ -1,15 +1,11 @@
1
- import {
2
- JSONTable
3
- } from "./chunk-AJ6UVJXP.mjs";
4
- import "./chunk-ONVPCAMQ.mjs";
5
- import "./chunk-74WDT7TZ.mjs";
6
- import "./chunk-SXQEYWUP.mjs";
7
- import "./chunk-HRWHDF2F.mjs";
8
- import "./chunk-G55EHFDV.mjs";
9
- import "./chunk-DUK5IHQE.mjs";
10
- import "./chunk-FOR424HO.mjs";
11
- import "./chunk-5E65QCNB.mjs";
12
- export {
13
- JSONTable
14
- };
1
+ export { JSONTable } from './chunk-IKFUALQ2.mjs';
2
+ import './chunk-ONVPCAMQ.mjs';
3
+ import './chunk-QO5RPRUY.mjs';
4
+ import './chunk-OCLML5CM.mjs';
5
+ import './chunk-XJMRAPHI.mjs';
6
+ import './chunk-7FI42NGB.mjs';
7
+ import './chunk-7LQSAVH2.mjs';
8
+ import './chunk-AIZ7XDNV.mjs';
9
+ import './chunk-R4SQKVDQ.mjs';
10
+ //# sourceMappingURL=out.js.map
15
11
  //# sourceMappingURL=jsontable.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -95,4 +95,4 @@ declare const MetricsView: ({ data }: {
95
95
  data: JSONMetricsViewType;
96
96
  }) => React.JSX.Element;
97
97
 
98
- export { JSONMetricsView, JSONMetricsViewType, MetricsView };
98
+ export { JSONMetricsView, type JSONMetricsViewType, MetricsView };
package/dist/metrics.mjs CHANGED
@@ -1,30 +1,16 @@
1
- import {
2
- JSONTable_default
3
- } from "./chunk-AJ6UVJXP.mjs";
4
- import "./chunk-ONVPCAMQ.mjs";
5
- import "./chunk-74WDT7TZ.mjs";
6
- import "./chunk-SXQEYWUP.mjs";
7
- import "./chunk-HRWHDF2F.mjs";
8
- import "./chunk-G55EHFDV.mjs";
9
- import "./chunk-DUK5IHQE.mjs";
10
- import {
11
- cn
12
- } from "./chunk-FOR424HO.mjs";
13
- import {
14
- __spreadValues
15
- } from "./chunk-5E65QCNB.mjs";
1
+ import { JSONTable_default } from './chunk-IKFUALQ2.mjs';
2
+ import './chunk-ONVPCAMQ.mjs';
3
+ import './chunk-QO5RPRUY.mjs';
4
+ import './chunk-OCLML5CM.mjs';
5
+ import './chunk-XJMRAPHI.mjs';
6
+ import './chunk-7FI42NGB.mjs';
7
+ import './chunk-7LQSAVH2.mjs';
8
+ import { cn } from './chunk-AIZ7XDNV.mjs';
9
+ import { __spreadValues } from './chunk-R4SQKVDQ.mjs';
10
+ import React from 'react';
11
+ import { Grid, Col, BarChart, LineChart, AreaChart, DonutChart, Text } from '@tremor/react';
12
+ import { Card } from '@nextui-org/react';
16
13
 
17
- // components/JSONMetricsView/index.tsx
18
- import React9 from "react";
19
- import { Col, Grid } from "@tremor/react";
20
-
21
- // components/JSONMetricsView/BarChartCard/index.tsx
22
- import React2 from "react";
23
- import { BarChart } from "@tremor/react";
24
-
25
- // components/JSONMetricsView/ChartBox/index.tsx
26
- import React from "react";
27
- import { Card } from "@nextui-org/react";
28
14
  var ChartBox = ({ title, description, error, children, className }) => {
29
15
  return /* @__PURE__ */ React.createElement(Card, { className: cn("dark:border-gray-800", className), shadow: "sm" }, /* @__PURE__ */ React.createElement("div", { className: "p-4 h-[60px]" }, /* @__PURE__ */ React.createElement("div", null, title), description && /* @__PURE__ */ React.createElement("div", { className: "text-xs" }, description)), /* @__PURE__ */ React.createElement("div", { className: "px-2 pb-5" }, error ? /* @__PURE__ */ React.createElement("div", { className: "text-red-600" }, error) : children));
30
16
  };
@@ -40,7 +26,7 @@ var BarChartCard = (props) => {
40
26
  showGridLines = false,
41
27
  stack = false
42
28
  } = props;
43
- return /* @__PURE__ */ React2.createElement(ChartBox, __spreadValues({}, props), /* @__PURE__ */ React2.createElement(
29
+ return /* @__PURE__ */ React.createElement(ChartBox, __spreadValues({}, props), /* @__PURE__ */ React.createElement(
44
30
  BarChart,
45
31
  {
46
32
  className: "h-72 mt-4",
@@ -56,10 +42,6 @@ var BarChartCard = (props) => {
56
42
  }
57
43
  ));
58
44
  };
59
-
60
- // components/JSONMetricsView/LineChartCard/index.tsx
61
- import React3 from "react";
62
- import { LineChart } from "@tremor/react";
63
45
  var LineChartCard = (props) => {
64
46
  const {
65
47
  data = [],
@@ -70,7 +52,7 @@ var LineChartCard = (props) => {
70
52
  showGridLines = false,
71
53
  curveType = "linear"
72
54
  } = props;
73
- return /* @__PURE__ */ React3.createElement(ChartBox, __spreadValues({}, props), /* @__PURE__ */ React3.createElement(
55
+ return /* @__PURE__ */ React.createElement(ChartBox, __spreadValues({}, props), /* @__PURE__ */ React.createElement(
74
56
  LineChart,
75
57
  {
76
58
  className: "h-72 mt-4",
@@ -85,10 +67,6 @@ var LineChartCard = (props) => {
85
67
  }
86
68
  ));
87
69
  };
88
-
89
- // components/JSONMetricsView/AreaChartCard/index.tsx
90
- import React4 from "react";
91
- import { AreaChart } from "@tremor/react";
92
70
  var AreaChartCard = (props) => {
93
71
  const {
94
72
  data = [],
@@ -100,7 +78,7 @@ var AreaChartCard = (props) => {
100
78
  stack = false,
101
79
  curveType = "linear"
102
80
  } = props;
103
- return /* @__PURE__ */ React4.createElement(ChartBox, __spreadValues({}, props), /* @__PURE__ */ React4.createElement(
81
+ return /* @__PURE__ */ React.createElement(ChartBox, __spreadValues({}, props), /* @__PURE__ */ React.createElement(
104
82
  AreaChart,
105
83
  {
106
84
  className: "h-72 mt-4",
@@ -116,14 +94,10 @@ var AreaChartCard = (props) => {
116
94
  }
117
95
  ));
118
96
  };
119
-
120
- // components/JSONMetricsView/DonutChartCard/index.tsx
121
- import React5 from "react";
122
- import { DonutChart } from "@tremor/react";
123
97
  var DonutChartCard = (props) => {
124
98
  const { data = [], categories = ["value"], index = "name", valueFormatter = (number) => `${number}`, showLabel = true, variant = "donut" } = props;
125
99
  const category = categories[0];
126
- return /* @__PURE__ */ React5.createElement(ChartBox, __spreadValues({}, props), /* @__PURE__ */ React5.createElement(
100
+ return /* @__PURE__ */ React.createElement(ChartBox, __spreadValues({}, props), /* @__PURE__ */ React.createElement(
127
101
  DonutChart,
128
102
  {
129
103
  className: "h-72 mt-4",
@@ -137,16 +111,13 @@ var DonutChartCard = (props) => {
137
111
  }
138
112
  ));
139
113
  };
140
-
141
- // components/JSONMetricsView/CountCard/index.tsx
142
- import React6 from "react";
143
114
  var CountCard = (props) => {
144
115
  var _a;
145
116
  if (!((_a = props.data) == null ? void 0 : _a.length)) {
146
- return /* @__PURE__ */ React6.createElement(ChartBox, __spreadValues({}, props), /* @__PURE__ */ React6.createElement("div", { className: "mt-2 ml-2 text-2xl overflow-auto" }, /* @__PURE__ */ React6.createElement("span", { className: "text-gray-400" }, "No data")));
117
+ return /* @__PURE__ */ React.createElement(ChartBox, __spreadValues({}, props), /* @__PURE__ */ React.createElement("div", { className: "mt-2 ml-2 text-2xl overflow-auto" }, /* @__PURE__ */ React.createElement("span", { className: "text-gray-400" }, "No data")));
147
118
  }
148
119
  const value = Object.values(props.data[0])[0];
149
- return /* @__PURE__ */ React6.createElement(ChartBox, __spreadValues({}, props), /* @__PURE__ */ React6.createElement("div", { className: "mt-2 ml-2 font-bold text-2xl overflow-auto" }, renderValue(value)));
120
+ return /* @__PURE__ */ React.createElement(ChartBox, __spreadValues({}, props), /* @__PURE__ */ React.createElement("div", { className: "mt-2 ml-2 font-bold text-2xl overflow-auto" }, renderValue(value)));
150
121
  };
151
122
  function renderValue(v) {
152
123
  if (typeof v == "string" || typeof v == "number") {
@@ -154,17 +125,10 @@ function renderValue(v) {
154
125
  }
155
126
  return JSON.stringify(v);
156
127
  }
157
-
158
- // components/JSONMetricsView/TableCard/index.tsx
159
- import React7 from "react";
160
128
  var TableCard = (props) => {
161
129
  const { data = [], columnOptions = {} } = props;
162
- return /* @__PURE__ */ React7.createElement(ChartBox, __spreadValues({}, props), (data == null ? void 0 : data.length) > 0 ? /* @__PURE__ */ React7.createElement(JSONTable_default, { dataSource: data, columnOptions, className: "h-[256px]" }) : /* @__PURE__ */ React7.createElement("div", { className: "h-[256px] flex justify-center items-center text-gray-400" }, "No data"));
130
+ return /* @__PURE__ */ React.createElement(ChartBox, __spreadValues({}, props), (data == null ? void 0 : data.length) > 0 ? /* @__PURE__ */ React.createElement(JSONTable_default, { dataSource: data, columnOptions, className: "h-[256px]" }) : /* @__PURE__ */ React.createElement("div", { className: "h-[256px] flex justify-center items-center text-gray-400" }, "No data"));
163
131
  };
164
-
165
- // components/JSONMetricsView/KPICard/index.tsx
166
- import React8 from "react";
167
- import { AreaChart as AreaChart2, LineChart as LineChart2, Text } from "@tremor/react";
168
132
  var KPICard = (props) => {
169
133
  const {
170
134
  metricTitle,
@@ -176,8 +140,8 @@ var KPICard = (props) => {
176
140
  valueFormatter = (number) => `${number}`,
177
141
  curveType = "linear"
178
142
  } = props;
179
- const ChartComp = chartType === "area" ? AreaChart2 : LineChart2;
180
- return /* @__PURE__ */ React8.createElement(ChartBox, __spreadValues({}, props), /* @__PURE__ */ React8.createElement("div", { className: "mt-4 space-x-6 px-2 flex items-center" }, /* @__PURE__ */ React8.createElement("div", { className: "w-auto" }, /* @__PURE__ */ React8.createElement(Text, { className: "whitespace-nowrap" }, metricTitle), /* @__PURE__ */ React8.createElement("div", { className: "font-bold text-3xl" }, metric)), /* @__PURE__ */ React8.createElement(
143
+ const ChartComp = chartType === "area" ? AreaChart : LineChart;
144
+ return /* @__PURE__ */ React.createElement(ChartBox, __spreadValues({}, props), /* @__PURE__ */ React.createElement("div", { className: "mt-4 space-x-6 px-2 flex items-center" }, /* @__PURE__ */ React.createElement("div", { className: "w-auto" }, /* @__PURE__ */ React.createElement(Text, { className: "whitespace-nowrap" }, metricTitle), /* @__PURE__ */ React.createElement("div", { className: "font-bold text-3xl" }, metric)), /* @__PURE__ */ React.createElement(
181
145
  ChartComp,
182
146
  {
183
147
  className: "overflow-hidden",
@@ -208,18 +172,17 @@ var components = {
208
172
  KPICard
209
173
  };
210
174
  var JSONMetricsView = ({ data }) => {
211
- return /* @__PURE__ */ React9.createElement(Grid, { numItems: 1, numItemsSm: 1, numItemsLg: 2, numItemsMd: 2, className: "gap-2" }, data.map((item, index) => {
175
+ return /* @__PURE__ */ React.createElement(Grid, { numItems: 1, numItemsSm: 1, numItemsLg: 2, numItemsMd: 2, className: "gap-2" }, data.map((item, index) => {
212
176
  var _a;
213
177
  const Component = components[item.type];
214
- return /* @__PURE__ */ React9.createElement(Col, { key: index, numColSpanSm: 1, numColSpanMd: (_a = item.numColSpanMd) != null ? _a : 1 }, /* @__PURE__ */ React9.createElement(Component, __spreadValues({}, item)));
178
+ return /* @__PURE__ */ React.createElement(Col, { key: index, numColSpanSm: 1, numColSpanMd: (_a = item.numColSpanMd) != null ? _a : 1 }, /* @__PURE__ */ React.createElement(Component, __spreadValues({}, item)));
215
179
  }));
216
180
  };
217
181
  var MetricsView = ({ data }) => {
218
182
  const Comp = components[data.type];
219
- return /* @__PURE__ */ React9.createElement(Comp, __spreadValues({}, data));
220
- };
221
- export {
222
- JSONMetricsView,
223
- MetricsView
183
+ return /* @__PURE__ */ React.createElement(Comp, __spreadValues({}, data));
224
184
  };
185
+
186
+ export { JSONMetricsView, MetricsView };
187
+ //# sourceMappingURL=out.js.map
225
188
  //# sourceMappingURL=metrics.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../components/JSONMetricsView/index.tsx","../components/JSONMetricsView/BarChartCard/index.tsx","../components/JSONMetricsView/ChartBox/index.tsx","../components/JSONMetricsView/LineChartCard/index.tsx","../components/JSONMetricsView/AreaChartCard/index.tsx","../components/JSONMetricsView/DonutChartCard/index.tsx","../components/JSONMetricsView/CountCard/index.tsx","../components/JSONMetricsView/TableCard/index.tsx","../components/JSONMetricsView/KPICard/index.tsx"],"sourcesContent":["import React from 'react';\nimport { Col, Grid } from '@tremor/react';\nimport { BarChartCard } from './BarChartCard';\nimport { LineChartCard } from './LineChartCard';\nimport { AreaChartCard } from './AreaChartCard';\nimport { DonutChartCard } from './DonutChartCard';\nimport { CountCard } from './CountCard';\nimport { TableCard } from './TableCard';\nimport { KPICard } from './KPICard';\n\n\nexport type JSONMetricsViewType = AreaChartCard | LineChartCard | BarChartCard | DonutChartCard | CountCard | TableCard | KPICard;\n\nconst components = {\n AreaChartCard,\n LineChartCard,\n BarChartCard,\n DonutChartCard,\n CountCard,\n TableCard,\n KPICard,\n};\n\n\nconst JSONMetricsView = ({ data }: { data: JSONMetricsViewType[] }) => {\n return (\n <Grid numItems={1} numItemsSm={1} numItemsLg={2} numItemsMd={2} className=\"gap-2\">\n {data.map((item, index) => {\n //@ts-ignore\n const Component = components[item.type];\n return (\n <Col key={index} numColSpanSm={1} numColSpanMd={item.numColSpanMd ?? 1}>\n {/* @ts-ignore */}\n <Component {...item} />\n </Col>\n );\n })}\n </Grid>\n );\n};\n\nexport const MetricsView = ({ data }: { data: JSONMetricsViewType }) => {\n //@ts-ignore\n const Comp = components[data.type];\n // @ts-ignore\n return <Comp {...data} />;\n};\n\nexport { JSONMetricsView };\n","import React from 'react';\nimport { BarChart, ValueFormatter } from '@tremor/react';\nimport { ChartBox } from '../ChartBox';\n\nexport type BarChartCard = ChartBox & {\n type?: 'BarChartCard',\n categories?: string[];\n index?: string;\n valueFormatter?: ValueFormatter;\n showLegend?: boolean;\n showGridLines?: boolean;\n stack?: boolean;\n}\n\nexport const BarChartCard = (props: BarChartCard) => {\n const {\n data = [], categories = ['value'], index = 'date', valueFormatter = (number) => `${number}`,\n showLegend = false, showGridLines = false, stack = false\n } = props;\n\n return (\n <ChartBox {...props}>\n <BarChart\n className=\"h-72 mt-4\"\n data={data}\n index={index}\n categories={categories}\n colors={[\"indigo\", \"cyan\", \"teal\", \"green\", \"yellow\", \"orange\", \"red\", \"slate\", \"violet\", \"rose\", \"pink\", \"purple\", \"blue\"]}\n valueFormatter={valueFormatter}\n yAxisWidth={48}\n showLegend={showLegend}\n showGridLines={showGridLines}\n stack={stack}\n />\n </ChartBox>\n );\n};\n","import React from 'react';\nimport { cn } from '../../../lib/utils';\nimport { Card, Skeleton, Spinner } from '@nextui-org/react';\n\nexport interface ChartBox {\n title?: React.ReactNode;\n description?: string;\n error?: string;\n data?: {\n [key: string]: any;\n }[];\n children?: React.ReactNode;\n gridH?: number; // grid units, not pixels\n numColSpanMd?: number;\n className?: string;\n}\n\nexport const ChartBox = ({ title, description, error, children, className }: ChartBox) => {\n return (\n <Card className={cn('dark:border-gray-800', className)} shadow='sm'>\n <div className='p-4 h-[60px]'>\n <div>{title}</div>\n {description && <div className='text-xs'>{description}</div>}\n </div>\n <div className=\"px-2 pb-5\">\n {error ? <div className=\"text-red-600\">{error}</div> : children}\n </div>\n </Card>\n );\n};\n","import React from 'react';\nimport { LineChart, ValueFormatter } from '@tremor/react';\nimport { ChartBox } from '../ChartBox';\n\nexport type LineChartCard = ChartBox & {\n type?: 'LineChartCard';\n categories?: string[];\n index?: string;\n valueFormatter?: ValueFormatter;\n showLegend?: boolean;\n showGridLines?: boolean;\n curveType?: 'linear' | 'natural' | 'step'\n}\n\nexport const LineChartCard = (props: LineChartCard) => {\n const {\n data = [], categories = ['value'], index = 'date', valueFormatter = (number) => `${number}`,\n showLegend = false, showGridLines = false, curveType = 'linear'\n } = props;\n\n return (\n <ChartBox {...props}>\n <LineChart\n className=\"h-72 mt-4\"\n data={data}\n index={index}\n categories={categories}\n colors={[\"indigo\", \"cyan\", \"teal\", \"green\", \"yellow\", \"orange\", \"red\", \"slate\", \"violet\", \"rose\", \"pink\", \"purple\", \"blue\"]}\n valueFormatter={valueFormatter}\n showLegend={showLegend}\n showGridLines={showGridLines}\n curveType={curveType}\n />\n </ChartBox>\n );\n};\n","import React from 'react';\nimport { AreaChart, ValueFormatter } from '@tremor/react';\nimport { ChartBox } from '../ChartBox';\n\nexport type AreaChartCard = ChartBox & {\n type?: 'AreaChartCard';\n categories?: string[];\n index?: string;\n valueFormatter?: ValueFormatter;\n showLegend?: boolean;\n showGridLines?: boolean;\n stack?: boolean;\n curveType?: 'linear' | 'natural' | 'step'\n}\n\nexport const AreaChartCard = (props: AreaChartCard) => {\n const {\n data = [], categories = ['value'], index = 'date', valueFormatter = (number) => `${number}`,\n showLegend = false, showGridLines = false, stack = false, curveType = 'linear'\n } = props;\n\n return (\n <ChartBox {...props}>\n <AreaChart\n className=\"h-72 mt-4\"\n data={data}\n index={index}\n categories={categories}\n colors={[\"indigo\", \"cyan\", \"teal\", \"green\", \"yellow\", \"orange\", \"red\", \"slate\", \"violet\", \"rose\", \"pink\", \"purple\", \"blue\"]}\n valueFormatter={valueFormatter}\n showLegend={showLegend}\n showGridLines={showGridLines}\n stack={stack}\n curveType={curveType}\n />\n </ChartBox>\n );\n};\n","import React from 'react';\nimport { DonutChart, ValueFormatter } from '@tremor/react';\nimport { ChartBox } from '../ChartBox';\n\nexport type DonutChartCard = ChartBox & {\n type?: 'DonutChartCard',\n categories?: string[];\n index?: string;\n valueFormatter?: ValueFormatter;\n showLabel?: boolean;\n variant?: 'donut' | 'pie'\n}\n\nexport const DonutChartCard = (props: DonutChartCard) => {\n const { data = [], categories = ['value'], index = 'name', valueFormatter = (number) => `${number}`, showLabel = true, variant = 'donut' } = props;\n const category = categories[0];\n return (\n <ChartBox {...props}>\n <DonutChart\n className=\"h-72 mt-4\"\n data={data}\n index={index}\n category={category}\n colors={[\"indigo\", \"cyan\", \"teal\", \"green\", \"yellow\", \"orange\", \"red\", \"slate\", \"violet\", \"rose\", \"pink\", \"purple\", \"blue\"]}\n valueFormatter={valueFormatter}\n showLabel={showLabel}\n variant={variant}\n />\n </ChartBox>\n );\n};\n","import React from 'react';\nimport { ChartBox } from '../ChartBox';\n\nexport type CountCard = ChartBox & {\n type?: 'CountCard';\n};\n\nexport const CountCard = (props: CountCard) => {\n if (!props.data?.length) {\n return (\n <ChartBox {...props}>\n <div className=\"mt-2 ml-2 text-2xl overflow-auto\">\n <span className=\"text-gray-400\">No data</span>\n </div>\n </ChartBox>\n )\n }\n\n const value = Object.values(props.data[0])[0];\n return (\n <ChartBox {...props}>\n <div className=\"mt-2 ml-2 font-bold text-2xl overflow-auto\">{renderValue(value)}</div>\n </ChartBox>\n );\n};\n\nfunction renderValue(v: any) {\n if (typeof v == 'string' || typeof v == 'number') {\n return v;\n }\n return JSON.stringify(v);\n}\n","import React from 'react';\nimport { ChartBox } from '../ChartBox';\nimport JSONTable from '../../JSONTable';\n\nexport type TableCard = ChartBox & {\n type?: 'TableCard';\n columnOptions?: {\n [key: string]: {\n label: string;\n hidden: boolean;\n }\n }\n}\n\nexport const TableCard = (props: TableCard) => {\n const { data = [], columnOptions = {} } = props;\n\n return (\n <ChartBox {...props}>\n {data?.length > 0\n ? <JSONTable dataSource={data} columnOptions={columnOptions} className=\"h-[256px]\" />\n : <div className=\"h-[256px] flex justify-center items-center text-gray-400\">No data</div>\n }\n </ChartBox>\n );\n};\n","import React from 'react';\nimport { AreaChart, LineChart, Text, ValueFormatter } from '@tremor/react';\nimport { ChartBox } from '../ChartBox';\n\nexport type KPICard = ChartBox & {\n type?: 'KPICard';\n categories?: string[];\n index?: string;\n valueFormatter?: ValueFormatter;\n curveType?: 'linear' | 'natural' | 'step';\n metricTitle?: string;\n metric?: string | number;\n chartType?: 'area' | 'line';\n}\n\nexport const KPICard = (props: KPICard) => {\n const {\n metricTitle, metric, chartType = 'area', data = [], categories = ['value'], index = 'date', valueFormatter = (number) => `${number}`, curveType = 'linear'\n } = props;\n\n const ChartComp = chartType === 'area' ? AreaChart : LineChart;\n\n return (\n <ChartBox {...props}>\n <div className=\"mt-4 space-x-6 px-2 flex items-center\">\n <div className='w-auto'>\n <Text className='whitespace-nowrap'>{metricTitle}</Text>\n <div className='font-bold text-3xl'>{metric}</div>\n </div>\n <ChartComp\n className='overflow-hidden'\n style={{ height: \"100px\" }}\n data={data}\n index={index}\n categories={categories}\n colors={[\"indigo\", \"cyan\", \"teal\", \"green\", \"yellow\", \"orange\", \"red\", \"slate\", \"violet\", \"rose\", \"pink\", \"purple\", \"blue\"]}\n valueFormatter={valueFormatter}\n curveType={curveType}\n showXAxis={false}\n showGridLines={false}\n startEndOnly={true}\n showYAxis={false}\n showLegend={false}\n />\n </div>\n </ChartBox>\n );\n};\n"],"mappings":"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","names":["React","React","React","React","React","React","React","React","React","React","React","React","React","React","AreaChart","LineChart","AreaChart","LineChart","React","React"]}
1
+ {"version":3,"sources":["../components/JSONMetricsView/index.tsx","../components/JSONMetricsView/BarChartCard/index.tsx","../components/JSONMetricsView/ChartBox/index.tsx","../components/JSONMetricsView/LineChartCard/index.tsx","../components/JSONMetricsView/AreaChartCard/index.tsx","../components/JSONMetricsView/DonutChartCard/index.tsx","../components/JSONMetricsView/CountCard/index.tsx","../components/JSONMetricsView/TableCard/index.tsx","../components/JSONMetricsView/KPICard/index.tsx"],"names":["React","AreaChart","LineChart"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Col, Grid } from '@tremor/react';\nimport { BarChartCard } from './BarChartCard';\nimport { LineChartCard } from './LineChartCard';\nimport { AreaChartCard } from './AreaChartCard';\nimport { DonutChartCard } from './DonutChartCard';\nimport { CountCard } from './CountCard';\nimport { TableCard } from './TableCard';\nimport { KPICard } from './KPICard';\n\n\nexport type JSONMetricsViewType = AreaChartCard | LineChartCard | BarChartCard | DonutChartCard | CountCard | TableCard | KPICard;\n\nconst components = {\n AreaChartCard,\n LineChartCard,\n BarChartCard,\n DonutChartCard,\n CountCard,\n TableCard,\n KPICard,\n};\n\n\nconst JSONMetricsView = ({ data }: { data: JSONMetricsViewType[] }) => {\n return (\n <Grid numItems={1} numItemsSm={1} numItemsLg={2} numItemsMd={2} className=\"gap-2\">\n {data.map((item, index) => {\n //@ts-ignore\n const Component = components[item.type];\n return (\n <Col key={index} numColSpanSm={1} numColSpanMd={item.numColSpanMd ?? 1}>\n {/* @ts-ignore */}\n <Component {...item} />\n </Col>\n );\n })}\n </Grid>\n );\n};\n\nexport const MetricsView = ({ data }: { data: JSONMetricsViewType }) => {\n //@ts-ignore\n const Comp = components[data.type];\n // @ts-ignore\n return <Comp {...data} />;\n};\n\nexport { JSONMetricsView };\n","import React from 'react';\nimport { BarChart, ValueFormatter } from '@tremor/react';\nimport { ChartBox } from '../ChartBox';\n\nexport type BarChartCard = ChartBox & {\n type?: 'BarChartCard',\n categories?: string[];\n index?: string;\n valueFormatter?: ValueFormatter;\n showLegend?: boolean;\n showGridLines?: boolean;\n stack?: boolean;\n}\n\nexport const BarChartCard = (props: BarChartCard) => {\n const {\n data = [], categories = ['value'], index = 'date', valueFormatter = (number) => `${number}`,\n showLegend = false, showGridLines = false, stack = false\n } = props;\n\n return (\n <ChartBox {...props}>\n <BarChart\n className=\"h-72 mt-4\"\n data={data}\n index={index}\n categories={categories}\n colors={[\"indigo\", \"cyan\", \"teal\", \"green\", \"yellow\", \"orange\", \"red\", \"slate\", \"violet\", \"rose\", \"pink\", \"purple\", \"blue\"]}\n valueFormatter={valueFormatter}\n yAxisWidth={48}\n showLegend={showLegend}\n showGridLines={showGridLines}\n stack={stack}\n />\n </ChartBox>\n );\n};\n","import React from 'react';\nimport { cn } from '../../../lib/utils';\nimport { Card, Skeleton, Spinner } from '@nextui-org/react';\n\nexport interface ChartBox {\n title?: React.ReactNode;\n description?: string;\n error?: string;\n data?: {\n [key: string]: any;\n }[];\n children?: React.ReactNode;\n gridH?: number; // grid units, not pixels\n numColSpanMd?: number;\n className?: string;\n}\n\nexport const ChartBox = ({ title, description, error, children, className }: ChartBox) => {\n return (\n <Card className={cn('dark:border-gray-800', className)} shadow='sm'>\n <div className='p-4 h-[60px]'>\n <div>{title}</div>\n {description && <div className='text-xs'>{description}</div>}\n </div>\n <div className=\"px-2 pb-5\">\n {error ? <div className=\"text-red-600\">{error}</div> : children}\n </div>\n </Card>\n );\n};\n","import React from 'react';\nimport { LineChart, ValueFormatter } from '@tremor/react';\nimport { ChartBox } from '../ChartBox';\n\nexport type LineChartCard = ChartBox & {\n type?: 'LineChartCard';\n categories?: string[];\n index?: string;\n valueFormatter?: ValueFormatter;\n showLegend?: boolean;\n showGridLines?: boolean;\n curveType?: 'linear' | 'natural' | 'step'\n}\n\nexport const LineChartCard = (props: LineChartCard) => {\n const {\n data = [], categories = ['value'], index = 'date', valueFormatter = (number) => `${number}`,\n showLegend = false, showGridLines = false, curveType = 'linear'\n } = props;\n\n return (\n <ChartBox {...props}>\n <LineChart\n className=\"h-72 mt-4\"\n data={data}\n index={index}\n categories={categories}\n colors={[\"indigo\", \"cyan\", \"teal\", \"green\", \"yellow\", \"orange\", \"red\", \"slate\", \"violet\", \"rose\", \"pink\", \"purple\", \"blue\"]}\n valueFormatter={valueFormatter}\n showLegend={showLegend}\n showGridLines={showGridLines}\n curveType={curveType}\n />\n </ChartBox>\n );\n};\n","import React from 'react';\nimport { AreaChart, ValueFormatter } from '@tremor/react';\nimport { ChartBox } from '../ChartBox';\n\nexport type AreaChartCard = ChartBox & {\n type?: 'AreaChartCard';\n categories?: string[];\n index?: string;\n valueFormatter?: ValueFormatter;\n showLegend?: boolean;\n showGridLines?: boolean;\n stack?: boolean;\n curveType?: 'linear' | 'natural' | 'step'\n}\n\nexport const AreaChartCard = (props: AreaChartCard) => {\n const {\n data = [], categories = ['value'], index = 'date', valueFormatter = (number) => `${number}`,\n showLegend = false, showGridLines = false, stack = false, curveType = 'linear'\n } = props;\n\n return (\n <ChartBox {...props}>\n <AreaChart\n className=\"h-72 mt-4\"\n data={data}\n index={index}\n categories={categories}\n colors={[\"indigo\", \"cyan\", \"teal\", \"green\", \"yellow\", \"orange\", \"red\", \"slate\", \"violet\", \"rose\", \"pink\", \"purple\", \"blue\"]}\n valueFormatter={valueFormatter}\n showLegend={showLegend}\n showGridLines={showGridLines}\n stack={stack}\n curveType={curveType}\n />\n </ChartBox>\n );\n};\n","import React from 'react';\nimport { DonutChart, ValueFormatter } from '@tremor/react';\nimport { ChartBox } from '../ChartBox';\n\nexport type DonutChartCard = ChartBox & {\n type?: 'DonutChartCard',\n categories?: string[];\n index?: string;\n valueFormatter?: ValueFormatter;\n showLabel?: boolean;\n variant?: 'donut' | 'pie'\n}\n\nexport const DonutChartCard = (props: DonutChartCard) => {\n const { data = [], categories = ['value'], index = 'name', valueFormatter = (number) => `${number}`, showLabel = true, variant = 'donut' } = props;\n const category = categories[0];\n return (\n <ChartBox {...props}>\n <DonutChart\n className=\"h-72 mt-4\"\n data={data}\n index={index}\n category={category}\n colors={[\"indigo\", \"cyan\", \"teal\", \"green\", \"yellow\", \"orange\", \"red\", \"slate\", \"violet\", \"rose\", \"pink\", \"purple\", \"blue\"]}\n valueFormatter={valueFormatter}\n showLabel={showLabel}\n variant={variant}\n />\n </ChartBox>\n );\n};\n","import React from 'react';\nimport { ChartBox } from '../ChartBox';\n\nexport type CountCard = ChartBox & {\n type?: 'CountCard';\n};\n\nexport const CountCard = (props: CountCard) => {\n if (!props.data?.length) {\n return (\n <ChartBox {...props}>\n <div className=\"mt-2 ml-2 text-2xl overflow-auto\">\n <span className=\"text-gray-400\">No data</span>\n </div>\n </ChartBox>\n )\n }\n\n const value = Object.values(props.data[0])[0];\n return (\n <ChartBox {...props}>\n <div className=\"mt-2 ml-2 font-bold text-2xl overflow-auto\">{renderValue(value)}</div>\n </ChartBox>\n );\n};\n\nfunction renderValue(v: any) {\n if (typeof v == 'string' || typeof v == 'number') {\n return v;\n }\n return JSON.stringify(v);\n}\n","import React from 'react';\nimport { ChartBox } from '../ChartBox';\nimport JSONTable from '../../JSONTable';\n\nexport type TableCard = ChartBox & {\n type?: 'TableCard';\n columnOptions?: {\n [key: string]: {\n label: string;\n hidden: boolean;\n }\n }\n}\n\nexport const TableCard = (props: TableCard) => {\n const { data = [], columnOptions = {} } = props;\n\n return (\n <ChartBox {...props}>\n {data?.length > 0\n ? <JSONTable dataSource={data} columnOptions={columnOptions} className=\"h-[256px]\" />\n : <div className=\"h-[256px] flex justify-center items-center text-gray-400\">No data</div>\n }\n </ChartBox>\n );\n};\n","import React from 'react';\nimport { AreaChart, LineChart, Text, ValueFormatter } from '@tremor/react';\nimport { ChartBox } from '../ChartBox';\n\nexport type KPICard = ChartBox & {\n type?: 'KPICard';\n categories?: string[];\n index?: string;\n valueFormatter?: ValueFormatter;\n curveType?: 'linear' | 'natural' | 'step';\n metricTitle?: string;\n metric?: string | number;\n chartType?: 'area' | 'line';\n}\n\nexport const KPICard = (props: KPICard) => {\n const {\n metricTitle, metric, chartType = 'area', data = [], categories = ['value'], index = 'date', valueFormatter = (number) => `${number}`, curveType = 'linear'\n } = props;\n\n const ChartComp = chartType === 'area' ? AreaChart : LineChart;\n\n return (\n <ChartBox {...props}>\n <div className=\"mt-4 space-x-6 px-2 flex items-center\">\n <div className='w-auto'>\n <Text className='whitespace-nowrap'>{metricTitle}</Text>\n <div className='font-bold text-3xl'>{metric}</div>\n </div>\n <ChartComp\n className='overflow-hidden'\n style={{ height: \"100px\" }}\n data={data}\n index={index}\n categories={categories}\n colors={[\"indigo\", \"cyan\", \"teal\", \"green\", \"yellow\", \"orange\", \"red\", \"slate\", \"violet\", \"rose\", \"pink\", \"purple\", \"blue\"]}\n valueFormatter={valueFormatter}\n curveType={curveType}\n showXAxis={false}\n showGridLines={false}\n startEndOnly={true}\n showYAxis={false}\n showLegend={false}\n />\n </div>\n </ChartBox>\n );\n};\n"]}
@@ -1,7 +1,7 @@
1
- import { S as Store } from './root-766ae985.js';
1
+ import { S as Store } from './root-C3lZnoCI.js';
2
2
  import React from 'react';
3
3
  import * as react_hot_toast from 'react-hot-toast';
4
- import { P as PromiseState } from './PromiseState-2a8c856c.js';
4
+ import { P as PromiseState } from './PromiseState-phP8daDG.js';
5
5
  import 'typed-emitter';
6
6
  import 'events';
7
7