@cfxjs/sirius-next-common 0.1.38 → 0.1.39
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/chunk-3RVRAMNW.js +69 -0
- package/dist/chunk-3RVRAMNW.js.map +1 -0
- package/dist/chunk-4HTI24KG.js +3629 -0
- package/dist/chunk-4HTI24KG.js.map +1 -0
- package/dist/chunk-6AGMKWAW.js +286 -0
- package/dist/chunk-6AGMKWAW.js.map +1 -0
- package/dist/chunk-6GBDCZIP.js +414 -0
- package/dist/chunk-6GBDCZIP.js.map +1 -0
- package/dist/chunk-73IFRWHE.js +130 -0
- package/dist/chunk-73IFRWHE.js.map +1 -0
- package/dist/chunk-AAQD5VX5.js +212 -0
- package/dist/chunk-AAQD5VX5.js.map +1 -0
- package/dist/chunk-AD46ITJC.js +416 -0
- package/dist/chunk-AD46ITJC.js.map +1 -0
- package/dist/chunk-AV2OU3PU.js +108 -0
- package/dist/chunk-AV2OU3PU.js.map +1 -0
- package/dist/chunk-B5XWZ3ZE.js +150 -0
- package/dist/chunk-B5XWZ3ZE.js.map +1 -0
- package/dist/chunk-CDYRVFSO.js +150 -0
- package/dist/chunk-CDYRVFSO.js.map +1 -0
- package/dist/chunk-EP4RVV4C.js +3629 -0
- package/dist/chunk-EP4RVV4C.js.map +1 -0
- package/dist/chunk-EVMUOMAM.js +412 -0
- package/dist/chunk-EVMUOMAM.js.map +1 -0
- package/dist/chunk-EYT54RGS.js +63 -0
- package/dist/chunk-EYT54RGS.js.map +1 -0
- package/dist/chunk-FMHO65DC.js +105 -0
- package/dist/chunk-FMHO65DC.js.map +1 -0
- package/dist/chunk-H6W3LPDS.js +2324 -0
- package/dist/chunk-H6W3LPDS.js.map +1 -0
- package/dist/chunk-HC2D4STF.js +69 -0
- package/dist/chunk-HC2D4STF.js.map +1 -0
- package/dist/chunk-IV4QQOMI.js +416 -0
- package/dist/chunk-IV4QQOMI.js.map +1 -0
- package/dist/chunk-IWECTQOD.js +212 -0
- package/dist/chunk-IWECTQOD.js.map +1 -0
- package/dist/chunk-JQUV4NMR.js +416 -0
- package/dist/chunk-JQUV4NMR.js.map +1 -0
- package/dist/chunk-KAGEJPGK.js +416 -0
- package/dist/chunk-KAGEJPGK.js.map +1 -0
- package/dist/chunk-KCPSCEXG.js +69 -0
- package/dist/chunk-KCPSCEXG.js.map +1 -0
- package/dist/chunk-KKR2JERD.js +284 -0
- package/dist/chunk-KKR2JERD.js.map +1 -0
- package/dist/chunk-LQXAMTBE.js +69 -0
- package/dist/chunk-LQXAMTBE.js.map +1 -0
- package/dist/chunk-M43SICPO.js +63 -0
- package/dist/chunk-M43SICPO.js.map +1 -0
- package/dist/chunk-M6MXSMYM.js +284 -0
- package/dist/chunk-M6MXSMYM.js.map +1 -0
- package/dist/chunk-MIAX5LP5.js +141 -0
- package/dist/chunk-MIAX5LP5.js.map +1 -0
- package/dist/chunk-N5TMLKGL.js +141 -0
- package/dist/chunk-N5TMLKGL.js.map +1 -0
- package/dist/chunk-NIYCXPXR.js +108 -0
- package/dist/chunk-NIYCXPXR.js.map +1 -0
- package/dist/chunk-O474QMUU.js +105 -0
- package/dist/chunk-O474QMUU.js.map +1 -0
- package/dist/chunk-OF33MONA.js +69 -0
- package/dist/chunk-OF33MONA.js.map +1 -0
- package/dist/chunk-PLU4IMEZ.js +130 -0
- package/dist/chunk-PLU4IMEZ.js.map +1 -0
- package/dist/chunk-RB2U3Y7F.js +49 -0
- package/dist/chunk-RB2U3Y7F.js.map +1 -0
- package/dist/chunk-RVVVAX7C.js +796 -0
- package/dist/chunk-RVVVAX7C.js.map +1 -0
- package/dist/chunk-TAJNIINB.js +69 -0
- package/dist/chunk-TAJNIINB.js.map +1 -0
- package/dist/chunk-VLDX5EPR.js +69 -0
- package/dist/chunk-VLDX5EPR.js.map +1 -0
- package/dist/chunk-VUULJBTQ.js +796 -0
- package/dist/chunk-VUULJBTQ.js.map +1 -0
- package/dist/chunk-VY6BUAPS.js +49 -0
- package/dist/chunk-VY6BUAPS.js.map +1 -0
- package/dist/chunk-XGOIDR7R.js +416 -0
- package/dist/chunk-XGOIDR7R.js.map +1 -0
- package/dist/chunk-XMBEB34D.js +69 -0
- package/dist/chunk-XMBEB34D.js.map +1 -0
- package/dist/chunk-XMWQQ4A6.js +414 -0
- package/dist/chunk-XMWQQ4A6.js.map +1 -0
- package/dist/chunk-Z6EYKGBH.js +286 -0
- package/dist/chunk-Z6EYKGBH.js.map +1 -0
- package/dist/chunk-ZKNMJZ5R.js +2324 -0
- package/dist/chunk-ZKNMJZ5R.js.map +1 -0
- package/dist/components/AddressContainer/CoreAddressContainer.js +10 -10
- package/dist/components/AddressContainer/EVMAddressContainer.js +9 -9
- package/dist/components/AddressContainer/addressSwitcher.js +7 -7
- package/dist/components/AddressContainer/addressView.js +6 -6
- package/dist/components/AddressContainer/label.js +4 -4
- package/dist/components/Age/index.js +4 -4
- package/dist/components/Charts/ChartOptions.js +2 -2
- package/dist/components/Charts/PreviewChartTemplate.js +6 -4
- package/dist/components/Charts/PreviewChartTemplate.js.map +1 -1
- package/dist/components/Charts/StockChartTemplate.js +7 -5
- package/dist/components/Charts/StockChartTemplate.js.map +1 -1
- package/dist/components/Charts/config.d.ts +5 -4
- package/dist/components/Charts/config.js +3 -1
- package/dist/components/CopyButton/index.js +3 -3
- package/dist/components/DownloadCSV/index.js +4 -4
- package/dist/components/GasPriceDropdown/index.js +2 -2
- package/dist/components/IncreasePercent/index.js +2 -2
- package/dist/components/InfoIconWithTooltip/index.js +3 -3
- package/dist/components/Modal/index.js +3 -3
- package/dist/components/NetworkIcon/index.js +2 -2
- package/dist/components/PhishingAddressContainer/index.js +4 -4
- package/dist/components/Price/index.js +3 -3
- package/dist/components/Radio/index.js +2 -2
- package/dist/components/Select/index.js +3 -3
- package/dist/components/Select/select.js +3 -3
- package/dist/components/Text/index.js +4 -4
- package/dist/components/Tooltip/index.js +3 -3
- package/dist/components/TransactionAction/coreTransactionAction.js +10 -10
- package/dist/components/TransactionAction/evmTransactionAction.js +9 -9
- package/dist/utils/address.d.ts +1 -1
- package/dist/utils/address.js +2 -2
- package/dist/utils/contractManagerTool.js +2 -2
- package/dist/utils/hooks/useChartQueryParams.d.ts +18 -0
- package/dist/utils/hooks/useChartQueryParams.js +31 -0
- package/dist/utils/hooks/useChartQueryParams.js.map +1 -0
- package/dist/utils/hooks/useENS.js +3 -3
- package/dist/utils/index.js +2 -2
- package/dist/utils/request.d.ts +1 -1
- package/dist/utils/request.js +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ContractAddress,
|
|
3
|
+
ContractCreatedAddress,
|
|
4
|
+
InvalidAddress,
|
|
5
|
+
MyAddress
|
|
6
|
+
} from "./chunk-IWECTQOD.js";
|
|
7
|
+
import {
|
|
8
|
+
RenderAddress
|
|
9
|
+
} from "./chunk-PLU4IMEZ.js";
|
|
10
|
+
import {
|
|
11
|
+
convertCheckSum,
|
|
12
|
+
formatAddress,
|
|
13
|
+
isEvmAddress,
|
|
14
|
+
isZeroAddress
|
|
15
|
+
} from "./chunk-M6MXSMYM.js";
|
|
16
|
+
import {
|
|
17
|
+
getLabelInfo
|
|
18
|
+
} from "./chunk-VY6BUAPS.js";
|
|
19
|
+
import {
|
|
20
|
+
getTranslations,
|
|
21
|
+
useGlobalData
|
|
22
|
+
} from "./chunk-DQGLZCIG.js";
|
|
23
|
+
|
|
24
|
+
// src/components/AddressContainer/EVMAddressContainer.tsx
|
|
25
|
+
import { memo } from "react";
|
|
26
|
+
import { withTranslation } from "react-i18next";
|
|
27
|
+
import _ from "lodash";
|
|
28
|
+
import { Fragment, jsx } from "react/jsx-runtime";
|
|
29
|
+
var parseProps = (props, globalData) => {
|
|
30
|
+
const { alias, t, showAddressLabel, showNametag, nametagInfo } = props;
|
|
31
|
+
const value = props.value || "";
|
|
32
|
+
const cfxAddress = formatAddress(value, "hex");
|
|
33
|
+
const translations = getTranslations();
|
|
34
|
+
let aliasLabel = alias;
|
|
35
|
+
if (!alias && isZeroAddress(cfxAddress)) {
|
|
36
|
+
aliasLabel = t(translations.general.zeroAddress);
|
|
37
|
+
}
|
|
38
|
+
let officalNametag = null;
|
|
39
|
+
let addressLabel = null;
|
|
40
|
+
if (cfxAddress && showAddressLabel) {
|
|
41
|
+
const addressLabels = globalData?.["CONFLUX_SCAN_ADDRESS_LABELS" /* addressLabel */];
|
|
42
|
+
const gAddressLabel = addressLabels?.[convertCheckSum(cfxAddress)] || addressLabels?.[cfxAddress.toLowerCase()];
|
|
43
|
+
if (gAddressLabel) {
|
|
44
|
+
const { label } = getLabelInfo(gAddressLabel, "tag");
|
|
45
|
+
addressLabel = label;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (cfxAddress && showNametag) {
|
|
49
|
+
const nametags = nametagInfo?.[convertCheckSum(cfxAddress)] || nametagInfo?.[cfxAddress.toLowerCase()];
|
|
50
|
+
if (nametags) {
|
|
51
|
+
const nametag = nametags?.nametag ?? "";
|
|
52
|
+
const { label } = getLabelInfo(nametag, "nametag");
|
|
53
|
+
officalNametag = label;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
alias: aliasLabel,
|
|
58
|
+
nametag: officalNametag,
|
|
59
|
+
addressLabel,
|
|
60
|
+
cfxAddress
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
var EVMAddressContainer = withTranslation()(
|
|
64
|
+
memo((props) => {
|
|
65
|
+
const { globalData } = useGlobalData();
|
|
66
|
+
if (!props.value && !props.contractCreated) {
|
|
67
|
+
return /* @__PURE__ */ jsx(Fragment, { children: "--" });
|
|
68
|
+
}
|
|
69
|
+
const defaultProps = {
|
|
70
|
+
isFull: false,
|
|
71
|
+
isFullNameTag: false,
|
|
72
|
+
link: true,
|
|
73
|
+
isMe: false,
|
|
74
|
+
showIcon: true,
|
|
75
|
+
verify: false,
|
|
76
|
+
showAddressLabel: true,
|
|
77
|
+
showENSLabel: true,
|
|
78
|
+
showNametag: true
|
|
79
|
+
};
|
|
80
|
+
const mergeDefaultProps = _.assign({}, defaultProps, props);
|
|
81
|
+
const mergeParseProps = _.merge(
|
|
82
|
+
{},
|
|
83
|
+
mergeDefaultProps,
|
|
84
|
+
parseProps(mergeDefaultProps, globalData)
|
|
85
|
+
);
|
|
86
|
+
if (!mergeParseProps.value && mergeParseProps.contractCreated) {
|
|
87
|
+
return ContractCreatedAddress({
|
|
88
|
+
...mergeParseProps,
|
|
89
|
+
outputType: "hex"
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
if (!isEvmAddress(mergeParseProps.value)) {
|
|
93
|
+
return InvalidAddress(mergeParseProps);
|
|
94
|
+
}
|
|
95
|
+
if (mergeParseProps.isContract) {
|
|
96
|
+
return ContractAddress(mergeParseProps);
|
|
97
|
+
}
|
|
98
|
+
if (mergeParseProps.isMe) {
|
|
99
|
+
return MyAddress(mergeParseProps);
|
|
100
|
+
}
|
|
101
|
+
return RenderAddress(mergeParseProps);
|
|
102
|
+
})
|
|
103
|
+
);
|
|
104
|
+
|
|
105
|
+
export {
|
|
106
|
+
EVMAddressContainer
|
|
107
|
+
};
|
|
108
|
+
//# sourceMappingURL=chunk-AV2OU3PU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/AddressContainer/EVMAddressContainer.tsx"],"sourcesContent":["import { memo } from 'react';\nimport { WithTranslation, withTranslation } from 'react-i18next';\nimport _ from 'lodash';\nimport {\n formatAddress,\n isEvmAddress,\n isZeroAddress,\n convertCheckSum,\n} from '../../utils/address';\nimport { useGlobalData, getTranslations } from '../../store';\nimport { LOCALSTORAGE_KEYS_MAP } from '../../utils/constants';\nimport { getLabelInfo } from './label';\n\nimport { RenderAddress } from './addressView';\nimport {\n ContractCreatedAddress,\n InvalidAddress,\n ContractAddress,\n MyAddress,\n} from './addressSwitcher';\nimport { GlobalDataType } from 'src/store/types';\nimport { EVMAddressContainerProps } from './types';\n\nconst parseProps = (\n props: EVMAddressContainerProps & WithTranslation,\n globalData: GlobalDataType,\n) => {\n const { alias, t, showAddressLabel, showNametag, nametagInfo } = props;\n const value: string = props.value || '';\n const cfxAddress = formatAddress(value, 'hex');\n\n const translations = getTranslations();\n\n let aliasLabel = alias;\n if (!alias && isZeroAddress(cfxAddress)) {\n aliasLabel = t(translations.general.zeroAddress);\n }\n\n // official name tag\n let officalNametag: React.ReactNode = null;\n // private name tag\n let addressLabel: React.ReactNode = null;\n\n if (cfxAddress && showAddressLabel) {\n // global private name tag\n const addressLabels = globalData?.[LOCALSTORAGE_KEYS_MAP.addressLabel];\n const gAddressLabel =\n addressLabels?.[convertCheckSum(cfxAddress)] ||\n addressLabels?.[cfxAddress.toLowerCase()];\n\n if (gAddressLabel) {\n const { label } = getLabelInfo(gAddressLabel, 'tag');\n addressLabel = label;\n }\n }\n\n if (cfxAddress && showNametag) {\n const nametags =\n nametagInfo?.[convertCheckSum(cfxAddress)] ||\n nametagInfo?.[cfxAddress.toLowerCase()];\n\n if (nametags) {\n const nametag = nametags?.nametag ?? '';\n const { label } = getLabelInfo(nametag, 'nametag');\n officalNametag = label;\n }\n }\n\n return {\n alias: aliasLabel,\n nametag: officalNametag,\n addressLabel,\n cfxAddress,\n };\n};\n\nexport const EVMAddressContainer = withTranslation()(\n memo((props: EVMAddressContainerProps & WithTranslation) => {\n const { globalData } = useGlobalData();\n\n // If a txn receipt has no 'to' address or 'contractCreated', show -- for temp\n if (!props.value && !props.contractCreated) {\n return <>--</>;\n }\n\n const defaultProps = {\n isFull: false,\n isFullNameTag: false,\n link: true,\n isMe: false,\n showIcon: true,\n verify: false,\n showAddressLabel: true,\n showENSLabel: true,\n showNametag: true,\n };\n\n const mergeDefaultProps = _.assign({}, defaultProps, props);\n\n const mergeParseProps = _.merge(\n {},\n mergeDefaultProps,\n parseProps(mergeDefaultProps, globalData),\n );\n\n if (!mergeParseProps.value && mergeParseProps.contractCreated) {\n return ContractCreatedAddress({\n ...mergeParseProps,\n outputType: 'hex',\n });\n }\n\n if (!isEvmAddress(mergeParseProps.value)) {\n return InvalidAddress(mergeParseProps);\n }\n\n if (mergeParseProps.isContract) {\n return ContractAddress(mergeParseProps);\n }\n\n if (mergeParseProps.isMe) {\n return MyAddress(mergeParseProps);\n }\n\n return RenderAddress(mergeParseProps);\n }),\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,YAAY;AACrB,SAA0B,uBAAuB;AACjD,OAAO,OAAO;AAgFD;AA3Db,IAAM,aAAa,CACjB,OACA,eACG;AACH,QAAM,EAAE,OAAO,GAAG,kBAAkB,aAAa,YAAY,IAAI;AACjE,QAAM,QAAgB,MAAM,SAAS;AACrC,QAAM,aAAa,cAAc,OAAO,KAAK;AAE7C,QAAM,eAAe,gBAAgB;AAErC,MAAI,aAAa;AACjB,MAAI,CAAC,SAAS,cAAc,UAAU,GAAG;AACvC,iBAAa,EAAE,aAAa,QAAQ,WAAW;AAAA,EACjD;AAGA,MAAI,iBAAkC;AAEtC,MAAI,eAAgC;AAEpC,MAAI,cAAc,kBAAkB;AAElC,UAAM,gBAAgB,6DAA+C;AACrE,UAAM,gBACJ,gBAAgB,gBAAgB,UAAU,CAAC,KAC3C,gBAAgB,WAAW,YAAY,CAAC;AAE1C,QAAI,eAAe;AACjB,YAAM,EAAE,MAAM,IAAI,aAAa,eAAe,KAAK;AACnD,qBAAe;AAAA,IACjB;AAAA,EACF;AAEA,MAAI,cAAc,aAAa;AAC7B,UAAM,WACJ,cAAc,gBAAgB,UAAU,CAAC,KACzC,cAAc,WAAW,YAAY,CAAC;AAExC,QAAI,UAAU;AACZ,YAAM,UAAU,UAAU,WAAW;AACrC,YAAM,EAAE,MAAM,IAAI,aAAa,SAAS,SAAS;AACjD,uBAAiB;AAAA,IACnB;AAAA,EACF;AAEA,SAAO;AAAA,IACL,OAAO;AAAA,IACP,SAAS;AAAA,IACT;AAAA,IACA;AAAA,EACF;AACF;AAEO,IAAM,sBAAsB,gBAAgB;AAAA,EACjD,KAAK,CAAC,UAAsD;AAC1D,UAAM,EAAE,WAAW,IAAI,cAAc;AAGrC,QAAI,CAAC,MAAM,SAAS,CAAC,MAAM,iBAAiB;AAC1C,aAAO,gCAAE,gBAAE;AAAA,IACb;AAEA,UAAM,eAAe;AAAA,MACnB,QAAQ;AAAA,MACR,eAAe;AAAA,MACf,MAAM;AAAA,MACN,MAAM;AAAA,MACN,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,kBAAkB;AAAA,MAClB,cAAc;AAAA,MACd,aAAa;AAAA,IACf;AAEA,UAAM,oBAAoB,EAAE,OAAO,CAAC,GAAG,cAAc,KAAK;AAE1D,UAAM,kBAAkB,EAAE;AAAA,MACxB,CAAC;AAAA,MACD;AAAA,MACA,WAAW,mBAAmB,UAAU;AAAA,IAC1C;AAEA,QAAI,CAAC,gBAAgB,SAAS,gBAAgB,iBAAiB;AAC7D,aAAO,uBAAuB;AAAA,QAC5B,GAAG;AAAA,QACH,YAAY;AAAA,MACd,CAAC;AAAA,IACH;AAEA,QAAI,CAAC,aAAa,gBAAgB,KAAK,GAAG;AACxC,aAAO,eAAe,eAAe;AAAA,IACvC;AAEA,QAAI,gBAAgB,YAAY;AAC9B,aAAO,gBAAgB,eAAe;AAAA,IACxC;AAEA,QAAI,gBAAgB,MAAM;AACxB,aAAO,UAAU,eAAe;AAAA,IAClC;AAEA,WAAO,cAAc,eAAe;AAAA,EACtC,CAAC;AACH;","names":[]}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Spin
|
|
3
|
+
} from "./chunk-XCKMXAL2.js";
|
|
4
|
+
import {
|
|
5
|
+
cn
|
|
6
|
+
} from "./chunk-RVVVAX7C.js";
|
|
7
|
+
|
|
8
|
+
// src/components/Modal/index.tsx
|
|
9
|
+
import { useEffect, useCallback, useMemo } from "react";
|
|
10
|
+
import ReactDOM from "react-dom";
|
|
11
|
+
import { X } from "lucide-react";
|
|
12
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
13
|
+
var Backdrop = ({
|
|
14
|
+
onClick,
|
|
15
|
+
children,
|
|
16
|
+
className
|
|
17
|
+
}) => /* @__PURE__ */ jsx("div", { className, onClick, children });
|
|
18
|
+
var ModalContent = ({
|
|
19
|
+
containerClassName,
|
|
20
|
+
closable,
|
|
21
|
+
onClose,
|
|
22
|
+
children,
|
|
23
|
+
loading,
|
|
24
|
+
modalStyles
|
|
25
|
+
}) => /* @__PURE__ */ jsx(
|
|
26
|
+
"div",
|
|
27
|
+
{
|
|
28
|
+
className: cn("relative bg-[#FFF] rounded shadow-lg", containerClassName),
|
|
29
|
+
tabIndex: -1,
|
|
30
|
+
style: modalStyles,
|
|
31
|
+
children: /* @__PURE__ */ jsxs(Spin, { spinning: loading, children: [
|
|
32
|
+
closable && /* @__PURE__ */ jsx(X, { className: "h-4 w-4 absolute right-5 top-5", onClick: onClose }),
|
|
33
|
+
/* @__PURE__ */ jsx("div", { className: "p-4", children })
|
|
34
|
+
] })
|
|
35
|
+
}
|
|
36
|
+
);
|
|
37
|
+
var useEventListener = (eventName, handler, active) => {
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
if (active) {
|
|
40
|
+
const eventListener = (event) => handler(event);
|
|
41
|
+
document.addEventListener(eventName, eventListener);
|
|
42
|
+
return () => {
|
|
43
|
+
document.removeEventListener(eventName, eventListener);
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
}, [eventName, handler, active]);
|
|
47
|
+
};
|
|
48
|
+
var Modal = ({
|
|
49
|
+
open,
|
|
50
|
+
closeOnEsc = true,
|
|
51
|
+
closable = true,
|
|
52
|
+
preventScroll = true,
|
|
53
|
+
backdropClassName = "",
|
|
54
|
+
containerClassName = "",
|
|
55
|
+
onOpen = () => {
|
|
56
|
+
},
|
|
57
|
+
onClose,
|
|
58
|
+
children,
|
|
59
|
+
width = "600px",
|
|
60
|
+
maskClosable = true,
|
|
61
|
+
centered = true,
|
|
62
|
+
loading = false
|
|
63
|
+
}) => {
|
|
64
|
+
useEffect(() => {
|
|
65
|
+
if (open) {
|
|
66
|
+
onOpen?.();
|
|
67
|
+
if (preventScroll) {
|
|
68
|
+
document.body.style.overflow = "hidden";
|
|
69
|
+
}
|
|
70
|
+
} else {
|
|
71
|
+
if (preventScroll) {
|
|
72
|
+
document.body.style.overflow = "";
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return () => {
|
|
76
|
+
if (preventScroll) {
|
|
77
|
+
document.body.style.overflow = "";
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
}, [open, onOpen, preventScroll]);
|
|
81
|
+
const handleKeyDown = useCallback(
|
|
82
|
+
(event) => {
|
|
83
|
+
if (event.key === "Escape" && closeOnEsc && onClose) {
|
|
84
|
+
onClose?.();
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
[closeOnEsc, onClose]
|
|
88
|
+
);
|
|
89
|
+
const handleClickOutside = useCallback(() => {
|
|
90
|
+
if (onClose && maskClosable) {
|
|
91
|
+
onClose?.();
|
|
92
|
+
}
|
|
93
|
+
}, [onClose, maskClosable]);
|
|
94
|
+
const handleBackdropClick = useCallback(
|
|
95
|
+
(event) => {
|
|
96
|
+
if (maskClosable && event.target === event.currentTarget && onClose) {
|
|
97
|
+
onClose?.();
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
[maskClosable, onClose]
|
|
101
|
+
);
|
|
102
|
+
const modalStyles = useMemo(
|
|
103
|
+
() => ({
|
|
104
|
+
width: typeof width === "string" ? width : `${width}px`,
|
|
105
|
+
margin: centered ? "auto" : void 0
|
|
106
|
+
}),
|
|
107
|
+
[width, centered]
|
|
108
|
+
);
|
|
109
|
+
useEventListener(
|
|
110
|
+
"keydown",
|
|
111
|
+
handleKeyDown,
|
|
112
|
+
open && closeOnEsc
|
|
113
|
+
);
|
|
114
|
+
useEventListener(
|
|
115
|
+
"mousedown",
|
|
116
|
+
handleClickOutside,
|
|
117
|
+
open && maskClosable
|
|
118
|
+
);
|
|
119
|
+
if (!open)
|
|
120
|
+
return null;
|
|
121
|
+
return ReactDOM.createPortal(
|
|
122
|
+
/* @__PURE__ */ jsx(
|
|
123
|
+
Backdrop,
|
|
124
|
+
{
|
|
125
|
+
onClick: handleBackdropClick,
|
|
126
|
+
className: cn(
|
|
127
|
+
"fixed inset-0 bg-[#000] bg-opacity-25 flex items-center justify-center z-10000",
|
|
128
|
+
backdropClassName
|
|
129
|
+
),
|
|
130
|
+
children: /* @__PURE__ */ jsx(
|
|
131
|
+
ModalContent,
|
|
132
|
+
{
|
|
133
|
+
containerClassName,
|
|
134
|
+
closable,
|
|
135
|
+
onClose,
|
|
136
|
+
children,
|
|
137
|
+
loading,
|
|
138
|
+
modalStyles
|
|
139
|
+
}
|
|
140
|
+
)
|
|
141
|
+
}
|
|
142
|
+
),
|
|
143
|
+
document.body
|
|
144
|
+
);
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
export {
|
|
148
|
+
Modal
|
|
149
|
+
};
|
|
150
|
+
//# sourceMappingURL=chunk-B5XWZ3ZE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Modal/index.tsx"],"sourcesContent":["import React, { useEffect, useCallback, useMemo } from 'react';\nimport ReactDOM from 'react-dom';\nimport { X } from 'lucide-react';\nimport { Spin } from '../Spin';\nimport { cn } from '../../utils';\n\ninterface ModalProps {\n open: boolean;\n closeOnEsc?: boolean;\n closable?: boolean;\n preventScroll?: boolean;\n backdropClassName?: string;\n containerClassName?: string;\n onOpen?: () => void;\n onClose?: () => void;\n children?: React.ReactNode;\n width?: string | number;\n maskClosable?: boolean;\n centered?: boolean;\n loading?: boolean;\n}\n\ninterface ModalContentProps {\n containerClassName: string;\n closable: boolean;\n onClose?: VoidFunction;\n children?: React.ReactNode;\n loading?: boolean;\n modalStyles: React.CSSProperties;\n}\n\ninterface BackdropProps {\n onClick: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n className: string;\n children?: React.ReactNode;\n}\n\nconst Backdrop: React.FC<BackdropProps> = ({\n onClick,\n children,\n className,\n}) => (\n <div className={className} onClick={onClick}>\n {children}\n </div>\n);\n\nconst ModalContent = ({\n containerClassName,\n closable,\n onClose,\n children,\n loading,\n modalStyles,\n}: ModalContentProps) => (\n <div\n className={cn('relative bg-[#FFF] rounded shadow-lg', containerClassName)}\n tabIndex={-1}\n style={modalStyles}\n >\n <Spin spinning={loading}>\n {closable && (\n <X className=\"h-4 w-4 absolute right-5 top-5\" onClick={onClose} />\n )}\n <div className=\"p-4\">{children}</div>\n </Spin>\n </div>\n);\n\nconst useEventListener = (\n eventName: string,\n handler: (event: Event) => void,\n active: boolean,\n) => {\n useEffect(() => {\n if (active) {\n const eventListener = (event: Event) => handler(event);\n\n document.addEventListener(eventName, eventListener);\n return () => {\n document.removeEventListener(eventName, eventListener);\n };\n }\n }, [eventName, handler, active]);\n};\n\nconst Modal: React.FC<ModalProps> = ({\n open,\n closeOnEsc = true,\n closable = true,\n preventScroll = true,\n backdropClassName = '',\n containerClassName = '',\n onOpen = () => {},\n onClose,\n children,\n width = '600px',\n maskClosable = true,\n centered = true,\n loading = false,\n}) => {\n useEffect(() => {\n if (open) {\n onOpen?.();\n if (preventScroll) {\n document.body.style.overflow = 'hidden';\n }\n } else {\n if (preventScroll) {\n document.body.style.overflow = '';\n }\n }\n return () => {\n if (preventScroll) {\n document.body.style.overflow = '';\n }\n };\n }, [open, onOpen, preventScroll]);\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (event.key === 'Escape' && closeOnEsc && onClose) {\n onClose?.();\n }\n },\n [closeOnEsc, onClose],\n );\n\n const handleClickOutside = useCallback(() => {\n if (onClose && maskClosable) {\n onClose?.();\n }\n }, [onClose, maskClosable]);\n\n const handleBackdropClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n if (maskClosable && event.target === event.currentTarget && onClose) {\n onClose?.();\n }\n },\n [maskClosable, onClose],\n );\n\n const modalStyles: React.CSSProperties = useMemo(\n () => ({\n width: typeof width === 'string' ? width : `${width}px`,\n margin: centered ? 'auto' : undefined,\n }),\n [width, centered],\n );\n\n useEventListener(\n 'keydown',\n handleKeyDown as (event: Event) => void,\n open && closeOnEsc,\n );\n useEventListener(\n 'mousedown',\n handleClickOutside as (event: Event) => void,\n open && maskClosable,\n );\n\n if (!open) return null;\n\n return ReactDOM.createPortal(\n <Backdrop\n onClick={handleBackdropClick}\n className={cn(\n 'fixed inset-0 bg-[#000] bg-opacity-25 flex items-center justify-center z-10000',\n backdropClassName,\n )}\n >\n <ModalContent\n containerClassName={containerClassName}\n closable={closable}\n onClose={onClose}\n children={children}\n loading={loading}\n modalStyles={modalStyles}\n />\n </Backdrop>,\n document.body,\n );\n};\n\nexport { Modal };\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Spin
|
|
3
|
+
} from "./chunk-XCKMXAL2.js";
|
|
4
|
+
import {
|
|
5
|
+
cn
|
|
6
|
+
} from "./chunk-VUULJBTQ.js";
|
|
7
|
+
|
|
8
|
+
// src/components/Modal/index.tsx
|
|
9
|
+
import { useEffect, useCallback, useMemo } from "react";
|
|
10
|
+
import ReactDOM from "react-dom";
|
|
11
|
+
import { X } from "lucide-react";
|
|
12
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
13
|
+
var Backdrop = ({
|
|
14
|
+
onClick,
|
|
15
|
+
children,
|
|
16
|
+
className
|
|
17
|
+
}) => /* @__PURE__ */ jsx("div", { className, onClick, children });
|
|
18
|
+
var ModalContent = ({
|
|
19
|
+
containerClassName,
|
|
20
|
+
closable,
|
|
21
|
+
onClose,
|
|
22
|
+
children,
|
|
23
|
+
loading,
|
|
24
|
+
modalStyles
|
|
25
|
+
}) => /* @__PURE__ */ jsx(
|
|
26
|
+
"div",
|
|
27
|
+
{
|
|
28
|
+
className: cn("relative bg-[#FFF] rounded shadow-lg", containerClassName),
|
|
29
|
+
tabIndex: -1,
|
|
30
|
+
style: modalStyles,
|
|
31
|
+
children: /* @__PURE__ */ jsxs(Spin, { spinning: loading, children: [
|
|
32
|
+
closable && /* @__PURE__ */ jsx(X, { className: "h-4 w-4 absolute right-5 top-5", onClick: onClose }),
|
|
33
|
+
/* @__PURE__ */ jsx("div", { className: "p-4", children })
|
|
34
|
+
] })
|
|
35
|
+
}
|
|
36
|
+
);
|
|
37
|
+
var useEventListener = (eventName, handler, active) => {
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
if (active) {
|
|
40
|
+
const eventListener = (event) => handler(event);
|
|
41
|
+
document.addEventListener(eventName, eventListener);
|
|
42
|
+
return () => {
|
|
43
|
+
document.removeEventListener(eventName, eventListener);
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
}, [eventName, handler, active]);
|
|
47
|
+
};
|
|
48
|
+
var Modal = ({
|
|
49
|
+
open,
|
|
50
|
+
closeOnEsc = true,
|
|
51
|
+
closable = true,
|
|
52
|
+
preventScroll = true,
|
|
53
|
+
backdropClassName = "",
|
|
54
|
+
containerClassName = "",
|
|
55
|
+
onOpen = () => {
|
|
56
|
+
},
|
|
57
|
+
onClose,
|
|
58
|
+
children,
|
|
59
|
+
width = "600px",
|
|
60
|
+
maskClosable = true,
|
|
61
|
+
centered = true,
|
|
62
|
+
loading = false
|
|
63
|
+
}) => {
|
|
64
|
+
useEffect(() => {
|
|
65
|
+
if (open) {
|
|
66
|
+
onOpen?.();
|
|
67
|
+
if (preventScroll) {
|
|
68
|
+
document.body.style.overflow = "hidden";
|
|
69
|
+
}
|
|
70
|
+
} else {
|
|
71
|
+
if (preventScroll) {
|
|
72
|
+
document.body.style.overflow = "";
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return () => {
|
|
76
|
+
if (preventScroll) {
|
|
77
|
+
document.body.style.overflow = "";
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
}, [open, onOpen, preventScroll]);
|
|
81
|
+
const handleKeyDown = useCallback(
|
|
82
|
+
(event) => {
|
|
83
|
+
if (event.key === "Escape" && closeOnEsc && onClose) {
|
|
84
|
+
onClose?.();
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
[closeOnEsc, onClose]
|
|
88
|
+
);
|
|
89
|
+
const handleClickOutside = useCallback(() => {
|
|
90
|
+
if (onClose && maskClosable) {
|
|
91
|
+
onClose?.();
|
|
92
|
+
}
|
|
93
|
+
}, [onClose, maskClosable]);
|
|
94
|
+
const handleBackdropClick = useCallback(
|
|
95
|
+
(event) => {
|
|
96
|
+
if (maskClosable && event.target === event.currentTarget && onClose) {
|
|
97
|
+
onClose?.();
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
[maskClosable, onClose]
|
|
101
|
+
);
|
|
102
|
+
const modalStyles = useMemo(
|
|
103
|
+
() => ({
|
|
104
|
+
width: typeof width === "string" ? width : `${width}px`,
|
|
105
|
+
margin: centered ? "auto" : void 0
|
|
106
|
+
}),
|
|
107
|
+
[width, centered]
|
|
108
|
+
);
|
|
109
|
+
useEventListener(
|
|
110
|
+
"keydown",
|
|
111
|
+
handleKeyDown,
|
|
112
|
+
open && closeOnEsc
|
|
113
|
+
);
|
|
114
|
+
useEventListener(
|
|
115
|
+
"mousedown",
|
|
116
|
+
handleClickOutside,
|
|
117
|
+
open && maskClosable
|
|
118
|
+
);
|
|
119
|
+
if (!open)
|
|
120
|
+
return null;
|
|
121
|
+
return ReactDOM.createPortal(
|
|
122
|
+
/* @__PURE__ */ jsx(
|
|
123
|
+
Backdrop,
|
|
124
|
+
{
|
|
125
|
+
onClick: handleBackdropClick,
|
|
126
|
+
className: cn(
|
|
127
|
+
"fixed inset-0 bg-[#000] bg-opacity-25 flex items-center justify-center z-10000",
|
|
128
|
+
backdropClassName
|
|
129
|
+
),
|
|
130
|
+
children: /* @__PURE__ */ jsx(
|
|
131
|
+
ModalContent,
|
|
132
|
+
{
|
|
133
|
+
containerClassName,
|
|
134
|
+
closable,
|
|
135
|
+
onClose,
|
|
136
|
+
children,
|
|
137
|
+
loading,
|
|
138
|
+
modalStyles
|
|
139
|
+
}
|
|
140
|
+
)
|
|
141
|
+
}
|
|
142
|
+
),
|
|
143
|
+
document.body
|
|
144
|
+
);
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
export {
|
|
148
|
+
Modal
|
|
149
|
+
};
|
|
150
|
+
//# sourceMappingURL=chunk-CDYRVFSO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Modal/index.tsx"],"sourcesContent":["import React, { useEffect, useCallback, useMemo } from 'react';\nimport ReactDOM from 'react-dom';\nimport { X } from 'lucide-react';\nimport { Spin } from '../Spin';\nimport { cn } from '../../utils';\n\ninterface ModalProps {\n open: boolean;\n closeOnEsc?: boolean;\n closable?: boolean;\n preventScroll?: boolean;\n backdropClassName?: string;\n containerClassName?: string;\n onOpen?: () => void;\n onClose?: () => void;\n children?: React.ReactNode;\n width?: string | number;\n maskClosable?: boolean;\n centered?: boolean;\n loading?: boolean;\n}\n\ninterface ModalContentProps {\n containerClassName: string;\n closable: boolean;\n onClose?: VoidFunction;\n children?: React.ReactNode;\n loading?: boolean;\n modalStyles: React.CSSProperties;\n}\n\ninterface BackdropProps {\n onClick: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n className: string;\n children?: React.ReactNode;\n}\n\nconst Backdrop: React.FC<BackdropProps> = ({\n onClick,\n children,\n className,\n}) => (\n <div className={className} onClick={onClick}>\n {children}\n </div>\n);\n\nconst ModalContent = ({\n containerClassName,\n closable,\n onClose,\n children,\n loading,\n modalStyles,\n}: ModalContentProps) => (\n <div\n className={cn('relative bg-[#FFF] rounded shadow-lg', containerClassName)}\n tabIndex={-1}\n style={modalStyles}\n >\n <Spin spinning={loading}>\n {closable && (\n <X className=\"h-4 w-4 absolute right-5 top-5\" onClick={onClose} />\n )}\n <div className=\"p-4\">{children}</div>\n </Spin>\n </div>\n);\n\nconst useEventListener = (\n eventName: string,\n handler: (event: Event) => void,\n active: boolean,\n) => {\n useEffect(() => {\n if (active) {\n const eventListener = (event: Event) => handler(event);\n\n document.addEventListener(eventName, eventListener);\n return () => {\n document.removeEventListener(eventName, eventListener);\n };\n }\n }, [eventName, handler, active]);\n};\n\nconst Modal: React.FC<ModalProps> = ({\n open,\n closeOnEsc = true,\n closable = true,\n preventScroll = true,\n backdropClassName = '',\n containerClassName = '',\n onOpen = () => {},\n onClose,\n children,\n width = '600px',\n maskClosable = true,\n centered = true,\n loading = false,\n}) => {\n useEffect(() => {\n if (open) {\n onOpen?.();\n if (preventScroll) {\n document.body.style.overflow = 'hidden';\n }\n } else {\n if (preventScroll) {\n document.body.style.overflow = '';\n }\n }\n return () => {\n if (preventScroll) {\n document.body.style.overflow = '';\n }\n };\n }, [open, onOpen, preventScroll]);\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (event.key === 'Escape' && closeOnEsc && onClose) {\n onClose?.();\n }\n },\n [closeOnEsc, onClose],\n );\n\n const handleClickOutside = useCallback(() => {\n if (onClose && maskClosable) {\n onClose?.();\n }\n }, [onClose, maskClosable]);\n\n const handleBackdropClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n if (maskClosable && event.target === event.currentTarget && onClose) {\n onClose?.();\n }\n },\n [maskClosable, onClose],\n );\n\n const modalStyles: React.CSSProperties = useMemo(\n () => ({\n width: typeof width === 'string' ? width : `${width}px`,\n margin: centered ? 'auto' : undefined,\n }),\n [width, centered],\n );\n\n useEventListener(\n 'keydown',\n handleKeyDown as (event: Event) => void,\n open && closeOnEsc,\n );\n useEventListener(\n 'mousedown',\n handleClickOutside as (event: Event) => void,\n open && maskClosable,\n );\n\n if (!open) return null;\n\n return ReactDOM.createPortal(\n <Backdrop\n onClick={handleBackdropClick}\n className={cn(\n 'fixed inset-0 bg-[#000] bg-opacity-25 flex items-center justify-center z-10000',\n backdropClassName,\n )}\n >\n <ModalContent\n containerClassName={containerClassName}\n closable={closable}\n onClose={onClose}\n children={children}\n loading={loading}\n modalStyles={modalStyles}\n />\n </Backdrop>,\n document.body,\n );\n};\n\nexport { Modal };\n"],"mappings":"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","names":[]}
|