@codecademy/codebytes 1.0.44-alpha.44fc03f69a.0 → 1.0.44-alpha.648a9e5803.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/codeByteEditor.js +14 -8
- package/dist/consts.d.ts +0 -3
- package/dist/consts.js +0 -3
- package/dist/types.d.ts +2 -0
- package/package.json +2 -2
package/dist/codeByteEditor.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _styled from "@emotion/styled/base";
|
|
2
|
-
const _excluded = ["text", "language", "hideCopyButton", "snippetsBaseUrl", "onEdit", "onLanguageChange", "copyFormatter", "trackingEnabled", "trackingData", "trackFirstEdit", "onOutput"];
|
|
2
|
+
const _excluded = ["text", "language", "hideCopyButton", "snippetsBaseUrl", "onEdit", "onLanguageChange", "copyFormatter", "trackingEnabled", "trackingData", "trackFirstEdit", "onOutput", "onBack", "showBackButton"];
|
|
3
3
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4
4
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5
5
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
@@ -16,8 +16,8 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
|
|
|
16
16
|
import { Box, FlexBox, IconButton } from '@codecademy/gamut';
|
|
17
17
|
import { FaviconIcon, ArrowChevronLeftIcon } from '@codecademy/gamut-icons';
|
|
18
18
|
import { Background, system } from '@codecademy/gamut-styles';
|
|
19
|
-
import React, { useEffect, useState } from 'react';
|
|
20
|
-
import { helloWorld
|
|
19
|
+
import React, { useEffect, useMemo, useState } from 'react';
|
|
20
|
+
import { helloWorld } from './consts';
|
|
21
21
|
import { Editor } from './editor';
|
|
22
22
|
import { trackClick } from './helpers';
|
|
23
23
|
import { useEverInView } from './helpers/useEverInView';
|
|
@@ -34,7 +34,7 @@ const editorBaseStyles = system.css({
|
|
|
34
34
|
const EditorContainer = /*#__PURE__*/_styled(Background, {
|
|
35
35
|
target: "e1epka4g0",
|
|
36
36
|
label: "EditorContainer"
|
|
37
|
-
})(editorBaseStyles, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
37
|
+
})(editorBaseStyles, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb2RlQnl0ZUVkaXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0JFIiwiZmlsZSI6Ii4uL3NyYy9jb2RlQnl0ZUVkaXRvci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb3gsIEZsZXhCb3gsIEljb25CdXR0b24gfSBmcm9tICdAY29kZWNhZGVteS9nYW11dCc7XG5pbXBvcnQgeyBGYXZpY29uSWNvbiwgQXJyb3dDaGV2cm9uTGVmdEljb24gfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1pY29ucyc7XG5pbXBvcnQgeyBCYWNrZ3JvdW5kLCBzeXN0ZW0gfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHsgU3R5bGVQcm9wcyB9IGZyb20gJ0Bjb2RlY2FkZW15L3ZhcmlhbmNlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBoZWxsb1dvcmxkLCBMYW5ndWFnZU9wdGlvbiB9IGZyb20gJy4vY29uc3RzJztcbmltcG9ydCB7IEVkaXRvciB9IGZyb20gJy4vZWRpdG9yJztcbmltcG9ydCB7IHRyYWNrQ2xpY2sgfSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHsgdXNlRXZlckluVmlldyB9IGZyb20gJy4vaGVscGVycy91c2VFdmVySW5WaWV3JztcbmltcG9ydCB7IExhbmd1YWdlU2VsZWN0aW9uIH0gZnJvbSAnLi9sYW5ndWFnZVNlbGVjdGlvbic7XG5pbXBvcnQgeyB0cmFja1VzZXJJbXByZXNzaW9uIH0gZnJvbSAnLi9saWJzL2V2ZW50VHJhY2tpbmcnO1xuaW1wb3J0IHsgQ29kZUJ5dGVFZGl0b3JQcm9wcyB9IGZyb20gJy4vdHlwZXMnO1xuXG5jb25zdCBlZGl0b3JCYXNlU3R5bGVzID0gc3lzdGVtLmNzcyh7XG4gIGJvcmRlcjogMSxcbiAgYm9yZGVyQ29sb3I6ICdncmF5LTkwMCcsXG4gIGRpc3BsYXk6ICdmbGV4JyxcbiAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gIG1pbkhlaWdodDogJzI1cmVtJyxcbn0pO1xuXG5jb25zdCBFZGl0b3JDb250YWluZXIgPVxuICBzdHlsZWQoQmFja2dyb3VuZCk8U3R5bGVQcm9wczx0eXBlb2YgZWRpdG9yQmFzZVN0eWxlcz4+KGVkaXRvckJhc2VTdHlsZXMpO1xuXG5leHBvcnQgY29uc3QgQ29kZUJ5dGVFZGl0b3I6IFJlYWN0LkZDPENvZGVCeXRlRWRpdG9yUHJvcHM+ID0gKHtcbiAgdGV4dDogaW5pdGlhbFRleHQsXG4gIGxhbmd1YWdlOiBpbml0aWFsTGFuZ3VhZ2UsXG4gIGhpZGVDb3B5QnV0dG9uID0gZmFsc2UsXG4gIHNuaXBwZXRzQmFzZVVybCxcbiAgb25FZGl0LFxuICBvbkxhbmd1YWdlQ2hhbmdlLFxuICBjb3B5Rm9ybWF0dGVyLFxuICB0cmFja2luZ0VuYWJsZWQgPSB0cnVlLFxuICB0cmFja2luZ0RhdGEsXG4gIHRyYWNrRmlyc3RFZGl0ID0gZmFsc2UsXG4gIG9uT3V0cHV0LFxuICBvbkJhY2ssXG4gIHNob3dCYWNrQnV0dG9uID0gZmFsc2UsXG4gIC4uLnJlc3Rcbn0pID0+IHtcbiAgY29uc3QgeyBldmVySW5WaWV3LCByZWYgfSA9IHVzZUV2ZXJJblZpZXcoKTtcblxuICBjb25zdCBnZXRJbml0aWFsVGV4dCA9ICgpID0+IHtcbiAgICBpZiAoaW5pdGlhbFRleHQgIT09IHVuZGVmaW5lZCkgcmV0dXJuIGluaXRpYWxUZXh0O1xuICAgIHJldHVybiBpbml0aWFsTGFuZ3VhZ2UgPyBoZWxsb1dvcmxkW2luaXRpYWxMYW5ndWFnZV0gOiAnJztcbiAgfTtcblxuICBjb25zdCBbdGV4dCwgc2V0VGV4dF0gPSB1c2VTdGF0ZTxzdHJpbmc+KGdldEluaXRpYWxUZXh0KCkpO1xuICBjb25zdCBbbGFuZ3VhZ2UsIHNldExhbmd1YWdlXSA9IHVzZVN0YXRlPExhbmd1YWdlT3B0aW9uPihcbiAgICBpbml0aWFsTGFuZ3VhZ2UgPz8gJydcbiAgKTtcbiAgY29uc3QgW2hhc0JlZW5FZGl0ZWQsIHNldEhhc0JlZW5FZGl0ZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGV2ZXJJblZpZXcgJiYgdHJhY2tpbmdFbmFibGVkKSB7XG4gICAgICB0cmFja1VzZXJJbXByZXNzaW9uKHtcbiAgICAgICAgcGFnZV9uYW1lOiB0cmFja2luZ0RhdGE/LnBhZ2VfbmFtZSA/PyAnVW5rbm93bicsXG4gICAgICAgIGNvbnRleHQ6IHRyYWNraW5nRGF0YT8uY29udGV4dCA/PyBkb2N1bWVudC5yZWZlcnJlcixcbiAgICAgICAgdGFyZ2V0OiAnY29kZWJ5dGUnLFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbZXZlckluVmlldywgdHJhY2tpbmdEYXRhLCB0cmFja2luZ0VuYWJsZWRdKTtcblxuICBjb25zdCBoYW5kbGVCYWNrID0gKCkgPT4ge1xuICAgIHNldExhbmd1YWdlKCcnKTtcbiAgICBzZXRUZXh0KCcnKTtcbiAgICBpZiAob25CYWNrKSB7XG4gICAgICBvbkJhY2soKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgcmVuZGVyQmFja0J1dHRvbiA9IHVzZU1lbW8oXG4gICAgKCkgPT4gbGFuZ3VhZ2UgJiYgc2hvd0JhY2tCdXR0b24sXG4gICAgW2xhbmd1YWdlLCBzaG93QmFja0J1dHRvbl1cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxFZGl0b3JDb250YWluZXJcbiAgICAgIGJnPVwiYmxhY2tcIlxuICAgICAgbWF4V2lkdGg9XCI0M3JlbVwiXG4gICAgICB7Li4ucmVzdH1cbiAgICAgIG92ZXJmbG93PVwiaGlkZGVuXCJcbiAgICAgIHJlZj17cmVmfVxuICAgID5cbiAgICAgIDxCb3ggYm9yZGVyQm90dG9tPXsxfSBib3JkZXJDb2xvcj1cImdyYXktOTAwXCIgcHk9ezR9IHBsPXs4fT5cbiAgICAgICAgPEZsZXhCb3g+XG4gICAgICAgICAgeyEhcmVuZGVyQmFja0J1dHRvbiAmJiAoXG4gICAgICAgICAgICA8SWNvbkJ1dHRvblxuICAgICAgICAgICAgICBpY29uPXtBcnJvd0NoZXZyb25MZWZ0SWNvbn1cbiAgICAgICAgICAgICAgdmFyaWFudD1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUJhY2t9XG4gICAgICAgICAgICAgIHRpcD1cImJhY2tcIlxuICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAgPEljb25CdXR0b25cbiAgICAgICAgICAgIGljb249e0Zhdmljb25JY29ufVxuICAgICAgICAgICAgdmFyaWFudD1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICBocmVmPVwiaHR0cHM6Ly93d3cuY29kZWNhZGVteS5jb20vXCJcbiAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICByZWw9XCJub3JlZmVycmVyXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHRyYWNrQ2xpY2soJ2xvZ28nLCB0cmFja2luZ0RhdGEpfVxuICAgICAgICAgICAgdGlwPVwiVmlzaXQgdXNcIlxuICAgICAgICAgICAgdGlwUHJvcHM9e3tcbiAgICAgICAgICAgICAgYWxpZ25tZW50OiAnYm90dG9tLWNlbnRlcicsXG4gICAgICAgICAgICAgIHBsYWNlbWVudDogJ2Zsb2F0aW5nJyxcbiAgICAgICAgICAgICAgbmFycm93OiB0cnVlLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0ZsZXhCb3g+XG4gICAgICA8L0JveD5cbiAgICAgIHtsYW5ndWFnZSA/IChcbiAgICAgICAgPEVkaXRvclxuICAgICAgICAgIGxhbmd1YWdlPXtsYW5ndWFnZX1cbiAgICAgICAgICB0ZXh0PXt0ZXh0fVxuICAgICAgICAgIGhpZGVDb3B5QnV0dG9uPXtoaWRlQ29weUJ1dHRvbn1cbiAgICAgICAgICBvbkNoYW5nZT17KG5ld1RleHQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgc2V0VGV4dChuZXdUZXh0KTtcbiAgICAgICAgICAgIG9uRWRpdD8uKG5ld1RleHQsIGxhbmd1YWdlKTtcbiAgICAgICAgICAgIGlmICh0cmFja0ZpcnN0RWRpdCAmJiBoYXNCZWVuRWRpdGVkID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICBzZXRIYXNCZWVuRWRpdGVkKHRydWUpO1xuICAgICAgICAgICAgICBpZiAodHJhY2tpbmdFbmFibGVkKSB0cmFja0NsaWNrKCdlZGl0JywgdHJhY2tpbmdEYXRhKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9fVxuICAgICAgICAgIG9uT3V0cHV0PXtvbk91dHB1dH1cbiAgICAgICAgICBzbmlwcGV0c0Jhc2VVcmw9e3NuaXBwZXRzQmFzZVVybH1cbiAgICAgICAgICBjb3B5Rm9ybWF0dGVyPXtjb3B5Rm9ybWF0dGVyfVxuICAgICAgICAgIHRyYWNraW5nRW5hYmxlZD17dHJhY2tpbmdFbmFibGVkfVxuICAgICAgICAgIHRyYWNraW5nRGF0YT17dHJhY2tpbmdEYXRhfVxuICAgICAgICAvPlxuICAgICAgKSA6IChcbiAgICAgICAgPExhbmd1YWdlU2VsZWN0aW9uXG4gICAgICAgICAgb25DaGFuZ2U9eyhuZXdMYW5ndWFnZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmV3VGV4dDogc3RyaW5nID1cbiAgICAgICAgICAgICAgdGV4dCB8fCAobmV3TGFuZ3VhZ2UgPyBoZWxsb1dvcmxkW25ld0xhbmd1YWdlXSA6ICcnKTtcbiAgICAgICAgICAgIHNldExhbmd1YWdlKG5ld0xhbmd1YWdlKTtcbiAgICAgICAgICAgIHNldFRleHQobmV3VGV4dCk7XG4gICAgICAgICAgICBpZiAodHJhY2tpbmdFbmFibGVkKSB0cmFja0NsaWNrKCdsYW5nX3NlbGVjdCcsIHRyYWNraW5nRGF0YSk7XG4gICAgICAgICAgICBvbkxhbmd1YWdlQ2hhbmdlPy4obmV3VGV4dCwgbmV3TGFuZ3VhZ2UpO1xuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvRWRpdG9yQ29udGFpbmVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQ29kZUJ5dGVFZGl0b3I7XG4iXX0= */");
|
|
38
38
|
export const CodeByteEditor = _ref => {
|
|
39
39
|
let initialText = _ref.text,
|
|
40
40
|
initialLanguage = _ref.language,
|
|
@@ -50,6 +50,9 @@ export const CodeByteEditor = _ref => {
|
|
|
50
50
|
_ref$trackFirstEdit = _ref.trackFirstEdit,
|
|
51
51
|
trackFirstEdit = _ref$trackFirstEdit === void 0 ? false : _ref$trackFirstEdit,
|
|
52
52
|
onOutput = _ref.onOutput,
|
|
53
|
+
onBack = _ref.onBack,
|
|
54
|
+
_ref$showBackButton = _ref.showBackButton,
|
|
55
|
+
showBackButton = _ref$showBackButton === void 0 ? false : _ref$showBackButton,
|
|
53
56
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
54
57
|
const _useEverInView = useEverInView(),
|
|
55
58
|
everInView = _useEverInView.everInView,
|
|
@@ -80,11 +83,14 @@ export const CodeByteEditor = _ref => {
|
|
|
80
83
|
});
|
|
81
84
|
}
|
|
82
85
|
}, [everInView, trackingData, trackingEnabled]);
|
|
83
|
-
const
|
|
84
|
-
localStorage.removeItem(LOCAL_STORAGE_KEYS.CODE_EDITOR_PROPS);
|
|
86
|
+
const handleBack = () => {
|
|
85
87
|
setLanguage('');
|
|
86
88
|
setText('');
|
|
89
|
+
if (onBack) {
|
|
90
|
+
onBack();
|
|
91
|
+
}
|
|
87
92
|
};
|
|
93
|
+
const renderBackButton = useMemo(() => language && showBackButton, [language, showBackButton]);
|
|
88
94
|
return /*#__PURE__*/_jsxs(EditorContainer, _objectSpread(_objectSpread({
|
|
89
95
|
bg: "black",
|
|
90
96
|
maxWidth: "43rem"
|
|
@@ -97,10 +103,10 @@ export const CodeByteEditor = _ref => {
|
|
|
97
103
|
py: 4,
|
|
98
104
|
pl: 8,
|
|
99
105
|
children: /*#__PURE__*/_jsxs(FlexBox, {
|
|
100
|
-
children: [
|
|
106
|
+
children: [!!renderBackButton && /*#__PURE__*/_jsx(IconButton, {
|
|
101
107
|
icon: ArrowChevronLeftIcon,
|
|
102
108
|
variant: "secondary",
|
|
103
|
-
onClick:
|
|
109
|
+
onClick: handleBack,
|
|
104
110
|
tip: "back",
|
|
105
111
|
size: "small"
|
|
106
112
|
}), /*#__PURE__*/_jsx(IconButton, {
|
package/dist/consts.d.ts
CHANGED
package/dist/consts.js
CHANGED
package/dist/types.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codecademy/codebytes",
|
|
3
3
|
"description": "Codebytes Editor",
|
|
4
|
-
"version": "1.0.44-alpha.
|
|
4
|
+
"version": "1.0.44-alpha.648a9e5803.0",
|
|
5
5
|
"author": "Codecademy Engineering <dev@codecademy.com>",
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@codecademy/tracking": "1.0.33",
|
|
@@ -36,5 +36,5 @@
|
|
|
36
36
|
"dist/**/[A-Z]**/[A-Z]*.js",
|
|
37
37
|
"dist/**/[A-Z]**/index.js"
|
|
38
38
|
],
|
|
39
|
-
"gitHead": "
|
|
39
|
+
"gitHead": "84c02f8bc7c5f4da9c93784d97a51f2766959a35"
|
|
40
40
|
}
|