@dappworks/kit 0.4.176 → 0.4.177
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/StorageState-qzikHBY8.d.ts +66 -0
- package/dist/aiem.mjs +3 -1231
- package/dist/aiem.mjs.map +1 -1
- package/dist/chunk-2EXDWOHY.mjs +58 -0
- package/dist/chunk-3DOB34HY.mjs +292 -0
- package/dist/chunk-3DOB34HY.mjs.map +1 -0
- package/dist/{chunk-3O7QI47S.mjs → chunk-3HD22664.mjs} +2 -2
- package/dist/chunk-5JMONDHE.mjs +436 -0
- package/dist/chunk-5JMONDHE.mjs.map +1 -0
- package/dist/chunk-L6XS2K2K.mjs +76 -0
- package/dist/chunk-L6XS2K2K.mjs.map +1 -0
- package/dist/{chunk-AIZ7XDNV.mjs → chunk-TQNAAA4I.mjs} +22 -21
- package/dist/chunk-TQNAAA4I.mjs.map +1 -0
- package/dist/{chunk-GKK6EXKY.mjs → chunk-XSLAZWOE.mjs} +4 -4
- package/dist/dev.d.mts +3 -3
- package/dist/dev.mjs +2 -2
- package/dist/experimental.d.mts +3 -3
- package/dist/experimental.mjs +1 -1
- package/dist/form.d.mts +15 -15
- package/dist/form.mjs +2 -2
- package/dist/form.mjs.map +1 -1
- package/dist/index.d.mts +6 -67
- package/dist/index.mjs +3 -291
- package/dist/index.mjs.map +1 -1
- package/dist/inspector.d.mts +2 -2
- package/dist/inspector.mjs +1 -1
- package/dist/jsontable.d.mts +8 -8
- package/dist/jsontable.mjs +4 -4
- package/dist/metrics.d.mts +15 -15
- package/dist/metrics.mjs +4 -4
- package/dist/plugins.d.mts +11 -11
- package/dist/plugins.mjs +21 -83
- package/dist/plugins.mjs.map +1 -1
- package/dist/ui.d.mts +7 -7
- package/dist/ui.mjs +3 -3
- package/dist/utils.mjs +1 -1
- package/dist/wallet.d.mts +152 -0
- package/dist/wallet.mjs +3631 -0
- package/dist/wallet.mjs.map +1 -0
- package/package.json +13 -3
- package/dist/chunk-AIZ7XDNV.mjs.map +0 -1
- package/dist/chunk-R4SQKVDQ.mjs +0 -35
- /package/dist/{chunk-R4SQKVDQ.mjs.map → chunk-2EXDWOHY.mjs.map} +0 -0
- /package/dist/{chunk-3O7QI47S.mjs.map → chunk-3HD22664.mjs.map} +0 -0
- /package/dist/{chunk-GKK6EXKY.mjs.map → chunk-XSLAZWOE.mjs.map} +0 -0
package/dist/plugins.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { S as Store } from './root-C3lZnoCI.js';
|
|
2
|
-
import
|
|
2
|
+
import React__default from 'react';
|
|
3
3
|
import { SlotsToClasses, ModalSlots, ButtonProps, SpinnerProps } from '@nextui-org/react';
|
|
4
4
|
import { T as ThemeType } from './index-CUKoRIdy.js';
|
|
5
5
|
import * as react_hot_toast from 'react-hot-toast';
|
|
@@ -9,7 +9,7 @@ import 'events';
|
|
|
9
9
|
|
|
10
10
|
declare class ConfirmStore implements Store {
|
|
11
11
|
sid: string;
|
|
12
|
-
provider: () =>
|
|
12
|
+
provider: () => React__default.JSX.Element;
|
|
13
13
|
isOpen: boolean;
|
|
14
14
|
title?: string;
|
|
15
15
|
description?: string;
|
|
@@ -29,7 +29,7 @@ declare class ConfirmStore implements Store {
|
|
|
29
29
|
|
|
30
30
|
declare class ToastPlugin implements Store {
|
|
31
31
|
sid: string;
|
|
32
|
-
provider: () =>
|
|
32
|
+
provider: () => React__default.JSX.Element;
|
|
33
33
|
success: (message: react_hot_toast.Renderable | react_hot_toast.ValueFunction<react_hot_toast.Renderable, react_hot_toast.Toast>, options?: react_hot_toast.ToastOptions) => string;
|
|
34
34
|
error: (message: react_hot_toast.Renderable | react_hot_toast.ValueFunction<react_hot_toast.Renderable, react_hot_toast.Toast>, options?: react_hot_toast.ToastOptions) => string;
|
|
35
35
|
loading: (message: react_hot_toast.Renderable | react_hot_toast.ValueFunction<react_hot_toast.Renderable, react_hot_toast.Toast>, options?: react_hot_toast.ToastOptions) => string;
|
|
@@ -45,7 +45,7 @@ declare class ToastPlugin implements Store {
|
|
|
45
45
|
|
|
46
46
|
declare class DialogStore implements Store {
|
|
47
47
|
sid: string;
|
|
48
|
-
provider: () =>
|
|
48
|
+
provider: () => React__default.JSX.Element;
|
|
49
49
|
isOpen: boolean;
|
|
50
50
|
placement: "center" | "auto" | "top" | "bottom" | "top-center" | "bottom-center";
|
|
51
51
|
title: string;
|
|
@@ -53,7 +53,7 @@ declare class DialogStore implements Store {
|
|
|
53
53
|
className: string;
|
|
54
54
|
classNames?: SlotsToClasses<ModalSlots>;
|
|
55
55
|
theme: ThemeType;
|
|
56
|
-
content:
|
|
56
|
+
content: React__default.ReactNode | ((props: any) => React__default.ReactNode);
|
|
57
57
|
isDismissable: boolean;
|
|
58
58
|
constructor(args?: Partial<DialogStore>);
|
|
59
59
|
setData(v: Partial<DialogStore>): void;
|
|
@@ -64,15 +64,15 @@ declare class DialogStore implements Store {
|
|
|
64
64
|
|
|
65
65
|
type GroupOptions = {
|
|
66
66
|
args?: any[];
|
|
67
|
-
title:
|
|
67
|
+
title: React__default.ReactNode;
|
|
68
68
|
}[];
|
|
69
69
|
type DialogContentUIProps = {
|
|
70
70
|
className?: string;
|
|
71
71
|
itemClassName?: string;
|
|
72
72
|
numberClassName?: string;
|
|
73
73
|
spinnerProps?: SpinnerProps;
|
|
74
|
-
SuccessIcon?:
|
|
75
|
-
FailureIcon?:
|
|
74
|
+
SuccessIcon?: React__default.ReactNode;
|
|
75
|
+
FailureIcon?: React__default.ReactNode;
|
|
76
76
|
};
|
|
77
77
|
type StepUIProps = {
|
|
78
78
|
className?: string;
|
|
@@ -81,8 +81,8 @@ type StepUIProps = {
|
|
|
81
81
|
numberClassName?: string;
|
|
82
82
|
activatedNumberClassName?: string;
|
|
83
83
|
spinnerProps?: SpinnerProps;
|
|
84
|
-
SuccessIcon?:
|
|
85
|
-
FailureIcon?:
|
|
84
|
+
SuccessIcon?: React__default.ReactNode;
|
|
85
|
+
FailureIcon?: React__default.ReactNode;
|
|
86
86
|
};
|
|
87
87
|
|
|
88
88
|
declare class PromiseStateGroup {
|
|
@@ -108,7 +108,7 @@ declare class PromiseStateGroup {
|
|
|
108
108
|
}>;
|
|
109
109
|
onNext(): void;
|
|
110
110
|
onPrevious(): void;
|
|
111
|
-
render(props?: StepUIProps):
|
|
111
|
+
render(props?: StepUIProps): React__default.JSX.Element;
|
|
112
112
|
}
|
|
113
113
|
|
|
114
114
|
export { ConfirmStore, DialogStore, PromiseStateGroup, ToastPlugin };
|
package/dist/plugins.mjs
CHANGED
|
@@ -1,20 +1,22 @@
|
|
|
1
|
+
import { DialogStore } from './chunk-L6XS2K2K.mjs';
|
|
2
|
+
export { DialogStore } from './chunk-L6XS2K2K.mjs';
|
|
1
3
|
export { ToastPlugin } from './chunk-IMOLRP7I.mjs';
|
|
2
4
|
import { getStyle } from './chunk-K73JTEJQ.mjs';
|
|
3
|
-
import { useStore
|
|
5
|
+
import { useStore } from './chunk-XSGTWROT.mjs';
|
|
4
6
|
import './chunk-K7LFG5BA.mjs';
|
|
5
|
-
import { cn } from './chunk-
|
|
6
|
-
import { __spreadProps, __spreadValues } from './chunk-
|
|
7
|
+
import { cn } from './chunk-TQNAAA4I.mjs';
|
|
8
|
+
import { __spreadProps, __spreadValues } from './chunk-2EXDWOHY.mjs';
|
|
7
9
|
import { makeAutoObservable, makeObservable } from 'mobx';
|
|
8
|
-
import
|
|
10
|
+
import React3 from 'react';
|
|
9
11
|
import { observer } from 'mobx-react-lite';
|
|
10
12
|
import { Modal, ModalContent, ModalHeader, ModalBody, ModalFooter, Button, Spinner } from '@nextui-org/react';
|
|
11
13
|
import { Check, X } from 'lucide-react';
|
|
12
14
|
|
|
13
15
|
var ConfirmModal = observer(() => {
|
|
14
|
-
const
|
|
15
|
-
const confirmStore =
|
|
16
|
+
const rootStore = useStore();
|
|
17
|
+
const confirmStore = rootStore.get(ConfirmStore);
|
|
16
18
|
const { isOpen, title, description, size, className, classNames, cancelBtnProps, okBtnProps } = confirmStore;
|
|
17
|
-
return /* @__PURE__ */
|
|
19
|
+
return /* @__PURE__ */ React3.createElement(
|
|
18
20
|
Modal,
|
|
19
21
|
{
|
|
20
22
|
isOpen,
|
|
@@ -27,7 +29,7 @@ var ConfirmModal = observer(() => {
|
|
|
27
29
|
}
|
|
28
30
|
}
|
|
29
31
|
},
|
|
30
|
-
/* @__PURE__ */
|
|
32
|
+
/* @__PURE__ */ React3.createElement(ModalContent, { className: "max-h-screen overflow-auto" }, () => /* @__PURE__ */ React3.createElement(React3.Fragment, null, title && /* @__PURE__ */ React3.createElement(ModalHeader, { className: "flex flex-col gap-1" }, title), /* @__PURE__ */ React3.createElement(ModalBody, null, /* @__PURE__ */ React3.createElement("div", null, description)), /* @__PURE__ */ React3.createElement(ModalFooter, null, /* @__PURE__ */ React3.createElement(
|
|
31
33
|
Button,
|
|
32
34
|
__spreadProps(__spreadValues({
|
|
33
35
|
color: "primary",
|
|
@@ -40,7 +42,7 @@ var ConfirmModal = observer(() => {
|
|
|
40
42
|
confirmStore.onCancel();
|
|
41
43
|
}
|
|
42
44
|
})
|
|
43
|
-
), /* @__PURE__ */
|
|
45
|
+
), /* @__PURE__ */ React3.createElement(
|
|
44
46
|
Button,
|
|
45
47
|
__spreadProps(__spreadValues({
|
|
46
48
|
color: "primary",
|
|
@@ -59,7 +61,7 @@ var Provider_default = ConfirmModal;
|
|
|
59
61
|
var ConfirmStore = class {
|
|
60
62
|
constructor() {
|
|
61
63
|
this.sid = "ConfirmStore";
|
|
62
|
-
this.provider = () => /* @__PURE__ */
|
|
64
|
+
this.provider = () => /* @__PURE__ */ React3.createElement(Provider_default, null);
|
|
63
65
|
this.isOpen = false;
|
|
64
66
|
this.title = "";
|
|
65
67
|
this.description = "";
|
|
@@ -92,70 +94,6 @@ var ConfirmStore = class {
|
|
|
92
94
|
this.okBtnProps = {};
|
|
93
95
|
}
|
|
94
96
|
};
|
|
95
|
-
var Dialog = observer(() => {
|
|
96
|
-
const rootStore2 = useStore();
|
|
97
|
-
const modal = rootStore2.get(DialogStore);
|
|
98
|
-
const { className, classNames, isOpen, placement, title, size, content, isDismissable } = modal;
|
|
99
|
-
const Content = typeof content === "function" ? content : () => content;
|
|
100
|
-
return /* @__PURE__ */ React5.createElement(
|
|
101
|
-
Modal,
|
|
102
|
-
{
|
|
103
|
-
isOpen,
|
|
104
|
-
size,
|
|
105
|
-
placement,
|
|
106
|
-
onOpenChange: (open) => {
|
|
107
|
-
if (!open) {
|
|
108
|
-
modal.close();
|
|
109
|
-
}
|
|
110
|
-
},
|
|
111
|
-
className,
|
|
112
|
-
classNames,
|
|
113
|
-
isDismissable
|
|
114
|
-
},
|
|
115
|
-
/* @__PURE__ */ React5.createElement(ModalContent, { className: "max-h-screen overflow-auto" }, () => /* @__PURE__ */ React5.createElement(React5.Fragment, null, title && /* @__PURE__ */ React5.createElement(ModalHeader, { className: "flex flex-col gap-1" }, title), /* @__PURE__ */ React5.createElement(ModalBody, null, /* @__PURE__ */ React5.createElement(Content, null))))
|
|
116
|
-
);
|
|
117
|
-
});
|
|
118
|
-
var Provider_default2 = Dialog;
|
|
119
|
-
|
|
120
|
-
// module/Dialog/index.tsx
|
|
121
|
-
var DialogStore = class _DialogStore {
|
|
122
|
-
constructor(args) {
|
|
123
|
-
this.sid = "DialogStore";
|
|
124
|
-
this.provider = () => /* @__PURE__ */ React5.createElement(Provider_default2, null);
|
|
125
|
-
this.isOpen = false;
|
|
126
|
-
this.title = "";
|
|
127
|
-
this.size = "md";
|
|
128
|
-
this.className = "";
|
|
129
|
-
this.theme = "default";
|
|
130
|
-
this.content = "";
|
|
131
|
-
this.isDismissable = true;
|
|
132
|
-
const modalStyle = getStyle((args == null ? void 0 : args.theme) || "default", "Modal");
|
|
133
|
-
const classNames = __spreadValues(__spreadValues({}, modalStyle.classNames), args == null ? void 0 : args.classNames);
|
|
134
|
-
Object.assign(this, args, { classNames });
|
|
135
|
-
makeAutoObservable(this);
|
|
136
|
-
}
|
|
137
|
-
setData(v) {
|
|
138
|
-
Object.assign(this, v);
|
|
139
|
-
}
|
|
140
|
-
close() {
|
|
141
|
-
this.isOpen = false;
|
|
142
|
-
this.title = "";
|
|
143
|
-
this.content = "";
|
|
144
|
-
this.size = "md";
|
|
145
|
-
this.isDismissable = true;
|
|
146
|
-
}
|
|
147
|
-
static show(v) {
|
|
148
|
-
const modalStyle = getStyle((v == null ? void 0 : v.theme) || "default", "Modal");
|
|
149
|
-
const classNames = __spreadValues(__spreadValues({}, modalStyle.classNames), v == null ? void 0 : v.classNames);
|
|
150
|
-
rootStore.get(_DialogStore).setData(__spreadProps(__spreadValues({}, v), {
|
|
151
|
-
classNames,
|
|
152
|
-
isOpen: true
|
|
153
|
-
}));
|
|
154
|
-
}
|
|
155
|
-
static close() {
|
|
156
|
-
rootStore.get(_DialogStore).close();
|
|
157
|
-
}
|
|
158
|
-
};
|
|
159
97
|
var DialogContentUI = observer(({
|
|
160
98
|
group,
|
|
161
99
|
groupOptions,
|
|
@@ -168,10 +106,10 @@ var DialogContentUI = observer(({
|
|
|
168
106
|
SuccessIcon,
|
|
169
107
|
FailureIcon
|
|
170
108
|
}) => {
|
|
171
|
-
return /* @__PURE__ */
|
|
109
|
+
return /* @__PURE__ */ React3.createElement("div", { className: cn("space-y-4", className) }, group.map((promiseState, index) => {
|
|
172
110
|
const uiOptions = groupOptions[index];
|
|
173
111
|
const no = index + 1;
|
|
174
|
-
return /* @__PURE__ */
|
|
112
|
+
return /* @__PURE__ */ React3.createElement("div", { key: index, className: cn("w-full flex items-center justify-between", itemClassName) }, /* @__PURE__ */ React3.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React3.createElement("div", { className: cn("w-6 h-6 flex items-center justify-center text-sm rounded-full border-2 border-[#000000] dark:border-[#cacbcb] mr-2", numberClassName) }, no), uiOptions == null ? void 0 : uiOptions.title), promiseState.loading.value ? /* @__PURE__ */ React3.createElement(Spinner, __spreadValues({}, spinnerProps)) : /* @__PURE__ */ React3.createElement(React3.Fragment, null, promiseState.value && (SuccessIcon || /* @__PURE__ */ React3.createElement(Check, { size: 20, color: "#605BFF" })), promiseState.errMsg && (FailureIcon || /* @__PURE__ */ React3.createElement(X, { size: 20, color: "red" }))));
|
|
175
113
|
}));
|
|
176
114
|
});
|
|
177
115
|
var StepUI = observer(({
|
|
@@ -189,10 +127,10 @@ var StepUI = observer(({
|
|
|
189
127
|
SuccessIcon,
|
|
190
128
|
FailureIcon
|
|
191
129
|
}) => {
|
|
192
|
-
return /* @__PURE__ */
|
|
130
|
+
return /* @__PURE__ */ React3.createElement("div", { className: cn("space-y-4", className) }, group.map((promiseState, index) => {
|
|
193
131
|
const uiOptions = groupOptions[index];
|
|
194
132
|
const no = index + 1;
|
|
195
|
-
return /* @__PURE__ */
|
|
133
|
+
return /* @__PURE__ */ React3.createElement(
|
|
196
134
|
"div",
|
|
197
135
|
{
|
|
198
136
|
key: index,
|
|
@@ -202,7 +140,7 @@ var StepUI = observer(({
|
|
|
202
140
|
itemClassName
|
|
203
141
|
)
|
|
204
142
|
},
|
|
205
|
-
/* @__PURE__ */
|
|
143
|
+
/* @__PURE__ */ React3.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React3.createElement(
|
|
206
144
|
"div",
|
|
207
145
|
{
|
|
208
146
|
className: cn(
|
|
@@ -213,7 +151,7 @@ var StepUI = observer(({
|
|
|
213
151
|
},
|
|
214
152
|
no
|
|
215
153
|
), uiOptions == null ? void 0 : uiOptions.title),
|
|
216
|
-
promiseState.loading.value ? /* @__PURE__ */
|
|
154
|
+
promiseState.loading.value ? /* @__PURE__ */ React3.createElement(Spinner, __spreadValues({}, spinnerProps)) : /* @__PURE__ */ React3.createElement(React3.Fragment, null, promiseState.value && no <= currentCallStepNo && (SuccessIcon || /* @__PURE__ */ React3.createElement(Check, { size: 20, color: "#605BFF" })), promiseState.errMsg && no <= currentCallStepNo && (FailureIcon || /* @__PURE__ */ React3.createElement(X, { size: 20, color: "red" })))
|
|
217
155
|
);
|
|
218
156
|
}));
|
|
219
157
|
});
|
|
@@ -269,7 +207,7 @@ var PromiseStateGroup = class {
|
|
|
269
207
|
title: "",
|
|
270
208
|
size: "md",
|
|
271
209
|
isDismissable: false,
|
|
272
|
-
content: /* @__PURE__ */
|
|
210
|
+
content: /* @__PURE__ */ React3.createElement(
|
|
273
211
|
DialogContentUI,
|
|
274
212
|
__spreadValues({
|
|
275
213
|
group: this.group,
|
|
@@ -338,7 +276,7 @@ var PromiseStateGroup = class {
|
|
|
338
276
|
}
|
|
339
277
|
}
|
|
340
278
|
render(props) {
|
|
341
|
-
return /* @__PURE__ */
|
|
279
|
+
return /* @__PURE__ */ React3.createElement(
|
|
342
280
|
StepUI,
|
|
343
281
|
__spreadValues({
|
|
344
282
|
group: this.group,
|
|
@@ -349,6 +287,6 @@ var PromiseStateGroup = class {
|
|
|
349
287
|
}
|
|
350
288
|
};
|
|
351
289
|
|
|
352
|
-
export { ConfirmStore,
|
|
290
|
+
export { ConfirmStore, PromiseStateGroup };
|
|
353
291
|
//# sourceMappingURL=out.js.map
|
|
354
292
|
//# sourceMappingURL=plugins.mjs.map
|
package/dist/plugins.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../module/Confirm/index.tsx","../module/Confirm/Provider.tsx","../module/Dialog/index.tsx","../module/Dialog/Provider.tsx","../module/PromiseStateGroup/index.tsx","../module/PromiseStateGroup/ui.tsx"],"names":["rootStore","React","makeAutoObservable","Modal","ModalBody","ModalContent","ModalHeader","observer","Provider_default"],"mappings":"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","sourcesContent":["import { Store } from \"../../store/standard/base\";\nimport { makeAutoObservable } from \"mobx\";\nimport Provider from \"./Provider\";\nimport React from \"react\";\nimport { ButtonProps, ModalSlots, SlotsToClasses } from \"@nextui-org/react\";\nimport { getStyle, ThemeType } from \"../../themes\";\n\nexport class ConfirmStore implements Store {\n sid = 'ConfirmStore';\n provider = () => <Provider />;\n\n isOpen: boolean = false;\n title?: string = '';\n description?: string = '';\n size: 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full' | 'xs' | '3xl' | '4xl' | '5xl' = 'md';\n className: string = '';\n classNames?: SlotsToClasses<ModalSlots>;\n theme: ThemeType = \"default\";\n cancelBtnProps?: ButtonProps = {}\n okBtnProps?: ButtonProps = {}\n\n constructor() {\n makeAutoObservable(this);\n }\n\n toggleOpen(val: boolean) {\n this.isOpen = val;\n }\n\n onOk() { }\n\n onCancel() { }\n\n show(confirmProps: Partial<ConfirmStore>) {\n const modalStyle = getStyle(confirmProps?.theme || 'default', 'Modal');\n const classNames = {\n ...modalStyle.classNames,\n ...confirmProps?.classNames\n }\n Object.assign(this, confirmProps, { classNames });\n\n this.toggleOpen(true);\n }\n\n close() {\n this.isOpen = false;\n this.title = '';\n this.description = '';\n this.size = 'md';\n this.cancelBtnProps = {}\n this.okBtnProps = {}\n }\n}\n","import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { Button, Modal, ModalBody, ModalContent, ModalFooter, ModalHeader } from '@nextui-org/react';\nimport { useStore } from \"../../store\";\nimport { ConfirmStore } from \".\";\n\nconst ConfirmModal = observer(() => {\n const rootStore = useStore();\n const confirmStore = rootStore.get(ConfirmStore);\n const { isOpen, title, description, size, className, classNames, cancelBtnProps, okBtnProps } = confirmStore;\n return (\n <Modal\n isOpen={isOpen}\n size={size}\n className={className}\n classNames={classNames}\n onOpenChange={(open: boolean) => {\n if (!open) {\n confirmStore.close();\n }\n }}\n >\n <ModalContent className=\"max-h-screen overflow-auto\">\n {() => (\n <>\n {title && <ModalHeader className=\"flex flex-col gap-1\">{title}</ModalHeader>}\n <ModalBody>\n <div>{description}</div>\n </ModalBody>\n <ModalFooter>\n <Button\n color=\"primary\"\n variant=\"flat\"\n size=\"sm\"\n children=\"Cancel\"\n {...cancelBtnProps}\n onClick={() => {\n confirmStore.close();\n confirmStore.onCancel();\n }}\n />\n <Button\n color=\"primary\"\n size=\"sm\"\n children=\"Apply\"\n {...okBtnProps}\n onPress={() => {\n confirmStore.close();\n confirmStore.onOk();\n }}\n />\n </ModalFooter>\n </>\n )}\n </ModalContent>\n </Modal>\n );\n});\n\nexport default ConfirmModal;","import React from \"react\";\nimport { makeAutoObservable } from \"mobx\";\nimport { rootStore } from \"../../store\";\nimport { Store } from \"../../store/standard/base\";\nimport Provider from \"./Provider\";\nimport { ModalSlots, SlotsToClasses } from \"@nextui-org/react\";\nimport { getStyle, ThemeType } from \"../../themes\";\n\nexport class DialogStore implements Store {\n sid = \"DialogStore\";\n provider = () => <Provider />;\n\n isOpen = false;\n placement: \"center\" | \"auto\" | \"top\" | \"bottom\" | \"top-center\" | \"bottom-center\";\n title = \"\";\n size: \"sm\" | \"md\" | \"lg\" | \"xl\" | \"2xl\" | \"full\" | \"xs\" | \"3xl\" | \"4xl\" | \"5xl\" = \"md\";\n className: string = \"\";\n classNames?: SlotsToClasses<ModalSlots>;\n theme: ThemeType = \"default\";\n content: React.ReactNode | ((props: any) => React.ReactNode) = \"\";\n isDismissable = true;\n\n constructor(args?: Partial<DialogStore>) {\n const modalStyle = getStyle(args?.theme || 'default', 'Modal');\n const classNames = {\n ...modalStyle.classNames,\n ...args?.classNames\n }\n Object.assign(this, args, { classNames });\n makeAutoObservable(this);\n }\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.isDismissable = true;\n }\n\n static show(v: Partial<DialogStore>) {\n const modalStyle = getStyle(v?.theme || 'default', 'Modal');\n const classNames = {\n ...modalStyle.classNames,\n ...v?.classNames\n }\n rootStore.get(DialogStore).setData({\n ...v,\n classNames,\n isOpen: true,\n\n });\n }\n\n static close() {\n rootStore.get(DialogStore).close();\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 { useStore } from \"../../store/index\";\n\nconst Dialog = observer(() => {\n const rootStore = useStore();\n const modal = rootStore.get(DialogStore);\n const { className, classNames, isOpen, placement, title, size, content, isDismissable } = modal;\n const Content = typeof content === 'function' ? content : () => content;\n return (\n <Modal\n isOpen={isOpen}\n size={size}\n placement={placement}\n onOpenChange={(open: boolean) => {\n if (!open) {\n modal.close();\n }\n }}\n className={className}\n classNames={classNames}\n isDismissable={isDismissable}\n >\n <ModalContent className=\"max-h-screen overflow-auto\">\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;","import React from 'react';\nimport { PromiseState } from '../../store/standard/PromiseState';\nimport { DialogStore } from '../Dialog';\nimport { DialogContentUI, DialogContentUIProps, GroupOptions, StepUI, StepUIProps } from './ui';\nimport { makeObservable } from 'mobx';\n\nexport class PromiseStateGroup {\n group: PromiseState<any, any>[] = [];\n groupOptions: GroupOptions = [];\n currentCallStepNo = 1;\n\n constructor({ group, groupOptions = [] }: { group: PromiseState<any, any>[]; groupOptions: GroupOptions }) {\n group.forEach((p) => {\n Object.assign(p, {\n autoAlert: false,\n value: p.defaultValue,\n errMsg: '',\n });\n });\n Object.assign(this, {\n group,\n groupOptions\n });\n makeObservable(this, {\n currentCallStepNo: true,\n });\n }\n\n async call() {\n let result: any[] = [];\n let errMsg: string = '';\n for (let i = 0; i < this.group.length; i++) {\n this.currentCallStepNo = i + 1;\n const promiseState = this.group[i];\n if (promiseState) {\n try {\n const options = this.groupOptions[i];\n const args = options?.args || [];\n const data = await promiseState.call(...args);\n result.push(data);\n } catch (e) {\n errMsg = e.message;\n if (errMsg?.includes('User rejected the request') || String(e).toLowerCase().includes('user rejected')) {\n errMsg = 'User rejected the request';\n }\n promiseState.errMsg = errMsg;\n break;\n }\n }\n }\n return {\n result,\n errMsg,\n };\n }\n\n showDialog(\n dialogOptions?: Partial<DialogStore>,\n dialogContentOptions?: DialogContentUIProps) {\n DialogStore.show({\n title: '',\n size: 'md',\n isDismissable: false,\n content:\n <DialogContentUI\n group={this.group}\n groupOptions={this.groupOptions}\n {...dialogContentOptions}\n />,\n ...dialogOptions,\n });\n return this;\n }\n\n closeDialog() {\n DialogStore.close();\n }\n\n async stepCall(stepNo: number) {\n const index = stepNo - 1;\n if (index < 0 || index >= this.group.length) {\n return {\n result: null,\n errMsg: 'Invalid step number',\n };\n }\n\n const prePromiseState = this.group[index - 1];\n if (prePromiseState && prePromiseState.errMsg) {\n return {\n result: null,\n errMsg: prePromiseState.errMsg,\n };\n }\n\n this.currentCallStepNo = stepNo;\n\n const promiseState = this.group[index];\n if (promiseState && !promiseState.loading.value) {\n const options = this.groupOptions[index];\n const args = options?.args || [];\n try {\n const result = await promiseState.call(...args);\n return {\n result,\n errMsg: '',\n };\n } catch (e) {\n let errMsg = e.message;\n if (errMsg?.includes('User rejected the request') || String(e).toLowerCase().includes('user rejected')) {\n errMsg = 'User rejected the request';\n }\n promiseState.errMsg = errMsg;\n return {\n result: null,\n errMsg,\n };\n }\n }\n }\n\n onNext() {\n if (this.currentCallStepNo < this.group.length) {\n this.currentCallStepNo += 1;\n }\n }\n\n onPrevious() {\n if (this.currentCallStepNo > 1) {\n\n // reset value and errMsg of the current promiseState\n const index = this.currentCallStepNo - 1;\n const promiseState = this.group[index];\n if (promiseState) {\n promiseState.value = '';\n promiseState.errMsg = '';\n }\n\n // go to the previous step\n this.currentCallStepNo -= 1;\n }\n }\n\n render(props?: StepUIProps) {\n return (\n <StepUI\n group={this.group}\n groupOptions={this.groupOptions}\n currentCallStepNo={this.currentCallStepNo}\n {...props}\n />\n )\n }\n}\n","import React from 'react';\nimport { PromiseState } from '../../store/standard/PromiseState';\nimport { Spinner, SpinnerProps } from '@nextui-org/react';\nimport { Check, X } from 'lucide-react';\nimport { observer } from 'mobx-react-lite';\nimport { cn } from '../../lib/utils';\n\nexport type GroupOptions = {\n args?: any[];\n title: React.ReactNode;\n}[];\n\n\nexport type DialogContentUIProps = {\n className?: string;\n itemClassName?: string;\n numberClassName?: string;\n spinnerProps?: SpinnerProps;\n SuccessIcon?: React.ReactNode;\n FailureIcon?: React.ReactNode;\n};\n\nexport const DialogContentUI = observer(({\n group,\n groupOptions,\n className,\n itemClassName,\n numberClassName,\n spinnerProps = {\n size: 'sm'\n },\n SuccessIcon,\n FailureIcon\n}: {\n group: PromiseState<any, any>[];\n groupOptions: GroupOptions;\n} & DialogContentUIProps) => {\n return (\n <div className={cn(\"space-y-4\", className)}>\n {group.map((promiseState, index) => {\n const uiOptions = groupOptions[index];\n const no = index + 1;\n return (\n <div key={index} className={cn(\"w-full flex items-center justify-between\", itemClassName)}>\n <div className='flex items-center justify-between'>\n <div className={cn('w-6 h-6 flex items-center justify-center text-sm rounded-full border-2 border-[#000000] dark:border-[#cacbcb] mr-2', numberClassName)}>{no}</div>\n {uiOptions?.title}\n </div>\n {promiseState.loading.value ? (\n <Spinner {...spinnerProps} />\n ) : (\n <>\n {promiseState.value && (SuccessIcon || <Check size={20} color=\"#605BFF\" />)}\n {promiseState.errMsg && (FailureIcon || <X size={20} color=\"red\" />)}\n </>\n )}\n </div>\n );\n })}\n </div>\n );\n});\n\n\nexport type StepUIProps = {\n className?: string;\n itemClassName?: string;\n activatedItemClassName?: string;\n numberClassName?: string;\n activatedNumberClassName?: string;\n spinnerProps?: SpinnerProps;\n SuccessIcon?: React.ReactNode;\n FailureIcon?: React.ReactNode;\n};\n\nexport const StepUI = observer(({\n group,\n groupOptions,\n currentCallStepNo,\n className,\n itemClassName,\n activatedItemClassName = '',\n numberClassName,\n activatedNumberClassName = '',\n spinnerProps = {\n size: 'sm'\n },\n SuccessIcon,\n FailureIcon\n}: {\n group: PromiseState<any, any>[];\n groupOptions: GroupOptions;\n currentCallStepNo?: number;\n} & StepUIProps) => {\n return (\n <div className={cn(\"space-y-4\", className)}>\n {group.map((promiseState, index) => {\n const uiOptions = groupOptions[index];\n const no = index + 1;\n return (\n <div\n key={index}\n className={cn(\"w-full flex items-center justify-between text-[#909091] dark:text-[#6b6c6c]\",\n no <= currentCallStepNo ? `text-[#000] dark:text-[#fff] ${activatedItemClassName}` : '',\n itemClassName\n )}\n >\n <div className='flex items-center justify-between'>\n <div\n className={cn('w-6 h-6 flex items-center justify-center text-sm rounded-full border-2 border-[#909091] dark:border-[#6b6c6c] mr-2',\n no <= currentCallStepNo ? `border-[#000] dark:border-[#fff] ${activatedNumberClassName}` : '',\n numberClassName\n )}\n >\n {no}\n </div>\n {uiOptions?.title}\n </div>\n {promiseState.loading.value ? (\n <Spinner {...spinnerProps} />\n ) : (\n <>\n {promiseState.value && no <= currentCallStepNo && (SuccessIcon || <Check size={20} color=\"#605BFF\" />)}\n {promiseState.errMsg && no <= currentCallStepNo && (FailureIcon || <X size={20} color=\"red\" />)}\n </>\n )}\n </div>\n );\n })}\n </div>\n );\n});\n"]}
|
|
1
|
+
{"version":3,"sources":["../module/Confirm/index.tsx","../module/Confirm/Provider.tsx","../module/PromiseStateGroup/index.tsx","../module/PromiseStateGroup/ui.tsx"],"names":["React","observer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,0BAA0B;;;ACDnC,OAAO,WAAW;AAClB,SAAS,gBAAgB;AACzB,SAAS,QAAQ,OAAO,WAAW,cAAc,aAAa,mBAAmB;AAIjF,IAAM,eAAe,SAAS,MAAM;AAClC,QAAM,YAAY,SAAS;AAC3B,QAAM,eAAe,UAAU,IAAI,YAAY;AAC/C,QAAM,EAAE,QAAQ,OAAO,aAAa,MAAM,WAAW,YAAY,gBAAgB,WAAW,IAAI;AAChG,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAc,CAAC,SAAkB;AAC/B,YAAI,CAAC,MAAM;AACT,uBAAa,MAAM;AAAA,QACrB;AAAA,MACF;AAAA;AAAA,IAEA,oCAAC,gBAAa,WAAU,gCACrB,MACC,0DACG,SAAS,oCAAC,eAAY,WAAU,yBAAuB,KAAM,GAC9D,oCAAC,iBACC,oCAAC,aAAK,WAAY,CACpB,GACA,oCAAC,mBACC;AAAA,MAAC;AAAA;AAAA,QACC,OAAM;AAAA,QACN,SAAQ;AAAA,QACR,MAAK;AAAA,QACL,UAAS;AAAA,SACL,iBALL;AAAA,QAMC,SAAS,MAAM;AACb,uBAAa,MAAM;AACnB,uBAAa,SAAS;AAAA,QACxB;AAAA;AAAA,IACF,GACA;AAAA,MAAC;AAAA;AAAA,QACC,OAAM;AAAA,QACN,MAAK;AAAA,QACL,UAAS;AAAA,SACL,aAJL;AAAA,QAKC,SAAS,MAAM;AACb,uBAAa,MAAM;AACnB,uBAAa,KAAK;AAAA,QACpB;AAAA;AAAA,IACF,CACF,CACF,CAEJ;AAAA,EACF;AAEJ,CAAC;AAED,IAAO,mBAAQ;;;ADxDf,OAAOA,YAAW;AAIX,IAAM,eAAN,MAAoC;AAAA,EAczC,cAAc;AAbd,eAAM;AACN,oBAAW,MAAM,gBAAAA,OAAA,cAAC,sBAAS;AAE3B,kBAAkB;AAClB,iBAAiB;AACjB,uBAAuB;AACvB,gBAAkF;AAClF,qBAAoB;AAEpB,iBAAmB;AACnB,0BAA+B,CAAC;AAChC,sBAA2B,CAAC;AAG1B,uBAAmB,IAAI;AAAA,EACzB;AAAA,EAEA,WAAW,KAAc;AACvB,SAAK,SAAS;AAAA,EAChB;AAAA,EAEA,OAAO;AAAA,EAAE;AAAA,EAET,WAAW;AAAA,EAAE;AAAA,EAEb,KAAK,cAAqC;AACxC,UAAM,aAAa,UAAS,6CAAc,UAAS,WAAW,OAAO;AACrE,UAAM,aAAa,kCACd,WAAW,aACX,6CAAc;AAEnB,WAAO,OAAO,MAAM,cAAc,EAAE,WAAW,CAAC;AAEhD,SAAK,WAAW,IAAI;AAAA,EACtB;AAAA,EAEA,QAAQ;AACN,SAAK,SAAS;AACd,SAAK,QAAQ;AACb,SAAK,cAAc;AACnB,SAAK,OAAO;AACZ,SAAK,iBAAiB,CAAC;AACvB,SAAK,aAAa,CAAC;AAAA,EACrB;AACF;;;AEpDA,OAAOA,YAAW;;;ACAlB,OAAOA,YAAW;AAElB,SAAS,eAA6B;AACtC,SAAS,OAAO,SAAS;AACzB,SAAS,YAAAC,iBAAgB;AAkBlB,IAAM,kBAAkBA,UAAS,CAAC;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,eAAe;AAAA,IACb,MAAM;AAAA,EACR;AAAA,EACA;AAAA,EACA;AACF,MAG6B;AAC3B,SACE,gBAAAD,OAAA,cAAC,SAAI,WAAW,GAAG,aAAa,SAAS,KACtC,MAAM,IAAI,CAAC,cAAc,UAAU;AAClC,UAAM,YAAY,aAAa,KAAK;AACpC,UAAM,KAAK,QAAQ;AACnB,WACE,gBAAAA,OAAA,cAAC,SAAI,KAAK,OAAO,WAAW,GAAG,4CAA4C,aAAa,KACtF,gBAAAA,OAAA,cAAC,SAAI,WAAU,uCACb,gBAAAA,OAAA,cAAC,SAAI,WAAW,GAAG,sHAAsH,eAAe,KAAI,EAAG,GAC9J,uCAAW,KACd,GACC,aAAa,QAAQ,QACpB,gBAAAA,OAAA,cAAC,4BAAY,aAAc,IAE3B,gBAAAA,OAAA,cAAAA,OAAA,gBACG,aAAa,UAAU,eAAe,gBAAAA,OAAA,cAAC,SAAM,MAAM,IAAI,OAAM,WAAU,IACvE,aAAa,WAAW,eAAe,gBAAAA,OAAA,cAAC,KAAE,MAAM,IAAI,OAAM,OAAM,EACnE,CAEJ;AAAA,EAEJ,CAAC,CACH;AAEJ,CAAC;AAcM,IAAM,SAASC,UAAS,CAAC;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,yBAAyB;AAAA,EACzB;AAAA,EACA,2BAA2B;AAAA,EAC3B,eAAe;AAAA,IACb,MAAM;AAAA,EACR;AAAA,EACA;AAAA,EACA;AACF,MAIoB;AAClB,SACE,gBAAAD,OAAA,cAAC,SAAI,WAAW,GAAG,aAAa,SAAS,KACtC,MAAM,IAAI,CAAC,cAAc,UAAU;AAClC,UAAM,YAAY,aAAa,KAAK;AACpC,UAAM,KAAK,QAAQ;AACnB,WACE,gBAAAA,OAAA;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL,WAAW;AAAA,UAAG;AAAA,UACZ,MAAM,oBAAoB,gCAAgC,sBAAsB,KAAK;AAAA,UACrF;AAAA,QACF;AAAA;AAAA,MAEA,gBAAAA,OAAA,cAAC,SAAI,WAAU,uCACb,gBAAAA,OAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAW;AAAA,YAAG;AAAA,YACZ,MAAM,oBAAoB,oCAAoC,wBAAwB,KAAK;AAAA,YAC3F;AAAA,UACF;AAAA;AAAA,QAEC;AAAA,MACH,GACC,uCAAW,KACd;AAAA,MACC,aAAa,QAAQ,QACpB,gBAAAA,OAAA,cAAC,4BAAY,aAAc,IAE3B,gBAAAA,OAAA,cAAAA,OAAA,gBACG,aAAa,SAAS,MAAM,sBAAsB,eAAe,gBAAAA,OAAA,cAAC,SAAM,MAAM,IAAI,OAAM,WAAU,IAClG,aAAa,UAAU,MAAM,sBAAsB,eAAe,gBAAAA,OAAA,cAAC,KAAE,MAAM,IAAI,OAAM,OAAM,EAC9F;AAAA,IAEJ;AAAA,EAEJ,CAAC,CACH;AAEJ,CAAC;;;AD/HD,SAAS,sBAAsB;AAExB,IAAM,oBAAN,MAAwB;AAAA,EAK7B,YAAY,EAAE,OAAO,eAAe,CAAC,EAAE,GAAoE;AAJ3G,iBAAkC,CAAC;AACnC,wBAA6B,CAAC;AAC9B,6BAAoB;AAGlB,UAAM,QAAQ,CAAC,MAAM;AACnB,aAAO,OAAO,GAAG;AAAA,QACf,WAAW;AAAA,QACX,OAAO,EAAE;AAAA,QACT,QAAQ;AAAA,MACV,CAAC;AAAA,IACH,CAAC;AACD,WAAO,OAAO,MAAM;AAAA,MAClB;AAAA,MACA;AAAA,IACF,CAAC;AACD,mBAAe,MAAM;AAAA,MACnB,mBAAmB;AAAA,IACrB,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,OAAO;AACX,QAAI,SAAgB,CAAC;AACrB,QAAI,SAAiB;AACrB,aAAS,IAAI,GAAG,IAAI,KAAK,MAAM,QAAQ,KAAK;AAC1C,WAAK,oBAAoB,IAAI;AAC7B,YAAM,eAAe,KAAK,MAAM,CAAC;AACjC,UAAI,cAAc;AAChB,YAAI;AACF,gBAAM,UAAU,KAAK,aAAa,CAAC;AACnC,gBAAM,QAAO,mCAAS,SAAQ,CAAC;AAC/B,gBAAM,OAAO,MAAM,aAAa,KAAK,GAAG,IAAI;AAC5C,iBAAO,KAAK,IAAI;AAAA,QAClB,SAAS,GAAG;AACV,mBAAS,EAAE;AACX,eAAI,iCAAQ,SAAS,iCAAgC,OAAO,CAAC,EAAE,YAAY,EAAE,SAAS,eAAe,GAAG;AACtG,qBAAS;AAAA,UACX;AACA,uBAAa,SAAS;AACtB;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EAEA,WACE,eACA,sBAA6C;AAC7C,gBAAY,KAAK;AAAA,MACf,OAAO;AAAA,MACP,MAAM;AAAA,MACN,eAAe;AAAA,MACf,SACE,gBAAAA,OAAA;AAAA,QAAC;AAAA;AAAA,UACC,OAAO,KAAK;AAAA,UACZ,cAAc,KAAK;AAAA,WACf;AAAA,MACN;AAAA,OACC,cACJ;AACD,WAAO;AAAA,EACT;AAAA,EAEA,cAAc;AACZ,gBAAY,MAAM;AAAA,EACpB;AAAA,EAEA,MAAM,SAAS,QAAgB;AAC7B,UAAM,QAAQ,SAAS;AACvB,QAAI,QAAQ,KAAK,SAAS,KAAK,MAAM,QAAQ;AAC3C,aAAO;AAAA,QACL,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,IACF;AAEA,UAAM,kBAAkB,KAAK,MAAM,QAAQ,CAAC;AAC5C,QAAI,mBAAmB,gBAAgB,QAAQ;AAC7C,aAAO;AAAA,QACL,QAAQ;AAAA,QACR,QAAQ,gBAAgB;AAAA,MAC1B;AAAA,IACF;AAEA,SAAK,oBAAoB;AAEzB,UAAM,eAAe,KAAK,MAAM,KAAK;AACrC,QAAI,gBAAgB,CAAC,aAAa,QAAQ,OAAO;AAC/C,YAAM,UAAU,KAAK,aAAa,KAAK;AACvC,YAAM,QAAO,mCAAS,SAAQ,CAAC;AAC/B,UAAI;AACF,cAAM,SAAS,MAAM,aAAa,KAAK,GAAG,IAAI;AAC9C,eAAO;AAAA,UACL;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,MACF,SAAS,GAAG;AACV,YAAI,SAAS,EAAE;AACf,aAAI,iCAAQ,SAAS,iCAAgC,OAAO,CAAC,EAAE,YAAY,EAAE,SAAS,eAAe,GAAG;AACtG,mBAAS;AAAA,QACX;AACA,qBAAa,SAAS;AACtB,eAAO;AAAA,UACL,QAAQ;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,SAAS;AACP,QAAI,KAAK,oBAAoB,KAAK,MAAM,QAAQ;AAC9C,WAAK,qBAAqB;AAAA,IAC5B;AAAA,EACF;AAAA,EAEA,aAAa;AACX,QAAI,KAAK,oBAAoB,GAAG;AAG9B,YAAM,QAAQ,KAAK,oBAAoB;AACvC,YAAM,eAAe,KAAK,MAAM,KAAK;AACrC,UAAI,cAAc;AAChB,qBAAa,QAAQ;AACrB,qBAAa,SAAS;AAAA,MACxB;AAGA,WAAK,qBAAqB;AAAA,IAC5B;AAAA,EACF;AAAA,EAEA,OAAO,OAAqB;AAC1B,WACE,gBAAAA,OAAA;AAAA,MAAC;AAAA;AAAA,QACC,OAAO,KAAK;AAAA,QACZ,cAAc,KAAK;AAAA,QACnB,mBAAmB,KAAK;AAAA,SACpB;AAAA,IACN;AAAA,EAEJ;AACF","sourcesContent":["import { Store } from \"../../store/standard/base\";\nimport { makeAutoObservable } from \"mobx\";\nimport Provider from \"./Provider\";\nimport React from \"react\";\nimport { ButtonProps, ModalSlots, SlotsToClasses } from \"@nextui-org/react\";\nimport { getStyle, ThemeType } from \"../../themes\";\n\nexport class ConfirmStore implements Store {\n sid = 'ConfirmStore';\n provider = () => <Provider />;\n\n isOpen: boolean = false;\n title?: string = '';\n description?: string = '';\n size: 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full' | 'xs' | '3xl' | '4xl' | '5xl' = 'md';\n className: string = '';\n classNames?: SlotsToClasses<ModalSlots>;\n theme: ThemeType = \"default\";\n cancelBtnProps?: ButtonProps = {}\n okBtnProps?: ButtonProps = {}\n\n constructor() {\n makeAutoObservable(this);\n }\n\n toggleOpen(val: boolean) {\n this.isOpen = val;\n }\n\n onOk() { }\n\n onCancel() { }\n\n show(confirmProps: Partial<ConfirmStore>) {\n const modalStyle = getStyle(confirmProps?.theme || 'default', 'Modal');\n const classNames = {\n ...modalStyle.classNames,\n ...confirmProps?.classNames\n }\n Object.assign(this, confirmProps, { classNames });\n\n this.toggleOpen(true);\n }\n\n close() {\n this.isOpen = false;\n this.title = '';\n this.description = '';\n this.size = 'md';\n this.cancelBtnProps = {}\n this.okBtnProps = {}\n }\n}\n","import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { Button, Modal, ModalBody, ModalContent, ModalFooter, ModalHeader } from '@nextui-org/react';\nimport { useStore } from \"../../store\";\nimport { ConfirmStore } from \".\";\n\nconst ConfirmModal = observer(() => {\n const rootStore = useStore();\n const confirmStore = rootStore.get(ConfirmStore);\n const { isOpen, title, description, size, className, classNames, cancelBtnProps, okBtnProps } = confirmStore;\n return (\n <Modal\n isOpen={isOpen}\n size={size}\n className={className}\n classNames={classNames}\n onOpenChange={(open: boolean) => {\n if (!open) {\n confirmStore.close();\n }\n }}\n >\n <ModalContent className=\"max-h-screen overflow-auto\">\n {() => (\n <>\n {title && <ModalHeader className=\"flex flex-col gap-1\">{title}</ModalHeader>}\n <ModalBody>\n <div>{description}</div>\n </ModalBody>\n <ModalFooter>\n <Button\n color=\"primary\"\n variant=\"flat\"\n size=\"sm\"\n children=\"Cancel\"\n {...cancelBtnProps}\n onClick={() => {\n confirmStore.close();\n confirmStore.onCancel();\n }}\n />\n <Button\n color=\"primary\"\n size=\"sm\"\n children=\"Apply\"\n {...okBtnProps}\n onPress={() => {\n confirmStore.close();\n confirmStore.onOk();\n }}\n />\n </ModalFooter>\n </>\n )}\n </ModalContent>\n </Modal>\n );\n});\n\nexport default ConfirmModal;","import React from 'react';\nimport { PromiseState } from '../../store/standard/PromiseState';\nimport { DialogStore } from '../Dialog';\nimport { DialogContentUI, DialogContentUIProps, GroupOptions, StepUI, StepUIProps } from './ui';\nimport { makeObservable } from 'mobx';\n\nexport class PromiseStateGroup {\n group: PromiseState<any, any>[] = [];\n groupOptions: GroupOptions = [];\n currentCallStepNo = 1;\n\n constructor({ group, groupOptions = [] }: { group: PromiseState<any, any>[]; groupOptions: GroupOptions }) {\n group.forEach((p) => {\n Object.assign(p, {\n autoAlert: false,\n value: p.defaultValue,\n errMsg: '',\n });\n });\n Object.assign(this, {\n group,\n groupOptions\n });\n makeObservable(this, {\n currentCallStepNo: true,\n });\n }\n\n async call() {\n let result: any[] = [];\n let errMsg: string = '';\n for (let i = 0; i < this.group.length; i++) {\n this.currentCallStepNo = i + 1;\n const promiseState = this.group[i];\n if (promiseState) {\n try {\n const options = this.groupOptions[i];\n const args = options?.args || [];\n const data = await promiseState.call(...args);\n result.push(data);\n } catch (e) {\n errMsg = e.message;\n if (errMsg?.includes('User rejected the request') || String(e).toLowerCase().includes('user rejected')) {\n errMsg = 'User rejected the request';\n }\n promiseState.errMsg = errMsg;\n break;\n }\n }\n }\n return {\n result,\n errMsg,\n };\n }\n\n showDialog(\n dialogOptions?: Partial<DialogStore>,\n dialogContentOptions?: DialogContentUIProps) {\n DialogStore.show({\n title: '',\n size: 'md',\n isDismissable: false,\n content:\n <DialogContentUI\n group={this.group}\n groupOptions={this.groupOptions}\n {...dialogContentOptions}\n />,\n ...dialogOptions,\n });\n return this;\n }\n\n closeDialog() {\n DialogStore.close();\n }\n\n async stepCall(stepNo: number) {\n const index = stepNo - 1;\n if (index < 0 || index >= this.group.length) {\n return {\n result: null,\n errMsg: 'Invalid step number',\n };\n }\n\n const prePromiseState = this.group[index - 1];\n if (prePromiseState && prePromiseState.errMsg) {\n return {\n result: null,\n errMsg: prePromiseState.errMsg,\n };\n }\n\n this.currentCallStepNo = stepNo;\n\n const promiseState = this.group[index];\n if (promiseState && !promiseState.loading.value) {\n const options = this.groupOptions[index];\n const args = options?.args || [];\n try {\n const result = await promiseState.call(...args);\n return {\n result,\n errMsg: '',\n };\n } catch (e) {\n let errMsg = e.message;\n if (errMsg?.includes('User rejected the request') || String(e).toLowerCase().includes('user rejected')) {\n errMsg = 'User rejected the request';\n }\n promiseState.errMsg = errMsg;\n return {\n result: null,\n errMsg,\n };\n }\n }\n }\n\n onNext() {\n if (this.currentCallStepNo < this.group.length) {\n this.currentCallStepNo += 1;\n }\n }\n\n onPrevious() {\n if (this.currentCallStepNo > 1) {\n\n // reset value and errMsg of the current promiseState\n const index = this.currentCallStepNo - 1;\n const promiseState = this.group[index];\n if (promiseState) {\n promiseState.value = '';\n promiseState.errMsg = '';\n }\n\n // go to the previous step\n this.currentCallStepNo -= 1;\n }\n }\n\n render(props?: StepUIProps) {\n return (\n <StepUI\n group={this.group}\n groupOptions={this.groupOptions}\n currentCallStepNo={this.currentCallStepNo}\n {...props}\n />\n )\n }\n}\n","import React from 'react';\nimport { PromiseState } from '../../store/standard/PromiseState';\nimport { Spinner, SpinnerProps } from '@nextui-org/react';\nimport { Check, X } from 'lucide-react';\nimport { observer } from 'mobx-react-lite';\nimport { cn } from '../../lib/utils';\n\nexport type GroupOptions = {\n args?: any[];\n title: React.ReactNode;\n}[];\n\n\nexport type DialogContentUIProps = {\n className?: string;\n itemClassName?: string;\n numberClassName?: string;\n spinnerProps?: SpinnerProps;\n SuccessIcon?: React.ReactNode;\n FailureIcon?: React.ReactNode;\n};\n\nexport const DialogContentUI = observer(({\n group,\n groupOptions,\n className,\n itemClassName,\n numberClassName,\n spinnerProps = {\n size: 'sm'\n },\n SuccessIcon,\n FailureIcon\n}: {\n group: PromiseState<any, any>[];\n groupOptions: GroupOptions;\n} & DialogContentUIProps) => {\n return (\n <div className={cn(\"space-y-4\", className)}>\n {group.map((promiseState, index) => {\n const uiOptions = groupOptions[index];\n const no = index + 1;\n return (\n <div key={index} className={cn(\"w-full flex items-center justify-between\", itemClassName)}>\n <div className='flex items-center justify-between'>\n <div className={cn('w-6 h-6 flex items-center justify-center text-sm rounded-full border-2 border-[#000000] dark:border-[#cacbcb] mr-2', numberClassName)}>{no}</div>\n {uiOptions?.title}\n </div>\n {promiseState.loading.value ? (\n <Spinner {...spinnerProps} />\n ) : (\n <>\n {promiseState.value && (SuccessIcon || <Check size={20} color=\"#605BFF\" />)}\n {promiseState.errMsg && (FailureIcon || <X size={20} color=\"red\" />)}\n </>\n )}\n </div>\n );\n })}\n </div>\n );\n});\n\n\nexport type StepUIProps = {\n className?: string;\n itemClassName?: string;\n activatedItemClassName?: string;\n numberClassName?: string;\n activatedNumberClassName?: string;\n spinnerProps?: SpinnerProps;\n SuccessIcon?: React.ReactNode;\n FailureIcon?: React.ReactNode;\n};\n\nexport const StepUI = observer(({\n group,\n groupOptions,\n currentCallStepNo,\n className,\n itemClassName,\n activatedItemClassName = '',\n numberClassName,\n activatedNumberClassName = '',\n spinnerProps = {\n size: 'sm'\n },\n SuccessIcon,\n FailureIcon\n}: {\n group: PromiseState<any, any>[];\n groupOptions: GroupOptions;\n currentCallStepNo?: number;\n} & StepUIProps) => {\n return (\n <div className={cn(\"space-y-4\", className)}>\n {group.map((promiseState, index) => {\n const uiOptions = groupOptions[index];\n const no = index + 1;\n return (\n <div\n key={index}\n className={cn(\"w-full flex items-center justify-between text-[#909091] dark:text-[#6b6c6c]\",\n no <= currentCallStepNo ? `text-[#000] dark:text-[#fff] ${activatedItemClassName}` : '',\n itemClassName\n )}\n >\n <div className='flex items-center justify-between'>\n <div\n className={cn('w-6 h-6 flex items-center justify-center text-sm rounded-full border-2 border-[#909091] dark:border-[#6b6c6c] mr-2',\n no <= currentCallStepNo ? `border-[#000] dark:border-[#fff] ${activatedNumberClassName}` : '',\n numberClassName\n )}\n >\n {no}\n </div>\n {uiOptions?.title}\n </div>\n {promiseState.loading.value ? (\n <Spinner {...spinnerProps} />\n ) : (\n <>\n {promiseState.value && no <= currentCallStepNo && (SuccessIcon || <Check size={20} color=\"#605BFF\" />)}\n {promiseState.errMsg && no <= currentCallStepNo && (FailureIcon || <X size={20} color=\"red\" />)}\n </>\n )}\n </div>\n );\n })}\n </div>\n );\n});\n"]}
|
package/dist/ui.d.mts
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default from 'react';
|
|
2
2
|
import { SlotsToClasses } from '@nextui-org/react';
|
|
3
3
|
|
|
4
4
|
declare const PanelCard: ({ className, title, content }: {
|
|
5
5
|
className?: string;
|
|
6
|
-
title:
|
|
7
|
-
content?:
|
|
8
|
-
}) =>
|
|
6
|
+
title: React__default.ReactNode;
|
|
7
|
+
content?: React__default.ReactNode;
|
|
8
|
+
}) => React__default.JSX.Element;
|
|
9
9
|
|
|
10
10
|
declare const Copy: ({ className, value, iconSize, iconClassName }: {
|
|
11
11
|
className?: string;
|
|
12
12
|
value: string;
|
|
13
13
|
iconSize?: number;
|
|
14
14
|
iconClassName?: string;
|
|
15
|
-
}) =>
|
|
15
|
+
}) => React__default.JSX.Element;
|
|
16
16
|
|
|
17
17
|
declare function JSONHighlight({ jsonStr, className }: {
|
|
18
18
|
jsonStr: string;
|
|
19
19
|
className?: string;
|
|
20
|
-
}):
|
|
20
|
+
}): React__default.JSX.Element;
|
|
21
21
|
|
|
22
22
|
declare const SkeletonBox: ({ line, className, skClassName, skClassNames }: {
|
|
23
23
|
line?: number;
|
|
24
24
|
className?: string;
|
|
25
25
|
skClassName?: string;
|
|
26
26
|
skClassNames?: SlotsToClasses<"base" | "content">;
|
|
27
|
-
}) =>
|
|
27
|
+
}) => React__default.JSX.Element;
|
|
28
28
|
|
|
29
29
|
export { Copy, JSONHighlight, PanelCard, SkeletonBox };
|
package/dist/ui.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { SkeletonBox } from './chunk-
|
|
2
|
-
import { cn } from './chunk-
|
|
3
|
-
import './chunk-
|
|
1
|
+
export { SkeletonBox } from './chunk-3HD22664.mjs';
|
|
2
|
+
import { cn } from './chunk-TQNAAA4I.mjs';
|
|
3
|
+
import './chunk-2EXDWOHY.mjs';
|
|
4
4
|
import React, { useState, useEffect } from 'react';
|
|
5
5
|
import { Card } from '@nextui-org/react';
|
|
6
6
|
import copyToClipboard from 'copy-to-clipboard';
|
package/dist/utils.mjs
CHANGED
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
import { a as PromiseHookData, B as BigNumberState, S as StorageState } from './StorageState-qzikHBY8.js';
|
|
4
|
+
import { S as Store } from './root-C3lZnoCI.js';
|
|
5
|
+
import { WalletClient, PublicClient, HttpTransport, TransactionReceipt } from 'viem';
|
|
6
|
+
import EventEmitter from 'events';
|
|
7
|
+
import { SwitchChainMutate } from 'wagmi/query';
|
|
8
|
+
import * as wagmi from 'wagmi';
|
|
9
|
+
import { Config } from 'wagmi';
|
|
10
|
+
import { Chain } from '@rainbow-me/rainbowkit';
|
|
11
|
+
import * as _rainbow_me_rainbowkit_dist_config_getDefaultConfig from '@rainbow-me/rainbowkit/dist/config/getDefaultConfig';
|
|
12
|
+
import 'mobx';
|
|
13
|
+
import 'bignumber.js';
|
|
14
|
+
import 'typed-emitter';
|
|
15
|
+
|
|
16
|
+
declare const WalletProvider: (({ children, theme, appName }: {
|
|
17
|
+
children: React__default.ReactNode;
|
|
18
|
+
theme?: "dark" | "light";
|
|
19
|
+
appName?: string;
|
|
20
|
+
}) => React__default.JSX.Element) & {
|
|
21
|
+
displayName: string;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
type NetworkObject = {
|
|
25
|
+
name: string;
|
|
26
|
+
chainId: number;
|
|
27
|
+
rpcUrl: string;
|
|
28
|
+
logoUrl: string;
|
|
29
|
+
explorerUrl: string;
|
|
30
|
+
explorerName: string;
|
|
31
|
+
nativeCoin: string;
|
|
32
|
+
type: 'mainnet' | 'testnet';
|
|
33
|
+
};
|
|
34
|
+
type WalletTransactionHistoryType = {
|
|
35
|
+
chainId: number;
|
|
36
|
+
tx?: string;
|
|
37
|
+
msg: string;
|
|
38
|
+
timestamp: number;
|
|
39
|
+
type: 'Approve' | 'Swap' | 'Liquidity' | 'Transfer';
|
|
40
|
+
status: 'loading' | 'success' | 'fail';
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
declare class WalletStore implements Store {
|
|
44
|
+
sid: string;
|
|
45
|
+
autoObservable: boolean;
|
|
46
|
+
account: `0x${string}`;
|
|
47
|
+
isSuccessDialogOpen: boolean;
|
|
48
|
+
isInSafeApp: boolean;
|
|
49
|
+
isConnect: boolean;
|
|
50
|
+
walletClient: WalletClient;
|
|
51
|
+
event: EventEmitter<[never]>;
|
|
52
|
+
switchChain: SwitchChainMutate<Config, unknown> | undefined;
|
|
53
|
+
updateTicker: number;
|
|
54
|
+
chain: Chain | undefined;
|
|
55
|
+
get supportedChains(): Chain[];
|
|
56
|
+
openConnectModal: any;
|
|
57
|
+
balance: PromiseHookData<() => Promise<BigNumberState>, Promise<BigNumberState>>;
|
|
58
|
+
constructor(args?: Partial<WalletStore>);
|
|
59
|
+
get reconnectOnMount(): boolean;
|
|
60
|
+
use(): void;
|
|
61
|
+
get publicClient(): PublicClient<HttpTransport, Chain, any, any>;
|
|
62
|
+
set(args: Partial<WalletStore>): void;
|
|
63
|
+
toJSON(): {
|
|
64
|
+
account: `0x${string}`;
|
|
65
|
+
};
|
|
66
|
+
prepare(chainId?: number): Promise<WalletStore>;
|
|
67
|
+
waitForTransactionReceipt({ hash }: {
|
|
68
|
+
hash: any;
|
|
69
|
+
}): Promise<TransactionReceipt>;
|
|
70
|
+
static SendTx(...args: Parameters<WalletStore['sendTx']>): Promise<TransactionReceipt>;
|
|
71
|
+
static SendRawTx(...args: Parameters<WalletStore['sendRawTx']>): Promise<TransactionReceipt>;
|
|
72
|
+
sendTx({ chainId, tx, autoAlert, loadingText, successText, onError, historyItem, showSuccessDialog, }: {
|
|
73
|
+
chainId: number | string;
|
|
74
|
+
tx: any;
|
|
75
|
+
autoAlert?: boolean;
|
|
76
|
+
loadingText?: string;
|
|
77
|
+
successText?: string;
|
|
78
|
+
showSuccessDialog?: boolean;
|
|
79
|
+
historyItem?: Pick<WalletTransactionHistoryType, 'msg' | 'type'>;
|
|
80
|
+
onError?: (error: any) => void;
|
|
81
|
+
}): Promise<TransactionReceipt>;
|
|
82
|
+
sendRawTx({ chainId, address, data, value, autoAlert, onSended, onSuccess, onError, historyItem, loadingText, showSuccessDialog, }: {
|
|
83
|
+
loadingText?: string;
|
|
84
|
+
chainId: number | string;
|
|
85
|
+
address: string;
|
|
86
|
+
data: string | null;
|
|
87
|
+
value?: string;
|
|
88
|
+
autoRefresh?: boolean;
|
|
89
|
+
autoAlert?: boolean;
|
|
90
|
+
historyItem?: Pick<WalletTransactionHistoryType, 'msg' | 'type'>;
|
|
91
|
+
showTransactionSubmitDialog?: boolean;
|
|
92
|
+
showSuccessDialog?: boolean;
|
|
93
|
+
onSended?: ({ res }: {
|
|
94
|
+
res: TransactionReceipt;
|
|
95
|
+
}) => void;
|
|
96
|
+
onSuccess?: ({ res }: {
|
|
97
|
+
res: TransactionReceipt;
|
|
98
|
+
}) => void;
|
|
99
|
+
onError?: ({ res }: {
|
|
100
|
+
res: TransactionReceipt;
|
|
101
|
+
}) => void;
|
|
102
|
+
}): Promise<TransactionReceipt | undefined>;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
declare class WalletRpcStore implements Store {
|
|
106
|
+
sid: string;
|
|
107
|
+
autoObservable: boolean;
|
|
108
|
+
curRpc: StorageState<unknown>;
|
|
109
|
+
isAutoSelectRpc: StorageState<unknown>;
|
|
110
|
+
customRpc: string;
|
|
111
|
+
rpcList: StorageState<unknown>;
|
|
112
|
+
showCustomRpc: boolean;
|
|
113
|
+
get currentRpc(): any;
|
|
114
|
+
addCustomRpc(): string;
|
|
115
|
+
addToMetamask(url: any): Promise<void>;
|
|
116
|
+
refresh(): void;
|
|
117
|
+
latencyColor(latency: number): "text-red-500" | "text-green-500" | "text-yellow-500";
|
|
118
|
+
testRpcFunction(url: string): Promise<{
|
|
119
|
+
url: string;
|
|
120
|
+
lentency: number;
|
|
121
|
+
height: number;
|
|
122
|
+
}>;
|
|
123
|
+
testRpc(): void;
|
|
124
|
+
removeRpc(name: string): void;
|
|
125
|
+
scoreIcon(score: number): React.JSX.Element;
|
|
126
|
+
get wallet(): WalletStore;
|
|
127
|
+
autoSelectRpc(): Promise<void>;
|
|
128
|
+
}
|
|
129
|
+
declare class WalletHistoryStore implements Store {
|
|
130
|
+
sid: string;
|
|
131
|
+
isRender: boolean;
|
|
132
|
+
autoObservable: boolean;
|
|
133
|
+
set(params: Partial<WalletHistoryStore>): void;
|
|
134
|
+
private history;
|
|
135
|
+
get historyList(): WalletTransactionHistoryType[];
|
|
136
|
+
recordHistory(item: WalletTransactionHistoryType): void;
|
|
137
|
+
updateHistoryStatusByTx(tx: string | null, status: 'loading' | 'success' | 'fail'): void;
|
|
138
|
+
clearHistory(): void;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
declare class WalletConfigStore implements Store {
|
|
142
|
+
sid: string;
|
|
143
|
+
autoObservable: boolean;
|
|
144
|
+
appName: string;
|
|
145
|
+
projectId: string;
|
|
146
|
+
supportedChains: Chain[];
|
|
147
|
+
defaultChainId: number;
|
|
148
|
+
set(params: Partial<WalletConfigStore>): void;
|
|
149
|
+
get rainbowKitConfig(): wagmi.Config<_rainbow_me_rainbowkit_dist_config_getDefaultConfig._chains, _rainbow_me_rainbowkit_dist_config_getDefaultConfig._transports>;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
export { type NetworkObject, WalletConfigStore, WalletHistoryStore, WalletProvider, WalletRpcStore, WalletStore, type WalletTransactionHistoryType };
|