{"version":3,"file":"static/js/840.5bab35d4.js","mappings":"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","sources":["webpack://tcpp_web/../../../packages/ad_utils_react/src/components/CommonLayout/index.module.scss?f859","webpack://tcpp_web/../../../packages/ad_utils_react/src/components/ConfirmModal/index.module.scss?f7c0","webpack://tcpp_web/../../../packages/ad_utils_react/src/components/business/TTCX/AssetManagement/AuthManageConfirmModal/index.module.scss?9a34","webpack://tcpp_web/../../../packages/ad_utils_react/src/components/business/TTCX/AssetManagement/Send2AdsManager/index.module.scss?ffb6","webpack://tcpp_web/../../../packages/ad_utils_react/src/components/business/TTCX/Loading/index.module.scss?6e25","../../../../packages/ad_utils_react/src/components/CommonLayout/index.tsx","../../../../packages/ad_utils_react/src/components/ConfirmModal/index.tsx","../../../../packages/ad_utils_react/src/components/UploadAndPreviewFile/type.tsx","../../../../packages/ad_utils_react/src/components/UploadAndPreviewFile/useUpload.tsx","../../../../packages/ad_utils_react/src/components/Uploader/useUpload.ts","../../../../packages/ad_utils_react/src/components/business/TTCX/AssetManagement/AuthManageConfirmModal/index.tsx","../../../../packages/ad_utils_react/src/components/business/TTCX/AssetManagement/AuthManageConfirmModal/type.ts","../../../../packages/ad_utils_react/src/components/business/TTCX/AssetManagement/Send2AdsManager/index.tsx","../../../../packages/ad_utils_react/src/components/business/TTCX/AssetManagement/common/type.ts","../../../../packages/ad_utils_react/src/components/business/TTCX/Loading/index.tsx","../../../../packages/ad_utils_react/src/components/business/TTCX/TTCXModal/index.tsx","../../../../packages/ad_utils_react/src/utils/file.ts","../../../../packages/ad_utils_react/src/utils/mime.ts","../../../../packages/ad_utils_react/src/utils/request.ts","../../../../packages/ad_utils_react/src/utils/tos-imagex.ts"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {};","// extracted by mini-css-extract-plugin\nexport default {\"header\":\"ConfirmModal_header__SH1xK\",\"headerTitle\":\"ConfirmModal_headerTitle__9c2sk\",\"closeIcon\":\"ConfirmModal_closeIcon__09kdL\"};","// extracted by mini-css-extract-plugin\nexport default {\"authManageModal\":\"AuthManageConfirmModal_authManageModal__cFPYO\",\"content\":\"AuthManageConfirmModal_content__3nPln\",\"authoriseRadio\":\"AuthManageConfirmModal_authoriseRadio__q3W4h\",\"notificationSection\":\"AuthManageConfirmModal_notificationSection__foUnO\",\"secondConfirmContent\":\"AuthManageConfirmModal_secondConfirmContent__1btTL\",\"tips\":\"AuthManageConfirmModal_tips__fB8Ip\",\"questionTitle\":\"AuthManageConfirmModal_question-title__PMJb2\",\"questionAnswer\":\"AuthManageConfirmModal_question-answer__hcSld\",\"normalParagraph\":\"AuthManageConfirmModal_normal-paragraph__5GAUK\",\"viewSamplesBtn\":\"AuthManageConfirmModal_view-samples-btn__DTNih\"};","// extracted by mini-css-extract-plugin\nexport default {\"advSearchInputPopover\":\"Send2AdsManager_adv-search-input-popover__yyR+r\",\"advSearchInputGroup\":\"Send2AdsManager_adv-search-input-group__COtKf\",\"advDropdownItem\":\"Send2AdsManager_adv-dropdown-item__v+uwA\",\"advDropdownInfo\":\"Send2AdsManager_adv-dropdown-info__9XixO\",\"advDropdownName\":\"Send2AdsManager_adv-dropdown-name__B+gTo\",\"advDropdownId\":\"Send2AdsManager_adv-dropdown-id__11WK9\",\"blackBtn\":\"Send2AdsManager_black-btn__g1XeV\",\"advConfirmHint\":\"Send2AdsManager_adv-confirm-hint__nJC9w\",\"advIdHint\":\"Send2AdsManager_adv-id-hint__EGXsz\",\"customBottom\":\"Send2AdsManager_customBottom__HZUD3\",\"customBottomBetween\":\"Send2AdsManager_customBottomBetween__HFVMi\",\"permissionManage\":\"Send2AdsManager_permissionManage__CkVku\",\"permissionDesc\":\"Send2AdsManager_permissionDesc__aeTtj\",\"permissionLevel\":\"Send2AdsManager_permissionLevel__vlhu5\",\"permissionEdit\":\"Send2AdsManager_permissionEdit__Ycsi2\"};","// extracted by mini-css-extract-plugin\nexport default {\"loader\":\"Loading_loader__mjdlj\",\"global\":\"Loading_global__8lfEJ\",\"close\":\"Loading_close__GBqPM\",\"spinner\":\"Loading_spinner__KDrny\",\"cube1\":\"Loading_cube1__AXDJQ\",\"cube2\":\"Loading_cube2__6+R6t\",\"skCubemove1\":\"Loading_sk-cubemove1__91kn5\",\"skCubemove2\":\"Loading_sk-cubemove2__Yj5cb\"};","import React, { RefObject, useLayoutEffect, useRef } from 'react';\nimport ReactDOM from 'react-dom';\nimport cls from 'classnames';\nimport './index.module.scss';\n\ninterface CommonLayoutHeaderProps {\n height?: number;\n fixHeader?: boolean; // 在vertical的情况下,是否 fix header, true: content自然布局,由父级组件出滚动条, false: content 占据header剩余的高度,由content组件出滚动条\n children: React.ReactNode;\n className?: string;\n}\n\ninterface CommonLayoutProps {\n children: React.ReactNode | React.ReactNodeArray;\n className?: string;\n}\n\ninterface CommonLayoutContentProps {\n children: React.ReactNode;\n className?: string;\n forwardedRef?: RefObject;\n}\n\nexport function CommonLayoutHeader(props: CommonLayoutHeaderProps) {\n const { height, fixHeader, children, className } = props;\n const headerRef = useRef();\n\n useLayoutEffect(() => {\n // eslint-disable-next-line react/no-find-dom-node\n const headerDOM = ReactDOM.findDOMNode(headerRef.current);\n const parentDOM = headerDOM?.parentNode;\n if (fixHeader) {\n parentDOM?.classList.add('fix-header');\n }\n }, [fixHeader]);\n\n return (\n (headerRef.current = ref)}\n className={cls('common-layout-header', className, {\n 'fix-header': fixHeader\n })}\n style={{\n height: height ? `${height}px` : '',\n flex: `0 0 ${height}px`\n }}\n >\n {children}\n \n );\n}\n\nexport function CommonLayoutContent(props: CommonLayoutContentProps) {\n const { children, className, forwardedRef } = props;\n return (\n
\n {children}\n
\n );\n}\n\nfunction CommonLayout(props: CommonLayoutProps) {\n const { children, className } = props;\n return
{children}
;\n}\n\nexport default CommonLayout;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Modal } from '@byte-design/ui';\nimport { CloseSmall } from '@byte-design/icons';\nimport { IModal } from '@byte-design/ui/lib/components/modal/Modal';\nimport { observer } from 'mobx-react';\nimport styles from './index.module.scss';\n\nexport interface ConfirmModalProps extends IModal {\n className?: string;\n headerTitle?: string;\n children?: React.ReactNode;\n}\nconst ConfirmModal = (props: ConfirmModalProps) => {\n const { t } = useTranslation();\n const { headerTitle, children, ...rest } = props;\n\n const Header = (\n
\n

{t(headerTitle!)}

\n rest?.onCancel?.()}\n />\n
\n );\n\n return (\n <>\n \n {children}\n \n \n );\n};\nexport default observer(ConfirmModal);\n","import imageType from './assets/imageType.svg';\nimport videoType from './assets/videoType.svg';\nimport otherType from './assets/otherType.svg';\nimport pdfType from './assets/pdfType.svg';\nimport wordType from './assets/wordType.svg';\n// eslint-disable-next-line\nimport FileStore from './store';\nimport { ReactNode } from 'react';\nimport { FileType, UploadFile } from '../business/TTCX/AssetManagement/common/type';\n\nexport interface FileUploadActionSchema {\n onSelectFile?: (fileList: FileList) => boolean; // when user select a file\n onBeforeDelete?: (aimFile: UploadTaskFileMeta) => Promise;\n onUploadChange?: (\n aimFile: UploadTaskFileMeta,\n fileList: UploadTaskFileMeta[],\n hasUploadingTask: boolean\n ) => void; // output need to upload file list before starting upload\n // onUploadsSettled?: (fileList: UploadTaskFileMeta[]) => void; // output all file info when upload enter final status(success or fail)\n onError?: (aimFile: UploadTaskFileMeta, fileList: UploadTaskFileMeta[], message?: string) => void; // support output error message\n onSelectChange?: (selected: boolean, file: UploadTaskFileMeta) => void; // output selected file list\n onValidateBeforeUpload?: (fileList: FileList) => boolean; // custom validate\n}\n\nexport interface FileUploadSchema {\n multiple?: boolean; // support multiple upload\n deDuplication?: boolean; // support de-duplication\n maxCount?: number; // support max supported count\n showUploadingCount?: boolean; // show max supported upload count\n showUploadButton?: boolean; // support upload file feature\n defaultFileList?: UploadTaskFileMeta[]; // initial file list\n showRemainSizeInfo?: boolean;\n showFileInfo?: boolean; // show file info when file is uploading\n defaultSelectvalue?: boolean; // default select value (true / false)\n showSelect?: boolean; // support select uploaded file\n showDelete?: boolean; // support delete uploaded file\n showPreview?: boolean; // support preview uploaded file fullscreen\n showDownload?: boolean; // support download uploaded file\n showVideoDuration?: boolean; // show uploaded video duration\n showReport?: boolean; // show report video\n customUploadingInfoRender?: (file: File) => React.ReactNode; // support user custom uploading infomation\n customProgressRender?: (progress: number) => React.ReactNode; // support user custom upload progress component\n customPreviewCard?: (fileInfo: UploadTaskFileMeta) => React.ReactNode; // support user custom preview uploaded file card\n customPreviewInfo?: (fileInfo: UploadTaskFileMeta) => React.ReactNode; // support user custom preview uploaded file info\n appName?: string; // application name\n appId?: number; // application id\n defaultImage?: string; // image / video default image url\n modifyTimeKey?: string;\n isTTCX?: boolean;\n}\n\nexport interface FileValidateMainSchema {\n accept?: string; // support sccept file type\n singleMaxSize?: number; // support max size of single file\n totalMaxSize?: number; // support max size of single batch upload\n minSize?: number; // support min size of single batch upload\n pictureWidth?: number; // support upload image width\n pictureHeight?: number; // support upload image height\n disabled?: boolean;\n disabledTips?: string;\n}\n\nexport enum UploadStatus {\n 'uploading' = 1,\n 'successed' = 2,\n 'failed' = 3\n}\n\nexport interface UploadTaskFileMeta extends SuccessDataSchema {\n file?: File;\n status?: UploadStatus;\n taskId?: string;\n store?: FileStore;\n cover?: string;\n duration?: number;\n vid?: string;\n videoPlayUrl?: string;\n videoOriginalUrl?: string;\n sparkAdsCode?: string;\n itemId?: string;\n videoLink?: string;\n assetFileId?: string;\n}\n\nexport interface FileReportSchema {\n showReport?: boolean;\n onReport?: (vid: string) => void;\n}\n\nexport interface UploadButtonSchema\n extends FileUploadSchema,\n FileValidateMainSchema,\n FileUploadActionSchema,\n MonitorParamsSchema,\n FileReportSchema {\n canCancelUpload?: boolean; // can cancel upload in uploading progress\n useDrag?: boolean; // support drag upload\n uploadsServiceRegion?: 'sg' | 'us'; // upload service region\n containerCls?: string; // upload and preview component wrapper classname\n singleFileWrapperCls?: string; // upload and preview component wrapper classname\n wrapperStyle?: React.CSSProperties; // upload and preview component wrapper style\n dragWrapperCls?: string; // drag upload component classname\n width?: string; // preview component width\n height?: string; // preview component height\n buttonWrapperStyle?: React.CSSProperties; // upload button wrapper component style\n buttonClassName?: string; // upload button wrapper component classname\n buttonStyle?: React.CSSProperties;\n buttonIcon?: React.ReactNode; // upload button component icon\n dragIcon?: React.ReactNode; // drag component icon\n dragText?: string; // drag component button text\n tips?: string; // upload tips info\n errorMsgCom?: React.ReactNode;\n text?: string; // upload button content text\n isInternal?: boolean; // determine whether the validation goes to tt4b or internal sso\n slots?: {\n // support preview component slots\n bottom?: React.ReactNode;\n card?: React.ReactNode;\n renderBottom?: (fileInfo: UploadTaskFileMeta) => React.ReactNode;\n renderCard?: (fileInfo: UploadTaskFileMeta) => React.ReactNode;\n };\n extra?: T;\n customUploadButton?: ReactNode;\n}\n\nexport interface SuccessDataSchema {\n source?: string; // vid / url\n cover?: string; // video cover\n name?: string;\n modifyTime?: number; // update time\n duration?: number; // video duration\n type?: string;\n videoInfoList?: any;\n cdnPath?: string; // looking at source property for video and looking at the cdnPath property for other resource\n imageInfo?: any;\n videoPlayUrl?: string;\n videoInfo?: {\n PosterUri: string;\n Vid: string;\n VideoMeta: {\n Bitrate?: number;\n Duration?: number;\n FileType?: string;\n Format?: string;\n Width?: number;\n Height?: number;\n Md5?: string;\n OriginWidth?: number;\n OriginHeight?: number;\n Size?: number;\n Uri?: string;\n };\n };\n}\n\nexport interface MonitorParamsSchema {\n appName?: string;\n appId?: number;\n isInternal?: boolean;\n}\n\nexport interface UploadConfigSchema extends MonitorParamsSchema {\n region?: string;\n onSuccess?: (\n result: SuccessDataSchema,\n resultJson?: SuccessDataSchema,\n fileType?: FileType,\n fileId?: string\n ) => void;\n onFail?: (e: Error, fileId?: string) => void;\n setProgress?: (progress: number) => void;\n isCSF?: boolean;\n}\n\nexport enum UploadTypeEnum {\n IMAGE = 'image',\n VIDEO = 'video',\n OTHER = 'other'\n}\n\nexport interface TosUploader {\n abort: () => any;\n}\n\nexport const fileTypeMap = {\n image: imageType,\n video: videoType,\n pdf: pdfType,\n word: wordType,\n other: otherType\n};\n\nexport const NewUploaderRegionsMap = {\n sg: 'ap-singapore-1',\n va: 'us-east-1',\n boei18n: 'boei18n'\n};\n\nexport const NewUploaderImageHostMap = {\n sg: 'https://imagex-upload-sg.tiktok.com',\n va: 'https://imagex-upload-va.tiktok.com',\n 'ap-singapore-1': 'https://imagex-upload-sg.tiktok.com',\n 'us-east-1': 'https://imagex-upload-va.tiktok.com'\n};\n\nexport const NewUploaderVideoHostMap = {\n sg: 'https://vod-upload-sg.tiktok.com',\n va: 'https://vod-upload-va.tiktok.com',\n 'ap-singapore-1': 'https://vod-upload-sg.tiktok.com',\n 'us-east-1': 'https://vod-upload-va.tiktok.com',\n boei18n: 'https://vas-boei18n.remove.this'\n};\n","/* eslint-disable max-lines-per-function */\nimport { useCallback } from 'react';\nimport BytedUploader, { Config as BytedUploaderConfig } from '@byted/uploader-oversea';\nimport SliceUploader from '@ad/tos-slice-upload2';\nimport { checkSuccessResponse } from '@ad/ad_utils/src/utils/common';\nimport { get2, post2 } from '../../utils/mAxios';\nimport { isLocal, uploaderTimerFunc, getExtensionFromName } from '../../utils';\nimport { typeJudge } from '../../utils/mime';\nimport { generateBoeImageUrl, generateImageUrl } from '../Uploader/useUpload';\nimport { message } from '@byte-design/ui';\nimport {\n UploadConfigSchema,\n SuccessDataSchema,\n UploadTypeEnum,\n NewUploaderRegionsMap,\n NewUploaderImageHostMap,\n NewUploaderVideoHostMap\n} from './type';\nimport { getUserLocation } from '../../utils/request';\nimport Axios from 'axios';\nimport { getTosFileUrl } from '../../utils/tos-imagex';\nimport { transformObjToCase } from '@ad/ad_utils/src/utils/universal-common';\nimport { getVideoInfoByTosUri } from '../../utils/video';\nimport { FileType } from '../business/TTCX/AssetManagement/common/type';\nimport { parseZipFile } from '../../utils/file';\nimport JSZip from 'jszip';\nimport Cookie from 'js-cookie';\n\nexport const TCEX_VIDEO_UPLOAD_NAMESPACE = 'ad_site';\nexport const TCEX_VIDEO_UPLAOD_NAME = 'tcex_bff';\nexport const TCEX_APP_ID = 5143;\n\nconst defaultUploadUserId = TCEX_VIDEO_UPLAOD_NAME;\nconst defaultUploadAppId = TCEX_APP_ID;\nconst defaultUploadSpaceName = TCEX_VIDEO_UPLOAD_NAMESPACE;\n// const boeUploadSpaceName = 'openapi-bff-boei18n';\nconst boeImageXServiceId = 'f3ioyg2qyz';\nconst defaultImageXServiceIdMap = {\n sg: 'hdprqziq2y',\n va: 'gejt5lnkjp',\n boei18n: boeImageXServiceId\n};\n// const bffUploadPath = isInternalOrigin ? '/ccs_bff/upload/internal' : '/ccs_bff/upload';\nlet bffUploadPath = '/ccs_bff/upload';\n\nfunction getCDNPath(resource: string) {\n if (resource[0] !== '/') {\n // eslint-disable-next-line no-param-reassign\n resource = `/${resource}`;\n }\n return isLocal\n ? `https://tosv.boei18n.remove.this/obj${resource}`\n : `https://sf16-sg.tiktokcdn.com/obj${resource}`;\n}\n\nexport async function fetchSecretKey(onFail?: (err) => void) {\n const { data, code, msg } = await get2(`${bffUploadPath}/getUploadSecretKey`);\n if (!checkSuccessResponse(code)) {\n onFail?.(code === 10004 ? new Error('NOT_LOGGED_IN') : new Error(msg));\n return {\n code\n };\n }\n return {\n data: data?.key,\n code,\n msg\n };\n}\n\nfunction checkLottieZip(zipResult: JSZip) {\n const searchResult = Object.entries(zipResult.files)\n .filter(([name]) => {\n return !/\\..*?\\.json/.test(name);\n })\n .find(([name]) => /\\.json$/.test(name));\n return searchResult;\n}\n\nasync function resolveLottie(\n file: File,\n zipResult: JSZip,\n searchResult,\n config: UploadConfigSchema,\n secretKeyLottieJson,\n secretKey,\n fileId?: string\n) {\n try {\n const [lottieFilePath, lottieJSONFile] = searchResult;\n const lottieJSON = JSON.parse(await lottieJSONFile.async('string'));\n const { w, h, fr: fps, ip, op, assets } = lottieJSON;\n const duration = (op - ip) / fps;\n if (!(w && h && w <= 720 && h <= 1280 && w / h === 720 / 1280)) {\n config.onFail!(\n {\n name: 'template resolution error',\n message: 'template resolution error'\n },\n fileId\n );\n return;\n }\n if (Math.floor(fps) > 30) {\n config.onFail!(\n {\n name: 'template fps error',\n message: 'template fps error'\n },\n fileId\n );\n return;\n }\n if (duration > 16) {\n config.onFail!(\n {\n name: 'template duration error',\n message: 'template duration error'\n },\n fileId\n );\n return;\n }\n if (!assets?.length) {\n config.onFail!(\n {\n name: 'assets length is zero',\n message: 'assets length is zero'\n },\n fileId\n );\n return;\n }\n\n const enableMusic = assets?.some((asset) => {\n return /^(aud|audio)/.test(asset.id);\n });\n if (enableMusic) {\n config.onFail!(\n {\n name: 'enable music',\n message: 'enable music'\n },\n fileId\n );\n return;\n }\n\n // 检测是使用了图片转base64, 如果使用了,会导致json过大\n const enableIncludeInJSON = assets\n .filter((asset) => /^(img|image)/.test(asset.id))\n .some((asset) => !!asset.e);\n if (enableIncludeInJSON) {\n config.onFail!(\n {\n name: 'include in json',\n message: 'include in json'\n },\n fileId\n );\n return;\n }\n\n //upload original lottie json and lottie zip\n const jsonFile = zipResult.files[lottieFilePath];\n if (jsonFile) {\n const formattedLottieJson = JSON.stringify(JSON.parse(await lottieJSONFile.async('string')), null, 2);\n const formattedLottieJsonFile = new File([formattedLottieJson], jsonFile.name, {\n type: 'application/json'\n });\n const { abortFunc: abortFuncJson, promise: promiseLottieJson } = await multiPurposeUpload(\n formattedLottieJsonFile,\n config,\n secretKeyLottieJson\n );\n const { abortFunc: abortFuncZip, promise: promiseLottieZip } = await multiPurposeUpload(\n file,\n config,\n secretKey\n );\n const abortFuncLottie = () => {\n abortFuncJson();\n abortFuncZip();\n };\n Promise.all([promiseLottieJson, promiseLottieZip])\n .then(async ([resJson, resZip]) => {\n if (config.onSuccess) {\n config.onSuccess(\n resZip as SuccessDataSchema,\n resJson as SuccessDataSchema,\n FileType.Json,\n fileId\n );\n }\n })\n .catch((err: Error) => {\n if (config.onFail) {\n config.onFail(err, fileId);\n }\n });\n return abortFuncLottie;\n }\n config.onFail!(\n {\n name: 'No json found',\n message: 'No json found'\n },\n fileId\n );\n } catch (err) {\n config.onFail!(err as Error, fileId);\n }\n}\n\nasync function getUploaderInitParams(region?: string) {\n const defaultRegion = region || (isLocal ? 'boei18n' : 'sg');\n const defaultParams = {\n region: defaultRegion,\n spaceName: defaultUploadSpaceName,\n imageServiceId: defaultImageXServiceIdMap[defaultRegion],\n uploadHost: isLocal ? 'https://vas-boei18n.remove.this' : NewUploaderVideoHostMap[defaultRegion]\n };\n const res = await get2<{\n region: string;\n spaceName: string;\n imageServiceId: string;\n uploadHost: string;\n } | null>('/ccs/api/upload/get_uploader_init_params', { uploadRegion: region });\n if (!checkSuccessResponse(res.code)) {\n return defaultParams;\n }\n return {\n region: res.data?.region || defaultParams.region,\n spaceName: res.data?.spaceName || defaultParams.spaceName,\n // Temporarily use hardcoded id, waiting for subsequent iteration\n imageServiceId: defaultParams.imageServiceId,\n uploadHost: defaultParams.uploadHost\n };\n}\n\nasync function fetchImageUploadAuth(region: string, secretKey?: string) {\n // const res = await get2<{\n // eslint-disable-next-line max-len\n // sessionToken: string; // 'STS2eyJMVEFjY2Vzc0tleUlEIjoiQUtBUE1qYzBZell4TldaaU5tRmxOREl5T1RrNE9XVmpNek0zTVdNNVpqQTRaRFEiLCJBY2Nlc3NLZXlJRCI6IkFLVFBaakV3TkRobFlUUmpZVGc0TkRnMk1UazFaalZpTjJFMlpEYzFNMk16WWprIiwiU2lnbmVkU2VjcmV0QWNjZXNzS2V5IjoiMHQyRWNsT3R1bmFLTG55TGxhU1VjWkpXTDVWRUUrZWd6eEMyVWZHQjkvK3o1WmY5emdRMGgxWERjWDI2K1YyMWRwZ1pDMUpJak9pOUtHRmZpaFFQcHloc2t3U3lZRHZ2Z2FCVVU0ZHhUc2s9IiwiRXhwaXJlZFRpbWUiOjE2Nzg5Njg4MTgsIlBvbGljeVN0cmluZyI6IntcIlN0YXRlbWVudFwiOlt7XCJFZmZlY3RcIjpcIkFsbG93XCIsXCJBY3Rpb25cIjpbXCJ2b2Q6KlwiLFwiSW1hZ2VYOipcIl0sXCJSZXNvdXJjZVwiOltcIipcIl19LHtcIkVmZmVjdFwiOlwiQWxsb3dcIixcIkFjdGlvblwiOltcIlBTTVwiXSxcIlJlc291cmNlXCI6W1wiYWQudHRjeC5jZmNcIl19XX0iLCJTaWduYXR1cmUiOiI0MGNiNjk2YzY0NWRmMjIwZjgyZjFmZjE1YjU0YzVhZjg4OGE1NDc0OTlkZDQ5MGM0YWQ5NjMzZTU0MjFhMTZjIn0'\n // accessKeyId: string; // 'AKTPZjEwNDhlYTRjYTg4NDg2MTk1ZjViN2E2ZDc1M2MzYjk'\n // secretAccessKey: string; // 'MH6Bb8aalxDpoIMsXF6XyqS04j7Wpt4hjW6P7TAnacU0jhxPpMBqUj7t3ookXvQH'\n // currentTime: string; // '2023-03-16T12:13:38Z'\n // expiredTime: string; // '2023-03-16T11:43:38Z'\n // }>('/ccs/api/upload/sts_token');\n // if (checkSuccessResponse(res.code)) {\n // return res.data;\n // }\n const rsp = await get2<{\n token: {\n sessionToken: string;\n accessKeyId: string;\n secretAccessKey: string;\n currentTime: string;\n expiredTime: string;\n };\n }>(\n `${bffUploadPath}/getUploadVideoAuth`,\n { region },\n {\n headers: {\n 'upload-key': secretKey || ''\n }\n }\n );\n if (checkSuccessResponse(rsp.code)) {\n const { token } = rsp.data || {};\n return token;\n }\n message.error('Upload failed');\n}\n\nasync function fetchVideoUploadAuth() {\n const res = await get2<{\n region: string;\n spaceName: string; // 'ad_site'\n uploadHost: string; // 'https://vod-ap-singapore-1.bytevcloudapi.com'\n // eslint-disable-next-line max-len\n sessionToken: string; // 'STS2eyJMVEFjY2Vzc0tleUlEIjoiQUtBUE1qYzBZell4TldaaU5tRmxOREl5T1RrNE9XVmpNek0zTVdNNVpqQTRaRFEiLCJBY2Nlc3NLZXlJRCI6IkFLVFBaakV3TkRobFlUUmpZVGc0TkRnMk1UazFaalZpTjJFMlpEYzFNMk16WWprIiwiU2lnbmVkU2VjcmV0QWNjZXNzS2V5IjoiMHQyRWNsT3R1bmFLTG55TGxhU1VjWkpXTDVWRUUrZWd6eEMyVWZHQjkvK3o1WmY5emdRMGgxWERjWDI2K1YyMWRwZ1pDMUpJak9pOUtHRmZpaFFQcHloc2t3U3lZRHZ2Z2FCVVU0ZHhUc2s9IiwiRXhwaXJlZFRpbWUiOjE2Nzg5Njg4MTgsIlBvbGljeVN0cmluZyI6IntcIlN0YXRlbWVudFwiOlt7XCJFZmZlY3RcIjpcIkFsbG93XCIsXCJBY3Rpb25cIjpbXCJ2b2Q6KlwiLFwiSW1hZ2VYOipcIl0sXCJSZXNvdXJjZVwiOltcIipcIl19LHtcIkVmZmVjdFwiOlwiQWxsb3dcIixcIkFjdGlvblwiOltcIlBTTVwiXSxcIlJlc291cmNlXCI6W1wiYWQudHRjeC5jZmNcIl19XX0iLCJTaWduYXR1cmUiOiI0MGNiNjk2YzY0NWRmMjIwZjgyZjFmZjE1YjU0YzVhZjg4OGE1NDc0OTlkZDQ5MGM0YWQ5NjMzZTU0MjFhMTZjIn0'\n accessKeyId: string; // 'AKTPZjEwNDhlYTRjYTg4NDg2MTk1ZjViN2E2ZDc1M2MzYjk'\n secretAccessKey: string; // 'MH6Bb8aalxDpoIMsXF6XyqS04j7Wpt4hjW6P7TAnacU0jhxPpMBqUj7t3ookXvQH'\n currentTime: string; // '2023-03-16T12:13:38Z'\n expiredTime: string; // '2023-03-16T11:43:38Z'\n }>('/ccs/api/upload/sts_token');\n if (checkSuccessResponse(res.code)) {\n return res.data;\n }\n message.error('Upload failed');\n}\n\nasync function reportErrorMetrics(params: {\n region: string;\n type: string;\n appName?: string;\n appId?: number;\n}) {\n const {\n data: { countryCode = 'none' }\n } = await getUserLocation();\n await post2(`${bffUploadPath}/reportErrorMetrics`, {\n ...params,\n appName: params?.appName || 'none',\n appId: params?.appId || -1,\n userCountry: countryCode\n });\n}\n\nasync function reportSuccessMetrics(params: {\n region: string;\n type: string;\n appName?: string;\n appId?: number;\n size: number;\n duration: number;\n}) {\n const {\n data: { countryCode = 'none' }\n } = await getUserLocation();\n await post2(`${bffUploadPath}/reportSuccessMetrics`, {\n ...params,\n appName: params?.appName || 'none',\n appId: params?.appId || -1,\n userCountry: countryCode\n });\n}\n\nexport async function publishUploadVideo(vid: string) {\n const rsp = await post2('/ccs/api/upload/publish_video', { vid });\n if (!checkSuccessResponse(rsp.code)) {\n throw new Error('video publish failed');\n }\n}\n\ntype ValueType = T extends Promise ? U : T;\n\nlet bytedUploader: BytedUploader;\nlet videoAndImageUploadInitParams: ValueType>;\n\n// create a new uploader instance provided by video arch team\nconst createVideoArchUploader = async (fileName: string, config?: { region?: string; userId?: string }) => {\n if (!videoAndImageUploadInitParams) {\n videoAndImageUploadInitParams = await getUploaderInitParams(config?.region);\n }\n if (videoAndImageUploadInitParams && !bytedUploader) {\n const { region, spaceName, uploadHost, imageServiceId } = videoAndImageUploadInitParams;\n const uploadConfig: BytedUploaderConfig = {\n userId: config?.userId || defaultUploadUserId,\n appId: defaultUploadAppId,\n region: NewUploaderRegionsMap[region] || region,\n imageHost: isLocal ? 'https://vas-boei18n.remove.this' : NewUploaderImageHostMap[region || 'sg'],\n videoHost: uploadHost,\n imageConfig: {\n serviceId: imageServiceId\n },\n videoConfig: {\n spaceName,\n processAction: [\n {\n name: 'GetMeta'\n },\n {\n name: 'Snapshot',\n input: {\n SnapshotTime: 1\n }\n },\n {\n name: 'AddOptionInfo',\n input: {\n Title: fileName\n }\n }\n ]\n }\n };\n const finalConfig = {\n ...uploadConfig\n // enableDiskBreakpoint: false\n };\n\n bytedUploader = new BytedUploader(finalConfig);\n }\n\n return [bytedUploader, videoAndImageUploadInitParams] as [\n BytedUploader,\n typeof videoAndImageUploadInitParams\n ];\n};\n\nfunction getRegion(region?: string) {\n if (region) {\n return region;\n }\n if (isLocal) {\n return 'boei18n';\n }\n return window.location.host.includes('va') ? 'va' : 'sg';\n}\n\nexport const uploadMedia = async (options: {\n region?: string;\n file: File;\n updateProgress?: (progress: number) => void;\n // secretKey for BFF api call, waiting for sunset after switch to fetching upload token through backend\n secretKey?: string;\n}) => {\n const { file, updateProgress, secretKey } = options;\n const region = getRegion(options.region);\n const [mediaUploader, uploaderInitParams] = await createVideoArchUploader(file.name, { region });\n const isImage = file.type?.indexOf(UploadTypeEnum.IMAGE) !== -1;\n\n let fileKeyRef: string;\n const { name: fileName, size = 0 } = file;\n\n async function uploadMediaPromise() {\n let startUploadTime: number;\n\n return new Promise((resolve: (res: SuccessDataSchema) => void, reject) => {\n mediaUploader.on('error', (error) => {\n if (error.key && error.key !== fileKeyRef) {\n return;\n }\n reportErrorMetrics({\n region: uploaderInitParams?.region || '',\n type: isImage ? 'image' : 'video'\n });\n reject(error);\n });\n mediaUploader.on('progress', (res: any) => {\n if (res.key && res.key !== fileKeyRef) {\n return;\n }\n if (typeof updateProgress === 'function') {\n updateProgress((res?.percent || 0) / 100);\n }\n });\n mediaUploader.on('complete', async (result: any) => {\n if (result.key && result.key !== fileKeyRef) {\n return;\n }\n const duration = Date.now() - startUploadTime;\n reportSuccessMetrics({\n region: uploaderInitParams?.region || '',\n size,\n duration,\n type: isImage ? 'image' : 'video'\n });\n console.log(\n 'upload complete: endTime:%c. startTime:%c, fileName:%C',\n Date.now(),\n startUploadTime,\n file.name\n );\n if (isImage) {\n const finalUrl = isLocal\n ? generateBoeImageUrl(result.uploadResult.ImageUri)\n : generateImageUrl({\n ...result.uploadResult,\n region\n });\n resolve({\n type: UploadTypeEnum.IMAGE,\n cover: finalUrl,\n name: fileName,\n source: finalUrl,\n cdnPath: finalUrl,\n modifyTime: Math.floor(new Date().getTime() / 1000),\n imageInfo: result?.uploadResult\n } as SuccessDataSchema);\n } else {\n const vid = result?.uploadResult.Vid as string;\n await publishUploadVideo(vid);\n const videoDuration = result.uploadResult?.VideoMeta?.Duration || 0;\n const uploadResult = (result.uploadResult || {}) as {\n PosterUri: string;\n Vid: string;\n VideoMeta: {\n Bitrate?: number;\n Duration?: number;\n FileType?: string;\n Format?: string;\n Width?: number;\n Height?: number;\n Md5?: string;\n OriginWidth?: number;\n OriginHeight?: number;\n Size?: number;\n Uri?: string;\n };\n };\n const videoPlayInfo = await getVideoInfoByTosUri(\n uploadResult?.VideoMeta?.Uri || '',\n uploadResult?.Vid\n );\n const videoPlayUrl = videoPlayInfo?.mainUrl;\n resolve({\n source: vid,\n name: fileName,\n type: UploadTypeEnum.VIDEO,\n cover: getTosFileUrl(uploadResult.PosterUri),\n videoInfoList: [\n {\n ...transformObjToCase({ ...uploadResult.VideoMeta }, 'camel'),\n mainUrl: videoPlayUrl,\n mainPlayUrl: videoPlayUrl\n }\n ],\n duration: Math.round(videoDuration),\n modifyTime: Math.floor(new Date().getTime() / 1000),\n videoInfo: result?.uploadResult,\n videoPlayUrl,\n videoOriginalUrl: videoPlayUrl\n } as SuccessDataSchema);\n }\n });\n if (isImage) {\n fetchImageUploadAuth(region, secretKey)\n .then((auth) => {\n if (!auth) {\n return reject({ message: 'Upload media failed --> not auth' }); // eslint-disable-line\n }\n const fileKey = mediaUploader.addFile({\n file,\n type: UploadTypeEnum.IMAGE,\n stsToken: {\n CurrentTime: auth.currentTime,\n ExpiredTime: auth.expiredTime,\n SessionToken: auth.sessionToken,\n AccessKeyID: auth.accessKeyId,\n SecretAccessKey: auth.secretAccessKey\n }\n } as any);\n fileKeyRef = fileKey;\n mediaUploader.start(fileKey);\n startUploadTime = Date.now();\n })\n .catch((err) => reject({ message: 'Upload media failed --> ' + err?.message })); // eslint-disable-line\n } else {\n fetchVideoUploadAuth()\n .then((auth) => {\n if (!auth) {\n return reject({ message: 'Upload media failed --> not auth' }); // eslint-disable-line\n }\n const fileKey = mediaUploader.addFile({\n file,\n type: UploadTypeEnum.VIDEO,\n stsToken: {\n CurrentTime: auth.currentTime,\n ExpiredTime: auth.expiredTime,\n SessionToken: auth.sessionToken,\n AccessKeyID: auth.accessKeyId,\n SecretAccessKey: auth.secretAccessKey\n }\n } as any);\n fileKeyRef = fileKey;\n\n mediaUploader.start(fileKey);\n startUploadTime = Date.now();\n })\n .catch((err) => reject({ message: 'Upload media failed --> ' + err?.message })); // eslint-disable-line\n }\n });\n }\n\n return {\n promise: uploadMediaPromise(),\n abortFunc: () => {\n if (mediaUploader && fileKeyRef) {\n mediaUploader.cancel(fileKeyRef);\n }\n }\n };\n};\n\nexport const uploadSlice = (options: {\n file: File;\n updateProgress?: (progress: number) => void;\n secretKey: string;\n}) => {\n const { file, updateProgress, secretKey } = options;\n const progressHandler = (args?: { percent?: number }) => {\n if (typeof updateProgress === 'function') {\n updateProgress((args?.percent ?? 0) / 100);\n }\n };\n const tosUploader = new SliceUploader();\n const promise = new Promise((resolve: (SuccessDataSchema) => void, reject) => {\n const successHandler = (args?: {\n name: string;\n response: {\n code: number;\n data: { key: string };\n msg: string;\n };\n }) => {\n const key = args?.response?.data?.key;\n if (!key) {\n reject(new Error('Upload slice failed --> not key'));\n return;\n }\n // eslint-disable-next-line no-console\n resolve({\n name: args?.name ?? '',\n type: getExtensionFromName(args?.name),\n source: key,\n cdnPath: getCDNPath(key),\n modifyTime: Math.floor(new Date().getTime() / 1000)\n } as SuccessDataSchema);\n };\n const errorHandler = (e) => {\n reject(e);\n };\n const sliceConfig = {\n onProgress: progressHandler,\n onSuccess: successHandler,\n onError: errorHandler,\n // 6MB to make progress bar smoother\n chunkSize: 6,\n concurrencyNum: 6,\n retryTimes: 1,\n fetchConfig: {\n xsrfCookieName: 'csrftoken',\n xsrfHeaderName: 'X-csrftoken',\n headers: {\n 'upload-key': secretKey,\n 'x-ccs-csrf-token': Cookie.get('ccs-csrf-token') || ''\n }\n },\n chunkUploadHandler: (result: any) => {\n const response = result.data;\n if (!response) {\n return Promise.reject(new Error('Upload slice failed --> Network error'));\n }\n if (!checkSuccessResponse(response.code)) {\n return Promise.reject(\n new Error(`Upload slice failed --> ${response.msg || `Error code:${response.code}`}`)\n );\n }\n return response.data.part_number;\n },\n initApi: `${bffUploadPath}/sliceUpload/init`,\n uploadApi: `${bffUploadPath}/sliceUpload/part`,\n completeApi: `${bffUploadPath}/sliceUpload/complete`\n };\n tosUploader.init(file, sliceConfig);\n tosUploader.start();\n });\n\n return {\n promise,\n abortFunc: () => {\n if (tosUploader) {\n tosUploader.abort();\n }\n }\n };\n};\n\nexport const uploadSmallFile = (\n file: File,\n secretKey: string,\n updateProgress?: (progress: number) => void\n) => {\n const formData = new FormData();\n formData.append('tcex-file', file);\n let smallTimer;\n if (typeof updateProgress === 'function') {\n smallTimer = uploaderTimerFunc(updateProgress);\n }\n const cancelTokenSource = Axios.CancelToken.source();\n\n async function uploadSmallFilePromise() {\n console.log('x-ccs-csrf-token', Cookie.get('ccs-csrf-token'));\n const res = await post2<{\n uri: string;\n name: string;\n type: string;\n }>(`${bffUploadPath}/smallFileUpload`, formData, {\n cancelToken: cancelTokenSource.token,\n headers: {\n 'upload-key': secretKey,\n 'x-ccs-csrf-token': Cookie.get('ccs-csrf-token') || '',\n 'content-type': 'application/x-www-form-urlencoded;charset=utf-8'\n },\n timeout: 30000\n });\n clearInterval(smallTimer);\n if (!checkSuccessResponse(res.code) || !res.data) {\n throw new Error('Upload small file failed ---> ' + res.msg); // eslint-disable-line\n }\n const { uri, name, type } = res.data;\n return {\n source: uri,\n name,\n type,\n cdnPath: getCDNPath(uri),\n modifyTime: Math.floor(new Date().getTime() / 1000)\n } as SuccessDataSchema;\n }\n\n const promise = uploadSmallFilePromise();\n return {\n promise,\n abortFunc: () => {\n cancelTokenSource.cancel();\n }\n };\n};\n\nexport const multiPurposeUpload = async (\n file: File,\n config: UploadConfigSchema,\n secretKey: string\n): Promise<{ promise: any; abortFunc: AbortFunction }> => {\n const { region, setProgress: updateProgress, ...rest } = config || {};\n\n let promise: Promise;\n let abortFunc: () => void;\n const { type, size } = file;\n if (typeJudge(type) === 'video' || typeJudge(type) === 'image') {\n ({ promise, abortFunc } = await uploadMedia({\n file,\n updateProgress,\n region,\n secretKey,\n ...rest\n }));\n } else if (size < 6 * 1024 * 1024) {\n ({ promise, abortFunc } = uploadSmallFile(file, secretKey, updateProgress));\n } else {\n ({ promise, abortFunc } = uploadSlice({\n file,\n updateProgress,\n secretKey\n }));\n }\n return {\n promise,\n abortFunc\n };\n};\n\nexport type AbortFunction = () => void;\n\nfunction useAllFileUpload(config: UploadConfigSchema): {\n upload: (file: File, fileId?: string) => Promise; // upload execution\n} {\n if (config?.isInternal) {\n bffUploadPath = '/ccs_bff/upload/internal';\n }\n const upload = useCallback(\n async (file: File, fileId?: string) => {\n const { data: secretKey, code } = await fetchSecretKey((err) => config.onFail!(err, fileId));\n // upload\n if (!checkSuccessResponse(code)) {\n return;\n } else {\n config.setProgress && config.setProgress(0);\n var fileName = file.name;\n var fileType = file.type;\n\n // Check file name && extension\n if (fileName.endsWith('.xml') || fileType === 'application/xml' || fileType === 'text/xml') {\n config?.onFail?.(new Error('Invalid filetype'), fileId);\n return;\n }\n\n if (typeJudge(file.type) === 'zip' && config?.isCSF) {\n const { data: secretKeyLottieJson, code } = await fetchSecretKey((err) =>\n config.onFail!(err, fileId)\n );\n if (!checkSuccessResponse(code)) {\n return;\n } else {\n let zipResult;\n try {\n zipResult = await parseZipFile(file);\n } catch (err) {\n if (config.onFail) {\n config.onFail(new Error('Not a valid zip file'), fileId);\n return;\n }\n }\n const searchResult = checkLottieZip(zipResult);\n if (!searchResult && config.onFail) {\n config.onFail(new Error('Not a valid lottie zip file'), fileId);\n return;\n } else if (searchResult && config.onSuccess && config.onFail) {\n return resolveLottie(\n file,\n zipResult,\n searchResult,\n config,\n secretKeyLottieJson,\n secretKey,\n fileId\n );\n } else {\n // if somehow, no config was passed in\n alert('Zip file upload failed');\n throw new Error('Zip file upload failed');\n }\n }\n } else {\n const { abortFunc, promise } = await multiPurposeUpload(file, config, secretKey);\n promise\n .then((res: SuccessDataSchema) => {\n if (config.onSuccess) {\n config.onSuccess(res, undefined, undefined, fileId);\n }\n })\n .catch((err: Error) => {\n if (config.onFail) {\n config.onFail(err, fileId);\n }\n });\n return abortFunc;\n }\n }\n },\n [config.onSuccess, config.onFail]\n );\n\n return {\n upload\n };\n}\n\nexport default useAllFileUpload;\n","import { useCallback } from 'react';\nimport BytedUploader from '@byted/uploader';\nimport { checkSuccessResponse } from '@ad/ad_utils/src/utils/common';\nimport { get2, post2 } from '../../utils/mAxios';\nimport { isLocal } from '../../utils';\n\nexport const TCEX_VIDEO_UPLOAD_NAMESPACE = 'tcex_bff';\nexport const TCEX_VIDEO_UPLAOD_NAME = 'tcex_bff';\nexport const TCEX_APP_ID = 5143;\n\nconst defaultUploadUserId = TCEX_VIDEO_UPLAOD_NAME;\nconst defaultUploadAppId = TCEX_APP_ID;\nconst defaultUploadSpaceName = TCEX_VIDEO_UPLOAD_NAMESPACE;\nconst boeUploadSpaceName = 'openapi-bff-boei18n';\nconst defaultImageXServiceId = 'hdprqziq2y';\nconst boeImageXServiceId = 'f3ioyg2qyz';\n\nexport enum UploadTypeEnum {\n IMAGE = 'image',\n VIDEO = 'video'\n}\n\ninterface UploadConfigSchema {\n type: UploadTypeEnum[]; // 选择是上传是视频还是图片\n userId?: string; // 建议设置能识别用户的唯一标识id,用于上传出错时排查问题,不要传入非 ASCII编码\n appId?: number; // 在视频点播-应用服务中创建的AppID,视频点播的质量监控等都是以这个参数来区分业务方的,务必正确填写\n imageServiceId?: string; // 在ImageX中申请的服务id\n videoSpaceName?: string; // 在视频点播中申请的点播空间名\n actions?: {\n fetchVideoUploadAuth: Function;\n publishUploadVideo: Function;\n getVideoInfo: Function;\n };\n}\n\nasync function fetchVideoUploadAuth() {\n const rsp = await get2('/ccs_bff/upload/getUploadVideoAuth');\n if (checkSuccessResponse(rsp.code)) {\n const { token } = rsp.data || {};\n return token;\n }\n throw new Error('video auth failed');\n}\n\nasync function publishUploadVideo(vid: string) {\n const rsp = await post2('/ccs_bff/upload/publishVideo', { vid });\n if (!checkSuccessResponse(rsp.code)) {\n // eslint-disable-next-line no-console\n console.error('video publish failed');\n }\n}\n\nexport async function getVideoInfo(vid: string) {\n const rsp = await get2(\n `/ccs_bff/video/${vid}`,\n {},\n {\n showApiHint: false,\n overrideGlobalShowApiHint: true\n }\n );\n if (checkSuccessResponse(rsp.code)) {\n return rsp.data;\n }\n // eslint-disable-next-line no-console\n console.error('get video error');\n}\n\nexport function generateImageUrl(options: { ImageUri: string; ImageFormat: string; region: string }) {\n const domain =\n {\n sg: 'p16-cc-sg.tiktokcdn.com',\n va: 'p16-cc-va.tiktokcdn.com'\n }[options.region] || 'p16-cc-sg.tiktokcdn.com';\n const template =\n {\n sg: 'tplv-hdprqziq2y-png',\n va: 'tplv-gejt5lnkjp-webp'\n }[options.region] || 'tplv-hdprqziq2y-png';\n return `https://${domain}/${options.ImageUri}~${template}.${options.ImageFormat}`;\n}\n\nexport function generateBoeImageUrl(uri: string) {\n return `https://p-imagex-boei18n.remove.this/${uri}~tplv-f3ioyg2qyz-image.image`;\n}\n\n/**\n * will return two functions, one is onUploadFile, other one is getVideoInfo\n *\n * onUploadFile(file, uploadType) => file: to upload file uploadType: the uploader type(video/image)\n * getVideoInfo(vid) => to get the video info by vid\n */\nfunction useUpload(config: UploadConfigSchema) {\n const { userId, appId, type, imageServiceId, videoSpaceName, actions } = config;\n\n // get upload initial config\n function getUploadConfig(fileName?: string) {\n let base = isLocal\n ? {\n userId: userId || defaultUploadUserId,\n appId: appId || defaultUploadAppId,\n region: 'boei18n',\n videoHost: 'https://staging-openapi-boei18n.remove.this',\n imageHost: 'https://staging-openapi-boei18n.remove.this'\n }\n : ({\n userId: userId || defaultUploadUserId,\n appId: appId || defaultUploadAppId,\n region: 'sg'\n } as any);\n\n if (type.includes(UploadTypeEnum.IMAGE)) {\n base = {\n ...base,\n imageConfig: {\n serviceId: imageServiceId || (isLocal ? boeImageXServiceId : defaultImageXServiceId)\n }\n };\n }\n\n if (type.includes(UploadTypeEnum.VIDEO)) {\n base = {\n ...base,\n videoConfig: {\n spaceName: videoSpaceName || (isLocal ? boeUploadSpaceName : defaultUploadSpaceName),\n processAction: [\n {\n name: 'GetMeta'\n },\n {\n name: 'Snapshot',\n input: {\n SnapshotTime: 1\n }\n },\n {\n name: 'AddOptionInfo',\n input: {\n Title: fileName\n }\n }\n ]\n }\n };\n }\n return base;\n }\n\n // create a new uploader instance\n const createUploader = useCallback(\n (fileName) => {\n const uploadConfig = getUploadConfig(fileName);\n return new BytedUploader(uploadConfig);\n },\n [userId, appId, type, imageServiceId, videoSpaceName]\n );\n\n const onUploadFile = useCallback(\n async (file: any, uploadType: UploadTypeEnum) => {\n const { name: fileName, file: originFile } = file;\n const auth = await (actions?.fetchVideoUploadAuth || fetchVideoUploadAuth)();\n const uploadInstance = createUploader(fileName);\n\n return new Promise((resolve, reject) => {\n uploadInstance.on('error', (error) => {\n reject(error);\n });\n\n uploadInstance.on('complete', async (result: any) => {\n if (type.includes(UploadTypeEnum.IMAGE)) {\n resolve({\n type: UploadTypeEnum.IMAGE,\n info: {\n cover: isLocal\n ? generateBoeImageUrl(result.uploadResult.ImageUri)\n : generateImageUrl(result.uploadResult)\n }\n });\n }\n\n if (type.includes(UploadTypeEnum.VIDEO)) {\n try {\n const vid = result.uploadResult.Vid as string;\n await (actions?.publishUploadVideo || publishUploadVideo)(vid);\n const res = await (actions?.getVideoInfo || getVideoInfo)(vid);\n const duration = result.uploadResult.VideoMeta.Duration;\n resolve({\n type: UploadTypeEnum.VIDEO,\n info: {\n source: vid,\n name: fileName,\n type,\n vid,\n cover: res?.coverUrl,\n playInfoList: res?.playInfoList,\n duration: parseInt(duration, 10)\n }\n });\n } catch (err) {\n reject(err);\n }\n }\n });\n\n if (auth) {\n // eslint-disable-next-line no-console\n console.log('---upload', file, originFile);\n const fileKey = uploadInstance.addFile({\n file: originFile,\n type: uploadType,\n stsToken: {\n CurrentTime: auth.currentTime,\n ExpiredTime: auth.expiredTime,\n SessionToken: auth.sessionToken,\n AccessKeyID: auth.accessKeyId,\n SecretAccessKey: auth.secretAccessKey\n }\n } as any);\n uploadInstance.start(fileKey);\n }\n });\n },\n [createUploader, actions]\n );\n\n return [onUploadFile, actions?.getVideoInfo || getVideoInfo];\n}\n\nexport default useUpload;\n","import React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { RadioGroup } from '@byte-design/ui';\nimport ConfirmModal, { ConfirmModalProps } from '../../../../ConfirmModal';\nimport { AdvAssetsAuthResult, AdvAssetsAuthStatus } from './type';\nimport styles from './index.module.scss';\nimport AssetPlayer, { AssetInfo, AssetTypeEnum } from '../../../../AssetPlayer';\nimport allAccessSample1 from './assets/all_access_sample1.png';\nimport allAccessSample2 from './assets/all_access_sample2.png';\n\ninterface AuthManageConfirmModalProps extends ConfirmModalProps {\n modalWidth?: number;\n status?: AdvAssetsAuthStatus;\n initAuthResult?: AdvAssetsAuthResult;\n onConfirm: (value: AdvAssetsAuthResult) => void;\n}\n\nconst allAccessSamples: AssetInfo[] = [\n {\n type: AssetTypeEnum.IMAGE,\n info: {\n url: allAccessSample1\n }\n },\n {\n type: AssetTypeEnum.IMAGE,\n info: {\n url: allAccessSample2\n }\n }\n];\n\nconst AuthManageConfirmModal = (props: AuthManageConfirmModalProps) => {\n const { t } = useTranslation();\n const {\n show,\n status = AdvAssetsAuthStatus.ADD,\n initAuthResult = AdvAssetsAuthResult.AUTHORISE,\n modalWidth = 700,\n onConfirm,\n ...rest\n } = props;\n\n const [authResult, setAuthResult] = useState(initAuthResult);\n const [showSecondConfirm, setShowSecondConfirm] = useState(false);\n const handleOkClick = () => {\n if (status === AdvAssetsAuthStatus.EDIT) {\n setShowSecondConfirm(true);\n return;\n }\n onConfirm(authResult);\n };\n\n const [playerAssets, setPlayerAssets] = useState([]);\n const closeAssetPlayer = () => {\n setPlayerAssets([]);\n };\n const showFullAccessSamples = () => {\n setPlayerAssets(allAccessSamples);\n };\n\n const getPrivacyContent = () => {\n switch (authResult) {\n case AdvAssetsAuthResult.AUTHORISE:\n return (\n <>\n

{t('share_full_tips')}

\n

\n {t('share_full_question1')}\n \n {t('view_samples_btn')}\n \n

\n

{t('share_full_answer1')}

\n

{t('share_full_question2')}

\n

{t('share_full_answer2')}

\n

{t('share_full_question3')}

\n

{t('share_full_answer3')}

\n \n );\n case AdvAssetsAuthResult.REJECT:\n return (\n <>\n

{t('share_no_data_text1')}

\n

{t('share_no_data_text2')}

\n \n );\n default:\n return null;\n }\n };\n return (\n <>\n \n
\n
\n setAuthResult(value!)}>\n \n {t('adv_auth_authorise')}\n \n {t('adv_auth_reject')}\n \n
\n\n
{getPrivacyContent()}
\n
\n \n\n {status === AdvAssetsAuthStatus.EDIT && showSecondConfirm === true && (\n setShowSecondConfirm(false)}\n onOk={() => onConfirm(authResult)}\n >\n
{t('auth_second_confirm_modal_content')}
\n \n )}\n\n 0} onClose={closeAssetPlayer} />\n \n );\n};\nexport default AuthManageConfirmModal;\n","export enum AdvAssetsAuthResult {\n 'REJECT' = 2,\n 'AUTHORISE' = 3\n}\n\nexport enum AdvAssetsAuthStatus {\n 'ADD' = 1,\n 'EDIT' = 2\n}\n\nexport enum PermissionType {\n 'SendRequest' = 1,\n 'Rejected' = 2,\n 'Authorized' = 3,\n 'Notified' = 4\n}\nexport interface AdvAuthorizeRecordInfo {\n partnerId: number;\n partnerName: string;\n partnerEmail: string;\n permissionType: PermissionType;\n operationTime: number; // s\n}\n","/* eslint-disable max-lines-per-function */\nimport { checkSuccessResponse } from '@ad/ad_utils/src/utils/common';\nimport {\n Button,\n message,\n Table,\n Popover,\n Dropdown,\n Input,\n Loading,\n Empty,\n ITableColumnProps,\n ITableRowSelection,\n Link\n} from '@byte-design/ui';\nimport React, { useState, useMemo, useEffect } from 'react';\nimport style from './index.module.scss';\n\nimport { useTranslation } from 'react-i18next';\nimport { useLoadingEffect } from '../../../../../utils/hooks/loading';\nimport TTCXModal from '../../TTCXModal';\nimport { observer } from 'mobx-react';\nimport { usePersistCallback, useClickOutside } from '@byted/hooks';\nimport isArray from 'lodash/isArray';\nimport uniqWith from 'lodash/uniqWith';\nimport uniq from 'lodash/uniq';\nimport type { MAxiosResponse } from '@ad/ad_utils/src/utils/mAxios';\nimport AssetPlayer, { AssetInfo, AssetTypeEnum } from '../../../../AssetPlayer';\nimport advIdHelpScreenshotImg from '../../../../../assets/images/ad-manager-advid.png';\nimport AuthManageConfirmModal from '../AuthManageConfirmModal';\nimport { AdvAssetsAuthResult } from '../AuthManageConfirmModal/type';\nimport cx from 'classnames';\n\nconst advIdHelpAssets: AssetInfo[] = [\n {\n type: AssetTypeEnum.IMAGE,\n info: {\n url: advIdHelpScreenshotImg\n }\n }\n];\n\nexport interface AdvInfo {\n id: string;\n name: string;\n}\n\nexport const advAssetsPermissionStarlingKey = {\n 2: 'apply_permission_level_no_access',\n 3: 'apply_permission_level_full_access'\n};\n\nfunction Send2AdsManager(props: {\n advDatasource: AdvInfo[];\n canManuallyAddAdv?: boolean;\n sendVideoToTtam?: (req: {\n fileIds: string[];\n advIds: string[];\n shareToken: string;\n permissionType?: AdvAssetsAuthResult;\n }) => Promise>;\n shareToken?: string;\n selectedVideos?: { fileId: string }[];\n currentOperateFileId?: string;\n show: boolean;\n onClose: () => void;\n sendCustomEvent?: Function;\n source?: string;\n onSearchAdv?: (advId: string) => Promise;\n onAddAdv?: (newAdv: AdvInfo) => void;\n onClickSync?: (advs: { id: string; name: string }[]) => Promise;\n additionalAdvKeyInSessionStorage?: string;\n saveAdditionalAdvToSessionStorage?: boolean;\n hasPermissionEditEntry?: boolean;\n}) {\n const {\n sendVideoToTtam,\n shareToken = '',\n selectedVideos = [],\n currentOperateFileId = '',\n advDatasource,\n sendCustomEvent,\n show,\n onClose,\n source,\n canManuallyAddAdv = false,\n onSearchAdv,\n onAddAdv,\n onClickSync,\n additionalAdvKeyInSessionStorage = 'ttcx_manually_added_adv_info',\n saveAdditionalAdvToSessionStorage = true,\n hasPermissionEditEntry = true\n } = props;\n const [selectedAdvAccount, setSelectedAdvAccount] = useState([]);\n const [dropdownWidth, setDropdownWidth] = useState('100%');\n const [showAdvSearchDropdown, setShowAdvSearchDropdown] = useState(false);\n const [showAdvIdHelpScreenshot, setShowAdvIdHelpScreenshot] = useState(false);\n const [advIdToSearch, setAdvIdToSearch] = useState('');\n const [advSearchRes, setAdvSearchRes] = useState();\n const [additionalAdvs, setAdditionalAdvs] = useState(() => {\n const prevAdvsJsonStr = sessionStorage.getItem(additionalAdvKeyInSessionStorage) || '';\n try {\n const prevAdvsJson = JSON.parse(prevAdvsJsonStr);\n if (isArray(prevAdvsJson)) {\n return prevAdvsJson.filter(\n (item) => item && typeof item.id === 'string' && typeof item.name === 'string'\n ) as AdvInfo[];\n }\n return [];\n } catch {\n return [];\n }\n });\n\n const advSearchInputRef = useClickOutside(undefined, () => setShowAdvSearchDropdown(false));\n\n const { t } = useTranslation();\n\n const finalDataSource = useMemo(() => {\n const authedAdvList = advDatasource.map((item) => ({ ...item, id: String(item.id) }));\n return [\n ...additionalAdvs.filter((item) => !authedAdvList.some((adv) => adv.id === item.id)),\n ...authedAdvList\n ];\n }, [advDatasource, additionalAdvs]);\n\n const [confirming, onConfirmSend] = useLoadingEffect(async () => {\n const advs = finalDataSource.filter((item) => selectedAdvAccount.includes(item.id));\n if (typeof onClickSync === 'function') {\n await onClickSync(advs);\n }\n\n const fileIds = currentOperateFileId ? [currentOperateFileId] : selectedVideos.map((item) => item.fileId);\n sendCustomEvent?.('asset_management_sync_videos_modal_click', {\n advCount: selectedAdvAccount.length,\n fileCount: fileIds.length,\n source,\n shareToken\n });\n if (typeof sendVideoToTtam === 'function') {\n const res = await sendVideoToTtam({\n fileIds,\n advIds: selectedAdvAccount,\n shareToken,\n permissionType: advAssetDataPermissionLevel\n });\n if (checkSuccessResponse(res.code)) {\n message.success({\n content: t('success_sync_to_ads_manager', 'Sync to ads manager successfully')\n });\n onClose();\n }\n }\n });\n\n const advColumns = useMemo[]>(\n () => [\n {\n key: 'name',\n width: 120,\n title: t('ads_list_adv_account_name_title', 'Ads account name'),\n dataIndex: 'name'\n },\n {\n key: 'id',\n width: 120,\n title: t('ads_list_adv_account_id_title', 'Ads Account ID'),\n dataIndex: 'id'\n }\n ],\n [t]\n );\n\n const tableRowSelection = useMemo>(\n () => ({\n type: 'checkbox',\n onChange: setSelectedAdvAccount,\n selectedRowKeys: selectedAdvAccount\n }),\n [selectedAdvAccount]\n );\n\n const [searchingAdv, searchAdv] = useLoadingEffect(async () => {\n setShowAdvSearchDropdown(true);\n if (typeof onSearchAdv !== 'function') {\n return;\n }\n const res = await onSearchAdv(advIdToSearch);\n setAdvSearchRes(res?.map((item) => ({ ...item, id: String(item.id) })));\n });\n\n const onClickAddAdv = usePersistCallback((adv: AdvInfo) => {\n if (!adv) {\n return;\n }\n setShowAdvSearchDropdown(false);\n setAdditionalAdvs((prevAdditionalAdvs) => {\n const res = uniqWith([...prevAdditionalAdvs, adv], (a, b) => a.id === b.id);\n if (saveAdditionalAdvToSessionStorage) {\n sessionStorage.setItem(additionalAdvKeyInSessionStorage, JSON.stringify(res));\n }\n return res;\n });\n setSelectedAdvAccount((prevSelectedAdvIds) => uniq([adv.id, ...prevSelectedAdvIds]));\n // clear search input\n setAdvIdToSearch('');\n if (typeof onAddAdv === 'function') {\n onAddAdv(adv);\n }\n });\n\n const openAdvIdHelpScreenshot = usePersistCallback(() => setShowAdvIdHelpScreenshot(true));\n const closeAdvIdHelpScreenshot = usePersistCallback(() => setShowAdvIdHelpScreenshot(false));\n\n const advSearchDropdown = useMemo(() => {\n if (searchingAdv) {\n return (\n \n
\n \n );\n }\n if (!advSearchRes?.length) {\n return ;\n }\n return (\n <>\n
\n {t('adv_search_results_hint', 'Confirm your ad account name and ID')}\n
\n \n {advSearchRes?.map((item) => (\n \n
\n
\n
{item.name}
\n
{`ID: ${item.id}`}
\n
\n \n
\n
\n ))}\n
\n \n );\n }, [searchingAdv, advSearchRes, t]);\n\n useEffect(() => {\n if (show && finalDataSource.length > 0) {\n setSelectedAdvAccount([finalDataSource[0].id]);\n }\n }, [show]);\n\n useEffect(() => {\n // measure search bar width\n if (!canManuallyAddAdv || !advSearchInputRef.current) {\n return;\n }\n setDropdownWidth(advSearchInputRef.current.clientWidth);\n }, [canManuallyAddAdv]);\n\n useEffect(() => {\n if (!show) {\n setShowAdvSearchDropdown(false);\n setAdvAssetDataPermissionLevel(AdvAssetsAuthResult.AUTHORISE);\n }\n }, [show]);\n\n const [advAssetDataPermissionLevel, setAdvAssetDataPermissionLevel] = useState(\n AdvAssetsAuthResult.AUTHORISE\n );\n const [showAdvAssetDataPermissionModal, setShowAdvAssetDataPermissionModal] = useState(false);\n const AdvAssetDataPermissionEntry = (\n
\n \n {t('select_ads_account_modal_bottom_label', 'The creative partner will have ', {\n permission: t(advAssetsPermissionStarlingKey[advAssetDataPermissionLevel])\n })}\n  \n setShowAdvAssetDataPermissionModal(true)}>\n {t('permission_edit')}\n \n \n
\n );\n\n return (\n <>\n \n {hasPermissionEditEntry && AdvAssetDataPermissionEntry}\n \n {t('sync_text', 'Sync')}\n \n
\n }\n content={\n <>\n {canManuallyAddAdv && (\n <>\n advSearchInputRef.current}\n className={style.advSearchInputPopover}\n popoverStyle={{ width: dropdownWidth }}\n >\n
\n \n \n \n {t('search_adv_btn', 'Search')}\n \n \n
\n \n {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}\n \n {t('find_adv_id_hint', 'How can I find my adv ID?')}\n \n \n )}\n \n \n }\n />\n \n\n {/* asset permission management modal */}\n {showAdvAssetDataPermissionModal && (\n setShowAdvAssetDataPermissionModal(false)}\n onConfirm={(value) => {\n setAdvAssetDataPermissionLevel(value);\n setShowAdvAssetDataPermissionModal(false);\n }}\n />\n )}\n \n );\n}\n\nexport default observer(Send2AdsManager);\n","import { FileUploadStatus } from '../Cloud/type';\nimport { CSFInsightPermissionLevel } from '../FileCard/types';\nimport documentFolderIcon from '../../../../../assets/images/document-folder.svg';\nimport myDriveIcon from '../../../../../assets/images/my_drive_icon.svg';\nimport fromTtcxIcon from '../../../../../assets/images/from_ttcx_icon.svg';\nimport fromTtamIcon from '../../../../../assets/images/from_ttam_icon.svg';\nimport fromProgramme from '../../../../../assets/images/from_programme_icon.svg';\n\nexport enum FileType {\n Folder = 1,\n Image = 2,\n Video = 3,\n // Pdf,\n Other = 4,\n Item = 5,\n Zip = 6,\n Json = 7 // 目前专指 VSA lottie 文件格式\n}\n\nexport enum NodeTypeEnum {\n Folder = 'folder',\n Category = 'category',\n Campaign = 'campaign',\n File = 'file'\n}\n\nexport interface NodeConfig {\n id?: string;\n name?: string;\n parentId?: string;\n fileCount?: number;\n description?: string;\n createTime?: Date;\n updateTime?: Date;\n isProtected?: boolean;\n folderId?: string;\n folderList?: Array;\n logo?: string;\n}\n\nexport enum ProtectTypeEnum {\n Unprotected = 0, // offline\n Protected = 1, // system program\n Freezed = 2 // partner 被移除当前 system program\n}\n\nexport interface FolderSources {\n orderFolders?: FolderData[];\n uploadFolders?: FolderData[];\n ttamFolders?: FolderData[];\n programFolders?: FolderData[];\n sharedFolders?: FolderData[]; //todo remove\n seriesFolders?: FolderData[];\n}\n\nexport interface FolderData {\n folderId: string;\n fileType: FileType;\n name: string;\n description: string;\n createTime: number;\n folderList: FolderData[];\n parentId: string;\n isDefaultFolder?: boolean; // 是否为默认创建的文件夹(无法删除和编辑)\n isProtected?: boolean; // system (true) | offline (false) (including ttcx partner and agency)\n isSyncFolder?: boolean; // 是否为 agency 通过 adv 同步的 folder\n isStopSync?: boolean; // agency 同步 adv 权限停止\n protectedType?: ProtectTypeEnum;\n isAllowRename?: boolean;\n}\n\nexport interface FileData {\n folderId: string;\n fileId: string;\n fileType: FileType;\n name: string;\n fileKey: string;\n fileUrl: string;\n extraData: { [key: string]: any };\n coverUrl: string;\n createTime: number;\n updateTime: number;\n protectedType?: ProtectTypeEnum;\n isAllowRename?: boolean;\n duration?: number;\n permissionLevel?: CSFInsightPermissionLevel;\n materialId?: string;\n isValid?: boolean;\n watermarkReady?: boolean;\n authAdvNum?: number;\n totalAdvNum?: number;\n}\n\nexport enum FileStatus {\n waiting,\n error,\n success,\n loading\n}\n\nexport enum UploadTaskType {\n file,\n folder,\n cloudFile\n}\n\nexport interface UploadTask {\n uuid: string;\n data: UploadFile | UploadFolder | FileUploadStatus;\n taskType: UploadTaskType;\n}\n\nexport interface UploadFolder {\n name: string;\n uuid: string;\n data: UploadFile[];\n progress: number;\n status: FileStatus;\n folderId?: string;\n}\n\nexport interface UploadFile {\n fileType: FileType;\n name: string;\n progress: number;\n uuid: string;\n file: File;\n status: FileStatus;\n folderId?: string;\n fileHash?: string;\n filePath?: string;\n errorMsg?: string;\n}\n\nexport interface DownloadFile extends FileData {\n status: FileStatus;\n progress: number;\n uuid: string;\n cancel?: () => void;\n}\n\nexport interface AssetTranslate {\n upload?: string;\n uploadFolder?: string;\n sortBy?: string;\n downloads?: string;\n updateTime?: string;\n uploadTime?: string;\n views?: string;\n files?: string;\n confirm?: string;\n close?: string;\n uploading?: string;\n uploadCompleted?: string;\n uploadError?: string;\n folderDefaultName?: string;\n categoryDefaultName?: string;\n deleteConfirmTitle?: string;\n deleteConfirmContent?: string;\n videoDescription?: string;\n lastUpdatedTime?: string;\n challengeName?: string;\n viewsTimes?: string;\n downloadsTimes?: string;\n selectAllFiles?: string;\n item?: string;\n items?: string;\n haveBeenSelect?: string;\n success?: string;\n failed?: string;\n updating?: string;\n deleteSuccess?: string;\n deleteFailed?: string;\n moveSuccess?: string;\n moveFailed?: string;\n initFailed?: string;\n saveSuccess?: string;\n saveFailed?: string;\n updateSuccess?: string;\n updateFailed?: string;\n noSelectFolderBodyText?: string;\n dragFile?: string;\n clickUpload?: string;\n deleteConfirm?: string;\n deleteTitle?: string;\n createNewFolder?: string;\n moveTo?: string;\n rename?: string;\n delete?: string;\n move?: string;\n download?: string;\n preview?: string;\n renameTheFolder?: string;\n deleteTheFolder?: string;\n detail?: string;\n fileInformation?: string;\n emptyInfo?: string;\n inputExceedMaxLengthLimit?: string;\n createCountExceedMaxLimit?: string;\n downloading?: string;\n barTitle?: string;\n noDownloadTransfer?: string;\n noUploadTransfer?: string;\n downloadCompleted?: string;\n file?: string;\n folderFreezedHint?: string;\n videosBulkApplyPermission?: string;\n systemProgram?: string;\n offlineAssets?: string;\n authRecord?: string;\n allAssets?: string;\n authorized?: string;\n partialAuthorized?: string;\n noAssociatedAdv?: string;\n noAccess?: string;\n noData?: string;\n newFolder?: string;\n sendToAM?: string;\n share?: string;\n viewInsight?: string;\n open?: string;\n noAssets?: string;\n dropFilesOr?: string;\n folderLevelExceedsQuota?: string;\n allFiles?: string;\n linkCopied?: string;\n shareModalTitle?: string;\n linkGenerating?: string;\n copyLink?: string;\n linkExpirationHint?: string;\n linkAccess?: string;\n sharingPageTitle?: string;\n syncDisabledHint?: string;\n cancel?: string;\n folderSearchPlc?: string;\n\n // sync dav modal starling\n syncFromAdv?: string;\n noCreativeData?: string;\n addAssetsEntry?: string;\n syncAdvFolderEmptyTips?: string;\n syncAdvModalTitle?: string;\n synAdvNavUnSynced?: string;\n synAdvNavSynced?: string;\n synAdvNavStopSynced?: string;\n synAdvFooterConfirm?: string;\n synAdvFooterDesc?: string;\n syncAdvModalTableHeaderAdvName?: string;\n syncAdvModalTableHeaderAdvId?: string;\n syncAdvModalTableHeaderAdvStatus?: string;\n syncAdvModalTableHeaderAdvAssetsEnum?: string;\n syncAdvModalTableHeaderAdvSyncTime?: string;\n syncAdvModalTableHeaderAdvLastSyncTime?: string;\n syncAdvSuccessInfo?: string;\n syncAdvErrorInfo?: string;\n}\n\nexport interface AssetApi {\n getFolderList: Function;\n createFolder: Function;\n createFile: Function;\n updateFolder: Function;\n updateFile: Function;\n moveFolder: Function;\n moveFile: Function;\n deleteFolder: Function;\n deleteFile: Function;\n getAssetsList: Function;\n generateAssetSharingLink?: any;\n getAdvertiserList?: Function;\n sendVideoToTtam?: Function;\n checkUploadedByMd5: (md5Str: string, folderId: string) => Promise;\n\n // sync dav modal api\n getUnSyncedCSFAdvList?: Function;\n getCSFSyncedAdvList?: Function;\n syncCSFAdvertiser?: (params: any) => Promise;\n}\n\nexport interface AssetEvent {\n createFolder?: Function;\n renameFolder?: Function;\n deleteAssets?: Function;\n deleteFolder?: Function;\n renameFile?: Function;\n deleteFile?: Function;\n navShare?: Function;\n navSync?: Function;\n showMaxFolderDepthExceededModal?: Function;\n showDuplicateFolderNameModal?: Function;\n importFromCloudSpace?: Function;\n\n // sync dav for agency partner\n addAssetsButtonHover?: Function;\n addAssetsUploadClick?: Function;\n addAssetsSyncAdvClick?: Function;\n syncAdvModalExpose?: Function;\n syncAdvModalSync?: Function;\n}\n\nexport interface CampaignDetail {\n campaignId?: string;\n brandType?: number;\n brandName: string;\n title: string;\n brandLogo: string;\n appIntroduction?: string;\n appKeySellingPoints?: string;\n appUseScenarios?: {\n userType?: string;\n userNeed?: string;\n productStrength?: string;\n solveProblem?: string;\n };\n appPronunciation?: string;\n niceToHaveKeywords?: string;\n sampleVideos?: {\n videoId?: string;\n videoName?: string;\n videoDescription?: string;\n };\n creatorRestrictions?: string[];\n appIosLink?: string;\n appAndroidLink?: string;\n appAdCreativeAssets?: string;\n asoKey?: string;\n email?: string;\n websiteLink?: string;\n syncAdvIds?: string[];\n}\n\nexport interface CampaignDetailReq {\n challengeCampaign: CampaignDetail;\n}\n\nexport interface Folder {\n folderId: string;\n name: string;\n createTime: string;\n fileCount: number;\n isProtected: boolean;\n folderList: Folder[];\n}\n\nexport enum AdvSyncStatus {\n NotSync = 1,\n Sync = 2,\n StopSync = 3\n}\n\nexport interface SyncAdvInfo {\n advId: string;\n advertiserName: string;\n syncStartTime: number;\n lastSyncTime: number;\n status: AdvSyncStatus;\n}\n\nexport interface SyncAdvParams {\n parentFolderId: string;\n advertiserIds: string[];\n}\n\nexport interface CreateUpdateFolderReq {\n campaignId: string;\n folderId?: string;\n name: string;\n}\n\nexport interface DeleteFolderReq {\n campaignId: string;\n folderId?: string;\n}\n\nexport interface GetFileReq {\n campaignId: string;\n folderId: string;\n orderType: number;\n page: number;\n limit: number;\n}\n\nexport interface GetFolderReq {\n campaignId: string;\n folderId?: string;\n page: number;\n limit: number;\n}\n\nexport interface CreateUpdateFileReq {\n campaignId: string;\n folderId: string;\n name: string;\n description: string;\n fileType: FileType;\n fileKey: string;\n}\n\nexport interface Pagination {\n hasMore: boolean;\n totalCount: number;\n limit: number;\n page: number;\n}\n\nexport enum OperateType {\n rightClick = 'rightClick',\n dropMenu = ' dropMenu',\n batch = 'batch',\n doubleClick = 'doubleClick',\n leftNav = 'leftNav',\n rightDetail = 'rightDetail'\n}\n\nexport enum SyncSourceType {\n fromNavBar = 'navBar',\n fromImpNavBar = 'impNavBar',\n fromPreview = 'preview'\n}\n\nexport interface CustomEventKey {\n sortFile?: string;\n deleteFileTimes?: string;\n downloadFileTimes?: string;\n detailFileTimes?: string;\n moveFileTimes?: string;\n previewFileTimes?: string;\n renameFileTimes?: string;\n uploadFileTimes?: string;\n createFolderTimes?: string;\n modifyDescriptionTimes?: string;\n}\n\nexport enum AssetSource {\n MyDrive = 'uploadFolders',\n TTCX = 'orderFolders',\n TTAM = 'ttamFolders',\n Programme = 'programFolders',\n Series = 'seriesFolders',\n Shared = 'sharedFolders'\n}\n\nexport const AssetSourceCode = {\n [AssetSource.TTCX]: 10008,\n [AssetSource.TTAM]: 10005,\n [AssetSource.Programme]: 10006,\n [AssetSource.Series]: 10007,\n [AssetSource.Shared]: 10002\n};\n\nexport enum FolderType {\n sourceFolder = 1,\n rootFolder = 2\n}\n\nexport const sourceInfoMap = {\n [AssetSource.TTCX]: {\n titleKey: 'asset_lib_source_ttcx',\n fallback: 'From TTCX orders',\n icon: fromTtcxIcon,\n descKey: 'asset_lib_ttcx_desc',\n descFallback: 'Assets synced from your TTCX orders arranged in folders of the order name'\n },\n [AssetSource.TTAM]: {\n titleKey: 'asset_lib_source_ttam',\n fallback: 'From TTAM',\n icon: fromTtamIcon,\n descKey: 'asset_lib_ttam_desc',\n descFallback: 'Assets synced from TTAM accounts that your account linked to'\n },\n [AssetSource.Programme]: {\n titleKey: 'asset_lib_source_programme',\n fallback: 'From programme',\n icon: fromProgramme,\n descKey: 'asset_lib_programme_desc',\n descFallback: 'Assets synced from the programme campaign that you joined'\n },\n [AssetSource.Shared]: {\n titleKey: 'asset_lib_source_share',\n fallback: 'My Drive',\n icon: myDriveIcon,\n descKey: 'asset_lib_my_drive_desc',\n descFallback: 'Manage assets that you and your team added'\n },\n [AssetSource.Series]: {\n titleKey: 'asset_lib_source_series',\n fallback: 'Series',\n icon: documentFolderIcon,\n descKey: 'asset_lib_series_desc',\n descFallback: 'Manage assets that from your series'\n }\n};\n\nexport enum ReferrerType {\n TTCX = 1,\n SERIES = 2\n}\n","import React from 'react';\nimport cls from 'classnames';\nimport styles from './index.module.scss';\n\nexport interface LoadingProps {\n loading: boolean;\n global?: boolean;\n className?: string;\n style?: React.CSSProperties;\n}\nfunction Loading(props: LoadingProps) {\n const { global = false, loading, className, style } = props;\n return (\n \n
\n
\n
\n
\n
\n );\n}\n\nexport default Loading;\n","import React, { forwardRef, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';\nimport { Button, ITextAreaProps, Modal, TextArea } from '@byte-design/ui';\nimport './index.scss';\nimport { IButtonProps } from '@byte-design/ui/lib/components/button/Button';\nimport classnames from 'classnames';\nimport { useLoadingEffect } from '../../../../utils/hooks/loading';\n\nexport interface TTCXModalProps {\n show?: boolean;\n size?: 'sm' | 'md' | 'lg';\n onOk?: (text?: string) => void;\n okText?: string | React.ReactNode;\n onCancel?: (text?: string) => void;\n cancelText?: string | React.ReactNode;\n className?: string;\n wrapperClassName?: string;\n hideToDestroy?: boolean;\n header?: null | React.ReactNode;\n content?: null | React.ReactNode;\n footer?: null | React.ReactNode;\n footerAlign?: 'vertical' | 'horizontal';\n hideOkButton?: boolean;\n hideCancelButton?: boolean;\n okButtonProps?: IButtonProps;\n cancelButtonProps?: IButtonProps;\n closable?: boolean;\n withInput?: boolean;\n inputConfig?: {\n defaultValue?: string;\n placeholder?: string;\n className?: string;\n maxLength?: number;\n required?: boolean;\n errorText?: string;\n inputProps?: ITextAreaProps;\n rules?: {\n validate: RegExp;\n errorText: string;\n }[];\n validateOnCancel?: boolean;\n validateOnOk?: boolean;\n };\n}\n\nexport interface TTCXModalHandler {\n open: (config: TTCXModalProps) => void;\n close: () => void;\n}\n\nfunction TTCXModal(props: TTCXModalProps, ref: React.Ref) {\n const [modalProps, setModalProps] = useState(props);\n const [initShow, setInitShow] = useState(true);\n const [inputValue, setInputValue] = useState();\n const [errorText, setErrorText] = useState();\n const isInit = useRef(true);\n const {\n show: propsShow,\n size = 'sm',\n className,\n hideToDestroy = true,\n footerAlign = 'horizontal',\n onOk,\n okText,\n onCancel,\n cancelText,\n header,\n content,\n footer,\n hideOkButton = false,\n hideCancelButton = false,\n okButtonProps,\n cancelButtonProps,\n closable = false,\n withInput,\n inputConfig,\n wrapperClassName\n } = modalProps;\n const [show, setShow] = useState(!!propsShow);\n\n function open(modalConfig: TTCXModalProps) {\n setModalProps(modalConfig);\n setShow(true);\n }\n\n function close() {\n setShow(false);\n setInputValue(undefined);\n isInit.current = true;\n }\n\n useImperativeHandle(ref, () => ({\n open,\n close\n }));\n\n async function onClickOk() {\n await onOk?.(inputValue);\n }\n\n const [okLoading, _onOk] = useLoadingEffect(onClickOk);\n\n async function onClickCancel() {\n await onCancel?.(inputValue);\n }\n\n const [cancelLoading, _onCancel] = useLoadingEffect(onClickCancel);\n\n function onInputChange(val?: string) {\n if (inputConfig?.maxLength) {\n setInputValue(val?.slice(0, inputConfig?.maxLength));\n } else {\n setInputValue(val);\n }\n isInit.current = false;\n }\n\n const hasError = useMemo(() => {\n let flag = false;\n if (inputConfig?.required) {\n flag = inputValue !== undefined ? inputValue.trim().length === 0 : true;\n if (flag) {\n setErrorText(inputConfig?.errorText);\n return flag;\n }\n }\n if (inputConfig?.rules) {\n inputConfig?.rules?.forEach((rule) => {\n flag = rule?.validate?.test(inputValue!);\n if (flag) {\n setErrorText(rule?.errorText);\n return flag;\n }\n });\n }\n return flag;\n }, [inputConfig, inputValue]);\n\n const okButton = useMemo(() => {\n const disabled = inputConfig?.validateOnOk && hasError;\n return (\n \n );\n }, [onOk, okText, okButtonProps, inputConfig, hasError, okLoading, inputValue]);\n\n const cancelButton = useMemo(() => {\n const disabled = inputConfig?.validateOnCancel && hasError;\n return (\n \n );\n }, [onCancel, cancelText, cancelButtonProps, inputConfig, hasError, cancelLoading, inputValue]);\n\n const modalFooter = useMemo(\n () =>\n footer !== undefined ? (\n footer\n ) : (\n
\n {!hideCancelButton && cancelButton}\n {!hideOkButton && okButton}\n
\n ),\n [\n footer,\n footerAlign,\n hideCancelButton,\n hideOkButton,\n onCancel,\n cancelText,\n cancelButtonProps,\n onOk,\n okText,\n okButtonProps,\n hasError,\n cancelLoading,\n okLoading,\n inputValue\n ]\n );\n\n useEffect(() => {\n withInput && setInputValue(inputConfig?.defaultValue);\n }, []);\n\n useEffect(() => {\n setModalProps(props);\n if (props.show !== undefined) {\n setShow(props.show);\n }\n }, [props]);\n\n // bui modal only can work after show one time\n useEffect(() => {\n setInitShow(false);\n }, []);\n\n return (\n \n {content ? (\n <>\n {content}\n {withInput && (\n \n \n \n {inputConfig?.maxLength && (\n
\n {inputValue?.length || 0} / {inputConfig?.maxLength}\n
\n )}\n
\n {!isInit.current && hasError &&

{errorText}

}\n \n )}\n \n ) : null}\n \n );\n}\n\nexport default forwardRef(TTCXModal);\n","import JSZip from 'jszip';\n\nexport const parseZipFile = async (file: File) => {\n const zip = new JSZip();\n const zipResult = await zip.loadAsync(file);\n return zipResult;\n};\n","// upload file type\nexport enum EnumFileType {\n video = 'video',\n image = 'image',\n pdf = 'pdf',\n word = 'word',\n zip = 'zip',\n other = 'other'\n}\n\nexport const typeJudge = (type: string) => {\n if (type?.includes('image')) return EnumFileType.image;\n if (type?.includes('video')) return EnumFileType.video;\n if (type?.includes('pdf')) return EnumFileType.pdf;\n if (type?.includes('word')) return EnumFileType.word;\n if (type?.includes('zip')) return EnumFileType.zip;\n return EnumFileType.other;\n};\n\n// check whether all files in the fileList satisfy the mime(accept attribute)\nexport const validateMimeType = (fileList: FileList, accept: string) => {\n const unUploadFileList = Array.from(fileList);\n let n = 0;\n while (unUploadFileList.length > n) {\n if (unUploadFileList[n].type?.includes('video') && !accept.includes('video')) {\n return false;\n }\n if (unUploadFileList[n].type?.includes('audio') && !accept.includes('audio')) {\n return false;\n }\n if (unUploadFileList[n].type?.includes('image') && !accept.includes('image')) {\n return false;\n }\n if (unUploadFileList[n].type?.includes('application')) {\n // doc\n if (unUploadFileList[n].type?.includes('msword') && !accept.includes('word')) {\n return false;\n }\n if (unUploadFileList[n].type?.includes('wordprocessingml.document') && !accept.includes('word')) {\n return false;\n }\n // pdf\n if (unUploadFileList[n].type?.includes('pdf') && !accept.includes('pdf')) {\n return false;\n }\n // ppt / pptx\n if (unUploadFileList[n].type?.includes('powerpoint') && !accept.includes('powerpoint')) {\n return false;\n }\n if (unUploadFileList[n].type?.includes('presentation') && !accept.includes('powerpoint')) {\n return false;\n }\n // excel\n if (unUploadFileList[n].type?.includes('ms-excel') && !accept.includes('excel')) {\n return false;\n }\n if (unUploadFileList[n].type?.includes('spreadsheetml.sheet') && !accept.includes('excel')) {\n return false;\n }\n // zip\n if (unUploadFileList[n].type?.includes('zip') && !accept.includes('zip')) {\n return false;\n }\n if (unUploadFileList[n].type?.includes('x-rar-compressed') && !accept.includes('x-rar-compressed')) {\n return false;\n }\n }\n if (unUploadFileList[n].type?.includes('text')) {\n if (unUploadFileList[n].type?.includes('plain') && !accept.includes('txt')) {\n return false;\n }\n if (unUploadFileList[n].type?.includes('csv') && !accept.includes('csv')) {\n return false;\n }\n if (unUploadFileList[n].type?.includes('javascript') && !accept.includes('javascript')) {\n return false;\n }\n if (unUploadFileList[n].type?.includes('css') && !accept.includes('css')) {\n return false;\n }\n }\n n++;\n }\n return true;\n};\n","import adAxios from '@ad/ad_utils/src/utils/mAxios';\n\nconst get = adAxios.get2;\n\nexport interface UserInfo {\n coreUserId: string | number;\n}\n\nexport const fetchUserInfo = async () => {\n const { data }: any = await get('/marketing_api/api/login_context/get/');\n return data as UserInfo;\n};\n\nexport function getUserLocation() {\n return get<{ countryCode: string; countryName: string }>(\n '/creative_hub_server/api/user/location',\n {},\n { showApiHint: false, overrideGlobalShowApiHint: true }\n );\n}\n","import { isLocal } from './index';\n\nconst supportCache: { [key: string]: null | boolean } = {\n webp: null\n};\n\nexport function supportWebp() {\n if (supportCache.webp === null) {\n supportCache.webp =\n document.createElement('canvas').toDataURL('image/webp').indexOf('data:image/webp') === 0;\n }\n return supportCache.webp;\n}\n\n// image x\nexport const IMAGEX_URL = '//p16-cc-sg.ibyteimg.com'; // TODO: sg imagex url\n\n// todo change to online config\nexport const ImagexTplSuffix = {\n q70: '~tplv-hdprqziq2y-q70.jpeg', // compress quality 70 with jpg\n webp: '~tplv-hdprqziq2y-webp.webp', // use webp\n bcmodal: '~tplv-hdprqziq2y-bcmodal.jpeg'\n};\n\nexport function getTosImageUrl(uri: string, tplType?: any) {\n if (uri.includes('http')) return uri;\n if (isLocal) {\n return `//tosv.boei18n.remove.this/obj${uri}`;\n }\n if (!uri || !uri.trim()) return '';\n const suffix = tplType || (supportWebp() ? ImagexTplSuffix.webp : ImagexTplSuffix.q70);\n // tos img bucket\n return `${IMAGEX_URL}/img${uri}${suffix}`;\n}\n\nexport function getTosFileUrl(uri: string, bucketToReplace?: string) {\n if (typeof uri !== 'string') {\n return uri;\n }\n if (uri.includes('http')) {\n return uri;\n }\n if (isLocal) {\n return `${atob('Ly90b3N2LmJvZWkxOG4uYnl0ZWQub3JnL29iai8=')}${uri}`;\n }\n const fixedUri = uri[0] === '/' ? uri.slice(1) : uri;\n\n const host = ['lf16-adcdn-sg.ibytedtos.com', 'lf19-adcdn-sg.ibytedtos.com', 'lf21-adcdn-sg.ibytedtos.com '];\n const [, uniqueName] = fixedUri.split('/');\n return `//${host[0]}/obj/${bucketToReplace ? `${bucketToReplace}/${uniqueName}` : fixedUri}`;\n}\n"],"names":["CommonLayoutHeader","CommonLayoutContent","props","height","fixHeader","children","className","headerRef","useRef","useLayoutEffect","headerDOM","ReactDOM","findDOMNode","current","parentDOM","parentNode","classList","add","div","ref","cls","style","flex","forwardedRef","id","observer","useTranslation","t","headerTitle","rest","Header","styles","header","h2","CloseSmall","closeIcon","size","fill","onClick","onCancel","Modal","Confirm","okText","cancelText","assignConfirm","width","closeable","maskClosable","fileTypeMap","NewUploaderRegionsMap","NewUploaderImageHostMap","NewUploaderVideoHostMap","UploadStatus","UploadTypeEnum","IMAGE","VIDEO","OTHER","image","imageType","video","videoType","pdf","pdfType","word","wordType","other","otherType","sg","va","boei18n","TCEX_VIDEO_UPLOAD_NAMESPACE","TCEX_VIDEO_UPLAOD_NAME","TCEX_APP_ID","fetchSecretKey","publishUploadVideo","uploadMedia","uploadSlice","uploadSmallFile","multiPurposeUpload","bytedUploader","videoAndImageUploadInitParams","defaultImageXServiceIdMap","bffUploadPath","getCDNPath","resource","isLocal","onFail","data","code","msg","get2","checkSuccessResponse","key","resolveLottie","file","zipResult","searchResult","config","secretKeyLottieJson","secretKey","fileId","assets","lottieFilePath","lottieJSONFile","lottieJSON","w","h","fps","ip","op","duration","jsonFile","formattedLottieJson","abortFuncJson","promiseLottieJson","abortFuncZip","promiseLottieZip","abortFuncLottie","err","JSON","parse","async","fr","name","message","Math","floor","length","some","asset","test","filter","e","files","stringify","File","type","abortFunc","promise","Promise","all","then","resJson","resZip","onSuccess","FileType","Json","catch","getUploaderInitParams","region","res","defaultRegion","defaultParams","spaceName","imageServiceId","uploadHost","uploadRegion","fetchImageUploadAuth","rsp","headers","token","error","fetchVideoUploadAuth","reportErrorMetrics","params","countryCode","getUserLocation","post2","appName","appId","userCountry","reportSuccessMetrics","vid","createVideoArchUploader","fileName","finalConfig","userId","imageHost","videoHost","imageConfig","serviceId","videoConfig","processAction","input","SnapshotTime","Title","BytedUploader","options","updateProgress","mediaUploader","uploaderInitParams","isImage","fileKeyRef","uploadMediaPromise","startUploadTime","resolve","reject","on","percent","result","finalUrl","uploadResult","videoPlayInfo","videoDuration","videoPlayUrl","Date","now","console","log","generateBoeImageUrl","ImageUri","generateImageUrl","cover","source","cdnPath","modifyTime","getTime","imageInfo","Vid","VideoMeta","Duration","getVideoInfoByTosUri","Uri","mainUrl","getTosFileUrl","PosterUri","videoInfoList","transformObjToCase","mainPlayUrl","round","videoInfo","videoOriginalUrl","auth","fileKey","addFile","stsToken","CurrentTime","currentTime","ExpiredTime","expiredTime","SessionToken","sessionToken","AccessKeyID","accessKeyId","SecretAccessKey","secretAccessKey","start","window","location","host","includes","indexOf","cancel","progressHandler","args","tosUploader","SliceUploader","sliceConfig","onProgress","response","getExtensionFromName","onError","chunkSize","concurrencyNum","retryTimes","fetchConfig","xsrfCookieName","xsrfHeaderName","Cookie","get","chunkUploadHandler","part_number","initApi","uploadApi","completeApi","init","abort","smallTimer","formData","FormData","append","uploaderTimerFunc","cancelTokenSource","Axios","CancelToken","uploadSmallFilePromise","uri","cancelToken","timeout","clearInterval","setProgress","typeJudge","isInternal","upload","useCallback","fileType","endsWith","isCSF","parseZipFile","Object","entries","find","alert","undefined","getVideoInfo","showApiHint","overrideGlobalShowApiHint","domain","template","ImageFormat","getUploadConfig","base","videoSpaceName","actions","createUploader","uploadConfig","uploadType","originFile","uploadInstance","info","coverUrl","playInfoList","parseInt","allAccessSamples","AssetTypeEnum","url","allAccessSample1","allAccessSample2","show","status","AdvAssetsAuthStatus","ADD","initAuthResult","AdvAssetsAuthResult","AUTHORISE","modalWidth","onConfirm","useState","authResult","setAuthResult","showSecondConfirm","setShowSecondConfirm","playerAssets","setPlayerAssets","showFullAccessSamples","ConfirmModal","authManageModal","onOk","EDIT","content","authoriseRadio","RadioGroup","value","onChange","Radio","REJECT","notificationSection","getPrivacyContent","p","tips","h3","questionTitle","span","viewSamplesBtn","questionAnswer","normalParagraph","authSecondConfirmModal","secondConfirmContent","AssetPlayer","onClose","PermissionType","advAssetsPermissionStarlingKey","advIdHelpAssets","advIdHelpScreenshotImg","sendVideoToTtam","shareToken","selectedVideos","currentOperateFileId","advDatasource","sendCustomEvent","canManuallyAddAdv","onSearchAdv","onAddAdv","onClickSync","additionalAdvKeyInSessionStorage","saveAdditionalAdvToSessionStorage","hasPermissionEditEntry","selectedAdvAccount","setSelectedAdvAccount","dropdownWidth","setDropdownWidth","showAdvSearchDropdown","setShowAdvSearchDropdown","showAdvIdHelpScreenshot","setShowAdvIdHelpScreenshot","advIdToSearch","setAdvIdToSearch","advSearchRes","setAdvSearchRes","prevAdvsJsonStr","sessionStorage","getItem","prevAdvsJson","isArray","item","additionalAdvs","setAdditionalAdvs","advSearchInputRef","useClickOutside","finalDataSource","useMemo","authedAdvList","map","String","adv","useLoadingEffect","advs","fileIds","advCount","fileCount","advIds","permissionType","advAssetDataPermissionLevel","success","confirming","onConfirmSend","advColumns","title","dataIndex","tableRowSelection","selectedRowKeys","searchingAdv","searchAdv","onClickAddAdv","usePersistCallback","prevAdditionalAdvs","uniqWith","a","b","setItem","prevSelectedAdvIds","uniq","openAdvIdHelpScreenshot","closeAdvIdHelpScreenshot","advSearchDropdown","Loading","BlockLoading","advConfirmHint","Dropdown","Menu","MenuItem","advDropdownItem","advDropdownInfo","advDropdownName","advDropdownId","Button","Empty","useEffect","clientWidth","setAdvAssetDataPermissionLevel","showAdvAssetDataPermissionModal","setShowAdvAssetDataPermissionModal","AdvAssetDataPermissionEntry","permissionManage","permissionDesc","permission","permissionEdit","TTCXModal","wrapperClassName","syncModal","closable","footer","cx","customBottom","customBottomBetween","disabled","loading","buttonDisabled","Popover","trigger","placement","getPopper","getPopupContainer","advSearchInputPopover","popoverStyle","advSearchInputGroup","Input","Group","onValueChange","placeholder","onPressEnter","blackBtn","Link","advIdHint","Table","columns","rowSelection","datasource","rowKey","emptyText","AuthManageConfirmModal","AssetSourceCode","sourceInfoMap","Folder","Image","Video","Other","Item","Zip","NodeTypeEnum","Category","Campaign","ProtectTypeEnum","Unprotected","Protected","Freezed","FileStatus","waiting","UploadTaskType","folder","cloudFile","AdvSyncStatus","NotSync","Sync","StopSync","OperateType","rightClick","dropMenu","batch","doubleClick","leftNav","rightDetail","SyncSourceType","fromNavBar","fromImpNavBar","fromPreview","AssetSource","MyDrive","TTCX","TTAM","Programme","Series","Shared","FolderType","sourceFolder","rootFolder","titleKey","fallback","icon","fromTtcxIcon","descKey","descFallback","fromTtamIcon","fromProgramme","myDriveIcon","documentFolderIcon","ReferrerType","SERIES","global","loader","close","spinner","cube1","cube2","forwardRef","open","modalConfig","setModalProps","setShow","setInputValue","isInit","modalProps","initShow","setInitShow","inputValue","errorText","setErrorText","hideToDestroy","footerAlign","hideOkButton","hideCancelButton","okButtonProps","cancelButtonProps","withInput","inputConfig","propsShow","onClickOk","useImperativeHandle","okLoading","_onOk","onClickCancel","cancelLoading","_onCancel","hasError","flag","required","trim","rules","forEach","rule","validate","okButton","validateOnOk","cancelButton","validateOnCancel","modalFooter","defaultValue","classnames","maxLength","TextArea","val","slice","rows","inputProps","section","zip","JSZip","loadAsync","validateMimeType","EnumFileType","fileList","accept","unUploadFileList","Array","from","n","fetchUserInfo","adAxios","supportWebp","IMAGEX_URL","ImagexTplSuffix","getTosImageUrl","supportCache","webp","document","createElement","toDataURL","q70","bcmodal","tplType","suffix","bucketToReplace","atob","fixedUri","uniqueName","split"],"sourceRoot":""}