@abtnode/webapp 1.8.30 → 1.8.31
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/blocklet.js +1 -1
- package/blocklet.yml +1 -1
- package/build/asset-manifest.json +13 -13
- package/build/index.html +1 -1
- package/build/static/js/4897.d9c2e84e.chunk.js +2 -0
- package/build/static/js/4897.d9c2e84e.chunk.js.map +1 -0
- package/build/static/js/5720.cebd5eb8.chunk.js +2 -0
- package/build/static/js/{5720.6a664a49.chunk.js.map → 5720.cebd5eb8.chunk.js.map} +1 -1
- package/build/static/js/7595.2d41497d.chunk.js +2 -0
- package/build/static/js/7595.2d41497d.chunk.js.map +1 -0
- package/build/static/js/8440.0d3e6baf.chunk.js +2 -0
- package/build/static/js/{8440.ad893b9c.chunk.js.map → 8440.0d3e6baf.chunk.js.map} +1 -1
- package/build/static/js/976.d320954f.chunk.js +3 -0
- package/build/static/js/{976.5c646415.chunk.js.LICENSE.txt → 976.d320954f.chunk.js.LICENSE.txt} +0 -0
- package/build/static/js/976.d320954f.chunk.js.map +1 -0
- package/build/static/js/main.89f26b95.js +3 -0
- package/build/static/js/{main.198cee3c.js.LICENSE.txt → main.89f26b95.js.LICENSE.txt} +0 -0
- package/build/static/js/{main.198cee3c.js.map → main.89f26b95.js.map} +1 -1
- package/package.json +1 -1
- package/build/static/js/4897.2d04c339.chunk.js +0 -2
- package/build/static/js/4897.2d04c339.chunk.js.map +0 -1
- package/build/static/js/5720.6a664a49.chunk.js +0 -2
- package/build/static/js/7595.7fbdecd8.chunk.js +0 -2
- package/build/static/js/7595.7fbdecd8.chunk.js.map +0 -1
- package/build/static/js/8440.ad893b9c.chunk.js +0 -2
- package/build/static/js/976.5c646415.chunk.js +0 -3
- package/build/static/js/976.5c646415.chunk.js.map +0 -1
- package/build/static/js/main.198cee3c.js +0 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static/js/5720.6a664a49.chunk.js","mappings":"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","sources":["hooks/url-evaluation.js","../../../node_modules/react-use/esm/useAsyncRetry.js","components/access-key/create.js","components/access-key/confirm.js","components/access-key/delete.js","components/access-key/update.js","components/team/access-key.js","pages/team/index.js","../../ux/lib/confirm.js","../../ux/lib/hooks/mobile-width.js","../../../node_modules/@mui/icons-material/VpnKey.js","../../../node_modules/react-use/esm/useAsyncFn.js","../../../node_modules/react-use/esm/useMountedState.js","../../../node_modules/react-use/esm/useAsync.js","../../../src/lang/en_US.ts","../../../src/lang/zh_CN.ts","../../src/register.ts","../../../src/utils/date.ts","../../src/format.ts","../../src/index.ts"],"sourcesContent":["import { useState, useEffect, useMemo, useRef, useContext } from 'react';\nimport joinURL from 'url-join';\nimport { WELLKNOWN_PING_PREFIX } from '@abtnode/constant';\nimport { getAccessUrl } from '@abtnode/ux/src/util';\nimport { evaluateURLs } from '@abtnode/util/lib/url-evaluation';\nimport defaultCheckAccessible from '@abtnode/util/lib/url-evaluation/check-accessible-browser';\nimport memoize from 'lodash/memoize';\nimport { LocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport { useRoutingContext, getBlockletUrls } from '../contexts/routing';\nimport { getBlockletUrlParams } from '../libs/util';\n\n// 如果同一个页面中存在多个部分同时对同一个 url 检测 url 可访问性, 避免造成重复请求\nconst ping = memoize(url => defaultCheckAccessible(joinURL(new URL(url).origin, WELLKNOWN_PING_PREFIX)));\n\n// url <-> evaluation cache\nconst CACHE = {};\n\nexport function useUrlEvaluation({ urls, checkAccessible = defaultCheckAccessible, disableCache = false }) {\n // 基于 CACHE 初始化该 hook 的状态\n // FIXME: 最好解决源头的 material-table 渲染 BlockletInterface 时的 re-mount 问题 (#4897)\n const initialCachedRef = useRef(urls.filter(url => CACHE[url]).map(url => CACHE[url]));\n const allCached = initialCachedRef.current.length === urls.length;\n const [urlsState, setUrlsState] = useState(allCached ? initialCachedRef.current : []);\n const [loading, setLoading] = useState(!allCached);\n const recommendedUrlState = useMemo(() => {\n if (!loading && urlsState.length) {\n return urlsState[0];\n }\n return null;\n }, [urlsState, loading]);\n\n useEffect(() => {\n if (urls?.length > 0 && !allCached) {\n const evaluate = async () => {\n let results;\n setLoading(true);\n if (disableCache) {\n results = await evaluateURLs(urls, { checkAccessible });\n results.forEach(item => {\n CACHE[item.url] = item;\n });\n } else {\n const misses = await evaluateURLs(\n urls.filter(url => !CACHE[url]),\n { checkAccessible }\n );\n misses.forEach(item => {\n CACHE[item.url] = item;\n });\n results = urls.map(url => CACHE[url]).sort((a, b) => b.score - a.score);\n }\n setUrlsState(results);\n setLoading(false);\n };\n evaluate();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [urls, disableCache, allCached]);\n\n return {\n urlsState,\n loading,\n recommendedUrlState,\n recommendedUrl: recommendedUrlState?.url,\n };\n}\n\n/**\n * 主要对 blocklet 访问 urls 进行评估\n * @param {object} blocklet\n */\nexport function useBlockletUrlEvaluation(blocklet) {\n const { siteMap } = useRoutingContext();\n const { locale } = useContext(LocaleContext);\n const urls = useMemo(() => {\n if (!blocklet) {\n return [];\n }\n // getBlockletUrlParams 的调用是必须的, 会根据 blocklet 状态决定是否添加 \"__start__\" 参数, 以保证 blocklet 启动按钮可以正确的跳转到启动页面\n return getBlockletUrls({ did: blocklet.meta.did, siteMap, params: getBlockletUrlParams(blocklet, locale) });\n }, [blocklet, locale, siteMap]);\n const { loading, recommendedUrlState, recommendedUrl } = useUrlEvaluation({ urls, checkAccessible: ping });\n return { urls, loading, recommendedUrlState, recommendedUrl };\n}\n\n/**\n * 主要对 blocklet domains 对应的 urls 进行评估, 配合 DomainStatusProvider 使用\n * @param {string[]} domains\n */\nexport function useDomainsAccessibility(domains) {\n // 获取 blocklet domain 对应的访问 url\n const urls = useMemo(() => domains.map(item => getAccessUrl(item)), [domains]);\n const { urlsState, loading, recommendedUrl } = useUrlEvaluation({ urls, checkAccessible: ping });\n let result;\n if (loading) {\n result = {\n domainsAccessibility: domains.reduce((acc, cur) => ({ ...acc, [cur]: { loading: true } }), {}),\n recommendedDomain: null,\n };\n } else {\n const domainsAccessibility = urlsState.reduce((acc, cur) => {\n // 检测对象是 domain, 但检测可访问性用的是 domain 对应的 ping url, 所以需要取 hostname 作为结果\n const domain = new URL(cur.url).hostname;\n acc[domain] = { ...cur, domain };\n return acc;\n }, {});\n // 从排好优先级的 urls 中选择第一个可访问的 url 作为 recommendedDomain (对于自定义域名, 可能存在评分最高但不可访问的情况) (#5195)\n const accessibleUrl = urlsState.find(item => item.accessible)?.url || recommendedUrl;\n result = {\n domainsAccessibility,\n recommendedDomain: accessibleUrl ? new URL(accessibleUrl).hostname : null,\n };\n }\n return result;\n}\n","import { __assign, __spreadArrays } from \"tslib\";\nimport { useCallback, useState } from 'react';\nimport useAsync from './useAsync';\nvar useAsyncRetry = function (fn, deps) {\n if (deps === void 0) { deps = []; }\n var _a = useState(0), attempt = _a[0], setAttempt = _a[1];\n var state = useAsync(fn, __spreadArrays(deps, [attempt]));\n var stateLoading = state.loading;\n var retry = useCallback(function () {\n if (stateLoading) {\n if (process.env.NODE_ENV === 'development') {\n console.log('You are calling useAsyncRetry hook retry() method while loading in progress, this is a no-op.');\n }\n return;\n }\n setAttempt(function (currentAttempt) { return currentAttempt + 1; });\n }, __spreadArrays(deps, [stateLoading]));\n return __assign(__assign({}, state), { retry: retry });\n};\nexport default useAsyncRetry;\n","import { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport AddIcon from '@mui/icons-material/Add';\nimport Spinner from '@arcblock/ux/lib/Spinner';\nimport Typography from '@mui/material/Typography';\nimport TextField from '@mui/material/TextField';\nimport MenuItem from '@mui/material/MenuItem';\nimport Select from '@mui/material/Select';\nimport InputLabel from '@mui/material/InputLabel';\nimport FormControl from '@mui/material/FormControl';\nimport Box from '@mui/material/Box';\n\nimport Button from '@arcblock/ux/lib/Button';\nimport { useLocaleContext } from '@arcblock/ux/lib/Locale/context';\n\nimport { RBAC_CONFIG, ROLES } from '@abtnode/constant';\n\nimport Confirm from '../confirm';\nimport getClient from '../../libs/node';\n\nexport default function CreateAccessKey(props) {\n const { remark, onCreate } = props;\n const { t } = useLocaleContext();\n const [loading, setLoading] = useState(false);\n const [confirmSetting, setConfirmSetting] = useState(null);\n const client = getClient();\n\n const roles = RBAC_CONFIG.roles.filter(x => x.passport && x.name !== ROLES.OWNER);\n\n const onCancel = () => {\n setLoading(false);\n setConfirmSetting(null);\n };\n\n const onConfirm = async params => {\n // eslint-disable-next-line no-shadow\n const { remark, passport } = params;\n setLoading(true);\n const res = await client.createAccessKey({\n input: {\n remark: remark.trim(),\n passport,\n },\n });\n const { data } = res;\n onCreate(data);\n setConfirmSetting(null);\n setLoading(false);\n };\n\n const setting = {\n title: `${t('common.create')} ${t('common.accessKey')}`,\n // eslint-disable-next-line react/no-unstable-nested-components\n description: (params, setParams, setError) => (\n <Typography component=\"div\">\n <TextField\n label={t('setting.accessKey.tip')}\n autoComplete=\"off\"\n variant=\"outlined\"\n name=\"remark\"\n data-cy=\"remark-input\"\n fullWidth\n autoFocus\n style={{ marginBottom: 32 }}\n margin=\"dense\"\n value={params.remark}\n onChange={e => {\n setParams({\n ...params,\n remark: e.target.value,\n __disableConfirm: !params.passport || !e.target.value.trim(),\n });\n if (!e.target.value.trim()) {\n setError(t('setting.accessKey.remarkInvalid'));\n } else {\n setError('');\n }\n }}\n />\n\n <FormControl style={{ width: '100%' }} variant=\"outlined\">\n <InputLabel>{t('common.passport')}</InputLabel>\n <Select\n data-cy=\"create-access-key-select-passport\"\n value={params.passport}\n onChange={e => {\n const passport = e.target.value;\n setError(null);\n setParams({\n ...params,\n passport,\n __disableConfirm: !params.remark || !passport,\n });\n }}\n fullWidth\n label={t('common.passport')}\n disabled={loading}>\n {roles.map(r => (\n <MenuItem key={r.name} value={r.name} data-cy={`create-access-key-passport-option-${r.name}`}>\n <Box>\n <span>{r.title || r.name}</span>\n <Box maxWidth={440} fontSize={12} color=\"#999\" whiteSpace=\"normal\" textAlign=\"justify\">\n {r.description}\n </Box>\n </Box>\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n </Typography>\n ),\n confirm: t('common.confirm'),\n cancel: t('common.cancel'),\n color: 'primary',\n params: {\n remark,\n __disableConfirm: !remark.trim(),\n },\n onConfirm,\n onCancel,\n };\n\n return (\n <>\n <Button\n edge=\"end\"\n variant=\"contained\"\n color=\"primary\"\n data-cy=\"add-access-key-btn\"\n onClick={() => setConfirmSetting(setting)}\n className=\"rule-action\">\n {loading ? <Spinner size={[16, 10]} /> : <AddIcon style={{ fontSize: 16 }} />}\n {t('common.create')}\n </Button>\n {confirmSetting && (\n <Confirm\n title={confirmSetting.title}\n description={confirmSetting.description}\n confirm={confirmSetting.confirm}\n color={confirmSetting.color}\n cancel={confirmSetting.cancel}\n params={confirmSetting.params}\n onConfirm={confirmSetting.onConfirm}\n onCancel={confirmSetting.onCancel}\n />\n )}\n </>\n );\n}\n\nCreateAccessKey.propTypes = {\n remark: PropTypes.string,\n onCreate: PropTypes.func,\n};\n\nCreateAccessKey.defaultProps = {\n onCreate: () => {},\n remark: '',\n};\n","import { useContext, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\n\nimport { LocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport Dialog from '@arcblock/ux/lib/Dialog';\nimport FormControlLabel from '@mui/material/FormControlLabel';\n\nimport Button from '@arcblock/ux/lib/Button';\nimport Checkbox from '@mui/material/Checkbox';\nimport ClickToCopy from '@abtnode/ux/lib/click-to-copy';\n\nexport default function ConfirmAccessKey(props) {\n const { onConfirm, accessKeyId, accessKeySecret } = props;\n const { t } = useContext(LocaleContext);\n const [checked, setChecked] = useState(false);\n const [hideAccessSecret, setHideAccessSecret] = useState(true);\n\n const onChangeSwitch = () => {\n setHideAccessSecret(!hideAccessSecret);\n };\n\n const handleChange = event => {\n setChecked(event.target.checked);\n };\n\n return (\n <Dialog\n title={t('common.createSuccess')}\n fullWidth\n open\n disableEscapeKeyDown\n onClose={onConfirm}\n showCloseButton={false}\n actions={\n <div>\n <Button\n disabled={!checked}\n onClick={onConfirm}\n color=\"primary\"\n autoFocus\n variant=\"contained\"\n data-cy=\"submit-confirm-dialog\">\n {t('common.confirm')}\n </Button>\n </div>\n }\n aria-labelledby=\"simple-dialog-title\">\n <div>\n <Bold>{t('setting.accessKey.saveSecretTip')}</Bold>\n </div>\n <div style={{ marginTop: '20px' }} />\n <Item>\n <Label>Access Key</Label>\n <ClickToCopy>{accessKeyId}</ClickToCopy>\n </Item>\n <Item>\n <Label>Access Secret</Label>\n {hideAccessSecret ? (\n <Button data-cy=\"show-secret-btn\" color=\"primary\" onClick={onChangeSwitch}>\n {t('setting.accessKey.showSecret')}\n </Button>\n ) : (\n <ClickToCopy>{accessKeySecret}</ClickToCopy>\n )}\n </Item>\n <div>\n <FormControlLabel\n value=\"end\"\n disabled={hideAccessSecret}\n control={<Checkbox checked={checked} onChange={handleChange} />}\n label={t('setting.accessKey.iKnow')}\n labelPlacement=\"end\"\n />\n </div>\n </Dialog>\n );\n}\n\nConfirmAccessKey.propTypes = {\n accessKeyId: PropTypes.string.isRequired,\n accessKeySecret: PropTypes.string.isRequired,\n onConfirm: PropTypes.func,\n};\n\nConfirmAccessKey.defaultProps = {\n onConfirm: () => {},\n};\n\nconst Label = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-size: 16px;\n margin-bottom: 8px;\n`;\nconst Item = styled.div`\n margin-bottom: 24px;\n`;\nconst Bold = styled.div`\n font-size: 16px;\n font-weight: bold;\n`;\n","import { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { format } from 'timeago.js';\n\nimport ActionIcon from '@mui/icons-material/Delete';\nimport Spinner from '@arcblock/ux/lib/Spinner';\n\nimport Button from '@arcblock/ux/lib/Button';\n\nimport { useLocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport { formatLocale, formatToDatetime } from '../../libs/util';\n\nimport DelConfirm from '../delete-confirm';\nimport getClient from '../../libs/node';\n\nexport default function DeleteAccessKey(props) {\n const { t, locale } = useLocaleContext();\n const [loading, setLoading] = useState(false);\n const [confirmSetting, setConfirmSetting] = useState(null);\n const { accessKeyId, time, remark, onDelete = () => {} } = props;\n\n const client = getClient();\n\n const onCancel = () => {\n setLoading(false);\n setConfirmSetting(null);\n };\n\n const onConfirm = async () => {\n setLoading(true);\n try {\n await client.deleteAccessKey({ input: { accessKeyId } });\n onDelete();\n } catch (error) {\n console.error(error);\n } finally {\n setLoading(false);\n setConfirmSetting(null);\n }\n };\n\n const descData = formatTime => ({\n key: `<b>${accessKeyId}</b>`,\n name: `<b>${remark}</b>`,\n time: formatToDatetime(formatTime),\n timeAge: format(new Date(formatTime), formatLocale(locale)),\n });\n\n const setting = {\n keyName: remark,\n title: t('setting.accessKey.title'),\n description: time\n ? `${t('setting.accessKey.description', descData(time))}`\n : `${t('setting.accessKey.descriptionNoTime', { key: `<b>${accessKeyId}</b>`, name: `<b>${remark}</b>` })}`,\n confirmPlaceholder: t('setting.accessKey.confirm_desc', { name: remark }),\n confirm: t('common.delConfirm'),\n cancel: t('common.cancel'),\n onConfirm,\n onCancel,\n };\n\n return (\n <>\n <Button edge=\"end\" onClick={() => setConfirmSetting(setting)} size=\"small\" className=\"rule-action\" color=\"error\">\n {loading ? <Spinner size={[16, 10]} /> : <ActionIcon style={{ fontSize: 16 }} />}\n {t('common.delete')}\n </Button>\n {confirmSetting && (\n <DelConfirm\n keyName={confirmSetting.keyName}\n title={confirmSetting.title}\n description={confirmSetting.description}\n confirmPlaceholder={confirmSetting.confirmPlaceholder}\n confirm={confirmSetting.confirm}\n cancel={confirmSetting.cancel}\n params={confirmSetting.params}\n onConfirm={confirmSetting.onConfirm}\n onCancel={confirmSetting.onCancel}\n />\n )}\n </>\n );\n}\n\nDeleteAccessKey.propTypes = {\n accessKeyId: PropTypes.string.isRequired,\n time: PropTypes.string.isRequired,\n remark: PropTypes.string.isRequired,\n onDelete: PropTypes.func,\n};\n\nDeleteAccessKey.defaultProps = {\n onDelete: () => {},\n};\n","import { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport EditIcon from '@mui/icons-material/Edit';\nimport Spinner from '@arcblock/ux/lib/Spinner';\nimport Typography from '@mui/material/Typography';\nimport TextField from '@mui/material/TextField';\nimport MenuItem from '@mui/material/MenuItem';\nimport Select from '@mui/material/Select';\nimport InputLabel from '@mui/material/InputLabel';\nimport FormControl from '@mui/material/FormControl';\n\nimport Button from '@arcblock/ux/lib/Button';\n\nimport { useLocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport { RBAC_CONFIG, ROLES } from '@abtnode/constant';\n\nimport Confirm from '../confirm';\nimport getClient from '../../libs/node';\n\nexport default function UpdateAccessKey(props) {\n const { accessKeyId, remark, onUpdate, passport } = props;\n const { t } = useLocaleContext();\n const [loading, setLoading] = useState(false);\n const [confirmSetting, setConfirmSetting] = useState(null);\n const client = getClient();\n\n const roles = RBAC_CONFIG.roles.filter(x => x.passport && x.name !== ROLES.OWNER);\n\n const onCancel = () => {\n setLoading(false);\n setConfirmSetting(null);\n };\n\n const onConfirm = async params => {\n // eslint-disable-next-line no-shadow\n const { accessKeyId, remark, passport } = params;\n setLoading(true);\n await client.updateAccessKey({\n input: {\n accessKeyId,\n remark: remark.trim(),\n passport,\n },\n });\n onUpdate();\n setConfirmSetting(null);\n setLoading(false);\n };\n\n const setting = {\n title: `${t('common.update')} ${t('common.accessKey')}`,\n // eslint-disable-next-line react/no-unstable-nested-components\n description: (params, setParams, setError) => (\n <Typography component=\"div\">\n <TextField\n label={t('setting.accessKey.accessKeyId')}\n autoComplete=\"off\"\n variant=\"outlined\"\n name=\"accessKeyId\"\n fullWidth\n autoFocus\n style={{ marginBottom: 32 }}\n margin=\"dense\"\n value={params.accessKeyId}\n disabled\n />\n <TextField\n label={t('common.remark')}\n autoComplete=\"off\"\n variant=\"outlined\"\n name=\"remark\"\n fullWidth\n autoFocus\n style={{ marginBottom: 32 }}\n value={params.remark}\n onChange={e => {\n setParams({ ...params, remark: e.target.value, __disableConfirm: !e.target.value.trim() });\n if (!e.target.value.trim()) {\n setError(t('setting.accessKey.remarkInvalid'));\n } else {\n setError('');\n }\n }}\n />\n\n <FormControl style={{ width: '100%' }} variant=\"outlined\">\n <InputLabel>{t('common.passport')}</InputLabel>\n <Select\n data-cy=\"update-access-key-select-passport\"\n value={params.passport}\n onChange={e => {\n // eslint-disable-next-line no-shadow\n const passport = e.target.value;\n setError(null);\n setParams({\n ...params,\n passport,\n __disableConfirm: !params.remark || !passport,\n });\n }}\n fullWidth\n label={t('common.passport')}\n disabled={loading}>\n {roles.map(r => (\n <MenuItem key={r.name} value={r.name} data-cy={`update-access-key-passport-option-${r.name}`}>\n <span>{r.title || r.name}</span>\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n </Typography>\n ),\n confirm: t('common.confirm'),\n cancel: t('common.cancel'),\n color: 'primary',\n params: {\n accessKeyId,\n remark,\n passport,\n },\n onConfirm,\n onCancel,\n };\n\n return (\n <>\n <Button\n edge=\"end\"\n onClick={() => setConfirmSetting(setting)}\n size=\"small\"\n className=\"rule-action\"\n color=\"primary\">\n {loading ? <Spinner size={[16, 10]} /> : <EditIcon style={{ fontSize: 16 }} />}\n {t('common.update')}\n </Button>\n {confirmSetting && (\n <Confirm\n title={confirmSetting.title}\n description={confirmSetting.description}\n confirm={confirmSetting.confirm}\n color={confirmSetting.color}\n cancel={confirmSetting.cancel}\n params={confirmSetting.params}\n onConfirm={confirmSetting.onConfirm}\n onCancel={confirmSetting.onCancel}\n />\n )}\n </>\n );\n}\n\nUpdateAccessKey.propTypes = {\n accessKeyId: PropTypes.string.isRequired,\n remark: PropTypes.string,\n passport: PropTypes.string,\n onUpdate: PropTypes.func,\n};\n\nUpdateAccessKey.defaultProps = {\n onUpdate: () => {},\n remark: '',\n passport: '',\n};\n","import { useContext, useState } from 'react';\nimport styled from '@emotion/styled';\nimport { useAsyncRetry } from 'react-use';\n\nimport VpnKey from '@mui/icons-material/VpnKey';\nimport Alert from '@mui/material/Alert';\nimport Box from '@mui/material/Box';\nimport Spinner from '@arcblock/ux/lib/Spinner';\nimport Empty from '@arcblock/ux/lib/Empty';\nimport DidAddress from '@arcblock/did-connect/lib/Address';\nimport { LocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport { RBAC_CONFIG } from '@abtnode/constant';\nimport PassportTag from '@abtnode/ux/lib/passport-tag';\n\nimport { formatError, formatToDatetime } from '../../libs/util';\nimport { useNodeContext } from '../../contexts/node';\n\nimport CreateAccessKey from '../access-key/create';\nimport ConfirmAccessKey from '../access-key/confirm';\nimport DeleteAccessKey from '../access-key/delete';\nimport UpdateAccessKey from '../access-key/update';\nimport Permission from '../permission';\n\nexport default function AccessKey() {\n const { t } = useContext(LocaleContext);\n const { api } = useNodeContext();\n const [confirmInfo, setConfirmInfo] = useState({});\n\n const state = useAsyncRetry(async () => {\n const response = await api.getAccessKeys();\n const { list } = response;\n return list;\n });\n\n const list = state.value || [];\n const { loading, error } = state;\n\n if (!list.length && loading) {\n return (\n <div style={{ textAlign: 'center', marginTop: '50px' }}>\n <Spinner />\n </div>\n );\n }\n if (!list.length && error) {\n return <Alert severity=\"error\">{formatError(error)}</Alert>;\n }\n\n return (\n <div>\n <Box mb={1} textAlign=\"right\">\n <Permission permission=\"mutate_node\">\n <CreateAccessKey\n onCreate={data => {\n const { accessKeyId, accessKeySecret } = data;\n setConfirmInfo({\n show: true,\n accessKeyId,\n accessKeySecret,\n });\n }}\n />\n </Permission>\n {confirmInfo.show && (\n <ConfirmAccessKey\n onConfirm={() => {\n state.retry();\n setConfirmInfo({ show: false });\n }}\n {...confirmInfo}\n />\n )}\n </Box>\n\n {!list.length && (\n <Box mt={8}>\n <Empty>{t('common.noData')}</Empty>\n </Box>\n )}\n {!!list.length && (\n <AccessKeyList>\n {list.map(item => {\n const remark = item.remark || 'N/A';\n const p = RBAC_CONFIG.roles.find(x => x.name === item.passport);\n return (\n <div className=\"access-key-item\">\n <div className=\"access-key-item_info-warpper\">\n <div className=\"access-key-item_icon\">\n <VpnKey />\n </div>\n <div className=\"access-key-item_info\">\n <Box fontWeight={700}>{remark}</Box>\n <Box minWidth={0}>\n <DidAddress showDidLogo={false}>{item.accessKeyId}</DidAddress>\n </Box>\n <div>Created at {formatToDatetime(item.createdAt)}</div>\n <div>Created by {item.createdBy}</div>\n {item.updatedBy && <div>Updated by {item.updatedBy}</div>}\n {item.lastUsedAt && <div>Last used at {formatToDatetime(item.lastUsedAt)}</div>}\n <div className=\"access-key-item_passport\">\n <PassportTag passport={{ title: p ? p.title : item.passport }} />\n </div>\n </div>\n </div>\n <div className=\"access-key-item_actions\">\n <UpdateAccessKey {...item} onUpdate={state.retry} />\n <DeleteAccessKey\n accessKeyId={item.accessKeyId}\n time={item.lastUsedAt}\n remark={item.remark || 'N/A'}\n onDelete={state.retry}\n />\n </div>\n </div>\n );\n })}\n </AccessKeyList>\n )}\n </div>\n );\n}\n\nconst AccessKeyList = styled.div`\n border: 1px solid\n ${({ theme }) => theme.palette.grey[300]};\n border-radius: 8px;\n\n .access-key-item {\n display: flex;\n justify-content: space-between;\n padding: 16px 32px;\n .access-key-item_info-warpper {\n display: flex;\n flex-grow: 1;\n .access-key-item_icon {\n display: flex;\n align-items: center;\n color: ${({ theme }) => theme.palette.grey[400]};\n svg {\n font-size: 44px;\n }\n }\n .access-key-item_info {\n flex: 1;\n max-width: 400px;\n padding-left: 44px;\n }\n }\n .access-key-item_actions {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n }\n\n .access-key-item_passport span {\n margin-top: 4px;\n padding: 2px 12px;\n font-size: 12px;\n }\n }\n .access-key-item + .access-key-item {\n border-top: 1px solid\n ${({ theme }) => theme.palette.grey[300]}};\n }\n ${({ theme }) => theme.breakpoints.down('md')} {\n .access-key-item {\n padding: 16px;\n .access-key-item_info-warpper {\n min-width: 0;\n .access-key-item_icon {\n svg {\n font-size: 24px;\n }\n }\n .access-key-item_info {\n max-width: 100%;\n padding-left: 16px;\n }\n }\n .access-key-item_actions {\n flex-direction: column;\n justify-content: center;\n }\n }\n }\n`;\n","/* eslint-disable react/jsx-one-expression-per-line */\nimport { useCallback } from 'react';\nimport styled from '@emotion/styled';\nimport { useParams, useNavigate } from 'react-router-dom';\n\nimport Typography from '@mui/material/Typography';\n\nimport Tabs from '@arcblock/ux/lib/Tabs';\nimport { useLocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport AuditLogs from '@abtnode/ux/lib/blocklet/audit-logs';\nimport Members from '@abtnode/ux/lib/team/members';\nimport Passports from '@abtnode/ux/lib/team/passports';\n\nimport { useNodeContext } from '../../contexts/node';\nimport { TeamProvider } from '../../contexts/team';\nimport AccessKeySettings from '../../components/team/access-key';\n\nexport default function TeamPage() {\n const navigate = useNavigate();\n const { t } = useLocaleContext();\n const { info: nodeInfo } = useNodeContext();\n const { tab = 'members' } = useParams(); // members, passports\n const renderAuditLogs = useCallback(() => <AuditLogs />, []);\n const renderMember = useCallback(() => <Members type=\"server\" />, []);\n\n const teamDid = nodeInfo.did;\n\n const onTabChange = newTab => {\n navigate(`/team/${newTab}`);\n };\n\n const tabConfigs = {\n members: {\n label: t('common.members'),\n value: 'members',\n component: renderMember,\n },\n passports: {\n label: t('common.passport'),\n value: 'passports',\n component: Passports,\n },\n 'access-keys': {\n label: t('common.accessKey'),\n value: 'access-keys',\n component: AccessKeySettings,\n },\n 'audit-logs': {\n label: t('common.auditLogs'),\n value: 'audit-logs',\n component: renderAuditLogs,\n },\n };\n\n const tabs = Object.values(tabConfigs).map(({ label, value }) => ({ label, value }));\n\n const tabConfig = tabConfigs[tab] || tabConfigs.member;\n\n return (\n <TeamProvider teamDid={teamDid}>\n <Main>\n <Typography component=\"h2\" variant=\"h4\" className=\"page-header\" color=\"textPrimary\">\n {t('common.team')}\n </Typography>\n <Tabs tabs={tabs} current={tab} onChange={onTabChange} scrollButtons=\"auto\" />\n <div className=\"page-content\">\n <tabConfig.component />\n </div>\n </Main>\n </TeamProvider>\n );\n}\n\nconst Main = styled.main`\n .page-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .page-content {\n margin-top: 24px;\n }\n`;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = ConfirmDialog;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _Dialog = _interopRequireDefault(require(\"@mui/material/Dialog\"));\nvar _Spinner = _interopRequireDefault(require(\"@arcblock/ux/lib/Spinner\"));\nvar _DialogActions = _interopRequireDefault(require(\"@mui/material/DialogActions\"));\nvar _DialogContent = _interopRequireDefault(require(\"@mui/material/DialogContent\"));\nvar _DialogContentText = _interopRequireDefault(require(\"@mui/material/DialogContentText\"));\nvar _DialogTitle = _interopRequireDefault(require(\"@mui/material/DialogTitle\"));\nvar _Alert = _interopRequireDefault(require(\"@mui/material/Alert\"));\nvar _useTheme = _interopRequireDefault(require(\"@mui/material/styles/useTheme\"));\nvar _useMediaQuery = _interopRequireDefault(require(\"@mui/material/useMediaQuery\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _util = require(\"./util\");\nvar _mobileWidth = _interopRequireDefault(require(\"./hooks/mobile-width\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction ConfirmDialog(_ref) {\n let {\n title,\n description,\n showCancel,\n cancel,\n confirm,\n color,\n params: initialParams,\n onCancel,\n onConfirm\n } = _ref;\n const [params, setParams] = (0, _react.useState)(initialParams);\n const [open, setOpen] = (0, _react.useState)(true);\n const [loading, setLoading] = (0, _react.useState)(false);\n const [error, setError] = (0, _react.useState)('');\n const {\n t: changeLocale\n } = (0, _context.useLocaleContext)();\n const theme = (0, _useTheme.default)();\n const onCallback = async cb => {\n if (typeof cb === 'function') {\n setLoading(true);\n try {\n await cb(params);\n setOpen(false);\n } catch (err) {\n setError((0, _util.formatError)(err));\n console.error(err);\n } finally {\n setLoading(false);\n }\n } else {\n setOpen(false);\n }\n };\n const t = typeof title === 'function' ? title() : title;\n const d = typeof description === 'function' ? description(params, setParams, setError) : description;\n const isBreakpointsDownSm = (0, _useMediaQuery.default)(theme.breakpoints.down('md'));\n const handleClick = e => {\n e.stopPropagation();\n };\n const {\n minWidth\n } = (0, _mobileWidth.default)();\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledDialog, {\n onClick: handleClick,\n fullScreen: isBreakpointsDownSm,\n open: open,\n style: {\n minWidth\n },\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_DialogTitle.default, {\n children: t\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_DialogContent.default, {\n style: {\n minWidth\n },\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_DialogContentText.default, {\n component: \"div\",\n children: d\n }), !!error && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Alert.default, {\n severity: \"error\",\n style: {\n width: '100%',\n marginTop: 8\n },\n children: error\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_DialogActions.default, {\n className: \"delete-actions\",\n style: {\n padding: '8px 24px 24px'\n },\n children: [showCancel && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {\n onClick: e => {\n e.stopPropagation();\n onCallback(onCancel);\n },\n color: \"inherit\",\n \"data-cy\": \"cancel-confirm-dialog\",\n children: cancel || changeLocale('common.cancel')\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n onClick: e => {\n e.stopPropagation();\n onCallback(onConfirm);\n },\n color: color\n // eslint-disable-next-line no-underscore-dangle\n ,\n disabled: params.__disableConfirm || loading,\n variant: \"contained\",\n \"data-cy\": \"submit-confirm-dialog\",\n autoFocus: true,\n children: [loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.default, {\n size: [16, 10]\n }), confirm]\n })]\n })]\n });\n}\nConfirmDialog.propTypes = {\n title: _propTypes.default.any.isRequired,\n description: _propTypes.default.any.isRequired,\n // can be a function that renders different content based on params\n showCancel: _propTypes.default.bool,\n cancel: _propTypes.default.string,\n color: _propTypes.default.string,\n confirm: _propTypes.default.string,\n params: _propTypes.default.object,\n // This object holds states managed in the dialog\n onCancel: _propTypes.default.func,\n onConfirm: _propTypes.default.func.isRequired\n};\nConfirmDialog.defaultProps = {\n onCancel: () => {},\n showCancel: true,\n cancel: '',\n confirm: 'Confirm',\n color: 'error',\n params: {}\n};\nconst StyledDialog = (0, _styled.default)(_Dialog.default)(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n .delete-actions .Mui-disabled {\\n color: rgba(0, 0, 0, 0.26) !important;\\n box-shadow: none;\\n background-color: rgba(0, 0, 0, 0.12) !important;\\n }\\n\"])));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _styles = require(\"@mui/styles\");\nvar _useMediaQuery = _interopRequireDefault(require(\"@mui/material/useMediaQuery\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction useMobileWidth() {\n const theme = (0, _styles.useTheme)();\n const isBreakpointsDownSm = (0, _useMediaQuery.default)(theme.breakpoints.down('md'));\n const minWidth = isBreakpointsDownSm ? 300 : theme.breakpoints.values.sm;\n return {\n minWidth\n };\n}\nvar _default = useMobileWidth;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12.65 10C11.83 7.67 9.61 6 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6c2.61 0 4.83-1.67 5.65-4H17v4h4v-4h2v-4H12.65zM7 14c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z\"\n}), 'VpnKey');\n\nexports.default = _default;","import { __assign } from \"tslib\";\nimport { useCallback, useRef, useState } from 'react';\nimport useMountedState from './useMountedState';\nexport default function useAsyncFn(fn, deps, initialState) {\n if (deps === void 0) { deps = []; }\n if (initialState === void 0) { initialState = { loading: false }; }\n var lastCallId = useRef(0);\n var isMounted = useMountedState();\n var _a = useState(initialState), state = _a[0], set = _a[1];\n var callback = useCallback(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var callId = ++lastCallId.current;\n if (!state.loading) {\n set(function (prevState) { return (__assign(__assign({}, prevState), { loading: true })); });\n }\n return fn.apply(void 0, args).then(function (value) {\n isMounted() && callId === lastCallId.current && set({ value: value, loading: false });\n return value;\n }, function (error) {\n isMounted() && callId === lastCallId.current && set({ error: error, loading: false });\n return error;\n });\n }, deps);\n return [state, callback];\n}\n","import { useCallback, useEffect, useRef } from 'react';\nexport default function useMountedState() {\n var mountedRef = useRef(false);\n var get = useCallback(function () { return mountedRef.current; }, []);\n useEffect(function () {\n mountedRef.current = true;\n return function () {\n mountedRef.current = false;\n };\n }, []);\n return get;\n}\n","import { useEffect } from 'react';\nimport useAsyncFn from './useAsyncFn';\nexport default function useAsync(fn, deps) {\n if (deps === void 0) { deps = []; }\n var _a = useAsyncFn(fn, deps, {\n loading: true,\n }), state = _a[0], callback = _a[1];\n useEffect(function () {\n callback();\n }, [callback]);\n return state;\n}\n"],"names":["ping","memoize","url","defaultCheckAccessible","joinURL","URL","origin","WELLKNOWN_PING_PREFIX","CACHE","useUrlEvaluation","urls","checkAccessible","disableCache","initialCachedRef","useRef","filter","map","allCached","current","length","useState","urlsState","setUrlsState","loading","setLoading","recommendedUrlState","useMemo","useEffect","evaluate","evaluateURLs","results","forEach","item","sort","a","b","score","recommendedUrl","useBlockletUrlEvaluation","blocklet","siteMap","useRoutingContext","locale","useContext","LocaleContext","getBlockletUrls","did","meta","params","getBlockletUrlParams","useDomainsAccessibility","domains","result","getAccessUrl","domainsAccessibility","reduce","acc","cur","recommendedDomain","domain","hostname","accessibleUrl","find","accessible","fn","deps","_a","attempt","setAttempt","state","useAsync","__spreadArrays","stateLoading","retry","useCallback","currentAttempt","__assign","CreateAccessKey","props","remark","onCreate","t","useLocaleContext","confirmSetting","setConfirmSetting","client","getClient","roles","RBAC_CONFIG","x","passport","name","ROLES","onConfirm","createAccessKey","input","trim","res","data","setting","title","description","setParams","setError","Typography","component","TextField","label","autoComplete","variant","fullWidth","autoFocus","style","marginBottom","margin","value","onChange","e","target","__disableConfirm","FormControl","width","InputLabel","Select","disabled","r","MenuItem","Box","maxWidth","fontSize","color","whiteSpace","textAlign","confirm","cancel","onCancel","Button","edge","onClick","className","Spinner","size","Add","defaultProps","ConfirmAccessKey","accessKeyId","accessKeySecret","checked","setChecked","hideAccessSecret","setHideAccessSecret","Dialog","open","disableEscapeKeyDown","onClose","showCloseButton","actions","Bold","marginTop","Item","Label","FormControlLabel","control","Checkbox","event","labelPlacement","styled","DeleteAccessKey","formatTime","time","onDelete","deleteAccessKey","console","error","keyName","key","formatToDatetime","timeAge","format","Date","formatLocale","confirmPlaceholder","UpdateAccessKey","onUpdate","updateAccessKey","Edit","AccessKey","api","useNodeContext","confirmInfo","setConfirmInfo","useAsyncRetry","getAccessKeys","response","list","Alert","severity","formatError","mb","permission","show","mt","Empty","AccessKeyList","p","VpnKey","fontWeight","minWidth","showDidLogo","createdAt","createdBy","updatedBy","lastUsedAt","theme","palette","grey","breakpoints","down","TeamPage","navigate","useNavigate","nodeInfo","info","useParams","tab","renderAuditLogs","renderMember","type","teamDid","tabConfigs","members","passports","Passports","AccessKeySettings","tabs","Object","values","tabConfig","member","Main","Tabs","newTab","scrollButtons","defineProperty","exports","ConfirmDialog","_templateObject","_react","require","_propTypes","_interopRequireDefault","_styled","_Dialog","_Spinner","_DialogActions","_DialogContent","_DialogContentText","_DialogTitle","_Alert","_useTheme","_useMediaQuery","_context","_Button","_util","_mobileWidth","_jsxRuntime","obj","__esModule","default","_ref","showCancel","initialParams","setOpen","changeLocale","onCallback","cb","d","isBreakpointsDownSm","jsxs","StyledDialog","stopPropagation","fullScreen","children","jsx","padding","propTypes","any","isRequired","bool","string","object","func","strings","raw","slice","freeze","defineProperties","_styles","_default","useTheme","sm","_createSvgIcon","useAsyncFn","initialState","lastCallId","isMounted","mountedRef","get","useMountedState","set","callback","args","_i","arguments","callId","prevState","apply","then","EN_US","ZH_CN","Locales","register","SEC_ARRAY","toDate","isNaN","test","parseInt","replace","date","opts","sec","relativeDate","diffSec","diff","localeFunc","agoIn","totalSec","Math","abs","idx","floor","toString","formatDiff","getLocale","unit"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"static/js/5720.cebd5eb8.chunk.js","mappings":"sXAYMA,EAAOC,KAAQ,SAAAC,GAAG,OAAIC,IAAuBC,IAAQ,IAAIC,IAAIH,GAAKI,OAAQC,EAAAA,uBAAuB,IAGjGC,EAAQ,CAAC,EAER,SAASC,EAAiB,GAA2E,IAAzEC,EAAI,EAAJA,KAAK,EAAD,EAAEC,gBAAAA,OAAe,MAAGR,IAAsB,MAAES,aAAAA,OAAY,OAAQ,EAG/FC,GAAmBC,EAAAA,EAAAA,QAAOJ,EAAKK,QAAO,SAAAb,GAAG,OAAIM,EAAMN,EAAI,IAAEc,KAAI,SAAAd,GAAG,OAAIM,EAAMN,EAAI,KAC9Ee,EAAYJ,EAAiBK,QAAQC,SAAWT,EAAKS,OAC3D,GAAkCC,EAAAA,EAAAA,UAASH,EAAYJ,EAAiBK,QAAU,IAAG,eAA9EG,EAAS,KAAEC,EAAY,KAC9B,GAA8BF,EAAAA,EAAAA,WAAUH,GAAU,eAA3CM,EAAO,KAAEC,EAAU,KACpBC,GAAsBC,EAAAA,EAAAA,UAAQ,WAClC,OAAKH,GAAWF,EAAUF,OACjBE,EAAU,GAEZ,IACT,GAAG,CAACA,EAAWE,IA8Bf,OA5BAI,EAAAA,EAAAA,YAAU,WACR,IAAQ,OAAJjB,QAAI,IAAJA,OAAI,EAAJA,EAAMS,QAAS,IAAMF,EAAW,CAClC,IAAMW,EAAQ,yCAAG,yFAEE,GAAjBJ,GAAW,IACPZ,EAAa,CAAD,gCACEiB,EAAAA,EAAAA,cAAanB,EAAM,CAAEC,gBAAAA,IAAmB,KAAD,GAAvDmB,EAAO,QACCC,SAAQ,SAAAC,GACdxB,EAAMwB,EAAK9B,KAAO8B,CACpB,IAAG,yCAEkBH,EAAAA,EAAAA,cACnBnB,EAAKK,QAAO,SAAAb,GAAG,OAAKM,EAAMN,EAAI,IAC9B,CAAES,gBAAAA,IACF,KAAD,GAHW,OAILoB,SAAQ,SAAAC,GACbxB,EAAMwB,EAAK9B,KAAO8B,CACpB,IACAF,EAAUpB,EAAKM,KAAI,SAAAd,GAAG,OAAIM,EAAMN,EAAI,IAAE+B,MAAK,SAACC,EAAGC,GAAC,OAAKA,EAAEC,MAAQF,EAAEE,KAAK,IAAE,QAE1Ed,EAAaQ,GACbN,GAAW,GAAO,4CACnB,kBApBa,mCAqBdI,GACF,CAEF,GAAG,CAAClB,EAAME,EAAcK,IAEjB,CACLI,UAAAA,EACAE,QAAAA,EACAE,oBAAAA,EACAY,eAAmC,OAAnBZ,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqBvB,IAEzC,CAMO,SAASoC,EAAyBC,GACvC,IAAQC,GAAYC,EAAAA,EAAAA,MAAZD,QACAE,GAAWC,EAAAA,EAAAA,YAAWC,EAAAA,eAAtBF,OACFhC,GAAOgB,EAAAA,EAAAA,UAAQ,WACnB,OAAKa,GAIEM,EAAAA,EAAAA,IAAgB,CAAEC,IAAKP,EAASQ,KAAKD,IAAKN,QAAAA,EAASQ,QAAQC,EAAAA,EAAAA,IAAqBV,EAAUG,KAHxF,EAIX,GAAG,CAACH,EAAUG,EAAQF,IACtB,EAAyD/B,EAAiB,CAAEC,KAAAA,EAAMC,gBAAiBX,IACnG,MAAO,CAAEU,KAAAA,EAAMa,QADA,EAAPA,QACgBE,oBADY,EAAnBA,oBAC4BY,eADO,EAAdA,eAExC,CAMO,SAASa,EAAwBC,GAEtC,IAEIC,EADJ,EAA+C3C,EAAiB,CAAEC,MADrDgB,EAAAA,EAAAA,UAAQ,kBAAMyB,EAAQnC,KAAI,SAAAgB,GAAI,OAAIqB,EAAAA,EAAAA,IAAarB,EAAK,GAAC,GAAE,CAACmB,IACGxC,gBAAiBX,IAAjFqB,EAAS,EAATA,UAAWE,EAAO,EAAPA,QAASc,EAAc,EAAdA,eAE5B,GAAId,EACF6B,EAAS,CACPE,qBAAsBH,EAAQI,QAAO,SAACC,EAAKC,GAAG,yBAAWD,GAAG,cAAGC,EAAM,CAAElC,SAAS,IAAM,GAAK,CAAC,GAC5FmC,kBAAmB,UAEhB,CAAC,IAAD,EACCJ,EAAuBjC,EAAUkC,QAAO,SAACC,EAAKC,GAElD,IAAME,EAAS,IAAItD,IAAIoD,EAAIvD,KAAK0D,SAEhC,OADAJ,EAAIG,IAAO,kBAAQF,GAAG,IAAEE,OAAAA,IACjBH,CACT,GAAG,CAAC,GAEEK,GAAuD,QAAvC,EAAAxC,EAAUyC,MAAK,SAAA9B,GAAI,OAAIA,EAAK+B,UAAU,WAAC,aAAvC,EAAyC7D,MAAOmC,EACtEe,EAAS,CACPE,qBAAAA,EACAI,kBAAmBG,EAAgB,IAAIxD,IAAIwD,GAAeD,SAAW,KAEzE,CACA,OAAOR,CACT,C,8QC/FA,EAhBoB,SAAUY,EAAIC,QACjB,IAATA,IAAmBA,EAAO,IAC9B,IAAIC,GAAK9C,EAAAA,EAAAA,UAAS,GAAI+C,EAAUD,EAAG,GAAIE,EAAaF,EAAG,GACnDG,GAAQC,EAAAA,EAAAA,GAASN,GAAIO,EAAAA,EAAAA,gBAAeN,EAAM,CAACE,KAC3CK,EAAeH,EAAM9C,QACrBkD,GAAQC,EAAAA,EAAAA,cAAY,WAChBF,GAMJJ,GAAW,SAAUO,GAAkB,OAAOA,EAAiB,CAAG,GACtE,IAAGJ,EAAAA,EAAAA,gBAAeN,EAAM,CAACO,KACzB,OAAOI,EAAAA,EAAAA,WAASA,EAAAA,EAAAA,UAAS,CAAC,EAAGP,GAAQ,CAAEI,MAAOA,GAClD,E,uNCGe,SAASI,EAAgBC,GACtC,IAAQC,EAAqBD,EAArBC,OAAQC,EAAaF,EAAbE,SACRC,GAAMC,EAAAA,EAAAA,oBAAND,EACR,GAA8B7D,EAAAA,EAAAA,WAAS,GAAM,eAAtCG,EAAO,KAAEC,EAAU,KAC1B,GAA4CJ,EAAAA,EAAAA,UAAS,MAAK,eAAnD+D,EAAc,KAAEC,EAAiB,KAClCC,GAASC,EAAAA,EAAAA,KAETC,EAAQC,EAAAA,YAAAA,MAAAA,QAAyB,SAAAC,GAAC,OAAIA,EAAEC,UAAYD,EAAEE,OAASC,EAAAA,MAAAA,KAAW,IAO1EC,EAAS,yCAAG,WAAM7C,GAAM,kFAGX,OADT+B,EAAqB/B,EAArB+B,OAAQW,EAAa1C,EAAb0C,SAChBlE,GAAW,GAAM,SACC6D,EAAOS,gBAAgB,CACvCC,MAAO,CACLhB,OAAQA,EAAOiB,OACfN,SAAAA,KAED,KAAD,EALIO,EAAG,OAMDC,EAASD,EAATC,KACRlB,EAASkB,GACTd,EAAkB,MAClB5D,GAAW,GAAO,2CACnB,gBAdc,sCAgBT2E,EAAU,CACdC,MAAM,GAAD,OAAKnB,EAAE,iBAAgB,YAAIA,EAAE,qBAElCoB,YAAa,SAACrD,EAAQsD,EAAWC,GAAQ,OACvC,UAACC,EAAA,EAAU,CAACC,UAAU,MAAK,WACzB,SAACC,EAAA,EAAS,CACRC,MAAO1B,EAAE,yBACT2B,aAAa,MACbC,QAAQ,WACRlB,KAAK,SACL,UAAQ,eACRmB,WAAS,EACTC,WAAS,EACTC,MAAO,CAAEC,aAAc,IACvBC,OAAO,QACPC,MAAOnE,EAAO+B,OACdqC,SAAU,SAAAC,GACRf,GAAU,kBACLtD,GAAM,IACT+B,OAAQsC,EAAEC,OAAOH,MACjBI,kBAAmBvE,EAAO0C,WAAa2B,EAAEC,OAAOH,MAAMnB,UAEnDqB,EAAEC,OAAOH,MAAMnB,OAGlBO,EAAS,IAFTA,EAAStB,EAAE,mCAIf,KAGF,UAACuC,EAAA,EAAW,CAACR,MAAO,CAAES,MAAO,QAAUZ,QAAQ,WAAU,WACvD,SAACa,EAAA,EAAU,UAAEzC,EAAE,sBACf,SAAC0C,EAAA,EAAM,CACL,UAAQ,oCACRR,MAAOnE,EAAO0C,SACd0B,SAAU,SAAAC,GACR,IAAM3B,EAAW2B,EAAEC,OAAOH,MAC1BZ,EAAS,MACTD,GAAU,kBACLtD,GAAM,IACT0C,SAAAA,EACA6B,kBAAmBvE,EAAO+B,SAAWW,IAEzC,EACAoB,WAAS,EACTH,MAAO1B,EAAE,mBACT2C,SAAUrG,EAAQ,SACjBgE,EAAMvE,KAAI,SAAA6G,GAAC,OACV,SAACC,EAAA,EAAQ,CAAcX,MAAOU,EAAElC,KAAM,sDAA8CkC,EAAElC,MAAO,UAC3F,UAACoC,EAAA,EAAG,YACF,0BAAOF,EAAEzB,OAASyB,EAAElC,QACpB,SAACoC,EAAA,EAAG,CAACC,SAAU,IAAKC,SAAU,GAAIC,MAAM,OAAOC,WAAW,SAASC,UAAU,UAAS,SACnFP,EAAExB,kBAJMwB,EAAElC,KAON,WAIN,EAEf0C,QAASpD,EAAE,kBACXqD,OAAQrD,EAAE,iBACViD,MAAO,UACPlF,OAAQ,CACN+B,OAAAA,EACAwC,kBAAmBxC,EAAOiB,QAE5BH,UAAAA,EACA0C,SA1Fe,WACf/G,GAAW,GACX4D,EAAkB,KACpB,GA0FA,OACE,iCACE,UAACoD,EAAA,QAAM,CACLC,KAAK,MACL5B,QAAQ,YACRqB,MAAM,UACN,UAAQ,qBACRQ,QAAS,kBAAMtD,EAAkBe,EAAQ,EACzCwC,UAAU,cAAa,UACtBpH,GAAU,SAACqH,EAAA,QAAO,CAACC,KAAM,CAAC,GAAI,OAAU,SAACC,EAAA,QAAO,CAAC9B,MAAO,CAAEiB,SAAU,MACpEhD,EAAE,oBAEJE,IACC,SAAC,IAAO,CACNiB,MAAOjB,EAAeiB,MACtBC,YAAalB,EAAekB,YAC5BgC,QAASlD,EAAekD,QACxBH,MAAO/C,EAAe+C,MACtBI,OAAQnD,EAAemD,OACvBtF,OAAQmC,EAAenC,OACvB6C,UAAWV,EAAeU,UAC1B0C,SAAUpD,EAAeoD,aAKnC,CAOA1D,EAAgBkE,aAAe,CAC7B/D,SAAU,WAAO,EACjBD,OAAQ,I,sDClJK,SAASiE,EAAiBlE,GACvC,IAAQe,EAA4Cf,EAA5Ce,UAAWoD,EAAiCnE,EAAjCmE,YAAaC,EAAoBpE,EAApBoE,gBACxBjE,GAAMtC,EAAAA,EAAAA,YAAWC,EAAAA,eAAjBqC,EACR,GAA8B7D,EAAAA,EAAAA,WAAS,GAAM,eAAtC+H,EAAO,KAAEC,EAAU,KAC1B,GAAgDhI,EAAAA,EAAAA,WAAS,GAAK,eAAvDiI,EAAgB,KAAEC,EAAmB,KAU5C,OACE,UAACC,EAAA,QAAM,CACLnD,MAAOnB,EAAE,wBACT6B,WAAS,EACT0C,MAAI,EACJC,sBAAoB,EACpBC,QAAS7D,EACT8D,iBAAiB,EACjBC,SACE,0BACE,SAACpB,EAAA,QAAM,CACLZ,UAAWuB,EACXT,QAAS7C,EACTqC,MAAM,UACNnB,WAAS,EACTF,QAAQ,YACR,UAAQ,wBAAuB,SAC9B5B,EAAE,sBAIT,kBAAgB,sBAAqB,WACrC,0BACE,SAAC4E,EAAI,UAAE5E,EAAE,wCAEX,gBAAK+B,MAAO,CAAE8C,UAAW,WACzB,UAACC,EAAI,YACH,SAACC,EAAK,0BACN,SAAC,UAAW,UAAEf,QAEhB,UAACc,EAAI,YACH,SAACC,EAAK,4BACLX,GACC,SAACb,EAAA,QAAM,CAAC,UAAQ,kBAAkBN,MAAM,UAAUQ,QAzCnC,WACrBY,GAAqBD,EACvB,EAuCkF,SACvEpE,EAAE,mCAGL,SAAC,UAAW,UAAEiE,QAGlB,0BACE,SAACe,EAAA,EAAgB,CACf9C,MAAM,MACNS,SAAUyB,EACVa,SAAS,SAACC,EAAA,EAAQ,CAAChB,QAASA,EAAS/B,SAhDxB,SAAAgD,GACnBhB,EAAWgB,EAAM9C,OAAO6B,QAC1B,IA+CQxC,MAAO1B,EAAE,2BACToF,eAAe,YAKzB,CAQArB,EAAiBD,aAAe,CAC9BlD,UAAW,WAAO,GAGpB,IAAMmE,EAAQM,EAAAA,QAAAA,IAAU,gJAOlBP,EAAOO,EAAAA,QAAAA,IAAU,gDAGjBT,EAAOS,EAAAA,QAAAA,IAAU,kE,mCCpFR,SAASC,GAAgBzF,GACtC,IAyBiB0F,EAzBjB,GAAsBtF,EAAAA,EAAAA,oBAAdD,EAAC,EAADA,EAAGvC,EAAM,EAANA,OACX,GAA8BtB,EAAAA,EAAAA,WAAS,GAAM,eAAtCG,EAAO,KAAEC,EAAU,KAC1B,GAA4CJ,EAAAA,EAAAA,UAAS,MAAK,eAAnD+D,EAAc,KAAEC,EAAiB,KAChC6D,EAAmDnE,EAAnDmE,YAAawB,EAAsC3F,EAAtC2F,KAAM1F,EAAgCD,EAAhCC,OAAO,EAAyBD,EAAxB4F,SAAAA,OAAQ,MAAG,WAAO,EAAC,EAEhDrF,GAASC,EAAAA,EAAAA,KAOTO,EAAS,yCAAG,mFACC,OAAjBrE,GAAW,GAAM,kBAET6D,EAAOsF,gBAAgB,CAAE5E,MAAO,CAAEkD,YAAAA,KAAiB,KAAD,EACxDyB,IAAW,gDAEXE,QAAQC,MAAM,EAAD,IAAQ,QAGG,OAHH,UAErBrJ,GAAW,GACX4D,EAAkB,MAAM,4EAE3B,kBAXc,mCAoBTe,EAAU,CACd2E,QAAS/F,EACTqB,MAAOnB,EAAE,2BACToB,YAAiB,UAAJoE,EACNxF,EAAE,iCAXMuF,EAWoCC,EAXrB,CAC9BM,IAAI,MAAD,OAAQ9B,EAAW,QACtBtD,KAAK,MAAD,OAAQZ,EAAM,QAClB0F,MAAMO,EAAAA,EAAAA,IAAiBR,GACvBS,SAASC,EAAAA,GAAAA,IAAO,IAAIC,KAAKX,IAAaY,EAAAA,EAAAA,IAAa1I,OAQ5CuC,EAAE,sCAAuC,CAAE8F,IAAI,MAAD,OAAQ9B,EAAW,QAAQtD,KAAK,MAAD,OAAQZ,EAAM,WAClGsG,mBAAoBpG,EAAE,iCAAkC,CAAEU,KAAMZ,IAChEsD,QAASpD,EAAE,qBACXqD,OAAQrD,EAAE,iBACVY,UAAAA,EACA0C,SAnCe,WACf/G,GAAW,GACX4D,EAAkB,KACpB,GAmCA,OACE,iCACE,UAACoD,EAAA,QAAM,CAACC,KAAK,MAAMC,QAAS,kBAAMtD,EAAkBe,EAAQ,EAAE0C,KAAK,QAAQF,UAAU,cAAcT,MAAM,QAAO,UAC7G3G,GAAU,SAACqH,EAAA,QAAO,CAACC,KAAM,CAAC,GAAI,OAAU,SAAC,WAAU,CAAC7B,MAAO,CAAEiB,SAAU,MACvEhD,EAAE,oBAEJE,IACC,SAAC,KAAU,CACT2F,QAAS3F,EAAe2F,QACxB1E,MAAOjB,EAAeiB,MACtBC,YAAalB,EAAekB,YAC5BgF,mBAAoBlG,EAAekG,mBACnChD,QAASlD,EAAekD,QACxBC,OAAQnD,EAAemD,OACvBtF,OAAQmC,EAAenC,OACvB6C,UAAWV,EAAeU,UAC1B0C,SAAUpD,EAAeoD,aAKnC,CASAgC,GAAgBxB,aAAe,CAC7B2B,SAAU,WAAO,G,gBCxEJ,SAASY,GAAgBxG,GACtC,IAAQmE,EAA4CnE,EAA5CmE,YAAalE,EAA+BD,EAA/BC,OAAQwG,EAAuBzG,EAAvByG,SAAU7F,EAAaZ,EAAbY,SAC/BT,GAAMC,EAAAA,EAAAA,oBAAND,EACR,GAA8B7D,EAAAA,EAAAA,WAAS,GAAM,eAAtCG,EAAO,KAAEC,EAAU,KAC1B,GAA4CJ,EAAAA,EAAAA,UAAS,MAAK,eAAnD+D,EAAc,KAAEC,EAAiB,KAClCC,GAASC,EAAAA,EAAAA,KAETC,EAAQC,EAAAA,YAAAA,MAAAA,QAAyB,SAAAC,GAAC,OAAIA,EAAEC,UAAYD,EAAEE,OAASC,EAAAA,MAAAA,KAAW,IAO1EC,EAAS,yCAAG,WAAM7C,GAAM,gFAGX,OADTiG,EAAkCjG,EAAlCiG,YAAalE,EAAqB/B,EAArB+B,OAAQW,EAAa1C,EAAb0C,SAC7BlE,GAAW,GAAM,SACX6D,EAAOmG,gBAAgB,CAC3BzF,MAAO,CACLkD,YAAAA,EACAlE,OAAQA,EAAOiB,OACfN,SAAAA,KAED,KAAD,EACF6F,IACAnG,EAAkB,MAClB5D,GAAW,GAAO,2CACnB,gBAdc,sCAgBT2E,EAAU,CACdC,MAAM,GAAD,OAAKnB,EAAE,iBAAgB,YAAIA,EAAE,qBAElCoB,YAAa,SAACrD,EAAQsD,EAAWC,GAAQ,OACvC,UAACC,EAAA,EAAU,CAACC,UAAU,MAAK,WACzB,SAACC,EAAA,EAAS,CACRC,MAAO1B,EAAE,iCACT2B,aAAa,MACbC,QAAQ,WACRlB,KAAK,cACLmB,WAAS,EACTC,WAAS,EACTC,MAAO,CAAEC,aAAc,IACvBC,OAAO,QACPC,MAAOnE,EAAOiG,YACdrB,UAAQ,KAEV,SAAClB,EAAA,EAAS,CACRC,MAAO1B,EAAE,iBACT2B,aAAa,MACbC,QAAQ,WACRlB,KAAK,SACLmB,WAAS,EACTC,WAAS,EACTC,MAAO,CAAEC,aAAc,IACvBE,MAAOnE,EAAO+B,OACdqC,SAAU,SAAAC,GACRf,GAAU,kBAAKtD,GAAM,IAAE+B,OAAQsC,EAAEC,OAAOH,MAAOI,kBAAmBF,EAAEC,OAAOH,MAAMnB,UAC5EqB,EAAEC,OAAOH,MAAMnB,OAGlBO,EAAS,IAFTA,EAAStB,EAAE,mCAIf,KAGF,UAACuC,EAAA,EAAW,CAACR,MAAO,CAAES,MAAO,QAAUZ,QAAQ,WAAU,WACvD,SAACa,EAAA,EAAU,UAAEzC,EAAE,sBACf,SAAC0C,EAAA,EAAM,CACL,UAAQ,oCACRR,MAAOnE,EAAO0C,SACd0B,SAAU,SAAAC,GAER,IAAM3B,EAAW2B,EAAEC,OAAOH,MAC1BZ,EAAS,MACTD,GAAU,kBACLtD,GAAM,IACT0C,SAAAA,EACA6B,kBAAmBvE,EAAO+B,SAAWW,IAEzC,EACAoB,WAAS,EACTH,MAAO1B,EAAE,mBACT2C,SAAUrG,EAAQ,SACjBgE,EAAMvE,KAAI,SAAA6G,GAAC,OACV,SAACC,EAAA,EAAQ,CAAcX,MAAOU,EAAElC,KAAM,sDAA8CkC,EAAElC,MAAO,UAC3F,0BAAOkC,EAAEzB,OAASyB,EAAElC,QADPkC,EAAElC,KAEN,WAIN,EAEf0C,QAASpD,EAAE,kBACXqD,OAAQrD,EAAE,iBACViD,MAAO,UACPlF,OAAQ,CACNiG,YAAAA,EACAlE,OAAAA,EACAW,SAAAA,GAEFG,UAAAA,EACA0C,SA7Fe,WACf/G,GAAW,GACX4D,EAAkB,KACpB,GA6FA,OACE,iCACE,UAACoD,EAAA,QAAM,CACLC,KAAK,MACLC,QAAS,kBAAMtD,EAAkBe,EAAQ,EACzC0C,KAAK,QACLF,UAAU,cACVT,MAAM,UAAS,UACd3G,GAAU,SAACqH,EAAA,QAAO,CAACC,KAAM,CAAC,GAAI,OAAU,SAAC4C,GAAA,QAAQ,CAACzE,MAAO,CAAEiB,SAAU,MACrEhD,EAAE,oBAEJE,IACC,SAAC,IAAO,CACNiB,MAAOjB,EAAeiB,MACtBC,YAAalB,EAAekB,YAC5BgC,QAASlD,EAAekD,QACxBH,MAAO/C,EAAe+C,MACtBI,OAAQnD,EAAemD,OACvBtF,OAAQmC,EAAenC,OACvB6C,UAAWV,EAAeU,UAC1B0C,SAAUpD,EAAeoD,aAKnC,CASA+C,GAAgBvC,aAAe,CAC7BwC,SAAU,WAAO,EACjBxG,OAAQ,GACRW,SAAU,I,mBC3IG,SAASgG,KACtB,IAAQzG,GAAMtC,EAAAA,EAAAA,YAAWC,EAAAA,eAAjBqC,EACA0G,GAAQC,EAAAA,EAAAA,MAARD,IACR,GAAsCvK,EAAAA,EAAAA,UAAS,CAAC,GAAE,eAA3CyK,EAAW,KAAEC,EAAc,KAE5BzH,EAAQ0H,GAAa,uBAAC,2GACHJ,EAAIK,gBAAgB,KAAD,EAC9B,OADNC,EAAQ,OACNC,EAASD,EAATC,KAAI,kBACLA,GAAI,4CAGPA,EAAO7H,EAAM8C,OAAS,GACpB5F,EAAmB8C,EAAnB9C,QAASsJ,EAAUxG,EAAVwG,MAEjB,OAAKqB,EAAK/K,QAAUI,GAEhB,gBAAKyF,MAAO,CAAEoB,UAAW,SAAU0B,UAAW,QAAS,UACrD,SAAClB,EAAA,QAAO,OAITsD,EAAK/K,QAAU0J,GACX,SAACsB,EAAA,EAAK,CAACC,SAAS,QAAO,UAAEC,EAAAA,EAAAA,GAAYxB,MAI5C,4BACE,UAAC9C,EAAA,EAAG,CAACuE,GAAI,EAAGlE,UAAU,QAAO,WAC3B,SAAC,KAAU,CAACmE,WAAW,cAAa,UAClC,SAAC1H,EAAe,CACdG,SAAU,SAAAkB,GACR,IAAQ+C,EAAiC/C,EAAjC+C,YAAaC,EAAoBhD,EAApBgD,gBACrB4C,EAAe,CACbU,MAAM,EACNvD,YAAAA,EACAC,gBAAAA,GAEJ,MAGH2C,EAAYW,OACX,SAACxD,GAAgB,QACfnD,UAAW,WACTxB,EAAMI,QACNqH,EAAe,CAAEU,MAAM,GACzB,GACIX,QAKRK,EAAK/K,SACL,SAAC4G,EAAA,EAAG,CAAC0E,GAAI,EAAE,UACT,SAACC,EAAA,QAAK,UAAEzH,EAAE,uBAGXiH,EAAK/K,SACN,SAACwL,GAAa,UACXT,EAAKlL,KAAI,SAAAgB,GACR,IAAM+C,EAAS/C,EAAK+C,QAAU,MACxB6H,EAAIpH,EAAAA,YAAAA,MAAAA,MAAuB,SAAAC,GAAC,OAAIA,EAAEE,OAAS3D,EAAK0D,QAAQ,IAC9D,OACE,iBAAKiD,UAAU,kBAAiB,WAC9B,iBAAKA,UAAU,+BAA8B,WAC3C,gBAAKA,UAAU,uBAAsB,UACnC,SAACkE,EAAA,EAAM,OAET,iBAAKlE,UAAU,uBAAsB,WACnC,SAACZ,EAAA,EAAG,CAAC+E,WAAY,IAAI,SAAE/H,KACvB,SAACgD,EAAA,EAAG,CAACgF,SAAU,EAAE,UACf,SAAC,IAAU,CAACC,aAAa,EAAM,SAAEhL,EAAKiH,iBAExC,0CAAiB+B,EAAAA,EAAAA,IAAiBhJ,EAAKiL,eACvC,yCAAiBjL,EAAKkL,aACrBlL,EAAKmL,YAAa,yCAAiBnL,EAAKmL,aACxCnL,EAAKoL,aAAc,4CAAmBpC,EAAAA,EAAAA,IAAiBhJ,EAAKoL,gBAC7D,gBAAKzE,UAAU,2BAA0B,UACvC,SAAC,UAAW,CAACjD,SAAU,CAAEU,MAAOwG,EAAIA,EAAExG,MAAQpE,EAAK0D,qBAIzD,iBAAKiD,UAAU,0BAAyB,WACtC,SAAC2C,IAAe,kBAAKtJ,GAAI,IAAEuJ,SAAUlH,EAAMI,UAC3C,SAAC8F,GAAe,CACdtB,YAAajH,EAAKiH,YAClBwB,KAAMzI,EAAKoL,WACXrI,OAAQ/C,EAAK+C,QAAU,MACvB2F,SAAUrG,EAAMI,aAK1B,QAKV,CAEA,I,GAAMkI,GAAgBrC,EAAAA,QAAAA,IAAU,k0CAE1B,YAAQ,SAAL+C,MAAkBC,QAAQC,KAAK,IAAI,IAa3B,YAAQ,SAALF,MAAkBC,QAAQC,KAAK,IAAI,IAyB/C,YAAQ,SAALF,MAAkBC,QAAQC,KAAK,IAAI,IAE1C,YAAQ,SAALF,MAAkBG,YAAYC,KAAK,KAAK,ICnJhC,SAASC,KACtB,IAAMC,GAAWC,EAAAA,EAAAA,MACT3I,GAAMC,EAAAA,EAAAA,oBAAND,EACM4I,GAAajC,EAAAA,EAAAA,MAAnBkC,KAC+B,GAAXC,EAAAA,EAAAA,MAApBC,IAAAA,OAAG,MAAG,UAAS,EACjBC,GAAkBvJ,EAAAA,EAAAA,cAAY,kBAAM,SAAC,IAAS,GAAG,GAAE,IACnDwJ,GAAexJ,EAAAA,EAAAA,cAAY,kBAAM,SAAC,IAAO,CAACyJ,KAAK,UAAW,GAAE,IAE5DC,EAAUP,EAAS/K,IAMnBuL,EAAa,CACjBC,QAAS,CACP3H,MAAO1B,EAAE,kBACTkC,MAAO,UACPV,UAAWyH,GAEbK,UAAW,CACT5H,MAAO1B,EAAE,mBACTkC,MAAO,YACPV,UAAW+H,EAAAA,GAEb,cAAe,CACb7H,MAAO1B,EAAE,oBACTkC,MAAO,cACPV,UAAWgI,IAEb,aAAc,CACZ9H,MAAO1B,EAAE,oBACTkC,MAAO,aACPV,UAAWwH,IAITS,EAAOC,OAAOC,OAAOP,GAAYrN,KAAI,YAAe,MAAQ,CAAE2F,MAAjB,EAALA,MAA6BQ,MAAjB,EAALA,MAA6B,IAE5E0H,EAAYR,EAAWL,IAAQK,EAAWS,OAEhD,OACE,SAAC,KAAY,CAACV,QAASA,EAAQ,UAC7B,UAACW,GAAI,YACH,SAACvI,EAAA,EAAU,CAACC,UAAU,KAAKI,QAAQ,KAAK8B,UAAU,cAAcT,MAAM,cAAa,SAChFjD,EAAE,kBAEL,SAAC+J,EAAA,QAAI,CAACN,KAAMA,EAAMxN,QAAS8M,EAAK5G,SArClB,SAAA6H,GAClBtB,EAAS,SAAD,OAAUsB,GACpB,EAmC6DC,cAAc,UACrE,gBAAKvG,UAAU,eAAc,UAC3B,SAACkG,EAAUpI,UAAS,UAK9B,CAEA,IAAMsI,GAAOzE,EAAAA,QAAAA,KAAW,oL,uBCzEX,6DAEbqE,OAAOQ,eAAeC,EAAS,aAAc,CAC3CjI,OAAO,IAETiI,EAAAA,QAAkBC,EAClB,IAiBIC,EAjBAC,EAASC,EAAQ,OACjBC,EAAaC,EAAuBF,EAAQ,QAC5CG,EAAUD,EAAuBF,EAAQ,QACzCI,EAAUF,EAAuBF,EAAQ,QACzCK,EAAWH,EAAuBF,EAAQ,QAC1CM,EAAiBJ,EAAuBF,EAAQ,QAChDO,EAAiBL,EAAuBF,EAAQ,QAChDQ,EAAqBN,EAAuBF,EAAQ,QACpDS,EAAeP,EAAuBF,EAAQ,QAC9CU,EAASR,EAAuBF,EAAQ,QACxCW,EAAYT,EAAuBF,EAAQ,QAC3CY,EAAiBV,EAAuBF,EAAQ,QAChDa,EAAWb,EAAQ,OACnBc,EAAUZ,EAAuBF,EAAQ,QACzCe,EAAQf,EAAQ,OAChBgB,EAAed,EAAuBF,EAAQ,QAC9CiB,EAAcjB,EAAQ,OAE1B,SAASE,EAAuBgB,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAEE,QAASF,EAAO,CAE9F,SAASrB,EAAcwB,GACrB,IACEzK,EASEyK,EATFzK,MACAC,EAQEwK,EARFxK,YACAyK,EAOED,EAPFC,WACAxI,EAMEuI,EANFvI,OACAD,EAKEwI,EALFxI,QACAH,EAIE2I,EAJF3I,MACQ6I,EAGNF,EAHF7N,OACAuF,EAEEsI,EAFFtI,SACA1C,EACEgL,EADFhL,UAEF,GAA4B,EAAI0J,EAAOnO,UAAU2P,GAAc,SAAxD/N,EAAM,KAAEsD,EAAS,KACxB,GAAwB,EAAIiJ,EAAOnO,WAAU,GAAK,SAA3CoI,EAAI,KAAEwH,EAAO,KACpB,GAA8B,EAAIzB,EAAOnO,WAAU,GAAM,SAAlDG,EAAO,KAAEC,EAAU,KAC1B,GAA0B,EAAI+N,EAAOnO,UAAU,IAAG,SAA3CyJ,EAAK,KAAEtE,EAAQ,KAEjB0K,GACD,EAAIZ,EAASnL,oBADfD,EAEIoI,GAAQ,EAAI8C,EAAUS,WACtBM,EAAU,6BAAG,WAAMC,GAAE,oEACP,oBAAPA,EAAiB,iBACT,OAAjB3P,GAAW,GAAM,kBAET2P,EAAGnO,GAAO,OAChBgO,GAAQ,GAAO,gDAEfzK,GAAS,EAAIgK,EAAMlE,aAAa,EAAF,KAC9BzB,QAAQC,MAAM,EAAD,IAAM,QAED,OAFC,UAEnBrJ,GAAW,GAAO,6CAGpBwP,GAAQ,GAAO,+DAElB,gBAfe,sCAgBV/L,EAAqB,oBAAVmB,EAAuBA,IAAUA,EAC5CgL,EAA2B,oBAAhB/K,EAA6BA,EAAYrD,EAAQsD,EAAWC,GAAYF,EACnFgL,GAAsB,EAAIjB,EAAeQ,SAASvD,EAAMG,YAAYC,KAAK,OAK7EV,GACE,EAAIyD,EAAaI,WADnB7D,SAEF,OAAoB,EAAI0D,EAAYa,MAAMC,EAAc,CACtD7I,QAPkB,SAAArB,GAClBA,EAAEmK,iBACJ,EAMEC,WAAYJ,EACZ7H,KAAMA,EACNxC,MAAO,CACL+F,SAAAA,GAEF2E,SAAU,EAAc,EAAIjB,EAAYkB,KAAK1B,EAAaW,QAAS,CACjEc,SAAUzM,KACK,EAAIwL,EAAYa,MAAMvB,EAAea,QAAS,CAC7D5J,MAAO,CACL+F,SAAAA,GAEF2E,SAAU,EAAc,EAAIjB,EAAYkB,KAAK3B,EAAmBY,QAAS,CACvEnK,UAAW,MACXiL,SAAUN,MACNvG,IAAsB,EAAI4F,EAAYkB,KAAKzB,EAAOU,QAAS,CAC/DxE,SAAU,QACVpF,MAAO,CACLS,MAAO,OACPqC,UAAW,GAEb4H,SAAU7G,QAEG,EAAI4F,EAAYa,MAAMxB,EAAec,QAAS,CAC7DjI,UAAW,iBACX3B,MAAO,CACL4K,QAAS,iBAEXF,SAAU,CAACZ,IAA2B,EAAIL,EAAYkB,KAAKrB,EAAQM,QAAS,CAC1ElI,QAAS,SAAArB,GACPA,EAAEmK,kBACFN,EAAW3I,EACb,EACAL,MAAO,UACP,UAAW,wBACXwJ,SAAUpJ,GAAU2I,EAAa,oBAClB,EAAIR,EAAYa,MAAMhB,EAAQM,QAAS,CACtDlI,QAAS,SAAArB,GACPA,EAAEmK,kBACFN,EAAWrL,EACb,EACAqC,MAAOA,EAGPN,SAAU5E,EAAOuE,kBAAoBhG,EACrCsF,QAAS,YACT,UAAW,wBACXE,WAAW,EACX2K,SAAU,CAACnQ,IAAwB,EAAIkP,EAAYkB,KAAK9B,EAASe,QAAS,CACxE/H,KAAM,CAAC,GAAI,MACTR,UAIZ,CACAgH,EAAcwC,UAAY,CACxBzL,MAAOqJ,EAAWmB,QAAQkB,IAAIC,WAC9B1L,YAAaoJ,EAAWmB,QAAQkB,IAAIC,WAEpCjB,WAAYrB,EAAWmB,QAAQoB,KAC/B1J,OAAQmH,EAAWmB,QAAQqB,OAC3B/J,MAAOuH,EAAWmB,QAAQqB,OAC1B5J,QAASoH,EAAWmB,QAAQqB,OAC5BjP,OAAQyM,EAAWmB,QAAQsB,OAE3B3J,SAAUkH,EAAWmB,QAAQuB,KAC7BtM,UAAW4J,EAAWmB,QAAQuB,KAAKJ,YAErC1C,EAActG,aAAe,CAC3BR,SAAU,WAAO,EACjBuI,YAAY,EACZxI,OAAQ,GACRD,QAAS,UACTH,MAAO,QACPlF,OAAQ,CAAC,GAEX,IA3HgCoP,EAASC,EA2HnCd,GAAe,EAAI5B,EAAQiB,SAAShB,EAAQgB,QAA7B,CAAsCtB,IA3H3B8C,EA2HwF,CAAC,wKA3HpEC,IAAOA,EAAMD,EAAQE,MAAM,IA2HDhD,EA3HcX,OAAO4D,OAAO5D,OAAO6D,iBAAiBJ,EAAS,CAAEC,IAAK,CAAElL,MAAOwH,OAAO4D,OAAOF,Q,wBCvB1K1D,OAAOQ,eAAeC,EAAS,aAAc,CAC3CjI,OAAO,IAETiI,EAAAA,aAAkB,EAClB,IAEgCsB,EAF5B+B,EAAUjD,EAAQ,OAClBY,GAC4BM,EADYlB,EAAQ,SACCkB,EAAIC,WAAaD,EAAM,CAAEE,QAASF,GASvF,IAAIgC,EARJ,WACE,IAAMrF,GAAQ,EAAIoF,EAAQE,YAG1B,MAAO,CACL5F,UAH0B,EAAIqD,EAAeQ,SAASvD,EAAMG,YAAYC,KAAK,OACxC,IAAMJ,EAAMG,YAAYoB,OAAOgE,GAIxE,EAEAxD,EAAAA,QAAkBsD,C,4BChBdhD,EAAyBF,EAAQ,OAKrCJ,EAAQ,OAAU,EAElB,IAAIyD,EAAiBnD,EAAuBF,EAAQ,QAEhDiB,EAAcjB,EAAQ,OAEtBkD,GAAW,EAAIG,EAAejC,UAAuB,EAAIH,EAAYkB,KAAK,OAAQ,CACpFP,EAAG,iKACD,UAEJhC,EAAQ,EAAUsD,C,kFCdH,SAASI,EAAW9O,EAAIC,EAAM8O,QAC5B,IAAT9O,IAAmBA,EAAO,SACT,IAAjB8O,IAA2BA,EAAe,CAAExR,SAAS,IACzD,IAAIyR,GAAalS,EAAAA,EAAAA,QAAO,GACpBmS,ECNO,WACX,IAAIC,GAAapS,EAAAA,EAAAA,SAAO,GACpBqS,GAAMzO,EAAAA,EAAAA,cAAY,WAAc,OAAOwO,EAAWhS,OAAS,GAAG,IAOlE,OANAS,EAAAA,EAAAA,YAAU,WAEN,OADAuR,EAAWhS,SAAU,EACd,WACHgS,EAAWhS,SAAU,CACzB,CACJ,GAAG,IACIiS,CACX,CDJoBC,GACZlP,GAAK9C,EAAAA,EAAAA,UAAS2R,GAAe1O,EAAQH,EAAG,GAAImP,EAAMnP,EAAG,GACrDoP,GAAW5O,EAAAA,EAAAA,cAAY,WAEvB,IADA,IAAI6O,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUtS,OAAQqS,IACpCD,EAAKC,GAAMC,UAAUD,GAEzB,IAAIE,IAAWV,EAAW9R,QAI1B,OAHKmD,EAAM9C,SACP8R,GAAI,SAAUM,GAAa,OAAQ/O,EAAAA,EAAAA,WAASA,EAAAA,EAAAA,UAAS,CAAC,EAAG+O,GAAY,CAAEpS,SAAS,GAAU,IAEvFyC,EAAG4P,WAAM,EAAQL,GAAMM,MAAK,SAAU1M,GAEzC,OADA8L,KAAeS,IAAWV,EAAW9R,SAAWmS,EAAI,CAAElM,MAAOA,EAAO5F,SAAS,IACtE4F,CACX,IAAG,SAAU0D,GAET,OADAoI,KAAeS,IAAWV,EAAW9R,SAAWmS,EAAI,CAAExI,MAAOA,EAAOtJ,SAAS,IACtEsJ,CACX,GACJ,GAAG5G,GACH,MAAO,CAACI,EAAOiP,EACnB,CEzBe,SAAShP,EAASN,EAAIC,QACpB,IAATA,IAAmBA,EAAO,IAC9B,IAAIC,EAAK4O,EAAW9O,EAAIC,EAAM,CAC1B1C,SAAS,IACT8C,EAAQH,EAAG,GAAIoP,EAAWpP,EAAG,GAIjC,OAHAvC,EAAAA,EAAAA,YAAU,WACN2R,GACJ,GAAG,CAACA,IACGjP,CACX,C,wDCXA,IAAMyP,EAAQ,CAAC,SAAU,SAAU,OAAQ,MAAO,OAAQ,QAAS,QCAnE,IAAMC,EAAQ,CAAC,SAAK,eAAM,eAAM,SAAK,SAAK,eAAM,UCUhD,IAAMC,EAAqB,GAOdC,EAAW,SAACvR,EAAgByP,GACvC6B,EAAQtR,GAAUyP,CACpB,ECZM+B,EAAY,CAChB,GACA,GACA,GACA,EACA,IAAM,EAAI,GACV,IAQI,SAAUC,EAAOpO,GACrB,OAAIA,aAAiBoF,KAAapF,GAE7BqO,MAAMrO,IAAU,QAAQsO,KAAKtO,GAAe,IAAIoF,KAAKmJ,SAASvO,KACnEA,GAASA,GAAS,IAEfC,OACAuO,QAAQ,QAAS,IACjBA,QAAQ,IAAK,KACbA,QAAQ,IAAK,KACbA,QAAQ,YAAa,SACrBA,QAAQ,IAAK,QACbA,QAAQ,qBAAsB,SAC1B,IAAIpJ,KAAKpF,GAClB,CCzBO,IAAMmF,EAAS,SAACsJ,EAAa9R,EAAiB+R,GAEnD,IAAMC,EDyFF,SAAkBF,EAAaG,GAEnC,SADgBA,EAAeR,EAAOQ,GAAgB,IAAIxJ,OACtCgJ,EAAOK,IAAS,GACtC,CC5FcI,CAAQJ,EAAMC,GAAQA,EAAKE,cAEvC,OD6BI,SAAqBE,EAAcC,GA6BvC,IApBA,IAAMC,EAAQF,EAAO,EAAI,EAAI,EAavBG,EALNH,EAAOI,KAAKC,IAAIL,GAUZM,EAAM,EAEHN,GAAQX,EAAUiB,IAAQA,EAAMjB,EAAU/S,OAAQgU,IACvDN,GAAQX,EAAUiB,GAmBpB,OANAN,EAAOI,KAAKG,MAAMP,KAIE,KAFpBM,GAAO,GAEiB,EAAI,KAAIA,GAAO,GAEhCL,EAAWD,EAAMM,EAAKH,GAAUD,GAAOR,QAAQ,KAAMM,EAAKQ,WACnE,CC/ESC,CAAWZ,EFYK,SAAChS,GACxB,OAAOsR,EAAQtR,IAAWsR,EAAe,KAC3C,CEdyBuB,CAAU7S,GACnC,ECLAuR,EAAS,SLRK,SAAUY,EAAcM,GACpC,GAAY,IAARA,EAAW,MAAO,CAAC,WAAY,aACnC,IAAIK,EAAO1B,EAAMmB,KAAKG,MAAMD,EAAM,IAElC,OADIN,EAAO,IAAGW,GAAQ,KACf,CAAIX,EAAI,IAAIW,EAAI,OAAQ,MAAMX,EAAI,IAAIW,EAC/C,IKIAvB,EAAS,SJTK,SAAUY,EAAcM,GACpC,GAAY,IAARA,EAAW,MAAO,CAAC,eAAM,sBAC7B,IAAMK,EAAOzB,KAASoB,EAAM,IAC5B,MAAO,CAAIN,EAAI,IAAIW,EAAI,SAAQX,EAAI,IAAIW,EAAI,SAC7C,G","sources":["hooks/url-evaluation.js","../../../node_modules/react-use/esm/useAsyncRetry.js","components/access-key/create.js","components/access-key/confirm.js","components/access-key/delete.js","components/access-key/update.js","components/team/access-key.js","pages/team/index.js","../../ux/lib/confirm.js","../../ux/lib/hooks/mobile-width.js","../../../node_modules/@mui/icons-material/VpnKey.js","../../../node_modules/react-use/esm/useAsyncFn.js","../../../node_modules/react-use/esm/useMountedState.js","../../../node_modules/react-use/esm/useAsync.js","../../../src/lang/en_US.ts","../../../src/lang/zh_CN.ts","../../src/register.ts","../../../src/utils/date.ts","../../src/format.ts","../../src/index.ts"],"sourcesContent":["import { useState, useEffect, useMemo, useRef, useContext } from 'react';\nimport joinURL from 'url-join';\nimport { WELLKNOWN_PING_PREFIX } from '@abtnode/constant';\nimport { getAccessUrl } from '@abtnode/ux/src/util';\nimport { evaluateURLs } from '@abtnode/util/lib/url-evaluation';\nimport defaultCheckAccessible from '@abtnode/util/lib/url-evaluation/check-accessible-browser';\nimport memoize from 'lodash/memoize';\nimport { LocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport { useRoutingContext, getBlockletUrls } from '../contexts/routing';\nimport { getBlockletUrlParams } from '../libs/util';\n\n// 如果同一个页面中存在多个部分同时对同一个 url 检测 url 可访问性, 避免造成重复请求\nconst ping = memoize(url => defaultCheckAccessible(joinURL(new URL(url).origin, WELLKNOWN_PING_PREFIX)));\n\n// url <-> evaluation cache\nconst CACHE = {};\n\nexport function useUrlEvaluation({ urls, checkAccessible = defaultCheckAccessible, disableCache = false }) {\n // 基于 CACHE 初始化该 hook 的状态\n // FIXME: 最好解决源头的 material-table 渲染 BlockletInterface 时的 re-mount 问题 (#4897)\n const initialCachedRef = useRef(urls.filter(url => CACHE[url]).map(url => CACHE[url]));\n const allCached = initialCachedRef.current.length === urls.length;\n const [urlsState, setUrlsState] = useState(allCached ? initialCachedRef.current : []);\n const [loading, setLoading] = useState(!allCached);\n const recommendedUrlState = useMemo(() => {\n if (!loading && urlsState.length) {\n return urlsState[0];\n }\n return null;\n }, [urlsState, loading]);\n\n useEffect(() => {\n if (urls?.length > 0 && !allCached) {\n const evaluate = async () => {\n let results;\n setLoading(true);\n if (disableCache) {\n results = await evaluateURLs(urls, { checkAccessible });\n results.forEach(item => {\n CACHE[item.url] = item;\n });\n } else {\n const misses = await evaluateURLs(\n urls.filter(url => !CACHE[url]),\n { checkAccessible }\n );\n misses.forEach(item => {\n CACHE[item.url] = item;\n });\n results = urls.map(url => CACHE[url]).sort((a, b) => b.score - a.score);\n }\n setUrlsState(results);\n setLoading(false);\n };\n evaluate();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [urls, disableCache, allCached]);\n\n return {\n urlsState,\n loading,\n recommendedUrlState,\n recommendedUrl: recommendedUrlState?.url,\n };\n}\n\n/**\n * 主要对 blocklet 访问 urls 进行评估\n * @param {object} blocklet\n */\nexport function useBlockletUrlEvaluation(blocklet) {\n const { siteMap } = useRoutingContext();\n const { locale } = useContext(LocaleContext);\n const urls = useMemo(() => {\n if (!blocklet) {\n return [];\n }\n // getBlockletUrlParams 的调用是必须的, 会根据 blocklet 状态决定是否添加 \"__start__\" 参数, 以保证 blocklet 启动按钮可以正确的跳转到启动页面\n return getBlockletUrls({ did: blocklet.meta.did, siteMap, params: getBlockletUrlParams(blocklet, locale) });\n }, [blocklet, locale, siteMap]);\n const { loading, recommendedUrlState, recommendedUrl } = useUrlEvaluation({ urls, checkAccessible: ping });\n return { urls, loading, recommendedUrlState, recommendedUrl };\n}\n\n/**\n * 主要对 blocklet domains 对应的 urls 进行评估, 配合 DomainStatusProvider 使用\n * @param {string[]} domains\n */\nexport function useDomainsAccessibility(domains) {\n // 获取 blocklet domain 对应的访问 url\n const urls = useMemo(() => domains.map(item => getAccessUrl(item)), [domains]);\n const { urlsState, loading, recommendedUrl } = useUrlEvaluation({ urls, checkAccessible: ping });\n let result;\n if (loading) {\n result = {\n domainsAccessibility: domains.reduce((acc, cur) => ({ ...acc, [cur]: { loading: true } }), {}),\n recommendedDomain: null,\n };\n } else {\n const domainsAccessibility = urlsState.reduce((acc, cur) => {\n // 检测对象是 domain, 但检测可访问性用的是 domain 对应的 ping url, 所以需要取 hostname 作为结果\n const domain = new URL(cur.url).hostname;\n acc[domain] = { ...cur, domain };\n return acc;\n }, {});\n // 从排好优先级的 urls 中选择第一个可访问的 url 作为 recommendedDomain (对于自定义域名, 可能存在评分最高但不可访问的情况) (#5195)\n const accessibleUrl = urlsState.find(item => item.accessible)?.url || recommendedUrl;\n result = {\n domainsAccessibility,\n recommendedDomain: accessibleUrl ? new URL(accessibleUrl).hostname : null,\n };\n }\n return result;\n}\n","import { __assign, __spreadArrays } from \"tslib\";\nimport { useCallback, useState } from 'react';\nimport useAsync from './useAsync';\nvar useAsyncRetry = function (fn, deps) {\n if (deps === void 0) { deps = []; }\n var _a = useState(0), attempt = _a[0], setAttempt = _a[1];\n var state = useAsync(fn, __spreadArrays(deps, [attempt]));\n var stateLoading = state.loading;\n var retry = useCallback(function () {\n if (stateLoading) {\n if (process.env.NODE_ENV === 'development') {\n console.log('You are calling useAsyncRetry hook retry() method while loading in progress, this is a no-op.');\n }\n return;\n }\n setAttempt(function (currentAttempt) { return currentAttempt + 1; });\n }, __spreadArrays(deps, [stateLoading]));\n return __assign(__assign({}, state), { retry: retry });\n};\nexport default useAsyncRetry;\n","import { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport AddIcon from '@mui/icons-material/Add';\nimport Spinner from '@arcblock/ux/lib/Spinner';\nimport Typography from '@mui/material/Typography';\nimport TextField from '@mui/material/TextField';\nimport MenuItem from '@mui/material/MenuItem';\nimport Select from '@mui/material/Select';\nimport InputLabel from '@mui/material/InputLabel';\nimport FormControl from '@mui/material/FormControl';\nimport Box from '@mui/material/Box';\n\nimport Button from '@arcblock/ux/lib/Button';\nimport { useLocaleContext } from '@arcblock/ux/lib/Locale/context';\n\nimport { RBAC_CONFIG, ROLES } from '@abtnode/constant';\n\nimport Confirm from '../confirm';\nimport getClient from '../../libs/node';\n\nexport default function CreateAccessKey(props) {\n const { remark, onCreate } = props;\n const { t } = useLocaleContext();\n const [loading, setLoading] = useState(false);\n const [confirmSetting, setConfirmSetting] = useState(null);\n const client = getClient();\n\n const roles = RBAC_CONFIG.roles.filter(x => x.passport && x.name !== ROLES.OWNER);\n\n const onCancel = () => {\n setLoading(false);\n setConfirmSetting(null);\n };\n\n const onConfirm = async params => {\n // eslint-disable-next-line no-shadow\n const { remark, passport } = params;\n setLoading(true);\n const res = await client.createAccessKey({\n input: {\n remark: remark.trim(),\n passport,\n },\n });\n const { data } = res;\n onCreate(data);\n setConfirmSetting(null);\n setLoading(false);\n };\n\n const setting = {\n title: `${t('common.create')} ${t('common.accessKey')}`,\n // eslint-disable-next-line react/no-unstable-nested-components\n description: (params, setParams, setError) => (\n <Typography component=\"div\">\n <TextField\n label={t('setting.accessKey.tip')}\n autoComplete=\"off\"\n variant=\"outlined\"\n name=\"remark\"\n data-cy=\"remark-input\"\n fullWidth\n autoFocus\n style={{ marginBottom: 32 }}\n margin=\"dense\"\n value={params.remark}\n onChange={e => {\n setParams({\n ...params,\n remark: e.target.value,\n __disableConfirm: !params.passport || !e.target.value.trim(),\n });\n if (!e.target.value.trim()) {\n setError(t('setting.accessKey.remarkInvalid'));\n } else {\n setError('');\n }\n }}\n />\n\n <FormControl style={{ width: '100%' }} variant=\"outlined\">\n <InputLabel>{t('common.passport')}</InputLabel>\n <Select\n data-cy=\"create-access-key-select-passport\"\n value={params.passport}\n onChange={e => {\n const passport = e.target.value;\n setError(null);\n setParams({\n ...params,\n passport,\n __disableConfirm: !params.remark || !passport,\n });\n }}\n fullWidth\n label={t('common.passport')}\n disabled={loading}>\n {roles.map(r => (\n <MenuItem key={r.name} value={r.name} data-cy={`create-access-key-passport-option-${r.name}`}>\n <Box>\n <span>{r.title || r.name}</span>\n <Box maxWidth={440} fontSize={12} color=\"#999\" whiteSpace=\"normal\" textAlign=\"justify\">\n {r.description}\n </Box>\n </Box>\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n </Typography>\n ),\n confirm: t('common.confirm'),\n cancel: t('common.cancel'),\n color: 'primary',\n params: {\n remark,\n __disableConfirm: !remark.trim(),\n },\n onConfirm,\n onCancel,\n };\n\n return (\n <>\n <Button\n edge=\"end\"\n variant=\"contained\"\n color=\"primary\"\n data-cy=\"add-access-key-btn\"\n onClick={() => setConfirmSetting(setting)}\n className=\"rule-action\">\n {loading ? <Spinner size={[16, 10]} /> : <AddIcon style={{ fontSize: 16 }} />}\n {t('common.create')}\n </Button>\n {confirmSetting && (\n <Confirm\n title={confirmSetting.title}\n description={confirmSetting.description}\n confirm={confirmSetting.confirm}\n color={confirmSetting.color}\n cancel={confirmSetting.cancel}\n params={confirmSetting.params}\n onConfirm={confirmSetting.onConfirm}\n onCancel={confirmSetting.onCancel}\n />\n )}\n </>\n );\n}\n\nCreateAccessKey.propTypes = {\n remark: PropTypes.string,\n onCreate: PropTypes.func,\n};\n\nCreateAccessKey.defaultProps = {\n onCreate: () => {},\n remark: '',\n};\n","import { useContext, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\n\nimport { LocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport Dialog from '@arcblock/ux/lib/Dialog';\nimport FormControlLabel from '@mui/material/FormControlLabel';\n\nimport Button from '@arcblock/ux/lib/Button';\nimport Checkbox from '@mui/material/Checkbox';\nimport ClickToCopy from '@abtnode/ux/lib/click-to-copy';\n\nexport default function ConfirmAccessKey(props) {\n const { onConfirm, accessKeyId, accessKeySecret } = props;\n const { t } = useContext(LocaleContext);\n const [checked, setChecked] = useState(false);\n const [hideAccessSecret, setHideAccessSecret] = useState(true);\n\n const onChangeSwitch = () => {\n setHideAccessSecret(!hideAccessSecret);\n };\n\n const handleChange = event => {\n setChecked(event.target.checked);\n };\n\n return (\n <Dialog\n title={t('common.createSuccess')}\n fullWidth\n open\n disableEscapeKeyDown\n onClose={onConfirm}\n showCloseButton={false}\n actions={\n <div>\n <Button\n disabled={!checked}\n onClick={onConfirm}\n color=\"primary\"\n autoFocus\n variant=\"contained\"\n data-cy=\"submit-confirm-dialog\">\n {t('common.confirm')}\n </Button>\n </div>\n }\n aria-labelledby=\"simple-dialog-title\">\n <div>\n <Bold>{t('setting.accessKey.saveSecretTip')}</Bold>\n </div>\n <div style={{ marginTop: '20px' }} />\n <Item>\n <Label>Access Key</Label>\n <ClickToCopy>{accessKeyId}</ClickToCopy>\n </Item>\n <Item>\n <Label>Access Secret</Label>\n {hideAccessSecret ? (\n <Button data-cy=\"show-secret-btn\" color=\"primary\" onClick={onChangeSwitch}>\n {t('setting.accessKey.showSecret')}\n </Button>\n ) : (\n <ClickToCopy>{accessKeySecret}</ClickToCopy>\n )}\n </Item>\n <div>\n <FormControlLabel\n value=\"end\"\n disabled={hideAccessSecret}\n control={<Checkbox checked={checked} onChange={handleChange} />}\n label={t('setting.accessKey.iKnow')}\n labelPlacement=\"end\"\n />\n </div>\n </Dialog>\n );\n}\n\nConfirmAccessKey.propTypes = {\n accessKeyId: PropTypes.string.isRequired,\n accessKeySecret: PropTypes.string.isRequired,\n onConfirm: PropTypes.func,\n};\n\nConfirmAccessKey.defaultProps = {\n onConfirm: () => {},\n};\n\nconst Label = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-size: 16px;\n margin-bottom: 8px;\n`;\nconst Item = styled.div`\n margin-bottom: 24px;\n`;\nconst Bold = styled.div`\n font-size: 16px;\n font-weight: bold;\n`;\n","import { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { format } from 'timeago.js';\n\nimport ActionIcon from '@mui/icons-material/Delete';\nimport Spinner from '@arcblock/ux/lib/Spinner';\n\nimport Button from '@arcblock/ux/lib/Button';\n\nimport { useLocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport { formatLocale, formatToDatetime } from '../../libs/util';\n\nimport DelConfirm from '../delete-confirm';\nimport getClient from '../../libs/node';\n\nexport default function DeleteAccessKey(props) {\n const { t, locale } = useLocaleContext();\n const [loading, setLoading] = useState(false);\n const [confirmSetting, setConfirmSetting] = useState(null);\n const { accessKeyId, time, remark, onDelete = () => {} } = props;\n\n const client = getClient();\n\n const onCancel = () => {\n setLoading(false);\n setConfirmSetting(null);\n };\n\n const onConfirm = async () => {\n setLoading(true);\n try {\n await client.deleteAccessKey({ input: { accessKeyId } });\n onDelete();\n } catch (error) {\n console.error(error);\n } finally {\n setLoading(false);\n setConfirmSetting(null);\n }\n };\n\n const descData = formatTime => ({\n key: `<b>${accessKeyId}</b>`,\n name: `<b>${remark}</b>`,\n time: formatToDatetime(formatTime),\n timeAge: format(new Date(formatTime), formatLocale(locale)),\n });\n\n const setting = {\n keyName: remark,\n title: t('setting.accessKey.title'),\n description: time\n ? `${t('setting.accessKey.description', descData(time))}`\n : `${t('setting.accessKey.descriptionNoTime', { key: `<b>${accessKeyId}</b>`, name: `<b>${remark}</b>` })}`,\n confirmPlaceholder: t('setting.accessKey.confirm_desc', { name: remark }),\n confirm: t('common.delConfirm'),\n cancel: t('common.cancel'),\n onConfirm,\n onCancel,\n };\n\n return (\n <>\n <Button edge=\"end\" onClick={() => setConfirmSetting(setting)} size=\"small\" className=\"rule-action\" color=\"error\">\n {loading ? <Spinner size={[16, 10]} /> : <ActionIcon style={{ fontSize: 16 }} />}\n {t('common.delete')}\n </Button>\n {confirmSetting && (\n <DelConfirm\n keyName={confirmSetting.keyName}\n title={confirmSetting.title}\n description={confirmSetting.description}\n confirmPlaceholder={confirmSetting.confirmPlaceholder}\n confirm={confirmSetting.confirm}\n cancel={confirmSetting.cancel}\n params={confirmSetting.params}\n onConfirm={confirmSetting.onConfirm}\n onCancel={confirmSetting.onCancel}\n />\n )}\n </>\n );\n}\n\nDeleteAccessKey.propTypes = {\n accessKeyId: PropTypes.string.isRequired,\n time: PropTypes.string.isRequired,\n remark: PropTypes.string.isRequired,\n onDelete: PropTypes.func,\n};\n\nDeleteAccessKey.defaultProps = {\n onDelete: () => {},\n};\n","import { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport EditIcon from '@mui/icons-material/Edit';\nimport Spinner from '@arcblock/ux/lib/Spinner';\nimport Typography from '@mui/material/Typography';\nimport TextField from '@mui/material/TextField';\nimport MenuItem from '@mui/material/MenuItem';\nimport Select from '@mui/material/Select';\nimport InputLabel from '@mui/material/InputLabel';\nimport FormControl from '@mui/material/FormControl';\n\nimport Button from '@arcblock/ux/lib/Button';\n\nimport { useLocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport { RBAC_CONFIG, ROLES } from '@abtnode/constant';\n\nimport Confirm from '../confirm';\nimport getClient from '../../libs/node';\n\nexport default function UpdateAccessKey(props) {\n const { accessKeyId, remark, onUpdate, passport } = props;\n const { t } = useLocaleContext();\n const [loading, setLoading] = useState(false);\n const [confirmSetting, setConfirmSetting] = useState(null);\n const client = getClient();\n\n const roles = RBAC_CONFIG.roles.filter(x => x.passport && x.name !== ROLES.OWNER);\n\n const onCancel = () => {\n setLoading(false);\n setConfirmSetting(null);\n };\n\n const onConfirm = async params => {\n // eslint-disable-next-line no-shadow\n const { accessKeyId, remark, passport } = params;\n setLoading(true);\n await client.updateAccessKey({\n input: {\n accessKeyId,\n remark: remark.trim(),\n passport,\n },\n });\n onUpdate();\n setConfirmSetting(null);\n setLoading(false);\n };\n\n const setting = {\n title: `${t('common.update')} ${t('common.accessKey')}`,\n // eslint-disable-next-line react/no-unstable-nested-components\n description: (params, setParams, setError) => (\n <Typography component=\"div\">\n <TextField\n label={t('setting.accessKey.accessKeyId')}\n autoComplete=\"off\"\n variant=\"outlined\"\n name=\"accessKeyId\"\n fullWidth\n autoFocus\n style={{ marginBottom: 32 }}\n margin=\"dense\"\n value={params.accessKeyId}\n disabled\n />\n <TextField\n label={t('common.remark')}\n autoComplete=\"off\"\n variant=\"outlined\"\n name=\"remark\"\n fullWidth\n autoFocus\n style={{ marginBottom: 32 }}\n value={params.remark}\n onChange={e => {\n setParams({ ...params, remark: e.target.value, __disableConfirm: !e.target.value.trim() });\n if (!e.target.value.trim()) {\n setError(t('setting.accessKey.remarkInvalid'));\n } else {\n setError('');\n }\n }}\n />\n\n <FormControl style={{ width: '100%' }} variant=\"outlined\">\n <InputLabel>{t('common.passport')}</InputLabel>\n <Select\n data-cy=\"update-access-key-select-passport\"\n value={params.passport}\n onChange={e => {\n // eslint-disable-next-line no-shadow\n const passport = e.target.value;\n setError(null);\n setParams({\n ...params,\n passport,\n __disableConfirm: !params.remark || !passport,\n });\n }}\n fullWidth\n label={t('common.passport')}\n disabled={loading}>\n {roles.map(r => (\n <MenuItem key={r.name} value={r.name} data-cy={`update-access-key-passport-option-${r.name}`}>\n <span>{r.title || r.name}</span>\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n </Typography>\n ),\n confirm: t('common.confirm'),\n cancel: t('common.cancel'),\n color: 'primary',\n params: {\n accessKeyId,\n remark,\n passport,\n },\n onConfirm,\n onCancel,\n };\n\n return (\n <>\n <Button\n edge=\"end\"\n onClick={() => setConfirmSetting(setting)}\n size=\"small\"\n className=\"rule-action\"\n color=\"primary\">\n {loading ? <Spinner size={[16, 10]} /> : <EditIcon style={{ fontSize: 16 }} />}\n {t('common.update')}\n </Button>\n {confirmSetting && (\n <Confirm\n title={confirmSetting.title}\n description={confirmSetting.description}\n confirm={confirmSetting.confirm}\n color={confirmSetting.color}\n cancel={confirmSetting.cancel}\n params={confirmSetting.params}\n onConfirm={confirmSetting.onConfirm}\n onCancel={confirmSetting.onCancel}\n />\n )}\n </>\n );\n}\n\nUpdateAccessKey.propTypes = {\n accessKeyId: PropTypes.string.isRequired,\n remark: PropTypes.string,\n passport: PropTypes.string,\n onUpdate: PropTypes.func,\n};\n\nUpdateAccessKey.defaultProps = {\n onUpdate: () => {},\n remark: '',\n passport: '',\n};\n","import { useContext, useState } from 'react';\nimport styled from '@emotion/styled';\nimport { useAsyncRetry } from 'react-use';\n\nimport VpnKey from '@mui/icons-material/VpnKey';\nimport Alert from '@mui/material/Alert';\nimport Box from '@mui/material/Box';\nimport Spinner from '@arcblock/ux/lib/Spinner';\nimport Empty from '@arcblock/ux/lib/Empty';\nimport DidAddress from '@arcblock/did-connect/lib/Address';\nimport { LocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport { RBAC_CONFIG } from '@abtnode/constant';\nimport PassportTag from '@abtnode/ux/lib/passport-tag';\n\nimport { formatError, formatToDatetime } from '../../libs/util';\nimport { useNodeContext } from '../../contexts/node';\n\nimport CreateAccessKey from '../access-key/create';\nimport ConfirmAccessKey from '../access-key/confirm';\nimport DeleteAccessKey from '../access-key/delete';\nimport UpdateAccessKey from '../access-key/update';\nimport Permission from '../permission';\n\nexport default function AccessKey() {\n const { t } = useContext(LocaleContext);\n const { api } = useNodeContext();\n const [confirmInfo, setConfirmInfo] = useState({});\n\n const state = useAsyncRetry(async () => {\n const response = await api.getAccessKeys();\n const { list } = response;\n return list;\n });\n\n const list = state.value || [];\n const { loading, error } = state;\n\n if (!list.length && loading) {\n return (\n <div style={{ textAlign: 'center', marginTop: '50px' }}>\n <Spinner />\n </div>\n );\n }\n if (!list.length && error) {\n return <Alert severity=\"error\">{formatError(error)}</Alert>;\n }\n\n return (\n <div>\n <Box mb={1} textAlign=\"right\">\n <Permission permission=\"mutate_node\">\n <CreateAccessKey\n onCreate={data => {\n const { accessKeyId, accessKeySecret } = data;\n setConfirmInfo({\n show: true,\n accessKeyId,\n accessKeySecret,\n });\n }}\n />\n </Permission>\n {confirmInfo.show && (\n <ConfirmAccessKey\n onConfirm={() => {\n state.retry();\n setConfirmInfo({ show: false });\n }}\n {...confirmInfo}\n />\n )}\n </Box>\n\n {!list.length && (\n <Box mt={8}>\n <Empty>{t('common.noData')}</Empty>\n </Box>\n )}\n {!!list.length && (\n <AccessKeyList>\n {list.map(item => {\n const remark = item.remark || 'N/A';\n const p = RBAC_CONFIG.roles.find(x => x.name === item.passport);\n return (\n <div className=\"access-key-item\">\n <div className=\"access-key-item_info-warpper\">\n <div className=\"access-key-item_icon\">\n <VpnKey />\n </div>\n <div className=\"access-key-item_info\">\n <Box fontWeight={700}>{remark}</Box>\n <Box minWidth={0}>\n <DidAddress showDidLogo={false}>{item.accessKeyId}</DidAddress>\n </Box>\n <div>Created at {formatToDatetime(item.createdAt)}</div>\n <div>Created by {item.createdBy}</div>\n {item.updatedBy && <div>Updated by {item.updatedBy}</div>}\n {item.lastUsedAt && <div>Last used at {formatToDatetime(item.lastUsedAt)}</div>}\n <div className=\"access-key-item_passport\">\n <PassportTag passport={{ title: p ? p.title : item.passport }} />\n </div>\n </div>\n </div>\n <div className=\"access-key-item_actions\">\n <UpdateAccessKey {...item} onUpdate={state.retry} />\n <DeleteAccessKey\n accessKeyId={item.accessKeyId}\n time={item.lastUsedAt}\n remark={item.remark || 'N/A'}\n onDelete={state.retry}\n />\n </div>\n </div>\n );\n })}\n </AccessKeyList>\n )}\n </div>\n );\n}\n\nconst AccessKeyList = styled.div`\n border: 1px solid\n ${({ theme }) => theme.palette.grey[300]};\n border-radius: 8px;\n\n .access-key-item {\n display: flex;\n justify-content: space-between;\n padding: 16px 32px;\n .access-key-item_info-warpper {\n display: flex;\n flex-grow: 1;\n .access-key-item_icon {\n display: flex;\n align-items: center;\n color: ${({ theme }) => theme.palette.grey[400]};\n svg {\n font-size: 44px;\n }\n }\n .access-key-item_info {\n flex: 1;\n max-width: 400px;\n padding-left: 44px;\n }\n }\n .access-key-item_actions {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n }\n\n .access-key-item_passport span {\n margin-top: 4px;\n padding: 2px 12px;\n font-size: 12px;\n }\n }\n .access-key-item + .access-key-item {\n border-top: 1px solid\n ${({ theme }) => theme.palette.grey[300]}};\n }\n ${({ theme }) => theme.breakpoints.down('md')} {\n .access-key-item {\n padding: 16px;\n .access-key-item_info-warpper {\n min-width: 0;\n .access-key-item_icon {\n svg {\n font-size: 24px;\n }\n }\n .access-key-item_info {\n max-width: 100%;\n padding-left: 16px;\n }\n }\n .access-key-item_actions {\n flex-direction: column;\n justify-content: center;\n }\n }\n }\n`;\n","/* eslint-disable react/jsx-one-expression-per-line */\nimport { useCallback } from 'react';\nimport styled from '@emotion/styled';\nimport { useParams, useNavigate } from 'react-router-dom';\n\nimport Typography from '@mui/material/Typography';\n\nimport Tabs from '@arcblock/ux/lib/Tabs';\nimport { useLocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport AuditLogs from '@abtnode/ux/lib/blocklet/audit-logs';\nimport Members from '@abtnode/ux/lib/team/members';\nimport Passports from '@abtnode/ux/lib/team/passports';\n\nimport { useNodeContext } from '../../contexts/node';\nimport { TeamProvider } from '../../contexts/team';\nimport AccessKeySettings from '../../components/team/access-key';\n\nexport default function TeamPage() {\n const navigate = useNavigate();\n const { t } = useLocaleContext();\n const { info: nodeInfo } = useNodeContext();\n const { tab = 'members' } = useParams(); // members, passports\n const renderAuditLogs = useCallback(() => <AuditLogs />, []);\n const renderMember = useCallback(() => <Members type=\"server\" />, []);\n\n const teamDid = nodeInfo.did;\n\n const onTabChange = newTab => {\n navigate(`/team/${newTab}`);\n };\n\n const tabConfigs = {\n members: {\n label: t('common.members'),\n value: 'members',\n component: renderMember,\n },\n passports: {\n label: t('common.passport'),\n value: 'passports',\n component: Passports,\n },\n 'access-keys': {\n label: t('common.accessKey'),\n value: 'access-keys',\n component: AccessKeySettings,\n },\n 'audit-logs': {\n label: t('common.auditLogs'),\n value: 'audit-logs',\n component: renderAuditLogs,\n },\n };\n\n const tabs = Object.values(tabConfigs).map(({ label, value }) => ({ label, value }));\n\n const tabConfig = tabConfigs[tab] || tabConfigs.member;\n\n return (\n <TeamProvider teamDid={teamDid}>\n <Main>\n <Typography component=\"h2\" variant=\"h4\" className=\"page-header\" color=\"textPrimary\">\n {t('common.team')}\n </Typography>\n <Tabs tabs={tabs} current={tab} onChange={onTabChange} scrollButtons=\"auto\" />\n <div className=\"page-content\">\n <tabConfig.component />\n </div>\n </Main>\n </TeamProvider>\n );\n}\n\nconst Main = styled.main`\n .page-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .page-content {\n margin-top: 24px;\n }\n`;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = ConfirmDialog;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _Dialog = _interopRequireDefault(require(\"@mui/material/Dialog\"));\nvar _Spinner = _interopRequireDefault(require(\"@arcblock/ux/lib/Spinner\"));\nvar _DialogActions = _interopRequireDefault(require(\"@mui/material/DialogActions\"));\nvar _DialogContent = _interopRequireDefault(require(\"@mui/material/DialogContent\"));\nvar _DialogContentText = _interopRequireDefault(require(\"@mui/material/DialogContentText\"));\nvar _DialogTitle = _interopRequireDefault(require(\"@mui/material/DialogTitle\"));\nvar _Alert = _interopRequireDefault(require(\"@mui/material/Alert\"));\nvar _useTheme = _interopRequireDefault(require(\"@mui/material/styles/useTheme\"));\nvar _useMediaQuery = _interopRequireDefault(require(\"@mui/material/useMediaQuery\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _util = require(\"./util\");\nvar _mobileWidth = _interopRequireDefault(require(\"./hooks/mobile-width\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction ConfirmDialog(_ref) {\n let {\n title,\n description,\n showCancel,\n cancel,\n confirm,\n color,\n params: initialParams,\n onCancel,\n onConfirm\n } = _ref;\n const [params, setParams] = (0, _react.useState)(initialParams);\n const [open, setOpen] = (0, _react.useState)(true);\n const [loading, setLoading] = (0, _react.useState)(false);\n const [error, setError] = (0, _react.useState)('');\n const {\n t: changeLocale\n } = (0, _context.useLocaleContext)();\n const theme = (0, _useTheme.default)();\n const onCallback = async cb => {\n if (typeof cb === 'function') {\n setLoading(true);\n try {\n await cb(params);\n setOpen(false);\n } catch (err) {\n setError((0, _util.formatError)(err));\n console.error(err);\n } finally {\n setLoading(false);\n }\n } else {\n setOpen(false);\n }\n };\n const t = typeof title === 'function' ? title() : title;\n const d = typeof description === 'function' ? description(params, setParams, setError) : description;\n const isBreakpointsDownSm = (0, _useMediaQuery.default)(theme.breakpoints.down('md'));\n const handleClick = e => {\n e.stopPropagation();\n };\n const {\n minWidth\n } = (0, _mobileWidth.default)();\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledDialog, {\n onClick: handleClick,\n fullScreen: isBreakpointsDownSm,\n open: open,\n style: {\n minWidth\n },\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_DialogTitle.default, {\n children: t\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_DialogContent.default, {\n style: {\n minWidth\n },\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_DialogContentText.default, {\n component: \"div\",\n children: d\n }), !!error && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Alert.default, {\n severity: \"error\",\n style: {\n width: '100%',\n marginTop: 8\n },\n children: error\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_DialogActions.default, {\n className: \"delete-actions\",\n style: {\n padding: '8px 24px 24px'\n },\n children: [showCancel && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {\n onClick: e => {\n e.stopPropagation();\n onCallback(onCancel);\n },\n color: \"inherit\",\n \"data-cy\": \"cancel-confirm-dialog\",\n children: cancel || changeLocale('common.cancel')\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n onClick: e => {\n e.stopPropagation();\n onCallback(onConfirm);\n },\n color: color\n // eslint-disable-next-line no-underscore-dangle\n ,\n disabled: params.__disableConfirm || loading,\n variant: \"contained\",\n \"data-cy\": \"submit-confirm-dialog\",\n autoFocus: true,\n children: [loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.default, {\n size: [16, 10]\n }), confirm]\n })]\n })]\n });\n}\nConfirmDialog.propTypes = {\n title: _propTypes.default.any.isRequired,\n description: _propTypes.default.any.isRequired,\n // can be a function that renders different content based on params\n showCancel: _propTypes.default.bool,\n cancel: _propTypes.default.string,\n color: _propTypes.default.string,\n confirm: _propTypes.default.string,\n params: _propTypes.default.object,\n // This object holds states managed in the dialog\n onCancel: _propTypes.default.func,\n onConfirm: _propTypes.default.func.isRequired\n};\nConfirmDialog.defaultProps = {\n onCancel: () => {},\n showCancel: true,\n cancel: '',\n confirm: 'Confirm',\n color: 'error',\n params: {}\n};\nconst StyledDialog = (0, _styled.default)(_Dialog.default)(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n .delete-actions .Mui-disabled {\\n color: rgba(0, 0, 0, 0.26) !important;\\n box-shadow: none;\\n background-color: rgba(0, 0, 0, 0.12) !important;\\n }\\n\"])));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _styles = require(\"@mui/styles\");\nvar _useMediaQuery = _interopRequireDefault(require(\"@mui/material/useMediaQuery\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction useMobileWidth() {\n const theme = (0, _styles.useTheme)();\n const isBreakpointsDownSm = (0, _useMediaQuery.default)(theme.breakpoints.down('md'));\n const minWidth = isBreakpointsDownSm ? 300 : theme.breakpoints.values.sm;\n return {\n minWidth\n };\n}\nvar _default = useMobileWidth;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12.65 10C11.83 7.67 9.61 6 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6c2.61 0 4.83-1.67 5.65-4H17v4h4v-4h2v-4H12.65zM7 14c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z\"\n}), 'VpnKey');\n\nexports.default = _default;","import { __assign } from \"tslib\";\nimport { useCallback, useRef, useState } from 'react';\nimport useMountedState from './useMountedState';\nexport default function useAsyncFn(fn, deps, initialState) {\n if (deps === void 0) { deps = []; }\n if (initialState === void 0) { initialState = { loading: false }; }\n var lastCallId = useRef(0);\n var isMounted = useMountedState();\n var _a = useState(initialState), state = _a[0], set = _a[1];\n var callback = useCallback(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var callId = ++lastCallId.current;\n if (!state.loading) {\n set(function (prevState) { return (__assign(__assign({}, prevState), { loading: true })); });\n }\n return fn.apply(void 0, args).then(function (value) {\n isMounted() && callId === lastCallId.current && set({ value: value, loading: false });\n return value;\n }, function (error) {\n isMounted() && callId === lastCallId.current && set({ error: error, loading: false });\n return error;\n });\n }, deps);\n return [state, callback];\n}\n","import { useCallback, useEffect, useRef } from 'react';\nexport default function useMountedState() {\n var mountedRef = useRef(false);\n var get = useCallback(function () { return mountedRef.current; }, []);\n useEffect(function () {\n mountedRef.current = true;\n return function () {\n mountedRef.current = false;\n };\n }, []);\n return get;\n}\n","import { useEffect } from 'react';\nimport useAsyncFn from './useAsyncFn';\nexport default function useAsync(fn, deps) {\n if (deps === void 0) { deps = []; }\n var _a = useAsyncFn(fn, deps, {\n loading: true,\n }), state = _a[0], callback = _a[1];\n useEffect(function () {\n callback();\n }, [callback]);\n return state;\n}\n"],"names":["ping","memoize","url","defaultCheckAccessible","joinURL","URL","origin","WELLKNOWN_PING_PREFIX","CACHE","useUrlEvaluation","urls","checkAccessible","disableCache","initialCachedRef","useRef","filter","map","allCached","current","length","useState","urlsState","setUrlsState","loading","setLoading","recommendedUrlState","useMemo","useEffect","evaluate","evaluateURLs","results","forEach","item","sort","a","b","score","recommendedUrl","useBlockletUrlEvaluation","blocklet","siteMap","useRoutingContext","locale","useContext","LocaleContext","getBlockletUrls","did","meta","params","getBlockletUrlParams","useDomainsAccessibility","domains","result","getAccessUrl","domainsAccessibility","reduce","acc","cur","recommendedDomain","domain","hostname","accessibleUrl","find","accessible","fn","deps","_a","attempt","setAttempt","state","useAsync","__spreadArrays","stateLoading","retry","useCallback","currentAttempt","__assign","CreateAccessKey","props","remark","onCreate","t","useLocaleContext","confirmSetting","setConfirmSetting","client","getClient","roles","RBAC_CONFIG","x","passport","name","ROLES","onConfirm","createAccessKey","input","trim","res","data","setting","title","description","setParams","setError","Typography","component","TextField","label","autoComplete","variant","fullWidth","autoFocus","style","marginBottom","margin","value","onChange","e","target","__disableConfirm","FormControl","width","InputLabel","Select","disabled","r","MenuItem","Box","maxWidth","fontSize","color","whiteSpace","textAlign","confirm","cancel","onCancel","Button","edge","onClick","className","Spinner","size","Add","defaultProps","ConfirmAccessKey","accessKeyId","accessKeySecret","checked","setChecked","hideAccessSecret","setHideAccessSecret","Dialog","open","disableEscapeKeyDown","onClose","showCloseButton","actions","Bold","marginTop","Item","Label","FormControlLabel","control","Checkbox","event","labelPlacement","styled","DeleteAccessKey","formatTime","time","onDelete","deleteAccessKey","console","error","keyName","key","formatToDatetime","timeAge","format","Date","formatLocale","confirmPlaceholder","UpdateAccessKey","onUpdate","updateAccessKey","Edit","AccessKey","api","useNodeContext","confirmInfo","setConfirmInfo","useAsyncRetry","getAccessKeys","response","list","Alert","severity","formatError","mb","permission","show","mt","Empty","AccessKeyList","p","VpnKey","fontWeight","minWidth","showDidLogo","createdAt","createdBy","updatedBy","lastUsedAt","theme","palette","grey","breakpoints","down","TeamPage","navigate","useNavigate","nodeInfo","info","useParams","tab","renderAuditLogs","renderMember","type","teamDid","tabConfigs","members","passports","Passports","AccessKeySettings","tabs","Object","values","tabConfig","member","Main","Tabs","newTab","scrollButtons","defineProperty","exports","ConfirmDialog","_templateObject","_react","require","_propTypes","_interopRequireDefault","_styled","_Dialog","_Spinner","_DialogActions","_DialogContent","_DialogContentText","_DialogTitle","_Alert","_useTheme","_useMediaQuery","_context","_Button","_util","_mobileWidth","_jsxRuntime","obj","__esModule","default","_ref","showCancel","initialParams","setOpen","changeLocale","onCallback","cb","d","isBreakpointsDownSm","jsxs","StyledDialog","stopPropagation","fullScreen","children","jsx","padding","propTypes","any","isRequired","bool","string","object","func","strings","raw","slice","freeze","defineProperties","_styles","_default","useTheme","sm","_createSvgIcon","useAsyncFn","initialState","lastCallId","isMounted","mountedRef","get","useMountedState","set","callback","args","_i","arguments","callId","prevState","apply","then","EN_US","ZH_CN","Locales","register","SEC_ARRAY","toDate","isNaN","test","parseInt","replace","date","opts","sec","relativeDate","diffSec","diff","localeFunc","agoIn","totalSec","Math","abs","idx","floor","toString","formatDiff","getLocale","unit"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(self.webpackChunk_abtnode_webapp=self.webpackChunk_abtnode_webapp||[]).push([[7595],{70517:function(e,t,n){"use strict";n.d(t,{Z:function(){return r.default}});var r=n(8144)},22128:function(e,t,n){"use strict";n.d(t,{Z:function(){return f}});var r=n(33028),o=n(70054),i=n(35436),a=n(90042),c=n(42167),u=n(54258),l=n(70517),s=n(37574);function f(e){var t=e.title,n=e.description,f=e.confirmPlaceholder,d=e.cancel,p=e.confirm,m=e.params,h=e.onCancel,b=e.onConfirm,v=e.keyName,g=(0,c.useLocaleContext)().t,y={title:function(){return(0,s.jsxs)("div",{children:[t," (".concat(v,")")]})},description:function(e,t){return(0,s.jsxs)("div",{children:[(0,s.jsx)(a.Z,{severity:"warning",style:{width:"100%"},children:g("common.notice")}),(0,s.jsx)("div",{style:{marginTop:24,marginBottom:24},dangerouslySetInnerHTML:{__html:n}}),(0,s.jsxs)("div",{style:{marginBottom:24},children:[g("common.click"),"\uff1a",(0,s.jsx)(u.default,{"data-cy":"click-copy",children:v})]}),(0,s.jsx)(o.Z,{component:"div",children:(0,s.jsx)(i.Z,{label:f,autoComplete:"off","data-cy":"delete-confirm-input",variant:"outlined",fullWidth:!0,autoFocus:!0,value:e.inputVal,onChange:function(n){var o;o=(0,r.Z)((0,r.Z)({},e),{},{inputVal:n.target.value,__disableConfirm:v!==n.target.value}),t((0,r.Z)((0,r.Z)({},o),{},{__disableConfirm:o.__disableConfirm}))}})})]})},confirm:p,cancel:d,onConfirm:b,onCancel:h,params:(0,r.Z)({inputVal:"",__disableConfirm:!0},m)};return(0,s.jsx)(l.Z,{title:y.title,description:y.description,confirm:y.confirm,cancel:y.cancel,params:y.params,onConfirm:y.onConfirm,onCancel:y.onCancel})}f.defaultProps={onCancel:function(){},cancel:"",confirm:"Confirm",params:{}}},18721:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return v}});var r,o=n(71171),i=n(30969),a=n(19611),c=n.n(a),u=n(16380),l=n(70054),s=n(58165),f=n(78632),d=(n(23633),n(76129),n(42167)),p=n(5954),m=n(5907),h=n(978),b=n(37574);function v(){var e=(0,d.useLocaleContext)().t,t=(0,p.h6)().info.routing.adminPath,n=c()(window.location.origin,t),r=(0,i.useRef)(null);return(0,b.jsxs)(g,{children:[(0,b.jsxs)(f.Z,{separator:"\u203a","aria-label":"breadcrumb",className:"page-breadcrumb",children:[(0,b.jsx)(l.Z,{color:"textPrimary",children:e("common.store")}),(0,b.jsx)(h.Z,{ref:r})]}),(0,b.jsx)(s.Z,{className:"store-header",display:"flex",justifyContent:"space-between",p:0,m:0,children:(0,b.jsx)(l.Z,{component:"h2",variant:"h4",className:"page-header",color:"textPrimary",children:e("store.headerDescription")})}),(0,b.jsx)(m.Z,{className:"blocklet-list",handleSearchSelect:function(e){var t=e.detailUrl,r=new URL(t);r.searchParams.set("server-url",n);var o=document.createElement("a");o.setAttribute("target","_blank"),o.setAttribute("href",r.href),o.click()}})]})}var g=u.default.main(r||(r=(0,o.Z)(["\n @media (max-width: ","px) {\n .store-header {\n flex-direction: column;\n margin-bottom: 32px !important;\n }\n\n .page-header {\n margin-bottom: 16px !important;\n }\n }\n .blocklet-list {\n aside:hover {\n height: calc(100vh - 235px);\n }\n }\n"])),(function(e){return e.theme.breakpoints.values.sm}))},17128:function(e,t,n){var r=n(44765).Buffer,o=n(64029).types,i=n(2073).toHex,a=n(54186).fromPublicKey;e.exports=function(e){var t=i(r.from("string"===typeof e?e.trim():e));return a(t,{role:o.RoleType.ROLE_ANY})}},1934:function(e,t,n){"use strict";var r=n(27609).default,o=n(91461).default;Object.defineProperty(t,"__esModule",{value:!0}),t.downloadExportedSource=function(e){return g.apply(this,arguments)},t.genExportedMeta=function(e,t){var n=(0,a.default)((0,i.default)(t.meta),(function(e){return null!==e}));return n.name=e,n.did=(0,f.default)(e),n.logo="logo.png",n.interfaces.forEach((function(e){e.services||delete e.services})),t.children.forEach((function(e){e.dynamic&&e.bundleSource&&n.children.push({name:e.meta.name,source:e.bundleSource,title:e.meta.title,mountPoint:e.mountPoint})})),n.environments=(t.configs||[]).map((function(e){return{name:e.key,description:"Automatically generated when exporting",required:!!e.required,secure:!!e.secure,default:e.secure?"":e.value||""}})),n.capabilities.component=!1,n},t.getLaunchURL=t.getLaunchAgreementUrl=void 0,t.getNameByTitle=function(e){return e.replace(/[\s/@_]/g,"-").replace(/[^a-zA-Z0-9_-]/g,"").replace(/(^[-\s]+)|([-\s]+$)/g,"").toLowerCase()};var i=p(n(74082)),a=p(n(35483)),c=p(n(39591)),u=p(n(94920)),l=p(n(21918)),s=p(n(19611)),f=p(n(17128)),d=n(9214);function p(e){return e&&e.__esModule?e:{default:e}}var m=function(e){return function(e){for(var t=window.atob(e),n=new Uint8Array(t.length),r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return n}((0,d.toDataURL)(e,{size:200}).replace(/^[^,]*,/,""))};var h=function(e){return"Copyright \xa9 2022 ".concat(e||"","\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \u201cSoftware\u201d), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \u201cAS IS\u201d, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.")},b=".DS_Store\n.blocklet",v="name: Deploy\n\non:\n push:\n branches:\n - main\n\njobs:\n Deploy:\n runs-on: ubuntu-latest\n\n steps:\n - name: Checkout repo\n uses: actions/checkout@v2\n\n - name: Blocklet workflow\n uses: blocklet/action-workflow@v1\n with:\n skip-upload: true\n skip-deploy: true\n bundle-command: blocklet bundle --create-release\n github-token: ${{ secrets.GITHUB_TOKEN }}";function g(){return g=o(r().mark((function e(t){var n,o,i,a,s,f,d=arguments;return r().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=d.length>1&&void 0!==d[1]?d[1]:{},o=n.holder,i="".concat(t.name.split("/").pop()),a="# ".concat(t.title,"\n\n## Introduction\n\n").concat(t.description),s=new c.default,(f=s.folder(i)).file("blocklet.yml",u.default.dump(t)),f.file("blocklet.md",a),f.file("README.md",a),f.file("logo.png",m(t.did)),f.file("LICENSE",h(o)),f.file(".gitignore",b),f.folder("screenshots").file(".gitkeep",""),f.folder(".github").folder("workflows").file("main.yml",v),e.next=15,new Promise((function(e,t){s.generateAsync({type:"blob"}).then((function(t){(0,l.default)(t,"".concat(i,".zip")),e()})).catch((function(e){t(e)}))}));case 15:case"end":return e.stop()}}),e)}))),g.apply(this,arguments)}var y=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=t.routing.adminPath,o=n?encodeURIComponent((0,s.default)(window.location.origin,r)):(0,s.default)(window.location.origin,r),i=(0,s.default)(null===t||void 0===t?void 0:t.blockletRegistry,"/api/blocklets/".concat(e.did,"/blocklet.json"));return{serverUrl:o,metaUrl:i}};t.getLaunchURL=y;t.getLaunchAgreementUrl=function(e,t){var n=y(e,t),r=n.metaUrl,o=n.serverUrl,i=new URL((0,s.default)(o,"/launch-blocklet/agreement"));return i.searchParams.set("blocklet_meta_url",r),i.searchParams.set("from",window.location.href),i.href}},54258:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=m;var r=n(30969),o=l(n(24974)),i=l(n(86186)),a=n(42167),c=n(37574),u=["children"];function l(e){return e&&e.__esModule?e:{default:e}}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function f(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){d(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function p(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function m(e){var t=e.children,n=p(e,u),o=(0,r.useContext)(a.LocaleContext).t;return(0,c.jsx)(i.default,f(f({tip:o("common.copyTip"),copiedTip:o("common.copiedTip")},n),{},{children:t}))}m.propTypes={children:o.default.any.isRequired}},8144:function(e,t,n){"use strict";var r=n(27609).default,o=n(91461).default,i=n(43681).default;Object.defineProperty(t,"__esModule",{value:!0}),t.default=j;var a,c=n(30969),u=E(n(24974)),l=E(n(16380)),s=E(n(52897)),f=E(n(61802)),d=E(n(24757)),p=E(n(45201)),m=E(n(85865)),h=E(n(52051)),b=E(n(95018)),v=E(n(94702)),g=E(n(87335)),y=n(42167),w=E(n(88029)),O=n(85710),T=E(n(78853)),x=n(37574);function E(e){return e&&e.__esModule?e:{default:e}}function j(e){var t=e.title,n=e.description,a=e.showCancel,u=e.cancel,l=e.confirm,s=e.color,E=e.params,j=e.onCancel,I=e.onConfirm,k=(0,c.useState)(E),N=i(k,2),R=N[0],S=N[1],P=(0,c.useState)(!0),Z=i(P,2),_=Z[0],A=Z[1],L=(0,c.useState)(!1),U=i(L,2),D=U[0],M=U[1],H=(0,c.useState)(""),F=i(H,2),W=F[0],B=F[1],V=(0,y.useLocaleContext)().t,Y=(0,v.default)(),z=function(){var e=o(r().mark((function e(t){return r().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("function"!==typeof t){e.next=17;break}return M(!0),e.prev=2,e.next=5,t(R);case 5:A(!1),e.next=12;break;case 8:e.prev=8,e.t0=e.catch(2),B((0,O.formatError)(e.t0)),console.error(e.t0);case 12:return e.prev=12,M(!1),e.finish(12);case 15:e.next=18;break;case 17:A(!1);case 18:case"end":return e.stop()}}),e,null,[[2,8,12,15]])})));return function(t){return e.apply(this,arguments)}}(),G="function"===typeof t?t():t,q="function"===typeof n?n(R,S,B):n,K=(0,g.default)(Y.breakpoints.down("md")),$=(0,T.default)().minWidth;return(0,x.jsxs)(C,{onClick:function(e){e.stopPropagation()},fullScreen:K,open:_,style:{minWidth:$},children:[(0,x.jsx)(h.default,{children:G}),(0,x.jsxs)(p.default,{style:{minWidth:$},children:[(0,x.jsx)(m.default,{component:"div",children:q}),!!W&&(0,x.jsx)(b.default,{severity:"error",style:{width:"100%",marginTop:8},children:W})]}),(0,x.jsxs)(d.default,{className:"delete-actions",style:{padding:"8px 24px 24px"},children:[a&&(0,x.jsx)(w.default,{onClick:function(e){e.stopPropagation(),z(j)},color:"inherit","data-cy":"cancel-confirm-dialog",children:u||V("common.cancel")}),(0,x.jsxs)(w.default,{onClick:function(e){e.stopPropagation(),z(I)},color:s,disabled:R.__disableConfirm||D,variant:"contained","data-cy":"submit-confirm-dialog",autoFocus:!0,children:[D&&(0,x.jsx)(f.default,{size:[16,10]}),l]})]})]})}j.propTypes={title:u.default.any.isRequired,description:u.default.any.isRequired,showCancel:u.default.bool,cancel:u.default.string,color:u.default.string,confirm:u.default.string,params:u.default.object,onCancel:u.default.func,onConfirm:u.default.func.isRequired},j.defaultProps={onCancel:function(){},showCancel:!0,cancel:"",confirm:"Confirm",color:"error",params:{}};var I,k,C=(0,l.default)(s.default)(a||(I=["\n .delete-actions .Mui-disabled {\n color: rgba(0, 0, 0, 0.26) !important;\n box-shadow: none;\n background-color: rgba(0, 0, 0, 0.12) !important;\n }\n"],k||(k=I.slice(0)),a=Object.freeze(Object.defineProperties(I,{raw:{value:Object.freeze(k)}}))))},78853:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,o=n(28440),i=(r=n(87335))&&r.__esModule?r:{default:r};var a=function(){var e=(0,o.useTheme)();return{minWidth:(0,i.default)(e.breakpoints.down("md"))?300:e.breakpoints.values.sm}};t.default=a},23633:function(e,t,n){"use strict";var r=n(71600);t.Z=void 0;var o=r(n(48035)),i=n(37574),a=(0,o.default)((0,i.jsx)("path",{d:"m20 12-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"}),"ArrowDownwardSharp");t.Z=a},76129:function(e,t,n){"use strict";var r=n(71600);t.Z=void 0;var o=r(n(48035)),i=n(37574),a=(0,o.default)((0,i.jsx)("path",{d:"m4 12 1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z"}),"ArrowUpwardSharp");t.Z=a},76032:function(e,t,n){var r=n(43746),o=n(28342),i=n(32824),a=n(49756),c=n(66274),u=n(25377),l=n(91121),s=n(29239),f=Object.prototype.hasOwnProperty;e.exports=function(e){if(null==e)return!0;if(c(e)&&(a(e)||"string"==typeof e||"function"==typeof e.splice||u(e)||s(e)||i(e)))return!e.length;var t=o(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(l(e))return!r(e).length;for(var n in e)if(f.call(e,n))return!1;return!0}},86539:function(){},33196:function(){},38087:function(){},8092:function(){},50936:function(){},66604:function(e,t,n){"use strict";n.d(t,{Z:function(){return b}});var r=n(32723),o=n(34795),i=n(33028),a=n(87371),c=n(9249),u=n(45754),l=n(13820),s=n(25991),f=function(e){(0,u.Z)(n,e);var t=(0,l.Z)(n);function n(e){var r;return(0,c.Z)(this,n),(r=t.call(this,e)).name="TimeoutError",r}return(0,a.Z)(n)}((0,s.Z)(Error)),d=function(e){(0,u.Z)(n,e);var t=(0,l.Z)(n);function n(e){var r;return(0,c.Z)(this,n),(r=t.call(this)).name="AbortError",r.message=e,r}return(0,a.Z)(n)}((0,s.Z)(Error)),p=function(e){return void 0===globalThis.DOMException?new d(e):new DOMException(e)},m=function(e){var t=void 0===e.reason?p("This operation was aborted."):e.reason;return t instanceof Error?t:p(t)};function h(e,t,n,a){var c,u=new Promise((function(u,l){if("number"!==typeof t||1!==Math.sign(t))throw new TypeError("Expected `milliseconds` to be a positive number, got `".concat(t,"`"));if(t!==Number.POSITIVE_INFINITY){if((a=(0,i.Z)({customTimers:{setTimeout:setTimeout,clearTimeout:clearTimeout}},a)).signal){var s=a.signal;s.aborted&&l(m(s)),s.addEventListener("abort",(function(){l(m(s))}))}c=a.customTimers.setTimeout.call(void 0,(function(){if("function"!==typeof n){var r="string"===typeof n?n:"Promise timed out after ".concat(t," milliseconds"),o=n instanceof Error?n:new f(r);"function"===typeof e.cancel&&e.cancel(),l(o)}else try{u(n())}catch(i){l(i)}}),t),(0,o.Z)((0,r.Z)().mark((function t(){return(0,r.Z)().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.t0=u,t.next=4,e;case 4:t.t1=t.sent,(0,t.t0)(t.t1),t.next=11;break;case 8:t.prev=8,t.t2=t.catch(0),l(t.t2);case 11:return t.prev=11,a.customTimers.clearTimeout.call(void 0,c),t.finish(11);case 14:case"end":return t.stop()}}),t,null,[[0,8,11,14]])})))()}else u(e)}));return u.clear=function(){clearTimeout(c),c=void 0},u}function b(e){return v.apply(this,arguments)}function v(){return v=(0,o.Z)((0,r.Z)().mark((function e(t){var n,i,a,c,u,l,s,f,d,p=arguments;return(0,r.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=p.length>1&&void 0!==p[1]?p[1]:{},i=n.interval,a=void 0===i?20:i,c=n.timeout,u=void 0===c?Number.POSITIVE_INFINITY:c,l=n.before,s=void 0===l||l,d=new Promise((function(e,n){var i=function(){var c=(0,o.Z)((0,r.Z)().mark((function o(){var c;return(0,r.Z)().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,t();case 3:if("boolean"===typeof(c=r.sent)){r.next=6;break}throw new TypeError("Expected condition to return a boolean");case 6:!0===c?e():f=setTimeout(i,a),r.next=12;break;case 9:r.prev=9,r.t0=r.catch(0),n(r.t0);case 12:case"end":return r.stop()}}),o,null,[[0,9]])})));return function(){return c.apply(this,arguments)}}();s?i():f=setTimeout(i,a)})),u===Number.POSITIVE_INFINITY){e.next=14;break}return e.prev=4,e.next=7,h(d,u);case 7:return e.abrupt("return",e.sent);case 10:throw e.prev=10,e.t0=e.catch(4),f&&clearTimeout(f),e.t0;case 14:return e.abrupt("return",d);case 15:case"end":return e.stop()}}),e,null,[[4,10]])}))),v.apply(this,arguments)}}}]);
|
|
2
|
+
//# sourceMappingURL=7595.2d41497d.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"static/js/7595.2d41497d.chunk.js","mappings":"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","sources":["components/delete-confirm.js","pages/store/index.js","../../../blocklet/meta/lib/did.js","../../ux/lib/blocklet/util.js","../../ux/lib/click-to-copy.js","../../ux/lib/confirm.js","../../ux/lib/hooks/mobile-width.js","../../../node_modules/@mui/icons-material/ArrowDownwardSharp.js","../../../node_modules/@mui/icons-material/ArrowUpwardSharp.js","../../../node_modules/lodash/isEmpty.js","../node_modules/p-timeout/index.js","../node_modules/p-wait-for/index.js"],"sourcesContent":["/* eslint-disable react/no-unstable-nested-components */\n/* eslint-disable react/no-danger */\n/* eslint-disable react/prop-types */\nimport PropTypes from 'prop-types';\n\nimport Typography from '@mui/material/Typography';\nimport TextField from '@mui/material/TextField';\n\nimport Alert from '@mui/material/Alert';\nimport { useLocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport ClickToCopy from '@abtnode/ux/lib/click-to-copy';\n\nimport Confirm from './confirm';\n\nexport default function CancelConfirm({\n title,\n description,\n confirmPlaceholder,\n cancel,\n confirm,\n params: initialParams,\n onCancel,\n onConfirm,\n keyName,\n}) {\n const { t } = useLocaleContext();\n\n const confirmSetting = {\n title: () => (\n <div>\n {title}\n {` (${keyName})`}\n </div>\n ),\n description: (params, setParams) => {\n const setValue = value => {\n // eslint-disable-next-line no-underscore-dangle\n setParams({ ...value, __disableConfirm: value.__disableConfirm });\n };\n\n return (\n <div>\n <Alert severity=\"warning\" style={{ width: '100%' }}>\n {t('common.notice')}\n </Alert>\n <div style={{ marginTop: 24, marginBottom: 24 }} dangerouslySetInnerHTML={{ __html: description }} />\n <div style={{ marginBottom: 24 }}>\n {t('common.click')}:<ClickToCopy data-cy=\"click-copy\">{keyName}</ClickToCopy>\n </div>\n <Typography component=\"div\">\n <TextField\n label={confirmPlaceholder}\n autoComplete=\"off\"\n data-cy=\"delete-confirm-input\"\n variant=\"outlined\"\n fullWidth\n autoFocus\n value={params.inputVal}\n onChange={e => {\n setValue({ ...params, inputVal: e.target.value, __disableConfirm: keyName !== e.target.value });\n }}\n />\n </Typography>\n </div>\n );\n },\n confirm,\n cancel,\n onConfirm,\n onCancel,\n params: {\n inputVal: '',\n __disableConfirm: true,\n ...initialParams,\n },\n };\n\n return (\n <Confirm\n title={confirmSetting.title}\n description={confirmSetting.description}\n confirm={confirmSetting.confirm}\n cancel={confirmSetting.cancel}\n params={confirmSetting.params}\n onConfirm={confirmSetting.onConfirm}\n onCancel={confirmSetting.onCancel}\n />\n );\n}\n\nCancelConfirm.propTypes = {\n title: PropTypes.any.isRequired,\n keyName: PropTypes.any.isRequired,\n description: PropTypes.any.isRequired, // can be a function that renders different content based on params\n confirmPlaceholder: PropTypes.any.isRequired,\n cancel: PropTypes.string,\n confirm: PropTypes.string,\n params: PropTypes.object, // This object holds states managed in the dialog\n onCancel: PropTypes.func,\n onConfirm: PropTypes.func.isRequired,\n};\n\nCancelConfirm.defaultProps = {\n onCancel: () => {},\n cancel: '',\n confirm: 'Confirm',\n params: {},\n};\n","/* eslint-disable react/jsx-one-expression-per-line */\n/* eslint-disable operator-linebreak */\nimport { useRef } from 'react';\nimport joinURL from 'url-join';\nimport styled from '@emotion/styled';\nimport PropTypes from 'prop-types';\n\nimport Typography from '@mui/material/Typography';\nimport Box from '@mui/material/Box';\nimport Breadcrumbs from '@mui/material/Breadcrumbs';\nimport ArrowDownwardSharpIcon from '@mui/icons-material/ArrowDownwardSharp';\nimport ArrowUpwardSharpIcon from '@mui/icons-material/ArrowUpwardSharp';\nimport { useLocaleContext } from '@arcblock/ux/lib/Locale/context';\n\nimport { useNodeContext } from '../../contexts/node';\nimport BlockletList from '../../components/blocklet/list';\nimport SwitchBlockletRegistry from '../../components/registry/switch';\n\nfunction SortIcon({ direction }) {\n return direction === 'desc' ? <ArrowDownwardSharpIcon /> : <ArrowUpwardSharpIcon />;\n}\n\nSortIcon.propTypes = {\n direction: PropTypes.string,\n};\nSortIcon.defaultProps = {\n direction: 'asc',\n};\n\nexport default function BlockletStore() {\n const { t } = useLocaleContext();\n const { info } = useNodeContext();\n\n const adminPath = process.env.NODE_ENV === 'production' ? info.routing.adminPath : '';\n const serverUrl = joinURL(window.location.origin, adminPath);\n const handleSearchSelect = ({ detailUrl }) => {\n const tmp = new URL(detailUrl);\n tmp.searchParams.set('server-url', serverUrl);\n const aEle = document.createElement('a');\n aEle.setAttribute('target', '_blank');\n aEle.setAttribute('href', tmp.href);\n aEle.click();\n };\n\n const switchEl = useRef(null);\n\n return (\n <Main>\n <Breadcrumbs separator=\"›\" aria-label=\"breadcrumb\" className=\"page-breadcrumb\">\n <Typography color=\"textPrimary\">{t('common.store')}</Typography>\n <SwitchBlockletRegistry ref={switchEl} />\n </Breadcrumbs>\n <Box className=\"store-header\" display=\"flex\" justifyContent=\"space-between\" p={0} m={0}>\n <Typography component=\"h2\" variant=\"h4\" className=\"page-header\" color=\"textPrimary\">\n {t('store.headerDescription')}\n </Typography>\n </Box>\n <BlockletList className=\"blocklet-list\" handleSearchSelect={handleSearchSelect} />\n </Main>\n );\n}\n\nconst Main = styled.main`\n @media (max-width: ${props => props.theme.breakpoints.values.sm}px) {\n .store-header {\n flex-direction: column;\n margin-bottom: 32px !important;\n }\n\n .page-header {\n margin-bottom: 16px !important;\n }\n }\n .blocklet-list {\n aside:hover {\n height: calc(100vh - 235px);\n }\n }\n`;\n","const { types } = require('@ocap/mcrypto');\nconst { toHex } = require('@ocap/util');\nconst { fromPublicKey } = require('@arcblock/did');\n\nconst toBlockletDid = (name) => {\n const pk = toHex(Buffer.from(typeof name === 'string' ? name.trim() : name));\n return fromPublicKey(pk, { role: types.RoleType.ROLE_ANY });\n};\n\nmodule.exports = toBlockletDid;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.downloadExportedSource = downloadExportedSource;\nexports.genExportedMeta = genExportedMeta;\nexports.getLaunchURL = exports.getLaunchAgreementUrl = void 0;\nexports.getNameByTitle = getNameByTitle;\nvar _cloneDeep = _interopRequireDefault(require(\"lodash/cloneDeep\"));\nvar _pickBy = _interopRequireDefault(require(\"lodash/pickBy\"));\nvar _jszip = _interopRequireDefault(require(\"jszip\"));\nvar _jsYaml = _interopRequireDefault(require(\"js-yaml\"));\nvar _fileSaver = _interopRequireDefault(require(\"file-saver\"));\nvar _urlJoin = _interopRequireDefault(require(\"url-join\"));\nvar _did = _interopRequireDefault(require(\"@blocklet/meta/lib/did\"));\nvar _didMotif = require(\"@arcblock/did-motif\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nconst base64ToArrayBuffer = base64 => {\n const bufStr = window.atob(base64);\n const bytes = new Uint8Array(bufStr.length);\n for (let i = 0; i < bufStr.length; i++) {\n bytes[i] = bufStr.charCodeAt(i);\n }\n return bytes;\n};\nconst getLogo = did => {\n const url = (0, _didMotif.toDataURL)(did, {\n size: 200\n });\n const base64 = url.replace(/^[^,]*,/, '');\n return base64ToArrayBuffer(base64);\n};\nfunction getNameByTitle(title) {\n return title.replace(/[\\s/@_]/g, '-').replace(/[^a-zA-Z0-9_-]/g, '').replace(/(^[-\\s]+)|([-\\s]+$)/g, '').toLowerCase();\n}\nfunction genExportedMeta(name, blocklet) {\n const meta = (0, _pickBy.default)((0, _cloneDeep.default)(blocklet.meta), x => x !== null);\n meta.name = name;\n meta.did = (0, _did.default)(name);\n meta.logo = 'logo.png';\n meta.interfaces.forEach(x => {\n // filter null or undefined\n if (!x.services) {\n delete x.services;\n }\n });\n blocklet.children.forEach(child => {\n if (child.dynamic && child.bundleSource) {\n meta.children.push({\n name: child.meta.name,\n source: child.bundleSource,\n title: child.meta.title,\n mountPoint: child.mountPoint\n });\n }\n });\n meta.environments = (blocklet.configs || []).map(x => ({\n name: x.key,\n description: 'Automatically generated when exporting',\n required: !!x.required,\n secure: !!x.secure,\n default: x.secure ? '' : x.value || ''\n }));\n meta.capabilities.component = false;\n return meta;\n}\nconst license = holder => \"Copyright \\xA9 2022 \".concat(holder || '', \"\\n\\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \\u201CSoftware\\u201D), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\\n\\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\\n\\nTHE SOFTWARE IS PROVIDED \\u201CAS IS\\u201D, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\");\nconst Gitignore = \".DS_Store\\n.blocklet\";\nconst GithubAction = \"name: Deploy\\n\\non:\\n push:\\n branches:\\n - main\\n\\njobs:\\n Deploy:\\n runs-on: ubuntu-latest\\n\\n steps:\\n - name: Checkout repo\\n uses: actions/checkout@v2\\n\\n - name: Blocklet workflow\\n uses: blocklet/action-workflow@v1\\n with:\\n skip-upload: true\\n skip-deploy: true\\n bundle-command: blocklet bundle --create-release\\n github-token: ${{ secrets.GITHUB_TOKEN }}\";\nasync function downloadExportedSource(meta) {\n let {\n holder\n } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const folderName = \"\".concat(meta.name.split('/').pop());\n const readme = \"# \".concat(meta.title, \"\\n\\n## Introduction\\n\\n\").concat(meta.description);\n const zip = new _jszip.default();\n const folder = zip.folder(folderName);\n folder.file('blocklet.yml', _jsYaml.default.dump(meta));\n folder.file('blocklet.md', readme);\n folder.file('README.md', readme);\n folder.file('logo.png', getLogo(meta.did));\n folder.file('LICENSE', license(holder));\n folder.file('.gitignore', Gitignore);\n folder.folder('screenshots').file('.gitkeep', '');\n folder.folder('.github').folder('workflows').file('main.yml', GithubAction);\n await new Promise((resolve, reject) => {\n zip.generateAsync({\n type: 'blob'\n }).then(content => {\n (0, _fileSaver.default)(content, \"\".concat(folderName, \".zip\"));\n resolve();\n }).catch(err => {\n reject(err);\n });\n });\n}\nconst getLaunchURL = function getLaunchURL(meta, info) {\n let encodeURI = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n const adminPath = process.env.NODE_ENV === 'production' ? info.routing.adminPath : '';\n const serverUrl = encodeURI ? encodeURIComponent((0, _urlJoin.default)(window.location.origin, adminPath)) : (0, _urlJoin.default)(window.location.origin, adminPath);\n const metaUrl = (0, _urlJoin.default)(info === null || info === void 0 ? void 0 : info.blockletRegistry, \"/api/blocklets/\".concat(meta.did, \"/blocklet.json\"));\n return {\n serverUrl,\n metaUrl\n };\n};\nexports.getLaunchURL = getLaunchURL;\nconst getLaunchAgreementUrl = (meta, info) => {\n const {\n metaUrl,\n serverUrl\n } = getLaunchURL(meta, info);\n const url = new URL((0, _urlJoin.default)(serverUrl, '/launch-blocklet/agreement'));\n url.searchParams.set('blocklet_meta_url', metaUrl);\n url.searchParams.set('from', window.location.href);\n return url.href;\n};\nexports.getLaunchAgreementUrl = getLaunchAgreementUrl;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = ClickToCopy;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _ClickToCopy = _interopRequireDefault(require(\"@arcblock/ux/lib/ClickToCopy\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nconst _excluded = [\"children\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction ClickToCopy(_ref) {\n let {\n children\n } = _ref,\n rest = _objectWithoutProperties(_ref, _excluded);\n const {\n t\n } = (0, _react.useContext)(_context.LocaleContext);\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ClickToCopy.default, _objectSpread(_objectSpread({\n tip: t('common.copyTip'),\n copiedTip: t('common.copiedTip')\n }, rest), {}, {\n children: children\n }));\n}\nClickToCopy.propTypes = {\n children: _propTypes.default.any.isRequired\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = ConfirmDialog;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _Dialog = _interopRequireDefault(require(\"@mui/material/Dialog\"));\nvar _Spinner = _interopRequireDefault(require(\"@arcblock/ux/lib/Spinner\"));\nvar _DialogActions = _interopRequireDefault(require(\"@mui/material/DialogActions\"));\nvar _DialogContent = _interopRequireDefault(require(\"@mui/material/DialogContent\"));\nvar _DialogContentText = _interopRequireDefault(require(\"@mui/material/DialogContentText\"));\nvar _DialogTitle = _interopRequireDefault(require(\"@mui/material/DialogTitle\"));\nvar _Alert = _interopRequireDefault(require(\"@mui/material/Alert\"));\nvar _useTheme = _interopRequireDefault(require(\"@mui/material/styles/useTheme\"));\nvar _useMediaQuery = _interopRequireDefault(require(\"@mui/material/useMediaQuery\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _util = require(\"./util\");\nvar _mobileWidth = _interopRequireDefault(require(\"./hooks/mobile-width\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction ConfirmDialog(_ref) {\n let {\n title,\n description,\n showCancel,\n cancel,\n confirm,\n color,\n params: initialParams,\n onCancel,\n onConfirm\n } = _ref;\n const [params, setParams] = (0, _react.useState)(initialParams);\n const [open, setOpen] = (0, _react.useState)(true);\n const [loading, setLoading] = (0, _react.useState)(false);\n const [error, setError] = (0, _react.useState)('');\n const {\n t: changeLocale\n } = (0, _context.useLocaleContext)();\n const theme = (0, _useTheme.default)();\n const onCallback = async cb => {\n if (typeof cb === 'function') {\n setLoading(true);\n try {\n await cb(params);\n setOpen(false);\n } catch (err) {\n setError((0, _util.formatError)(err));\n console.error(err);\n } finally {\n setLoading(false);\n }\n } else {\n setOpen(false);\n }\n };\n const t = typeof title === 'function' ? title() : title;\n const d = typeof description === 'function' ? description(params, setParams, setError) : description;\n const isBreakpointsDownSm = (0, _useMediaQuery.default)(theme.breakpoints.down('md'));\n const handleClick = e => {\n e.stopPropagation();\n };\n const {\n minWidth\n } = (0, _mobileWidth.default)();\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledDialog, {\n onClick: handleClick,\n fullScreen: isBreakpointsDownSm,\n open: open,\n style: {\n minWidth\n },\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_DialogTitle.default, {\n children: t\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_DialogContent.default, {\n style: {\n minWidth\n },\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_DialogContentText.default, {\n component: \"div\",\n children: d\n }), !!error && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Alert.default, {\n severity: \"error\",\n style: {\n width: '100%',\n marginTop: 8\n },\n children: error\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_DialogActions.default, {\n className: \"delete-actions\",\n style: {\n padding: '8px 24px 24px'\n },\n children: [showCancel && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {\n onClick: e => {\n e.stopPropagation();\n onCallback(onCancel);\n },\n color: \"inherit\",\n \"data-cy\": \"cancel-confirm-dialog\",\n children: cancel || changeLocale('common.cancel')\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n onClick: e => {\n e.stopPropagation();\n onCallback(onConfirm);\n },\n color: color\n // eslint-disable-next-line no-underscore-dangle\n ,\n disabled: params.__disableConfirm || loading,\n variant: \"contained\",\n \"data-cy\": \"submit-confirm-dialog\",\n autoFocus: true,\n children: [loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.default, {\n size: [16, 10]\n }), confirm]\n })]\n })]\n });\n}\nConfirmDialog.propTypes = {\n title: _propTypes.default.any.isRequired,\n description: _propTypes.default.any.isRequired,\n // can be a function that renders different content based on params\n showCancel: _propTypes.default.bool,\n cancel: _propTypes.default.string,\n color: _propTypes.default.string,\n confirm: _propTypes.default.string,\n params: _propTypes.default.object,\n // This object holds states managed in the dialog\n onCancel: _propTypes.default.func,\n onConfirm: _propTypes.default.func.isRequired\n};\nConfirmDialog.defaultProps = {\n onCancel: () => {},\n showCancel: true,\n cancel: '',\n confirm: 'Confirm',\n color: 'error',\n params: {}\n};\nconst StyledDialog = (0, _styled.default)(_Dialog.default)(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n .delete-actions .Mui-disabled {\\n color: rgba(0, 0, 0, 0.26) !important;\\n box-shadow: none;\\n background-color: rgba(0, 0, 0, 0.12) !important;\\n }\\n\"])));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _styles = require(\"@mui/styles\");\nvar _useMediaQuery = _interopRequireDefault(require(\"@mui/material/useMediaQuery\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction useMobileWidth() {\n const theme = (0, _styles.useTheme)();\n const isBreakpointsDownSm = (0, _useMediaQuery.default)(theme.breakpoints.down('md'));\n const minWidth = isBreakpointsDownSm ? 300 : theme.breakpoints.values.sm;\n return {\n minWidth\n };\n}\nvar _default = useMobileWidth;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m20 12-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z\"\n}), 'ArrowDownwardSharp');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m4 12 1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z\"\n}), 'ArrowUpwardSharp');\n\nexports.default = _default;","var baseKeys = require('./_baseKeys'),\n getTag = require('./_getTag'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLike = require('./isArrayLike'),\n isBuffer = require('./isBuffer'),\n isPrototype = require('./_isPrototype'),\n isTypedArray = require('./isTypedArray');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\nfunction isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = isEmpty;\n","export class TimeoutError extends Error {\n\tconstructor(message) {\n\t\tsuper(message);\n\t\tthis.name = 'TimeoutError';\n\t}\n}\n\n/**\nAn error to be thrown when the request is aborted by AbortController.\nDOMException is thrown instead of this Error when DOMException is available.\n*/\nexport class AbortError extends Error {\n\tconstructor(message) {\n\t\tsuper();\n\t\tthis.name = 'AbortError';\n\t\tthis.message = message;\n\t}\n}\n\n/**\nTODO: Remove AbortError and just throw DOMException when targeting Node 18.\n*/\nconst getDOMException = errorMessage => globalThis.DOMException === undefined ?\n\tnew AbortError(errorMessage) :\n\tnew DOMException(errorMessage);\n\n/**\nTODO: Remove below function and just 'reject(signal.reason)' when targeting Node 18.\n*/\nconst getAbortedReason = signal => {\n\tconst reason = signal.reason === undefined ?\n\t\tgetDOMException('This operation was aborted.') :\n\t\tsignal.reason;\n\n\treturn reason instanceof Error ? reason : getDOMException(reason);\n};\n\nexport default function pTimeout(promise, milliseconds, fallback, options) {\n\tlet timer;\n\n\tconst cancelablePromise = new Promise((resolve, reject) => {\n\t\tif (typeof milliseconds !== 'number' || Math.sign(milliseconds) !== 1) {\n\t\t\tthrow new TypeError(`Expected \\`milliseconds\\` to be a positive number, got \\`${milliseconds}\\``);\n\t\t}\n\n\t\tif (milliseconds === Number.POSITIVE_INFINITY) {\n\t\t\tresolve(promise);\n\t\t\treturn;\n\t\t}\n\n\t\toptions = {\n\t\t\tcustomTimers: {setTimeout, clearTimeout},\n\t\t\t...options\n\t\t};\n\n\t\tif (options.signal) {\n\t\t\tconst {signal} = options;\n\t\t\tif (signal.aborted) {\n\t\t\t\treject(getAbortedReason(signal));\n\t\t\t}\n\n\t\t\tsignal.addEventListener('abort', () => {\n\t\t\t\treject(getAbortedReason(signal));\n\t\t\t});\n\t\t}\n\n\t\ttimer = options.customTimers.setTimeout.call(undefined, () => {\n\t\t\tif (typeof fallback === 'function') {\n\t\t\t\ttry {\n\t\t\t\t\tresolve(fallback());\n\t\t\t\t} catch (error) {\n\t\t\t\t\treject(error);\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst message = typeof fallback === 'string' ? fallback : `Promise timed out after ${milliseconds} milliseconds`;\n\t\t\tconst timeoutError = fallback instanceof Error ? fallback : new TimeoutError(message);\n\n\t\t\tif (typeof promise.cancel === 'function') {\n\t\t\t\tpromise.cancel();\n\t\t\t}\n\n\t\t\treject(timeoutError);\n\t\t}, milliseconds);\n\n\t\t(async () => {\n\t\t\ttry {\n\t\t\t\tresolve(await promise);\n\t\t\t} catch (error) {\n\t\t\t\treject(error);\n\t\t\t} finally {\n\t\t\t\toptions.customTimers.clearTimeout.call(undefined, timer);\n\t\t\t}\n\t\t})();\n\t});\n\n\tcancelablePromise.clear = () => {\n\t\tclearTimeout(timer);\n\t\ttimer = undefined;\n\t};\n\n\treturn cancelablePromise;\n}\n","import pTimeout from 'p-timeout';\n\nexport default async function pWaitFor(condition, options = {}) {\n\tconst {\n\t\tinterval = 20,\n\t\ttimeout = Number.POSITIVE_INFINITY,\n\t\tbefore = true\n\t} = options;\n\n\tlet retryTimeout;\n\n\tconst promise = new Promise((resolve, reject) => {\n\t\tconst check = async () => {\n\t\t\ttry {\n\t\t\t\tconst value = await condition();\n\n\t\t\t\tif (typeof value !== 'boolean') {\n\t\t\t\t\tthrow new TypeError('Expected condition to return a boolean');\n\t\t\t\t}\n\n\t\t\t\tif (value === true) {\n\t\t\t\t\tresolve();\n\t\t\t\t} else {\n\t\t\t\t\tretryTimeout = setTimeout(check, interval);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\treject(error);\n\t\t\t}\n\t\t};\n\n\t\tif (before) {\n\t\t\tcheck();\n\t\t} else {\n\t\t\tretryTimeout = setTimeout(check, interval);\n\t\t}\n\t});\n\n\tif (timeout !== Number.POSITIVE_INFINITY) {\n\t\ttry {\n\t\t\treturn await pTimeout(promise, timeout);\n\t\t} catch (error) {\n\t\t\tif (retryTimeout) {\n\t\t\t\tclearTimeout(retryTimeout);\n\t\t\t}\n\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\treturn promise;\n}\n\nexport {TimeoutError} from 'p-timeout';\n"],"names":["CancelConfirm","title","description","confirmPlaceholder","cancel","confirm","initialParams","params","onCancel","onConfirm","keyName","t","useLocaleContext","confirmSetting","setParams","severity","style","width","marginTop","marginBottom","dangerouslySetInnerHTML","__html","component","label","autoComplete","variant","fullWidth","autoFocus","value","inputVal","onChange","e","target","__disableConfirm","defaultProps","BlockletStore","adminPath","useNodeContext","info","routing","serverUrl","joinURL","window","location","origin","switchEl","useRef","Main","separator","className","color","ref","display","justifyContent","p","m","handleSearchSelect","detailUrl","tmp","URL","searchParams","set","aEle","document","createElement","setAttribute","href","click","styled","props","theme","breakpoints","values","sm","types","require","toHex","fromPublicKey","module","exports","name","pk","Buffer","from","trim","role","RoleType","ROLE_ANY","Object","defineProperty","downloadExportedSource","genExportedMeta","blocklet","meta","_pickBy","default","_cloneDeep","x","did","_did","logo","interfaces","forEach","services","children","child","dynamic","bundleSource","push","source","mountPoint","environments","configs","map","key","required","secure","capabilities","getLaunchURL","getLaunchAgreementUrl","getNameByTitle","replace","toLowerCase","_interopRequireDefault","_jszip","_jsYaml","_fileSaver","_urlJoin","_didMotif","obj","__esModule","getLogo","base64","bufStr","atob","bytes","Uint8Array","length","i","charCodeAt","base64ToArrayBuffer","toDataURL","size","license","holder","concat","Gitignore","GithubAction","undefined","folderName","split","pop","readme","zip","folder","file","dump","Promise","resolve","reject","generateAsync","type","then","content","catch","err","encodeURI","arguments","encodeURIComponent","metaUrl","blockletRegistry","url","ClickToCopy","_react","_propTypes","_ClickToCopy","_context","_jsxRuntime","_excluded","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","apply","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","configurable","writable","_objectWithoutProperties","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","sourceSymbolKeys","prototype","propertyIsEnumerable","call","_ref","rest","useContext","LocaleContext","jsx","tip","copiedTip","propTypes","any","isRequired","ConfirmDialog","_templateObject","_styled","_Dialog","_Spinner","_DialogActions","_DialogContent","_DialogContentText","_DialogTitle","_Alert","_useTheme","_useMediaQuery","_Button","_util","_mobileWidth","showCancel","useState","open","setOpen","loading","setLoading","error","setError","changeLocale","onCallback","cb","formatError","console","d","isBreakpointsDownSm","down","minWidth","jsxs","StyledDialog","onClick","stopPropagation","fullScreen","padding","disabled","bool","string","func","strings","raw","slice","freeze","_styles","_default","useTheme","_createSvgIcon","baseKeys","getTag","isArguments","isArray","isArrayLike","isBuffer","isPrototype","isTypedArray","hasOwnProperty","splice","tag","TimeoutError","message","Error","AbortError","getDOMException","errorMessage","globalThis","DOMException","getAbortedReason","signal","reason","pTimeout","promise","milliseconds","fallback","options","timer","cancelablePromise","Math","sign","TypeError","Number","POSITIVE_INFINITY","customTimers","setTimeout","clearTimeout","aborted","addEventListener","timeoutError","clear","pWaitFor","condition","interval","timeout","before","check","retryTimeout"],"sourceRoot":""}
|