@codecademy/gamut
74.0.074.0.1-alpha.fbaad7.0
~
Modified (9 files)
Index: package/dist/Markdown/index.js
===================================================================
--- package/dist/Markdown/index.js
+++ package/dist/Markdown/index.js
@@ -5,9 +5,9 @@
import { PureComponent } from 'react';
import * as React from 'react';
import sanitizeMarkdown from 'sanitize-markdown';
import { omitProps } from '../utils/omitProps';
-import { createCodeBlockOverride, createInputOverride, createTagOverride, createVideoOverride, standardOverrides } from './libs/overrides';
+import { createCodeBlockOverride, createInputOverride, createTagOverride, createVideoOverride, createVideoParagraphOverride, standardOverrides } from './libs/overrides';
import { MarkdownCheckbox } from './libs/overrides/Checkbox';
import { Details } from './libs/overrides/Details';
import { MarkdownAnchor } from './libs/overrides/MarkdownAnchor';
import { Table } from './libs/overrides/Table';
@@ -19,18 +19,8 @@
xmlMode: true
});
const preprocessingInstructions = createPreprocessingInstructions();
const isValidNode = () => true;
-
-/**
- * Puts each <video> block on its own lines so marked emits an HTML block.
- * A single-line <video>...</video> is parsed as paragraph text, which wraps
- * the video's block-level output in a <p>.
- */
-const normalizeVideoBlocks = text => text.replace(/(<video\b[^>]*>)([\s\S]*?)(<\/video>)/gi, (_match, open, inner, close) => {
- const body = inner.trim();
- return `\n\n${open}\n${body ? `${body}\n` : ''}${close}\n\n`;
-});
const MarkdownWrapper = /*#__PURE__*/_styled("div", {
target: "e1mjarmv0",
label: "MarkdownWrapper"
})(({
@@ -38,9 +28,9 @@
spacing
}) => {
const spacingStyleFunction = markdownStyles[spacing];
return spacingStyleFunction ? spacingStyleFunction(theme) : '';
-}, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9NYXJrZG93bi9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUQyRSIsImZpbGUiOiIuLi8uLi9zcmMvTWFya2Rvd24vaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IGN4IGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IEh0bWxUb1JlYWN0IGZyb20gJ2h0bWwtdG8tcmVhY3QnO1xuaW1wb3J0IHsgbWFya2VkIH0gZnJvbSAnbWFya2VkJztcbmltcG9ydCB7IFB1cmVDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc2FuaXRpemVNYXJrZG93biBmcm9tICdzYW5pdGl6ZS1tYXJrZG93bic7XG5cbmltcG9ydCB7IG9taXRQcm9wcyB9IGZyb20gJy4uL3V0aWxzL29taXRQcm9wcyc7XG5pbXBvcnQge1xuICBjcmVhdGVDb2RlQmxvY2tPdmVycmlkZSxcbiAgY3JlYXRlSW5wdXRPdmVycmlkZSxcbiAgY3JlYXRlVGFnT3ZlcnJpZGUsXG4gIGNyZWF0ZVZpZGVvT3ZlcnJpZGUsXG4gIE1hcmtkb3duT3ZlcnJpZGVTZXR0aW5nLFxuICBNYXJrZG93bk92ZXJyaWRlU2V0dGluZ3MsXG4gIHN0YW5kYXJkT3ZlcnJpZGVzLFxufSBmcm9tICcuL2xpYnMvb3ZlcnJpZGVzJztcbmltcG9ydCB7IE1hcmtkb3duQ2hlY2tib3ggfSBmcm9tICcuL2xpYnMvb3ZlcnJpZGVzL0NoZWNrYm94JztcbmltcG9ydCB7IERldGFpbHMgfSBmcm9tICcuL2xpYnMvb3ZlcnJpZGVzL0RldGFpbHMnO1xuaW1wb3J0IHtcbiAgTWFya2Rvd25BbmNob3IsXG4gIE1hcmtkb3duQW5jaG9yUHJvcHMsXG59IGZyb20gJy4vbGlicy9vdmVycmlkZXMvTWFya2Rvd25BbmNob3InO1xuaW1wb3J0IHsgVGFibGUgfSBmcm9tICcuL2xpYnMvb3ZlcnJpZGVzL1RhYmxlJztcbmltcG9ydCB7IGNyZWF0ZVByZXByb2Nlc3NpbmdJbnN0cnVjdGlvbnMgfSBmcm9tICcuL2xpYnMvcHJlcHJvY2Vzc2luZyc7XG5pbXBvcnQgeyBkZWZhdWx0U2FuaXRpemF0aW9uQ29uZmlnIH0gZnJvbSAnLi9saWJzL3Nhbml0aXphdGlvbkNvbmZpZyc7XG5pbXBvcnQgeyBtYXJrZG93blN0eWxlcyB9IGZyb20gJy4vc3R5bGVzJztcblxuY29uc3QgaHRtbFRvUmVhY3RQYXJzZXIgPSBIdG1sVG9SZWFjdC5QYXJzZXIoe1xuICB4bWxNb2RlOiB0cnVlLFxufSk7XG5cbmNvbnN0IHByZXByb2Nlc3NpbmdJbnN0cnVjdGlvbnMgPSBjcmVhdGVQcmVwcm9jZXNzaW5nSW5zdHJ1Y3Rpb25zKCk7XG5cbmNvbnN0IGlzVmFsaWROb2RlID0gKCkgPT4gdHJ1ZTtcblxuLyoqXG4gKiBQdXRzIGVhY2ggPHZpZGVvPiBibG9jayBvbiBpdHMgb3duIGxpbmVzIHNvIG1hcmtlZCBlbWl0cyBhbiBIVE1MIGJsb2NrLlxuICogQSBzaW5nbGUtbGluZSA8dmlkZW8+Li4uPC92aWRlbz4gaXMgcGFyc2VkIGFzIHBhcmFncmFwaCB0ZXh0LCB3aGljaCB3cmFwc1xuICogdGhlIHZpZGVvJ3MgYmxvY2stbGV2ZWwgb3V0cHV0IGluIGEgPHA+LlxuICovXG5jb25zdCBub3JtYWxpemVWaWRlb0Jsb2NrcyA9ICh0ZXh0OiBzdHJpbmcpID0+XG4gIHRleHQucmVwbGFjZShcbiAgICAvKDx2aWRlb1xcYltePl0qPikoW1xcc1xcU10qPykoPFxcL3ZpZGVvPikvZ2ksXG4gICAgKF9tYXRjaCwgb3Blbjogc3RyaW5nLCBpbm5lcjogc3RyaW5nLCBjbG9zZTogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBib2R5ID0gaW5uZXIudHJpbSgpO1xuICAgICAgcmV0dXJuIGBcXG5cXG4ke29wZW59XFxuJHtib2R5ID8gYCR7Ym9keX1cXG5gIDogJyd9JHtjbG9zZX1cXG5cXG5gO1xuICAgIH1cbiAgKTtcblxuY29uc3QgTWFya2Rvd25XcmFwcGVyID0gc3R5bGVkLmRpdjx7IHNwYWNpbmc6ICdsb29zZScgfCAndGlnaHQnIHwgJ25vbmUnIH0+YFxuICAkeyh7IHRoZW1lLCBzcGFjaW5nIH0pID0+IHtcbiAgICBjb25zdCBzcGFjaW5nU3R5bGVGdW5jdGlvbiA9IG1hcmtkb3duU3R5bGVzW3NwYWNpbmddO1xuICAgIHJldHVybiBzcGFjaW5nU3R5bGVGdW5jdGlvbiA/IHNwYWNpbmdTdHlsZUZ1bmN0aW9uKHRoZW1lKSA6ICcnO1xuICB9fVxuYDtcblxuZXhwb3J0IHR5cGUgU2tpcERlZmF1bHRPdmVycmlkZXNTZXR0aW5ncyA9IHtcbiAgYT86IGJvb2xlYW47XG4gIGNoZWNrYm94PzogYm9vbGVhbjtcbiAgZGV0YWlscz86IGJvb2xlYW47XG4gIHRhYmxlPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIE1hcmtkb3duUHJvcHMgPSB7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgaW5saW5lPzogYm9vbGVhbjtcbiAgb3ZlcnJpZGVzPzogTWFya2Rvd25PdmVycmlkZVNldHRpbmdzO1xuICBza2lwRGVmYXVsdE92ZXJyaWRlcz86IFNraXBEZWZhdWx0T3ZlcnJpZGVzU2V0dGluZ3M7XG4gIC8qKlxuICAgKiBFbmFibGVzIGdlbmVyYXRlZCBoZWFkZXIgaWRzIGZvciBIMS02IHRhZ3NcbiAgICogQ2FuIGdlbmVyYXRlIGR1cGxpY2F0ZSBJRHMgaWYgdXNlZCBvbiBzZXBhcmF0ZSBtYXJrZG93biBjb21wb25lbnRzIG9uIHRoZSBzYW1lIHBhZ2VcbiAgICovXG4gIGhlYWRlcklkcz86IGJvb2xlYW47XG4gIHNwYWNpbmc/OiAnbG9vc2UnIHwgJ3RpZ2h0JyB8ICdub25lJztcbiAgdGV4dD86IHN0cmluZztcbiAgLyoqXG4gICAqIENhbGxiYWNrIHdoZW4gYSBtYXJrZG93biBhbmNob3IgdGFnIGlzIGNsaWNrZWRcbiAgICovXG4gIG9uQW5jaG9yQ2xpY2s/OiAoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+KSA9PiB2b2lkO1xuICAvKipcbiAgICogUmVuZGVycyA8aWZyYW1lPiB0YWdzIHdpdGggdGhlIGdpdmVuIGNvbXBvbmVudCAoZS5nLiBJZnJhbWUgZnJvbVxuICAgKiAnQGNvZGVjYWRlbXkvZ2FtdXQvVmlkZW8nKSBpbnN0ZWFkIG9mIGEgYmFyZSBpZnJhbWUuIE9wdC1pbiBzbyBNYXJrZG93blxuICAgKiBkb2Vzbid0IHN0YXRpY2FsbHkgZGVwZW5kIG9uIHJlYWN0LXBsYXllciB1bmxlc3MgeW91IG5lZWQgaXQuXG4gICAqL1xuICBpZnJhbWVPdmVycmlkZT86IE1hcmtkb3duT3ZlcnJpZGVTZXR0aW5nO1xuICAvKipcbiAgICogUmVuZGVycyA8dmlkZW8+IHRhZ3Mgd2l0aCB0aGUgZ2l2ZW4gY29tcG9uZW50IChlLmcuIE1hcmtkb3duVmlkZW8gZnJvbVxuICAgKiAnQGNvZGVjYWRlbXkvZ2FtdXQvVmlkZW8nKSBpbnN0ZWFkIG9mIGEgYmFyZSB2aWRlbyB0YWcuIE9wdC1pbiBzb1xuICAgKiBNYXJrZG93biBkb2Vzbid0IHN0YXRpY2FsbHkgZGVwZW5kIG9uIHJlYWN0LXBsYXllciB1bmxlc3MgeW91IG5lZWQgaXQuXG4gICAqL1xuICB2aWRlb092ZXJyaWRlPzogTWFya2Rvd25PdmVycmlkZVNldHRpbmc7XG59O1xuXG5leHBvcnQgY2xhc3MgTWFya2Rvd24gZXh0ZW5kcyBQdXJlQ29tcG9uZW50PE1hcmtkb3duUHJvcHM+IHtcbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIHNwYWNpbmcgPSAndGlnaHQnLFxuICAgICAgdGV4dCA9ICcnLFxuICAgICAgY2xhc3NOYW1lLFxuICAgICAgb3ZlcnJpZGVzOiB1c2VyT3ZlcnJpZGVzID0ge30sXG4gICAgICBza2lwRGVmYXVsdE92ZXJyaWRlcyA9IHt9LFxuICAgICAgaW5saW5lID0gZmFsc2UsXG4gICAgICBoZWFkZXJJZHMgPSB0cnVlLFxuICAgICAgb25BbmNob3JDbGljayxcbiAgICAgIGlmcmFtZU92ZXJyaWRlLFxuICAgICAgdmlkZW9PdmVycmlkZSxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmICghdGV4dCkgcmV0dXJuIG51bGw7XG5cbiAgICBjb25zdCBvdmVycmlkZXMgPSBPYmplY3Qua2V5cyh1c2VyT3ZlcnJpZGVzKS5tYXAoKHRhZ05hbWUpID0+IHtcbiAgICAgIGlmICh0YWdOYW1lID09PSAnQ29kZUJsb2NrJykge1xuICAgICAgICByZXR1cm4gY3JlYXRlQ29kZUJsb2NrT3ZlcnJpZGUodGFnTmFtZSwgdXNlck92ZXJyaWRlc1t0YWdOYW1lXSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gY3JlYXRlVGFnT3ZlcnJpZGUodGFnTmFtZSwgdXNlck92ZXJyaWRlc1t0YWdOYW1lXSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBwcm9jZXNzaW5nSW5zdHJ1Y3Rpb25zID0gW1xuICAgICAgLi4ub3ZlcnJpZGVzLFxuICAgICAgaWZyYW1lT3ZlcnJpZGUgJiYgY3JlYXRlVGFnT3ZlcnJpZGUoJ2lmcmFtZScsIGlmcmFtZU92ZXJyaWRlKSxcbiAgICAgICFza2lwRGVmYXVsdE92ZXJyaWRlcy5hICYmXG4gICAgICAgIGNyZWF0ZVRhZ092ZXJyaWRlKCdhJywge1xuICAgICAgICAgIGNvbXBvbmVudDogTWFya2Rvd25BbmNob3IsXG4gICAgICAgICAgcHJvY2Vzc05vZGU6IChub2RlLCBwcm9wcykgPT4ge1xuICAgICAgICAgICAgLy8gTm90ZTogdGhpcyBwcm9jZXNzTm9kZSBvdmVycmlkZSBpcyBuZWNlc3NhcnkgYmVjYXVzZSB3cmFwcGluZyB0aGlzIGNvbXBvbmVudFxuICAgICAgICAgICAgLy8gaW4gYW4gYW5vbnltb3VzIGZ1bmN0aW9uYWwgY29tcG9uZW50IGFzIHdpdGggdGhlIFRhYmxlIGJlbG93IGNhdXNlcyByZWFjdCByZW5kZXJpbmdcbiAgICAgICAgICAgIC8vIHRvIGNyYXNoIHdpdGggc29tZSBjaHJvbWUgdHJhbnNsYXRpb24gZmVhdHVyZXMuXG4gICAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9jb2RlY2FkZW15LmF0bGFzc2lhbi5uZXQvYnJvd3NlL1dFQi0xMjE0XG4gICAgICAgICAgICBjb25zdCB7IGtleTogZWxlbWVudEtleSwgLi4ucmVzdCB9ID1cbiAgICAgICAgICAgICAgcHJvcHMgYXMgTWFya2Rvd25BbmNob3JQcm9wcyAmIHsga2V5PzogUmVhY3QuS2V5IH07XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICA8TWFya2Rvd25BbmNob3JcbiAgICAgICAgICAgICAgICBrZXk9e2VsZW1lbnRLZXl9XG4gICAgICAgICAgICAgICAgb25DbGljaz17b25BbmNob3JDbGlja31cbiAgICAgICAgICAgICAgICB7Li4ucmVzdH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICAhc2tpcERlZmF1bHRPdmVycmlkZXMudGFibGUgJiZcbiAgICAgICAgY3JlYXRlVGFnT3ZlcnJpZGUoJ3RhYmxlJywge1xuICAgICAgICAgIGNvbXBvbmVudDogVGFibGUsXG4gICAgICAgICAgYWxsb3dlZEF0dHJpYnV0ZXM6IFsnc3R5bGUnXSxcbiAgICAgICAgfSksXG4gICAgICB2aWRlb092ZXJyaWRlICYmXG4gICAgICAgIGNyZWF0ZVZpZGVvT3ZlcnJpZGUoeyB0YWdOYW1lOiAndmlkZW8nLCBPdmVycmlkZTogdmlkZW9PdmVycmlkZSB9KSxcbiAgICAgICFza2lwRGVmYXVsdE92ZXJyaWRlcy5kZXRhaWxzICYmXG4gICAgICAgIGNyZWF0ZVRhZ092ZXJyaWRlKCdkZXRhaWxzJywge1xuICAgICAgICAgIGNvbXBvbmVudDogRGV0YWlscyxcbiAgICAgICAgICBhbGxvd2VkQXR0cmlidXRlczogWydzdHlsZScsICdvcGVuJ10sXG4gICAgICAgIH0pLFxuICAgICAgIXNraXBEZWZhdWx0T3ZlcnJpZGVzLmNoZWNrYm94ICYmXG4gICAgICAgIGNyZWF0ZUlucHV0T3ZlcnJpZGUoJ2NoZWNrYm94Jywge1xuICAgICAgICAgIGNvbXBvbmVudDogTWFya2Rvd25DaGVja2JveCxcbiAgICAgICAgfSksXG4gICAgICAuLi5zdGFuZGFyZE92ZXJyaWRlcyxcbiAgICBdLmZpbHRlcihCb29sZWFuKTtcblxuICAgIGNvbnN0IG1hcmtlZE9wdGlvbnMgPSB7XG4gICAgICBzbWFydHlwYW50czogdHJ1ZSxcbiAgICAgIGhlYWRlcklkcyxcbiAgICAgIGhlYWRlclByZWZpeDogJ2hlYWRpbmctJyxcbiAgICAgIG1hbmdsZTogZmFsc2UsXG4gICAgfTtcblxuICAgIC8vIFJlbmRlciBtYXJrZG93biB0byBodG1sXG4gICAgY29uc3QgcmF3SHRtbCA9IGlubGluZVxuICAgICAgPyBtYXJrZWQucGFyc2VJbmxpbmUodGV4dCwgbWFya2VkT3B0aW9ucylcbiAgICAgIDogbWFya2VkKG5vcm1hbGl6ZVZpZGVvQmxvY2tzKHRleHQpLCBtYXJrZWRPcHRpb25zKTtcblxuICAgIGNvbnN0IHNhbml0aXphdGlvbkNvbmZpZyA9IHtcbiAgICAgIC4uLmRlZmF1bHRTYW5pdGl6YXRpb25Db25maWcsXG4gICAgICBhbGxvd2VkVGFnczogW1xuICAgICAgICAuLi5kZWZhdWx0U2FuaXRpemF0aW9uQ29uZmlnLmFsbG93ZWRUYWdzLFxuICAgICAgICAuLi5PYmplY3Qua2V5cyh1c2VyT3ZlcnJpZGVzKS5tYXAoKHRhZ05hbWUpID0+IHRhZ05hbWUudG9Mb3dlckNhc2UoKSksXG4gICAgICBdLFxuICAgICAgYWxsb3dlZEF0dHJpYnV0ZXM6IHtcbiAgICAgICAgLi4uZGVmYXVsdFNhbml0aXphdGlvbkNvbmZpZy5hbGxvd2VkQXR0cmlidXRlcyxcbiAgICAgICAgLi4uT2JqZWN0LmtleXModXNlck92ZXJyaWRlcykucmVkdWNlKChhY2MsIHRhZ05hbWUpID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgICAgW3RhZ05hbWUudG9Mb3dlckNhc2UoKV06IChcbiAgICAgICAgICAgICAgdXNlck92ZXJyaWRlc1t0YWdOYW1lXS5hbGxvd2VkQXR0cmlidXRlcyB8fCBbXVxuICAgICAgICAgICAgKS5tYXAoKGF0dHIpID0+IGF0dHIudG9Mb3dlckNhc2UoKSksXG4gICAgICAgICAgfTtcbiAgICAgICAgfSwge30pLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgY29uc3QgaHRtbCA9IHNhbml0aXplTWFya2Rvd24ocmF3SHRtbCwgc2FuaXRpemF0aW9uQ29uZmlnKTtcblxuICAgIC8vIFJlbmRlciBodG1sIHRvIGEgcmVhY3QgdHJlZVxuICAgIGNvbnN0IHJlYWN0ID0gaHRtbFRvUmVhY3RQYXJzZXIucGFyc2VXaXRoSW5zdHJ1Y3Rpb25zKFxuICAgICAgaHRtbCxcbiAgICAgIGlzVmFsaWROb2RlLFxuICAgICAgcHJvY2Vzc2luZ0luc3RydWN0aW9ucyxcbiAgICAgIHByZXByb2Nlc3NpbmdJbnN0cnVjdGlvbnNcbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxNYXJrZG93bldyYXBwZXJcbiAgICAgICAgYXM9e2lubGluZSA/ICdzcGFuJyA6ICdkaXYnfVxuICAgICAgICB7Li4ub21pdFByb3BzKE9iamVjdC5rZXlzKHRoaXMucHJvcHMpLCB0aGlzLnByb3BzKX1cbiAgICAgICAgY2xhc3NOYW1lPXtjeChjbGFzc05hbWUpfVxuICAgICAgICBzcGFjaW5nPXtzcGFjaW5nfVxuICAgICAgPlxuICAgICAgICB7cmVhY3R9XG4gICAgICA8L01hcmtkb3duV3JhcHBlcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIHtcbiAgTWFya2Rvd25PdmVycmlkZVNldHRpbmcsXG4gIE1hcmtkb3duT3ZlcnJpZGVTZXR0aW5ncyxcbn0gZnJvbSAnLi9saWJzL292ZXJyaWRlcyc7XG5leHBvcnQge1xuICBjcmVhdGVDb2RlQmxvY2tPdmVycmlkZSxcbiAgY3JlYXRlSW5wdXRPdmVycmlkZSxcbiAgY3JlYXRlVGFnT3ZlcnJpZGUsXG4gIGNyZWF0ZVZpZGVvT3ZlcnJpZGUsXG4gIHN0YW5kYXJkT3ZlcnJpZGVzLFxufSBmcm9tICcuL2xpYnMvb3ZlcnJpZGVzJztcbiJdfQ== */"));
+}, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9NYXJrZG93bi9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0MyRSIsImZpbGUiOiIuLi8uLi9zcmMvTWFya2Rvd24vaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IGN4IGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IEh0bWxUb1JlYWN0IGZyb20gJ2h0bWwtdG8tcmVhY3QnO1xuaW1wb3J0IHsgbWFya2VkIH0gZnJvbSAnbWFya2VkJztcbmltcG9ydCB7IFB1cmVDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc2FuaXRpemVNYXJrZG93biBmcm9tICdzYW5pdGl6ZS1tYXJrZG93bic7XG5cbmltcG9ydCB7IG9taXRQcm9wcyB9IGZyb20gJy4uL3V0aWxzL29taXRQcm9wcyc7XG5pbXBvcnQge1xuICBjcmVhdGVDb2RlQmxvY2tPdmVycmlkZSxcbiAgY3JlYXRlSW5wdXRPdmVycmlkZSxcbiAgY3JlYXRlVGFnT3ZlcnJpZGUsXG4gIGNyZWF0ZVZpZGVvT3ZlcnJpZGUsXG4gIGNyZWF0ZVZpZGVvUGFyYWdyYXBoT3ZlcnJpZGUsXG4gIE1hcmtkb3duT3ZlcnJpZGVTZXR0aW5nLFxuICBNYXJrZG93bk92ZXJyaWRlU2V0dGluZ3MsXG4gIHN0YW5kYXJkT3ZlcnJpZGVzLFxufSBmcm9tICcuL2xpYnMvb3ZlcnJpZGVzJztcbmltcG9ydCB7IE1hcmtkb3duQ2hlY2tib3ggfSBmcm9tICcuL2xpYnMvb3ZlcnJpZGVzL0NoZWNrYm94JztcbmltcG9ydCB7IERldGFpbHMgfSBmcm9tICcuL2xpYnMvb3ZlcnJpZGVzL0RldGFpbHMnO1xuaW1wb3J0IHtcbiAgTWFya2Rvd25BbmNob3IsXG4gIE1hcmtkb3duQW5jaG9yUHJvcHMsXG59IGZyb20gJy4vbGlicy9vdmVycmlkZXMvTWFya2Rvd25BbmNob3InO1xuaW1wb3J0IHsgVGFibGUgfSBmcm9tICcuL2xpYnMvb3ZlcnJpZGVzL1RhYmxlJztcbmltcG9ydCB7IGNyZWF0ZVByZXByb2Nlc3NpbmdJbnN0cnVjdGlvbnMgfSBmcm9tICcuL2xpYnMvcHJlcHJvY2Vzc2luZyc7XG5pbXBvcnQgeyBkZWZhdWx0U2FuaXRpemF0aW9uQ29uZmlnIH0gZnJvbSAnLi9saWJzL3Nhbml0aXphdGlvbkNvbmZpZyc7XG5pbXBvcnQgeyBtYXJrZG93blN0eWxlcyB9IGZyb20gJy4vc3R5bGVzJztcblxuY29uc3QgaHRtbFRvUmVhY3RQYXJzZXIgPSBIdG1sVG9SZWFjdC5QYXJzZXIoe1xuICB4bWxNb2RlOiB0cnVlLFxufSk7XG5cbmNvbnN0IHByZXByb2Nlc3NpbmdJbnN0cnVjdGlvbnMgPSBjcmVhdGVQcmVwcm9jZXNzaW5nSW5zdHJ1Y3Rpb25zKCk7XG5cbmNvbnN0IGlzVmFsaWROb2RlID0gKCkgPT4gdHJ1ZTtcblxuY29uc3QgTWFya2Rvd25XcmFwcGVyID0gc3R5bGVkLmRpdjx7IHNwYWNpbmc6ICdsb29zZScgfCAndGlnaHQnIHwgJ25vbmUnIH0+YFxuICAkeyh7IHRoZW1lLCBzcGFjaW5nIH0pID0+IHtcbiAgICBjb25zdCBzcGFjaW5nU3R5bGVGdW5jdGlvbiA9IG1hcmtkb3duU3R5bGVzW3NwYWNpbmddO1xuICAgIHJldHVybiBzcGFjaW5nU3R5bGVGdW5jdGlvbiA/IHNwYWNpbmdTdHlsZUZ1bmN0aW9uKHRoZW1lKSA6ICcnO1xuICB9fVxuYDtcblxuZXhwb3J0IHR5cGUgU2tpcERlZmF1bHRPdmVycmlkZXNTZXR0aW5ncyA9IHtcbiAgYT86IGJvb2xlYW47XG4gIGNoZWNrYm94PzogYm9vbGVhbjtcbiAgZGV0YWlscz86IGJvb2xlYW47XG4gIHRhYmxlPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIE1hcmtkb3duUHJvcHMgPSB7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgaW5saW5lPzogYm9vbGVhbjtcbiAgb3ZlcnJpZGVzPzogTWFya2Rvd25PdmVycmlkZVNldHRpbmdzO1xuICBza2lwRGVmYXVsdE92ZXJyaWRlcz86IFNraXBEZWZhdWx0T3ZlcnJpZGVzU2V0dGluZ3M7XG4gIC8qKlxuICAgKiBFbmFibGVzIGdlbmVyYXRlZCBoZWFkZXIgaWRzIGZvciBIMS02IHRhZ3NcbiAgICogQ2FuIGdlbmVyYXRlIGR1cGxpY2F0ZSBJRHMgaWYgdXNlZCBvbiBzZXBhcmF0ZSBtYXJrZG93biBjb21wb25lbnRzIG9uIHRoZSBzYW1lIHBhZ2VcbiAgICovXG4gIGhlYWRlcklkcz86IGJvb2xlYW47XG4gIHNwYWNpbmc/OiAnbG9vc2UnIHwgJ3RpZ2h0JyB8ICdub25lJztcbiAgdGV4dD86IHN0cmluZztcbiAgLyoqXG4gICAqIENhbGxiYWNrIHdoZW4gYSBtYXJrZG93biBhbmNob3IgdGFnIGlzIGNsaWNrZWRcbiAgICovXG4gIG9uQW5jaG9yQ2xpY2s/OiAoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+KSA9PiB2b2lkO1xuICAvKipcbiAgICogUmVuZGVycyA8aWZyYW1lPiB0YWdzIHdpdGggdGhlIGdpdmVuIGNvbXBvbmVudCAoZS5nLiBJZnJhbWUgZnJvbVxuICAgKiAnQGNvZGVjYWRlbXkvZ2FtdXQvVmlkZW8nKSBpbnN0ZWFkIG9mIGEgYmFyZSBpZnJhbWUuIE9wdC1pbiBzbyBNYXJrZG93blxuICAgKiBkb2Vzbid0IHN0YXRpY2FsbHkgZGVwZW5kIG9uIHJlYWN0LXBsYXllciB1bmxlc3MgeW91IG5lZWQgaXQuXG4gICAqL1xuICBpZnJhbWVPdmVycmlkZT86IE1hcmtkb3duT3ZlcnJpZGVTZXR0aW5nO1xuICAvKipcbiAgICogUmVuZGVycyA8dmlkZW8+IHRhZ3Mgd2l0aCB0aGUgZ2l2ZW4gY29tcG9uZW50IChlLmcuIE1hcmtkb3duVmlkZW8gZnJvbVxuICAgKiAnQGNvZGVjYWRlbXkvZ2FtdXQvVmlkZW8nKSBpbnN0ZWFkIG9mIGEgYmFyZSB2aWRlbyB0YWcuIE9wdC1pbiBzb1xuICAgKiBNYXJrZG93biBkb2Vzbid0IHN0YXRpY2FsbHkgZGVwZW5kIG9uIHJlYWN0LXBsYXllciB1bmxlc3MgeW91IG5lZWQgaXQuXG4gICAqL1xuICB2aWRlb092ZXJyaWRlPzogTWFya2Rvd25PdmVycmlkZVNldHRpbmc7XG59O1xuXG5leHBvcnQgY2xhc3MgTWFya2Rvd24gZXh0ZW5kcyBQdXJlQ29tcG9uZW50PE1hcmtkb3duUHJvcHM+IHtcbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIHNwYWNpbmcgPSAndGlnaHQnLFxuICAgICAgdGV4dCA9ICcnLFxuICAgICAgY2xhc3NOYW1lLFxuICAgICAgb3ZlcnJpZGVzOiB1c2VyT3ZlcnJpZGVzID0ge30sXG4gICAgICBza2lwRGVmYXVsdE92ZXJyaWRlcyA9IHt9LFxuICAgICAgaW5saW5lID0gZmFsc2UsXG4gICAgICBoZWFkZXJJZHMgPSB0cnVlLFxuICAgICAgb25BbmNob3JDbGljayxcbiAgICAgIGlmcmFtZU92ZXJyaWRlLFxuICAgICAgdmlkZW9PdmVycmlkZSxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmICghdGV4dCkgcmV0dXJuIG51bGw7XG5cbiAgICBjb25zdCBvdmVycmlkZXMgPSBPYmplY3Qua2V5cyh1c2VyT3ZlcnJpZGVzKS5tYXAoKHRhZ05hbWUpID0+IHtcbiAgICAgIGlmICh0YWdOYW1lID09PSAnQ29kZUJsb2NrJykge1xuICAgICAgICByZXR1cm4gY3JlYXRlQ29kZUJsb2NrT3ZlcnJpZGUodGFnTmFtZSwgdXNlck92ZXJyaWRlc1t0YWdOYW1lXSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gY3JlYXRlVGFnT3ZlcnJpZGUodGFnTmFtZSwgdXNlck92ZXJyaWRlc1t0YWdOYW1lXSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBwcm9jZXNzaW5nSW5zdHJ1Y3Rpb25zID0gW1xuICAgICAgLi4ub3ZlcnJpZGVzLFxuICAgICAgaWZyYW1lT3ZlcnJpZGUgJiYgY3JlYXRlVGFnT3ZlcnJpZGUoJ2lmcmFtZScsIGlmcmFtZU92ZXJyaWRlKSxcbiAgICAgICFza2lwRGVmYXVsdE92ZXJyaWRlcy5hICYmXG4gICAgICAgIGNyZWF0ZVRhZ092ZXJyaWRlKCdhJywge1xuICAgICAgICAgIGNvbXBvbmVudDogTWFya2Rvd25BbmNob3IsXG4gICAgICAgICAgcHJvY2Vzc05vZGU6IChub2RlLCBwcm9wcykgPT4ge1xuICAgICAgICAgICAgLy8gTm90ZTogdGhpcyBwcm9jZXNzTm9kZSBvdmVycmlkZSBpcyBuZWNlc3NhcnkgYmVjYXVzZSB3cmFwcGluZyB0aGlzIGNvbXBvbmVudFxuICAgICAgICAgICAgLy8gaW4gYW4gYW5vbnltb3VzIGZ1bmN0aW9uYWwgY29tcG9uZW50IGFzIHdpdGggdGhlIFRhYmxlIGJlbG93IGNhdXNlcyByZWFjdCByZW5kZXJpbmdcbiAgICAgICAgICAgIC8vIHRvIGNyYXNoIHdpdGggc29tZSBjaHJvbWUgdHJhbnNsYXRpb24gZmVhdHVyZXMuXG4gICAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9jb2RlY2FkZW15LmF0bGFzc2lhbi5uZXQvYnJvd3NlL1dFQi0xMjE0XG4gICAgICAgICAgICBjb25zdCB7IGtleTogZWxlbWVudEtleSwgLi4ucmVzdCB9ID1cbiAgICAgICAgICAgICAgcHJvcHMgYXMgTWFya2Rvd25BbmNob3JQcm9wcyAmIHsga2V5PzogUmVhY3QuS2V5IH07XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICA8TWFya2Rvd25BbmNob3JcbiAgICAgICAgICAgICAgICBrZXk9e2VsZW1lbnRLZXl9XG4gICAgICAgICAgICAgICAgb25DbGljaz17b25BbmNob3JDbGlja31cbiAgICAgICAgICAgICAgICB7Li4ucmVzdH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICAhc2tpcERlZmF1bHRPdmVycmlkZXMudGFibGUgJiZcbiAgICAgICAgY3JlYXRlVGFnT3ZlcnJpZGUoJ3RhYmxlJywge1xuICAgICAgICAgIGNvbXBvbmVudDogVGFibGUsXG4gICAgICAgICAgYWxsb3dlZEF0dHJpYnV0ZXM6IFsnc3R5bGUnXSxcbiAgICAgICAgfSksXG4gICAgICB2aWRlb092ZXJyaWRlICYmIGNyZWF0ZVZpZGVvUGFyYWdyYXBoT3ZlcnJpZGUoKSxcbiAgICAgIHZpZGVvT3ZlcnJpZGUgJiZcbiAgICAgICAgY3JlYXRlVmlkZW9PdmVycmlkZSh7IHRhZ05hbWU6ICd2aWRlbycsIE92ZXJyaWRlOiB2aWRlb092ZXJyaWRlIH0pLFxuICAgICAgIXNraXBEZWZhdWx0T3ZlcnJpZGVzLmRldGFpbHMgJiZcbiAgICAgICAgY3JlYXRlVGFnT3ZlcnJpZGUoJ2RldGFpbHMnLCB7XG4gICAgICAgICAgY29tcG9uZW50OiBEZXRhaWxzLFxuICAgICAgICAgIGFsbG93ZWRBdHRyaWJ1dGVzOiBbJ3N0eWxlJywgJ29wZW4nXSxcbiAgICAgICAgfSksXG4gICAgICAhc2tpcERlZmF1bHRPdmVycmlkZXMuY2hlY2tib3ggJiZcbiAgICAgICAgY3JlYXRlSW5wdXRPdmVycmlkZSgnY2hlY2tib3gnLCB7XG4gICAgICAgICAgY29tcG9uZW50OiBNYXJrZG93bkNoZWNrYm94LFxuICAgICAgICB9KSxcbiAgICAgIC4uLnN0YW5kYXJkT3ZlcnJpZGVzLFxuICAgIF0uZmlsdGVyKEJvb2xlYW4pO1xuXG4gICAgY29uc3QgbWFya2VkT3B0aW9ucyA9IHtcbiAgICAgIHNtYXJ0eXBhbnRzOiB0cnVlLFxuICAgICAgaGVhZGVySWRzLFxuICAgICAgaGVhZGVyUHJlZml4OiAnaGVhZGluZy0nLFxuICAgICAgbWFuZ2xlOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgLy8gUmVuZGVyIG1hcmtkb3duIHRvIGh0bWxcbiAgICBjb25zdCByYXdIdG1sID0gaW5saW5lXG4gICAgICA/IG1hcmtlZC5wYXJzZUlubGluZSh0ZXh0LCBtYXJrZWRPcHRpb25zKVxuICAgICAgOiBtYXJrZWQodGV4dCwgbWFya2VkT3B0aW9ucyk7XG5cbiAgICBjb25zdCBzYW5pdGl6YXRpb25Db25maWcgPSB7XG4gICAgICAuLi5kZWZhdWx0U2FuaXRpemF0aW9uQ29uZmlnLFxuICAgICAgYWxsb3dlZFRhZ3M6IFtcbiAgICAgICAgLi4uZGVmYXVsdFNhbml0aXphdGlvbkNvbmZpZy5hbGxvd2VkVGFncyxcbiAgICAgICAgLi4uT2JqZWN0LmtleXModXNlck92ZXJyaWRlcykubWFwKCh0YWdOYW1lKSA9PiB0YWdOYW1lLnRvTG93ZXJDYXNlKCkpLFxuICAgICAgXSxcbiAgICAgIGFsbG93ZWRBdHRyaWJ1dGVzOiB7XG4gICAgICAgIC4uLmRlZmF1bHRTYW5pdGl6YXRpb25Db25maWcuYWxsb3dlZEF0dHJpYnV0ZXMsXG4gICAgICAgIC4uLk9iamVjdC5rZXlzKHVzZXJPdmVycmlkZXMpLnJlZHVjZSgoYWNjLCB0YWdOYW1lKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmFjYyxcbiAgICAgICAgICAgIFt0YWdOYW1lLnRvTG93ZXJDYXNlKCldOiAoXG4gICAgICAgICAgICAgIHVzZXJPdmVycmlkZXNbdGFnTmFtZV0uYWxsb3dlZEF0dHJpYnV0ZXMgfHwgW11cbiAgICAgICAgICAgICkubWFwKChhdHRyKSA9PiBhdHRyLnRvTG93ZXJDYXNlKCkpLFxuICAgICAgICAgIH07XG4gICAgICAgIH0sIHt9KSxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIGNvbnN0IGh0bWwgPSBzYW5pdGl6ZU1hcmtkb3duKHJhd0h0bWwsIHNhbml0aXphdGlvbkNvbmZpZyk7XG5cbiAgICAvLyBSZW5kZXIgaHRtbCB0byBhIHJlYWN0IHRyZWVcbiAgICBjb25zdCByZWFjdCA9IGh0bWxUb1JlYWN0UGFyc2VyLnBhcnNlV2l0aEluc3RydWN0aW9ucyhcbiAgICAgIGh0bWwsXG4gICAgICBpc1ZhbGlkTm9kZSxcbiAgICAgIHByb2Nlc3NpbmdJbnN0cnVjdGlvbnMsXG4gICAgICBwcmVwcm9jZXNzaW5nSW5zdHJ1Y3Rpb25zXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8TWFya2Rvd25XcmFwcGVyXG4gICAgICAgIGFzPXtpbmxpbmUgPyAnc3BhbicgOiAnZGl2J31cbiAgICAgICAgey4uLm9taXRQcm9wcyhPYmplY3Qua2V5cyh0aGlzLnByb3BzKSwgdGhpcy5wcm9wcyl9XG4gICAgICAgIGNsYXNzTmFtZT17Y3goY2xhc3NOYW1lKX1cbiAgICAgICAgc3BhY2luZz17c3BhY2luZ31cbiAgICAgID5cbiAgICAgICAge3JlYWN0fVxuICAgICAgPC9NYXJrZG93bldyYXBwZXI+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSB7XG4gIE1hcmtkb3duT3ZlcnJpZGVTZXR0aW5nLFxuICBNYXJrZG93bk92ZXJyaWRlU2V0dGluZ3MsXG59IGZyb20gJy4vbGlicy9vdmVycmlkZXMnO1xuZXhwb3J0IHtcbiAgY3JlYXRlQ29kZUJsb2NrT3ZlcnJpZGUsXG4gIGNyZWF0ZUlucHV0T3ZlcnJpZGUsXG4gIGNyZWF0ZVRhZ092ZXJyaWRlLFxuICBjcmVhdGVWaWRlb092ZXJyaWRlLFxuICBzdGFuZGFyZE92ZXJyaWRlcyxcbn0gZnJvbSAnLi9saWJzL292ZXJyaWRlcyc7XG4iXX0= */"));
export class Markdown extends PureComponent {
render() {
const {
spacing = 'tight',
@@ -79,9 +69,9 @@
}
}), !skipDefaultOverrides.table && createTagOverride('table', {
component: Table,
allowedAttributes: ['style']
- }), videoOverride && createVideoOverride({
+ }), videoOverride && createVideoParagraphOverride(), videoOverride && createVideoOverride({
tagName: 'video',
Override: videoOverride
}), !skipDefaultOverrides.details && createTagOverride('details', {
component: Details,
@@ -96,9 +86,9 @@
mangle: false
};
// Render markdown to html
- const rawHtml = inline ? marked.parseInline(text, markedOptions) : marked(normalizeVideoBlocks(text), markedOptions);
+ const rawHtml = inline ? marked.parseInline(text, markedOptions) : marked(text, markedOptions);
const sanitizationConfig = {
...defaultSanitizationConfig,
allowedTags: [...defaultSanitizationConfig.allowedTags, ...Object.keys(userOverrides).map(tagName => tagName.toLowerCase())],
allowedAttributes: { Index: package/dist/Markdown/libs/overrides/index.js
===================================================================
--- package/dist/Markdown/libs/overrides/index.js
+++ package/dist/Markdown/libs/overrides/index.js
@@ -3,9 +3,9 @@
import HtmlToReact from 'html-to-react';
import camelCaseMap from 'html-to-react/lib/camel-case-attribute-names';
import get from 'lodash/get';
import * as React from 'react';
-import { getLabel, isCheckboxParent, isInput, isLabelText } from './utils';
+import { getLabel, isCheckboxParent, isInput, isLabelText, isVideoOnlyParagraph } from './utils';
import { jsx as _jsx } from "react/jsx-runtime";
const processNodeDefinitions = HtmlToReact.ProcessNodeDefinitions();
const CheckboxParentLi = /*#__PURE__*/_styled("li", {
target: "ee1buqd0",
@@ -14,9 +14,9 @@
name: "1gfm1dz",
styles: "&::before{display:none!important;}"
} : {
name: "1gfm1dz",
- styles: "&::before{display:none!important;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9NYXJrZG93bi9saWJzL292ZXJyaWRlcy9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVWtDIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9NYXJrZG93bi9saWJzL292ZXJyaWRlcy9pbmRleC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgSHRtbFRvUmVhY3QgZnJvbSAnaHRtbC10by1yZWFjdCc7XG5pbXBvcnQgY2FtZWxDYXNlTWFwIGZyb20gJ2h0bWwtdG8tcmVhY3QvbGliL2NhbWVsLWNhc2UtYXR0cmlidXRlLW5hbWVzJztcbmltcG9ydCBnZXQgZnJvbSAnbG9kYXNoL2dldCc7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IGdldExhYmVsLCBpc0NoZWNrYm94UGFyZW50LCBpc0lucHV0LCBpc0xhYmVsVGV4dCB9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBwcm9jZXNzTm9kZURlZmluaXRpb25zID0gSHRtbFRvUmVhY3QuUHJvY2Vzc05vZGVEZWZpbml0aW9ucygpO1xuXG5jb25zdCBDaGVja2JveFBhcmVudExpID0gc3R5bGVkLmxpYFxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuYDtcblxuZXhwb3J0IGludGVyZmFjZSBBdHRyaWJ1dGVzTWFwIHtcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIVE1MVG9SZWFjdE5vZGUge1xuICBkYXRhOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgY2hpbGRyZW4/OiBIVE1MVG9SZWFjdE5vZGVbXTtcbiAgYXR0cmlicz86IGFueTtcbiAgbmV4dDogSFRNTFRvUmVhY3ROb2RlO1xuICBwcmV2OiBIVE1MVG9SZWFjdE5vZGU7XG4gIHBhcmVudDogSFRNTFRvUmVhY3ROb2RlO1xufVxuXG4vLyBNYXBwaW5nIG9mIGh0bWwgYXR0cmlidXRlcyB0byB0aGVpciBjYW1lbENhc2UgdmFyaWFudHNcbmNvbnN0IGF0dHJpYnV0ZU1hcDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgLi4uY2FtZWxDYXNlTWFwLFxuICBmb3I6ICdodG1sRm9yJyxcbiAgY2xhc3M6ICdjbGFzc05hbWUnLFxufTtcblxudHlwZSBPdmVycmlkZVNldHRpbmdzQmFzZSA9IHtcbiAgY29tcG9uZW50PzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+O1xuICBhbGxvd2VkQXR0cmlidXRlcz86IHN0cmluZ1tdO1xuICAvKipcbiAgICogUmVjZWl2ZXMgcHJvcHMgZnJvbSBodG1sLXRvLXJlYWN0IGluY2x1ZGluZyBga2V5YC4gV2hlbiBzcHJlYWRpbmcgcHJvcHMgaW50byBKU1gsXG4gICAqIGV4dHJhY3Qga2V5IGZpcnN0IChlLmcuIGBjb25zdCB7IGtleSwgLi4ucmVzdCB9ID0gcHJvcHM7IHJldHVybiA8Q29tcG9uZW50IGtleT17a2V5fSB7Li4ucmVzdH0gLz5gKVxuICAgKi9cbiAgcHJvY2Vzc05vZGU/OiAobm9kZTogSFRNTFRvUmVhY3ROb2RlLCBwcm9wczogb2JqZWN0KSA9PiBSZWFjdC5SZWFjdE5vZGU7XG4gIHNob3VsZFByb2Nlc3NOb2RlPzogKG5vZGU6IEhUTUxUb1JlYWN0Tm9kZSkgPT4gYm9vbGVhbjtcbn07XG5cbmludGVyZmFjZSBPdmVycmlkZVNldHRpbmdzQ29tcG9uZW50IGV4dGVuZHMgT3ZlcnJpZGVTZXR0aW5nc0Jhc2Uge1xuICBjb21wb25lbnQ6IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55Pjtcbn1cblxuaW50ZXJmYWNlIE92ZXJyaWRlU2V0dGluZ3NQcm9jZXNzTm9kZSBleHRlbmRzIE92ZXJyaWRlU2V0dGluZ3NCYXNlIHtcbiAgcHJvY2Vzc05vZGU6IChub2RlOiBIVE1MVG9SZWFjdE5vZGUsIHByb3BzOiBvYmplY3QpID0+IFJlYWN0LlJlYWN0Tm9kZTtcbn1cblxuZXhwb3J0IHR5cGUgTWFya2Rvd25PdmVycmlkZVNldHRpbmcgPVxuICB8IE92ZXJyaWRlU2V0dGluZ3NDb21wb25lbnRcbiAgfCBPdmVycmlkZVNldHRpbmdzUHJvY2Vzc05vZGU7XG5cbmV4cG9ydCB0eXBlIE1hcmtkb3duT3ZlcnJpZGVTZXR0aW5ncyA9IHtcbiAgW2k6IHN0cmluZ106IE1hcmtkb3duT3ZlcnJpZGVTZXR0aW5nO1xufTtcblxuY29uc3QgcHJvY2Vzc0F0dHJpYnV0ZVZhbHVlID0gKHZhbHVlOiBzdHJpbmcgfCBib29sZWFuKSA9PiB7XG4gIGlmICh2YWx1ZSA9PT0gJ3RydWUnKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAodmFsdWUgPT09ICdmYWxzZScpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdmFsdWUgfHwgdHJ1ZTtcbn07XG5cbi8vIENvbnZlcnQgaHRtbCBhdHRyaWJ1dGVzIHRvIHZhbGlkIHJlYWN0IHByb3BzXG5leHBvcnQgY29uc3QgcHJvY2Vzc0F0dHJpYnV0ZXMgPSAoYXR0cmlidXRlczogQXR0cmlidXRlc01hcCA9IHt9KSA9PlxuICBPYmplY3Qua2V5cyhhdHRyaWJ1dGVzKS5yZWR1Y2UoKGFjYywgYXR0cikgPT4ge1xuICAgIGNvbnN0IHJlYWN0QXR0ciA9IGF0dHJpYnV0ZU1hcFthdHRyLnJlcGxhY2UoL1stOl0vLCAnJyldIHx8IGF0dHI7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uYWNjLFxuICAgICAgW3JlYWN0QXR0cl06IHByb2Nlc3NBdHRyaWJ1dGVWYWx1ZShhdHRyaWJ1dGVzW2F0dHJdKSxcbiAgICB9O1xuICB9LCB7fSk7XG5cbi8qKlxuICogRXh0cmFjdHMgYGtleWAgZnJvbSBwcm9wcyBiZWZvcmUgc3ByZWFkaW5nIGludG8gSlNYLlxuICogaHRtbC10by1yZWFjdCBpbmNsdWRlcyBrZXkgaW4gdGhlIHByb3BzIG9iamVjdDsgUmVhY3QgcmVxdWlyZXMga2V5cyB0byBiZSBwYXNzZWRcbiAqIGRpcmVjdGx5LCBub3QgdmlhIHNwcmVhZC4gVXNlIHRoaXMgd2hlbiByZW5kZXJpbmcgY29tcG9uZW50cyBmcm9tIG92ZXJyaWRlIGZhY3Rvcmllcy5cbiAqL1xuY29uc3QgcHJvcHNXaXRoS2V5ID0gPFAgZXh0ZW5kcyBvYmplY3Q+KFxuICBwcm9wczogUCAmIHsga2V5PzogUmVhY3QuS2V5IH0sXG4gIHJlbmRlcjogKHJlc3Q6IE9taXQ8UCwgJ2tleSc+LCBrZXk6IFJlYWN0LktleSB8IHVuZGVmaW5lZCkgPT4gUmVhY3QuUmVhY3ROb2RlXG4pID0+IHtcbiAgY29uc3QgeyBrZXk6IGVsZW1lbnRLZXksIC4uLnJlc3QgfSA9IHByb3BzO1xuICByZXR1cm4gcmVuZGVyKHJlc3QgYXMgT21pdDxQLCAna2V5Jz4sIGVsZW1lbnRLZXkpO1xufTtcblxuLy8gZ2VuZXJpYyBodG1sIHRhZyBvdmVycmlkZVxuZXhwb3J0IGNvbnN0IGNyZWF0ZVRhZ092ZXJyaWRlID0gKFxuICB0YWdOYW1lOiBzdHJpbmcsXG4gIE92ZXJyaWRlOiBNYXJrZG93bk92ZXJyaWRlU2V0dGluZ1xuKSA9PiAoe1xuICBzaG91bGRQcm9jZXNzTm9kZShub2RlOiBIVE1MVG9SZWFjdE5vZGUpIHtcbiAgICBpZiAoIU92ZXJyaWRlKSByZXR1cm4gZmFsc2U7XG5cbiAgICBpZiAoT3ZlcnJpZGUuc2hvdWxkUHJvY2Vzc05vZGUpIHtcbiAgICAgIHJldHVybiBPdmVycmlkZS5zaG91bGRQcm9jZXNzTm9kZShub2RlKTtcbiAgICB9XG4gICAgcmV0dXJuIG5vZGUubmFtZSA9PT0gdGFnTmFtZS50b0xvd2VyQ2FzZSgpO1xuICB9LFxuICBwcm9jZXNzTm9kZShcbiAgICBub2RlOiBIVE1MVG9SZWFjdE5vZGUsXG4gICAgY2hpbGRyZW46IEhUTUxUb1JlYWN0Tm9kZVtdLFxuICAgIGtleTogUmVhY3QuS2V5XG4gICkge1xuICAgIGlmICghT3ZlcnJpZGUpIHJldHVybiBudWxsO1xuXG4gICAgY29uc3QgcHJvcHMgPSB7XG4gICAgICAuLi5wcm9jZXNzQXR0cmlidXRlcyhub2RlLmF0dHJpYnMpLFxuICAgICAgY2hpbGRyZW4sXG4gICAgICBrZXksXG4gICAgfTtcblxuICAgIGlmIChPdmVycmlkZS5wcm9jZXNzTm9kZSkge1xuICAgICAgcmV0dXJuIE92ZXJyaWRlLnByb2Nlc3NOb2RlKG5vZGUsIHByb3BzKTtcbiAgICB9XG5cbiAgICBjb25zdCBDb21wb25lbnQgPSBPdmVycmlkZS5jb21wb25lbnQ7XG4gICAgaWYgKCFDb21wb25lbnQpIHJldHVybiBudWxsO1xuXG4gICAgcmV0dXJuIHByb3BzV2l0aEtleShwcm9wcywgKHJlc3QsIGtleSkgPT4gKFxuICAgICAgPENvbXBvbmVudCBrZXk9e2tleX0gey4uLnJlc3R9IC8+XG4gICAgKSk7XG4gIH0sXG59KTtcblxudHlwZSBDcmVhdGVWaWRlb092ZXJyaWRlQXJncyA9IHtcbiAgdGFnTmFtZTogc3RyaW5nO1xuICBPdmVycmlkZTogTWFya2Rvd25PdmVycmlkZVNldHRpbmc7XG59O1xuXG4vLyBnZW5lcmljIHZpZGVvIHRhZyBvdmVycmlkZVxuZXhwb3J0IGNvbnN0IGNyZWF0ZVZpZGVvT3ZlcnJpZGUgPSAoe1xuICB0YWdOYW1lLFxuICBPdmVycmlkZSxcbn06IENyZWF0ZVZpZGVvT3ZlcnJpZGVBcmdzKSA9PiAoe1xuICBzaG91bGRQcm9jZXNzTm9kZShub2RlOiBIVE1MVG9SZWFjdE5vZGUpIHtcbiAgICBpZiAoIU92ZXJyaWRlKSByZXR1cm4gZmFsc2U7XG5cbiAgICBpZiAoT3ZlcnJpZGUuc2hvdWxkUHJvY2Vzc05vZGUpIHtcbiAgICAgIHJldHVybiBPdmVycmlkZS5zaG91bGRQcm9jZXNzTm9kZShub2RlKTtcbiAgICB9XG4gICAgcmV0dXJuIG5vZGUubmFtZSA9PT0gdGFnTmFtZS50b0xvd2VyQ2FzZSgpO1xuICB9LFxuICBwcm9jZXNzTm9kZShcbiAgICBub2RlOiBIVE1MVG9SZWFjdE5vZGUsXG4gICAgY2hpbGRyZW46IEhUTUxUb1JlYWN0Tm9kZVtdLFxuICAgIGtleTogUmVhY3QuS2V5XG4gICkge1xuICAgIGlmICghT3ZlcnJpZGUpIHJldHVybiBudWxsO1xuXG4gICAgY29uc3QgeyBzcmMsIC4uLnByb2Nlc3NlZEF0dHJpYnV0ZXMgfSA9IHByb2Nlc3NBdHRyaWJ1dGVzKFxuICAgICAgbm9kZS5hdHRyaWJzXG4gICAgKSBhcyBhbnk7XG5cbiAgICBjb25zdCBhbHRWaWRlb1NyYyA9IFtdIGFzIGFueTtcbiAgICBjb25zdCB0ZXh0VHJhY2tzID0gW10gYXMgYW55O1xuXG4gICAgaWYgKGNoaWxkcmVuKSB7XG4gICAgICBjaGlsZHJlbi5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcbiAgICAgICAgaWYgKGVsZW1lbnQudHlwZSA9PT0gJ3NvdXJjZScgJiYgZWxlbWVudD8ucHJvcHM/LnNyYykge1xuICAgICAgICAgIGlmIChlbGVtZW50LnByb3BzPy50eXBlLmluY2x1ZGVzKCd2aWRlbycpKSB7XG4gICAgICAgICAgICBhbHRWaWRlb1NyYy5wdXNoKHtcbiAgICAgICAgICAgICAgc3JjOiBlbGVtZW50Py5wcm9wcy5zcmMsXG4gICAgICAgICAgICAgIHR5cGU6IGVsZW1lbnQ/LnByb3BzLnR5cGUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gLy8gT25jZSB3ZSBlbmFibGUgY2FwdGlvbnMgaW4gdGhlIFZpZGVvIGNvbXBvbmVudCwgd2UgY2FuIGFkZCBhbiBhZGRpdGlvbmFsIGNoZWNrIGhlcmUgLSBHTS05MDlcbiAgICAgICAgZWxzZSBpZiAoZWxlbWVudC50eXBlID09PSAndHJhY2snKSB7XG4gICAgICAgICAgdGV4dFRyYWNrcy5wdXNoKHtcbiAgICAgICAgICAgIHNyYzogZWxlbWVudD8ucHJvcHMuc3JjLFxuICAgICAgICAgICAgbGFuZ3VhZ2U6IGVsZW1lbnQ/LnByb3BzLnNyY0xhbmcsXG4gICAgICAgICAgICBkZWZhdWx0OiBlbGVtZW50Py5wcm9wcy5kZWZhdWx0LFxuICAgICAgICAgICAga2luZDogZWxlbWVudD8ucHJvcHMua2luZCxcbiAgICAgICAgICAgIGxhYmVsOiBlbGVtZW50Py5wcm9wcy5sYWJlbCxcbiAgICAgICAgICAgIHR5cGU6IGVsZW1lbnQ/LnByb3BzLnR5cGUsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IHByb3BzID0ge1xuICAgICAgc3JjOiBhbHRWaWRlb1NyYy5sZW5ndGggPiAwID8gYWx0VmlkZW9TcmMgOiBzcmMsXG4gICAgICB0ZXh0VHJhY2tzLFxuICAgICAgLi4ucHJvY2Vzc2VkQXR0cmlidXRlcyxcbiAgICAgIGNoaWxkcmVuLFxuICAgICAga2V5LFxuICAgIH07XG5cbiAgICBpZiAoT3ZlcnJpZGUucHJvY2Vzc05vZGUpIHtcbiAgICAgIHJldHVybiBPdmVycmlkZS5wcm9jZXNzTm9kZShub2RlLCBwcm9wcyk7XG4gICAgfVxuXG4gICAgY29uc3QgQ29tcG9uZW50ID0gT3ZlcnJpZGUuY29tcG9uZW50O1xuICAgIGlmICghQ29tcG9uZW50KSByZXR1cm4gbnVsbDtcblxuICAgIHJldHVybiBwcm9wc1dpdGhLZXkocHJvcHMsIChyZXN0LCBrZXkpID0+IChcbiAgICAgIDxDb21wb25lbnQga2V5PXtrZXl9IHsuLi5yZXN0fSAvPlxuICAgICkpO1xuICB9LFxufSk7XG5cbi8vIEFsbG93cyA8Q29kZUJsb2NrPjwvQ29kZUJsb2NrPiBvdmVycmlkZSBhbmQgb3ZlcnJpZGVzIG9mIHN0YW5kYXJkIGZlbmNlZCBjb2RlYmxvY2tzXG5leHBvcnQgY29uc3QgY3JlYXRlQ29kZUJsb2NrT3ZlcnJpZGUgPSAoXG4gIHRhZ05hbWU6IHN0cmluZyxcbiAgT3ZlcnJpZGU6IE1hcmtkb3duT3ZlcnJpZGVTZXR0aW5nXG4pID0+XG4gIGNyZWF0ZVRhZ092ZXJyaWRlKHRhZ05hbWUsIHtcbiAgICBzaG91bGRQcm9jZXNzTm9kZShub2RlOiBIVE1MVG9SZWFjdE5vZGUpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIChub2RlLm5hbWUgPT09ICdjb2RlJyAmJiBnZXQobm9kZSwgJ3BhcmVudC5uYW1lJykgPT09ICdwcmUnKSB8fFxuICAgICAgICBub2RlLm5hbWUgPT09IHRhZ05hbWUudG9Mb3dlckNhc2UoKVxuICAgICAgKTtcbiAgICB9LFxuXG4gICAgcHJvY2Vzc05vZGUobm9kZTogSFRNTFRvUmVhY3ROb2RlLCBwcm9wczogYW55KSB7XG4gICAgICBjb25zdCBbLCBsYW5ndWFnZSA9IHVuZGVmaW5lZF0gPVxuICAgICAgICBwcm9wcy5jbGFzc05hbWU/Lm1hdGNoKC9sYW5ndWFnZS0oW15cXHNdKykvKSB8fCBbXTtcblxuICAgICAgY29uc3QgQ29tcG9uZW50ID0gT3ZlcnJpZGUuY29tcG9uZW50O1xuICAgICAgaWYgKCFDb21wb25lbnQpIHJldHVybiBudWxsO1xuXG4gICAgICByZXR1cm4gcHJvcHNXaXRoS2V5KHByb3BzLCAocmVzdCwga2V5KSA9PiAoXG4gICAgICAgIDxDb21wb25lbnQga2V5PXtrZXl9IHsuLi5yZXN0fSBsYW5ndWFnZT17bGFuZ3VhZ2V9PlxuICAgICAgICAgIHtyZXN0LmNoaWxkcmVuPy5bMF19XG4gICAgICAgIDwvQ29tcG9uZW50PlxuICAgICAgKSk7XG4gICAgfSxcbiAgICAuLi5PdmVycmlkZSxcbiAgfSk7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVJbnB1dE92ZXJyaWRlID0gKFxuICB0eXBlOiBzdHJpbmcsXG4gIE92ZXJyaWRlOiBNYXJrZG93bk92ZXJyaWRlU2V0dGluZ1xuKSA9PlxuICBjcmVhdGVUYWdPdmVycmlkZSgnaW5wdXQnLCB7XG4gICAgc2hvdWxkUHJvY2Vzc05vZGUobm9kZTogSFRNTFRvUmVhY3ROb2RlKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBpc0NoZWNrYm94UGFyZW50KG5vZGUsIHR5cGUpIHx8XG4gICAgICAgIGlzSW5wdXQobm9kZSwgdHlwZSkgfHxcbiAgICAgICAgaXNMYWJlbFRleHQobm9kZSwgdHlwZSlcbiAgICAgICk7XG4gICAgfSxcblxuICAgIHByb2Nlc3NOb2RlKG5vZGU6IEhUTUxUb1JlYWN0Tm9kZSwgcHJvcHM6IGFueSkge1xuICAgICAgY29uc3QgbGFiZWwgPSBnZXRMYWJlbChub2RlKTtcblxuICAgICAgY29uc3QgQ29tcG9uZW50ID0gT3ZlcnJpZGUuY29tcG9uZW50O1xuICAgICAgaWYgKCFDb21wb25lbnQpIHJldHVybiBudWxsO1xuXG4gICAgICByZXR1cm4gcHJvcHNXaXRoS2V5KHByb3BzLCAocmVzdCwga2V5KSA9PiB7XG4gICAgICAgIGlmIChpc0NoZWNrYm94UGFyZW50KG5vZGUsIHR5cGUpKSB7XG4gICAgICAgICAgcmV0dXJuIDxDaGVja2JveFBhcmVudExpIGtleT17a2V5fSB7Li4ucmVzdH0gLz47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNMYWJlbFRleHQobm9kZSwgdHlwZSkpIHJldHVybiBudWxsO1xuXG4gICAgICAgIHJldHVybiA8Q29tcG9uZW50IGtleT17a2V5fSBsYWJlbD17bGFiZWx9IHsuLi5yZXN0fSAvPjtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgLi4uT3ZlcnJpZGUsXG4gIH0pO1xuXG5jb25zdCBwcm9jZXNzVGV4dCA9ICh0ZXh0OiBzdHJpbmcpID0+IHtcbiAgLy8gUmVwbGFjZSAmbWRhc2g7IGR1ZSB0byBsZWdhY3kgbWFya2Rvd24gdGhhdCBkaWRuJ3QgdXNlIHNtYXJ0IGRhc2hlc1xuICByZXR1cm4gdGV4dC5yZXBsYWNlKC8mbWRhc2g7L2csICdcXHUyMDE0Jyk7XG59O1xuXG5leHBvcnQgY29uc3Qgc3RhbmRhcmRPdmVycmlkZXMgPSBbXG4gIHtcbiAgICBzaG91bGRQcm9jZXNzTm9kZShub2RlOiBIVE1MVG9SZWFjdE5vZGUpIHtcbiAgICAgIC8vIFBhcnNlIHRleHQgb3V0c2lkZSBvZiBjb2RlIGJsb2Nrc1xuICAgICAgaWYgKG5vZGUucGFyZW50ICYmIFsnY29kZScsICdwcmUnXS5pbmRleE9mKG5vZGUucGFyZW50Lm5hbWUhKSA+PSAwKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmIChub2RlLnR5cGUgPT09ICd0ZXh0JykgcmV0dXJuIHRydWU7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSxcbiAgICBwcm9jZXNzTm9kZShub2RlOiBIVE1MVG9SZWFjdE5vZGUpIHtcbiAgICAgIHJldHVybiBwcm9jZXNzVGV4dChub2RlLmRhdGEpO1xuICAgIH0sXG4gIH0sXG5cbiAge1xuICAgIHNob3VsZFByb2Nlc3NOb2RlKCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSxcbiAgICBwcm9jZXNzTm9kZTogcHJvY2Vzc05vZGVEZWZpbml0aW9ucy5wcm9jZXNzRGVmYXVsdE5vZGUsXG4gIH0sXG5dO1xuIl19 */",
+ styles: "&::before{display:none!important;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9NYXJrZG93bi9saWJzL292ZXJyaWRlcy9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0JrQyIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvTWFya2Rvd24vbGlicy9vdmVycmlkZXMvaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IEh0bWxUb1JlYWN0IGZyb20gJ2h0bWwtdG8tcmVhY3QnO1xuaW1wb3J0IGNhbWVsQ2FzZU1hcCBmcm9tICdodG1sLXRvLXJlYWN0L2xpYi9jYW1lbC1jYXNlLWF0dHJpYnV0ZS1uYW1lcyc7XG5pbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC9nZXQnO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQge1xuICBnZXRMYWJlbCxcbiAgaXNDaGVja2JveFBhcmVudCxcbiAgaXNJbnB1dCxcbiAgaXNMYWJlbFRleHQsXG4gIGlzVmlkZW9Pbmx5UGFyYWdyYXBoLFxufSBmcm9tICcuL3V0aWxzJztcblxuY29uc3QgcHJvY2Vzc05vZGVEZWZpbml0aW9ucyA9IEh0bWxUb1JlYWN0LlByb2Nlc3NOb2RlRGVmaW5pdGlvbnMoKTtcblxuY29uc3QgQ2hlY2tib3hQYXJlbnRMaSA9IHN0eWxlZC5saWBcbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbmA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXR0cmlidXRlc01hcCB7XG4gIFtrZXk6IHN0cmluZ106IHN0cmluZyB8IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSFRNTFRvUmVhY3ROb2RlIHtcbiAgZGF0YTogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGNoaWxkcmVuPzogSFRNTFRvUmVhY3ROb2RlW107XG4gIGF0dHJpYnM/OiBhbnk7XG4gIG5leHQ6IEhUTUxUb1JlYWN0Tm9kZTtcbiAgcHJldjogSFRNTFRvUmVhY3ROb2RlO1xuICBwYXJlbnQ6IEhUTUxUb1JlYWN0Tm9kZTtcbn1cblxuLy8gTWFwcGluZyBvZiBodG1sIGF0dHJpYnV0ZXMgdG8gdGhlaXIgY2FtZWxDYXNlIHZhcmlhbnRzXG5jb25zdCBhdHRyaWJ1dGVNYXA6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gIC4uLmNhbWVsQ2FzZU1hcCxcbiAgZm9yOiAnaHRtbEZvcicsXG4gIGNsYXNzOiAnY2xhc3NOYW1lJyxcbn07XG5cbnR5cGUgT3ZlcnJpZGVTZXR0aW5nc0Jhc2UgPSB7XG4gIGNvbXBvbmVudD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PjtcbiAgYWxsb3dlZEF0dHJpYnV0ZXM/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIFJlY2VpdmVzIHByb3BzIGZyb20gaHRtbC10by1yZWFjdCBpbmNsdWRpbmcgYGtleWAuIFdoZW4gc3ByZWFkaW5nIHByb3BzIGludG8gSlNYLFxuICAgKiBleHRyYWN0IGtleSBmaXJzdCAoZS5nLiBgY29uc3QgeyBrZXksIC4uLnJlc3QgfSA9IHByb3BzOyByZXR1cm4gPENvbXBvbmVudCBrZXk9e2tleX0gey4uLnJlc3R9IC8+YClcbiAgICovXG4gIHByb2Nlc3NOb2RlPzogKG5vZGU6IEhUTUxUb1JlYWN0Tm9kZSwgcHJvcHM6IG9iamVjdCkgPT4gUmVhY3QuUmVhY3ROb2RlO1xuICBzaG91bGRQcm9jZXNzTm9kZT86IChub2RlOiBIVE1MVG9SZWFjdE5vZGUpID0+IGJvb2xlYW47XG59O1xuXG5pbnRlcmZhY2UgT3ZlcnJpZGVTZXR0aW5nc0NvbXBvbmVudCBleHRlbmRzIE92ZXJyaWRlU2V0dGluZ3NCYXNlIHtcbiAgY29tcG9uZW50OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT47XG59XG5cbmludGVyZmFjZSBPdmVycmlkZVNldHRpbmdzUHJvY2Vzc05vZGUgZXh0ZW5kcyBPdmVycmlkZVNldHRpbmdzQmFzZSB7XG4gIHByb2Nlc3NOb2RlOiAobm9kZTogSFRNTFRvUmVhY3ROb2RlLCBwcm9wczogb2JqZWN0KSA9PiBSZWFjdC5SZWFjdE5vZGU7XG59XG5cbmV4cG9ydCB0eXBlIE1hcmtkb3duT3ZlcnJpZGVTZXR0aW5nID1cbiAgfCBPdmVycmlkZVNldHRpbmdzQ29tcG9uZW50XG4gIHwgT3ZlcnJpZGVTZXR0aW5nc1Byb2Nlc3NOb2RlO1xuXG5leHBvcnQgdHlwZSBNYXJrZG93bk92ZXJyaWRlU2V0dGluZ3MgPSB7XG4gIFtpOiBzdHJpbmddOiBNYXJrZG93bk92ZXJyaWRlU2V0dGluZztcbn07XG5cbmNvbnN0IHByb2Nlc3NBdHRyaWJ1dGVWYWx1ZSA9ICh2YWx1ZTogc3RyaW5nIHwgYm9vbGVhbikgPT4ge1xuICBpZiAodmFsdWUgPT09ICd0cnVlJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHZhbHVlID09PSAnZmFsc2UnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHZhbHVlIHx8IHRydWU7XG59O1xuXG4vLyBDb252ZXJ0IGh0bWwgYXR0cmlidXRlcyB0byB2YWxpZCByZWFjdCBwcm9wc1xuZXhwb3J0IGNvbnN0IHByb2Nlc3NBdHRyaWJ1dGVzID0gKGF0dHJpYnV0ZXM6IEF0dHJpYnV0ZXNNYXAgPSB7fSkgPT5cbiAgT2JqZWN0LmtleXMoYXR0cmlidXRlcykucmVkdWNlKChhY2MsIGF0dHIpID0+IHtcbiAgICBjb25zdCByZWFjdEF0dHIgPSBhdHRyaWJ1dGVNYXBbYXR0ci5yZXBsYWNlKC9bLTpdLywgJycpXSB8fCBhdHRyO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmFjYyxcbiAgICAgIFtyZWFjdEF0dHJdOiBwcm9jZXNzQXR0cmlidXRlVmFsdWUoYXR0cmlidXRlc1thdHRyXSksXG4gICAgfTtcbiAgfSwge30pO1xuXG4vKipcbiAqIEV4dHJhY3RzIGBrZXlgIGZyb20gcHJvcHMgYmVmb3JlIHNwcmVhZGluZyBpbnRvIEpTWC5cbiAqIGh0bWwtdG8tcmVhY3QgaW5jbHVkZXMga2V5IGluIHRoZSBwcm9wcyBvYmplY3Q7IFJlYWN0IHJlcXVpcmVzIGtleXMgdG8gYmUgcGFzc2VkXG4gKiBkaXJlY3RseSwgbm90IHZpYSBzcHJlYWQuIFVzZSB0aGlzIHdoZW4gcmVuZGVyaW5nIGNvbXBvbmVudHMgZnJvbSBvdmVycmlkZSBmYWN0b3JpZXMuXG4gKi9cbmNvbnN0IHByb3BzV2l0aEtleSA9IDxQIGV4dGVuZHMgb2JqZWN0PihcbiAgcHJvcHM6IFAgJiB7IGtleT86IFJlYWN0LktleSB9LFxuICByZW5kZXI6IChyZXN0OiBPbWl0PFAsICdrZXknPiwga2V5OiBSZWFjdC5LZXkgfCB1bmRlZmluZWQpID0+IFJlYWN0LlJlYWN0Tm9kZVxuKSA9PiB7XG4gIGNvbnN0IHsga2V5OiBlbGVtZW50S2V5LCAuLi5yZXN0IH0gPSBwcm9wcztcbiAgcmV0dXJuIHJlbmRlcihyZXN0IGFzIE9taXQ8UCwgJ2tleSc+LCBlbGVtZW50S2V5KTtcbn07XG5cbi8vIGdlbmVyaWMgaHRtbCB0YWcgb3ZlcnJpZGVcbmV4cG9ydCBjb25zdCBjcmVhdGVUYWdPdmVycmlkZSA9IChcbiAgdGFnTmFtZTogc3RyaW5nLFxuICBPdmVycmlkZTogTWFya2Rvd25PdmVycmlkZVNldHRpbmdcbikgPT4gKHtcbiAgc2hvdWxkUHJvY2Vzc05vZGUobm9kZTogSFRNTFRvUmVhY3ROb2RlKSB7XG4gICAgaWYgKCFPdmVycmlkZSkgcmV0dXJuIGZhbHNlO1xuXG4gICAgaWYgKE92ZXJyaWRlLnNob3VsZFByb2Nlc3NOb2RlKSB7XG4gICAgICByZXR1cm4gT3ZlcnJpZGUuc2hvdWxkUHJvY2Vzc05vZGUobm9kZSk7XG4gICAgfVxuICAgIHJldHVybiBub2RlLm5hbWUgPT09IHRhZ05hbWUudG9Mb3dlckNhc2UoKTtcbiAgfSxcbiAgcHJvY2Vzc05vZGUoXG4gICAgbm9kZTogSFRNTFRvUmVhY3ROb2RlLFxuICAgIGNoaWxkcmVuOiBIVE1MVG9SZWFjdE5vZGVbXSxcbiAgICBrZXk6IFJlYWN0LktleVxuICApIHtcbiAgICBpZiAoIU92ZXJyaWRlKSByZXR1cm4gbnVsbDtcblxuICAgIGNvbnN0IHByb3BzID0ge1xuICAgICAgLi4ucHJvY2Vzc0F0dHJpYnV0ZXMobm9kZS5hdHRyaWJzKSxcbiAgICAgIGNoaWxkcmVuLFxuICAgICAga2V5LFxuICAgIH07XG5cbiAgICBpZiAoT3ZlcnJpZGUucHJvY2Vzc05vZGUpIHtcbiAgICAgIHJldHVybiBPdmVycmlkZS5wcm9jZXNzTm9kZShub2RlLCBwcm9wcyk7XG4gICAgfVxuXG4gICAgY29uc3QgQ29tcG9uZW50ID0gT3ZlcnJpZGUuY29tcG9uZW50O1xuICAgIGlmICghQ29tcG9uZW50KSByZXR1cm4gbnVsbDtcblxuICAgIHJldHVybiBwcm9wc1dpdGhLZXkocHJvcHMsIChyZXN0LCBrZXkpID0+IChcbiAgICAgIDxDb21wb25lbnQga2V5PXtrZXl9IHsuLi5yZXN0fSAvPlxuICAgICkpO1xuICB9LFxufSk7XG5cbnR5cGUgQ3JlYXRlVmlkZW9PdmVycmlkZUFyZ3MgPSB7XG4gIHRhZ05hbWU6IHN0cmluZztcbiAgT3ZlcnJpZGU6IE1hcmtkb3duT3ZlcnJpZGVTZXR0aW5nO1xufTtcblxuLy8gZ2VuZXJpYyB2aWRlbyB0YWcgb3ZlcnJpZGVcbmV4cG9ydCBjb25zdCBjcmVhdGVWaWRlb092ZXJyaWRlID0gKHtcbiAgdGFnTmFtZSxcbiAgT3ZlcnJpZGUsXG59OiBDcmVhdGVWaWRlb092ZXJyaWRlQXJncykgPT4gKHtcbiAgc2hvdWxkUHJvY2Vzc05vZGUobm9kZTogSFRNTFRvUmVhY3ROb2RlKSB7XG4gICAgaWYgKCFPdmVycmlkZSkgcmV0dXJuIGZhbHNlO1xuXG4gICAgaWYgKE92ZXJyaWRlLnNob3VsZFByb2Nlc3NOb2RlKSB7XG4gICAgICByZXR1cm4gT3ZlcnJpZGUuc2hvdWxkUHJvY2Vzc05vZGUobm9kZSk7XG4gICAgfVxuICAgIHJldHVybiBub2RlLm5hbWUgPT09IHRhZ05hbWUudG9Mb3dlckNhc2UoKTtcbiAgfSxcbiAgcHJvY2Vzc05vZGUoXG4gICAgbm9kZTogSFRNTFRvUmVhY3ROb2RlLFxuICAgIGNoaWxkcmVuOiBIVE1MVG9SZWFjdE5vZGVbXSxcbiAgICBrZXk6IFJlYWN0LktleVxuICApIHtcbiAgICBpZiAoIU92ZXJyaWRlKSByZXR1cm4gbnVsbDtcblxuICAgIGNvbnN0IHsgc3JjLCAuLi5wcm9jZXNzZWRBdHRyaWJ1dGVzIH0gPSBwcm9jZXNzQXR0cmlidXRlcyhcbiAgICAgIG5vZGUuYXR0cmlic1xuICAgICkgYXMgYW55O1xuXG4gICAgY29uc3QgYWx0VmlkZW9TcmMgPSBbXSBhcyBhbnk7XG4gICAgY29uc3QgdGV4dFRyYWNrcyA9IFtdIGFzIGFueTtcblxuICAgIGlmIChjaGlsZHJlbikge1xuICAgICAgY2hpbGRyZW4uZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XG4gICAgICAgIGlmIChlbGVtZW50LnR5cGUgPT09ICdzb3VyY2UnICYmIGVsZW1lbnQ/LnByb3BzPy5zcmMpIHtcbiAgICAgICAgICBpZiAoZWxlbWVudC5wcm9wcz8udHlwZS5pbmNsdWRlcygndmlkZW8nKSkge1xuICAgICAgICAgICAgYWx0VmlkZW9TcmMucHVzaCh7XG4gICAgICAgICAgICAgIHNyYzogZWxlbWVudD8ucHJvcHMuc3JjLFxuICAgICAgICAgICAgICB0eXBlOiBlbGVtZW50Py5wcm9wcy50eXBlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IC8vIE9uY2Ugd2UgZW5hYmxlIGNhcHRpb25zIGluIHRoZSBWaWRlbyBjb21wb25lbnQsIHdlIGNhbiBhZGQgYW4gYWRkaXRpb25hbCBjaGVjayBoZXJlIC0gR00tOTA5XG4gICAgICAgIGVsc2UgaWYgKGVsZW1lbnQudHlwZSA9PT0gJ3RyYWNrJykge1xuICAgICAgICAgIHRleHRUcmFja3MucHVzaCh7XG4gICAgICAgICAgICBzcmM6IGVsZW1lbnQ/LnByb3BzLnNyYyxcbiAgICAgICAgICAgIGxhbmd1YWdlOiBlbGVtZW50Py5wcm9wcy5zcmNMYW5nLFxuICAgICAgICAgICAgZGVmYXVsdDogZWxlbWVudD8ucHJvcHMuZGVmYXVsdCxcbiAgICAgICAgICAgIGtpbmQ6IGVsZW1lbnQ/LnByb3BzLmtpbmQsXG4gICAgICAgICAgICBsYWJlbDogZWxlbWVudD8ucHJvcHMubGFiZWwsXG4gICAgICAgICAgICB0eXBlOiBlbGVtZW50Py5wcm9wcy50eXBlLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBwcm9wcyA9IHtcbiAgICAgIHNyYzogYWx0VmlkZW9TcmMubGVuZ3RoID4gMCA/IGFsdFZpZGVvU3JjIDogc3JjLFxuICAgICAgdGV4dFRyYWNrcyxcbiAgICAgIC4uLnByb2Nlc3NlZEF0dHJpYnV0ZXMsXG4gICAgICBjaGlsZHJlbixcbiAgICAgIGtleSxcbiAgICB9O1xuXG4gICAgaWYgKE92ZXJyaWRlLnByb2Nlc3NOb2RlKSB7XG4gICAgICByZXR1cm4gT3ZlcnJpZGUucHJvY2Vzc05vZGUobm9kZSwgcHJvcHMpO1xuICAgIH1cblxuICAgIGNvbnN0IENvbXBvbmVudCA9IE92ZXJyaWRlLmNvbXBvbmVudDtcbiAgICBpZiAoIUNvbXBvbmVudCkgcmV0dXJuIG51bGw7XG5cbiAgICByZXR1cm4gcHJvcHNXaXRoS2V5KHByb3BzLCAocmVzdCwga2V5KSA9PiAoXG4gICAgICA8Q29tcG9uZW50IGtleT17a2V5fSB7Li4ucmVzdH0gLz5cbiAgICApKTtcbiAgfSxcbn0pO1xuXG4vLyBEcm9wcyB0aGUgPHA+IG1hcmtlZCB3cmFwcyBhcm91bmQgYSBzaW5nbGUtbGluZSB2aWRlbywgc2luY2UgdGhlIFZpZGVvIGNvbXBvbmVudCByZW5kZXJzIGJsb2NrLWxldmVsIGVsZW1lbnRzXG5leHBvcnQgY29uc3QgY3JlYXRlVmlkZW9QYXJhZ3JhcGhPdmVycmlkZSA9ICgpID0+ICh7XG4gIHNob3VsZFByb2Nlc3NOb2RlKG5vZGU6IEhUTUxUb1JlYWN0Tm9kZSkge1xuICAgIHJldHVybiBpc1ZpZGVvT25seVBhcmFncmFwaChub2RlKTtcbiAgfSxcbiAgcHJvY2Vzc05vZGUoXG4gICAgX25vZGU6IEhUTUxUb1JlYWN0Tm9kZSxcbiAgICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlW10sXG4gICAga2V5OiBSZWFjdC5LZXlcbiAgKSB7XG4gICAgcmV0dXJuIDxSZWFjdC5GcmFnbWVudCBrZXk9e2tleX0+e2NoaWxkcmVufTwvUmVhY3QuRnJhZ21lbnQ+O1xuICB9LFxufSk7XG5cbi8vIEFsbG93cyA8Q29kZUJsb2NrPjwvQ29kZUJsb2NrPiBvdmVycmlkZSBhbmQgb3ZlcnJpZGVzIG9mIHN0YW5kYXJkIGZlbmNlZCBjb2RlYmxvY2tzXG5leHBvcnQgY29uc3QgY3JlYXRlQ29kZUJsb2NrT3ZlcnJpZGUgPSAoXG4gIHRhZ05hbWU6IHN0cmluZyxcbiAgT3ZlcnJpZGU6IE1hcmtkb3duT3ZlcnJpZGVTZXR0aW5nXG4pID0+XG4gIGNyZWF0ZVRhZ092ZXJyaWRlKHRhZ05hbWUsIHtcbiAgICBzaG91bGRQcm9jZXNzTm9kZShub2RlOiBIVE1MVG9SZWFjdE5vZGUpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIChub2RlLm5hbWUgPT09ICdjb2RlJyAmJiBnZXQobm9kZSwgJ3BhcmVudC5uYW1lJykgPT09ICdwcmUnKSB8fFxuICAgICAgICBub2RlLm5hbWUgPT09IHRhZ05hbWUudG9Mb3dlckNhc2UoKVxuICAgICAgKTtcbiAgICB9LFxuXG4gICAgcHJvY2Vzc05vZGUobm9kZTogSFRNTFRvUmVhY3ROb2RlLCBwcm9wczogYW55KSB7XG4gICAgICBjb25zdCBbLCBsYW5ndWFnZSA9IHVuZGVmaW5lZF0gPVxuICAgICAgICBwcm9wcy5jbGFzc05hbWU/Lm1hdGNoKC9sYW5ndWFnZS0oW15cXHNdKykvKSB8fCBbXTtcblxuICAgICAgY29uc3QgQ29tcG9uZW50ID0gT3ZlcnJpZGUuY29tcG9uZW50O1xuICAgICAgaWYgKCFDb21wb25lbnQpIHJldHVybiBudWxsO1xuXG4gICAgICByZXR1cm4gcHJvcHNXaXRoS2V5KHByb3BzLCAocmVzdCwga2V5KSA9PiAoXG4gICAgICAgIDxDb21wb25lbnQga2V5PXtrZXl9IHsuLi5yZXN0fSBsYW5ndWFnZT17bGFuZ3VhZ2V9PlxuICAgICAgICAgIHtyZXN0LmNoaWxkcmVuPy5bMF19XG4gICAgICAgIDwvQ29tcG9uZW50PlxuICAgICAgKSk7XG4gICAgfSxcbiAgICAuLi5PdmVycmlkZSxcbiAgfSk7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVJbnB1dE92ZXJyaWRlID0gKFxuICB0eXBlOiBzdHJpbmcsXG4gIE92ZXJyaWRlOiBNYXJrZG93bk92ZXJyaWRlU2V0dGluZ1xuKSA9PlxuICBjcmVhdGVUYWdPdmVycmlkZSgnaW5wdXQnLCB7XG4gICAgc2hvdWxkUHJvY2Vzc05vZGUobm9kZTogSFRNTFRvUmVhY3ROb2RlKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBpc0NoZWNrYm94UGFyZW50KG5vZGUsIHR5cGUpIHx8XG4gICAgICAgIGlzSW5wdXQobm9kZSwgdHlwZSkgfHxcbiAgICAgICAgaXNMYWJlbFRleHQobm9kZSwgdHlwZSlcbiAgICAgICk7XG4gICAgfSxcblxuICAgIHByb2Nlc3NOb2RlKG5vZGU6IEhUTUxUb1JlYWN0Tm9kZSwgcHJvcHM6IGFueSkge1xuICAgICAgY29uc3QgbGFiZWwgPSBnZXRMYWJlbChub2RlKTtcblxuICAgICAgY29uc3QgQ29tcG9uZW50ID0gT3ZlcnJpZGUuY29tcG9uZW50O1xuICAgICAgaWYgKCFDb21wb25lbnQpIHJldHVybiBudWxsO1xuXG4gICAgICByZXR1cm4gcHJvcHNXaXRoS2V5KHByb3BzLCAocmVzdCwga2V5KSA9PiB7XG4gICAgICAgIGlmIChpc0NoZWNrYm94UGFyZW50KG5vZGUsIHR5cGUpKSB7XG4gICAgICAgICAgcmV0dXJuIDxDaGVja2JveFBhcmVudExpIGtleT17a2V5fSB7Li4ucmVzdH0gLz47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNMYWJlbFRleHQobm9kZSwgdHlwZSkpIHJldHVybiBudWxsO1xuXG4gICAgICAgIHJldHVybiA8Q29tcG9uZW50IGtleT17a2V5fSBsYWJlbD17bGFiZWx9IHsuLi5yZXN0fSAvPjtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgLi4uT3ZlcnJpZGUsXG4gIH0pO1xuXG5jb25zdCBwcm9jZXNzVGV4dCA9ICh0ZXh0OiBzdHJpbmcpID0+IHtcbiAgLy8gUmVwbGFjZSAmbWRhc2g7IGR1ZSB0byBsZWdhY3kgbWFya2Rvd24gdGhhdCBkaWRuJ3QgdXNlIHNtYXJ0IGRhc2hlc1xuICByZXR1cm4gdGV4dC5yZXBsYWNlKC8mbWRhc2g7L2csICdcXHUyMDE0Jyk7XG59O1xuXG5leHBvcnQgY29uc3Qgc3RhbmRhcmRPdmVycmlkZXMgPSBbXG4gIHtcbiAgICBzaG91bGRQcm9jZXNzTm9kZShub2RlOiBIVE1MVG9SZWFjdE5vZGUpIHtcbiAgICAgIC8vIFBhcnNlIHRleHQgb3V0c2lkZSBvZiBjb2RlIGJsb2Nrc1xuICAgICAgaWYgKG5vZGUucGFyZW50ICYmIFsnY29kZScsICdwcmUnXS5pbmRleE9mKG5vZGUucGFyZW50Lm5hbWUhKSA+PSAwKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmIChub2RlLnR5cGUgPT09ICd0ZXh0JykgcmV0dXJuIHRydWU7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSxcbiAgICBwcm9jZXNzTm9kZShub2RlOiBIVE1MVG9SZWFjdE5vZGUpIHtcbiAgICAgIHJldHVybiBwcm9jZXNzVGV4dChub2RlLmRhdGEpO1xuICAgIH0sXG4gIH0sXG5cbiAge1xuICAgIHNob3VsZFByb2Nlc3NOb2RlKCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSxcbiAgICBwcm9jZXNzTm9kZTogcHJvY2Vzc05vZGVEZWZpbml0aW9ucy5wcm9jZXNzRGVmYXVsdE5vZGUsXG4gIH0sXG5dO1xuIl19 */",
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
});
// Mapping of html attributes to their camelCase variants
const attributeMap = {
@@ -141,8 +141,20 @@
}, key));
}
});
+// Drops the <p> marked wraps around a single-line video, since the Video component renders block-level elements
+export const createVideoParagraphOverride = () => ({
+ shouldProcessNode(node) {
+ return isVideoOnlyParagraph(node);
+ },
+ processNode(_node, children, key) {
+ return /*#__PURE__*/_jsx(React.Fragment, {
+ children: children
+ }, key);
+ }
+});
+
// Allows <CodeBlock></CodeBlock> override and overrides of standard fenced codeblocks
export const createCodeBlockOverride = (tagName, Override) => createTagOverride(tagName, {
shouldProcessNode(node) {
return node.name === 'code' && get(node, 'parent.name') === 'pre' || node.name === tagName.toLowerCase(); Index: package/dist/Video/index.js
===================================================================
--- package/dist/Video/index.js
+++ package/dist/Video/index.js
@@ -2,11 +2,10 @@
// If they can't be resolved, install them: yarn add @vidstack/react react-player
import * as React from 'react';
import { useEffect, useRef, useState } from 'react';
-import { Box } from '../Box';
import { useIsMounted } from '../utils';
-import { OverlayPlayButton, ReactVideoPlayer } from './lib/ReactPlayer';
+import { OverlayPlayButton, ReactVideoPlayer, VideoFrame } from './lib/ReactPlayer';
import { VidstackPlayer } from './lib/VidstackPlayer';
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
const DEFAULT_VIDEO_TITLE = 'Video player';
export const Video = props => {
@@ -94,15 +93,14 @@
* @TODO [https://skillsoftdev.atlassian.net/browse/GM-998]
* Remove ReactPlayer once Vidstack is validated.
*/
if (isExternallyHostedVideo(videoUrl) && !hasTracksWithCaptionOrSubtitle && showPlayerEmbed) {
- return /*#__PURE__*/_jsx(Box, {
+ return /*#__PURE__*/_jsx(VideoFrame, {
bg: loading ? 'black' : undefined,
borderRadius: "md",
className: className,
overflow: "hidden",
position: "relative",
- pt: '56.25%',
ref: playerWrapperRef,
width: "100%",
children: isMounted ? /*#__PURE__*/_jsx(ReactVideoPlayer, {
config: config,
@@ -116,9 +114,13 @@
}),
playing: autoplay,
src: videoUrl,
title: videoTitle,
- width: "100%",
+ width: "100%"
+ // Without a wrapper, react-player v3 drops `className` and the
+ // 100% size from its splash, so it no longer fills the frame.
+ ,
+ wrapper: "div",
onPlay: onPlay,
onReady: () => {
labelProviderIframe();
onReady?.(); Index: package/dist/Video/lib/ReactPlayer.js
===================================================================
--- package/dist/Video/lib/ReactPlayer.js
+++ package/dist/Video/lib/ReactPlayer.js
@@ -1,10 +1,22 @@
import _styled from "@emotion/styled/base";
import { PlayIcon } from '@codecademy/gamut-icons';
import { css, theme } from '@codecademy/gamut-styles';
import ReactPlayer from 'react-player';
-import { FlexBox } from '../../Box';
+import { Box, FlexBox } from '../../Box';
+
+/*
+ 16:9 by default, but unlike a padding-top ratio box, a height set by the
+ consumer (e.g. `height: 100%` via `className`) wins, so the player and the
+ provider's own splash fit the consumer's frame instead of overflowing it.
+*/
import { jsx as _jsx } from "react/jsx-runtime";
+export const VideoFrame = /*#__PURE__*/_styled(Box, {
+ target: "e179321e2",
+ label: "VideoFrame"
+})(css({
+ aspectRatio: '16 / 9'
+}), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9WaWRlby9saWIvUmVhY3RQbGF5ZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVkwQiIsImZpbGUiOiIuLi8uLi8uLi9zcmMvVmlkZW8vbGliL1JlYWN0UGxheWVyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYXlJY29uIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtaWNvbnMnO1xuaW1wb3J0IHsgY3NzLCB0aGVtZSB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LXN0eWxlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgUmVhY3RQbGF5ZXIgZnJvbSAncmVhY3QtcGxheWVyJztcblxuaW1wb3J0IHsgQm94LCBGbGV4Qm94IH0gZnJvbSAnLi4vLi4vQm94JztcblxuLypcbiAgMTY6OSBieSBkZWZhdWx0LCBidXQgdW5saWtlIGEgcGFkZGluZy10b3AgcmF0aW8gYm94LCBhIGhlaWdodCBzZXQgYnkgdGhlXG4gIGNvbnN1bWVyIChlLmcuIGBoZWlnaHQ6IDEwMCVgIHZpYSBgY2xhc3NOYW1lYCkgd2lucywgc28gdGhlIHBsYXllciBhbmQgdGhlXG4gIHByb3ZpZGVyJ3Mgb3duIHNwbGFzaCBmaXQgdGhlIGNvbnN1bWVyJ3MgZnJhbWUgaW5zdGVhZCBvZiBvdmVyZmxvd2luZyBpdC5cbiovXG5leHBvcnQgY29uc3QgVmlkZW9GcmFtZSA9IHN0eWxlZChCb3gpKFxuICBjc3Moe1xuICAgIGFzcGVjdFJhdGlvOiAnMTYgLyA5JyxcbiAgfSlcbik7XG5cbmV4cG9ydCBjb25zdCBSZWFjdFZpZGVvUGxheWVyID0gc3R5bGVkKFJlYWN0UGxheWVyKShcbiAgY3NzKHtcbiAgICBwYWRkaW5nOiAwLFxuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIHRvcDogMCxcbiAgICBsZWZ0OiAwLFxuICAgICcmIDpmb2N1cy12aXNpYmxlJzoge1xuICAgICAgb3V0bGluZU9mZnNldDogJzNweCcsXG4gICAgfSxcbiAgICAndmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtcGFuZWwnOiB7XG4gICAgICBiYWNrZ3JvdW5kSW1hZ2U6IGBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgdHJhbnNwYXJlbnQgMTUlLFxuICAgICAgICAgICR7dGhlbWUuY29sb3JzWyduYXZ5LTkwMCddfSA1NSVcbiAgICAgICAgKWAsXG4gICAgfSxcbiAgfSlcbik7XG5cbmNvbnN0IFN0eWxlZEZsZXhCb3ggPSBzdHlsZWQoRmxleEJveCkoXG4gIGNzcyh7XG4gICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgIGNvbG9yOiAnd2hpdGUnLFxuICAgIHdpZHRoOiAnMTAwJScsXG4gICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgb3BhY2l0eTogJzAuNScsXG4gICAgYmc6ICdibGFjaycsXG4gIH0pXG4pO1xuXG5leHBvcnQgY29uc3QgT3ZlcmxheVBsYXlCdXR0b24gPSAoeyB2aWRlb1RpdGxlIH06IHsgdmlkZW9UaXRsZT86IHN0cmluZyB9KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEZsZXhCb3hcbiAgICAgIGFyaWEtbGFiZWw9e2BwbGF5IHZpZGVvJHt2aWRlb1RpdGxlID8gYDogJHt2aWRlb1RpdGxlfWAgOiAnJ31gfVxuICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgPlxuICAgICAgPFBsYXlJY29uIGNvbG9yPVwid2hpdGVcIiBtaW5IZWlnaHQ9XCI3NXB4XCIgbWluV2lkdGg9XCI3NXB4XCIgLz5cbiAgICA8L1N0eWxlZEZsZXhCb3g+XG4gICk7XG59O1xuIl19 */");
export const ReactVideoPlayer = /*#__PURE__*/_styled(ReactPlayer, {
target: "e179321e1",
label: "ReactVideoPlayer"
})(css({
@@ -20,9 +32,9 @@
transparent 15%,
${theme.colors['navy-900']} 55%
)`
}
-}), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9WaWRlby9saWIvUmVhY3RQbGF5ZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9nQyIsImZpbGUiOiIuLi8uLi8uLi9zcmMvVmlkZW8vbGliL1JlYWN0UGxheWVyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYXlJY29uIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtaWNvbnMnO1xuaW1wb3J0IHsgY3NzLCB0aGVtZSB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LXN0eWxlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgUmVhY3RQbGF5ZXIgZnJvbSAncmVhY3QtcGxheWVyJztcblxuaW1wb3J0IHsgRmxleEJveCB9IGZyb20gJy4uLy4uL0JveCc7XG5cbmV4cG9ydCBjb25zdCBSZWFjdFZpZGVvUGxheWVyID0gc3R5bGVkKFJlYWN0UGxheWVyKShcbiAgY3NzKHtcbiAgICBwYWRkaW5nOiAwLFxuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIHRvcDogMCxcbiAgICBsZWZ0OiAwLFxuICAgICcmIDpmb2N1cy12aXNpYmxlJzoge1xuICAgICAgb3V0bGluZU9mZnNldDogJzNweCcsXG4gICAgfSxcbiAgICAndmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtcGFuZWwnOiB7XG4gICAgICBiYWNrZ3JvdW5kSW1hZ2U6IGBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgdHJhbnNwYXJlbnQgMTUlLFxuICAgICAgICAgICR7dGhlbWUuY29sb3JzWyduYXZ5LTkwMCddfSA1NSVcbiAgICAgICAgKWAsXG4gICAgfSxcbiAgfSlcbik7XG5cbmNvbnN0IFN0eWxlZEZsZXhCb3ggPSBzdHlsZWQoRmxleEJveCkoXG4gIGNzcyh7XG4gICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgIGNvbG9yOiAnd2hpdGUnLFxuICAgIHdpZHRoOiAnMTAwJScsXG4gICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgb3BhY2l0eTogJzAuNScsXG4gICAgYmc6ICdibGFjaycsXG4gIH0pXG4pO1xuXG5leHBvcnQgY29uc3QgT3ZlcmxheVBsYXlCdXR0b24gPSAoeyB2aWRlb1RpdGxlIH06IHsgdmlkZW9UaXRsZT86IHN0cmluZyB9KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEZsZXhCb3hcbiAgICAgIGFyaWEtbGFiZWw9e2BwbGF5IHZpZGVvJHt2aWRlb1RpdGxlID8gYDogJHt2aWRlb1RpdGxlfWAgOiAnJ31gfVxuICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgPlxuICAgICAgPFBsYXlJY29uIGNvbG9yPVwid2hpdGVcIiBtaW5IZWlnaHQ9XCI3NXB4XCIgbWluV2lkdGg9XCI3NXB4XCIgLz5cbiAgICA8L1N0eWxlZEZsZXhCb3g+XG4gICk7XG59O1xuIl19 */");
+}), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9WaWRlby9saWIvUmVhY3RQbGF5ZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtCZ0MiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL1ZpZGVvL2xpYi9SZWFjdFBsYXllci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGF5SWNvbiB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LWljb25zJztcbmltcG9ydCB7IGNzcywgdGhlbWUgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IFJlYWN0UGxheWVyIGZyb20gJ3JlYWN0LXBsYXllcic7XG5cbmltcG9ydCB7IEJveCwgRmxleEJveCB9IGZyb20gJy4uLy4uL0JveCc7XG5cbi8qXG4gIDE2OjkgYnkgZGVmYXVsdCwgYnV0IHVubGlrZSBhIHBhZGRpbmctdG9wIHJhdGlvIGJveCwgYSBoZWlnaHQgc2V0IGJ5IHRoZVxuICBjb25zdW1lciAoZS5nLiBgaGVpZ2h0OiAxMDAlYCB2aWEgYGNsYXNzTmFtZWApIHdpbnMsIHNvIHRoZSBwbGF5ZXIgYW5kIHRoZVxuICBwcm92aWRlcidzIG93biBzcGxhc2ggZml0IHRoZSBjb25zdW1lcidzIGZyYW1lIGluc3RlYWQgb2Ygb3ZlcmZsb3dpbmcgaXQuXG4qL1xuZXhwb3J0IGNvbnN0IFZpZGVvRnJhbWUgPSBzdHlsZWQoQm94KShcbiAgY3NzKHtcbiAgICBhc3BlY3RSYXRpbzogJzE2IC8gOScsXG4gIH0pXG4pO1xuXG5leHBvcnQgY29uc3QgUmVhY3RWaWRlb1BsYXllciA9IHN0eWxlZChSZWFjdFBsYXllcikoXG4gIGNzcyh7XG4gICAgcGFkZGluZzogMCxcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICB0b3A6IDAsXG4gICAgbGVmdDogMCxcbiAgICAnJiA6Zm9jdXMtdmlzaWJsZSc6IHtcbiAgICAgIG91dGxpbmVPZmZzZXQ6ICczcHgnLFxuICAgIH0sXG4gICAgJ3ZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBhbmVsJzoge1xuICAgICAgYmFja2dyb3VuZEltYWdlOiBgbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgIHRyYW5zcGFyZW50IDE1JSxcbiAgICAgICAgICAke3RoZW1lLmNvbG9yc1snbmF2eS05MDAnXX0gNTUlXG4gICAgICAgIClgLFxuICAgIH0sXG4gIH0pXG4pO1xuXG5jb25zdCBTdHlsZWRGbGV4Qm94ID0gc3R5bGVkKEZsZXhCb3gpKFxuICBjc3Moe1xuICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICBjb2xvcjogJ3doaXRlJyxcbiAgICB3aWR0aDogJzEwMCUnLFxuICAgIGhlaWdodDogJzEwMCUnLFxuICAgIG9wYWNpdHk6ICcwLjUnLFxuICAgIGJnOiAnYmxhY2snLFxuICB9KVxuKTtcblxuZXhwb3J0IGNvbnN0IE92ZXJsYXlQbGF5QnV0dG9uID0gKHsgdmlkZW9UaXRsZSB9OiB7IHZpZGVvVGl0bGU/OiBzdHJpbmcgfSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxTdHlsZWRGbGV4Qm94XG4gICAgICBhcmlhLWxhYmVsPXtgcGxheSB2aWRlbyR7dmlkZW9UaXRsZSA/IGA6ICR7dmlkZW9UaXRsZX1gIDogJyd9YH1cbiAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgID5cbiAgICAgIDxQbGF5SWNvbiBjb2xvcj1cIndoaXRlXCIgbWluSGVpZ2h0PVwiNzVweFwiIG1pbldpZHRoPVwiNzVweFwiIC8+XG4gICAgPC9TdHlsZWRGbGV4Qm94PlxuICApO1xufTtcbiJdfQ== */");
const StyledFlexBox = /*#__PURE__*/_styled(FlexBox, {
target: "e179321e0",
label: "StyledFlexBox"
})(css({
@@ -34,9 +46,9 @@
width: '100%',
height: '100%',
opacity: '0.5',
bg: 'black'
-}), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9WaWRlby9saWIvUmVhY3RQbGF5ZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlCc0IiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL1ZpZGVvL2xpYi9SZWFjdFBsYXllci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGF5SWNvbiB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LWljb25zJztcbmltcG9ydCB7IGNzcywgdGhlbWUgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IFJlYWN0UGxheWVyIGZyb20gJ3JlYWN0LXBsYXllcic7XG5cbmltcG9ydCB7IEZsZXhCb3ggfSBmcm9tICcuLi8uLi9Cb3gnO1xuXG5leHBvcnQgY29uc3QgUmVhY3RWaWRlb1BsYXllciA9IHN0eWxlZChSZWFjdFBsYXllcikoXG4gIGNzcyh7XG4gICAgcGFkZGluZzogMCxcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICB0b3A6IDAsXG4gICAgbGVmdDogMCxcbiAgICAnJiA6Zm9jdXMtdmlzaWJsZSc6IHtcbiAgICAgIG91dGxpbmVPZmZzZXQ6ICczcHgnLFxuICAgIH0sXG4gICAgJ3ZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBhbmVsJzoge1xuICAgICAgYmFja2dyb3VuZEltYWdlOiBgbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgIHRyYW5zcGFyZW50IDE1JSxcbiAgICAgICAgICAke3RoZW1lLmNvbG9yc1snbmF2eS05MDAnXX0gNTUlXG4gICAgICAgIClgLFxuICAgIH0sXG4gIH0pXG4pO1xuXG5jb25zdCBTdHlsZWRGbGV4Qm94ID0gc3R5bGVkKEZsZXhCb3gpKFxuICBjc3Moe1xuICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICBjb2xvcjogJ3doaXRlJyxcbiAgICB3aWR0aDogJzEwMCUnLFxuICAgIGhlaWdodDogJzEwMCUnLFxuICAgIG9wYWNpdHk6ICcwLjUnLFxuICAgIGJnOiAnYmxhY2snLFxuICB9KVxuKTtcblxuZXhwb3J0IGNvbnN0IE92ZXJsYXlQbGF5QnV0dG9uID0gKHsgdmlkZW9UaXRsZSB9OiB7IHZpZGVvVGl0bGU/OiBzdHJpbmcgfSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxTdHlsZWRGbGV4Qm94XG4gICAgICBhcmlhLWxhYmVsPXtgcGxheSB2aWRlbyR7dmlkZW9UaXRsZSA/IGA6ICR7dmlkZW9UaXRsZX1gIDogJyd9YH1cbiAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgID5cbiAgICAgIDxQbGF5SWNvbiBjb2xvcj1cIndoaXRlXCIgbWluSGVpZ2h0PVwiNzVweFwiIG1pbldpZHRoPVwiNzVweFwiIC8+XG4gICAgPC9TdHlsZWRGbGV4Qm94PlxuICApO1xufTtcbiJdfQ== */");
+}), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9WaWRlby9saWIvUmVhY3RQbGF5ZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9Dc0IiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL1ZpZGVvL2xpYi9SZWFjdFBsYXllci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGF5SWNvbiB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LWljb25zJztcbmltcG9ydCB7IGNzcywgdGhlbWUgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IFJlYWN0UGxheWVyIGZyb20gJ3JlYWN0LXBsYXllcic7XG5cbmltcG9ydCB7IEJveCwgRmxleEJveCB9IGZyb20gJy4uLy4uL0JveCc7XG5cbi8qXG4gIDE2OjkgYnkgZGVmYXVsdCwgYnV0IHVubGlrZSBhIHBhZGRpbmctdG9wIHJhdGlvIGJveCwgYSBoZWlnaHQgc2V0IGJ5IHRoZVxuICBjb25zdW1lciAoZS5nLiBgaGVpZ2h0OiAxMDAlYCB2aWEgYGNsYXNzTmFtZWApIHdpbnMsIHNvIHRoZSBwbGF5ZXIgYW5kIHRoZVxuICBwcm92aWRlcidzIG93biBzcGxhc2ggZml0IHRoZSBjb25zdW1lcidzIGZyYW1lIGluc3RlYWQgb2Ygb3ZlcmZsb3dpbmcgaXQuXG4qL1xuZXhwb3J0IGNvbnN0IFZpZGVvRnJhbWUgPSBzdHlsZWQoQm94KShcbiAgY3NzKHtcbiAgICBhc3BlY3RSYXRpbzogJzE2IC8gOScsXG4gIH0pXG4pO1xuXG5leHBvcnQgY29uc3QgUmVhY3RWaWRlb1BsYXllciA9IHN0eWxlZChSZWFjdFBsYXllcikoXG4gIGNzcyh7XG4gICAgcGFkZGluZzogMCxcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICB0b3A6IDAsXG4gICAgbGVmdDogMCxcbiAgICAnJiA6Zm9jdXMtdmlzaWJsZSc6IHtcbiAgICAgIG91dGxpbmVPZmZzZXQ6ICczcHgnLFxuICAgIH0sXG4gICAgJ3ZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBhbmVsJzoge1xuICAgICAgYmFja2dyb3VuZEltYWdlOiBgbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgIHRyYW5zcGFyZW50IDE1JSxcbiAgICAgICAgICAke3RoZW1lLmNvbG9yc1snbmF2eS05MDAnXX0gNTUlXG4gICAgICAgIClgLFxuICAgIH0sXG4gIH0pXG4pO1xuXG5jb25zdCBTdHlsZWRGbGV4Qm94ID0gc3R5bGVkKEZsZXhCb3gpKFxuICBjc3Moe1xuICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICBjb2xvcjogJ3doaXRlJyxcbiAgICB3aWR0aDogJzEwMCUnLFxuICAgIGhlaWdodDogJzEwMCUnLFxuICAgIG9wYWNpdHk6ICcwLjUnLFxuICAgIGJnOiAnYmxhY2snLFxuICB9KVxuKTtcblxuZXhwb3J0IGNvbnN0IE92ZXJsYXlQbGF5QnV0dG9uID0gKHsgdmlkZW9UaXRsZSB9OiB7IHZpZGVvVGl0bGU/OiBzdHJpbmcgfSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxTdHlsZWRGbGV4Qm94XG4gICAgICBhcmlhLWxhYmVsPXtgcGxheSB2aWRlbyR7dmlkZW9UaXRsZSA/IGA6ICR7dmlkZW9UaXRsZX1gIDogJyd9YH1cbiAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgID5cbiAgICAgIDxQbGF5SWNvbiBjb2xvcj1cIndoaXRlXCIgbWluSGVpZ2h0PVwiNzVweFwiIG1pbldpZHRoPVwiNzVweFwiIC8+XG4gICAgPC9TdHlsZWRGbGV4Qm94PlxuICApO1xufTtcbiJdfQ== */");
export const OverlayPlayButton = ({
videoTitle
}) => {
return /*#__PURE__*/_jsx(StyledFlexBox, { Index: package/dist/Markdown/libs/overrides/utils.js
===================================================================
--- package/dist/Markdown/libs/overrides/utils.js
+++ package/dist/Markdown/libs/overrides/utils.js
@@ -1,6 +1,9 @@
import find from 'lodash/find';
export const isCheckboxParent = (node, type) => Boolean(type === 'checkbox' && node.children && node.children[0]?.name === 'input' && node.children[0]?.attribs?.type === type);
+
+// a <p> that only holds video tags, i.e. a single-line <video></video> that marked parsed as paragraph text
+export const isVideoOnlyParagraph = node => Boolean(node.name === 'p' && node.children?.some(child => child.name === 'video') && node.children.every(child => child.name === 'video' || child.type === 'text' && !child.data.trim()));
export const isLabelText = (node, type) => {
// we are using this text to create the accessible label, so are basically deduplicating it here
return Boolean(node?.prev?.name === 'input' && node?.prev?.attribs?.type === type || node?.name === 'p' && node?.parent?.name === 'li' && node.parent.children && node.parent.children[0]?.name === 'input');
}; Index: package/package.json
===================================================================
--- package/package.json
+++ package/package.json
@@ -1,16 +1,16 @@
{
"name": "@codecademy/gamut",
"description": "Styleguide & Component library for Codecademy",
- "version": "74.0.0",
+ "version": "74.0.1-alpha.fbaad7.0",
"author": "Codecademy Engineering <[email protected]>",
"bin": "./bin/gamut.mjs",
"dependencies": {
- "@codecademy/gamut-icons": "10.2.0",
- "@codecademy/gamut-illustrations": "1.1.0",
- "@codecademy/gamut-patterns": "1.1.0",
- "@codecademy/gamut-styles": "21.2.0",
- "@codecademy/variance": "1.1.0",
+ "@codecademy/gamut-icons": "10.2.1-alpha.fbaad7.0",
+ "@codecademy/gamut-illustrations": "1.1.1-alpha.fbaad7.0",
+ "@codecademy/gamut-patterns": "1.1.1-alpha.fbaad7.0",
+ "@codecademy/gamut-styles": "21.2.1-alpha.fbaad7.0",
+ "@codecademy/variance": "1.1.1-alpha.fbaad7.0",
"@formatjs/intl-locale": "5.3.1",
"@react-aria/interactions": "3.25.0",
"@types/marked": "^4.0.8",
"classnames": "^2.2.5", Index: package/dist/Markdown/libs/overrides/index.d.ts
===================================================================
--- package/dist/Markdown/libs/overrides/index.d.ts
+++ package/dist/Markdown/libs/overrides/index.d.ts
@@ -44,8 +44,12 @@
export declare const createVideoOverride: ({ tagName, Override, }: CreateVideoOverrideArgs) => {
shouldProcessNode(node: HTMLToReactNode): boolean;
processNode(node: HTMLToReactNode, children: HTMLToReactNode[], key: React.Key): React.ReactNode;
};
+export declare const createVideoParagraphOverride: () => {
+ shouldProcessNode(node: HTMLToReactNode): boolean;
+ processNode(_node: HTMLToReactNode, children: React.ReactNode[], key: React.Key): import("react/jsx-runtime").JSX.Element;
+};
export declare const createCodeBlockOverride: (tagName: string, Override: MarkdownOverrideSetting) => {
shouldProcessNode(node: HTMLToReactNode): boolean;
processNode(node: HTMLToReactNode, children: HTMLToReactNode[], key: React.Key): React.ReactNode;
}; Index: package/dist/Video/lib/ReactPlayer.d.ts
===================================================================
--- package/dist/Video/lib/ReactPlayer.d.ts
+++ package/dist/Video/lib/ReactPlayer.d.ts
@@ -1,4 +1,10 @@
+export declare const VideoFrame: import("@emotion/styled").StyledComponent<{
+ theme?: import("@emotion/react").Theme;
+ as?: React.ElementType;
+} & import("../../Box").BoxProps & Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "slot" | "style" | "title" | "dir" | "children" | "className" | "aria-hidden" | "onAnimationStart" | "onDragStart" | "onDragEnd" | "onDrag" | keyof import("react").ClassAttributes<HTMLDivElement> | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoCapitalize" | "autoFocus" | "contentEditable" | "contextMenu" | "draggable" | "enterKeyHint" | "hidden" | "id" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "content" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "exportparts" | "part" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDragCapture" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & {
+ theme?: import("@emotion/react").Theme;
+}, {}, {}>;
export declare const ReactVideoPlayer: import("@emotion/styled").StyledComponent<Omit<import("react-player/dist/types").ReactPlayerProps, "ref"> & import("react").RefAttributes<HTMLVideoElement> & {
theme?: import("@emotion/react").Theme;
}, {}, {}>;
export declare const OverlayPlayButton: ({ videoTitle }: { Index: package/dist/Markdown/libs/overrides/utils.d.ts
===================================================================
--- package/dist/Markdown/libs/overrides/utils.d.ts
+++ package/dist/Markdown/libs/overrides/utils.d.ts
@@ -1,5 +1,6 @@
import { HTMLToReactNode } from '.';
export declare const isCheckboxParent: (node: HTMLToReactNode, type: string) => boolean;
+export declare const isVideoOnlyParagraph: (node: HTMLToReactNode) => boolean;
export declare const isLabelText: (node: HTMLToReactNode, type: string) => boolean;
export declare const isInput: (node: HTMLToReactNode, type: string) => boolean;
export declare const getLabel: (node: HTMLToReactNode) => string | undefined;