@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.
- package/dist/{PromiseState-2a8c856c.d.ts → PromiseState-phP8daDG.d.ts} +2 -2
- package/dist/{chunk-CO3IV6BN.mjs → chunk-52OE5FHP.mjs} +9 -13
- package/dist/chunk-52OE5FHP.mjs.map +1 -0
- package/dist/{chunk-G55EHFDV.mjs → chunk-7FI42NGB.mjs} +5 -9
- package/dist/chunk-7FI42NGB.mjs.map +1 -0
- package/dist/chunk-7LQSAVH2.mjs +46 -0
- package/dist/chunk-7LQSAVH2.mjs.map +1 -0
- package/dist/{chunk-FOR424HO.mjs → chunk-AIZ7XDNV.mjs} +16 -19
- package/dist/chunk-AIZ7XDNV.mjs.map +1 -0
- package/dist/{chunk-5Z72MRKS.mjs → chunk-CDOZMM72.mjs} +9 -24
- package/dist/chunk-CDOZMM72.mjs.map +1 -0
- package/dist/{chunk-AJ6UVJXP.mjs → chunk-IKFUALQ2.mjs} +76 -98
- package/dist/chunk-IKFUALQ2.mjs.map +1 -0
- package/dist/chunk-J4DZJDMK.mjs +5 -5
- package/dist/chunk-J4DZJDMK.mjs.map +1 -1
- package/dist/{chunk-7UR5JQZB.mjs → chunk-O3TH7DXC.mjs} +10 -16
- package/dist/chunk-O3TH7DXC.mjs.map +1 -0
- package/dist/chunk-OCLML5CM.mjs +9 -0
- package/dist/chunk-OCLML5CM.mjs.map +1 -0
- package/dist/chunk-ONVPCAMQ.mjs +4 -4
- package/dist/chunk-ONVPCAMQ.mjs.map +1 -1
- package/dist/{chunk-74WDT7TZ.mjs → chunk-QO5RPRUY.mjs} +11 -24
- package/dist/chunk-QO5RPRUY.mjs.map +1 -0
- package/dist/{chunk-5E65QCNB.mjs → chunk-R4SQKVDQ.mjs} +3 -11
- package/dist/chunk-R4SQKVDQ.mjs.map +1 -0
- package/dist/{chunk-HRWHDF2F.mjs → chunk-XJMRAPHI.mjs} +13 -14
- package/dist/chunk-XJMRAPHI.mjs.map +1 -0
- package/dist/dev.d.mts +1 -1
- package/dist/dev.mjs +40 -66
- package/dist/dev.mjs.map +1 -1
- package/dist/experimental.d.mts +5 -3
- package/dist/experimental.mjs +17 -35
- package/dist/experimental.mjs.map +1 -1
- package/dist/form.d.mts +5 -5
- package/dist/form.mjs +94 -198
- package/dist/form.mjs.map +1 -1
- package/dist/index.d.mts +14 -9
- package/dist/index.mjs +27 -71
- package/dist/index.mjs.map +1 -1
- package/dist/inspector.d.mts +1 -1
- package/dist/inspector.mjs +6 -7
- package/dist/inspector.mjs.map +1 -1
- package/dist/jsontable.d.mts +2 -2
- package/dist/jsontable.mjs +10 -14
- package/dist/jsontable.mjs.map +1 -1
- package/dist/metrics.d.mts +1 -1
- package/dist/metrics.mjs +27 -64
- package/dist/metrics.mjs.map +1 -1
- package/dist/plugins.d.mts +2 -2
- package/dist/plugins.mjs +20 -46
- package/dist/plugins.mjs.map +1 -1
- package/dist/{root-766ae985.d.ts → root-C3lZnoCI.d.ts} +1 -1
- package/dist/ui.mjs +12 -23
- package/dist/ui.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-5E65QCNB.mjs.map +0 -1
- package/dist/chunk-5Z72MRKS.mjs.map +0 -1
- package/dist/chunk-74WDT7TZ.mjs.map +0 -1
- package/dist/chunk-7UR5JQZB.mjs.map +0 -1
- package/dist/chunk-AJ6UVJXP.mjs.map +0 -1
- package/dist/chunk-CO3IV6BN.mjs.map +0 -1
- package/dist/chunk-DUK5IHQE.mjs +0 -8453
- package/dist/chunk-DUK5IHQE.mjs.map +0 -1
- package/dist/chunk-FOR424HO.mjs.map +0 -1
- package/dist/chunk-G55EHFDV.mjs.map +0 -1
- package/dist/chunk-HRWHDF2F.mjs.map +0 -1
- package/dist/chunk-SXQEYWUP.mjs +0 -13
- package/dist/chunk-SXQEYWUP.mjs.map +0 -1
- /package/dist/{PaginationState-c19e621a.d.ts → PaginationState-Bmrrw0ky.d.ts} +0 -0
|
@@ -1,23 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
} from
|
|
8
|
-
import {
|
|
9
|
-
__spreadProps,
|
|
10
|
-
__spreadValues
|
|
11
|
-
} from "./chunk-5E65QCNB.mjs";
|
|
1
|
+
import { useStore, rootStore } from './chunk-OCLML5CM.mjs';
|
|
2
|
+
import { cn } from './chunk-AIZ7XDNV.mjs';
|
|
3
|
+
import { __spreadProps, __spreadValues } from './chunk-R4SQKVDQ.mjs';
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import { makeAutoObservable } from 'mobx';
|
|
6
|
+
import { Modal, ModalContent, ModalHeader, ModalBody } from '@nextui-org/react';
|
|
7
|
+
import { observer } from 'mobx-react-lite';
|
|
12
8
|
|
|
13
|
-
// module/Dialog/index.tsx
|
|
14
|
-
import React2 from "react";
|
|
15
|
-
import { makeAutoObservable } from "mobx";
|
|
16
|
-
|
|
17
|
-
// module/Dialog/Provider.tsx
|
|
18
|
-
import React from "react";
|
|
19
|
-
import { Modal, ModalBody, ModalContent, ModalHeader } from "@nextui-org/react";
|
|
20
|
-
import { observer } from "mobx-react-lite";
|
|
21
9
|
var Dialog = observer(() => {
|
|
22
10
|
const rootStore2 = useStore();
|
|
23
11
|
const modal = rootStore2.get(DialogStore);
|
|
@@ -45,7 +33,7 @@ var Provider_default = Dialog;
|
|
|
45
33
|
var DialogStore = class _DialogStore {
|
|
46
34
|
constructor(args) {
|
|
47
35
|
this.sid = "DialogStore";
|
|
48
|
-
this.provider = () => /* @__PURE__ */
|
|
36
|
+
this.provider = () => /* @__PURE__ */ React.createElement(Provider_default, null);
|
|
49
37
|
this.isOpen = false;
|
|
50
38
|
this.title = "";
|
|
51
39
|
this.size = "md";
|
|
@@ -80,7 +68,6 @@ var DialogStore = class _DialogStore {
|
|
|
80
68
|
}
|
|
81
69
|
};
|
|
82
70
|
|
|
83
|
-
export {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
//# sourceMappingURL=chunk-74WDT7TZ.mjs.map
|
|
71
|
+
export { DialogStore };
|
|
72
|
+
//# sourceMappingURL=out.js.map
|
|
73
|
+
//# sourceMappingURL=chunk-QO5RPRUY.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../module/Dialog/index.tsx","../module/Dialog/Provider.tsx"],"names":["React","rootStore"],"mappings":";;;;;;;;;;;;;AAAA,OAAOA,YAAW;AAClB,SAAS,0BAA0B;;;ACDnC,OAAO,WAAW;AAClB,SAAS,OAAO,WAAW,cAAc,mBAAmB;AAC5D,SAAS,gBAAgB;AAKzB,IAAM,SAAS,SAAS,MAAM;AAC5B,QAAMC,aAAY,SAAS;AAC3B,QAAM,QAAQA,WAAU,IAAI,WAAW;AACvC,QAAM,EAAE,WAAW,YAAY,QAAQ,OAAO,MAAM,SAAS,cAAc,IAAI;AAC/E,QAAM,UAAU,OAAO,YAAY,aAAa,UAAU,MAAM;AAChE,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,cAAc,CAAC,SAAkB;AAC/B,YAAI,CAAC,MAAM;AACT,gBAAM,MAAM;AAAA,QACd;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA;AAAA,IAEA,oCAAC,gBAAa,WAAW,GAAG,8BAA8B,SAAS,KAChE,MACC,0DACG,SAAS,oCAAC,eAAY,WAAU,yBAAuB,KAAM,GAC9D,oCAAC,iBACC,oCAAC,aAAQ,CACX,CACF,CAEJ;AAAA,EACF;AAEJ,CAAC;AAED,IAAO,mBAAQ;;;ADhCR,IAAM,cAAN,MAAM,aAA6B;AAAA,EAcxC,YAAY,MAA6B;AAbzC,eAAM;AACN,oBAAW,MAAM,gBAAAD,OAAA,cAAC,sBAAS;AAE3B,kBAAS;AACT,iBAAQ;AACR,gBAAkF;AAClF,qBAAoB;AACpB,sBAEK,CAAC;AACN,mBAA+D;AAC/D,yBAAgB;AAGd,WAAO,OAAO,MAAM,IAAI;AACxB,uBAAmB,IAAI;AAAA,EACzB;AAAA,EAEA,QAAQ,GAAyB;AAC/B,WAAO,OAAO,MAAM,CAAC;AAAA,EACvB;AAAA,EAEA,QAAQ;AACN,SAAK,SAAS;AACd,SAAK,QAAQ;AACb,SAAK,UAAU;AACf,SAAK,OAAO;AACZ,SAAK,YAAY;AACjB,SAAK,aAAa,CAAC;AACnB,SAAK,gBAAgB;AAAA,EACvB;AAAA,EAEA,OAAO,KAAK,GAAyB;AACnC,UAAM,QAAQ,UAAU,IAAI,YAAW;AACvC,UAAM,QAAQ,iCACT,IADS;AAAA,MAEZ,QAAQ;AAAA,IACV,EAAC;AAAA,EACH;AAAA,EAEA,OAAO,QAAQ;AACb,UAAM,QAAQ,UAAU,IAAI,YAAW;AACvC,UAAM,MAAM;AAAA,EACd;AACF","sourcesContent":["import React from \"react\";\nimport { makeAutoObservable } from \"mobx\";\nimport { rootStore } from \"../../store\";\nimport { Store } from \"../../store/standard/base\";\nimport Provider from \"./Provider\";\n\nexport class DialogStore implements Store {\n sid = 'DialogStore';\n provider = () => <Provider />;\n\n isOpen = false;\n title = '';\n size: 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full' | 'xs' | '3xl' | '4xl' | '5xl' = 'md';\n className: string = '';\n classNames: Partial<{\n [key in 'wrapper' | 'base' | 'backdrop' | 'header' | 'body' | 'footer' | 'closeButton']: string;\n }> = {};\n content: React.ReactNode | ((props: any) => React.ReactNode) = '';\n isDismissable = true;\n\n constructor(args?: Partial<DialogStore>) {\n Object.assign(this, args);\n makeAutoObservable(this);\n }\n\n setData(v: Partial<DialogStore>) {\n Object.assign(this, v);\n }\n\n close() {\n this.isOpen = false;\n this.title = '';\n this.content = '';\n this.size = 'md';\n this.className = '';\n this.classNames = {};\n this.isDismissable = true;\n }\n\n static show(v: Partial<DialogStore>) {\n const modal = rootStore.get(DialogStore);\n modal.setData({\n ...v,\n isOpen: true,\n });\n }\n\n static close() {\n const modal = rootStore.get(DialogStore);\n modal.close();\n }\n}\n\n","import React from \"react\";\nimport { Modal, ModalBody, ModalContent, ModalHeader } from \"@nextui-org/react\";\nimport { observer } from \"mobx-react-lite\";\nimport { DialogStore } from \".\";\nimport { cn } from \"../../lib/utils\";\nimport { useStore } from \"../../store/index\";\n\nconst Dialog = observer(() => {\n const rootStore = useStore();\n const modal = rootStore.get(DialogStore);\n const { className, classNames, isOpen, title, size, content, isDismissable } = modal;\n const Content = typeof content === 'function' ? content : () => content;\n return (\n <Modal\n isOpen={isOpen}\n size={size}\n onOpenChange={(open: boolean) => {\n if (!open) {\n modal.close();\n }\n }}\n classNames={classNames}\n isDismissable={isDismissable}\n >\n <ModalContent className={cn(\"max-h-screen overflow-auto\", className)}>\n {() => (\n <>\n {title && <ModalHeader className=\"flex flex-col gap-1\">{title}</ModalHeader>}\n <ModalBody>\n <Content />\n </ModalBody>\n </>\n )}\n </ModalContent>\n </Modal>\n );\n});\n\nexport default Dialog;"]}
|
|
@@ -29,15 +29,7 @@ var __objRest = (source, exclude) => {
|
|
|
29
29
|
}
|
|
30
30
|
return target;
|
|
31
31
|
};
|
|
32
|
-
var __export = (target, all) => {
|
|
33
|
-
for (var name in all)
|
|
34
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
35
|
-
};
|
|
36
32
|
|
|
37
|
-
export {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
__objRest,
|
|
41
|
-
__export
|
|
42
|
-
};
|
|
43
|
-
//# sourceMappingURL=chunk-5E65QCNB.mjs.map
|
|
33
|
+
export { __objRest, __spreadProps, __spreadValues };
|
|
34
|
+
//# sourceMappingURL=out.js.map
|
|
35
|
+
//# sourceMappingURL=chunk-R4SQKVDQ.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
|
|
@@ -1,20 +1,21 @@
|
|
|
1
|
+
import { EventEmitter } from 'events';
|
|
2
|
+
import { makeObservable, makeAutoObservable } from 'mobx';
|
|
3
|
+
import { useLocalObservable } from 'mobx-react-lite';
|
|
4
|
+
|
|
1
5
|
// store/root.ts
|
|
2
|
-
import { EventEmitter } from "events";
|
|
3
|
-
import { makeAutoObservable, makeObservable } from "mobx";
|
|
4
|
-
import { useLocalObservable } from "mobx-react-lite";
|
|
5
6
|
var MyEmitter = class extends EventEmitter {
|
|
6
|
-
constructor() {
|
|
7
|
-
super();
|
|
8
|
-
makeObservable(this, {
|
|
9
|
-
// metas: true,
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
7
|
emit(type, ...args) {
|
|
13
8
|
if (process.env.NODE_ENV == "development") {
|
|
14
9
|
super.emit("*", { type, args });
|
|
15
10
|
}
|
|
16
11
|
return super.emit(type, ...args) || super.emit("", ...args);
|
|
17
12
|
}
|
|
13
|
+
constructor() {
|
|
14
|
+
super();
|
|
15
|
+
makeObservable(this, {
|
|
16
|
+
// metas: true,
|
|
17
|
+
});
|
|
18
|
+
}
|
|
18
19
|
};
|
|
19
20
|
var RootStore = class _RootStore {
|
|
20
21
|
constructor(args = {}) {
|
|
@@ -47,7 +48,6 @@ var RootStore = class _RootStore {
|
|
|
47
48
|
if (this.instanceMap.get(store.constructor).get(instanceMapId)) {
|
|
48
49
|
console.error(`Store ${store.sid} already exists`);
|
|
49
50
|
return;
|
|
50
|
-
throw new Error(`Store ${store.sid} already exists`);
|
|
51
51
|
}
|
|
52
52
|
if (store.autoObservable) {
|
|
53
53
|
makeAutoObservable(store);
|
|
@@ -110,7 +110,6 @@ var RootStore = class _RootStore {
|
|
|
110
110
|
}
|
|
111
111
|
};
|
|
112
112
|
|
|
113
|
-
export {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
//# sourceMappingURL=chunk-HRWHDF2F.mjs.map
|
|
113
|
+
export { RootStore };
|
|
114
|
+
//# sourceMappingURL=out.js.map
|
|
115
|
+
//# sourceMappingURL=chunk-XJMRAPHI.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../store/root.ts"],"names":[],"mappings":"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","sourcesContent":["import { EventEmitter } from \"events\";\nimport { makeAutoObservable, makeObservable } from \"mobx\";\nimport type TypedEmitter from \"typed-emitter\";\nimport { type Store, type StoreClass } from \"./standard/base\";\nimport { useLocalObservable } from \"mobx-react-lite\";\n\nexport type EventMap = {\n \"*\": (args: any) => void;\n add: (store: Store) => void;\n};\n\nexport class MyEmitter extends EventEmitter {\n // metas: Record<string, { count: number }> = {};\n _events: Record<string, any>;\n emit(type: any, ...args: any[]) {\n if (process.env.NODE_ENV == \"development\") {\n super.emit(\"*\", { type, args });\n }\n // if (!this.metas[type]) {\n // this.metas[type] = { count: 0 };\n // }\n // this.metas[type].count++;\n return super.emit(type, ...args) || super.emit(\"\", ...args);\n }\n constructor() {\n super();\n makeObservable(this, {\n // metas: true,\n });\n }\n}\n\nexport class RootStore<T extends EventMap = any> {\n instanceMap = new Map<Function, Map<string, Store>>();\n instance: Record<string, Store> = {};\n\n providers: Store[] = [];\n\n events: TypedEmitter<T> = new MyEmitter() as TypedEmitter<T>;\n isInited = false;\n\n static init<T extends EventMap>(args: Partial<RootStore<T>> = {}): RootStore<T> {\n if (!globalThis.store) {\n //@ts-ignore\n globalThis.store = new RootStore(args);\n }\n\n return globalThis.store;\n }\n\n add(store: Store, { sid }: { sid?: string } = {}) {\n if (store.disabled) {\n return;\n }\n\n const instanceMapId = sid ? sid : \"singleton\";\n const instanceId = sid ? sid : store.sid;\n\n if (!this.has(store.constructor)) {\n this.instanceMap.set(store.constructor, new Map());\n }\n\n if (this.instanceMap.get(store.constructor).get(instanceMapId)) {\n console.error(`Store ${store.sid} already exists`);\n return;\n throw new Error(`Store ${store.sid} already exists`);\n }\n if (store.autoObservable) {\n makeAutoObservable(store);\n }\n if (store.provider) {\n this.providers.push(store);\n }\n if (store.onNewStore) {\n this.events.on(\"add\", (e: Store) => {\n store.onNewStore({ rootStore: this, store: e });\n });\n }\n\n if (store.onAdded) {\n store.onAdded({ rootStore: this });\n }\n if (store.stores) {\n this.addStores(store.stores);\n }\n\n if (store.events) {\n Object.entries(store.events).forEach(([event, val]) => {\n this.events.on(val.name as any, val.handler);\n });\n }\n\n // if (helper.env.isBrowser && store.onKeyBindings) {\n // const res = store.onKeyBindings()\n // res.forEach(({ key, fn }: { key: string[], fn: (ev: KeyboardEvent) => void }) => {\n // useEffect(() => {\n // window.addEventListener(\"keydown\", fn);\n // return () => {\n // window.removeEventListener(\"keydown\", fn);\n // }\n // }, [])\n // })\n // }\n\n this.instanceMap.get(store.constructor).set(instanceMapId, store);\n this.instance[instanceId] = store;\n //@ts-ignore\n this.events.emit(\"add\", store);\n\n if (store.init) {\n store.init();\n }\n // this.crawlStore(store);\n }\n\n addStores(store: Store[]) {\n store.forEach((i) => this.add(i));\n return this;\n }\n\n get<T extends Store>(store: StoreClass<T>, config: { sid?: string; args?: Partial<T> } = {}): T {\n const instanceMapId = config.sid ? config.sid : \"singleton\";\n const valid = this.instanceMap.has(store) && this.instanceMap.get(store).has(instanceMapId);\n if (!valid) {\n this.add(new store(config.args || {}), config);\n }\n return this.instanceMap.get(store).get(instanceMapId) as T;\n }\n\n public has(store: Function): boolean {\n return this.instanceMap.has(store);\n }\n\n constructor(args: Partial<RootStore<T>> = {}) {\n Object.assign(this, args);\n makeObservable(this, {\n providers: true,\n });\n this.crawlStore(this);\n }\n\n crawlStore(obj: Object) {\n Object.values(obj).forEach((value) => {\n if (value?.sid) {\n this.add(value);\n }\n });\n }\n\n static Get<T extends Store>(store: StoreClass<T>, config: { sid?: string; args?: Partial<T> } = {}): T {\n return this.init().get(store, config);\n }\n\n static Local<T>(func: () => T, config: { sid?: string; args?: Partial<T> } = {}, ann?: any): T {\n const val = useLocalObservable(func, ann);\n RootStore.init().instance[\"Local.\" + config.sid] = val;\n return val;\n }\n}\n"]}
|
package/dist/dev.d.mts
CHANGED
package/dist/dev.mjs
CHANGED
|
@@ -1,33 +1,27 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
|
|
10
|
-
} from
|
|
11
|
-
import {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
} from "./chunk-5E65QCNB.mjs";
|
|
1
|
+
import { JSONEditor } from './chunk-O3TH7DXC.mjs';
|
|
2
|
+
import { helper } from './chunk-52OE5FHP.mjs';
|
|
3
|
+
import './chunk-7LQSAVH2.mjs';
|
|
4
|
+
import { cn } from './chunk-AIZ7XDNV.mjs';
|
|
5
|
+
import { __objRest, __spreadProps, __spreadValues } from './chunk-R4SQKVDQ.mjs';
|
|
6
|
+
import * as React2 from 'react';
|
|
7
|
+
import React2__default, { useMemo } from 'react';
|
|
8
|
+
import * as SheetPrimitive from '@radix-ui/react-dialog';
|
|
9
|
+
import { cva } from 'class-variance-authority';
|
|
10
|
+
import { Wrench, X } from 'lucide-react';
|
|
11
|
+
import { Tabs, Tab } from '@nextui-org/react';
|
|
12
|
+
import { observer, useLocalObservable } from 'mobx-react-lite';
|
|
13
|
+
import { toJS } from 'mobx';
|
|
14
|
+
import EventEmitter from 'events';
|
|
16
15
|
|
|
17
|
-
// components/ui/sheet.tsx
|
|
18
|
-
import * as React from "react";
|
|
19
|
-
import * as SheetPrimitive from "@radix-ui/react-dialog";
|
|
20
|
-
import { cva } from "class-variance-authority";
|
|
21
|
-
import { X } from "lucide-react";
|
|
22
16
|
var Sheet = SheetPrimitive.Root;
|
|
23
17
|
var SheetPortal = (_a) => {
|
|
24
18
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
25
|
-
return /* @__PURE__ */
|
|
19
|
+
return /* @__PURE__ */ React2.createElement(SheetPrimitive.Portal, __spreadValues({ className: cn(className) }, props));
|
|
26
20
|
};
|
|
27
21
|
SheetPortal.displayName = SheetPrimitive.Portal.displayName;
|
|
28
|
-
var SheetOverlay =
|
|
22
|
+
var SheetOverlay = React2.forwardRef((_a, ref) => {
|
|
29
23
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
30
|
-
return /* @__PURE__ */
|
|
24
|
+
return /* @__PURE__ */ React2.createElement(SheetPrimitive.Overlay, __spreadProps(__spreadValues({ className: cn("fixed inset-0 z-50 bg-background/80 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", className) }, props), { ref }));
|
|
31
25
|
});
|
|
32
26
|
SheetOverlay.displayName = SheetPrimitive.Overlay.displayName;
|
|
33
27
|
var sheetVariants = cva("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500", {
|
|
@@ -45,43 +39,24 @@ var sheetVariants = cva("fixed z-50 gap-4 bg-background p-6 shadow-lg transition
|
|
|
45
39
|
});
|
|
46
40
|
var SheetClose = (_a) => {
|
|
47
41
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
48
|
-
return /* @__PURE__ */
|
|
42
|
+
return /* @__PURE__ */ React2.createElement(SheetPrimitive.Close, __spreadValues({ className: cn("absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", className) }, props), /* @__PURE__ */ React2.createElement(X, { className: "h-4 w-4" }), /* @__PURE__ */ React2.createElement("span", { className: "sr-only" }, "Close"));
|
|
49
43
|
};
|
|
50
44
|
SheetClose.displayName = "Close";
|
|
51
|
-
var SheetContent =
|
|
45
|
+
var SheetContent = React2.forwardRef((_a, ref) => {
|
|
52
46
|
var _b = _a, { side = "right", className, children, showOverlay = false, open } = _b, props = __objRest(_b, ["side", "className", "children", "showOverlay", "open"]);
|
|
53
|
-
return /* @__PURE__ */
|
|
47
|
+
return /* @__PURE__ */ React2.createElement(SheetPortal, null, showOverlay && /* @__PURE__ */ React2.createElement(SheetOverlay, null), /* @__PURE__ */ React2.createElement("div", __spreadValues({ ref, "data-state": open ? "open" : "closed", className: cn(sheetVariants({ side }), className) }, props), children));
|
|
54
48
|
});
|
|
55
49
|
SheetContent.displayName = SheetPrimitive.Content.displayName;
|
|
56
|
-
var
|
|
50
|
+
var SheetTitle = React2.forwardRef((_a, ref) => {
|
|
57
51
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
58
|
-
return /* @__PURE__ */
|
|
59
|
-
};
|
|
60
|
-
SheetHeader.displayName = "SheetHeader";
|
|
61
|
-
var SheetFooter = (_a) => {
|
|
62
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
63
|
-
return /* @__PURE__ */ React.createElement("div", __spreadValues({ className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className) }, props));
|
|
64
|
-
};
|
|
65
|
-
SheetFooter.displayName = "SheetFooter";
|
|
66
|
-
var SheetTitle = React.forwardRef((_a, ref) => {
|
|
67
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
68
|
-
return /* @__PURE__ */ React.createElement(SheetPrimitive.Title, __spreadValues({ ref, className: cn("text-lg font-semibold text-foreground", className) }, props));
|
|
52
|
+
return /* @__PURE__ */ React2.createElement(SheetPrimitive.Title, __spreadValues({ ref, className: cn("text-lg font-semibold text-foreground", className) }, props));
|
|
69
53
|
});
|
|
70
54
|
SheetTitle.displayName = SheetPrimitive.Title.displayName;
|
|
71
|
-
var SheetDescription =
|
|
55
|
+
var SheetDescription = React2.forwardRef((_a, ref) => {
|
|
72
56
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
73
|
-
return /* @__PURE__ */
|
|
57
|
+
return /* @__PURE__ */ React2.createElement(SheetPrimitive.Description, __spreadValues({ ref, className: cn("text-sm text-muted-foreground", className) }, props));
|
|
74
58
|
});
|
|
75
59
|
SheetDescription.displayName = SheetPrimitive.Description.displayName;
|
|
76
|
-
|
|
77
|
-
// module/Devtool/devtool.tsx
|
|
78
|
-
import { Tabs, Tab } from "@nextui-org/react";
|
|
79
|
-
import { Wrench } from "lucide-react";
|
|
80
|
-
import { observer, useLocalObservable } from "mobx-react-lite";
|
|
81
|
-
import { toJS } from "mobx";
|
|
82
|
-
import EventEmitter from "events";
|
|
83
|
-
import { useMemo } from "react";
|
|
84
|
-
import React2 from "react";
|
|
85
60
|
function filterState(obj) {
|
|
86
61
|
if (obj.toJSON) {
|
|
87
62
|
return obj.toJSON();
|
|
@@ -110,7 +85,7 @@ var DevTool = class {
|
|
|
110
85
|
constructor(args = {}) {
|
|
111
86
|
this.sid = "DevTool";
|
|
112
87
|
this.stype = "Plugin";
|
|
113
|
-
this.provider = ({ rootStore }) => /* @__PURE__ */
|
|
88
|
+
this.provider = ({ rootStore }) => /* @__PURE__ */ React2__default.createElement(DevToolProvider, { rootStore });
|
|
114
89
|
this.disabled = false;
|
|
115
90
|
this.autoObservable = true;
|
|
116
91
|
this.isOpen = false;
|
|
@@ -130,7 +105,7 @@ var DevTool = class {
|
|
|
130
105
|
const filteredData = filterState(state.curStore || {});
|
|
131
106
|
return JSON.stringify(toJS(filteredData), null, 2);
|
|
132
107
|
}, [state.curStore]);
|
|
133
|
-
return /* @__PURE__ */
|
|
108
|
+
return /* @__PURE__ */ React2__default.createElement("div", { className: "flex flex-col md:flex-row text-sm" }, /* @__PURE__ */ React2__default.createElement("div", null, /* @__PURE__ */ React2__default.createElement(
|
|
134
109
|
Tabs,
|
|
135
110
|
{
|
|
136
111
|
size: "sm",
|
|
@@ -140,9 +115,9 @@ var DevTool = class {
|
|
|
140
115
|
},
|
|
141
116
|
(item) => {
|
|
142
117
|
const stores = Object.values(rootStore.instance).filter((i) => i.stype == item.value && i.sid).sort((a, b) => a.sid.length - b.sid.length);
|
|
143
|
-
return /* @__PURE__ */
|
|
118
|
+
return /* @__PURE__ */ React2__default.createElement(Tab, { key: item.title, title: item.title }, /* @__PURE__ */ React2__default.createElement("div", null, /* @__PURE__ */ React2__default.createElement("div", { className: "w-full md:w-[300px] space-y-1 pr-2 overflow-auto" }, stores.map((store) => {
|
|
144
119
|
var _a;
|
|
145
|
-
return /* @__PURE__ */
|
|
120
|
+
return /* @__PURE__ */ React2__default.createElement(
|
|
146
121
|
"div",
|
|
147
122
|
{
|
|
148
123
|
key: store == null ? void 0 : store.sid,
|
|
@@ -155,7 +130,7 @@ var DevTool = class {
|
|
|
155
130
|
);
|
|
156
131
|
}))));
|
|
157
132
|
}
|
|
158
|
-
)), /* @__PURE__ */
|
|
133
|
+
)), /* @__PURE__ */ React2__default.createElement("div", { className: "mt-4 w-full overflow-auto md:mt-0" }, /* @__PURE__ */ React2__default.createElement(
|
|
159
134
|
JSONEditor,
|
|
160
135
|
{
|
|
161
136
|
className: "h-full",
|
|
@@ -190,7 +165,7 @@ var DevToolProvider = observer(({ rootStore }) => {
|
|
|
190
165
|
const store = useLocalObservable(() => ({
|
|
191
166
|
sheetHeight: minSheetHeight
|
|
192
167
|
}));
|
|
193
|
-
return /* @__PURE__ */
|
|
168
|
+
return /* @__PURE__ */ React2__default.createElement(React2__default.Fragment, null, /* @__PURE__ */ React2__default.createElement("div", { className: "fixed right-4 bottom-4 z-10" }, /* @__PURE__ */ React2__default.createElement(
|
|
194
169
|
"div",
|
|
195
170
|
{
|
|
196
171
|
className: "p-1 rounded-sm bg-gray-300 hover:bg-gray-400 dark:bg-gray-600 dark:hover:bg-gray-500 cursor-pointer",
|
|
@@ -198,8 +173,8 @@ var DevToolProvider = observer(({ rootStore }) => {
|
|
|
198
173
|
devTool.isOpen = true;
|
|
199
174
|
}
|
|
200
175
|
},
|
|
201
|
-
/* @__PURE__ */
|
|
202
|
-
)), /* @__PURE__ */
|
|
176
|
+
/* @__PURE__ */ React2__default.createElement(Wrench, { size: 20 })
|
|
177
|
+
)), /* @__PURE__ */ React2__default.createElement(Sheet, { open: devTool.isOpen }, /* @__PURE__ */ React2__default.createElement(
|
|
203
178
|
SheetContent,
|
|
204
179
|
{
|
|
205
180
|
open: devTool.isOpen,
|
|
@@ -209,8 +184,8 @@ var DevToolProvider = observer(({ rootStore }) => {
|
|
|
209
184
|
height: store.sheetHeight
|
|
210
185
|
}
|
|
211
186
|
},
|
|
212
|
-
/* @__PURE__ */
|
|
213
|
-
/* @__PURE__ */
|
|
187
|
+
/* @__PURE__ */ React2__default.createElement("div", { className: "absolute top-0 left-0 h-[32px] w-full bg-gray-100 dark:bg-gray-800" }),
|
|
188
|
+
/* @__PURE__ */ React2__default.createElement(
|
|
214
189
|
SheetClose,
|
|
215
190
|
{
|
|
216
191
|
className: "top-2 right-2",
|
|
@@ -219,7 +194,7 @@ var DevToolProvider = observer(({ rootStore }) => {
|
|
|
219
194
|
}
|
|
220
195
|
}
|
|
221
196
|
),
|
|
222
|
-
/* @__PURE__ */
|
|
197
|
+
/* @__PURE__ */ React2__default.createElement(
|
|
223
198
|
"div",
|
|
224
199
|
{
|
|
225
200
|
className: "absolute top-[-8px] left-0 w-full h-[10px] cursor-row-resize",
|
|
@@ -241,7 +216,7 @@ var DevToolProvider = observer(({ rootStore }) => {
|
|
|
241
216
|
}
|
|
242
217
|
}
|
|
243
218
|
),
|
|
244
|
-
/* @__PURE__ */
|
|
219
|
+
/* @__PURE__ */ React2__default.createElement(
|
|
245
220
|
Tabs,
|
|
246
221
|
{
|
|
247
222
|
className: "w-full",
|
|
@@ -251,13 +226,12 @@ var DevToolProvider = observer(({ rootStore }) => {
|
|
|
251
226
|
},
|
|
252
227
|
(panel) => {
|
|
253
228
|
const Component = panel.render || (() => null);
|
|
254
|
-
return /* @__PURE__ */
|
|
229
|
+
return /* @__PURE__ */ React2__default.createElement(Tab, { key: panel.title, title: panel.title }, /* @__PURE__ */ React2__default.createElement("div", { className: "p-0", style: { height: `calc(${store.sheetHeight}px - 50px)` } }, /* @__PURE__ */ React2__default.createElement(Component, { rootStore })));
|
|
255
230
|
}
|
|
256
231
|
)
|
|
257
232
|
)));
|
|
258
233
|
});
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
};
|
|
234
|
+
|
|
235
|
+
export { DevTool, DevToolProvider };
|
|
236
|
+
//# sourceMappingURL=out.js.map
|
|
263
237
|
//# sourceMappingURL=dev.mjs.map
|
package/dist/dev.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../components/ui/sheet.tsx","../module/Devtool/devtool.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as SheetPrimitive from \"@radix-ui/react-dialog\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { X } from \"lucide-react\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst Sheet = SheetPrimitive.Root;\n\nconst SheetTrigger = SheetPrimitive.Trigger;\n\nconst SheetPortal = ({ className, ...props }: SheetPrimitive.DialogPortalProps) => <SheetPrimitive.Portal className={cn(className)} {...props} />;\nSheetPortal.displayName = SheetPrimitive.Portal.displayName;\n\nconst SheetOverlay = React.forwardRef<React.ElementRef<typeof SheetPrimitive.Overlay>, React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>>(({ className, ...props }, ref) => (\n <SheetPrimitive.Overlay className={cn(\"fixed inset-0 z-50 bg-background/80 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\", className)} {...props} ref={ref} />\n));\nSheetOverlay.displayName = SheetPrimitive.Overlay.displayName;\n\nconst sheetVariants = cva(\"fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500\", {\n variants: {\n side: {\n top: \"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top\",\n bottom: \"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom\",\n left: \"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm\",\n right: \"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm\",\n },\n },\n defaultVariants: {\n side: \"right\",\n },\n});\n\nconst SheetClose = ({ className, ...props }: SheetPrimitive.DialogCloseProps) => (\n <SheetPrimitive.Close className={cn(\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary\", className)} {...props}>\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n);\nSheetClose.displayName = \"Close\";\n\ninterface SheetContentProps extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>, VariantProps<typeof sheetVariants> {}\n\nconst SheetContent = React.forwardRef<React.ElementRef<typeof SheetPrimitive.Content>, SheetContentProps & { showOverlay?: boolean; open?: boolean }>(({ side = \"right\", className, children, showOverlay = false, open, ...props }, ref) => {\n return (\n <SheetPortal>\n {showOverlay && <SheetOverlay />}\n <div ref={ref} data-state={open ? \"open\" : \"closed\"} className={cn(sheetVariants({ side }), className)} {...props}>\n {children}\n </div>\n </SheetPortal>\n );\n});\nSheetContent.displayName = SheetPrimitive.Content.displayName;\n\nconst SheetHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => <div className={cn(\"flex flex-col space-y-2 text-center sm:text-left\", className)} {...props} />;\nSheetHeader.displayName = \"SheetHeader\";\n\nconst SheetFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => <div className={cn(\"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\", className)} {...props} />;\nSheetFooter.displayName = \"SheetFooter\";\n\nconst SheetTitle = React.forwardRef<React.ElementRef<typeof SheetPrimitive.Title>, React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>>(({ className, ...props }, ref) => <SheetPrimitive.Title ref={ref} className={cn(\"text-lg font-semibold text-foreground\", className)} {...props} />);\nSheetTitle.displayName = SheetPrimitive.Title.displayName;\n\nconst SheetDescription = React.forwardRef<React.ElementRef<typeof SheetPrimitive.Description>, React.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>>(({ className, ...props }, ref) => (\n <SheetPrimitive.Description ref={ref} className={cn(\"text-sm text-muted-foreground\", className)} {...props} />\n));\nSheetDescription.displayName = SheetPrimitive.Description.displayName;\n\nexport { Sheet, SheetTrigger, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription, SheetClose };\n","import { Sheet, SheetClose, SheetContent } from \"../../components/ui/sheet\";\nimport { Tabs, Tab } from \"@nextui-org/react\";\nimport { cn } from \"../../lib/utils\";\nimport { RootStore } from \"../../store/root\";\nimport { PromiseState } from \"../../store/standard/PromiseState\";\nimport { Store } from \"../../store/standard/base\";\nimport { Wrench } from \"lucide-react\";\nimport { observer, useLocalObservable } from \"mobx-react-lite\";\nimport { toJS } from \"mobx\";\nimport { helper } from \"../../lib/helper\";\nimport EventEmitter from \"events\";\nimport { useMemo } from \"react\";\nimport React from \"react\";\nimport { JSONEditor } from \"../../components/JSONEditor\"\n\nfunction filterState(obj) {\n if (obj.toJSON) {\n return obj.toJSON()\n }\n\n if (typeof obj !== \"object\" || obj === null) {\n return obj;\n }\n\n if (Array.isArray(obj)) {\n return obj.map(filterState);\n }\n\n const filteredObj = {};\n\n for (const [key, value] of Object.entries(obj)) {\n try {\n if (\n ![\"sid\", \"disabled\", \"autoObservable\", \"promiseState\", \"autoAsyncable\", \"stype\"].includes(key) &&\n // !(value instanceof PromiseState) &&\n !(value instanceof EventEmitter) &&\n !value?.hasOwnProperty(\"$$typeof\")\n ) {\n filteredObj[key] = filterState(value);\n }\n } catch (error) {\n console.error(error);\n return obj;\n }\n }\n\n return filteredObj;\n}\n\nexport class DevTool implements Store {\n sid = \"DevTool\";\n stype = \"Plugin\"\n provider = ({ rootStore }: { rootStore: RootStore }) => <DevToolProvider rootStore={rootStore} />;\n disabled?: boolean = false;\n autoObservable?: boolean = true;\n isOpen = false;\n\n panels: Store[\"pannel\"][] = [\n {\n title: \"Store\",\n render: observer(({ rootStore }: { rootStore: RootStore }) => {\n const state = useLocalObservable<{\n curStore: Store;\n curPromiseStateList: { name: string; promiseState: PromiseState<any, any> }[];\n }>(() => ({\n //@ts-ignore\n curStore: null,\n curPromiseStateList: [],\n }));\n const initialJson = useMemo(() => {\n //@ts-ignore\n if (state.curStore?.toJSON) return JSON.stringify(state.curStore?.toJSON(), null, 2);\n const filteredData = filterState(state.curStore || {});\n return JSON.stringify(toJS(filteredData), null, 2);\n }, [state.curStore]);\n return (\n <div className=\"flex flex-col md:flex-row text-sm\">\n <div>\n <Tabs\n size=\"sm\"\n radius=\"none\"\n variant=\"underlined\"\n items={[{ title: \"Store\", value: \"Store\" }, { title: \"Plugin\", value: \"Plugin\" }]}\n >\n {(item) => {\n const stores = Object.values(rootStore.instance).filter(i => i.stype == item.value && i.sid).sort((a, b) => a.sid.length - b.sid.length);\n return (\n <Tab key={item.title} title={item.title} >\n <div>\n <div className=\"w-full md:w-[300px] space-y-1 pr-2 overflow-auto\">\n {stores.map((store) => {\n return (\n <div\n key={store?.sid}\n className={cn(\"px-2 rounded-md hover:bg-green-600 hover:text-white cursor-pointer\", { \"bg-green-600 text-white\": state.curStore?.sid === store.sid })}\n onClick={() => {\n state.curStore = store;\n }}\n >\n {store.sid}\n </div>\n );\n })}\n </div>\n </div>\n </Tab>\n )\n }}\n </Tabs>\n </div>\n\n <div className=\"mt-4 w-full overflow-auto md:mt-0\">\n <JSONEditor\n className={\"h-full\"}\n height={450}\n initialJson={initialJson}\n onChange={(data) => {\n console.log(\"onChange\", data);\n helper.deepMerge(state.curStore, data);\n }}\n />\n {/* <PromiseStateDebug promiseStateList={state.curPromiseStateList} /> */}\n </div>\n </div>\n );\n }),\n },\n ];\n\n onNewStore({ rootStore }: { rootStore: RootStore }) {\n Object.values(rootStore.instance).forEach((store) => {\n if (store.devtools?.started) return;\n if (store.devtools?.panels) {\n store.devtools.started = true;\n this.panels = [...this.panels, ...store.devtools?.panels];\n }\n });\n }\n\n constructor(args: Partial<DevTool> = {}) {\n Object.assign(this, args);\n }\n}\n\n// const PromiseStateDebug = ({ promiseStateList }: { promiseStateList: { name: string; promiseState: PromiseState<any, any> }[] }) => {\n// if (promiseStateList.length === 0) return null;\n// return (\n// <>\n// <div className=\"mt-6 mb-2 pt-2 border-t-[1px] font-bold dark:border-gray-600\">Debug PromiseState</div>\n// <div className=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4\">\n// {promiseStateList.map((item, index) => {\n// const formData = item.promiseState.debug.input;\n// return (\n// <Card className=\"p-2 dark:border-gray-800\" key={index}>\n// <div className=\"font-bold text-xs\">{item.name}</div>\n// <JSONSchemaForm\n// formState={getFormState({\n// data: formData,\n// onSubmit: (data) => {\n// item.promiseState.call(data);\n// },\n// })}\n// />\n// </Card>\n// );\n// })}\n// </div>\n// </>\n// );\n// };\n\nexport const DevToolProvider = observer(({ rootStore }: { rootStore: RootStore }) => {\n const devTool = rootStore.get(DevTool);\n const minSheetHeight = 500;\n const store = useLocalObservable(() => ({\n sheetHeight: minSheetHeight,\n }));\n return (\n <>\n <div className=\"fixed right-4 bottom-4 z-10\">\n <div\n className=\"p-1 rounded-sm bg-gray-300 hover:bg-gray-400 dark:bg-gray-600 dark:hover:bg-gray-500 cursor-pointer\"\n onClick={() => {\n devTool.isOpen = true;\n }}\n >\n <Wrench size={20} />\n </div>\n </div>\n <Sheet open={devTool.isOpen}>\n <SheetContent\n open={devTool.isOpen}\n side=\"bottom\"\n className=\"p-0 outline-none bg-card dark:border-none\"\n style={{\n height: store.sheetHeight,\n }}\n >\n <div className=\"absolute top-0 left-0 h-[32px] w-full bg-gray-100 dark:bg-gray-800\"></div>\n <SheetClose\n className=\"top-2 right-2\"\n onClick={() => {\n devTool.isOpen = false;\n }}\n />\n <div\n className=\"absolute top-[-8px] left-0 w-full h-[10px] cursor-row-resize\"\n onMouseDown={(e) => {\n const startH = store.sheetHeight;\n const startPageY = e.pageY;\n const onMouseMove = (mouseMoveEvent: MouseEvent) => {\n const diff = startPageY - mouseMoveEvent.pageY;\n const h = startH + diff;\n if (h > minSheetHeight && h < window.innerHeight) {\n store.sheetHeight = h;\n }\n };\n const onMouseUp = () => {\n document.body.removeEventListener(\"mousemove\", onMouseMove);\n };\n document.body.addEventListener(\"mousemove\", onMouseMove);\n document.body.addEventListener(\"mouseup\", onMouseUp, { once: true });\n }}\n />\n <Tabs\n className='w-full'\n size=\"sm\"\n radius=\"none\"\n items={devTool.panels}\n >\n {(panel) => {\n const Component = panel.render || (() => null);\n return (\n <Tab key={panel.title} title={panel.title}>\n <div className=\"p-0\" style={{ height: `calc(${store.sheetHeight}px - 50px)` }}>\n <Component rootStore={rootStore} />\n </div>\n </Tab>\n )\n }}\n </Tabs>\n </SheetContent>\n </Sheet>\n </>\n );\n});\n"],"mappings":"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","names":["React","React"]}
|
|
1
|
+
{"version":3,"sources":["../components/ui/sheet.tsx","../module/Devtool/devtool.tsx"],"names":["React"],"mappings":"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","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as SheetPrimitive from \"@radix-ui/react-dialog\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { X } from \"lucide-react\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst Sheet = SheetPrimitive.Root;\n\nconst SheetTrigger = SheetPrimitive.Trigger;\n\nconst SheetPortal = ({ className, ...props }: SheetPrimitive.DialogPortalProps) => <SheetPrimitive.Portal className={cn(className)} {...props} />;\nSheetPortal.displayName = SheetPrimitive.Portal.displayName;\n\nconst SheetOverlay = React.forwardRef<React.ElementRef<typeof SheetPrimitive.Overlay>, React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>>(({ className, ...props }, ref) => (\n <SheetPrimitive.Overlay className={cn(\"fixed inset-0 z-50 bg-background/80 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\", className)} {...props} ref={ref} />\n));\nSheetOverlay.displayName = SheetPrimitive.Overlay.displayName;\n\nconst sheetVariants = cva(\"fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500\", {\n variants: {\n side: {\n top: \"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top\",\n bottom: \"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom\",\n left: \"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm\",\n right: \"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm\",\n },\n },\n defaultVariants: {\n side: \"right\",\n },\n});\n\nconst SheetClose = ({ className, ...props }: SheetPrimitive.DialogCloseProps) => (\n <SheetPrimitive.Close className={cn(\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary\", className)} {...props}>\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n);\nSheetClose.displayName = \"Close\";\n\ninterface SheetContentProps extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>, VariantProps<typeof sheetVariants> {}\n\nconst SheetContent = React.forwardRef<React.ElementRef<typeof SheetPrimitive.Content>, SheetContentProps & { showOverlay?: boolean; open?: boolean }>(({ side = \"right\", className, children, showOverlay = false, open, ...props }, ref) => {\n return (\n <SheetPortal>\n {showOverlay && <SheetOverlay />}\n <div ref={ref} data-state={open ? \"open\" : \"closed\"} className={cn(sheetVariants({ side }), className)} {...props}>\n {children}\n </div>\n </SheetPortal>\n );\n});\nSheetContent.displayName = SheetPrimitive.Content.displayName;\n\nconst SheetHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => <div className={cn(\"flex flex-col space-y-2 text-center sm:text-left\", className)} {...props} />;\nSheetHeader.displayName = \"SheetHeader\";\n\nconst SheetFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => <div className={cn(\"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\", className)} {...props} />;\nSheetFooter.displayName = \"SheetFooter\";\n\nconst SheetTitle = React.forwardRef<React.ElementRef<typeof SheetPrimitive.Title>, React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>>(({ className, ...props }, ref) => <SheetPrimitive.Title ref={ref} className={cn(\"text-lg font-semibold text-foreground\", className)} {...props} />);\nSheetTitle.displayName = SheetPrimitive.Title.displayName;\n\nconst SheetDescription = React.forwardRef<React.ElementRef<typeof SheetPrimitive.Description>, React.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>>(({ className, ...props }, ref) => (\n <SheetPrimitive.Description ref={ref} className={cn(\"text-sm text-muted-foreground\", className)} {...props} />\n));\nSheetDescription.displayName = SheetPrimitive.Description.displayName;\n\nexport { Sheet, SheetTrigger, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription, SheetClose };\n","import { Sheet, SheetClose, SheetContent } from \"../../components/ui/sheet\";\nimport { Tabs, Tab } from \"@nextui-org/react\";\nimport { cn } from \"../../lib/utils\";\nimport { RootStore } from \"../../store/root\";\nimport { PromiseState } from \"../../store/standard/PromiseState\";\nimport { Store } from \"../../store/standard/base\";\nimport { Wrench } from \"lucide-react\";\nimport { observer, useLocalObservable } from \"mobx-react-lite\";\nimport { toJS } from \"mobx\";\nimport { helper } from \"../../lib/helper\";\nimport EventEmitter from \"events\";\nimport { useMemo } from \"react\";\nimport React from \"react\";\nimport { JSONEditor } from \"../../components/JSONEditor\"\n\nfunction filterState(obj) {\n if (obj.toJSON) {\n return obj.toJSON()\n }\n\n if (typeof obj !== \"object\" || obj === null) {\n return obj;\n }\n\n if (Array.isArray(obj)) {\n return obj.map(filterState);\n }\n\n const filteredObj = {};\n\n for (const [key, value] of Object.entries(obj)) {\n try {\n if (\n ![\"sid\", \"disabled\", \"autoObservable\", \"promiseState\", \"autoAsyncable\", \"stype\"].includes(key) &&\n // !(value instanceof PromiseState) &&\n !(value instanceof EventEmitter) &&\n !value?.hasOwnProperty(\"$$typeof\")\n ) {\n filteredObj[key] = filterState(value);\n }\n } catch (error) {\n console.error(error);\n return obj;\n }\n }\n\n return filteredObj;\n}\n\nexport class DevTool implements Store {\n sid = \"DevTool\";\n stype = \"Plugin\"\n provider = ({ rootStore }: { rootStore: RootStore }) => <DevToolProvider rootStore={rootStore} />;\n disabled?: boolean = false;\n autoObservable?: boolean = true;\n isOpen = false;\n\n panels: Store[\"pannel\"][] = [\n {\n title: \"Store\",\n render: observer(({ rootStore }: { rootStore: RootStore }) => {\n const state = useLocalObservable<{\n curStore: Store;\n curPromiseStateList: { name: string; promiseState: PromiseState<any, any> }[];\n }>(() => ({\n //@ts-ignore\n curStore: null,\n curPromiseStateList: [],\n }));\n const initialJson = useMemo(() => {\n //@ts-ignore\n if (state.curStore?.toJSON) return JSON.stringify(state.curStore?.toJSON(), null, 2);\n const filteredData = filterState(state.curStore || {});\n return JSON.stringify(toJS(filteredData), null, 2);\n }, [state.curStore]);\n return (\n <div className=\"flex flex-col md:flex-row text-sm\">\n <div>\n <Tabs\n size=\"sm\"\n radius=\"none\"\n variant=\"underlined\"\n items={[{ title: \"Store\", value: \"Store\" }, { title: \"Plugin\", value: \"Plugin\" }]}\n >\n {(item) => {\n const stores = Object.values(rootStore.instance).filter(i => i.stype == item.value && i.sid).sort((a, b) => a.sid.length - b.sid.length);\n return (\n <Tab key={item.title} title={item.title} >\n <div>\n <div className=\"w-full md:w-[300px] space-y-1 pr-2 overflow-auto\">\n {stores.map((store) => {\n return (\n <div\n key={store?.sid}\n className={cn(\"px-2 rounded-md hover:bg-green-600 hover:text-white cursor-pointer\", { \"bg-green-600 text-white\": state.curStore?.sid === store.sid })}\n onClick={() => {\n state.curStore = store;\n }}\n >\n {store.sid}\n </div>\n );\n })}\n </div>\n </div>\n </Tab>\n )\n }}\n </Tabs>\n </div>\n\n <div className=\"mt-4 w-full overflow-auto md:mt-0\">\n <JSONEditor\n className={\"h-full\"}\n height={450}\n initialJson={initialJson}\n onChange={(data) => {\n console.log(\"onChange\", data);\n helper.deepMerge(state.curStore, data);\n }}\n />\n {/* <PromiseStateDebug promiseStateList={state.curPromiseStateList} /> */}\n </div>\n </div>\n );\n }),\n },\n ];\n\n onNewStore({ rootStore }: { rootStore: RootStore }) {\n Object.values(rootStore.instance).forEach((store) => {\n if (store.devtools?.started) return;\n if (store.devtools?.panels) {\n store.devtools.started = true;\n this.panels = [...this.panels, ...store.devtools?.panels];\n }\n });\n }\n\n constructor(args: Partial<DevTool> = {}) {\n Object.assign(this, args);\n }\n}\n\n// const PromiseStateDebug = ({ promiseStateList }: { promiseStateList: { name: string; promiseState: PromiseState<any, any> }[] }) => {\n// if (promiseStateList.length === 0) return null;\n// return (\n// <>\n// <div className=\"mt-6 mb-2 pt-2 border-t-[1px] font-bold dark:border-gray-600\">Debug PromiseState</div>\n// <div className=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4\">\n// {promiseStateList.map((item, index) => {\n// const formData = item.promiseState.debug.input;\n// return (\n// <Card className=\"p-2 dark:border-gray-800\" key={index}>\n// <div className=\"font-bold text-xs\">{item.name}</div>\n// <JSONSchemaForm\n// formState={getFormState({\n// data: formData,\n// onSubmit: (data) => {\n// item.promiseState.call(data);\n// },\n// })}\n// />\n// </Card>\n// );\n// })}\n// </div>\n// </>\n// );\n// };\n\nexport const DevToolProvider = observer(({ rootStore }: { rootStore: RootStore }) => {\n const devTool = rootStore.get(DevTool);\n const minSheetHeight = 500;\n const store = useLocalObservable(() => ({\n sheetHeight: minSheetHeight,\n }));\n return (\n <>\n <div className=\"fixed right-4 bottom-4 z-10\">\n <div\n className=\"p-1 rounded-sm bg-gray-300 hover:bg-gray-400 dark:bg-gray-600 dark:hover:bg-gray-500 cursor-pointer\"\n onClick={() => {\n devTool.isOpen = true;\n }}\n >\n <Wrench size={20} />\n </div>\n </div>\n <Sheet open={devTool.isOpen}>\n <SheetContent\n open={devTool.isOpen}\n side=\"bottom\"\n className=\"p-0 outline-none bg-card dark:border-none\"\n style={{\n height: store.sheetHeight,\n }}\n >\n <div className=\"absolute top-0 left-0 h-[32px] w-full bg-gray-100 dark:bg-gray-800\"></div>\n <SheetClose\n className=\"top-2 right-2\"\n onClick={() => {\n devTool.isOpen = false;\n }}\n />\n <div\n className=\"absolute top-[-8px] left-0 w-full h-[10px] cursor-row-resize\"\n onMouseDown={(e) => {\n const startH = store.sheetHeight;\n const startPageY = e.pageY;\n const onMouseMove = (mouseMoveEvent: MouseEvent) => {\n const diff = startPageY - mouseMoveEvent.pageY;\n const h = startH + diff;\n if (h > minSheetHeight && h < window.innerHeight) {\n store.sheetHeight = h;\n }\n };\n const onMouseUp = () => {\n document.body.removeEventListener(\"mousemove\", onMouseMove);\n };\n document.body.addEventListener(\"mousemove\", onMouseMove);\n document.body.addEventListener(\"mouseup\", onMouseUp, { once: true });\n }}\n />\n <Tabs\n className='w-full'\n size=\"sm\"\n radius=\"none\"\n items={devTool.panels}\n >\n {(panel) => {\n const Component = panel.render || (() => null);\n return (\n <Tab key={panel.title} title={panel.title}>\n <div className=\"p-0\" style={{ height: `calc(${store.sheetHeight}px - 50px)` }}>\n <Component rootStore={rootStore} />\n </div>\n </Tab>\n )\n }}\n </Tabs>\n </SheetContent>\n </Sheet>\n </>\n );\n});\n"]}
|
package/dist/experimental.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { S as Store, R as RootStore } from './root-
|
|
1
|
+
import { S as Store, R as RootStore } from './root-C3lZnoCI.js';
|
|
2
2
|
import React, { ReactNode } from 'react';
|
|
3
3
|
import 'typed-emitter';
|
|
4
4
|
|
|
@@ -15,7 +15,9 @@ declare class SlotPlugin implements Store {
|
|
|
15
15
|
input?: Record<string, any>;
|
|
16
16
|
render: React.FC<{}>;
|
|
17
17
|
}>;
|
|
18
|
-
static Slot: ({ name, ...props }:
|
|
18
|
+
static Slot: ({ name, ...props }: {
|
|
19
|
+
name;
|
|
20
|
+
} & any) => ReactNode;
|
|
19
21
|
constructor(args?: Partial<SlotPlugin>);
|
|
20
22
|
}
|
|
21
23
|
|
|
@@ -119,4 +121,4 @@ declare class AsyncStorage implements Store {
|
|
|
119
121
|
makeAutoAsyncAble(instance: any): Promise<void>;
|
|
120
122
|
}
|
|
121
123
|
|
|
122
|
-
export { AsyncStorage, DataGroup, Engine, SlotPlugin, StorageParams, StoragePlugin, jwt };
|
|
124
|
+
export { AsyncStorage, type DataGroup, type Engine, SlotPlugin, type StorageParams, StoragePlugin, jwt };
|
package/dist/experimental.mjs
CHANGED
|
@@ -1,21 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
} from
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
} from
|
|
8
|
-
import
|
|
9
|
-
lodash_exports
|
|
10
|
-
} from "./chunk-DUK5IHQE.mjs";
|
|
11
|
-
import {
|
|
12
|
-
__objRest,
|
|
13
|
-
__spreadProps,
|
|
14
|
-
__spreadValues
|
|
15
|
-
} from "./chunk-5E65QCNB.mjs";
|
|
1
|
+
import { PromiseState } from './chunk-CDOZMM72.mjs';
|
|
2
|
+
import './chunk-J4DZJDMK.mjs';
|
|
3
|
+
import { RootStore } from './chunk-XJMRAPHI.mjs';
|
|
4
|
+
import { _ } from './chunk-7LQSAVH2.mjs';
|
|
5
|
+
import { __objRest, __spreadValues, __spreadProps } from './chunk-R4SQKVDQ.mjs';
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import { makeAutoObservable, toJS, observable } from 'mobx';
|
|
8
|
+
import axios from 'axios';
|
|
16
9
|
|
|
17
|
-
// module/Core/Slot.tsx
|
|
18
|
-
import React from "react";
|
|
19
10
|
var _SlotPlugin = class _SlotPlugin {
|
|
20
11
|
constructor(args = {}) {
|
|
21
12
|
this.sid = "SlotPlugin";
|
|
@@ -92,9 +83,6 @@ _SlotPlugin.Slot = (_a) => {
|
|
|
92
83
|
return /* @__PURE__ */ React.createElement(Component, __spreadValues({}, props));
|
|
93
84
|
};
|
|
94
85
|
var SlotPlugin = _SlotPlugin;
|
|
95
|
-
|
|
96
|
-
// module/Core/Storage.tsx
|
|
97
|
-
import { makeAutoObservable, observable, toJS } from "mobx";
|
|
98
86
|
var memory = {};
|
|
99
87
|
var _StoragePlugin = class _StoragePlugin {
|
|
100
88
|
constructor(args = {}) {
|
|
@@ -161,7 +149,7 @@ var _StoragePlugin = class _StoragePlugin {
|
|
|
161
149
|
listen(func) {
|
|
162
150
|
RootStore.init().events.on(`storage.${key}.update`, (args) => func(args));
|
|
163
151
|
},
|
|
164
|
-
debounceFn:
|
|
152
|
+
debounceFn: _.debounce((value2) => {
|
|
165
153
|
other == null ? void 0 : other.onDebounce(value2);
|
|
166
154
|
}, other.debounce)
|
|
167
155
|
}));
|
|
@@ -184,7 +172,7 @@ var _StoragePlugin = class _StoragePlugin {
|
|
|
184
172
|
const key = path.split(".").pop();
|
|
185
173
|
if (!p[parentPath]) {
|
|
186
174
|
const topPath = !parentPath.includes(".");
|
|
187
|
-
|
|
175
|
+
_.set(p, parentPath + (topPath ? `.${key}` : ``), __spreadProps(__spreadValues({}, current), {
|
|
188
176
|
toJSON() {
|
|
189
177
|
return typeof current.value === "object" ? JSON.stringify(toJS(current.value), null, 2) : current.value;
|
|
190
178
|
}
|
|
@@ -278,7 +266,7 @@ var _StoragePlugin = class _StoragePlugin {
|
|
|
278
266
|
}
|
|
279
267
|
static Custom(args) {
|
|
280
268
|
const storagePlugin = RootStore.Get(_StoragePlugin);
|
|
281
|
-
const _a = args
|
|
269
|
+
const _a = args; __objRest(_a, ["value", "_value"]);
|
|
282
270
|
const data = storagePlugin.get(args);
|
|
283
271
|
return observable(__spreadProps(__spreadValues(__spreadValues({}, args), data), {
|
|
284
272
|
get value() {
|
|
@@ -333,9 +321,6 @@ _StoragePlugin.engines = {
|
|
|
333
321
|
// },
|
|
334
322
|
};
|
|
335
323
|
var StoragePlugin = _StoragePlugin;
|
|
336
|
-
|
|
337
|
-
// module/Core/Async.tsx
|
|
338
|
-
import axios from "axios";
|
|
339
324
|
var jwt = StoragePlugin.Get({
|
|
340
325
|
key: "asyncStorage.token",
|
|
341
326
|
value: "",
|
|
@@ -435,13 +420,13 @@ var AsyncStorage = class {
|
|
|
435
420
|
});
|
|
436
421
|
}
|
|
437
422
|
get(key) {
|
|
438
|
-
return
|
|
423
|
+
return _.get(this.data.value, key);
|
|
439
424
|
}
|
|
440
425
|
async set(key, value) {
|
|
441
|
-
|
|
426
|
+
_.set(this.data.value, key, value);
|
|
442
427
|
}
|
|
443
428
|
async remove(key) {
|
|
444
|
-
|
|
429
|
+
_.remove(this.data.value, key);
|
|
445
430
|
}
|
|
446
431
|
async makeAutoAsyncAble(instance) {
|
|
447
432
|
const data = await this.data.wait({ call: true });
|
|
@@ -450,10 +435,7 @@ var AsyncStorage = class {
|
|
|
450
435
|
}
|
|
451
436
|
}
|
|
452
437
|
};
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
StoragePlugin,
|
|
457
|
-
jwt
|
|
458
|
-
};
|
|
438
|
+
|
|
439
|
+
export { AsyncStorage, SlotPlugin, StoragePlugin, jwt };
|
|
440
|
+
//# sourceMappingURL=out.js.map
|
|
459
441
|
//# sourceMappingURL=experimental.mjs.map
|