decap-cms-core
Version:
Decap CMS core application, see decap-cms package for the main distribution.
198 lines (192 loc) • 27.8 kB
JavaScript
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);