UNPKG

decap-cms-core

Version:

Decap CMS core application, see decap-cms package for the main distribution.

198 lines (192 loc) 27.8 kB
import _styled from "@emotion/styled/base"; import React from 'react'; import PropTypes from 'prop-types'; import { translate } from 'react-polyglot'; import yaml from 'yaml'; import truncate from 'lodash/truncate'; import { localForage } from 'decap-cms-lib-util'; import { buttons, colors } from 'decap-cms-ui-default'; import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "@emotion/react/jsx-runtime"; const ISSUE_URL = 'https://github.com/decaporg/decap-cms/issues/new'; function getIssueTemplate({ version, provider, browser, config }) { return ` **Describe the bug** **To Reproduce** **Expected behavior** **Screenshots** **Applicable Versions:** - Decap CMS version: \`${version}\` - Git provider: \`${provider}\` - Browser version: \`${browser}\` **CMS configuration** \`\`\` ${config} \`\`\` **Additional context** `; } function buildIssueTemplate({ config }) { let version = ''; if (typeof DECAP_CMS_VERSION === 'string') { version = `decap-cms@${DECAP_CMS_VERSION}`; } else if (typeof "3.15.1" === 'string') { version = `decap-cms-app@${"3.15.1"}`; } const template = getIssueTemplate({ version, provider: config.backend.name, browser: navigator.userAgent, config: yaml.stringify(config) }); return template; } function buildIssueUrl({ title, config }) { const issueUrl = config?.issue_reports?.url ?? ISSUE_URL; try { const body = buildIssueTemplate({ config }); const params = new URLSearchParams(); params.append('title', truncate(title, { length: 100 })); params.append('body', truncate(body, { length: 4000, omission: '\n...' })); params.append('labels', 'type: bug'); return `${issueUrl}?${params.toString()}`; } catch (e) { console.log(e); return `${issueUrl}?template=bug_report.md`; } } const ErrorBoundaryContainer = /*#__PURE__*/_styled("div", { target: "emw4gx72", label: "ErrorBoundaryContainer" })("padding:40px;h1{font-size:28px;color:", colors.text, ";}h2{font-size:20px;}strong{color:", colors.textLead, ";font-weight:500;}hr{width:200px;margin:30px 0;border:0;height:1px;background-color:", colors.text, ";}a{color:", colors.active, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1VJL0Vycm9yQm91bmRhcnkuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcUV5QyIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9VSS9FcnJvckJvdW5kYXJ5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeWFtbCBmcm9tICd5YW1sJztcbmltcG9ydCB0cnVuY2F0ZSBmcm9tICdsb2Rhc2gvdHJ1bmNhdGUnO1xuaW1wb3J0IHsgbG9jYWxGb3JhZ2UgfSBmcm9tICdkZWNhcC1jbXMtbGliLXV0aWwnO1xuaW1wb3J0IHsgYnV0dG9ucywgY29sb3JzIH0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5jb25zdCBJU1NVRV9VUkwgPSAnaHR0cHM6Ly9naXRodWIuY29tL2RlY2Fwb3JnL2RlY2FwLWNtcy9pc3N1ZXMvbmV3JztcblxuZnVuY3Rpb24gZ2V0SXNzdWVUZW1wbGF0ZSh7IHZlcnNpb24sIHByb3ZpZGVyLCBicm93c2VyLCBjb25maWcgfSkge1xuICByZXR1cm4gYFxuKipEZXNjcmliZSB0aGUgYnVnKipcblxuKipUbyBSZXByb2R1Y2UqKlxuXG4qKkV4cGVjdGVkIGJlaGF2aW9yKipcblxuKipTY3JlZW5zaG90cyoqXG5cbioqQXBwbGljYWJsZSBWZXJzaW9uczoqKlxuIC0gRGVjYXAgQ01TIHZlcnNpb246IFxcYCR7dmVyc2lvbn1cXGBcbiAtIEdpdCBwcm92aWRlcjogXFxgJHtwcm92aWRlcn1cXGBcbiAtIEJyb3dzZXIgdmVyc2lvbjogXFxgJHticm93c2VyfVxcYFxuXG4qKkNNUyBjb25maWd1cmF0aW9uKipcblxcYFxcYFxcYFxuJHtjb25maWd9XG5cXGBcXGBcXGBcblxuKipBZGRpdGlvbmFsIGNvbnRleHQqKlxuYDtcbn1cblxuZnVuY3Rpb24gYnVpbGRJc3N1ZVRlbXBsYXRlKHsgY29uZmlnIH0pIHtcbiAgbGV0IHZlcnNpb24gPSAnJztcbiAgaWYgKHR5cGVvZiBERUNBUF9DTVNfVkVSU0lPTiA9PT0gJ3N0cmluZycpIHtcbiAgICB2ZXJzaW9uID0gYGRlY2FwLWNtc0Ake0RFQ0FQX0NNU19WRVJTSU9OfWA7XG4gIH0gZWxzZSBpZiAodHlwZW9mIERFQ0FQX0NNU19BUFBfVkVSU0lPTiA9PT0gJ3N0cmluZycpIHtcbiAgICB2ZXJzaW9uID0gYGRlY2FwLWNtcy1hcHBAJHtERUNBUF9DTVNfQVBQX1ZFUlNJT059YDtcbiAgfVxuICBjb25zdCB0ZW1wbGF0ZSA9IGdldElzc3VlVGVtcGxhdGUoe1xuICAgIHZlcnNpb24sXG4gICAgcHJvdmlkZXI6IGNvbmZpZy5iYWNrZW5kLm5hbWUsXG4gICAgYnJvd3NlcjogbmF2aWdhdG9yLnVzZXJBZ2VudCxcbiAgICBjb25maWc6IHlhbWwuc3RyaW5naWZ5KGNvbmZpZyksXG4gIH0pO1xuXG4gIHJldHVybiB0ZW1wbGF0ZTtcbn1cblxuZnVuY3Rpb24gYnVpbGRJc3N1ZVVybCh7IHRpdGxlLCBjb25maWcgfSkge1xuICBjb25zdCBpc3N1ZVVybCA9IGNvbmZpZz8uaXNzdWVfcmVwb3J0cz8udXJsID8/IElTU1VFX1VSTDtcbiAgdHJ5IHtcbiAgICBjb25zdCBib2R5ID0gYnVpbGRJc3N1ZVRlbXBsYXRlKHsgY29uZmlnIH0pO1xuXG4gICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xuICAgIHBhcmFtcy5hcHBlbmQoJ3RpdGxlJywgdHJ1bmNhdGUodGl0bGUsIHsgbGVuZ3RoOiAxMDAgfSkpO1xuICAgIHBhcmFtcy5hcHBlbmQoJ2JvZHknLCB0cnVuY2F0ZShib2R5LCB7IGxlbmd0aDogNDAwMCwgb21pc3Npb246ICdcXG4uLi4nIH0pKTtcbiAgICBwYXJhbXMuYXBwZW5kKCdsYWJlbHMnLCAndHlwZTogYnVnJyk7XG5cbiAgICByZXR1cm4gYCR7aXNzdWVVcmx9PyR7cGFyYW1zLnRvU3RyaW5nKCl9YDtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUubG9nKGUpO1xuICAgIHJldHVybiBgJHtpc3N1ZVVybH0/dGVtcGxhdGU9YnVnX3JlcG9ydC5tZGA7XG4gIH1cbn1cblxuY29uc3QgRXJyb3JCb3VuZGFyeUNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDQwcHg7XG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIH1cblxuICBoMiB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG5cbiAgc3Ryb25nIHtcbiAgICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cblxuICBociB7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbjogMzBweCAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy50ZXh0fTtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICB9XG5gO1xuXG5jb25zdCBQcml2YWN5V2FybmluZyA9IHN0eWxlZC5zcGFuYFxuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG5gO1xuXG5jb25zdCBDb3B5QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgJHtidXR0b25zLmJ1dHRvbn07XG4gICR7YnV0dG9ucy5kZWZhdWx0fTtcbiAgJHtidXR0b25zLmdyYXl9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAxMnB4IDA7XG5gO1xuXG5mdW5jdGlvbiBSZWNvdmVyZWRFbnRyeSh7IGVudHJ5LCB0IH0pIHtcbiAgY29uc29sZS5sb2coZW50cnkpO1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8aHIgLz5cbiAgICAgIDxoMj57dCgndWkuZXJyb3JCb3VuZGFyeS5yZWNvdmVyZWRFbnRyeS5oZWFkaW5nJyl9PC9oMj5cbiAgICAgIDxzdHJvbmc+e3QoJ3VpLmVycm9yQm91bmRhcnkucmVjb3ZlcmVkRW50cnkud2FybmluZycpfTwvc3Ryb25nPlxuICAgICAgPENvcHlCdXR0b24gb25DbGljaz17KCkgPT4gbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoZW50cnkpfT5cbiAgICAgICAge3QoJ3VpLmVycm9yQm91bmRhcnkucmVjb3ZlcmVkRW50cnkuY29weUJ1dHRvbkxhYmVsJyl9XG4gICAgICA8L0NvcHlCdXR0b24+XG4gICAgICA8cHJlPlxuICAgICAgICA8Y29kZT57ZW50cnl9PC9jb2RlPlxuICAgICAgPC9wcmU+XG4gICAgPC8+XG4gICk7XG59XG5cbmV4cG9ydCBjbGFzcyBFcnJvckJvdW5kYXJ5IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGUsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBjb25maWc6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBzdGF0ZSA9IHtcbiAgICBoYXNFcnJvcjogZmFsc2UsXG4gICAgZXJyb3JNZXNzYWdlOiAnJyxcbiAgICBlcnJvclRpdGxlOiAnJyxcbiAgICBiYWNrdXA6ICcnLFxuICB9O1xuXG4gIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICByZXR1cm4ge1xuICAgICAgaGFzRXJyb3I6IHRydWUsXG4gICAgICBlcnJvck1lc3NhZ2U6IGVycm9yLnN0YWNrIHx8IGVycm9yLnRvU3RyaW5nKCksXG4gICAgICBlcnJvclRpdGxlOiBlcnJvci50b1N0cmluZygpLFxuICAgIH07XG4gIH1cblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAvLyBNYW51YWxseSB2YWxpZGF0ZSBQcm9wVHlwZXMgLSBSZWFjdCAxOSBicmVha2luZyBjaGFuZ2VcbiAgICBQcm9wVHlwZXMuY2hlY2tQcm9wVHlwZXMoRXJyb3JCb3VuZGFyeS5wcm9wVHlwZXMsIHRoaXMucHJvcHMsICdwcm9wJywgJ0Vycm9yQm91bmRhcnknKTtcbiAgfVxuXG4gIHNob3VsZENvbXBvbmVudFVwZGF0ZShuZXh0UHJvcHMsIG5leHRTdGF0ZSkge1xuICAgIGlmICh0aGlzLnByb3BzLnNob3dCYWNrdXApIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHRoaXMuc3RhdGUuZXJyb3JNZXNzYWdlICE9PSBuZXh0U3RhdGUuZXJyb3JNZXNzYWdlIHx8IHRoaXMuc3RhdGUuYmFja3VwICE9PSBuZXh0U3RhdGUuYmFja3VwXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGFzeW5jIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICBpZiAodGhpcy5wcm9wcy5zaG93QmFja3VwKSB7XG4gICAgICBjb25zdCBiYWNrdXAgPSBhd2FpdCBsb2NhbEZvcmFnZS5nZXRJdGVtKCdiYWNrdXAnKTtcbiAgICAgIGJhY2t1cCAmJiBjb25zb2xlLmxvZyhiYWNrdXApO1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGJhY2t1cCB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBoYXNFcnJvciwgZXJyb3JNZXNzYWdlLCBiYWNrdXAsIGVycm9yVGl0bGUgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBzaG93QmFja3VwLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaGFzRXJyb3IpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLmNoaWxkcmVuO1xuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgPEVycm9yQm91bmRhcnlDb250YWluZXI+XG4gICAgICAgIDxoMT57dCgndWkuZXJyb3JCb3VuZGFyeS50aXRsZScpfTwvaDE+XG4gICAgICAgIDxwPlxuICAgICAgICAgIDxzcGFuPnt0KCd1aS5lcnJvckJvdW5kYXJ5LmRldGFpbHMnKX08L3NwYW4+XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIGhyZWY9e2J1aWxkSXNzdWVVcmwoeyB0aXRsZTogZXJyb3JUaXRsZSwgY29uZmlnOiB0aGlzLnByb3BzLmNvbmZpZyB9KX1cbiAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiaXNzdWUtdXJsXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7dCgndWkuZXJyb3JCb3VuZGFyeS5yZXBvcnRJdCcpfVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9wPlxuICAgICAgICA8cD5cbiAgICAgICAgICB7dCgndWkuZXJyb3JCb3VuZGFyeS5wcml2YWN5V2FybmluZycpXG4gICAgICAgICAgICAuc3BsaXQoJ1xcbicpXG4gICAgICAgICAgICAubWFwKChpdGVtLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIDxQcml2YWN5V2FybmluZyBrZXk9e2luZGV4fT57aXRlbX08L1ByaXZhY3lXYXJuaW5nPlxuICAgICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICkpfVxuICAgICAgICA8L3A+XG4gICAgICAgIDxociAvPlxuICAgICAgICA8aDI+e3QoJ3VpLmVycm9yQm91bmRhcnkuZGV0YWlsc0hlYWRpbmcnKX08L2gyPlxuICAgICAgICA8cD57ZXJyb3JNZXNzYWdlfTwvcD5cbiAgICAgICAge2JhY2t1cCAmJiBzaG93QmFja3VwICYmIDxSZWNvdmVyZWRFbnRyeSBlbnRyeT17YmFja3VwfSB0PXt0fSAvPn1cbiAgICAgIDwvRXJyb3JCb3VuZGFyeUNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVycm9yQm91bmRhcnkpO1xuIl19 */")); const PrivacyWarning = /*#__PURE__*/_styled("span", { target: "emw4gx71", label: "PrivacyWarning" })("color:", colors.text, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1VJL0Vycm9yQm91bmRhcnkuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUdrQyIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9VSS9FcnJvckJvdW5kYXJ5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeWFtbCBmcm9tICd5YW1sJztcbmltcG9ydCB0cnVuY2F0ZSBmcm9tICdsb2Rhc2gvdHJ1bmNhdGUnO1xuaW1wb3J0IHsgbG9jYWxGb3JhZ2UgfSBmcm9tICdkZWNhcC1jbXMtbGliLXV0aWwnO1xuaW1wb3J0IHsgYnV0dG9ucywgY29sb3JzIH0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5jb25zdCBJU1NVRV9VUkwgPSAnaHR0cHM6Ly9naXRodWIuY29tL2RlY2Fwb3JnL2RlY2FwLWNtcy9pc3N1ZXMvbmV3JztcblxuZnVuY3Rpb24gZ2V0SXNzdWVUZW1wbGF0ZSh7IHZlcnNpb24sIHByb3ZpZGVyLCBicm93c2VyLCBjb25maWcgfSkge1xuICByZXR1cm4gYFxuKipEZXNjcmliZSB0aGUgYnVnKipcblxuKipUbyBSZXByb2R1Y2UqKlxuXG4qKkV4cGVjdGVkIGJlaGF2aW9yKipcblxuKipTY3JlZW5zaG90cyoqXG5cbioqQXBwbGljYWJsZSBWZXJzaW9uczoqKlxuIC0gRGVjYXAgQ01TIHZlcnNpb246IFxcYCR7dmVyc2lvbn1cXGBcbiAtIEdpdCBwcm92aWRlcjogXFxgJHtwcm92aWRlcn1cXGBcbiAtIEJyb3dzZXIgdmVyc2lvbjogXFxgJHticm93c2VyfVxcYFxuXG4qKkNNUyBjb25maWd1cmF0aW9uKipcblxcYFxcYFxcYFxuJHtjb25maWd9XG5cXGBcXGBcXGBcblxuKipBZGRpdGlvbmFsIGNvbnRleHQqKlxuYDtcbn1cblxuZnVuY3Rpb24gYnVpbGRJc3N1ZVRlbXBsYXRlKHsgY29uZmlnIH0pIHtcbiAgbGV0IHZlcnNpb24gPSAnJztcbiAgaWYgKHR5cGVvZiBERUNBUF9DTVNfVkVSU0lPTiA9PT0gJ3N0cmluZycpIHtcbiAgICB2ZXJzaW9uID0gYGRlY2FwLWNtc0Ake0RFQ0FQX0NNU19WRVJTSU9OfWA7XG4gIH0gZWxzZSBpZiAodHlwZW9mIERFQ0FQX0NNU19BUFBfVkVSU0lPTiA9PT0gJ3N0cmluZycpIHtcbiAgICB2ZXJzaW9uID0gYGRlY2FwLWNtcy1hcHBAJHtERUNBUF9DTVNfQVBQX1ZFUlNJT059YDtcbiAgfVxuICBjb25zdCB0ZW1wbGF0ZSA9IGdldElzc3VlVGVtcGxhdGUoe1xuICAgIHZlcnNpb24sXG4gICAgcHJvdmlkZXI6IGNvbmZpZy5iYWNrZW5kLm5hbWUsXG4gICAgYnJvd3NlcjogbmF2aWdhdG9yLnVzZXJBZ2VudCxcbiAgICBjb25maWc6IHlhbWwuc3RyaW5naWZ5KGNvbmZpZyksXG4gIH0pO1xuXG4gIHJldHVybiB0ZW1wbGF0ZTtcbn1cblxuZnVuY3Rpb24gYnVpbGRJc3N1ZVVybCh7IHRpdGxlLCBjb25maWcgfSkge1xuICBjb25zdCBpc3N1ZVVybCA9IGNvbmZpZz8uaXNzdWVfcmVwb3J0cz8udXJsID8/IElTU1VFX1VSTDtcbiAgdHJ5IHtcbiAgICBjb25zdCBib2R5ID0gYnVpbGRJc3N1ZVRlbXBsYXRlKHsgY29uZmlnIH0pO1xuXG4gICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xuICAgIHBhcmFtcy5hcHBlbmQoJ3RpdGxlJywgdHJ1bmNhdGUodGl0bGUsIHsgbGVuZ3RoOiAxMDAgfSkpO1xuICAgIHBhcmFtcy5hcHBlbmQoJ2JvZHknLCB0cnVuY2F0ZShib2R5LCB7IGxlbmd0aDogNDAwMCwgb21pc3Npb246ICdcXG4uLi4nIH0pKTtcbiAgICBwYXJhbXMuYXBwZW5kKCdsYWJlbHMnLCAndHlwZTogYnVnJyk7XG5cbiAgICByZXR1cm4gYCR7aXNzdWVVcmx9PyR7cGFyYW1zLnRvU3RyaW5nKCl9YDtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUubG9nKGUpO1xuICAgIHJldHVybiBgJHtpc3N1ZVVybH0/dGVtcGxhdGU9YnVnX3JlcG9ydC5tZGA7XG4gIH1cbn1cblxuY29uc3QgRXJyb3JCb3VuZGFyeUNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDQwcHg7XG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIH1cblxuICBoMiB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG5cbiAgc3Ryb25nIHtcbiAgICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cblxuICBociB7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbjogMzBweCAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy50ZXh0fTtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICB9XG5gO1xuXG5jb25zdCBQcml2YWN5V2FybmluZyA9IHN0eWxlZC5zcGFuYFxuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG5gO1xuXG5jb25zdCBDb3B5QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgJHtidXR0b25zLmJ1dHRvbn07XG4gICR7YnV0dG9ucy5kZWZhdWx0fTtcbiAgJHtidXR0b25zLmdyYXl9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAxMnB4IDA7XG5gO1xuXG5mdW5jdGlvbiBSZWNvdmVyZWRFbnRyeSh7IGVudHJ5LCB0IH0pIHtcbiAgY29uc29sZS5sb2coZW50cnkpO1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8aHIgLz5cbiAgICAgIDxoMj57dCgndWkuZXJyb3JCb3VuZGFyeS5yZWNvdmVyZWRFbnRyeS5oZWFkaW5nJyl9PC9oMj5cbiAgICAgIDxzdHJvbmc+e3QoJ3VpLmVycm9yQm91bmRhcnkucmVjb3ZlcmVkRW50cnkud2FybmluZycpfTwvc3Ryb25nPlxuICAgICAgPENvcHlCdXR0b24gb25DbGljaz17KCkgPT4gbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoZW50cnkpfT5cbiAgICAgICAge3QoJ3VpLmVycm9yQm91bmRhcnkucmVjb3ZlcmVkRW50cnkuY29weUJ1dHRvbkxhYmVsJyl9XG4gICAgICA8L0NvcHlCdXR0b24+XG4gICAgICA8cHJlPlxuICAgICAgICA8Y29kZT57ZW50cnl9PC9jb2RlPlxuICAgICAgPC9wcmU+XG4gICAgPC8+XG4gICk7XG59XG5cbmV4cG9ydCBjbGFzcyBFcnJvckJvdW5kYXJ5IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGUsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBjb25maWc6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBzdGF0ZSA9IHtcbiAgICBoYXNFcnJvcjogZmFsc2UsXG4gICAgZXJyb3JNZXNzYWdlOiAnJyxcbiAgICBlcnJvclRpdGxlOiAnJyxcbiAgICBiYWNrdXA6ICcnLFxuICB9O1xuXG4gIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICByZXR1cm4ge1xuICAgICAgaGFzRXJyb3I6IHRydWUsXG4gICAgICBlcnJvck1lc3NhZ2U6IGVycm9yLnN0YWNrIHx8IGVycm9yLnRvU3RyaW5nKCksXG4gICAgICBlcnJvclRpdGxlOiBlcnJvci50b1N0cmluZygpLFxuICAgIH07XG4gIH1cblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAvLyBNYW51YWxseSB2YWxpZGF0ZSBQcm9wVHlwZXMgLSBSZWFjdCAxOSBicmVha2luZyBjaGFuZ2VcbiAgICBQcm9wVHlwZXMuY2hlY2tQcm9wVHlwZXMoRXJyb3JCb3VuZGFyeS5wcm9wVHlwZXMsIHRoaXMucHJvcHMsICdwcm9wJywgJ0Vycm9yQm91bmRhcnknKTtcbiAgfVxuXG4gIHNob3VsZENvbXBvbmVudFVwZGF0ZShuZXh0UHJvcHMsIG5leHRTdGF0ZSkge1xuICAgIGlmICh0aGlzLnByb3BzLnNob3dCYWNrdXApIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHRoaXMuc3RhdGUuZXJyb3JNZXNzYWdlICE9PSBuZXh0U3RhdGUuZXJyb3JNZXNzYWdlIHx8IHRoaXMuc3RhdGUuYmFja3VwICE9PSBuZXh0U3RhdGUuYmFja3VwXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGFzeW5jIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICBpZiAodGhpcy5wcm9wcy5zaG93QmFja3VwKSB7XG4gICAgICBjb25zdCBiYWNrdXAgPSBhd2FpdCBsb2NhbEZvcmFnZS5nZXRJdGVtKCdiYWNrdXAnKTtcbiAgICAgIGJhY2t1cCAmJiBjb25zb2xlLmxvZyhiYWNrdXApO1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGJhY2t1cCB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBoYXNFcnJvciwgZXJyb3JNZXNzYWdlLCBiYWNrdXAsIGVycm9yVGl0bGUgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBzaG93QmFja3VwLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaGFzRXJyb3IpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLmNoaWxkcmVuO1xuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgPEVycm9yQm91bmRhcnlDb250YWluZXI+XG4gICAgICAgIDxoMT57dCgndWkuZXJyb3JCb3VuZGFyeS50aXRsZScpfTwvaDE+XG4gICAgICAgIDxwPlxuICAgICAgICAgIDxzcGFuPnt0KCd1aS5lcnJvckJvdW5kYXJ5LmRldGFpbHMnKX08L3NwYW4+XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIGhyZWY9e2J1aWxkSXNzdWVVcmwoeyB0aXRsZTogZXJyb3JUaXRsZSwgY29uZmlnOiB0aGlzLnByb3BzLmNvbmZpZyB9KX1cbiAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiaXNzdWUtdXJsXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7dCgndWkuZXJyb3JCb3VuZGFyeS5yZXBvcnRJdCcpfVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9wPlxuICAgICAgICA8cD5cbiAgICAgICAgICB7dCgndWkuZXJyb3JCb3VuZGFyeS5wcml2YWN5V2FybmluZycpXG4gICAgICAgICAgICAuc3BsaXQoJ1xcbicpXG4gICAgICAgICAgICAubWFwKChpdGVtLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIDxQcml2YWN5V2FybmluZyBrZXk9e2luZGV4fT57aXRlbX08L1ByaXZhY3lXYXJuaW5nPlxuICAgICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICkpfVxuICAgICAgICA8L3A+XG4gICAgICAgIDxociAvPlxuICAgICAgICA8aDI+e3QoJ3VpLmVycm9yQm91bmRhcnkuZGV0YWlsc0hlYWRpbmcnKX08L2gyPlxuICAgICAgICA8cD57ZXJyb3JNZXNzYWdlfTwvcD5cbiAgICAgICAge2JhY2t1cCAmJiBzaG93QmFja3VwICYmIDxSZWNvdmVyZWRFbnRyeSBlbnRyeT17YmFja3VwfSB0PXt0fSAvPn1cbiAgICAgIDwvRXJyb3JCb3VuZGFyeUNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVycm9yQm91bmRhcnkpO1xuIl19 */")); const CopyButton = /*#__PURE__*/_styled("button", { target: "emw4gx70", label: "CopyButton" })(buttons.button, ";", buttons.default, ";", buttons.gray, ";display:block;margin:12px 0;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1VJL0Vycm9yQm91bmRhcnkuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUdnQyIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9VSS9FcnJvckJvdW5kYXJ5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeWFtbCBmcm9tICd5YW1sJztcbmltcG9ydCB0cnVuY2F0ZSBmcm9tICdsb2Rhc2gvdHJ1bmNhdGUnO1xuaW1wb3J0IHsgbG9jYWxGb3JhZ2UgfSBmcm9tICdkZWNhcC1jbXMtbGliLXV0aWwnO1xuaW1wb3J0IHsgYnV0dG9ucywgY29sb3JzIH0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5jb25zdCBJU1NVRV9VUkwgPSAnaHR0cHM6Ly9naXRodWIuY29tL2RlY2Fwb3JnL2RlY2FwLWNtcy9pc3N1ZXMvbmV3JztcblxuZnVuY3Rpb24gZ2V0SXNzdWVUZW1wbGF0ZSh7IHZlcnNpb24sIHByb3ZpZGVyLCBicm93c2VyLCBjb25maWcgfSkge1xuICByZXR1cm4gYFxuKipEZXNjcmliZSB0aGUgYnVnKipcblxuKipUbyBSZXByb2R1Y2UqKlxuXG4qKkV4cGVjdGVkIGJlaGF2aW9yKipcblxuKipTY3JlZW5zaG90cyoqXG5cbioqQXBwbGljYWJsZSBWZXJzaW9uczoqKlxuIC0gRGVjYXAgQ01TIHZlcnNpb246IFxcYCR7dmVyc2lvbn1cXGBcbiAtIEdpdCBwcm92aWRlcjogXFxgJHtwcm92aWRlcn1cXGBcbiAtIEJyb3dzZXIgdmVyc2lvbjogXFxgJHticm93c2VyfVxcYFxuXG4qKkNNUyBjb25maWd1cmF0aW9uKipcblxcYFxcYFxcYFxuJHtjb25maWd9XG5cXGBcXGBcXGBcblxuKipBZGRpdGlvbmFsIGNvbnRleHQqKlxuYDtcbn1cblxuZnVuY3Rpb24gYnVpbGRJc3N1ZVRlbXBsYXRlKHsgY29uZmlnIH0pIHtcbiAgbGV0IHZlcnNpb24gPSAnJztcbiAgaWYgKHR5cGVvZiBERUNBUF9DTVNfVkVSU0lPTiA9PT0gJ3N0cmluZycpIHtcbiAgICB2ZXJzaW9uID0gYGRlY2FwLWNtc0Ake0RFQ0FQX0NNU19WRVJTSU9OfWA7XG4gIH0gZWxzZSBpZiAodHlwZW9mIERFQ0FQX0NNU19BUFBfVkVSU0lPTiA9PT0gJ3N0cmluZycpIHtcbiAgICB2ZXJzaW9uID0gYGRlY2FwLWNtcy1hcHBAJHtERUNBUF9DTVNfQVBQX1ZFUlNJT059YDtcbiAgfVxuICBjb25zdCB0ZW1wbGF0ZSA9IGdldElzc3VlVGVtcGxhdGUoe1xuICAgIHZlcnNpb24sXG4gICAgcHJvdmlkZXI6IGNvbmZpZy5iYWNrZW5kLm5hbWUsXG4gICAgYnJvd3NlcjogbmF2aWdhdG9yLnVzZXJBZ2VudCxcbiAgICBjb25maWc6IHlhbWwuc3RyaW5naWZ5KGNvbmZpZyksXG4gIH0pO1xuXG4gIHJldHVybiB0ZW1wbGF0ZTtcbn1cblxuZnVuY3Rpb24gYnVpbGRJc3N1ZVVybCh7IHRpdGxlLCBjb25maWcgfSkge1xuICBjb25zdCBpc3N1ZVVybCA9IGNvbmZpZz8uaXNzdWVfcmVwb3J0cz8udXJsID8/IElTU1VFX1VSTDtcbiAgdHJ5IHtcbiAgICBjb25zdCBib2R5ID0gYnVpbGRJc3N1ZVRlbXBsYXRlKHsgY29uZmlnIH0pO1xuXG4gICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xuICAgIHBhcmFtcy5hcHBlbmQoJ3RpdGxlJywgdHJ1bmNhdGUodGl0bGUsIHsgbGVuZ3RoOiAxMDAgfSkpO1xuICAgIHBhcmFtcy5hcHBlbmQoJ2JvZHknLCB0cnVuY2F0ZShib2R5LCB7IGxlbmd0aDogNDAwMCwgb21pc3Npb246ICdcXG4uLi4nIH0pKTtcbiAgICBwYXJhbXMuYXBwZW5kKCdsYWJlbHMnLCAndHlwZTogYnVnJyk7XG5cbiAgICByZXR1cm4gYCR7aXNzdWVVcmx9PyR7cGFyYW1zLnRvU3RyaW5nKCl9YDtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUubG9nKGUpO1xuICAgIHJldHVybiBgJHtpc3N1ZVVybH0/dGVtcGxhdGU9YnVnX3JlcG9ydC5tZGA7XG4gIH1cbn1cblxuY29uc3QgRXJyb3JCb3VuZGFyeUNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDQwcHg7XG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIH1cblxuICBoMiB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG5cbiAgc3Ryb25nIHtcbiAgICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cblxuICBociB7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbjogMzBweCAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy50ZXh0fTtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICB9XG5gO1xuXG5jb25zdCBQcml2YWN5V2FybmluZyA9IHN0eWxlZC5zcGFuYFxuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG5gO1xuXG5jb25zdCBDb3B5QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgJHtidXR0b25zLmJ1dHRvbn07XG4gICR7YnV0dG9ucy5kZWZhdWx0fTtcbiAgJHtidXR0b25zLmdyYXl9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAxMnB4IDA7XG5gO1xuXG5mdW5jdGlvbiBSZWNvdmVyZWRFbnRyeSh7IGVudHJ5LCB0IH0pIHtcbiAgY29uc29sZS5sb2coZW50cnkpO1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8aHIgLz5cbiAgICAgIDxoMj57dCgndWkuZXJyb3JCb3VuZGFyeS5yZWNvdmVyZWRFbnRyeS5oZWFkaW5nJyl9PC9oMj5cbiAgICAgIDxzdHJvbmc+e3QoJ3VpLmVycm9yQm91bmRhcnkucmVjb3ZlcmVkRW50cnkud2FybmluZycpfTwvc3Ryb25nPlxuICAgICAgPENvcHlCdXR0b24gb25DbGljaz17KCkgPT4gbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoZW50cnkpfT5cbiAgICAgICAge3QoJ3VpLmVycm9yQm91bmRhcnkucmVjb3ZlcmVkRW50cnkuY29weUJ1dHRvbkxhYmVsJyl9XG4gICAgICA8L0NvcHlCdXR0b24+XG4gICAgICA8cHJlPlxuICAgICAgICA8Y29kZT57ZW50cnl9PC9jb2RlPlxuICAgICAgPC9wcmU+XG4gICAgPC8+XG4gICk7XG59XG5cbmV4cG9ydCBjbGFzcyBFcnJvckJvdW5kYXJ5IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGUsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBjb25maWc6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBzdGF0ZSA9IHtcbiAgICBoYXNFcnJvcjogZmFsc2UsXG4gICAgZXJyb3JNZXNzYWdlOiAnJyxcbiAgICBlcnJvclRpdGxlOiAnJyxcbiAgICBiYWNrdXA6ICcnLFxuICB9O1xuXG4gIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICByZXR1cm4ge1xuICAgICAgaGFzRXJyb3I6IHRydWUsXG4gICAgICBlcnJvck1lc3NhZ2U6IGVycm9yLnN0YWNrIHx8IGVycm9yLnRvU3RyaW5nKCksXG4gICAgICBlcnJvclRpdGxlOiBlcnJvci50b1N0cmluZygpLFxuICAgIH07XG4gIH1cblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAvLyBNYW51YWxseSB2YWxpZGF0ZSBQcm9wVHlwZXMgLSBSZWFjdCAxOSBicmVha2luZyBjaGFuZ2VcbiAgICBQcm9wVHlwZXMuY2hlY2tQcm9wVHlwZXMoRXJyb3JCb3VuZGFyeS5wcm9wVHlwZXMsIHRoaXMucHJvcHMsICdwcm9wJywgJ0Vycm9yQm91bmRhcnknKTtcbiAgfVxuXG4gIHNob3VsZENvbXBvbmVudFVwZGF0ZShuZXh0UHJvcHMsIG5leHRTdGF0ZSkge1xuICAgIGlmICh0aGlzLnByb3BzLnNob3dCYWNrdXApIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHRoaXMuc3RhdGUuZXJyb3JNZXNzYWdlICE9PSBuZXh0U3RhdGUuZXJyb3JNZXNzYWdlIHx8IHRoaXMuc3RhdGUuYmFja3VwICE9PSBuZXh0U3RhdGUuYmFja3VwXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGFzeW5jIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICBpZiAodGhpcy5wcm9wcy5zaG93QmFja3VwKSB7XG4gICAgICBjb25zdCBiYWNrdXAgPSBhd2FpdCBsb2NhbEZvcmFnZS5nZXRJdGVtKCdiYWNrdXAnKTtcbiAgICAgIGJhY2t1cCAmJiBjb25zb2xlLmxvZyhiYWNrdXApO1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGJhY2t1cCB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBoYXNFcnJvciwgZXJyb3JNZXNzYWdlLCBiYWNrdXAsIGVycm9yVGl0bGUgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBzaG93QmFja3VwLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaGFzRXJyb3IpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLmNoaWxkcmVuO1xuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgPEVycm9yQm91bmRhcnlDb250YWluZXI+XG4gICAgICAgIDxoMT57dCgndWkuZXJyb3JCb3VuZGFyeS50aXRsZScpfTwvaDE+XG4gICAgICAgIDxwPlxuICAgICAgICAgIDxzcGFuPnt0KCd1aS5lcnJvckJvdW5kYXJ5LmRldGFpbHMnKX08L3NwYW4+XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIGhyZWY9e2J1aWxkSXNzdWVVcmwoeyB0aXRsZTogZXJyb3JUaXRsZSwgY29uZmlnOiB0aGlzLnByb3BzLmNvbmZpZyB9KX1cbiAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiaXNzdWUtdXJsXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7dCgndWkuZXJyb3JCb3VuZGFyeS5yZXBvcnRJdCcpfVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9wPlxuICAgICAgICA8cD5cbiAgICAgICAgICB7dCgndWkuZXJyb3JCb3VuZGFyeS5wcml2YWN5V2FybmluZycpXG4gICAgICAgICAgICAuc3BsaXQoJ1xcbicpXG4gICAgICAgICAgICAubWFwKChpdGVtLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIDxQcml2YWN5V2FybmluZyBrZXk9e2luZGV4fT57aXRlbX08L1ByaXZhY3lXYXJuaW5nPlxuICAgICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICkpfVxuICAgICAgICA8L3A+XG4gICAgICAgIDxociAvPlxuICAgICAgICA8aDI+e3QoJ3VpLmVycm9yQm91bmRhcnkuZGV0YWlsc0hlYWRpbmcnKX08L2gyPlxuICAgICAgICA8cD57ZXJyb3JNZXNzYWdlfTwvcD5cbiAgICAgICAge2JhY2t1cCAmJiBzaG93QmFja3VwICYmIDxSZWNvdmVyZWRFbnRyeSBlbnRyeT17YmFja3VwfSB0PXt0fSAvPn1cbiAgICAgIDwvRXJyb3JCb3VuZGFyeUNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVycm9yQm91bmRhcnkpO1xuIl19 */")); function RecoveredEntry({ entry, t }) { console.log(entry); return _jsxs(_Fragment, { children: [_jsx("hr", {}), _jsx("h2", { children: t('ui.errorBoundary.recoveredEntry.heading') }), _jsx("strong", { children: t('ui.errorBoundary.recoveredEntry.warning') }), _jsx(CopyButton, { onClick: () => navigator.clipboard.writeText(entry), children: t('ui.errorBoundary.recoveredEntry.copyButtonLabel') }), _jsx("pre", { children: _jsx("code", { children: entry }) })] }); } export class ErrorBoundary extends React.Component { static propTypes = { children: PropTypes.node, t: PropTypes.func.isRequired, config: PropTypes.object.isRequired }; state = { hasError: false, errorMessage: '', errorTitle: '', backup: '' }; static getDerivedStateFromError(error) { console.error(error); return { hasError: true, errorMessage: error.stack || error.toString(), errorTitle: error.toString() }; } componentDidMount() { // Manually validate PropTypes - React 19 breaking change PropTypes.checkPropTypes(ErrorBoundary.propTypes, this.props, 'prop', 'ErrorBoundary'); } shouldComponentUpdate(nextProps, nextState) { if (this.props.showBackup) { return this.state.errorMessage !== nextState.errorMessage || this.state.backup !== nextState.backup; } return true; } async componentDidUpdate() { if (this.props.showBackup) { const backup = await localForage.getItem('backup'); backup && console.log(backup); this.setState({ backup }); } } render() { const { hasError, errorMessage, backup, errorTitle } = this.state; const { showBackup, t } = this.props; if (!hasError) { return this.props.children; } return _jsxs(ErrorBoundaryContainer, { children: [_jsx("h1", { children: t('ui.errorBoundary.title') }), _jsxs("p", { children: [_jsx("span", { children: t('ui.errorBoundary.details') }), _jsx("a", { href: buildIssueUrl({ title: errorTitle, config: this.props.config }), target: "_blank", rel: "noopener noreferrer", "data-testid": "issue-url", children: t('ui.errorBoundary.reportIt') })] }), _jsx("p", { children: t('ui.errorBoundary.privacyWarning').split('\n').map((item, index) => _jsxs(_Fragment, { children: [_jsx(PrivacyWarning, { children: item }, index), _jsx("br", {})] })) }), _jsx("hr", {}), _jsx("h2", { children: t('ui.errorBoundary.detailsHeading') }), _jsx("p", { children: errorMessage }), backup && showBackup && _jsx(RecoveredEntry, { entry: backup, t: t })] }); } } export default translate()(ErrorBoundary);