Files
nashel-frontend/.next/static/webpack/app/dashboard/profile/page.f33f9734299dc49c.hot-update.js
T

22 lines
32 KiB
JavaScript

"use strict";
/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
self["webpackHotUpdate_N_E"]("app/dashboard/profile/page",{
/***/ "(app-pages-browser)/./src/components/ui/description-viewer.tsx":
/*!**************************************************!*\
!*** ./src/components/ui/description-viewer.tsx ***!
\**************************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DescriptionViewer: () => (/* binding */ DescriptionViewer)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _barrel_optimize_names_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! __barrel_optimize__?names=ChevronDown,ChevronUp!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/chevron-up.js\");\n/* harmony import */ var _barrel_optimize_names_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=ChevronDown,ChevronUp!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/chevron-down.js\");\n/* harmony import */ var _button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./button */ \"(app-pages-browser)/./src/components/ui/button.tsx\");\n\nvar _s = $RefreshSig$();\n\n\n\nfunction DescriptionViewer(param) {\n let { description, maxLines = 10 } = param;\n _s();\n const [isExpanded, setIsExpanded] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [isOverflowing, setIsOverflowing] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const contentRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n // Проверяем, превышает ли контент лимит строк\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"DescriptionViewer.useEffect\": ()=>{\n if (contentRef.current) {\n const lineHeight = 20; // примерно 20px на строку\n const maxHeight = lineHeight * maxLines;\n const isOver = contentRef.current.scrollHeight > maxHeight;\n setIsOverflowing(isOver);\n }\n }\n }[\"DescriptionViewer.useEffect\"], [\n description,\n maxLines\n ]);\n // Обработчик кликов по ссылкам с предупреждением для внешних ресурсов\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"DescriptionViewer.useEffect\": ()=>{\n const handleLinkClick = {\n \"DescriptionViewer.useEffect.handleLinkClick\": (e)=>{\n const target = e.target;\n const link = target.closest(\"a\");\n if (link) {\n e.preventDefault();\n const href = link.getAttribute(\"href\");\n if (!href) return;\n // Проверяем, является ли ссылка внешней\n const isExternal = href.startsWith(\"http://\") || href.startsWith(\"https://\");\n if (isExternal) {\n try {\n const domain = new URL(href).hostname;\n const confirmed = confirm(\"Вы переходите на внешний ресурс: \".concat(domain, \"\\n\\n\") + \"Ссылка: \".concat(href, \"\\n\\n\") + \"Вы уверены, что хотите перейти?\");\n if (confirmed) {\n window.open(href, \"_blank\", \"noopener,noreferrer\");\n }\n } catch (e) {\n window.open(href, \"_blank\", \"noopener,noreferrer\");\n }\n } else {\n window.open(href, \"_blank\");\n }\n }\n }\n }[\"DescriptionViewer.useEffect.handleLinkClick\"];\n const content = contentRef.current;\n if (content) {\n content.addEventListener(\"click\", handleLinkClick);\n return ({\n \"DescriptionViewer.useEffect\": ()=>content.removeEventListener(\"click\", handleLinkClick)\n })[\"DescriptionViewer.useEffect\"];\n }\n }\n }[\"DescriptionViewer.useEffect\"], []);\n if (!description) return null;\n // Если описание содержит HTML теги (от Tiptap), рендерим как HTML\n const isHtml = description.includes(\"<\");\n if (isHtml) {\n const lineHeight = 20;\n const maxHeight = lineHeight * maxLines;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex py-3 justify-start items-start\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-muted-foreground mr-4 whitespace-nowrap\",\n children: \"Описание\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\description-viewer.tsx\",\n lineNumber: 77,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex-1 min-w-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: contentRef,\n className: \"text-left text-sm leading-relaxed prose prose-sm max-w-none dark:prose-invert overflow-hidden transition-all duration-200 \".concat(isExpanded ? \"max-h-none\" : \"\"),\n style: {\n maxHeight: isExpanded ? \"none\" : \"\".concat(maxHeight, \"px\")\n },\n dangerouslySetInnerHTML: {\n __html: description\n }\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\description-viewer.tsx\",\n lineNumber: 79,\n columnNumber: 21\n }, this),\n isOverflowing && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n variant: \"link\",\n size: \"sm\",\n onClick: ()=>setIsExpanded(!isExpanded),\n className: \"mt-2 h-auto p-0 text-blue-600 hover:text-blue-700\",\n children: isExpanded ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n \"Свернуть\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n className: \"ml-1 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\description-viewer.tsx\",\n lineNumber: 100,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n \"Показать полностью\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"ml-1 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\description-viewer.tsx\",\n lineNumber: 105,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\description-viewer.tsx\",\n lineNumber: 91,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\description-viewer.tsx\",\n lineNumber: 78,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\description-viewer.tsx\",\n lineNumber: 76,\n columnNumber: 13\n }, this);\n }\n // Для старых описаний без HTML (простой текст)\n const lines = description.split('\\n');\n const shouldShowSpoiler = lines.length > maxLines;\n const displayLines = isExpanded ? lines : lines.slice(0, maxLines);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex py-3 justify-start items-start\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-muted-foreground mr-4 whitespace-nowrap\",\n children: \"Описание\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\description-viewer.tsx\",\n lineNumber: 122,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex-1 min-w-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-left text-sm leading-relaxed whitespace-pre-wrap break-words\",\n children: displayLines.join('\\n')\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\description-viewer.tsx\",\n lineNumber: 124,\n columnNumber: 17\n }, this),\n shouldShowSpoiler && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n variant: \"link\",\n size: \"sm\",\n onClick: ()=>setIsExpanded(!isExpanded),\n className: \"mt-2 h-auto p-0 text-blue-600 hover:text-blue-700\",\n children: isExpanded ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n \"Свернуть\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n className: \"ml-1 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\description-viewer.tsx\",\n lineNumber: 137,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n \"Показать полностью\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"ml-1 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\description-viewer.tsx\",\n lineNumber: 142,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\description-viewer.tsx\",\n lineNumber: 128,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\description-viewer.tsx\",\n lineNumber: 123,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\description-viewer.tsx\",\n lineNumber: 121,\n columnNumber: 9\n }, this);\n}\n_s(DescriptionViewer, \"8WZjEmqg/a1zB2jFEnYXIcS08SU=\");\n_c = DescriptionViewer;\nvar _c;\n$RefreshReg$(_c, \"DescriptionViewer\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL3VpL2Rlc2NyaXB0aW9uLXZpZXdlci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQW9EO0FBQ0U7QUFDcEI7QUFPM0IsU0FBU00sa0JBQWtCLEtBQXNEO1FBQXRELEVBQUVDLFdBQVcsRUFBRUMsV0FBVyxFQUFFLEVBQTBCLEdBQXREOztJQUM5QixNQUFNLENBQUNDLFlBQVlDLGNBQWMsR0FBR1YsK0NBQVFBLENBQUM7SUFDN0MsTUFBTSxDQUFDVyxlQUFlQyxpQkFBaUIsR0FBR1osK0NBQVFBLENBQUM7SUFDbkQsTUFBTWEsYUFBYVgsNkNBQU1BLENBQWlCO0lBRTFDLDhDQUE4QztJQUM5Q0QsZ0RBQVNBO3VDQUFDO1lBQ04sSUFBSVksV0FBV0MsT0FBTyxFQUFFO2dCQUNwQixNQUFNQyxhQUFhLElBQUksMEJBQTBCO2dCQUNqRCxNQUFNQyxZQUFZRCxhQUFhUDtnQkFDL0IsTUFBTVMsU0FBU0osV0FBV0MsT0FBTyxDQUFDSSxZQUFZLEdBQUdGO2dCQUNqREosaUJBQWlCSztZQUNyQjtRQUNKO3NDQUFHO1FBQUNWO1FBQWFDO0tBQVM7SUFFMUIsc0VBQXNFO0lBQ3RFUCxnREFBU0E7dUNBQUM7WUFDTixNQUFNa0I7K0RBQWtCLENBQUNDO29CQUNyQixNQUFNQyxTQUFTRCxFQUFFQyxNQUFNO29CQUN2QixNQUFNQyxPQUFPRCxPQUFPRSxPQUFPLENBQUM7b0JBRTVCLElBQUlELE1BQU07d0JBQ05GLEVBQUVJLGNBQWM7d0JBQ2hCLE1BQU1DLE9BQU9ILEtBQUtJLFlBQVksQ0FBQzt3QkFDL0IsSUFBSSxDQUFDRCxNQUFNO3dCQUVYLHdDQUF3Qzt3QkFDeEMsTUFBTUUsYUFBYUYsS0FBS0csVUFBVSxDQUFDLGNBQWNILEtBQUtHLFVBQVUsQ0FBQzt3QkFFakUsSUFBSUQsWUFBWTs0QkFDWixJQUFJO2dDQUNBLE1BQU1FLFNBQVMsSUFBSUMsSUFBSUwsTUFBTU0sUUFBUTtnQ0FDckMsTUFBTUMsWUFBWUMsUUFDZCxvQ0FBMkMsT0FBUEosUUFBTyxVQUMzQyxXQUFnQixPQUFMSixNQUFLLFVBQ2Y7Z0NBRUwsSUFBSU8sV0FBVztvQ0FDWEUsT0FBT0MsSUFBSSxDQUFDVixNQUFNLFVBQVU7Z0NBQ2hDOzRCQUNKLEVBQUUsVUFBTTtnQ0FDSlMsT0FBT0MsSUFBSSxDQUFDVixNQUFNLFVBQVU7NEJBQ2hDO3dCQUNKLE9BQU87NEJBQ0hTLE9BQU9DLElBQUksQ0FBQ1YsTUFBTTt3QkFDdEI7b0JBQ0o7Z0JBQ0o7O1lBRUEsTUFBTVcsVUFBVXZCLFdBQVdDLE9BQU87WUFDbEMsSUFBSXNCLFNBQVM7Z0JBQ1RBLFFBQVFDLGdCQUFnQixDQUFDLFNBQVNsQjtnQkFDbEM7bURBQU8sSUFBTWlCLFFBQVFFLG1CQUFtQixDQUFDLFNBQVNuQjs7WUFDdEQ7UUFDSjtzQ0FBRyxFQUFFO0lBRUwsSUFBSSxDQUFDWixhQUFhLE9BQU87SUFFekIsa0VBQWtFO0lBQ2xFLE1BQU1nQyxTQUFTaEMsWUFBWWlDLFFBQVEsQ0FBQztJQUVwQyxJQUFJRCxRQUFRO1FBQ1IsTUFBTXhCLGFBQWE7UUFDbkIsTUFBTUMsWUFBWUQsYUFBYVA7UUFFL0IscUJBQ0ksOERBQUNpQztZQUFJQyxXQUFVOzs4QkFDWCw4REFBQ0M7b0JBQUtELFdBQVU7OEJBQStDOzs7Ozs7OEJBQy9ELDhEQUFDRDtvQkFBSUMsV0FBVTs7c0NBQ1gsOERBQUNEOzRCQUNHRyxLQUFLL0I7NEJBQ0w2QixXQUFXLDZIQUNOLE9BRG1JakMsYUFBYSxlQUFlOzRCQUVwS29DLE9BQU87Z0NBQ0g3QixXQUFXUCxhQUFhLFNBQVMsR0FBYSxPQUFWTyxXQUFVOzRCQUNsRDs0QkFDQThCLHlCQUF5QjtnQ0FDckJDLFFBQVF4Qzs0QkFDWjs7Ozs7O3dCQUVISSwrQkFDRyw4REFBQ04sMkNBQU1BOzRCQUNIMkMsU0FBUTs0QkFDUkMsTUFBSzs0QkFDTEMsU0FBUyxJQUFNeEMsY0FBYyxDQUFDRDs0QkFDOUJpQyxXQUFVO3NDQUVUakMsMkJBQ0c7O29DQUFFO2tEQUVFLDhEQUFDTCxpR0FBU0E7d0NBQUNzQyxXQUFVOzs7Ozs7OzZEQUd6Qjs7b0NBQUU7a0RBRUUsOERBQUN2QyxpR0FBV0E7d0NBQUN1QyxXQUFVOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBUXZEO0lBRUEsK0NBQStDO0lBQy9DLE1BQU1TLFFBQVE1QyxZQUFZNkMsS0FBSyxDQUFDO0lBQ2hDLE1BQU1DLG9CQUFvQkYsTUFBTUcsTUFBTSxHQUFHOUM7SUFDekMsTUFBTStDLGVBQWU5QyxhQUFhMEMsUUFBUUEsTUFBTUssS0FBSyxDQUFDLEdBQUdoRDtJQUV6RCxxQkFDSSw4REFBQ2lDO1FBQUlDLFdBQVU7OzBCQUNYLDhEQUFDQztnQkFBS0QsV0FBVTswQkFBK0M7Ozs7OzswQkFDL0QsOERBQUNEO2dCQUFJQyxXQUFVOztrQ0FDWCw4REFBQ0Q7d0JBQUlDLFdBQVU7a0NBQ1ZhLGFBQWFFLElBQUksQ0FBQzs7Ozs7O29CQUV0QkosbUNBQ0csOERBQUNoRCwyQ0FBTUE7d0JBQ0gyQyxTQUFRO3dCQUNSQyxNQUFLO3dCQUNMQyxTQUFTLElBQU14QyxjQUFjLENBQUNEO3dCQUM5QmlDLFdBQVU7a0NBRVRqQywyQkFDRzs7Z0NBQUU7OENBRUUsOERBQUNMLGlHQUFTQTtvQ0FBQ3NDLFdBQVU7Ozs7Ozs7eURBR3pCOztnQ0FBRTs4Q0FFRSw4REFBQ3ZDLGlHQUFXQTtvQ0FBQ3VDLFdBQVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRdkQ7R0E1SWdCcEM7S0FBQUEiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHVpXFxkZXNjcmlwdGlvbi12aWV3ZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQ2hldnJvbkRvd24sIENoZXZyb25VcCB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIjtcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gXCIuL2J1dHRvblwiO1xuXG5pbnRlcmZhY2UgRGVzY3JpcHRpb25WaWV3ZXJQcm9wcyB7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBtYXhMaW5lcz86IG51bWJlcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIERlc2NyaXB0aW9uVmlld2VyKHsgZGVzY3JpcHRpb24sIG1heExpbmVzID0gMTAgfTogRGVzY3JpcHRpb25WaWV3ZXJQcm9wcykge1xuICAgIGNvbnN0IFtpc0V4cGFuZGVkLCBzZXRJc0V4cGFuZGVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbaXNPdmVyZmxvd2luZywgc2V0SXNPdmVyZmxvd2luZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgY29udGVudFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG5cbiAgICAvLyDQn9GA0L7QstC10YDRj9C10LwsINC/0YDQtdCy0YvRiNCw0LXRgiDQu9C4INC60L7QvdGC0LXQvdGCINC70LjQvNC40YIg0YHRgtGA0L7QulxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChjb250ZW50UmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGxpbmVIZWlnaHQgPSAyMDsgLy8g0L/RgNC40LzQtdGA0L3QviAyMHB4INC90LAg0YHRgtGA0L7QutGDXG4gICAgICAgICAgICBjb25zdCBtYXhIZWlnaHQgPSBsaW5lSGVpZ2h0ICogbWF4TGluZXM7XG4gICAgICAgICAgICBjb25zdCBpc092ZXIgPSBjb250ZW50UmVmLmN1cnJlbnQuc2Nyb2xsSGVpZ2h0ID4gbWF4SGVpZ2h0O1xuICAgICAgICAgICAgc2V0SXNPdmVyZmxvd2luZyhpc092ZXIpO1xuICAgICAgICB9XG4gICAgfSwgW2Rlc2NyaXB0aW9uLCBtYXhMaW5lc10pO1xuXG4gICAgLy8g0J7QsdGA0LDQsdC+0YLRh9C40Log0LrQu9C40LrQvtCyINC/0L4g0YHRgdGL0LvQutCw0Lwg0YEg0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtdC8INC00LvRjyDQstC90LXRiNC90LjRhSDRgNC10YHRg9GA0YHQvtCyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgaGFuZGxlTGlua0NsaWNrID0gKGU6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgY29uc3QgbGluayA9IHRhcmdldC5jbG9zZXN0KFwiYVwiKTtcblxuICAgICAgICAgICAgaWYgKGxpbmspIHtcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgaHJlZiA9IGxpbmsuZ2V0QXR0cmlidXRlKFwiaHJlZlwiKTtcbiAgICAgICAgICAgICAgICBpZiAoIWhyZWYpIHJldHVybjtcblxuICAgICAgICAgICAgICAgIC8vINCf0YDQvtCy0LXRgNGP0LXQvCwg0Y/QstC70Y/QtdGC0YHRjyDQu9C4INGB0YHRi9C70LrQsCDQstC90LXRiNC90LXQuVxuICAgICAgICAgICAgICAgIGNvbnN0IGlzRXh0ZXJuYWwgPSBocmVmLnN0YXJ0c1dpdGgoXCJodHRwOi8vXCIpIHx8IGhyZWYuc3RhcnRzV2l0aChcImh0dHBzOi8vXCIpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGlzRXh0ZXJuYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRvbWFpbiA9IG5ldyBVUkwoaHJlZikuaG9zdG5hbWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb25maXJtZWQgPSBjb25maXJtKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGDQktGLINC/0LXRgNC10YXQvtC00LjRgtC1INC90LAg0LLQvdC10YjQvdC40Lkg0YDQtdGB0YPRgNGBOiAke2RvbWFpbn1cXG5cXG5gICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBg0KHRgdGL0LvQutCwOiAke2hyZWZ9XFxuXFxuYCArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYNCS0Ysg0YPQstC10YDQtdC90YssINGH0YLQviDRhdC+0YLQuNGC0LUg0L/QtdGA0LXQudGC0Lg/YFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb25maXJtZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cub3BlbihocmVmLCBcIl9ibGFua1wiLCBcIm5vb3BlbmVyLG5vcmVmZXJyZXJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93Lm9wZW4oaHJlZiwgXCJfYmxhbmtcIiwgXCJub29wZW5lcixub3JlZmVycmVyXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgd2luZG93Lm9wZW4oaHJlZiwgXCJfYmxhbmtcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSBjb250ZW50UmVmLmN1cnJlbnQ7XG4gICAgICAgIGlmIChjb250ZW50KSB7XG4gICAgICAgICAgICBjb250ZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBoYW5kbGVMaW5rQ2xpY2spO1xuICAgICAgICAgICAgcmV0dXJuICgpID0+IGNvbnRlbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIGhhbmRsZUxpbmtDbGljayk7XG4gICAgICAgIH1cbiAgICB9LCBbXSk7XG5cbiAgICBpZiAoIWRlc2NyaXB0aW9uKSByZXR1cm4gbnVsbDtcblxuICAgIC8vINCV0YHQu9C4INC+0L/QuNGB0LDQvdC40LUg0YHQvtC00LXRgNC20LjRgiBIVE1MINGC0LXQs9C4ICjQvtGCIFRpcHRhcCksINGA0LXQvdC00LXRgNC40Lwg0LrQsNC6IEhUTUxcbiAgICBjb25zdCBpc0h0bWwgPSBkZXNjcmlwdGlvbi5pbmNsdWRlcyhcIjxcIik7XG5cbiAgICBpZiAoaXNIdG1sKSB7XG4gICAgICAgIGNvbnN0IGxpbmVIZWlnaHQgPSAyMDtcbiAgICAgICAgY29uc3QgbWF4SGVpZ2h0ID0gbGluZUhlaWdodCAqIG1heExpbmVzO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggcHktMyBqdXN0aWZ5LXN0YXJ0IGl0ZW1zLXN0YXJ0XCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1tdXRlZC1mb3JlZ3JvdW5kIG1yLTQgd2hpdGVzcGFjZS1ub3dyYXBcIj7QntC/0LjRgdCw0L3QuNC1PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleC0xIG1pbi13LTBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtjb250ZW50UmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgdGV4dC1sZWZ0IHRleHQtc20gbGVhZGluZy1yZWxheGVkIHByb3NlIHByb3NlLXNtIG1heC13LW5vbmUgZGFyazpwcm9zZS1pbnZlcnQgb3ZlcmZsb3ctaGlkZGVuIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTIwMCAke2lzRXhwYW5kZWQgPyBcIm1heC1oLW5vbmVcIiA6IFwiXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4SGVpZ2h0OiBpc0V4cGFuZGVkID8gXCJub25lXCIgOiBgJHttYXhIZWlnaHR9cHhgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX19odG1sOiBkZXNjcmlwdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAge2lzT3ZlcmZsb3dpbmcgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJsaW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldElzRXhwYW5kZWQoIWlzRXhwYW5kZWQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm10LTIgaC1hdXRvIHAtMCB0ZXh0LWJsdWUtNjAwIGhvdmVyOnRleHQtYmx1ZS03MDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpc0V4cGFuZGVkID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0KHQstC10YDQvdGD0YLRjFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENoZXZyb25VcCBjbGFzc05hbWU9XCJtbC0xIGgtNCB3LTRcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0J/QvtC60LDQt9Cw0YLRjCDQv9C+0LvQvdC+0YHRgtGM0Y5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDaGV2cm9uRG93biBjbGFzc05hbWU9XCJtbC0xIGgtNCB3LTRcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyDQlNC70Y8g0YHRgtCw0YDRi9GFINC+0L/QuNGB0LDQvdC40Lkg0LHQtdC3IEhUTUwgKNC/0YDQvtGB0YLQvtC5INGC0LXQutGB0YIpXG4gICAgY29uc3QgbGluZXMgPSBkZXNjcmlwdGlvbi5zcGxpdCgnXFxuJyk7XG4gICAgY29uc3Qgc2hvdWxkU2hvd1Nwb2lsZXIgPSBsaW5lcy5sZW5ndGggPiBtYXhMaW5lcztcbiAgICBjb25zdCBkaXNwbGF5TGluZXMgPSBpc0V4cGFuZGVkID8gbGluZXMgOiBsaW5lcy5zbGljZSgwLCBtYXhMaW5lcyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggcHktMyBqdXN0aWZ5LXN0YXJ0IGl0ZW1zLXN0YXJ0XCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LW11dGVkLWZvcmVncm91bmQgbXItNCB3aGl0ZXNwYWNlLW5vd3JhcFwiPtCe0L/QuNGB0LDQvdC40LU8L3NwYW4+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXgtMSBtaW4tdy0wXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LWxlZnQgdGV4dC1zbSBsZWFkaW5nLXJlbGF4ZWQgd2hpdGVzcGFjZS1wcmUtd3JhcCBicmVhay13b3Jkc1wiPlxuICAgICAgICAgICAgICAgICAgICB7ZGlzcGxheUxpbmVzLmpvaW4oJ1xcbicpfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIHtzaG91bGRTaG93U3BvaWxlciAmJiAoXG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJsaW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRJc0V4cGFuZGVkKCFpc0V4cGFuZGVkKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm10LTIgaC1hdXRvIHAtMCB0ZXh0LWJsdWUtNjAwIGhvdmVyOnRleHQtYmx1ZS03MDBcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7aXNFeHBhbmRlZCA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQodCy0LXRgNC90YPRgtGMXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDaGV2cm9uVXAgY2xhc3NOYW1lPVwibWwtMSBoLTQgdy00XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0J/QvtC60LDQt9Cw0YLRjCDQv9C+0LvQvdC+0YHRgtGM0Y5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENoZXZyb25Eb3duIGNsYXNzTmFtZT1cIm1sLTEgaC00IHctNFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59XG4iXSwibmFtZXMiOlsidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJDaGV2cm9uRG93biIsIkNoZXZyb25VcCIsIkJ1dHRvbiIsIkRlc2NyaXB0aW9uVmlld2VyIiwiZGVzY3JpcHRpb24iLCJtYXhMaW5lcyIsImlzRXhwYW5kZWQiLCJzZXRJc0V4cGFuZGVkIiwiaXNPdmVyZmxvd2luZyIsInNldElzT3ZlcmZsb3dpbmciLCJjb250ZW50UmVmIiwiY3VycmVudCIsImxpbmVIZWlnaHQiLCJtYXhIZWlnaHQiLCJpc092ZXIiLCJzY3JvbGxIZWlnaHQiLCJoYW5kbGVMaW5rQ2xpY2siLCJlIiwidGFyZ2V0IiwibGluayIsImNsb3Nlc3QiLCJwcmV2ZW50RGVmYXVsdCIsImhyZWYiLCJnZXRBdHRyaWJ1dGUiLCJpc0V4dGVybmFsIiwic3RhcnRzV2l0aCIsImRvbWFpbiIsIlVSTCIsImhvc3RuYW1lIiwiY29uZmlybWVkIiwiY29uZmlybSIsIndpbmRvdyIsIm9wZW4iLCJjb250ZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJpc0h0bWwiLCJpbmNsdWRlcyIsImRpdiIsImNsYXNzTmFtZSIsInNwYW4iLCJyZWYiLCJzdHlsZSIsImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiX19odG1sIiwidmFyaWFudCIsInNpemUiLCJvbkNsaWNrIiwibGluZXMiLCJzcGxpdCIsInNob3VsZFNob3dTcG9pbGVyIiwibGVuZ3RoIiwiZGlzcGxheUxpbmVzIiwic2xpY2UiLCJqb2luIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/ui/description-viewer.tsx\n"));
/***/ })
});