@cfxjs/sirius-next-common 0.2.10 → 0.2.12
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/_esm-TZ4WSCGM.js +4035 -0
- package/dist/_esm-TZ4WSCGM.js.map +1 -0
- package/dist/abis/CommonError.d.ts +10 -0
- package/dist/abis/CommonError.js +8 -0
- package/dist/abis/CommonError.js.map +1 -0
- package/dist/abis/CommonPanic.d.ts +10 -0
- package/dist/abis/CommonPanic.js +8 -0
- package/dist/abis/CommonPanic.js.map +1 -0
- package/dist/ccip-DBSI27GO.js +15 -0
- package/dist/ccip-DBSI27GO.js.map +1 -0
- package/dist/chunk-3HO74CMH.js +186 -0
- package/dist/chunk-3HO74CMH.js.map +1 -0
- package/dist/chunk-3PXUIH3S.js +17 -0
- package/dist/chunk-3PXUIH3S.js.map +1 -0
- package/dist/chunk-4B6ASBYQ.js +408 -0
- package/dist/chunk-4B6ASBYQ.js.map +1 -0
- package/dist/chunk-4J3SQGIV.js +82 -0
- package/dist/chunk-4J3SQGIV.js.map +1 -0
- package/dist/{chunk-LXTR4VAD.js → chunk-5EDEEGZK.js} +42 -19
- package/dist/chunk-5EDEEGZK.js.map +1 -0
- package/dist/chunk-5TGK2EA2.js +18 -0
- package/dist/chunk-5TGK2EA2.js.map +1 -0
- package/dist/chunk-5Y7I6VYA.js +145 -0
- package/dist/chunk-5Y7I6VYA.js.map +1 -0
- package/dist/chunk-6H5A42YS.js +23 -0
- package/dist/chunk-6H5A42YS.js.map +1 -0
- package/dist/chunk-6HJCR6PQ.js +79 -0
- package/dist/chunk-6HJCR6PQ.js.map +1 -0
- package/dist/chunk-6SXAFSBF.js +1032 -0
- package/dist/chunk-6SXAFSBF.js.map +1 -0
- package/dist/chunk-ADNS57X5.js +18 -0
- package/dist/chunk-ADNS57X5.js.map +1 -0
- package/dist/{chunk-ABDGDYRT.js → chunk-ADULNBMD.js} +5 -5
- package/dist/{chunk-IIIPX34H.js → chunk-BUSBM33B.js} +4 -4
- package/dist/chunk-CKVDFS45.js +56 -0
- package/dist/chunk-CKVDFS45.js.map +1 -0
- package/dist/{chunk-WI3G3OD5.js → chunk-CNF26YY7.js} +3 -3
- package/dist/{chunk-DFQG46WD.js → chunk-CPPQCJEV.js} +3 -3
- package/dist/chunk-CPR4QZT6.js +21 -0
- package/dist/chunk-CPR4QZT6.js.map +1 -0
- package/dist/{chunk-NUKYY7GO.js → chunk-DF3PVTB5.js} +2 -2
- package/dist/chunk-E3ZD2GGG.js +17 -0
- package/dist/chunk-E3ZD2GGG.js.map +1 -0
- package/dist/chunk-EERNUGUK.js +198 -0
- package/dist/chunk-EERNUGUK.js.map +1 -0
- package/dist/{chunk-S5QP6EUQ.js → chunk-EMPFZFBS.js} +6 -19
- package/dist/chunk-EMPFZFBS.js.map +1 -0
- package/dist/chunk-FYLAXC3R.js +82 -0
- package/dist/chunk-FYLAXC3R.js.map +1 -0
- package/dist/{chunk-IWNT4XVY.js → chunk-GKZK26DZ.js} +3 -3
- package/dist/{chunk-IQJOXINX.js → chunk-GSWIFV2B.js} +2 -2
- package/dist/chunk-JFFTHCNE.js +344 -0
- package/dist/chunk-JFFTHCNE.js.map +1 -0
- package/dist/chunk-JIRLY7OG.js +4357 -0
- package/dist/chunk-JIRLY7OG.js.map +1 -0
- package/dist/chunk-K6FHTS3F.js +115 -0
- package/dist/chunk-K6FHTS3F.js.map +1 -0
- package/dist/chunk-L62OTV7F.js +71 -0
- package/dist/chunk-L62OTV7F.js.map +1 -0
- package/dist/{chunk-2R6NJR5T.js → chunk-LVFMTP5H.js} +2 -2
- package/dist/chunk-NWVSTRCG.js +20 -0
- package/dist/chunk-NWVSTRCG.js.map +1 -0
- package/dist/chunk-NXCZ5PMI.js +64 -0
- package/dist/chunk-NXCZ5PMI.js.map +1 -0
- package/dist/{chunk-HHA2RXLW.js → chunk-NZY53U2H.js} +9 -13
- package/dist/chunk-NZY53U2H.js.map +1 -0
- package/dist/{chunk-U3F7QHXB.js → chunk-OCQIWTDC.js} +2 -2
- package/dist/{chunk-EQWAYCW3.js → chunk-ODJ4QBD5.js} +6 -6
- package/dist/chunk-OYESIV3F.js +47 -0
- package/dist/chunk-OYESIV3F.js.map +1 -0
- package/dist/{chunk-IWGPVXSI.js → chunk-P4EE3QGM.js} +3 -3
- package/dist/{chunk-BRST23XX.js → chunk-Q2DX6IDH.js} +2 -2
- package/dist/chunk-QMLPHJCA.js +78 -0
- package/dist/chunk-QMLPHJCA.js.map +1 -0
- package/dist/chunk-SFCNLOQ5.js +37 -0
- package/dist/chunk-SFCNLOQ5.js.map +1 -0
- package/dist/chunk-SUCQASD3.js +84 -0
- package/dist/chunk-SUCQASD3.js.map +1 -0
- package/dist/chunk-U6ZN2ABK.js +184 -0
- package/dist/chunk-U6ZN2ABK.js.map +1 -0
- package/dist/chunk-UM5J477V.js +69 -0
- package/dist/chunk-UM5J477V.js.map +1 -0
- package/dist/{chunk-7RH7LJYB.js → chunk-WIB76E7O.js} +6 -2
- package/dist/{chunk-7RH7LJYB.js.map → chunk-WIB76E7O.js.map} +1 -1
- package/dist/chunk-WQG2LZMB.js +50 -0
- package/dist/chunk-WQG2LZMB.js.map +1 -0
- package/dist/chunk-XZ7IV2FF.js +5947 -0
- package/dist/chunk-XZ7IV2FF.js.map +1 -0
- package/dist/chunk-Y7OVL5US.js +46 -0
- package/dist/chunk-Y7OVL5US.js.map +1 -0
- package/dist/chunk-YBQQ72FQ.js +10 -0
- package/dist/chunk-YBQQ72FQ.js.map +1 -0
- package/dist/{chunk-YEUH2K6Z.js → chunk-YEINMVAR.js} +8 -2
- package/dist/chunk-YEINMVAR.js.map +1 -0
- package/dist/chunk-YIZCD4WG.js +107 -0
- package/dist/chunk-YIZCD4WG.js.map +1 -0
- package/dist/components/AceEditor/index.js +9 -143
- package/dist/components/AceEditor/index.js.map +1 -1
- package/dist/components/AddressContainer/CoreAddressContainer.js +14 -12
- package/dist/components/AddressContainer/EVMAddressContainer.js +13 -11
- package/dist/components/AddressContainer/addressSwitcher.js +11 -9
- package/dist/components/AddressContainer/addressView.js +9 -8
- package/dist/components/AddressContainer/label.js +7 -6
- package/dist/components/AddressContainer/utils.d.ts +9 -0
- package/dist/components/AddressContainer/utils.js +30 -0
- package/dist/components/AddressContainer/utils.js.map +1 -0
- package/dist/components/Age/index.js +7 -6
- package/dist/components/Age/index.js.map +1 -1
- package/dist/components/AutoComplete/index.js +6 -5
- package/dist/components/AutoComplete/index.js.map +1 -1
- package/dist/components/Button/ActionButton/index.js +1 -0
- package/dist/components/Button/BaseButton/index.js +1 -0
- package/dist/components/Button/IconButton/index.js +1 -0
- package/dist/components/Button/index.js +1 -0
- package/dist/components/Card/index.js +1 -0
- package/dist/components/Charts/BreadcrumbNav.js +1 -0
- package/dist/components/Charts/ChartOptions.js +1 -0
- package/dist/components/Charts/PreviewChartTemplate.js +3 -2
- package/dist/components/Charts/PreviewChartTemplate.js.map +1 -1
- package/dist/components/Charts/PreviewTitle.js +1 -0
- package/dist/components/Charts/StockChartTemplate.js +10 -9
- package/dist/components/Charts/StockChartTemplate.js.map +1 -1
- package/dist/components/Charts/StockTitle.js +1 -0
- package/dist/components/Charts/config.js +1 -0
- package/dist/components/Charts/constants.js +1 -0
- package/dist/components/Charts/useHighCharts.js +1 -0
- package/dist/components/CookieTip/CookieIcon.js +1 -0
- package/dist/components/CookieTip/index.js +2 -1
- package/dist/components/CookieTip/index.js.map +1 -1
- package/dist/components/CopyButton/index.js +6 -5
- package/dist/components/CopyButton/index.js.map +1 -1
- package/dist/components/DecimalsSelect/index.js +6 -5
- package/dist/components/DecimalsSelect/index.js.map +1 -1
- package/dist/components/DeleteIcon/index.js +2 -0
- package/dist/components/DeleteIcon/index.js.map +1 -1
- package/dist/components/Description/index.js +1 -0
- package/dist/components/Divider/index.js +1 -0
- package/dist/components/DownloadCSV/index.js +7 -6
- package/dist/components/DownloadCSV/index.js.map +1 -1
- package/dist/components/Dropdown/index.js +1 -0
- package/dist/components/Dropdown/index.js.map +1 -1
- package/dist/components/Empty/index.js +4 -40
- package/dist/components/Empty/index.js.map +1 -1
- package/dist/components/FileUpload/index.js +2 -0
- package/dist/components/FileUpload/index.js.map +1 -1
- package/dist/components/Footer/index.js +1 -0
- package/dist/components/Footer/index.js.map +1 -1
- package/dist/components/GasPriceDropdown/index.js +5 -4
- package/dist/components/GasPriceDropdown/index.js.map +1 -1
- package/dist/components/Highlight/index.js +1 -0
- package/dist/components/Highlight/index.js.map +1 -1
- package/dist/components/Icons/index.d.ts +8 -1
- package/dist/components/Icons/index.js +20 -64
- package/dist/components/Icons/index.js.map +1 -1
- package/dist/components/ImageSkeleton/index.js +2 -0
- package/dist/components/ImageSkeleton/index.js.map +1 -1
- package/dist/components/IncreasePercent/Icons.js +1 -0
- package/dist/components/IncreasePercent/index.js +5 -4
- package/dist/components/IncreasePercent/index.js.map +1 -1
- package/dist/components/InfoIconWithTooltip/InfoIcon.js +1 -0
- package/dist/components/InfoIconWithTooltip/index.js +7 -6
- package/dist/components/InputData/AddressLabel.d.ts +8 -0
- package/dist/components/InputData/AddressLabel.js +23 -0
- package/dist/components/InputData/AddressLabel.js.map +1 -0
- package/dist/components/InputData/ContractDetail.d.ts +22 -0
- package/dist/components/InputData/ContractDetail.js +19 -0
- package/dist/components/InputData/ContractDetail.js.map +1 -0
- package/dist/components/InputData/FunctionName.d.ts +10 -0
- package/dist/components/InputData/FunctionName.js +10 -0
- package/dist/components/InputData/FunctionName.js.map +1 -0
- package/dist/components/InputData/GeneralDecode.d.ts +9 -0
- package/dist/components/InputData/GeneralDecode.js +8 -0
- package/dist/components/InputData/GeneralDecode.js.map +1 -0
- package/dist/components/InputData/JsonDecode.d.ts +18 -0
- package/dist/components/InputData/JsonDecode.js +19 -0
- package/dist/components/InputData/JsonDecode.js.map +1 -0
- package/dist/components/InputData/OptimizationDecode.d.ts +23 -0
- package/dist/components/InputData/OptimizationDecode.js +32 -0
- package/dist/components/InputData/OptimizationDecode.js.map +1 -0
- package/dist/components/InputData/Original.d.ts +8 -0
- package/dist/components/InputData/Original.js +8 -0
- package/dist/components/InputData/Original.js.map +1 -0
- package/dist/components/InputData/UTF8.d.ts +8 -0
- package/dist/components/InputData/UTF8.js +14 -0
- package/dist/components/InputData/UTF8.js.map +1 -0
- package/dist/components/InputData/index.d.ts +15 -0
- package/dist/components/InputData/index.js +36 -0
- package/dist/components/InputData/index.js.map +1 -0
- package/dist/components/InputData/utils.d.ts +5 -0
- package/dist/components/InputData/utils.js +8 -0
- package/dist/components/InputData/utils.js.map +1 -0
- package/dist/components/Link/index.js +1 -0
- package/dist/components/List/index.js +1 -0
- package/dist/components/List/index.js.map +1 -1
- package/dist/components/Loading/index.js +1 -0
- package/dist/components/Loading/index.js.map +1 -1
- package/dist/components/Loading/loading.js +1 -0
- package/dist/components/Modal/index.js +6 -5
- package/dist/components/NetworkIcon/index.js +5 -4
- package/dist/components/NetworkIcon/index.js.map +1 -1
- package/dist/components/OutputData/ErrorDecode.d.ts +14 -0
- package/dist/components/OutputData/ErrorDecode.js +39 -0
- package/dist/components/OutputData/ErrorDecode.js.map +1 -0
- package/dist/components/OutputData/index.d.ts +21 -0
- package/dist/components/OutputData/index.js +42 -0
- package/dist/components/OutputData/index.js.map +1 -0
- package/dist/components/PageHeader/index.js +2 -0
- package/dist/components/PageHeader/index.js.map +1 -1
- package/dist/components/PhishingAddressContainer/PhishingWarningIcon.js +1 -0
- package/dist/components/PhishingAddressContainer/index.js +7 -6
- package/dist/components/PhishingAddressContainer/index.js.map +1 -1
- package/dist/components/Popover/index.js +6 -5
- package/dist/components/Price/index.js +6 -5
- package/dist/components/Price/index.js.map +1 -1
- package/dist/components/ProxyContractAddress/index.d.ts +24 -0
- package/dist/components/ProxyContractAddress/index.js +120 -0
- package/dist/components/ProxyContractAddress/index.js.map +1 -0
- package/dist/components/Radio/index.js +5 -4
- package/dist/components/Radio/index.js.map +1 -1
- package/dist/components/Remark/index.js +1 -0
- package/dist/components/Remark/index.js.map +1 -1
- package/dist/components/SearchIcon/index.js +2 -0
- package/dist/components/SearchIcon/index.js.map +1 -1
- package/dist/components/SearchInput/index.js +7 -6
- package/dist/components/SearchInput/index.js.map +1 -1
- package/dist/components/Select/index.d.ts +5 -4
- package/dist/components/Select/index.js +10 -105
- package/dist/components/Select/index.js.map +1 -1
- package/dist/components/Select/select.js +7 -5
- package/dist/components/Skeleton/index.js +1 -0
- package/dist/components/SkeletonContainer/index.js +1 -0
- package/dist/components/Spin/index.js +1 -0
- package/dist/components/Switch/index.d.ts +10 -0
- package/dist/components/Switch/index.js +81 -0
- package/dist/components/Switch/index.js.map +1 -0
- package/dist/components/Table/index.d.ts +9 -0
- package/dist/components/Table/index.js +12 -0
- package/dist/components/Table/index.js.map +1 -0
- package/dist/components/Text/index.js +7 -6
- package/dist/components/TextLogo/index.js +2 -0
- package/dist/components/TextLogo/index.js.map +1 -1
- package/dist/components/Tooltip/index.js +6 -5
- package/dist/components/TransactionAction/constants.js +1 -0
- package/dist/components/TransactionAction/coreTransactionAction.js +15 -13
- package/dist/components/TransactionAction/coreTransactionAction.js.map +1 -1
- package/dist/components/TransactionAction/evmTransactionAction.js +14 -12
- package/dist/components/TransactionAction/evmTransactionAction.js.map +1 -1
- package/dist/components/TransactionTrace/TraceDetail.d.ts +20 -0
- package/dist/components/TransactionTrace/TraceDetail.js +54 -0
- package/dist/components/TransactionTrace/TraceDetail.js.map +1 -0
- package/dist/components/TransactionTrace/TreeTraceTable.d.ts +20 -0
- package/dist/components/TransactionTrace/TreeTraceTable.js +57 -0
- package/dist/components/TransactionTrace/TreeTraceTable.js.map +1 -0
- package/dist/components/TransactionTrace/index.d.ts +9 -0
- package/dist/components/TransactionTrace/index.js +60 -0
- package/dist/components/TransactionTrace/index.js.map +1 -0
- package/dist/secp256k1-WGKMGTUQ.js +2255 -0
- package/dist/secp256k1-WGKMGTUQ.js.map +1 -0
- package/dist/store/index.js +1 -0
- package/dist/uno.css +103 -5
- package/dist/utils/address.js +5 -4
- package/dist/utils/cache.js +2 -1
- package/dist/utils/constants.d.ts +3 -1
- package/dist/utils/constants.js +6 -1
- package/dist/utils/contractManagerTool.js +5 -4
- package/dist/utils/contractManagerTool.js.map +1 -1
- package/dist/utils/cookie.js +1 -0
- package/dist/utils/ga.js +1 -0
- package/dist/utils/hooks/useAddressLabel.d.ts +3 -0
- package/dist/utils/hooks/useAddressLabel.js +14 -0
- package/dist/utils/hooks/useAddressLabel.js.map +1 -0
- package/dist/utils/hooks/useAge.js +2 -1
- package/dist/utils/hooks/useAge.js.map +1 -1
- package/dist/utils/hooks/useAutoSetHolderFilterParams.js +5 -4
- package/dist/utils/hooks/useAutoSetHolderFilterParams.js.map +1 -1
- package/dist/utils/hooks/useChartQueryParams.js +2 -0
- package/dist/utils/hooks/useChartQueryParams.js.map +1 -1
- package/dist/utils/hooks/useContractDetail.d.ts +6 -0
- package/dist/utils/hooks/useContractDetail.js +12 -0
- package/dist/utils/hooks/useContractDetail.js.map +1 -0
- package/dist/utils/hooks/useDecodeFunctionData.d.ts +29 -0
- package/dist/utils/hooks/useDecodeFunctionData.js +19 -0
- package/dist/utils/hooks/useDecodeFunctionData.js.map +1 -0
- package/dist/utils/hooks/useDecodeFunctionError.d.ts +17 -0
- package/dist/utils/hooks/useDecodeFunctionError.js +19 -0
- package/dist/utils/hooks/useDecodeFunctionError.js.map +1 -0
- package/dist/utils/hooks/useDecodedDataType.d.ts +18 -0
- package/dist/utils/hooks/useDecodedDataType.js +8 -0
- package/dist/utils/hooks/useDecodedDataType.js.map +1 -0
- package/dist/utils/hooks/useENS.js +6 -5
- package/dist/utils/hooks/useGetTxnStatus.js +2 -0
- package/dist/utils/hooks/useGetTxnStatus.js.map +1 -1
- package/dist/utils/hooks/useMethodAbi.d.ts +8 -0
- package/dist/utils/hooks/useMethodAbi.js +12 -0
- package/dist/utils/hooks/useMethodAbi.js.map +1 -0
- package/dist/utils/hooks/useMultiAceSearch.js +2 -0
- package/dist/utils/hooks/useMultiAceSearch.js.map +1 -1
- package/dist/utils/hooks/useSearchParams.js +1 -0
- package/dist/utils/hooks/useTxTrace.d.ts +124 -0
- package/dist/utils/hooks/useTxTrace.js +170 -0
- package/dist/utils/hooks/useTxTrace.js.map +1 -0
- package/dist/utils/index.js +5 -4
- package/dist/utils/media.js +1 -0
- package/dist/utils/pubsub.js +1 -0
- package/dist/utils/request.d.ts +5 -2
- package/dist/utils/request.js +5 -2
- package/dist/utils/request.types.d.ts +18 -3
- package/dist/utils/rpcRequest.js +1 -0
- package/dist/utils/rpcRequest.js.map +1 -1
- package/dist/utils/sdk.d.ts +35 -0
- package/dist/utils/sdk.js +19 -0
- package/dist/utils/sdk.js.map +1 -0
- package/package.json +5 -2
- package/dist/chunk-HHA2RXLW.js.map +0 -1
- package/dist/chunk-LXTR4VAD.js.map +0 -1
- package/dist/chunk-S5QP6EUQ.js.map +0 -1
- package/dist/chunk-YEUH2K6Z.js.map +0 -1
- /package/dist/{chunk-ABDGDYRT.js.map → chunk-ADULNBMD.js.map} +0 -0
- /package/dist/{chunk-IIIPX34H.js.map → chunk-BUSBM33B.js.map} +0 -0
- /package/dist/{chunk-WI3G3OD5.js.map → chunk-CNF26YY7.js.map} +0 -0
- /package/dist/{chunk-DFQG46WD.js.map → chunk-CPPQCJEV.js.map} +0 -0
- /package/dist/{chunk-NUKYY7GO.js.map → chunk-DF3PVTB5.js.map} +0 -0
- /package/dist/{chunk-IWNT4XVY.js.map → chunk-GKZK26DZ.js.map} +0 -0
- /package/dist/{chunk-IQJOXINX.js.map → chunk-GSWIFV2B.js.map} +0 -0
- /package/dist/{chunk-2R6NJR5T.js.map → chunk-LVFMTP5H.js.map} +0 -0
- /package/dist/{chunk-U3F7QHXB.js.map → chunk-OCQIWTDC.js.map} +0 -0
- /package/dist/{chunk-EQWAYCW3.js.map → chunk-ODJ4QBD5.js.map} +0 -0
- /package/dist/{chunk-IWGPVXSI.js.map → chunk-P4EE3QGM.js.map} +0 -0
- /package/dist/{chunk-BRST23XX.js.map → chunk-Q2DX6IDH.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Age/index.tsx"],"sourcesContent":["import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { getDuration } from '../../utils';\nimport { Text } from '../Text';\nimport { getTranslations } from '../../store';\n\ninterface AgeProps {\n from: number;\n to?: number;\n retainDurations?: 1 | 2 | 3 | 4;\n}\nexport const Age = React.memo(({ from, to, retainDurations = 2 }: AgeProps) => {\n const translations = getTranslations();\n const { t } = useTranslation();\n const duration = getDuration(from, to);\n const str = [\n translations.general.countdown.day,\n translations.general.countdown.hour,\n translations.general.countdown.minute,\n translations.general.countdown.second,\n ];\n\n const label = duration.reduce(\n (acc, cur, index) => {\n // default max to retain 2 duration, and min to retain 1 duration\n if (Number(acc[1]) < retainDurations && (cur > 0 || index === 3)) {\n const next = t(str[index] || '', { count: cur });\n acc[0] = acc[0] ? `${acc[0]} ${next}` : `${next}`;\n acc[1] = Number(acc[1]) + 1;\n }\n return acc;\n },\n ['', 0],\n );\n\n const fullLabel = duration.reduce(\n (acc, cur, index) => {\n if (Number(acc[1]) < 4 && (cur > 0 || index === 3)) {\n const next = t(str[index] || '', { count: cur });\n acc[0] = acc[0] ? `${acc[0]} ${next}` : `${next}`;\n acc[1] = Number(acc[1]) + 1;\n }\n return acc;\n },\n ['', 0],\n );\n\n return (\n <Text\n tag=\"span\"\n hoverValue={`${fullLabel[0]} ${t(translations.general.countdown.ago)}`}\n >\n {label[0]} {t(translations.general.countdown.ago)}\n </Text>\n );\n});\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Age/index.tsx"],"sourcesContent":["import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { getDuration } from '../../utils';\nimport { Text } from '../Text';\nimport { getTranslations } from '../../store';\n\ninterface AgeProps {\n from: number;\n to?: number;\n retainDurations?: 1 | 2 | 3 | 4;\n}\nexport const Age = React.memo(({ from, to, retainDurations = 2 }: AgeProps) => {\n const translations = getTranslations();\n const { t } = useTranslation();\n const duration = getDuration(from, to);\n const str = [\n translations.general.countdown.day,\n translations.general.countdown.hour,\n translations.general.countdown.minute,\n translations.general.countdown.second,\n ];\n\n const label = duration.reduce(\n (acc, cur, index) => {\n // default max to retain 2 duration, and min to retain 1 duration\n if (Number(acc[1]) < retainDurations && (cur > 0 || index === 3)) {\n const next = t(str[index] || '', { count: cur });\n acc[0] = acc[0] ? `${acc[0]} ${next}` : `${next}`;\n acc[1] = Number(acc[1]) + 1;\n }\n return acc;\n },\n ['', 0],\n );\n\n const fullLabel = duration.reduce(\n (acc, cur, index) => {\n if (Number(acc[1]) < 4 && (cur > 0 || index === 3)) {\n const next = t(str[index] || '', { count: cur });\n acc[0] = acc[0] ? `${acc[0]} ${next}` : `${next}`;\n acc[1] = Number(acc[1]) + 1;\n }\n return acc;\n },\n ['', 0],\n );\n\n return (\n <Text\n tag=\"span\"\n hoverValue={`${fullLabel[0]} ${t(translations.general.countdown.ago)}`}\n >\n {label[0]} {t(translations.general.countdown.ago)}\n </Text>\n );\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,OAAO,WAAW;AAClB,SAAS,sBAAsB;AA+C3B;AArCG,IAAM,MAAM,MAAM,KAAK,CAAC,EAAE,MAAM,IAAI,kBAAkB,EAAE,MAAgB;AAC7E,QAAM,eAAe,gBAAgB;AACrC,QAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,QAAM,WAAW,YAAY,MAAM,EAAE;AACrC,QAAM,MAAM;AAAA,IACV,aAAa,QAAQ,UAAU;AAAA,IAC/B,aAAa,QAAQ,UAAU;AAAA,IAC/B,aAAa,QAAQ,UAAU;AAAA,IAC/B,aAAa,QAAQ,UAAU;AAAA,EACjC;AAEA,QAAM,QAAQ,SAAS;AAAA,IACrB,CAAC,KAAK,KAAK,UAAU;AAEnB,UAAI,OAAO,IAAI,CAAC,CAAC,IAAI,oBAAoB,MAAM,KAAK,UAAU,IAAI;AAChE,cAAM,OAAO,EAAE,IAAI,KAAK,KAAK,IAAI,EAAE,OAAO,IAAI,CAAC;AAC/C,YAAI,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,SAAS,GAAG;AAC3C,YAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,IAAI;AAAA,MAC5B;AACA,aAAO;AAAA,IACT;AAAA,IACA,CAAC,IAAI,CAAC;AAAA,EACR;AAEA,QAAM,YAAY,SAAS;AAAA,IACzB,CAAC,KAAK,KAAK,UAAU;AACnB,UAAI,OAAO,IAAI,CAAC,CAAC,IAAI,MAAM,MAAM,KAAK,UAAU,IAAI;AAClD,cAAM,OAAO,EAAE,IAAI,KAAK,KAAK,IAAI,EAAE,OAAO,IAAI,CAAC;AAC/C,YAAI,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,SAAS,GAAG;AAC3C,YAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,IAAI;AAAA,MAC5B;AACA,aAAO;AAAA,IACT;AAAA,IACA,CAAC,IAAI,CAAC;AAAA,EACR;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,KAAI;AAAA,MACJ,YAAY,GAAG,UAAU,CAAC,KAAK,EAAE,aAAa,QAAQ,UAAU,GAAG;AAAA,MAElE;AAAA,cAAM,CAAC;AAAA,QAAE;AAAA,QAAE,EAAE,aAAa,QAAQ,UAAU,GAAG;AAAA;AAAA;AAAA,EAClD;AAEJ,CAAC;","names":[]}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Popover
|
|
3
|
-
} from "../../chunk-
|
|
3
|
+
} from "../../chunk-LVFMTP5H.js";
|
|
4
4
|
import "../../chunk-BMO4IZHV.js";
|
|
5
5
|
import "../../chunk-LRCAKRPK.js";
|
|
6
|
-
import "../../chunk-
|
|
7
|
-
import "../../chunk-
|
|
8
|
-
import "../../chunk-
|
|
6
|
+
import "../../chunk-CPPQCJEV.js";
|
|
7
|
+
import "../../chunk-WIB76E7O.js";
|
|
8
|
+
import "../../chunk-5EDEEGZK.js";
|
|
9
9
|
import "../../chunk-J2I22Q2M.js";
|
|
10
|
-
import "../../chunk-
|
|
10
|
+
import "../../chunk-YEINMVAR.js";
|
|
11
11
|
import "../../chunk-DQGLZCIG.js";
|
|
12
|
+
import "../../chunk-WQG2LZMB.js";
|
|
12
13
|
|
|
13
14
|
// src/components/AutoComplete/index.tsx
|
|
14
15
|
import React, { useEffect, useState } from "react";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/AutoComplete/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { Popover } from '../Popover';\nimport clsx from 'clsx';\n\ninterface AutoCompleteProps {\n onChange: (value: string) => void;\n optionsClassName?: string;\n popoverClassName?: string;\n disabled?: boolean;\n options: {\n label: React.ReactNode;\n value: string;\n }[];\n prefix?: React.ReactNode;\n}\n\nconst AutoComplete: React.FC<\n AutoCompleteProps &\n Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'prefix'>\n> = ({\n onChange,\n options,\n disabled,\n optionsClassName,\n popoverClassName,\n className,\n prefix,\n ...props\n}) => {\n const [open, setOpen] = useState(false);\n const inputRef = React.useRef<HTMLInputElement>(null);\n useEffect(() => {\n if (open) {\n // fix input focus\n setTimeout(() => inputRef.current?.focus(), 30);\n }\n }, [open]);\n return (\n <Popover\n content={\n <div className=\"flex flex-col gap-8px\">\n {options.map(option => (\n <div\n className={clsx(\n 'cursor-pointer bg-[#fff] hover:bg-[#f1f3f5] min-w-80px',\n optionsClassName,\n )}\n key={option.value}\n onClick={() => {\n onChange(option.value);\n setOpen(false);\n }}\n >\n {option.label}\n </div>\n ))}\n </div>\n }\n containerClassName={popoverClassName}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n open={open}\n >\n <div\n className={clsx(\n 'inline-flex items-center border-1 border-solid border-[rgb(118,118,118)]',\n className,\n )}\n >\n {prefix}\n <input\n onChange={e => onChange(e.target.value)}\n ref={inputRef}\n className=\"w-0 flex-1 border-none outline-none\"\n {...props}\n />\n </div>\n </Popover>\n );\n};\n\nexport { AutoComplete };\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/AutoComplete/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { Popover } from '../Popover';\nimport clsx from 'clsx';\n\ninterface AutoCompleteProps {\n onChange: (value: string) => void;\n optionsClassName?: string;\n popoverClassName?: string;\n disabled?: boolean;\n options: {\n label: React.ReactNode;\n value: string;\n }[];\n prefix?: React.ReactNode;\n}\n\nconst AutoComplete: React.FC<\n AutoCompleteProps &\n Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'prefix'>\n> = ({\n onChange,\n options,\n disabled,\n optionsClassName,\n popoverClassName,\n className,\n prefix,\n ...props\n}) => {\n const [open, setOpen] = useState(false);\n const inputRef = React.useRef<HTMLInputElement>(null);\n useEffect(() => {\n if (open) {\n // fix input focus\n setTimeout(() => inputRef.current?.focus(), 30);\n }\n }, [open]);\n return (\n <Popover\n content={\n <div className=\"flex flex-col gap-8px\">\n {options.map(option => (\n <div\n className={clsx(\n 'cursor-pointer bg-[#fff] hover:bg-[#f1f3f5] min-w-80px',\n optionsClassName,\n )}\n key={option.value}\n onClick={() => {\n onChange(option.value);\n setOpen(false);\n }}\n >\n {option.label}\n </div>\n ))}\n </div>\n }\n containerClassName={popoverClassName}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n open={open}\n >\n <div\n className={clsx(\n 'inline-flex items-center border-1 border-solid border-[rgb(118,118,118)]',\n className,\n )}\n >\n {prefix}\n <input\n onChange={e => onChange(e.target.value)}\n ref={inputRef}\n className=\"w-0 flex-1 border-none outline-none\"\n {...props}\n />\n </div>\n </Popover>\n );\n};\n\nexport { AutoComplete };\n"],"mappings":";;;;;;;;;;;;;;AAAA,OAAO,SAAS,WAAW,gBAAgB;AAE3C,OAAO,UAAU;AAwCL,cAqBN,YArBM;AA1BZ,IAAM,eAGF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,KAAK;AACtC,QAAM,WAAW,MAAM,OAAyB,IAAI;AACpD,YAAU,MAAM;AACd,QAAI,MAAM;AAER,iBAAW,MAAM,SAAS,SAAS,MAAM,GAAG,EAAE;AAAA,IAChD;AAAA,EACF,GAAG,CAAC,IAAI,CAAC;AACT,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SACE,oBAAC,SAAI,WAAU,yBACZ,kBAAQ,IAAI,YACX;AAAA,QAAC;AAAA;AAAA,UACC,WAAW;AAAA,YACT;AAAA,YACA;AAAA,UACF;AAAA,UAEA,SAAS,MAAM;AACb,qBAAS,OAAO,KAAK;AACrB,oBAAQ,KAAK;AAAA,UACf;AAAA,UAEC,iBAAO;AAAA;AAAA,QANH,OAAO;AAAA,MAOd,CACD,GACH;AAAA,MAEF,oBAAoB;AAAA,MACpB,QAAQ,MAAM,QAAQ,IAAI;AAAA,MAC1B,SAAS,MAAM,QAAQ,KAAK;AAAA,MAC5B;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACC,WAAW;AAAA,YACT;AAAA,YACA;AAAA,UACF;AAAA,UAEC;AAAA;AAAA,YACD;AAAA,cAAC;AAAA;AAAA,gBACC,UAAU,OAAK,SAAS,EAAE,OAAO,KAAK;AAAA,gBACtC,KAAK;AAAA,gBACL,WAAU;AAAA,gBACT,GAAG;AAAA;AAAA,YACN;AAAA;AAAA;AAAA,MACF;AAAA;AAAA,EACF;AAEJ;","names":[]}
|
|
@@ -17,10 +17,11 @@ import {
|
|
|
17
17
|
} from "../../chunk-XGOIDR7R.js";
|
|
18
18
|
import {
|
|
19
19
|
sendRequestChart
|
|
20
|
-
} from "../../chunk-
|
|
20
|
+
} from "../../chunk-5EDEEGZK.js";
|
|
21
21
|
import "../../chunk-J2I22Q2M.js";
|
|
22
|
-
import "../../chunk-
|
|
22
|
+
import "../../chunk-YEINMVAR.js";
|
|
23
23
|
import "../../chunk-DQGLZCIG.js";
|
|
24
|
+
import "../../chunk-WQG2LZMB.js";
|
|
24
25
|
|
|
25
26
|
// src/components/Charts/PreviewChartTemplate.tsx
|
|
26
27
|
import { useEffect, useRef, useCallback } from "react";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Charts/PreviewChartTemplate.tsx"],"sourcesContent":["import { useEffect, useRef, useCallback } from 'react';\nimport Highcharts from 'highcharts/highstock';\nimport HighchartsReact from 'highcharts-react-official';\nimport useSWR from 'swr';\nimport PreviewTitle from './PreviewTitle';\nimport { sendRequestChart } from '../../utils/request';\nimport lodash from 'lodash';\nimport {\n ChartsProps,\n optsOrigin,\n previewOpts,\n defaultLimit,\n defaultIntervalType,\n ConstructorType,\n minTimestamp,\n} from './config';\nimport { useHighCharts } from './useHighCharts';\n\nexport function PreviewChartTemplate({ options, request }: ChartsProps) {\n const chart = useRef(null);\n const limit = request?.query?.limit || defaultLimit;\n const intervalType = request?.query?.intervalType || defaultIntervalType;\n\n const sendRequestCallback = useCallback(() => {\n return sendRequestChart({\n url: request.url,\n query: {\n ...request.query,\n limit: limit === 'all' ? undefined : limit,\n minTimestamp,\n intervalType,\n },\n });\n }, [request.url, request.query, intervalType, limit]);\n\n const { data, isLoading } = useSWR(\n request.url + intervalType + limit,\n sendRequestCallback,\n {\n revalidateOnFocus: false,\n },\n );\n\n useHighCharts(chart);\n\n useEffect(() => {\n if (isLoading) {\n // @ts-ignore\n chart.current?.chart.showLoading();\n } else {\n // @ts-ignore\n chart.current?.chart.hideLoading();\n }\n }, [isLoading]);\n\n const optsOrigins = optsOrigin({ options, request, data });\n const opts = lodash.merge(optsOrigins, options, previewOpts);\n opts.intervalType = { value: intervalType };\n const constructorType = ConstructorType({ options, request });\n return (\n <div className=\"bg-[#FFFFFF] border border-[#E5E5E5] rounded-lg shadow-sm\">\n <PreviewTitle header={opts.header}></PreviewTitle>\n <div className=\"p-[1.2857rem]\">\n <HighchartsReact\n constructorType={constructorType}\n highcharts={Highcharts}\n options={opts}\n ref={chart}\n />\n </div>\n </div>\n );\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Charts/PreviewChartTemplate.tsx"],"sourcesContent":["import { useEffect, useRef, useCallback } from 'react';\nimport Highcharts from 'highcharts/highstock';\nimport HighchartsReact from 'highcharts-react-official';\nimport useSWR from 'swr';\nimport PreviewTitle from './PreviewTitle';\nimport { sendRequestChart } from '../../utils/request';\nimport lodash from 'lodash';\nimport {\n ChartsProps,\n optsOrigin,\n previewOpts,\n defaultLimit,\n defaultIntervalType,\n ConstructorType,\n minTimestamp,\n} from './config';\nimport { useHighCharts } from './useHighCharts';\n\nexport function PreviewChartTemplate({ options, request }: ChartsProps) {\n const chart = useRef(null);\n const limit = request?.query?.limit || defaultLimit;\n const intervalType = request?.query?.intervalType || defaultIntervalType;\n\n const sendRequestCallback = useCallback(() => {\n return sendRequestChart({\n url: request.url,\n query: {\n ...request.query,\n limit: limit === 'all' ? undefined : limit,\n minTimestamp,\n intervalType,\n },\n });\n }, [request.url, request.query, intervalType, limit]);\n\n const { data, isLoading } = useSWR(\n request.url + intervalType + limit,\n sendRequestCallback,\n {\n revalidateOnFocus: false,\n },\n );\n\n useHighCharts(chart);\n\n useEffect(() => {\n if (isLoading) {\n // @ts-ignore\n chart.current?.chart.showLoading();\n } else {\n // @ts-ignore\n chart.current?.chart.hideLoading();\n }\n }, [isLoading]);\n\n const optsOrigins = optsOrigin({ options, request, data });\n const opts = lodash.merge(optsOrigins, options, previewOpts);\n opts.intervalType = { value: intervalType };\n const constructorType = ConstructorType({ options, request });\n return (\n <div className=\"bg-[#FFFFFF] border border-[#E5E5E5] rounded-lg shadow-sm\">\n <PreviewTitle header={opts.header}></PreviewTitle>\n <div className=\"p-[1.2857rem]\">\n <HighchartsReact\n constructorType={constructorType}\n highcharts={Highcharts}\n options={opts}\n ref={chart}\n />\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,WAAW,QAAQ,mBAAmB;AAC/C,OAAO,gBAAgB;AACvB,OAAO,qBAAqB;AAC5B,OAAO,YAAY;AAGnB,OAAO,YAAY;AAsDf,SACE,KADF;AA1CG,SAAS,qBAAqB,EAAE,SAAS,QAAQ,GAAgB;AACtE,QAAM,QAAQ,OAAO,IAAI;AACzB,QAAM,QAAQ,SAAS,OAAO,SAAS;AACvC,QAAM,eAAe,SAAS,OAAO,gBAAgB;AAErD,QAAM,sBAAsB,YAAY,MAAM;AAC5C,WAAO,iBAAiB;AAAA,MACtB,KAAK,QAAQ;AAAA,MACb,OAAO;AAAA,QACL,GAAG,QAAQ;AAAA,QACX,OAAO,UAAU,QAAQ,SAAY;AAAA,QACrC;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH,GAAG,CAAC,QAAQ,KAAK,QAAQ,OAAO,cAAc,KAAK,CAAC;AAEpD,QAAM,EAAE,MAAM,UAAU,IAAI;AAAA,IAC1B,QAAQ,MAAM,eAAe;AAAA,IAC7B;AAAA,IACA;AAAA,MACE,mBAAmB;AAAA,IACrB;AAAA,EACF;AAEA,gBAAc,KAAK;AAEnB,YAAU,MAAM;AACd,QAAI,WAAW;AAEb,YAAM,SAAS,MAAM,YAAY;AAAA,IACnC,OAAO;AAEL,YAAM,SAAS,MAAM,YAAY;AAAA,IACnC;AAAA,EACF,GAAG,CAAC,SAAS,CAAC;AAEd,QAAM,cAAc,WAAW,EAAE,SAAS,SAAS,KAAK,CAAC;AACzD,QAAM,OAAO,OAAO,MAAM,aAAa,SAAS,WAAW;AAC3D,OAAK,eAAe,EAAE,OAAO,aAAa;AAC1C,QAAM,kBAAkB,gBAAgB,EAAE,SAAS,QAAQ,CAAC;AAC5D,SACE,qBAAC,SAAI,WAAU,6DACb;AAAA,wBAAC,wBAAa,QAAQ,KAAK,QAAQ;AAAA,IACnC,oBAAC,SAAI,WAAU,iBACb;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,YAAY;AAAA,QACZ,SAAS;AAAA,QACT,KAAK;AAAA;AAAA,IACP,GACF;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
} from "../../chunk-
|
|
2
|
+
BreadcrumbNav_default
|
|
3
|
+
} from "../../chunk-V3GMPX56.js";
|
|
4
|
+
import {
|
|
5
|
+
ChartOptions_default
|
|
6
|
+
} from "../../chunk-XMBEB34D.js";
|
|
4
7
|
import {
|
|
5
8
|
useHighCharts
|
|
6
9
|
} from "../../chunk-HQA7I4SW.js";
|
|
7
10
|
import "../../chunk-PHT26KYE.js";
|
|
8
|
-
import {
|
|
9
|
-
BreadcrumbNav_default
|
|
10
|
-
} from "../../chunk-V3GMPX56.js";
|
|
11
11
|
import "../../chunk-2Y57U43P.js";
|
|
12
12
|
import "../../chunk-TGK5LP2H.js";
|
|
13
13
|
import {
|
|
14
|
-
|
|
15
|
-
} from "../../chunk-
|
|
14
|
+
StockTitle_default
|
|
15
|
+
} from "../../chunk-PTT2OZV4.js";
|
|
16
16
|
import {
|
|
17
17
|
ConstructorType,
|
|
18
18
|
defaultIntervalType,
|
|
@@ -22,10 +22,11 @@ import {
|
|
|
22
22
|
} from "../../chunk-XGOIDR7R.js";
|
|
23
23
|
import {
|
|
24
24
|
sendRequestChart
|
|
25
|
-
} from "../../chunk-
|
|
25
|
+
} from "../../chunk-5EDEEGZK.js";
|
|
26
26
|
import "../../chunk-J2I22Q2M.js";
|
|
27
|
-
import "../../chunk-
|
|
27
|
+
import "../../chunk-YEINMVAR.js";
|
|
28
28
|
import "../../chunk-DQGLZCIG.js";
|
|
29
|
+
import "../../chunk-WQG2LZMB.js";
|
|
29
30
|
|
|
30
31
|
// src/components/Charts/StockChartTemplate.tsx
|
|
31
32
|
import { useState, useEffect, useRef, useCallback } from "react";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Charts/StockChartTemplate.tsx"],"sourcesContent":["import { useState, useEffect, useRef, useCallback } from 'react';\nimport Highcharts from 'highcharts/highstock';\nimport HighchartsReact from 'highcharts-react-official';\nimport Exporting from 'highcharts/modules/exporting';\nimport ExportData from 'highcharts/modules/export-data';\nimport useSWR from 'swr';\nimport { sendRequestChart } from '../../utils/request';\nimport StockTitle from './StockTitle';\nimport BreadcrumbNav from './BreadcrumbNav';\nimport ChartOptions from './ChartOptions';\nimport lodash from 'lodash';\nimport {\n ChartsProps,\n optsOrigin,\n defaultLimit,\n defaultIntervalType,\n ScopeType,\n onCombination,\n ConstructorType,\n minTimestamp,\n} from './config';\nimport { useHighCharts } from './useHighCharts';\n\nExporting(Highcharts);\nExportData(Highcharts);\n\nexport function StockChartTemplate({ options, request }: ChartsProps) {\n const chart = useRef<HighchartsReact.RefObject>(null);\n const [limit, setLimit] = useState(request?.query?.limit || defaultLimit);\n const [intervalType, setIntervalType] = useState<keyof ScopeType>(\n (request?.query?.intervalType as keyof ScopeType) || defaultIntervalType,\n );\n\n const sendRequestCallback = useCallback(() => {\n return sendRequestChart({\n url: request.url,\n query: {\n ...request.query,\n limit: limit === 'all' ? undefined : limit,\n minTimestamp,\n intervalType: intervalType,\n },\n });\n }, [request.url, request.query, intervalType, limit]);\n\n const { data, isLoading } = useSWR(\n request.url + intervalType + limit,\n sendRequestCallback,\n {\n revalidateOnFocus: false,\n },\n );\n\n useHighCharts(chart);\n\n const handleCombination: onCombination = (type, limit) => {\n // @ts-ignore\n // chart.current?.chart.xAxis[0].setExtremes(null, null);\n\n if (type) setIntervalType(type);\n if (limit) setLimit(limit);\n };\n\n useEffect(() => {\n if (isLoading) {\n chart.current?.chart.showLoading();\n } else {\n chart.current?.chart.hideLoading();\n }\n }, [isLoading]);\n\n const optsOrigins = optsOrigin({ options, request, data });\n const opts = lodash.merge(optsOrigins, options);\n opts.intervalType = { value: intervalType };\n const constructorType = ConstructorType({ options, request });\n return (\n <div>\n {opts.header.breadcrumbShow !== false ? (\n <BreadcrumbNav breadcrumb={opts.header.breadcrumb}></BreadcrumbNav>\n ) : (\n <></>\n )}\n {opts.header.titleShow !== false ? (\n <StockTitle header={opts.header}></StockTitle>\n ) : (\n <></>\n )}\n <div\n className=\"bg-[#FFF] relative p-[1.2857rem] rounded-[4px] color-[#333]\"\n style={{ boxShadow: 'rgba(20, 27, 50, 0.12) 0.8571rem' }}\n >\n {opts.header.optionShow !== false ? (\n <ChartOptions\n intervalScope={opts.intervalScope}\n intervalType={intervalType}\n limit={limit}\n onCombination={handleCombination}\n />\n ) : (\n <></>\n )}\n\n <HighchartsReact\n constructorType={constructorType}\n highcharts={Highcharts}\n options={opts}\n ref={chart}\n />\n </div>\n </div>\n );\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Charts/StockChartTemplate.tsx"],"sourcesContent":["import { useState, useEffect, useRef, useCallback } from 'react';\nimport Highcharts from 'highcharts/highstock';\nimport HighchartsReact from 'highcharts-react-official';\nimport Exporting from 'highcharts/modules/exporting';\nimport ExportData from 'highcharts/modules/export-data';\nimport useSWR from 'swr';\nimport { sendRequestChart } from '../../utils/request';\nimport StockTitle from './StockTitle';\nimport BreadcrumbNav from './BreadcrumbNav';\nimport ChartOptions from './ChartOptions';\nimport lodash from 'lodash';\nimport {\n ChartsProps,\n optsOrigin,\n defaultLimit,\n defaultIntervalType,\n ScopeType,\n onCombination,\n ConstructorType,\n minTimestamp,\n} from './config';\nimport { useHighCharts } from './useHighCharts';\n\nExporting(Highcharts);\nExportData(Highcharts);\n\nexport function StockChartTemplate({ options, request }: ChartsProps) {\n const chart = useRef<HighchartsReact.RefObject>(null);\n const [limit, setLimit] = useState(request?.query?.limit || defaultLimit);\n const [intervalType, setIntervalType] = useState<keyof ScopeType>(\n (request?.query?.intervalType as keyof ScopeType) || defaultIntervalType,\n );\n\n const sendRequestCallback = useCallback(() => {\n return sendRequestChart({\n url: request.url,\n query: {\n ...request.query,\n limit: limit === 'all' ? undefined : limit,\n minTimestamp,\n intervalType: intervalType,\n },\n });\n }, [request.url, request.query, intervalType, limit]);\n\n const { data, isLoading } = useSWR(\n request.url + intervalType + limit,\n sendRequestCallback,\n {\n revalidateOnFocus: false,\n },\n );\n\n useHighCharts(chart);\n\n const handleCombination: onCombination = (type, limit) => {\n // @ts-ignore\n // chart.current?.chart.xAxis[0].setExtremes(null, null);\n\n if (type) setIntervalType(type);\n if (limit) setLimit(limit);\n };\n\n useEffect(() => {\n if (isLoading) {\n chart.current?.chart.showLoading();\n } else {\n chart.current?.chart.hideLoading();\n }\n }, [isLoading]);\n\n const optsOrigins = optsOrigin({ options, request, data });\n const opts = lodash.merge(optsOrigins, options);\n opts.intervalType = { value: intervalType };\n const constructorType = ConstructorType({ options, request });\n return (\n <div>\n {opts.header.breadcrumbShow !== false ? (\n <BreadcrumbNav breadcrumb={opts.header.breadcrumb}></BreadcrumbNav>\n ) : (\n <></>\n )}\n {opts.header.titleShow !== false ? (\n <StockTitle header={opts.header}></StockTitle>\n ) : (\n <></>\n )}\n <div\n className=\"bg-[#FFF] relative p-[1.2857rem] rounded-[4px] color-[#333]\"\n style={{ boxShadow: 'rgba(20, 27, 50, 0.12) 0.8571rem' }}\n >\n {opts.header.optionShow !== false ? (\n <ChartOptions\n intervalScope={opts.intervalScope}\n intervalType={intervalType}\n limit={limit}\n onCombination={handleCombination}\n />\n ) : (\n <></>\n )}\n\n <HighchartsReact\n constructorType={constructorType}\n highcharts={Highcharts}\n options={opts}\n ref={chart}\n />\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,UAAU,WAAW,QAAQ,mBAAmB;AACzD,OAAO,gBAAgB;AACvB,OAAO,qBAAqB;AAC5B,OAAO,eAAe;AACtB,OAAO,gBAAgB;AACvB,OAAO,YAAY;AAKnB,OAAO,YAAY;AAoEX,SAEA,UAFA,KASF,YATE;AAvDR,UAAU,UAAU;AACpB,WAAW,UAAU;AAEd,SAAS,mBAAmB,EAAE,SAAS,QAAQ,GAAgB;AACpE,QAAM,QAAQ,OAAkC,IAAI;AACpD,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAS,SAAS,OAAO,SAAS,YAAY;AACxE,QAAM,CAAC,cAAc,eAAe,IAAI;AAAA,IACrC,SAAS,OAAO,gBAAoC;AAAA,EACvD;AAEA,QAAM,sBAAsB,YAAY,MAAM;AAC5C,WAAO,iBAAiB;AAAA,MACtB,KAAK,QAAQ;AAAA,MACb,OAAO;AAAA,QACL,GAAG,QAAQ;AAAA,QACX,OAAO,UAAU,QAAQ,SAAY;AAAA,QACrC;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH,GAAG,CAAC,QAAQ,KAAK,QAAQ,OAAO,cAAc,KAAK,CAAC;AAEpD,QAAM,EAAE,MAAM,UAAU,IAAI;AAAA,IAC1B,QAAQ,MAAM,eAAe;AAAA,IAC7B;AAAA,IACA;AAAA,MACE,mBAAmB;AAAA,IACrB;AAAA,EACF;AAEA,gBAAc,KAAK;AAEnB,QAAM,oBAAmC,CAAC,MAAMA,WAAU;AAIxD,QAAI;AAAM,sBAAgB,IAAI;AAC9B,QAAIA;AAAO,eAASA,MAAK;AAAA,EAC3B;AAEA,YAAU,MAAM;AACd,QAAI,WAAW;AACb,YAAM,SAAS,MAAM,YAAY;AAAA,IACnC,OAAO;AACL,YAAM,SAAS,MAAM,YAAY;AAAA,IACnC;AAAA,EACF,GAAG,CAAC,SAAS,CAAC;AAEd,QAAM,cAAc,WAAW,EAAE,SAAS,SAAS,KAAK,CAAC;AACzD,QAAM,OAAO,OAAO,MAAM,aAAa,OAAO;AAC9C,OAAK,eAAe,EAAE,OAAO,aAAa;AAC1C,QAAM,kBAAkB,gBAAgB,EAAE,SAAS,QAAQ,CAAC;AAC5D,SACE,qBAAC,SACE;AAAA,SAAK,OAAO,mBAAmB,QAC9B,oBAAC,yBAAc,YAAY,KAAK,OAAO,YAAY,IAEnD,gCAAE;AAAA,IAEH,KAAK,OAAO,cAAc,QACzB,oBAAC,sBAAW,QAAQ,KAAK,QAAQ,IAEjC,gCAAE;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,OAAO,EAAE,WAAW,mCAAmC;AAAA,QAEtD;AAAA,eAAK,OAAO,eAAe,QAC1B;AAAA,YAAC;AAAA;AAAA,cACC,eAAe,KAAK;AAAA,cACpB;AAAA,cACA;AAAA,cACA,eAAe;AAAA;AAAA,UACjB,IAEA,gCAAE;AAAA,UAGJ;AAAA,YAAC;AAAA;AAAA,cACC;AAAA,cACA,YAAY;AAAA,cACZ,SAAS;AAAA,cACT,KAAK;AAAA;AAAA,UACP;AAAA;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;","names":["limit"]}
|
|
@@ -4,10 +4,11 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
CookieIcon
|
|
6
6
|
} from "../../chunk-HI4CUQ7A.js";
|
|
7
|
-
import "../../chunk-
|
|
7
|
+
import "../../chunk-WIB76E7O.js";
|
|
8
8
|
import {
|
|
9
9
|
useI18n
|
|
10
10
|
} from "../../chunk-DQGLZCIG.js";
|
|
11
|
+
import "../../chunk-WQG2LZMB.js";
|
|
11
12
|
|
|
12
13
|
// src/components/CookieTip/index.tsx
|
|
13
14
|
import React, { useState } from "react";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/CookieTip/index.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport docCookies from '../../utils/cookie';\nimport { useI18n } from '../../store';\nimport { LOCALSTORAGE_KEYS_MAP } from '../../utils/constants';\nimport { CookieIcon } from './CookieIcon';\n\nexport const CookieTip = React.memo(() => {\n const { translations } = useI18n();\n const { t } = useTranslation();\n const [cookieAgreed, setCookieAgreed] = useState(\n !!docCookies.getItem(LOCALSTORAGE_KEYS_MAP.cookieAgreed) ||\n !!localStorage.getItem(LOCALSTORAGE_KEYS_MAP.cookieAgreed),\n );\n const agreeCookie = () => {\n docCookies.setItem(LOCALSTORAGE_KEYS_MAP.cookieAgreed, 'true', Infinity);\n // for safari https://github.com/js-cookie/js-cookie/wiki/Frequently-Asked-Questions#why-is-my-expiration-time-capped-at-7-days-or-24-hours\n localStorage.setItem(LOCALSTORAGE_KEYS_MAP.cookieAgreed, 'true');\n setCookieAgreed(true);\n };\n return cookieAgreed ? null : (\n <div className=\"fixed left-0 right-0 bottom-0 p-21px lh-30px text-center text-14px text-#fff bg-#282e44\">\n <CookieIcon className=\"w-20px h-20px mr-10px\" />\n <span\n dangerouslySetInnerHTML={{\n __html: t(translations.footer.cookie),\n }}\n className=\"[&>a]:text-#ddd [&>a]:border-b [&>a]:border-#ddd [&>a]:hover:border-#fff [&>a]:hover:text-#fff\"\n />\n <span\n className=\"inline-block ml-10px w-87px h-30px bg-#f9fafb text-#000 cursor-pointer rounded-2px font-medium text-center uppercase\"\n onClick={agreeCookie}\n >\n {t(translations.footer.cookieAgree)}\n </span>\n </div>\n );\n});\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/CookieTip/index.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport docCookies from '../../utils/cookie';\nimport { useI18n } from '../../store';\nimport { LOCALSTORAGE_KEYS_MAP } from '../../utils/constants';\nimport { CookieIcon } from './CookieIcon';\n\nexport const CookieTip = React.memo(() => {\n const { translations } = useI18n();\n const { t } = useTranslation();\n const [cookieAgreed, setCookieAgreed] = useState(\n !!docCookies.getItem(LOCALSTORAGE_KEYS_MAP.cookieAgreed) ||\n !!localStorage.getItem(LOCALSTORAGE_KEYS_MAP.cookieAgreed),\n );\n const agreeCookie = () => {\n docCookies.setItem(LOCALSTORAGE_KEYS_MAP.cookieAgreed, 'true', Infinity);\n // for safari https://github.com/js-cookie/js-cookie/wiki/Frequently-Asked-Questions#why-is-my-expiration-time-capped-at-7-days-or-24-hours\n localStorage.setItem(LOCALSTORAGE_KEYS_MAP.cookieAgreed, 'true');\n setCookieAgreed(true);\n };\n return cookieAgreed ? null : (\n <div className=\"fixed left-0 right-0 bottom-0 p-21px lh-30px text-center text-14px text-#fff bg-#282e44\">\n <CookieIcon className=\"w-20px h-20px mr-10px\" />\n <span\n dangerouslySetInnerHTML={{\n __html: t(translations.footer.cookie),\n }}\n className=\"[&>a]:text-#ddd [&>a]:border-b [&>a]:border-#ddd [&>a]:hover:border-#fff [&>a]:hover:text-#fff\"\n />\n <span\n className=\"inline-block ml-10px w-87px h-30px bg-#f9fafb text-#000 cursor-pointer rounded-2px font-medium text-center uppercase\"\n onClick={agreeCookie}\n >\n {t(translations.footer.cookieAgree)}\n </span>\n </div>\n );\n});\n"],"mappings":";;;;;;;;;;;;;AAAA,OAAO,SAAS,gBAAgB;AAChC,SAAS,sBAAsB;AAoB3B,SACE,KADF;AAdG,IAAM,YAAY,MAAM,KAAK,MAAM;AACxC,QAAM,EAAE,aAAa,IAAI,QAAQ;AACjC,QAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,QAAM,CAAC,cAAc,eAAe,IAAI;AAAA,IACtC,CAAC,CAAC,eAAW,sDAA0C,KACrD,CAAC,CAAC,aAAa,sDAA0C;AAAA,EAC7D;AACA,QAAM,cAAc,MAAM;AACxB,mBAAW,wDAA4C,QAAQ,QAAQ;AAEvE,iBAAa,wDAA4C,MAAM;AAC/D,oBAAgB,IAAI;AAAA,EACtB;AACA,SAAO,eAAe,OACpB,qBAAC,SAAI,WAAU,2FACb;AAAA,wBAAC,cAAW,WAAU,yBAAwB;AAAA,IAC9C;AAAA,MAAC;AAAA;AAAA,QACC,yBAAyB;AAAA,UACvB,QAAQ,EAAE,aAAa,OAAO,MAAM;AAAA,QACtC;AAAA,QACA,WAAU;AAAA;AAAA,IACZ;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,SAAS;AAAA,QAER,YAAE,aAAa,OAAO,WAAW;AAAA;AAAA,IACpC;AAAA,KACF;AAEJ,CAAC;","names":[]}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Tooltip
|
|
3
|
-
} from "../../chunk-
|
|
3
|
+
} from "../../chunk-DF3PVTB5.js";
|
|
4
4
|
import "../../chunk-BMO4IZHV.js";
|
|
5
5
|
import "../../chunk-LRCAKRPK.js";
|
|
6
|
-
import "../../chunk-
|
|
7
|
-
import "../../chunk-
|
|
8
|
-
import "../../chunk-
|
|
6
|
+
import "../../chunk-CPPQCJEV.js";
|
|
7
|
+
import "../../chunk-WIB76E7O.js";
|
|
8
|
+
import "../../chunk-5EDEEGZK.js";
|
|
9
9
|
import "../../chunk-J2I22Q2M.js";
|
|
10
|
-
import "../../chunk-
|
|
10
|
+
import "../../chunk-YEINMVAR.js";
|
|
11
11
|
import {
|
|
12
12
|
useI18n
|
|
13
13
|
} from "../../chunk-DQGLZCIG.js";
|
|
14
|
+
import "../../chunk-WQG2LZMB.js";
|
|
14
15
|
|
|
15
16
|
// src/components/CopyButton/index.tsx
|
|
16
17
|
import React, { useState } from "react";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/CopyButton/index.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Tooltip } from '../Tooltip';\nimport { useI18n } from '../../store';\n\ninterface CopyButtonProps {\n size?: number;\n copyText: string;\n tooltipText?: string;\n className?: string;\n color?: string;\n}\n\nexport const CopyButton = React.memo(\n ({ size, copyText, tooltipText, className, color }: CopyButtonProps) => {\n const { translations } = useI18n();\n const { t } = useTranslation();\n const [text, setText] = useState(\n tooltipText || t(translations.general.copyButton.copyToClipboard),\n );\n const handleClick = () => {\n const oInput = document.createElement('input');\n oInput.value = copyText;\n document.body.appendChild(oInput);\n oInput.select();\n const copyResult = document.execCommand('copy');\n document.body.removeChild(oInput);\n if (copyResult) {\n setText(t(translations.general.copyButton.success));\n } else {\n setText(t(translations.general.copyButton.failed));\n }\n };\n\n const handleClose = () => {\n setText(\n tooltipText || t(translations.general.copyButton.copyToClipboard),\n );\n };\n return (\n <Tooltip\n title={text}\n onClose={handleClose}\n closeOnPointerDown={false}\n positioning={{ placement: 'top-start' }}\n className=\"inline-flex items-center\"\n >\n <div onClick={handleClick} className=\"cursor-pointer flex\">\n <svg\n className={`icon ${className}`}\n viewBox=\"0 0 1024 1024\"\n width={size || 12}\n height={size || 12}\n >\n <defs>\n <style type=\"text/css\" />\n </defs>\n <path\n fill={color || '#4b4b4b'}\n d=\"M967.552 760.448H304.896a41.472 41.472 0 0 1-41.344-41.344V56.32c0-22.912 18.56-41.344 41.344-41.344H967.68c22.912 0 41.344 18.432 41.344 41.344v662.656a41.472 41.472 0 0 1-41.344 41.344z m-621.184-82.816h579.84V97.792h-579.84v579.84z\"\n />\n <path\n fill={color || '#4b4b4b'}\n d=\"M719.104 1008.896H56.32a41.472 41.472 0 0 1-41.344-41.344V304.896c0-22.784 18.432-41.344 41.344-41.344h124.16v82.816H98.048v579.84h579.84V847.36h82.688v120.064a41.472 41.472 0 0 1-41.344 41.344z\"\n />\n </svg>\n </div>\n </Tooltip>\n );\n },\n);\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/CopyButton/index.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Tooltip } from '../Tooltip';\nimport { useI18n } from '../../store';\n\ninterface CopyButtonProps {\n size?: number;\n copyText: string;\n tooltipText?: string;\n className?: string;\n color?: string;\n}\n\nexport const CopyButton = React.memo(\n ({ size, copyText, tooltipText, className, color }: CopyButtonProps) => {\n const { translations } = useI18n();\n const { t } = useTranslation();\n const [text, setText] = useState(\n tooltipText || t(translations.general.copyButton.copyToClipboard),\n );\n const handleClick = () => {\n const oInput = document.createElement('input');\n oInput.value = copyText;\n document.body.appendChild(oInput);\n oInput.select();\n const copyResult = document.execCommand('copy');\n document.body.removeChild(oInput);\n if (copyResult) {\n setText(t(translations.general.copyButton.success));\n } else {\n setText(t(translations.general.copyButton.failed));\n }\n };\n\n const handleClose = () => {\n setText(\n tooltipText || t(translations.general.copyButton.copyToClipboard),\n );\n };\n return (\n <Tooltip\n title={text}\n onClose={handleClose}\n closeOnPointerDown={false}\n positioning={{ placement: 'top-start' }}\n className=\"inline-flex items-center\"\n >\n <div onClick={handleClick} className=\"cursor-pointer flex\">\n <svg\n className={`icon ${className}`}\n viewBox=\"0 0 1024 1024\"\n width={size || 12}\n height={size || 12}\n >\n <defs>\n <style type=\"text/css\" />\n </defs>\n <path\n fill={color || '#4b4b4b'}\n d=\"M967.552 760.448H304.896a41.472 41.472 0 0 1-41.344-41.344V56.32c0-22.912 18.56-41.344 41.344-41.344H967.68c22.912 0 41.344 18.432 41.344 41.344v662.656a41.472 41.472 0 0 1-41.344 41.344z m-621.184-82.816h579.84V97.792h-579.84v579.84z\"\n />\n <path\n fill={color || '#4b4b4b'}\n d=\"M719.104 1008.896H56.32a41.472 41.472 0 0 1-41.344-41.344V304.896c0-22.784 18.432-41.344 41.344-41.344h124.16v82.816H98.048v579.84h579.84V847.36h82.688v120.064a41.472 41.472 0 0 1-41.344 41.344z\"\n />\n </svg>\n </div>\n </Tooltip>\n );\n },\n);\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAO,SAAS,gBAAgB;AAChC,SAAS,sBAAsB;AA+CrB,SAOI,KAPJ;AAnCH,IAAM,aAAa,MAAM;AAAA,EAC9B,CAAC,EAAE,MAAM,UAAU,aAAa,WAAW,MAAM,MAAuB;AACtE,UAAM,EAAE,aAAa,IAAI,QAAQ;AACjC,UAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,UAAM,CAAC,MAAM,OAAO,IAAI;AAAA,MACtB,eAAe,EAAE,aAAa,QAAQ,WAAW,eAAe;AAAA,IAClE;AACA,UAAM,cAAc,MAAM;AACxB,YAAM,SAAS,SAAS,cAAc,OAAO;AAC7C,aAAO,QAAQ;AACf,eAAS,KAAK,YAAY,MAAM;AAChC,aAAO,OAAO;AACd,YAAM,aAAa,SAAS,YAAY,MAAM;AAC9C,eAAS,KAAK,YAAY,MAAM;AAChC,UAAI,YAAY;AACd,gBAAQ,EAAE,aAAa,QAAQ,WAAW,OAAO,CAAC;AAAA,MACpD,OAAO;AACL,gBAAQ,EAAE,aAAa,QAAQ,WAAW,MAAM,CAAC;AAAA,MACnD;AAAA,IACF;AAEA,UAAM,cAAc,MAAM;AACxB;AAAA,QACE,eAAe,EAAE,aAAa,QAAQ,WAAW,eAAe;AAAA,MAClE;AAAA,IACF;AACA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,QACP,SAAS;AAAA,QACT,oBAAoB;AAAA,QACpB,aAAa,EAAE,WAAW,YAAY;AAAA,QACtC,WAAU;AAAA,QAEV,8BAAC,SAAI,SAAS,aAAa,WAAU,uBACnC;AAAA,UAAC;AAAA;AAAA,YACC,WAAW,QAAQ;AAAA,YACnB,SAAQ;AAAA,YACR,OAAO,QAAQ;AAAA,YACf,QAAQ,QAAQ;AAAA,YAEhB;AAAA,kCAAC,UACC,8BAAC,WAAM,MAAK,YAAW,GACzB;AAAA,cACA;AAAA,gBAAC;AAAA;AAAA,kBACC,MAAM,SAAS;AAAA,kBACf,GAAE;AAAA;AAAA,cACJ;AAAA,cACA;AAAA,gBAAC;AAAA;AAAA,kBACC,MAAM,SAAS;AAAA,kBACf,GAAE;AAAA;AAAA,cACJ;AAAA;AAAA;AAAA,QACF,GACF;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;","names":[]}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Popover
|
|
3
|
-
} from "../../chunk-
|
|
3
|
+
} from "../../chunk-LVFMTP5H.js";
|
|
4
4
|
import "../../chunk-BMO4IZHV.js";
|
|
5
5
|
import "../../chunk-LRCAKRPK.js";
|
|
6
|
-
import "../../chunk-
|
|
7
|
-
import "../../chunk-
|
|
8
|
-
import "../../chunk-
|
|
6
|
+
import "../../chunk-CPPQCJEV.js";
|
|
7
|
+
import "../../chunk-WIB76E7O.js";
|
|
8
|
+
import "../../chunk-5EDEEGZK.js";
|
|
9
9
|
import "../../chunk-J2I22Q2M.js";
|
|
10
|
-
import "../../chunk-
|
|
10
|
+
import "../../chunk-YEINMVAR.js";
|
|
11
11
|
import "../../chunk-DQGLZCIG.js";
|
|
12
|
+
import "../../chunk-WQG2LZMB.js";
|
|
12
13
|
|
|
13
14
|
// src/components/DecimalsSelect/index.tsx
|
|
14
15
|
import { useState } from "react";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/DecimalsSelect/index.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport clsx from 'clsx';\nimport { Popover } from '../Popover';\nimport { Check, ChevronUp } from 'lucide-react';\n\nconst Value: React.FC<{\n value?: number;\n mode: 'decimals' | 'pow';\n}> = ({ mode, value }) => {\n if (mode === 'pow')\n return (\n <span>\n 10 <sup>{value}</sup>\n </span>\n );\n return value;\n};\n\nconst CustomOption: React.FC<{\n onChange: (value: string) => void;\n value?: number | string;\n mode: 'decimals' | 'pow';\n}> = ({ onChange, mode, ...props }) => {\n return (\n <div className=\"w-full flex items-center gap-10px\">\n {mode === 'pow' && '10^'}\n <input\n style={{ visibility: 'hidden' }}\n className=\"w-0 h-0 absolute\"\n autoFocus\n />\n <input\n className={clsx(\n 'w-0 flex-1 outline-none rounded-3px border-1px border-solid focus:border-#1E3DE4',\n )}\n onChange={e => onChange(e.target.value)}\n {...props}\n />\n </div>\n );\n};\n\nconst defaultOptions = [18, 8, 6];\n\ntype DecimalsSelectProps = {\n value?: number;\n onChange: (value?: number) => void;\n max?: number;\n placeholder?: string;\n className?: string;\n optionsClassName?: string;\n popoverClassName?: string;\n mode?: 'decimals' | 'pow';\n options?: number[];\n};\n\nexport const DecimalsSelect = ({\n max,\n onChange,\n optionsClassName,\n popoverClassName,\n className,\n placeholder,\n value,\n options = defaultOptions,\n mode = 'decimals',\n}: DecimalsSelectProps) => {\n const [open, setOpen] = useState(false);\n const [selected, setSelected] = useState(() =>\n options.find(option => option === value),\n );\n const handleDecimalsChange = (value: string) => {\n if (!value) {\n onChange(undefined);\n return;\n }\n let num = Number(value);\n if (value.includes('-') || value.includes('.') || isNaN(num)) return;\n if (max && num > max) num = max;\n if (num < 0) num = 0;\n setSelected(undefined);\n onChange(num);\n };\n return (\n <Popover\n content={\n <div className=\"flex flex-col gap-8px w-76px\">\n {options.map(option => (\n <div\n className={clsx(\n 'cursor-pointer bg-[#fff] hover:bg-[#f1f3f5] w-full flex items-center justify-between',\n optionsClassName,\n )}\n key={option}\n onClick={() => {\n setSelected(option);\n onChange(option);\n setOpen(false);\n }}\n >\n <Value mode={mode} value={option} />\n {option === selected && <Check className=\"w-16px h-16px\" />}\n </div>\n ))}\n <div className={clsx('bg-[#fff] w-full', optionsClassName)}>\n <CustomOption\n onChange={handleDecimalsChange}\n value={selected === undefined && value !== undefined ? value : ''}\n mode={mode}\n />\n </div>\n </div>\n }\n containerClassName={popoverClassName}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n open={open}\n positioning={{\n placement: 'auto',\n }}\n >\n <div\n className={clsx(\n 'inline-flex justify-between items-center px-8px h-24px w-100px cursor-pointer',\n 'border-1 border-solid border-#E8E9EA rounded-2px',\n className,\n )}\n >\n <span>\n {value === undefined ? (\n placeholder\n ) : (\n <Value mode={mode} value={value} />\n )}\n </span>\n <ChevronUp className={clsx('w-12px h-12px', !open && 'rotate-180')} />\n </div>\n </Popover>\n );\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/DecimalsSelect/index.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport clsx from 'clsx';\nimport { Popover } from '../Popover';\nimport { Check, ChevronUp } from 'lucide-react';\n\nconst Value: React.FC<{\n value?: number;\n mode: 'decimals' | 'pow';\n}> = ({ mode, value }) => {\n if (mode === 'pow')\n return (\n <span>\n 10 <sup>{value}</sup>\n </span>\n );\n return value;\n};\n\nconst CustomOption: React.FC<{\n onChange: (value: string) => void;\n value?: number | string;\n mode: 'decimals' | 'pow';\n}> = ({ onChange, mode, ...props }) => {\n return (\n <div className=\"w-full flex items-center gap-10px\">\n {mode === 'pow' && '10^'}\n <input\n style={{ visibility: 'hidden' }}\n className=\"w-0 h-0 absolute\"\n autoFocus\n />\n <input\n className={clsx(\n 'w-0 flex-1 outline-none rounded-3px border-1px border-solid focus:border-#1E3DE4',\n )}\n onChange={e => onChange(e.target.value)}\n {...props}\n />\n </div>\n );\n};\n\nconst defaultOptions = [18, 8, 6];\n\ntype DecimalsSelectProps = {\n value?: number;\n onChange: (value?: number) => void;\n max?: number;\n placeholder?: string;\n className?: string;\n optionsClassName?: string;\n popoverClassName?: string;\n mode?: 'decimals' | 'pow';\n options?: number[];\n};\n\nexport const DecimalsSelect = ({\n max,\n onChange,\n optionsClassName,\n popoverClassName,\n className,\n placeholder,\n value,\n options = defaultOptions,\n mode = 'decimals',\n}: DecimalsSelectProps) => {\n const [open, setOpen] = useState(false);\n const [selected, setSelected] = useState(() =>\n options.find(option => option === value),\n );\n const handleDecimalsChange = (value: string) => {\n if (!value) {\n onChange(undefined);\n return;\n }\n let num = Number(value);\n if (value.includes('-') || value.includes('.') || isNaN(num)) return;\n if (max && num > max) num = max;\n if (num < 0) num = 0;\n setSelected(undefined);\n onChange(num);\n };\n return (\n <Popover\n content={\n <div className=\"flex flex-col gap-8px w-76px\">\n {options.map(option => (\n <div\n className={clsx(\n 'cursor-pointer bg-[#fff] hover:bg-[#f1f3f5] w-full flex items-center justify-between',\n optionsClassName,\n )}\n key={option}\n onClick={() => {\n setSelected(option);\n onChange(option);\n setOpen(false);\n }}\n >\n <Value mode={mode} value={option} />\n {option === selected && <Check className=\"w-16px h-16px\" />}\n </div>\n ))}\n <div className={clsx('bg-[#fff] w-full', optionsClassName)}>\n <CustomOption\n onChange={handleDecimalsChange}\n value={selected === undefined && value !== undefined ? value : ''}\n mode={mode}\n />\n </div>\n </div>\n }\n containerClassName={popoverClassName}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n open={open}\n positioning={{\n placement: 'auto',\n }}\n >\n <div\n className={clsx(\n 'inline-flex justify-between items-center px-8px h-24px w-100px cursor-pointer',\n 'border-1 border-solid border-#E8E9EA rounded-2px',\n className,\n )}\n >\n <span>\n {value === undefined ? (\n placeholder\n ) : (\n <Value mode={mode} value={value} />\n )}\n </span>\n <ChevronUp className={clsx('w-12px h-12px', !open && 'rotate-180')} />\n </div>\n </Popover>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;AAAA,SAAgB,gBAAgB;AAChC,OAAO,UAAU;AAEjB,SAAS,OAAO,iBAAiB;AAQ3B,SACK,KADL;AANN,IAAM,QAGD,CAAC,EAAE,MAAM,MAAM,MAAM;AACxB,MAAI,SAAS;AACX,WACE,qBAAC,UAAK;AAAA;AAAA,MACD,oBAAC,SAAK,iBAAM;AAAA,OACjB;AAEJ,SAAO;AACT;AAEA,IAAM,eAID,CAAC,EAAE,UAAU,MAAM,GAAG,MAAM,MAAM;AACrC,SACE,qBAAC,SAAI,WAAU,qCACZ;AAAA,aAAS,SAAS;AAAA,IACnB;AAAA,MAAC;AAAA;AAAA,QACC,OAAO,EAAE,YAAY,SAAS;AAAA,QAC9B,WAAU;AAAA,QACV,WAAS;AAAA;AAAA,IACX;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,QACF;AAAA,QACA,UAAU,OAAK,SAAS,EAAE,OAAO,KAAK;AAAA,QACrC,GAAG;AAAA;AAAA,IACN;AAAA,KACF;AAEJ;AAEA,IAAM,iBAAiB,CAAC,IAAI,GAAG,CAAC;AAczB,IAAM,iBAAiB,CAAC;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV,OAAO;AACT,MAA2B;AACzB,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,KAAK;AACtC,QAAM,CAAC,UAAU,WAAW,IAAI;AAAA,IAAS,MACvC,QAAQ,KAAK,YAAU,WAAW,KAAK;AAAA,EACzC;AACA,QAAM,uBAAuB,CAACA,WAAkB;AAC9C,QAAI,CAACA,QAAO;AACV,eAAS,MAAS;AAClB;AAAA,IACF;AACA,QAAI,MAAM,OAAOA,MAAK;AACtB,QAAIA,OAAM,SAAS,GAAG,KAAKA,OAAM,SAAS,GAAG,KAAK,MAAM,GAAG;AAAG;AAC9D,QAAI,OAAO,MAAM;AAAK,YAAM;AAC5B,QAAI,MAAM;AAAG,YAAM;AACnB,gBAAY,MAAS;AACrB,aAAS,GAAG;AAAA,EACd;AACA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SACE,qBAAC,SAAI,WAAU,gCACZ;AAAA,gBAAQ,IAAI,YACX;AAAA,UAAC;AAAA;AAAA,YACC,WAAW;AAAA,cACT;AAAA,cACA;AAAA,YACF;AAAA,YAEA,SAAS,MAAM;AACb,0BAAY,MAAM;AAClB,uBAAS,MAAM;AACf,sBAAQ,KAAK;AAAA,YACf;AAAA,YAEA;AAAA,kCAAC,SAAM,MAAY,OAAO,QAAQ;AAAA,cACjC,WAAW,YAAY,oBAAC,SAAM,WAAU,iBAAgB;AAAA;AAAA;AAAA,UARpD;AAAA,QASP,CACD;AAAA,QACD,oBAAC,SAAI,WAAW,KAAK,oBAAoB,gBAAgB,GACvD;AAAA,UAAC;AAAA;AAAA,YACC,UAAU;AAAA,YACV,OAAO,aAAa,UAAa,UAAU,SAAY,QAAQ;AAAA,YAC/D;AAAA;AAAA,QACF,GACF;AAAA,SACF;AAAA,MAEF,oBAAoB;AAAA,MACpB,QAAQ,MAAM,QAAQ,IAAI;AAAA,MAC1B,SAAS,MAAM,QAAQ,KAAK;AAAA,MAC5B;AAAA,MACA,aAAa;AAAA,QACX,WAAW;AAAA,MACb;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACC,WAAW;AAAA,YACT;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,UAEA;AAAA,gCAAC,UACE,oBAAU,SACT,cAEA,oBAAC,SAAM,MAAY,OAAc,GAErC;AAAA,YACA,oBAAC,aAAU,WAAW,KAAK,iBAAiB,CAAC,QAAQ,YAAY,GAAG;AAAA;AAAA;AAAA,MACtE;AAAA;AAAA,EACF;AAEJ;","names":["value"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/DeleteIcon/index.tsx"],"sourcesContent":["/* -*- mode: typescript -*- */\nimport React from 'react';\ninterface Props {\n color?: string;\n}\n\nexport const DeleteIcon: React.FC<Props> = props => {\n const { color = '#0054FE' } = props;\n return (\n <svg\n width=\"16px\"\n height=\"16px\"\n viewBox=\"0 0 16 16\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g\n id=\"Web\"\n stroke=\"none\"\n strokeWidth=\"1\"\n fill=\"none\"\n fillRule=\"evenodd\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <g\n transform=\"translate(-396.000000, -249.000000)\"\n stroke={color}\n strokeWidth=\"1.5\"\n >\n <g id=\"Clear\" transform=\"translate(396.000000, 249.000000)\">\n <circle cx=\"8\" cy=\"8\" r=\"7\"></circle>\n <line x1=\"10.1\" y1=\"5.9\" x2=\"5.9\" y2=\"10.1\"></line>\n <line x1=\"5.9\" y1=\"5.9\" x2=\"10.1\" y2=\"10.1\"></line>\n </g>\n </g>\n </g>\n </svg>\n );\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/DeleteIcon/index.tsx"],"sourcesContent":["/* -*- mode: typescript -*- */\nimport React from 'react';\ninterface Props {\n color?: string;\n}\n\nexport const DeleteIcon: React.FC<Props> = props => {\n const { color = '#0054FE' } = props;\n return (\n <svg\n width=\"16px\"\n height=\"16px\"\n viewBox=\"0 0 16 16\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g\n id=\"Web\"\n stroke=\"none\"\n strokeWidth=\"1\"\n fill=\"none\"\n fillRule=\"evenodd\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <g\n transform=\"translate(-396.000000, -249.000000)\"\n stroke={color}\n strokeWidth=\"1.5\"\n >\n <g id=\"Clear\" transform=\"translate(396.000000, 249.000000)\">\n <circle cx=\"8\" cy=\"8\" r=\"7\"></circle>\n <line x1=\"10.1\" y1=\"5.9\" x2=\"5.9\" y2=\"10.1\"></line>\n <line x1=\"5.9\" y1=\"5.9\" x2=\"10.1\" y2=\"10.1\"></line>\n </g>\n </g>\n </g>\n </svg>\n );\n};\n"],"mappings":";;;AA8BU,SACE,KADF;AAxBH,IAAM,aAA8B,WAAS;AAClD,QAAM,EAAE,QAAQ,UAAU,IAAI;AAC9B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,QAAO;AAAA,MACP,SAAQ;AAAA,MACR,SAAQ;AAAA,MACR,OAAM;AAAA,MAEN;AAAA,QAAC;AAAA;AAAA,UACC,IAAG;AAAA,UACH,QAAO;AAAA,UACP,aAAY;AAAA,UACZ,MAAK;AAAA,UACL,UAAS;AAAA,UACT,eAAc;AAAA,UACd,gBAAe;AAAA,UAEf;AAAA,YAAC;AAAA;AAAA,cACC,WAAU;AAAA,cACV,QAAQ;AAAA,cACR,aAAY;AAAA,cAEZ,+BAAC,OAAE,IAAG,SAAQ,WAAU,qCACtB;AAAA,oCAAC,YAAO,IAAG,KAAI,IAAG,KAAI,GAAE,KAAI;AAAA,gBAC5B,oBAAC,UAAK,IAAG,QAAO,IAAG,OAAM,IAAG,OAAM,IAAG,QAAO;AAAA,gBAC5C,oBAAC,UAAK,IAAG,OAAM,IAAG,OAAM,IAAG,QAAO,IAAG,QAAO;AAAA,iBAC9C;AAAA;AAAA,UACF;AAAA;AAAA,MACF;AAAA;AAAA,EACF;AAEJ;","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Modal
|
|
3
|
-
} from "../../chunk-
|
|
3
|
+
} from "../../chunk-GSWIFV2B.js";
|
|
4
4
|
import "../../chunk-XCKMXAL2.js";
|
|
5
5
|
import {
|
|
6
6
|
Link
|
|
@@ -8,17 +8,18 @@ import {
|
|
|
8
8
|
import "../../chunk-TGK5LP2H.js";
|
|
9
9
|
import {
|
|
10
10
|
Tooltip
|
|
11
|
-
} from "../../chunk-
|
|
11
|
+
} from "../../chunk-DF3PVTB5.js";
|
|
12
12
|
import "../../chunk-BMO4IZHV.js";
|
|
13
13
|
import "../../chunk-LRCAKRPK.js";
|
|
14
|
-
import "../../chunk-
|
|
15
|
-
import "../../chunk-
|
|
16
|
-
import "../../chunk-
|
|
14
|
+
import "../../chunk-CPPQCJEV.js";
|
|
15
|
+
import "../../chunk-WIB76E7O.js";
|
|
16
|
+
import "../../chunk-5EDEEGZK.js";
|
|
17
17
|
import "../../chunk-J2I22Q2M.js";
|
|
18
|
-
import "../../chunk-
|
|
18
|
+
import "../../chunk-YEINMVAR.js";
|
|
19
19
|
import {
|
|
20
20
|
getTranslations
|
|
21
21
|
} from "../../chunk-DQGLZCIG.js";
|
|
22
|
+
import "../../chunk-WQG2LZMB.js";
|
|
22
23
|
|
|
23
24
|
// src/components/DownloadCSV/index.tsx
|
|
24
25
|
import { useState } from "react";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/DownloadCSV/index.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { getTranslations } from '../../store';\nimport { Link } from '../Link';\nimport { Modal } from '../Modal';\nimport ReCAPTCHA from 'react-google-recaptcha';\nimport iconInfo from '../../images/info.svg';\nimport { Tooltip } from '../Tooltip';\n\nexport const DownloadCSV = ({ url: outerUrl }: { url: string }) => {\n const { t, i18n } = useTranslation();\n const [recaptchaVisible, setRecaptchaVisible] = useState(false);\n const translations = getTranslations();\n\n const handleRecaptchaModalClose = () => setRecaptchaVisible(false);\n const onRecaptchaChange = (value: string | null) => {\n if (value) {\n // download csv file\n window.open(outerUrl);\n\n setRecaptchaVisible(false);\n }\n };\n const handleDownloadCSV = (e: React.MouseEvent<HTMLAnchorElement>) => {\n e.preventDefault();\n setRecaptchaVisible(true);\n };\n\n return (\n <div className=\"text-right mb-[-1rem]\">\n <Tooltip\n className=\"inline-block pr-[0.2857rem] w-[1.2857rem] cursor-pointer\"\n title={t(translations.general.downloadCSV.latest5000records)}\n >\n <img\n src={iconInfo}\n alt=\"warning-icon\"\n className=\"mt-[-0.2857rem]\"\n ></img>\n </Tooltip>\n <span>{t(translations.general.downloadCSV.download)} </span>\n <Link onClick={handleDownloadCSV}>\n {t(translations.general.downloadCSV.csvFile)}\n </Link>\n <Modal\n open={recaptchaVisible}\n onClose={handleRecaptchaModalClose}\n closable\n width={'26.0714rem'}\n >\n <ReCAPTCHA\n sitekey=\"6Lf4-wYrAAAAAEyOeqFdmh124oUt4PjJSEVNk3NK\"\n onChange={onRecaptchaChange}\n hl={i18n.language.indexOf('en') > -1 ? 'en' : 'zh'}\n />\n </Modal>\n </div>\n );\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/DownloadCSV/index.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { getTranslations } from '../../store';\nimport { Link } from '../Link';\nimport { Modal } from '../Modal';\nimport ReCAPTCHA from 'react-google-recaptcha';\nimport iconInfo from '../../images/info.svg';\nimport { Tooltip } from '../Tooltip';\n\nexport const DownloadCSV = ({ url: outerUrl }: { url: string }) => {\n const { t, i18n } = useTranslation();\n const [recaptchaVisible, setRecaptchaVisible] = useState(false);\n const translations = getTranslations();\n\n const handleRecaptchaModalClose = () => setRecaptchaVisible(false);\n const onRecaptchaChange = (value: string | null) => {\n if (value) {\n // download csv file\n window.open(outerUrl);\n\n setRecaptchaVisible(false);\n }\n };\n const handleDownloadCSV = (e: React.MouseEvent<HTMLAnchorElement>) => {\n e.preventDefault();\n setRecaptchaVisible(true);\n };\n\n return (\n <div className=\"text-right mb-[-1rem]\">\n <Tooltip\n className=\"inline-block pr-[0.2857rem] w-[1.2857rem] cursor-pointer\"\n title={t(translations.general.downloadCSV.latest5000records)}\n >\n <img\n src={iconInfo}\n alt=\"warning-icon\"\n className=\"mt-[-0.2857rem]\"\n ></img>\n </Tooltip>\n <span>{t(translations.general.downloadCSV.download)} </span>\n <Link onClick={handleDownloadCSV}>\n {t(translations.general.downloadCSV.csvFile)}\n </Link>\n <Modal\n open={recaptchaVisible}\n onClose={handleRecaptchaModalClose}\n closable\n width={'26.0714rem'}\n >\n <ReCAPTCHA\n sitekey=\"6Lf4-wYrAAAAAEyOeqFdmh124oUt4PjJSEVNk3NK\"\n onChange={onRecaptchaChange}\n hl={i18n.language.indexOf('en') > -1 ? 'en' : 'zh'}\n />\n </Modal>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAgB,gBAAgB;AAChC,SAAS,sBAAsB;AAI/B,OAAO,eAAe;AACtB,OAAO,cAAc;AA4Bb,cAMF,YANE;AAzBD,IAAM,cAAc,CAAC,EAAE,KAAK,SAAS,MAAuB;AACjE,QAAM,EAAE,GAAG,KAAK,IAAI,eAAe;AACnC,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,SAAS,KAAK;AAC9D,QAAM,eAAe,gBAAgB;AAErC,QAAM,4BAA4B,MAAM,oBAAoB,KAAK;AACjE,QAAM,oBAAoB,CAAC,UAAyB;AAClD,QAAI,OAAO;AAET,aAAO,KAAK,QAAQ;AAEpB,0BAAoB,KAAK;AAAA,IAC3B;AAAA,EACF;AACA,QAAM,oBAAoB,CAAC,MAA2C;AACpE,MAAE,eAAe;AACjB,wBAAoB,IAAI;AAAA,EAC1B;AAEA,SACE,qBAAC,SAAI,WAAU,yBACb;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,OAAO,EAAE,aAAa,QAAQ,YAAY,iBAAiB;AAAA,QAE3D;AAAA,UAAC;AAAA;AAAA,YACC,KAAK;AAAA,YACL,KAAI;AAAA,YACJ,WAAU;AAAA;AAAA,QACX;AAAA;AAAA,IACH;AAAA,IACA,qBAAC,UAAM;AAAA,QAAE,aAAa,QAAQ,YAAY,QAAQ;AAAA,MAAE;AAAA,OAAC;AAAA,IACrD,oBAAC,QAAK,SAAS,mBACZ,YAAE,aAAa,QAAQ,YAAY,OAAO,GAC7C;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,MAAM;AAAA,QACN,SAAS;AAAA,QACT,UAAQ;AAAA,QACR,OAAO;AAAA,QAEP;AAAA,UAAC;AAAA;AAAA,YACC,SAAQ;AAAA,YACR,UAAU;AAAA,YACV,IAAI,KAAK,SAAS,QAAQ,IAAI,IAAI,KAAK,OAAO;AAAA;AAAA,QAChD;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Dropdown/index.tsx"],"sourcesContent":["import qs from 'query-string';\nimport React, { useState, useRef, useEffect } from 'react';\nimport { useLocation, useHistory } from 'react-router-dom';\nimport { useClickAway } from '@cfx-kit/react-utils/dist/hooks.js';\nimport clsx from 'clsx';\nimport Button from '../Button';\n\n// options example:\n// [\n// {\n// key: 'txType',\n// value: 'all',\n// name: 'viewAll',\n// },\n// {\n// key: 'txType',\n// value: 'outgoing',\n// name: 'viewOutgoingTxns',\n// },\n// {\n// key: 'txType',\n// value: 'incoming',\n// name: 'viewIncomingTxns',\n// },\n// {\n// key: 'txType',\n// value: '1',\n// name: 'failed txns',\n// },\n// ];\n\nexport const TableSearchDropdown = ({\n options = [],\n onChange,\n}: {\n options?: Array<{\n key: string;\n value: string;\n name: string;\n }>;\n onChange?: (value: string) => void;\n}) => {\n const history = useHistory();\n const location = useLocation();\n const dropdownRef = useRef<HTMLDivElement>(null);\n const [visible, setVisible] = useState<boolean>(false);\n const [selected, setSelected] = useState(0);\n\n useClickAway(dropdownRef, () => visible && setVisible(false));\n\n let keyList = options.reduce((prev, curr) => {\n return prev.concat(curr.key);\n }, [] as Array<string>);\n // @ts-ignore\n keyList = [...new Set(keyList)];\n\n useEffect(() => {\n const query = qs.parse(location.search || '');\n const realValue2 = options.reduce((prev, curr, index) => {\n if (query[curr.key] === curr.value) {\n return index;\n }\n return prev;\n }, 0);\n setSelected(realValue2);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [location.search]);\n\n const handleClick = (index: number) => {\n setVisible(false);\n\n const option = options[index];\n if (!option) return;\n\n if (onChange) {\n onChange(option.value);\n } else {\n let { skip, ...query } = qs.parse(location.search || '');\n let queryValue = '';\n\n keyList.forEach(k => {\n if (k === option.key) {\n queryValue = query[k] as string;\n }\n delete query[k];\n });\n\n if (queryValue !== option.value) {\n query[option.key] = option.value;\n history.push(\n qs.stringifyUrl({\n url: location.pathname,\n query: {\n skip: '0',\n ...query,\n },\n }),\n );\n }\n }\n };\n\n return (\n <div className=\"relative inline-block ml-0.5714rem\">\n <Button type=\"icon\" onClick={() => setVisible(!visible)}>\n <span className=\"i-material-symbols:more-horiz text-18px\"></span>\n </Button>\n {visible && (\n <div\n className={clsx(\n 'option-container',\n 'absolute right-0 rounded-0.14rem bg-#fff w-max mt-0.7143rem z-10 lt-sm:right-unset lt-sm:left-0',\n )}\n style={{\n boxShadow: '0rem 0.43rem 1.14rem 0rem rgba(20, 27, 50, 0.08)',\n }}\n ref={dropdownRef}\n >\n {options.map((o, index) => (\n <div\n key={o.value}\n onClick={() => handleClick(index)}\n className={clsx(\n 'opt',\n 'flex-vertical-center justify-between lh-1.57rem py-0.29rem px-1.14rem cursor-pointer hover:bg-#f1f4f6',\n selected === index\n ? 'text-[var(--theme-color-primary)]'\n : 'text-#65709a',\n )}\n >\n <span>{o.name}</span>\n {selected === index && (\n <span className=\"i-material-symbols:check-small-rounded text-28px ml-0.5rem\"></span>\n )}\n </div>\n ))}\n </div>\n )}\n </div>\n );\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Dropdown/index.tsx"],"sourcesContent":["import qs from 'query-string';\nimport React, { useState, useRef, useEffect } from 'react';\nimport { useLocation, useHistory } from 'react-router-dom';\nimport { useClickAway } from '@cfx-kit/react-utils/dist/hooks.js';\nimport clsx from 'clsx';\nimport Button from '../Button';\n\n// options example:\n// [\n// {\n// key: 'txType',\n// value: 'all',\n// name: 'viewAll',\n// },\n// {\n// key: 'txType',\n// value: 'outgoing',\n// name: 'viewOutgoingTxns',\n// },\n// {\n// key: 'txType',\n// value: 'incoming',\n// name: 'viewIncomingTxns',\n// },\n// {\n// key: 'txType',\n// value: '1',\n// name: 'failed txns',\n// },\n// ];\n\nexport const TableSearchDropdown = ({\n options = [],\n onChange,\n}: {\n options?: Array<{\n key: string;\n value: string;\n name: string;\n }>;\n onChange?: (value: string) => void;\n}) => {\n const history = useHistory();\n const location = useLocation();\n const dropdownRef = useRef<HTMLDivElement>(null);\n const [visible, setVisible] = useState<boolean>(false);\n const [selected, setSelected] = useState(0);\n\n useClickAway(dropdownRef, () => visible && setVisible(false));\n\n let keyList = options.reduce((prev, curr) => {\n return prev.concat(curr.key);\n }, [] as Array<string>);\n // @ts-ignore\n keyList = [...new Set(keyList)];\n\n useEffect(() => {\n const query = qs.parse(location.search || '');\n const realValue2 = options.reduce((prev, curr, index) => {\n if (query[curr.key] === curr.value) {\n return index;\n }\n return prev;\n }, 0);\n setSelected(realValue2);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [location.search]);\n\n const handleClick = (index: number) => {\n setVisible(false);\n\n const option = options[index];\n if (!option) return;\n\n if (onChange) {\n onChange(option.value);\n } else {\n let { skip, ...query } = qs.parse(location.search || '');\n let queryValue = '';\n\n keyList.forEach(k => {\n if (k === option.key) {\n queryValue = query[k] as string;\n }\n delete query[k];\n });\n\n if (queryValue !== option.value) {\n query[option.key] = option.value;\n history.push(\n qs.stringifyUrl({\n url: location.pathname,\n query: {\n skip: '0',\n ...query,\n },\n }),\n );\n }\n }\n };\n\n return (\n <div className=\"relative inline-block ml-0.5714rem\">\n <Button type=\"icon\" onClick={() => setVisible(!visible)}>\n <span className=\"i-material-symbols:more-horiz text-18px\"></span>\n </Button>\n {visible && (\n <div\n className={clsx(\n 'option-container',\n 'absolute right-0 rounded-0.14rem bg-#fff w-max mt-0.7143rem z-10 lt-sm:right-unset lt-sm:left-0',\n )}\n style={{\n boxShadow: '0rem 0.43rem 1.14rem 0rem rgba(20, 27, 50, 0.08)',\n }}\n ref={dropdownRef}\n >\n {options.map((o, index) => (\n <div\n key={o.value}\n onClick={() => handleClick(index)}\n className={clsx(\n 'opt',\n 'flex-vertical-center justify-between lh-1.57rem py-0.29rem px-1.14rem cursor-pointer hover:bg-#f1f4f6',\n selected === index\n ? 'text-[var(--theme-color-primary)]'\n : 'text-#65709a',\n )}\n >\n <span>{o.name}</span>\n {selected === index && (\n <span className=\"i-material-symbols:check-small-rounded text-28px ml-0.5rem\"></span>\n )}\n </div>\n ))}\n </div>\n )}\n </div>\n );\n};\n"],"mappings":";;;;;;;;;AAAA,OAAO,QAAQ;AACf,SAAgB,UAAU,QAAQ,iBAAiB;AACnD,SAAS,aAAa,kBAAkB;AACxC,SAAS,oBAAoB;AAC7B,OAAO,UAAU;AAqGT,cAcI,YAdJ;AA1ED,IAAM,sBAAsB,CAAC;AAAA,EAClC,UAAU,CAAC;AAAA,EACX;AACF,MAOM;AACJ,QAAM,UAAU,WAAW;AAC3B,QAAM,WAAW,YAAY;AAC7B,QAAM,cAAc,OAAuB,IAAI;AAC/C,QAAM,CAAC,SAAS,UAAU,IAAI,SAAkB,KAAK;AACrD,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,CAAC;AAE1C,eAAa,aAAa,MAAM,WAAW,WAAW,KAAK,CAAC;AAE5D,MAAI,UAAU,QAAQ,OAAO,CAAC,MAAM,SAAS;AAC3C,WAAO,KAAK,OAAO,KAAK,GAAG;AAAA,EAC7B,GAAG,CAAC,CAAkB;AAEtB,YAAU,CAAC,GAAG,IAAI,IAAI,OAAO,CAAC;AAE9B,YAAU,MAAM;AACd,UAAM,QAAQ,GAAG,MAAM,SAAS,UAAU,EAAE;AAC5C,UAAM,aAAa,QAAQ,OAAO,CAAC,MAAM,MAAM,UAAU;AACvD,UAAI,MAAM,KAAK,GAAG,MAAM,KAAK,OAAO;AAClC,eAAO;AAAA,MACT;AACA,aAAO;AAAA,IACT,GAAG,CAAC;AACJ,gBAAY,UAAU;AAAA,EAExB,GAAG,CAAC,SAAS,MAAM,CAAC;AAEpB,QAAM,cAAc,CAAC,UAAkB;AACrC,eAAW,KAAK;AAEhB,UAAM,SAAS,QAAQ,KAAK;AAC5B,QAAI,CAAC;AAAQ;AAEb,QAAI,UAAU;AACZ,eAAS,OAAO,KAAK;AAAA,IACvB,OAAO;AACL,UAAI,EAAE,MAAM,GAAG,MAAM,IAAI,GAAG,MAAM,SAAS,UAAU,EAAE;AACvD,UAAI,aAAa;AAEjB,cAAQ,QAAQ,OAAK;AACnB,YAAI,MAAM,OAAO,KAAK;AACpB,uBAAa,MAAM,CAAC;AAAA,QACtB;AACA,eAAO,MAAM,CAAC;AAAA,MAChB,CAAC;AAED,UAAI,eAAe,OAAO,OAAO;AAC/B,cAAM,OAAO,GAAG,IAAI,OAAO;AAC3B,gBAAQ;AAAA,UACN,GAAG,aAAa;AAAA,YACd,KAAK,SAAS;AAAA,YACd,OAAO;AAAA,cACL,MAAM;AAAA,cACN,GAAG;AAAA,YACL;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SACE,qBAAC,SAAI,WAAU,sCACb;AAAA,wBAAC,kBAAO,MAAK,QAAO,SAAS,MAAM,WAAW,CAAC,OAAO,GACpD,8BAAC,UAAK,WAAU,2CAA0C,GAC5D;AAAA,IACC,WACC;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA;AAAA,QACF;AAAA,QACA,OAAO;AAAA,UACL,WAAW;AAAA,QACb;AAAA,QACA,KAAK;AAAA,QAEJ,kBAAQ,IAAI,CAAC,GAAG,UACf;AAAA,UAAC;AAAA;AAAA,YAEC,SAAS,MAAM,YAAY,KAAK;AAAA,YAChC,WAAW;AAAA,cACT;AAAA,cACA;AAAA,cACA,aAAa,QACT,sCACA;AAAA,YACN;AAAA,YAEA;AAAA,kCAAC,UAAM,YAAE,MAAK;AAAA,cACb,aAAa,SACZ,oBAAC,UAAK,WAAU,8DAA6D;AAAA;AAAA;AAAA,UAZ1E,EAAE;AAAA,QAcT,CACD;AAAA;AAAA,IACH;AAAA,KAEJ;AAEJ;","names":[]}
|
|
@@ -1,44 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
} from "../../chunk-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
import clsx from "clsx";
|
|
7
|
-
import { useTranslation } from "react-i18next";
|
|
8
|
-
import imgTableWhoops from "../../table-whoops-UDAVUZCG.png";
|
|
9
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
-
var Empty = ({
|
|
11
|
-
show,
|
|
12
|
-
type = "fluid",
|
|
13
|
-
className,
|
|
14
|
-
title,
|
|
15
|
-
noTitle = false,
|
|
16
|
-
description,
|
|
17
|
-
children,
|
|
18
|
-
...others
|
|
19
|
-
}) => {
|
|
20
|
-
const { t } = useTranslation();
|
|
21
|
-
const { translations } = useI18n();
|
|
22
|
-
return /* @__PURE__ */ jsxs(
|
|
23
|
-
"div",
|
|
24
|
-
{
|
|
25
|
-
className: clsx(
|
|
26
|
-
"empty",
|
|
27
|
-
"top-0 left-0 right-0 bottom-0 flex-col justify-center items-center min-h-16.4286rem",
|
|
28
|
-
show ? "flex" : "hidden",
|
|
29
|
-
type === "fluid" ? "relative" : "absolute",
|
|
30
|
-
className
|
|
31
|
-
),
|
|
32
|
-
...others,
|
|
33
|
-
children: [
|
|
34
|
-
/* @__PURE__ */ jsx("img", { className: "w-6rem h-8.5714rem", src: imgTableWhoops, alt: "no data" }),
|
|
35
|
-
noTitle ? /* @__PURE__ */ jsx("p", { className: "noTitle" }) : /* @__PURE__ */ jsx("p", { className: "text-1.5714rem font-medium text-#000 lh-2rem", children: title || t(translations.general.table.whoops) }),
|
|
36
|
-
/* @__PURE__ */ jsx("h1", { className: "text-1rem font-medium text-#4b4b4b lh-1.2857rem opacity-40", children: description || t(translations.general.table.noData) }),
|
|
37
|
-
children
|
|
38
|
-
]
|
|
39
|
-
}
|
|
40
|
-
);
|
|
41
|
-
};
|
|
2
|
+
Empty
|
|
3
|
+
} from "../../chunk-Y7OVL5US.js";
|
|
4
|
+
import "../../chunk-DQGLZCIG.js";
|
|
5
|
+
import "../../chunk-WQG2LZMB.js";
|
|
42
6
|
export {
|
|
43
7
|
Empty
|
|
44
8
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|