"use strict"; (self["webpackChunk"] = self["webpackChunk"] || []).push([[6921],{ /***/ 87526: /*!*****************************************!*\ !*** ./src/components/NoData/index.tsx ***! \*****************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 59301); /* harmony import */ var _assets_images_icons_nodata_png__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/assets/images/icons/nodata.png */ 93314); /* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd */ 3113); var __defProp = Object.defineProperty; var __defProps = Object.defineProperties; var __getOwnPropDescs = Object.getOwnPropertyDescriptors; var __getOwnPropSymbols = Object.getOwnPropertySymbols; var __hasOwnProp = Object.prototype.hasOwnProperty; var __propIsEnum = Object.prototype.propertyIsEnumerable; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __spreadValues = (a, b) => { for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]); if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) { if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]); } return a; }; var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); const noData = ({ img, buttonProps = {}, styles = {}, customText, ButtonText, ButtonClick, Buttonclass, ButtonTwo, imgStyles, loading = false }) => { return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement( "section", { className: "tc animated fadeIn", style: __spreadValues(__spreadValues({}, { color: "#999", margin: "100px auto", visibility: loading ? "hidden" : "visible" }), styles) }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("img", { src: img || _assets_images_icons_nodata_png__WEBPACK_IMPORTED_MODULE_1__, style: __spreadProps(__spreadValues({}, imgStyles), { pointerEvents: "none", userSelect: "none" }) }), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("p", { className: "mt20 font14" }, customText || "\u6682\u65F6\u8FD8\u6CA1\u6709\u76F8\u5173\u6570\u636E\u54E6!"), ButtonText && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(antd__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .ZP, __spreadValues({ className: Buttonclass, onClick: ButtonClick }, buttonProps), ButtonText), ButtonTwo && ButtonTwo ); }; /* harmony default export */ __webpack_exports__.Z = (noData); /***/ }), /***/ 90018: /*!*********************************************************!*\ !*** ./src/components/PreviewAll/index.tsx + 1 modules ***! \*********************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { // EXPORTS __webpack_require__.d(__webpack_exports__, { Z: function() { return /* binding */ PreviewAll; } }); // EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js var _react_17_0_2_react = __webpack_require__(59301); ;// CONCATENATED MODULE: ./src/components/PreviewAll/index.less?modules // extracted by mini-css-extract-plugin /* harmony default export */ var PreviewAllmodules = ({"wrp":"wrp___dq7YK","bgBlack":"bgBlack___ARIUV","monaco":"monaco___VnZC3","darkBlue":"darkBlue___UprA9","close":"close___LKoWu","embed":"embed___hvpEJ"}); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js var es_button = __webpack_require__(3113); // EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.7@@ant-design/icons/es/icons/ArrowDownOutlined.js + 1 modules var ArrowDownOutlined = __webpack_require__(74516); // EXTERNAL MODULE: ./src/components/monaco-editor/index.jsx + 4 modules var monaco_editor = __webpack_require__(32150); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tooltip/index.js + 3 modules var tooltip = __webpack_require__(6848); // EXTERNAL MODULE: ./src/utils/util.tsx var util = __webpack_require__(13462); // EXTERNAL MODULE: ./src/service/exercise.ts var exercise = __webpack_require__(41044); // EXTERNAL MODULE: ./src/components/NoData/index.tsx var NoData = __webpack_require__(87526); // EXTERNAL MODULE: ./src/utils/env.ts + 1 modules var env = __webpack_require__(21873); // EXTERNAL MODULE: ./src/service/attachment.ts var attachment = __webpack_require__(4675); ;// CONCATENATED MODULE: ./src/components/PreviewAll/index.tsx var __defProp = Object.defineProperty; var __getOwnPropSymbols = Object.getOwnPropertySymbols; var __hasOwnProp = Object.prototype.hasOwnProperty; var __propIsEnum = Object.prototype.propertyIsEnumerable; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __spreadValues = (a, b) => { for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]); if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) { if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]); } return a; }; var __async = (__this, __arguments, generator) => { return new Promise((resolve, reject) => { var fulfilled = (value) => { try { step(generator.next(value)); } catch (e) { reject(e); } }; var rejected = (value) => { try { step(generator.throw(value)); } catch (e) { reject(e); } }; var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); step((generator = generator.apply(__this, __arguments)).next()); }); }; /* harmony default export */ var PreviewAll = (({ editOffice = "view", data, theme, type, filename, monacoEditor, className, style, close, onClose, hasMask, disabledDownload, onImgDimensions, showNodata, recordInfo }) => { const [src, setSrc] = (0,_react_17_0_2_react.useState)("https://view.officeapps.live.com/op/view.aspx?src=http://testgs.educoder.net//rails/active_storage/blobs/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--03541f6234b93d7ac3b2d84e7eb0e6594a952945/1.ppt"); const [token, setToken] = (0,_react_17_0_2_react.useState)(""); const [officeData, setOfficeData] = (0,_react_17_0_2_react.useState)(); const officePath = window.ENV === "build" ? "/react/build" : ""; const apiServer = location.host.startsWith("localhost") ? env/* default */.Z.PROXY_SERVER : env/* default */.Z.API_SERVER; const unit = 1024 * 1024; const maxSize = 10 * unit; const closeRef = (0,_react_17_0_2_react.useRef)(); if ((data == null ? void 0 : data.startsWith("/api")) && type !== "txt") { data = env/* default */.Z.API_SERVER + data; } const getFileExtension = (url) => { const filename2 = url.substring(url.lastIndexOf("/") + 1); const extension = filename2.split(".").pop(); return extension; }; if (filename) monacoEditor.filename = filename; (0,_react_17_0_2_react.useEffect)(() => { var _a, _b; const cookies = (_b = (_a = document.cookie) == null ? void 0 : _a.replace(/\s/g, "")) == null ? void 0 : _b.split(";"); cookies == null ? void 0 : cookies.map((item) => { let i = item.split("="); if (i[0] === "_educoder_session") { setToken(i[1]); } }); }, []); (0,_react_17_0_2_react.useEffect)(() => { if (type === "office") { if (data.indexOf("bigfilescdn.") > -1 || data.indexOf("bigfiles1") > -1) { setOfficeData({ url: data, fileType: getFileExtension(data), model: data.indexOf("model=edit") ? "edit" : "view" }); } else { getData(); } } }, [type, data]); const getData = () => __async(void 0, null, function* () { console.log("data:", data); let _url = data; if (!data.startsWith("http")) { _url = location.origin + _url; } let _id = new URL(_url).pathname.split("/").pop(); const res = yield (0,exercise/* setEcsAttachment */.gJ)({ attachment_id: _id }); res.url = apiServer + res.url; setOfficeData(res); }); const handleClick = () => { if (data.startsWith("http") || data.startsWith("blob:")) { handleDown(); return; } (0,util/* downloadFile */.Sv)(filename || "educoder", data, filename); }; const handleDown = () => { if (recordInfo) { (0,attachment/* add_file_quantity */.fc)({ id: recordInfo == null ? void 0 : recordInfo.id, watch_type: 1, course_id: recordInfo == null ? void 0 : recordInfo.course_id }); } (0,util/* downLoadLink */.Nd)(filename || "educoder", decodeURIComponent(data)); }; return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: __spreadValues({}, style || {}), className: `${hasMask && PreviewAllmodules.bgBlack} ${!!type ? PreviewAllmodules.wrp : "hide"}` }, close && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: PreviewAllmodules.close, ref: closeRef }, !!onImgDimensions && /* @__PURE__ */ _react_17_0_2_react.createElement(tooltip/* default */.Z, { title: "\u70B9\u51FB\u5BF9\u56FE\u7247\u8FDB\u884C\u6279\u6CE8", getPopupContainer: () => closeRef.current }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { onClick: () => { onClose(); onImgDimensions(); } }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "icon-yulanpizhu" }))), !disabledDownload && /* @__PURE__ */ _react_17_0_2_react.createElement(tooltip/* default */.Z, { title: "\u70B9\u51FB\u4E0B\u8F7D\u6B64\u6587\u4EF6", getPopupContainer: () => closeRef.current }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { onClick: handleDown }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "icon-quxiaozhiding" }))), /* @__PURE__ */ _react_17_0_2_react.createElement(tooltip/* default */.Z, { title: "\u5173\u95ED", getPopupContainer: () => closeRef.current }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "", onClick: onClose }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "icon-guanbi1" })))), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: `${PreviewAllmodules[className]} ${className} ${PreviewAllmodules.monaco} ${type === "txt" ? "show" : "hide"}` }, type === "txt" && /* @__PURE__ */ _react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, /* @__PURE__ */ _react_17_0_2_react.createElement( monaco_editor/* default */.ZP, __spreadValues({}, monacoEditor) ))), type === "audio" && /* @__PURE__ */ _react_17_0_2_react.createElement("audio", { src: `${(data == null ? void 0 : data.indexOf("http://")) > -1 || (data == null ? void 0 : data.indexOf("https://")) > -1 ? "" : "data:audio/mp3;base64,"}${data}`, autoPlay: true }), type === "video" && /* @__PURE__ */ _react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, (data == null ? void 0 : data.indexOf("http")) > -1 ? /* @__PURE__ */ _react_17_0_2_react.createElement("video", { controls: true, src: `${data}`, autoPlay: true }) : /* @__PURE__ */ _react_17_0_2_react.createElement("video", { controls: true, src: `data:video/mp4;base64,${data}`, autoPlay: true })), type === "office" && officeData && /* @__PURE__ */ _react_17_0_2_react.createElement("iframe", { src: `${officePath}/office.html?key=${officeData.key}&url=${btoa(officeData.url)}&callbackUrl=${apiServer + officeData.callbackUrl}&fileType=${officeData.fileType}&title=${officeData.title}&model=${editOffice}&officeServer=${env/* default */.Z.ONLYOFFICE}&disabledDownload=${!!disabledDownload}` }), type === "html" && /* @__PURE__ */ _react_17_0_2_react.createElement("iframe", { src: data + "&disposition=inline" }), type === "pdf" && /* @__PURE__ */ _react_17_0_2_react.createElement("iframe", { src: `${officePath}/js/pdfview/index.html?url=${data}&disabledDownload=${!!disabledDownload}` }), type === "image" && /* @__PURE__ */ _react_17_0_2_react.createElement("img", { src: `${(data == null ? void 0 : data.indexOf("http://")) > -1 || (data == null ? void 0 : data.indexOf("https://")) > -1 ? "" : "data:image/png;base64,"}${data}` }), (type === "other" || type === "download") && /* @__PURE__ */ _react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, showNodata ? /* @__PURE__ */ _react_17_0_2_react.createElement(NoData/* default */.Z, { customText: "\u5F53\u524D\u6587\u4EF6\u4E0D\u652F\u6301\u9884\u89C8\uFF0C\u53EF\u70B9\u51FB\u4E0B\u8F7D\u67E5\u770B", ButtonTwo: /* @__PURE__ */ _react_17_0_2_react.createElement(es_button/* default */.ZP, { icon: /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-xiazai4 font14" }), type: "primary", size: "middle", onClick: handleClick }, "\u4E0B\u8F7D") }) : /* @__PURE__ */ _react_17_0_2_react.createElement(es_button/* default */.ZP, { type: "primary", size: "middle", onClick: handleClick }, /* @__PURE__ */ _react_17_0_2_react.createElement(ArrowDownOutlined/* default */.Z, null), "\u70B9\u51FB\u4E0B\u8F7D"))); }); /***/ }), /***/ 16921: /*!*********************************************!*\ !*** ./src/components/RenderHtml/index.tsx ***! \*********************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 59301); /* harmony import */ var katex_dist_katex_min_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! katex/dist/katex.min.css */ 98253); /* harmony import */ var _utils_marked__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/utils/marked */ 38048); /* harmony import */ var code_prettify__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! code-prettify */ 64018); /* harmony import */ var code_prettify__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(code_prettify__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var hls_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! hls.js */ 63824); /* harmony import */ var _utils_env__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/env */ 21873); /* harmony import */ var katex__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! katex */ 15342); /* harmony import */ var katex__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(katex__WEBPACK_IMPORTED_MODULE_6__); /* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! uuid */ 1012); /* harmony import */ var _components_PreviewAll__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/components/PreviewAll */ 90018); var __defProp = Object.defineProperty; var __getOwnPropSymbols = Object.getOwnPropertySymbols; var __hasOwnProp = Object.prototype.hasOwnProperty; var __propIsEnum = Object.prototype.propertyIsEnumerable; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __spreadValues = (a, b) => { for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]); if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) { if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]); } return a; }; const ADD_MULTI = "@\u2581\u2581@"; const ADD_SINGLE = "@\u2581@"; const preRegex = /]*>/g; function _unescape(str) { let div = document.createElement("div"); div.innerHTML = str; return div.childNodes.length === 0 ? "" : div.childNodes[0].nodeValue; } /* harmony default export */ __webpack_exports__.Z = (({ value = "", className, showTextOnly, showLines, style = {}, stylesPrev = {}, highlightKeywords, showProgramFill, isProgramFill, disabledFill = false, programFillValue, onFillChange = (value2) => { }, onFillBlur = () => { } }) => { let str = String(value); const [data, setData] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(""); const [type, setType] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)("office"); const [projectValue, setProjectValue] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]); const classNamesRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)("a" + (0,uuid__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z)()); const formObj = {}; const createInput = (a, num, title) => { const input = document.createElement(a === ADD_SINGLE ? "input" : "textarea"); input.style.width = "100%"; input.style.height = a === ADD_SINGLE ? "40px" : "151px"; input.rows = 5; input.spellcheck = false; input.name = "edu-program-fill"; input.placeholder = "\u8BF7\u8F93\u5165"; input.dataset.id = num; const key = Object.keys(formObj).length; formObj[key] = input; return `${input.outerHTML}`; }; const formatMD = (rs) => { return rs.replace(/([\s\S]+?)<\/style>/gim, function(_, css) { let _css = css.replace(/(\n|\r)/g, "").split("}"); let arr = []; _css.map((item) => { if (item != "") { arr.push(`.${classNamesRef.current} ${item}`); } }); return ``; }); }; const html = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => { try { const reg = /\(\s+\/api\/attachments\/|\(\/api\/attachments\/|\(\/attachments\/download\//g; const reg2 = /\"\/api\/attachments\/|\"\/attachments\/download\//g; const reg3 = /\(\s+\/files\/uploads\/|\"\/files\/uploads\//g; str = str.replace(reg, "(" + _utils_env__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.API_SERVER + "/api/attachments/").replace(reg2, '"' + _utils_env__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.API_SERVER + "/api/attachments/").replace(reg3, '"' + _utils_env__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.API_SERVER + "/files/uploads/").replaceAll("http://video.educoder", "https://video.educoder").replaceAll("http://www.educoder.net/api", "https://data.educoder.net/api").replaceAll("https://www.educoder.net/api", "https://data.educoder.net/api").replace(/\r\n/g, "\n"); } catch (e) { } ; if (showProgramFill) { let num = -1; str = str.replaceAll("<", "<").replaceAll(">", ">").replace(/(@▁▁@|@▁@)/g, function(a, b, c) { var _a; ++num; return createInput(a, num, (_a = programFillValue == null ? void 0 : programFillValue[num]) == null ? void 0 : _a.value); }); return `
${formatMD(str || "")}
`; } let rs = formatMD(str); rs = (0,_utils_marked__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .ZP)(rs); const math_expressions = (0,_utils_marked__WEBPACK_IMPORTED_MODULE_2__/* .getMathExpressions */ .ez)(); if (str.match(/\[TOC\]/)) { rs = rs.replace("

[TOC]

", (0,_utils_marked__WEBPACK_IMPORTED_MODULE_2__/* .getTocContent */ .Qv)()); (0,_utils_marked__WEBPACK_IMPORTED_MODULE_2__/* .cleanToc */ .Iy)(); } rs = rs.replace(/(__special_katext_id_\d+__)/g, (_match, capture) => { const { type: type2, expression } = math_expressions[capture]; return (0,katex__WEBPACK_IMPORTED_MODULE_6__.renderToString)(_unescape(expression) || "", { displayMode: type2 === "block", throwOnError: false, output: "html" }); }); rs = rs.replace(/▁/g, "\u2581\u2581\u2581\u2581\u2581"); (0,_utils_marked__WEBPACK_IMPORTED_MODULE_2__/* .resetMathExpressions */ .AL)(); const dom = document.createElement("div"); dom.innerHTML = rs; if (highlightKeywords) { const escapedKeywords = highlightKeywords.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); findKeyword(dom, escapedKeywords); return dom.innerHTML; } if (showTextOnly) { return dom.innerText; } setTimeout(() => onLoad(), 500); return dom.innerHTML; }, [str, highlightKeywords]); (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => { if (el.current) { const inputs = el.current.querySelectorAll(["input", "textarea"]); inputs.forEach((input) => { input.oninput = onInput; input.onblur = onBlur; }); } }, [projectValue]); (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => { var _a, _b, _c, _d, _e; if (!!(programFillValue == null ? void 0 : programFillValue.length)) { try { const scoreDom = el.current.querySelectorAll(".edu-program-fill-score"); const dom = el.current.querySelectorAll('[name="edu-program-fill"]'); for (const [k, i] of dom.entries()) { i.value = ((_a = programFillValue == null ? void 0 : programFillValue[k]) == null ? void 0 : _a.value) || ""; if (((_b = programFillValue == null ? void 0 : programFillValue[k]) == null ? void 0 : _b.type) === "warning") { i.className = "program-fill-warning"; } else if (((_c = programFillValue == null ? void 0 : programFillValue[k]) == null ? void 0 : _c.type) === "success") { i.className = "program-fill-success"; } else { i.className = ""; } } for (const [k, i] of scoreDom.entries()) { i.innerHTML = ((_d = programFillValue == null ? void 0 : programFillValue[k]) == null ? void 0 : _d.score) ? `${(_e = programFillValue == null ? void 0 : programFillValue[k]) == null ? void 0 : _e.score}\u5206` : ""; } setProjectValue(programFillValue); } catch (error) { console.log(error, "error"); } } }, [programFillValue]); const onInput = (e) => { projectValue[e.target.dataset.id] = projectValue[e.target.dataset.id] || {}; projectValue[e.target.dataset.id]["value"] = e.target.value; setProjectValue([...projectValue]); onFillChange(projectValue, e.target.dataset.id); }; const onBlur = (e) => { projectValue[e.target.dataset.id] = projectValue[e.target.dataset.id] || {}; projectValue[e.target.dataset.id]["value"] = e.target.value; setProjectValue([...projectValue]); onFillBlur(projectValue, e.target.dataset.id); }; function findKeyword(node, keyword) { return node.childNodes.forEach((childNode) => { var _a; if (childNode.childNodes.length > 0) { findKeyword(childNode, keyword); } else if (childNode.nodeName !== "IMG") { if (childNode.innerHTML) { childNode.innerHTML = (_a = childNode.innerHTML) == null ? void 0 : _a.replace(new RegExp(keyword, "gi"), '$&'); } else { const dom = document.createElement("span"); dom.innerHTML = childNode.textContent.replace(new RegExp(keyword, "gi"), '$&'); childNode.replaceWith(dom); } } }); } const el = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(); _utils_marked__WEBPACK_IMPORTED_MODULE_2__/* .lines */ .jb["WebkitLineClamp"] = showLines; if (showLines) { style = __spreadValues(__spreadValues({}, style), _utils_marked__WEBPACK_IMPORTED_MODULE_2__/* .lines */ .jb); } function onAncherHandler(e) { let target = e.target; if (target.tagName.toUpperCase() === "A") { let ancher = target.getAttribute("href"); if (ancher.indexOf("office") > -1) { e.preventDefault(); setData(ancher); setType("office"); } else if (ancher.indexOf("application/pdf") > -1) { e.preventDefault(); setData(ancher); setType("pdf"); } else if (ancher.indexOf("text/html") > -1) { e.preventDefault(); setData(ancher); setType("html"); } else if (ancher.startsWith("#")) { e.preventDefault(); let viewEl = document.getElementById(ancher.replace("#", "")); if (viewEl) { viewEl.scrollIntoView(true); } } } } const onLoad = () => { var _a; const videoElement = (_a = el.current) == null ? void 0 : _a.querySelectorAll("video"); videoElement == null ? void 0 : videoElement.forEach((item) => { item.oncontextmenu = () => { return false; }; if (item.src.indexOf(".m3u8") > -1) { if (item.canPlayType("application/vnd.apple.mpegurl")) { } else if (hls_js__WEBPACK_IMPORTED_MODULE_4__/* ["default"].isSupported */ .ZP.isSupported()) { var hls = new hls_js__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .ZP(); hls.loadSource(item.src); hls.attachMedia(item); } } }); }; (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => { if (el.current && html) { if (html.match(preRegex)) { window.PR.prettyPrint(); } } if (el.current) { el.current.addEventListener("click", onAncherHandler); return () => { var _a; (_a = el.current) == null ? void 0 : _a.removeEventListener("click", onAncherHandler); (0,_utils_marked__WEBPACK_IMPORTED_MODULE_2__/* .resetMathExpressions */ .AL)(); (0,_utils_marked__WEBPACK_IMPORTED_MODULE_2__/* .cleanToc */ .Iy)(); }; } }, [html, el.current, onAncherHandler]); return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, showTextOnly && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { ref: el }, html), !showTextOnly && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement( "div", { ref: el, style: __spreadValues({}, style), className: `${className ? className : ""} ${disabledFill ? "disabled-fill" : ""} markdown-body ${classNamesRef.current}`, dangerouslySetInnerHTML: { __html: html } } ), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement( _components_PreviewAll__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, { close: true, data, type: !!(data == null ? void 0 : data.length) ? type : "", style: __spreadValues({}, stylesPrev), onClose: () => setData("") } )); }); /***/ }), /***/ 38048: /*!*****************************!*\ !*** ./src/utils/marked.ts ***! \*****************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ AL: function() { return /* binding */ resetMathExpressions; }, /* harmony export */ Iy: function() { return /* binding */ cleanToc; }, /* harmony export */ Qv: function() { return /* binding */ getTocContent; }, /* harmony export */ ez: function() { return /* binding */ getMathExpressions; }, /* harmony export */ jb: function() { return /* binding */ lines; } /* harmony export */ }); /* harmony import */ var marked__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! marked */ 32834); /* harmony import */ var marked__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(marked__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var marked_src_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! marked/src/helpers */ 11690); /* harmony import */ var marked_src_helpers__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(marked_src_helpers__WEBPACK_IMPORTED_MODULE_1__); function indentCodeCompensation(raw, text) { const matchIndentToCode = raw.match(/^(\s+)(?:```)/); if (matchIndentToCode === null) { return text; } const indentToCode = matchIndentToCode[1]; return text.split("\n").map((node) => { const matchIndentInNode = node.match(/^\s+/); if (matchIndentInNode === null) { return node; } const [indentInNode] = matchIndentInNode; if (indentInNode.length >= indentToCode.length) { return node.slice(indentToCode.length); } return node; }).join("\n"); } let toc = []; let ctx = ["