@codecademy/codebytes 0.7.3-alpha.ec4b05b8190af3d4d7ef478be68c502dd0caedea.0 → 0.7.3-alpha.f1dd53fd83cf0a7a37dfaf7e5fbda3c8d2e9d54a.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/package.json CHANGED
@@ -1,14 +1,15 @@
1
1
  {
2
2
  "name": "@codecademy/codebytes",
3
3
  "description": "Codebytes Code Editor",
4
- "version": "0.7.3-alpha.ec4b05b8190af3d4d7ef478be68c502dd0caedea.0",
4
+ "version": "0.7.3-alpha.f1dd53fd83cf0a7a37dfaf7e5fbda3c8d2e9d54a.0",
5
5
  "author": "Codecademy Engineering <dev@codecademy.com>",
6
6
  "dependencies": {
7
- "@codecademy/tracking": "0.23.4-alpha.ec4b05b8190af3d4d7ef478be68c502dd0caedea.0",
8
- "@emotion/react": "^11.4.0",
9
- "@emotion/styled": "^11.3.0",
7
+ "@emotion/react": "11.10.0",
8
+ "@emotion/styled": "11.10.0",
9
+ "@monaco-editor/react": "^4.4.5",
10
10
  "js-base64": "^3.6.0",
11
- "jsuri": "^1.3.1"
11
+ "jsuri": "^1.3.1",
12
+ "react-resize-observer": "^1.1.1"
12
13
  },
13
14
  "files": [
14
15
  "dist/**"
@@ -20,8 +21,10 @@
20
21
  "@codecademy/gamut": "*",
21
22
  "@codecademy/gamut-icons": "*",
22
23
  "@codecademy/gamut-styles": "*",
23
- "@codecademy/tracking": ">=0.17.0",
24
+ "@codecademy/tracking": "^0.23.3",
24
25
  "@codecademy/variance": "*",
26
+ "@emotion/react": "^11.7.1",
27
+ "@emotion/styled": "11.3.0",
25
28
  "react": ">=16.8.1",
26
29
  "react-dom": ">=16.8.1"
27
30
  },
@@ -38,5 +41,5 @@
38
41
  "dist/**/[A-Z]**/[A-Z]*.js",
39
42
  "dist/**/[A-Z]**/index.js"
40
43
  ],
41
- "gitHead": "22ab483ad53bfefdd096620842274a02a0439041"
44
+ "gitHead": "610a7e5783f8bfc31b95bf5a7fc24829780e8d1f"
42
45
  }
@@ -1,46 +0,0 @@
1
- // DO NOT CHANGE ANYTHING HERE
2
- // This file is part of the Codebytes MVP and only includes basic configuration around theming for the SimpleMonacoEditor component
3
- // We are working on a monaco package in client-modules that has more configuration around themes and languages
4
- // Monaco as a shared package RFC https://www.notion.so/codecademy/Monaco-editor-as-a-shared-package-1f4484db165b4abc8394c3556451ef6a
5
- import { colors, editorColors } from '@codecademy/gamut-styles';
6
- var darkTheme = {
7
- blue: editorColors.blue,
8
- deepPurple: editorColors.deepPurple,
9
- gray: editorColors.gray,
10
- green: editorColors.green,
11
- orange: editorColors.orange,
12
- purple: editorColors.purple,
13
- red: editorColors.red,
14
- white: colors.white,
15
- yellow: editorColors.yellow
16
- };
17
- export var syntax = {
18
- attribute: darkTheme.green,
19
- annotation: darkTheme.red,
20
- atom: darkTheme.deepPurple,
21
- basic: darkTheme.white,
22
- comment: darkTheme.gray,
23
- constant: darkTheme.orange,
24
- decoration: darkTheme.red,
25
- invalid: darkTheme.red,
26
- key: darkTheme.blue,
27
- keyword: darkTheme.purple,
28
- number: darkTheme.red,
29
- operator: darkTheme.red,
30
- predefined: darkTheme.white,
31
- property: darkTheme.red,
32
- regexp: darkTheme.green,
33
- string: darkTheme.yellow,
34
- tag: darkTheme.red,
35
- text: darkTheme.orange,
36
- value: darkTheme.yellow,
37
- variable: darkTheme.green
38
- };
39
- export var ui = {
40
- background: '#211E2F',
41
- text: darkTheme.white,
42
- indent: {
43
- active: '#393b41',
44
- inactive: '#494b51'
45
- }
46
- };
@@ -1,57 +0,0 @@
1
- var _jsxFileName = "/home/runner/work/mono/mono/libs/codebytes/src/MonacoEditor/index.tsx",
2
- _this = this;
3
-
4
- // DO NOT CHANGE ANYTHING HERE
5
- // This component is part of the Codebytes MVP and only includes basic configuration around theming
6
- // We are working on a monaco package in client-modules that has more configuration around themes and languages
7
- // Monaco as a shared package RFC https://www.notion.so/codecademy/Monaco-editor-as-a-shared-package-1f4484db165b4abc8394c3556451ef6a
8
- import ReactMonacoEditor from '@monaco-editor/react';
9
- import React, { useCallback, useRef } from 'react';
10
- import ResizeObserver from 'react-resize-observer';
11
- import { dark } from './theme';
12
- import { jsxDEV as _jsxDEV } from "@emotion/react/jsx-dev-runtime";
13
- import { Fragment as _Fragment } from "@emotion/react/jsx-dev-runtime";
14
- export var SimpleMonacoEditor = function SimpleMonacoEditor(_ref) {
15
- var value = _ref.value,
16
- language = _ref.language,
17
- onChange = _ref.onChange;
18
- var editorRef = useRef(null);
19
- var editorWillMount = useCallback(function (editor, monaco) {
20
- editorRef.current = editor;
21
- monaco.editor.defineTheme('dark', dark);
22
- monaco.editor.setTheme('dark');
23
- }, []);
24
- return _jsxDEV(_Fragment, {
25
- children: [_jsxDEV(ResizeObserver, {
26
- onResize: function onResize(_ref2) {
27
- var _editorRef$current;
28
-
29
- var height = _ref2.height,
30
- width = _ref2.width;
31
- (_editorRef$current = editorRef.current) == null ? void 0 : _editorRef$current.layout({
32
- height: height,
33
- width: width
34
- });
35
- }
36
- }, void 0, false, {
37
- fileName: _jsxFileName,
38
- lineNumber: 38,
39
- columnNumber: 7
40
- }, _this), _jsxDEV(ReactMonacoEditor, {
41
- onMount: editorWillMount,
42
- onChange: onChange,
43
- options: {
44
- minimap: {
45
- enabled: false
46
- }
47
- },
48
- theme: "vs-dark",
49
- value: value,
50
- language: language
51
- }, void 0, false, {
52
- fileName: _jsxFileName,
53
- lineNumber: 46,
54
- columnNumber: 7
55
- }, _this)]
56
- }, void 0, true);
57
- };
@@ -1,123 +0,0 @@
1
- // DO NOT CHANGE ANYTHING HERE
2
- // This file is part of the Codebytes MVP and only includes basic configuration around theming for the SimpleMonacoEditor component
3
- // We are working on a monaco package in client-modules that has more configuration around themes and languages
4
- // Monaco as a shared package RFC https://www.notion.so/codecademy/Monaco-editor-as-a-shared-package-1f4484db165b4abc8394c3556451ef6a
5
- import * as darkColors from './colorsDark';
6
-
7
- var c = function c(color) {
8
- return color.substr(1);
9
- };
10
-
11
- var theme = function theme(_ref) {
12
- var ui = _ref.ui,
13
- syntax = _ref.syntax;
14
- return {
15
- base: 'vs-dark',
16
- inherit: true,
17
- rules: [// Base
18
- {
19
- token: '',
20
- foreground: c(syntax.basic)
21
- }, {
22
- token: 'regexp',
23
- foreground: c(syntax.regexp)
24
- }, {
25
- token: 'annotation',
26
- foreground: c(syntax.annotation)
27
- }, {
28
- token: 'type',
29
- foreground: c(syntax.annotation)
30
- }, {
31
- token: 'doctype',
32
- foreground: c(syntax.comment)
33
- }, {
34
- token: 'delimiter',
35
- foreground: c(syntax.decoration)
36
- }, {
37
- token: 'invalid',
38
- foreground: c(syntax.invalid)
39
- }, {
40
- token: 'emphasis',
41
- fontStyle: 'italic'
42
- }, {
43
- token: 'strong',
44
- fontStyle: 'bold'
45
- }, {
46
- token: 'variable',
47
- foreground: c(syntax.variable)
48
- }, {
49
- token: 'variable.predefined',
50
- foreground: c(syntax.variable)
51
- }, {
52
- token: 'constant',
53
- foreground: c(syntax.constant)
54
- }, {
55
- token: 'comment',
56
- foreground: c(syntax.comment)
57
- }, {
58
- token: 'number',
59
- foreground: c(syntax.number)
60
- }, {
61
- token: 'number.hex',
62
- foreground: c(syntax.number)
63
- }, {
64
- token: 'keyword.directive',
65
- foreground: c(syntax.comment)
66
- }, {
67
- token: 'include',
68
- foreground: c(syntax.comment)
69
- }, {
70
- token: 'key',
71
- foreground: c(syntax.property)
72
- }, {
73
- token: 'attribute.name',
74
- foreground: c(syntax.attribute)
75
- }, {
76
- token: 'attribute.name-numeric',
77
- foreground: c(syntax.string)
78
- }, {
79
- token: 'attribute.value',
80
- foreground: c(syntax.property)
81
- }, {
82
- token: 'attribute.value.number',
83
- foreground: c(syntax.number)
84
- }, {
85
- token: 'string',
86
- foreground: c(syntax.string)
87
- }, {
88
- token: 'string.yaml',
89
- foreground: c(syntax.string)
90
- }, {
91
- token: 'tag',
92
- foreground: c(syntax.tag)
93
- }, {
94
- token: 'tag.id.jade',
95
- foreground: c(syntax.tag)
96
- }, {
97
- token: 'tag.class.jade',
98
- foreground: c(syntax.tag)
99
- }, {
100
- token: 'metatag',
101
- foreground: c(syntax.comment)
102
- }, {
103
- token: 'attribute.value.unit',
104
- foreground: c(syntax.string)
105
- }, {
106
- token: 'keyword',
107
- foreground: c(syntax.keyword)
108
- }, {
109
- token: 'keyword.flow',
110
- foreground: c(syntax.keyword)
111
- }],
112
- colors: {
113
- 'editor.background': ui.background,
114
- 'editor.foreground': ui.text,
115
- 'editorIndentGuide.background': ui.indent.inactive,
116
- 'editorIndentGuide.activeBackground': ui.indent.active,
117
- 'editorWhitespace.foreground': syntax.comment,
118
- 'editorLineNumber.foreground': '#9FA2AC'
119
- }
120
- };
121
- };
122
-
123
- export var dark = theme(darkColors);
@@ -1 +0,0 @@
1
- export {};
package/dist/api.js DELETED
@@ -1,37 +0,0 @@
1
- import _asyncToGenerator from "/home/runner/work/mono/mono/node_modules/@babel/runtime/helpers/asyncToGenerator.js";
2
- import _regeneratorRuntime from "/home/runner/work/mono/mono/node_modules/@babel/runtime/regenerator/index.js";
3
- import "core-js/modules/es.object.to-string.js";
4
- import "core-js/modules/es.promise.js";
5
- export var postSnippet = /*#__PURE__*/function () {
6
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(data, snippetsBaseUrl) {
7
- var snippetsEndpoint, response;
8
- return _regeneratorRuntime.wrap(function _callee$(_context) {
9
- while (1) {
10
- switch (_context.prev = _context.next) {
11
- case 0:
12
- snippetsEndpoint = "https://" + snippetsBaseUrl + "/snippets";
13
- _context.next = 3;
14
- return fetch(snippetsEndpoint, {
15
- method: 'POST',
16
- body: JSON.stringify(data),
17
- headers: {
18
- 'x-codecademy-user-id': 'codebytes-anon-user'
19
- }
20
- });
21
-
22
- case 3:
23
- response = _context.sent;
24
- return _context.abrupt("return", response.json());
25
-
26
- case 5:
27
- case "end":
28
- return _context.stop();
29
- }
30
- }
31
- }, _callee);
32
- }));
33
-
34
- return function postSnippet(_x, _x2) {
35
- return _ref.apply(this, arguments);
36
- };
37
- }();
@@ -1,140 +0,0 @@
1
- import _objectWithoutPropertiesLoose from "/home/runner/work/mono/mono/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js";
2
- import _styled from "@emotion/styled/base";
3
- var _excluded = ["text", "language", "hideCopyButton", "snippetsBaseUrl", "onEdit", "onLanguageChange", "copyFormatter", "trackingData", "trackFirstEdit"];
4
-
5
- var _jsxFileName = "/home/runner/work/mono/mono/libs/codebytes/src/codeByteEditor.tsx",
6
- _this = this;
7
-
8
- import "core-js/modules/es.object.assign.js";
9
- import { Box, IconButton } from '@codecademy/gamut';
10
- import { FaviconIcon } from '@codecademy/gamut-icons';
11
- import { Background, system } from '@codecademy/gamut-styles';
12
- import React, { useEffect, useState } from 'react';
13
- import { helloWorld } from './consts';
14
- import { Editor } from './editor';
15
- import { trackClick } from './helpers';
16
- import { LanguageSelection } from './languageSelection';
17
- import { trackUserImpression } from './libs/eventTracking';
18
- import { jsxDEV as _jsxDEV } from "@emotion/react/jsx-dev-runtime";
19
- var editorBaseStyles = system.css({
20
- border: 1,
21
- borderColor: 'gray-900',
22
- display: 'flex',
23
- flexDirection: 'column',
24
- minHeight: '25rem'
25
- });
26
-
27
- var EditorContainer = /*#__PURE__*/_styled(Background, {
28
- target: "e1epka4g0",
29
- label: "EditorContainer"
30
- })(editorBaseStyles, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb2RlQnl0ZUVkaXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUJFIiwiZmlsZSI6Ii4uL3NyYy9jb2RlQnl0ZUVkaXRvci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb3gsIEljb25CdXR0b24gfSBmcm9tICdAY29kZWNhZGVteS9nYW11dCc7XG5pbXBvcnQgeyBGYXZpY29uSWNvbiB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LWljb25zJztcbmltcG9ydCB7IEJhY2tncm91bmQsIHN5c3RlbSB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LXN0eWxlcyc7XG5pbXBvcnQgeyBTdHlsZVByb3BzIH0gZnJvbSAnQGNvZGVjYWRlbXkvdmFyaWFuY2UnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IGhlbGxvV29ybGQsIExhbmd1YWdlT3B0aW9uIH0gZnJvbSAnLi9jb25zdHMnO1xuaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnLi9lZGl0b3InO1xuaW1wb3J0IHsgdHJhY2tDbGljayB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyBMYW5ndWFnZVNlbGVjdGlvbiB9IGZyb20gJy4vbGFuZ3VhZ2VTZWxlY3Rpb24nO1xuaW1wb3J0IHsgdHJhY2tVc2VySW1wcmVzc2lvbiB9IGZyb20gJy4vbGlicy9ldmVudFRyYWNraW5nJztcbmltcG9ydCB7IENvZGVCeXRlRWRpdG9yUHJvcHMgfSBmcm9tICcuL3R5cGVzJztcblxuY29uc3QgZWRpdG9yQmFzZVN0eWxlcyA9IHN5c3RlbS5jc3Moe1xuICBib3JkZXI6IDEsXG4gIGJvcmRlckNvbG9yOiAnZ3JheS05MDAnLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICBtaW5IZWlnaHQ6ICcyNXJlbScsXG59KTtcblxuY29uc3QgRWRpdG9yQ29udGFpbmVyID1cbiAgc3R5bGVkKEJhY2tncm91bmQpPFN0eWxlUHJvcHM8dHlwZW9mIGVkaXRvckJhc2VTdHlsZXM+PihlZGl0b3JCYXNlU3R5bGVzKTtcblxuZXhwb3J0IGNvbnN0IENvZGVCeXRlRWRpdG9yOiBSZWFjdC5GQzxDb2RlQnl0ZUVkaXRvclByb3BzPiA9ICh7XG4gIHRleHQ6IGluaXRpYWxUZXh0LFxuICBsYW5ndWFnZTogaW5pdGlhbExhbmd1YWdlLFxuICBoaWRlQ29weUJ1dHRvbiA9IGZhbHNlLFxuICBzbmlwcGV0c0Jhc2VVcmwsXG4gIG9uRWRpdCxcbiAgb25MYW5ndWFnZUNoYW5nZSxcbiAgY29weUZvcm1hdHRlcixcbiAgdHJhY2tpbmdEYXRhLFxuICB0cmFja0ZpcnN0RWRpdCA9IGZhbHNlLFxuICAuLi5yZXN0XG59KSA9PiB7XG4gIGNvbnN0IGdldEluaXRpYWxUZXh0ID0gKCkgPT4ge1xuICAgIGlmIChpbml0aWFsVGV4dCAhPT0gdW5kZWZpbmVkKSByZXR1cm4gaW5pdGlhbFRleHQ7XG4gICAgcmV0dXJuIGluaXRpYWxMYW5ndWFnZSA/IGhlbGxvV29ybGRbaW5pdGlhbExhbmd1YWdlXSA6ICcnO1xuICB9O1xuXG4gIGNvbnN0IFt0ZXh0LCBzZXRUZXh0XSA9IHVzZVN0YXRlPHN0cmluZz4oZ2V0SW5pdGlhbFRleHQoKSk7XG4gIGNvbnN0IFtsYW5ndWFnZSwgc2V0TGFuZ3VhZ2VdID0gdXNlU3RhdGU8TGFuZ3VhZ2VPcHRpb24+KFxuICAgIGluaXRpYWxMYW5ndWFnZSA/PyAnJ1xuICApO1xuICBjb25zdCBbaGFzQmVlbkVkaXRlZCwgc2V0SGFzQmVlbkVkaXRlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICB0cmFja1VzZXJJbXByZXNzaW9uKHtcbiAgICAgIHBhZ2VfbmFtZTogdHJhY2tpbmdEYXRhPy5wYWdlX25hbWUgPz8gJ1Vua25vd24nLFxuICAgICAgY29udGV4dDogdHJhY2tpbmdEYXRhPy5jb250ZXh0ID8/IGRvY3VtZW50LnJlZmVycmVyLFxuICAgICAgdGFyZ2V0OiAnY29kZWJ5dGUnLFxuICAgIH0pO1xuICB9LCBbdHJhY2tpbmdEYXRhXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8RWRpdG9yQ29udGFpbmVyIGJnPVwiYmxhY2tcIiBtYXhXaWR0aD1cIjQzcmVtXCIgey4uLnJlc3R9IG92ZXJmbG93PVwiaGlkZGVuXCI+XG4gICAgICA8Qm94IGJvcmRlckJvdHRvbT17MX0gYm9yZGVyQ29sb3I9XCJncmF5LTkwMFwiIHB5PXs0fSBwbD17OH0+XG4gICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgaWNvbj17RmF2aWNvbkljb259XG4gICAgICAgICAgdmFyaWFudD1cInNlY29uZGFyeVwiXG4gICAgICAgICAgaHJlZj1cImh0dHBzOi8vd3d3LmNvZGVjYWRlbXkuY29tL1wiXG4gICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICByZWw9XCJub3JlZmVycmVyXCJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwidmlzaXQgY29kZWNhZGVteS5jb21cIlxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHRyYWNrQ2xpY2soJ2xvZ28nLCB0cmFja2luZ0RhdGEpfVxuICAgICAgICAvPlxuICAgICAgPC9Cb3g+XG4gICAgICB7bGFuZ3VhZ2UgPyAoXG4gICAgICAgIDxFZGl0b3JcbiAgICAgICAgICBsYW5ndWFnZT17bGFuZ3VhZ2V9XG4gICAgICAgICAgdGV4dD17dGV4dH1cbiAgICAgICAgICBoaWRlQ29weUJ1dHRvbj17aGlkZUNvcHlCdXR0b259XG4gICAgICAgICAgb25DaGFuZ2U9eyhuZXdUZXh0OiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHNldFRleHQobmV3VGV4dCk7XG4gICAgICAgICAgICBvbkVkaXQ/LihuZXdUZXh0LCBsYW5ndWFnZSk7XG4gICAgICAgICAgICBpZiAodHJhY2tGaXJzdEVkaXQgJiYgaGFzQmVlbkVkaXRlZCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgc2V0SGFzQmVlbkVkaXRlZCh0cnVlKTtcbiAgICAgICAgICAgICAgdHJhY2tDbGljaygnZWRpdCcsIHRyYWNraW5nRGF0YSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgICBzbmlwcGV0c0Jhc2VVcmw9e3NuaXBwZXRzQmFzZVVybH1cbiAgICAgICAgICBjb3B5Rm9ybWF0dGVyPXtjb3B5Rm9ybWF0dGVyfVxuICAgICAgICAgIHRyYWNraW5nRGF0YT17dHJhY2tpbmdEYXRhfVxuICAgICAgICAvPlxuICAgICAgKSA6IChcbiAgICAgICAgPExhbmd1YWdlU2VsZWN0aW9uXG4gICAgICAgICAgb25DaGFuZ2U9eyhuZXdMYW5ndWFnZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmV3VGV4dDogc3RyaW5nID1cbiAgICAgICAgICAgICAgdGV4dCB8fCAobmV3TGFuZ3VhZ2UgPyBoZWxsb1dvcmxkW25ld0xhbmd1YWdlXSA6ICcnKTtcbiAgICAgICAgICAgIHNldExhbmd1YWdlKG5ld0xhbmd1YWdlKTtcbiAgICAgICAgICAgIHNldFRleHQobmV3VGV4dCk7XG4gICAgICAgICAgICB0cmFja0NsaWNrKCdsYW5nX3NlbGVjdCcsIHRyYWNraW5nRGF0YSk7XG4gICAgICAgICAgICBvbkxhbmd1YWdlQ2hhbmdlPy4obmV3VGV4dCwgbmV3TGFuZ3VhZ2UpO1xuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvRWRpdG9yQ29udGFpbmVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQ29kZUJ5dGVFZGl0b3I7XG4iXX0= */");
31
-
32
- export var CodeByteEditor = function CodeByteEditor(_ref) {
33
- var initialText = _ref.text,
34
- initialLanguage = _ref.language,
35
- _ref$hideCopyButton = _ref.hideCopyButton,
36
- hideCopyButton = _ref$hideCopyButton === void 0 ? false : _ref$hideCopyButton,
37
- snippetsBaseUrl = _ref.snippetsBaseUrl,
38
- onEdit = _ref.onEdit,
39
- onLanguageChange = _ref.onLanguageChange,
40
- copyFormatter = _ref.copyFormatter,
41
- trackingData = _ref.trackingData,
42
- _ref$trackFirstEdit = _ref.trackFirstEdit,
43
- trackFirstEdit = _ref$trackFirstEdit === void 0 ? false : _ref$trackFirstEdit,
44
- rest = _objectWithoutPropertiesLoose(_ref, _excluded);
45
-
46
- var getInitialText = function getInitialText() {
47
- if (initialText !== undefined) return initialText;
48
- return initialLanguage ? helloWorld[initialLanguage] : '';
49
- };
50
-
51
- var _useState = useState(getInitialText()),
52
- text = _useState[0],
53
- setText = _useState[1];
54
-
55
- var _useState2 = useState(initialLanguage != null ? initialLanguage : ''),
56
- language = _useState2[0],
57
- setLanguage = _useState2[1];
58
-
59
- var _useState3 = useState(false),
60
- hasBeenEdited = _useState3[0],
61
- setHasBeenEdited = _useState3[1];
62
-
63
- useEffect(function () {
64
- var _trackingData$page_na, _trackingData$context;
65
-
66
- trackUserImpression({
67
- page_name: (_trackingData$page_na = trackingData == null ? void 0 : trackingData.page_name) != null ? _trackingData$page_na : 'Unknown',
68
- context: (_trackingData$context = trackingData == null ? void 0 : trackingData.context) != null ? _trackingData$context : document.referrer,
69
- target: 'codebyte'
70
- });
71
- }, [trackingData]);
72
- return _jsxDEV(EditorContainer, Object.assign({
73
- bg: "black",
74
- maxWidth: "43rem"
75
- }, rest, {
76
- overflow: "hidden",
77
- children: [_jsxDEV(Box, {
78
- borderBottom: 1,
79
- borderColor: "gray-900",
80
- py: 4,
81
- pl: 8,
82
- children: _jsxDEV(IconButton, {
83
- icon: FaviconIcon,
84
- variant: "secondary",
85
- href: "https://www.codecademy.com/",
86
- target: "_blank",
87
- rel: "noreferrer",
88
- "aria-label": "visit codecademy.com",
89
- onClick: function onClick() {
90
- return trackClick('logo', trackingData);
91
- }
92
- }, void 0, false, {
93
- fileName: _jsxFileName,
94
- lineNumber: 60,
95
- columnNumber: 9
96
- }, _this)
97
- }, void 0, false, {
98
- fileName: _jsxFileName,
99
- lineNumber: 59,
100
- columnNumber: 7
101
- }, _this), language ? _jsxDEV(Editor, {
102
- language: language,
103
- text: text,
104
- hideCopyButton: hideCopyButton,
105
- onChange: function onChange(newText) {
106
- setText(newText);
107
- onEdit == null ? void 0 : onEdit(newText, language);
108
-
109
- if (trackFirstEdit && hasBeenEdited === false) {
110
- setHasBeenEdited(true);
111
- trackClick('edit', trackingData);
112
- }
113
- },
114
- snippetsBaseUrl: snippetsBaseUrl,
115
- copyFormatter: copyFormatter,
116
- trackingData: trackingData
117
- }, void 0, false, {
118
- fileName: _jsxFileName,
119
- lineNumber: 71,
120
- columnNumber: 9
121
- }, _this) : _jsxDEV(LanguageSelection, {
122
- onChange: function onChange(newLanguage) {
123
- var newText = text || (newLanguage ? helloWorld[newLanguage] : '');
124
- setLanguage(newLanguage);
125
- setText(newText);
126
- trackClick('lang_select', trackingData);
127
- onLanguageChange == null ? void 0 : onLanguageChange(newText, newLanguage);
128
- }
129
- }, void 0, false, {
130
- fileName: _jsxFileName,
131
- lineNumber: 88,
132
- columnNumber: 9
133
- }, _this)]
134
- }), void 0, true, {
135
- fileName: _jsxFileName,
136
- lineNumber: 58,
137
- columnNumber: 5
138
- }, _this);
139
- };
140
- export default CodeByteEditor;
package/dist/consts.js DELETED
@@ -1,37 +0,0 @@
1
- import "core-js/modules/es.array.filter.js";
2
- import "core-js/modules/es.object.to-string.js";
3
- import "core-js/modules/es.object.keys.js";
4
- // key = language param to send to snippets service
5
- // val = label in language selection drop down
6
- export var LanguageOptions = {
7
- '': 'Select a language',
8
- cpp: 'C++',
9
- csharp: 'C#',
10
- golang: 'Go',
11
- javascript: 'JavaScript',
12
- php: 'PHP',
13
- python: 'Python 3',
14
- ruby: 'Ruby',
15
- scheme: 'Scheme'
16
- };
17
- export var validLanguages = Object.keys(LanguageOptions).filter(function (option) {
18
- return !!option;
19
- });
20
- var cpp = "#include <iostream>\nint main() {\n std::cout << \"Hello world!\";\n return 0;\n}";
21
- var csharp = "namespace HelloWorld {\n class Hello {\n static void Main(string[] args) {\n System.Console.WriteLine(\"Hello world!\");\n }\n }\n}";
22
- var golang = "package main\nimport \"fmt\"\nfunc main() {\n fmt.Println(\"Hello world!\")\n}";
23
- var javascript = "console.log('Hello world!');";
24
- var php = "<?php\n echo \"Hello world!\";\n?>";
25
- var python = "print('Hello world!')";
26
- var ruby = 'puts "Hello world!"';
27
- var scheme = "(begin\n (display \"Hello world!\")\n (newline))";
28
- export var helloWorld = {
29
- cpp: cpp,
30
- csharp: csharp,
31
- golang: golang,
32
- javascript: javascript,
33
- php: php,
34
- python: python,
35
- ruby: ruby,
36
- scheme: scheme
37
- };
package/dist/drawers.js DELETED
@@ -1,192 +0,0 @@
1
- import _styled from "@emotion/styled/base";
2
-
3
- var _jsxFileName = "/home/runner/work/mono/mono/libs/codebytes/src/drawers.tsx",
4
- _this = this;
5
-
6
- function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
7
-
8
- import { FlexBox, IconButton } from '@codecademy/gamut';
9
- import { ArrowChevronLeftIcon, ArrowChevronRightIcon } from '@codecademy/gamut-icons';
10
- import React, { useState } from 'react';
11
- import { jsxDEV as _jsxDEV } from "@emotion/react/jsx-dev-runtime";
12
- import { Fragment as _Fragment } from "@emotion/react/jsx-dev-runtime";
13
-
14
- var DrawerLabel = _styled("span", {
15
- target: "e1keub6a2",
16
- label: "DrawerLabel"
17
- })(process.env.NODE_ENV === "production" ? {
18
- name: "1u2ibt9",
19
- styles: "padding:0.875rem 0.5rem"
20
- } : {
21
- name: "1u2ibt9",
22
- styles: "padding:0.875rem 0.5rem",
23
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kcmF3ZXJzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRK0IiLCJmaWxlIjoiLi4vc3JjL2RyYXdlcnMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmxleEJveCwgSWNvbkJ1dHRvbiB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0JztcbmltcG9ydCB7XG4gIEFycm93Q2hldnJvbkxlZnRJY29uLFxuICBBcnJvd0NoZXZyb25SaWdodEljb24sXG59IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LWljb25zJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcblxuY29uc3QgRHJhd2VyTGFiZWwgPSBzdHlsZWQuc3BhbmBcbiAgcGFkZGluZzogMC44NzVyZW0gMC41cmVtO1xuYDtcblxuY29uc3QgTGVmdERyYXdlckljb24gPSBzdHlsZWQoQXJyb3dDaGV2cm9uTGVmdEljb24pPHsgb3Blbj86IGJvb2xlYW4gfT5gXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UtaW4tb3V0O1xuYDtcbmNvbnN0IFJpZ2h0RHJhd2VySWNvbiA9IExlZnREcmF3ZXJJY29uLndpdGhDb21wb25lbnQoQXJyb3dDaGV2cm9uUmlnaHRJY29uKTtcblxuY29uc3QgRHJhd2VyID0gc3R5bGVkKEZsZXhCb3gpPHsgb3Blbj86IGJvb2xlYW47IGhpZGVPbkNsb3NlPzogYm9vbGVhbiB9PmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAkeyh7IG9wZW4sIGhpZGVPbkNsb3NlIH0pID0+IGBcbiAgICBmbGV4LWJhc2lzOiAke29wZW4gPyAnMTAwJScgOiAnMCUnfTtcbiAgICB2aXNpYmlsaXR5OiAkeyFvcGVuICYmIGhpZGVPbkNsb3NlID8gJ2hpZGRlbicgOiAndmlzaWJsZSd9O1xuICAgIHRyYW5zaXRpb246IGZsZXgtYmFzaXMgMC4ycyAke1xuICAgICAgb3BlbiA/ICdlYXNlLW91dCcgOiAnZWFzZS1pbiwgdmlzaWJpbGl0eSAwcyAwLjJzJ1xuICAgIH07XG5cbiAgICAke0xlZnREcmF3ZXJJY29ufSwgJHtSaWdodERyYXdlckljb259IHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlWigke29wZW4gPyAnMCcgOiAnMTgwJ31kZWcpfTtcbiAgICB9XG4gIGB9XG5gO1xuXG5leHBvcnQgdHlwZSBEcmF3ZXJzUHJvcHMgPSB7XG4gIGxlZnRDaGlsZDogUmVhY3QuUmVhY3ROb2RlO1xuICByaWdodENoaWxkOiBSZWFjdC5SZWFjdE5vZGU7XG59O1xuXG5leHBvcnQgY29uc3QgRHJhd2VyczogUmVhY3QuRkM8RHJhd2Vyc1Byb3BzPiA9ICh7IGxlZnRDaGlsZCwgcmlnaHRDaGlsZCB9KSA9PiB7XG4gIGNvbnN0IFtvcGVuLCBzZXRPcGVuXSA9IHVzZVN0YXRlPCdsZWZ0JyB8ICdyaWdodCcgfCAnYm90aCc+KCdib3RoJyk7XG5cbiAgbGV0IGFyaWFMYWJlbENvZGVCdXR0b24gPSAnaGlkZSBjb2RlJztcbiAgbGV0IGFyaWFMYWJlbE91dHB1dEJ1dHRvbiA9ICdoaWRlIG91dHB1dCc7XG4gIGxldCBpc0xlZnRPcGVuID0gZmFsc2U7XG4gIGxldCBpc1JpZ2h0T3BlbiA9IGZhbHNlO1xuXG4gIGlmIChvcGVuID09PSAnbGVmdCcpIHtcbiAgICBhcmlhTGFiZWxDb2RlQnV0dG9uID0gYXJpYUxhYmVsT3V0cHV0QnV0dG9uID0gJ3Nob3cgb3V0cHV0JztcbiAgICBpc0xlZnRPcGVuID0gdHJ1ZTtcbiAgfSBlbHNlIGlmIChvcGVuID09PSAncmlnaHQnKSB7XG4gICAgYXJpYUxhYmVsQ29kZUJ1dHRvbiA9IGFyaWFMYWJlbE91dHB1dEJ1dHRvbiA9ICdzaG93IGNvZGUnO1xuICAgIGlzUmlnaHRPcGVuID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxGbGV4Qm94PlxuICAgICAgICA8RHJhd2VyXG4gICAgICAgICAgb3Blbj17IWlzUmlnaHRPcGVufVxuICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgIGZsZXhXcmFwPVwibm93cmFwXCJcbiAgICAgICAgICB0ZXh0QWxpZ249XCJsZWZ0XCJcbiAgICAgICAgICBib3JkZXJSaWdodD17MX1cbiAgICAgICAgICBib3JkZXJDb2xvcj1cImdyYXktOTAwXCJcbiAgICAgICAgICBweD17OH1cbiAgICAgICAgPlxuICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICBpY29uPXtMZWZ0RHJhd2VySWNvbn1cbiAgICAgICAgICAgIHZhcmlhbnQ9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+XG4gICAgICAgICAgICAgIHNldE9wZW4oKHN0YXRlKSA9PiAoc3RhdGUgPT09ICdib3RoJyA/ICdyaWdodCcgOiAnYm90aCcpKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsQ29kZUJ1dHRvbn1cbiAgICAgICAgICAgIGFyaWEtY29udHJvbHM9XCJjb2RlLWRyYXdlclwiXG4gICAgICAgICAgICBhcmlhLWV4cGFuZGVkPXshaXNSaWdodE9wZW59XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8RHJhd2VyTGFiZWwgaWQ9XCJjb2RlLWRyYXdlci1sYWJlbFwiPkNvZGU8L0RyYXdlckxhYmVsPlxuICAgICAgICA8L0RyYXdlcj5cbiAgICAgICAgPERyYXdlclxuICAgICAgICAgIG9wZW49eyFpc0xlZnRPcGVufVxuICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgIGZsZXhXcmFwPVwibm93cmFwXCJcbiAgICAgICAgICBqdXN0aWZ5Q29udGVudD1cImZsZXgtZW5kXCJcbiAgICAgICAgICBweD17OH1cbiAgICAgICAgPlxuICAgICAgICAgIDxEcmF3ZXJMYWJlbCBpZD1cIm91dHB1dC1kcmF3ZXItbGFiZWxcIj5PdXRwdXQ8L0RyYXdlckxhYmVsPlxuICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICBpY29uPXtSaWdodERyYXdlckljb259XG4gICAgICAgICAgICB2YXJpYW50PVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PlxuICAgICAgICAgICAgICBzZXRPcGVuKChzdGF0ZSkgPT4gKHN0YXRlID09PSAnYm90aCcgPyAnbGVmdCcgOiAnYm90aCcpKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsT3V0cHV0QnV0dG9ufVxuICAgICAgICAgICAgYXJpYS1jb250cm9scz1cIm91dHB1dC1kcmF3ZXJcIlxuICAgICAgICAgICAgYXJpYS1leHBhbmRlZD17IWlzTGVmdE9wZW59XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9EcmF3ZXI+XG4gICAgICA8L0ZsZXhCb3g+XG4gICAgICA8RmxleEJveFxuICAgICAgICBmbGV4R3Jvdz17MX1cbiAgICAgICAgYm9yZGVyWT17MX1cbiAgICAgICAgYm9yZGVyQ29sb3I9XCJncmF5LTkwMFwiXG4gICAgICAgIGFsaWduSXRlbXM9XCJzdHJldGNoXCJcbiAgICAgICAgb3ZlcmZsb3c9XCJoaWRkZW5cIlxuICAgICAgPlxuICAgICAgICA8RHJhd2VyXG4gICAgICAgICAgaGlkZU9uQ2xvc2VcbiAgICAgICAgICBpZD1cImNvZGUtZHJhd2VyXCJcbiAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9XCJjb2RlLWRyYXdlci1sYWJlbFwiXG4gICAgICAgICAgb3Blbj17IWlzUmlnaHRPcGVufVxuICAgICAgICAgIGZsZXhHcm93PXswfVxuICAgICAgICAgIG92ZXJmbG93PVwiaGlkZGVuXCJcbiAgICAgICAgICBib3JkZXJDb2xvcj1cImdyYXktOTAwXCJcbiAgICAgICAgICBib3JkZXJTdHlsZVJpZ2h0PVwic29saWRcIlxuICAgICAgICAgIGJvcmRlcldpZHRoUmlnaHQ9XCJ0aGluXCJcbiAgICAgICAgPlxuICAgICAgICAgIHtsZWZ0Q2hpbGR9XG4gICAgICAgIDwvRHJhd2VyPlxuICAgICAgICA8RHJhd2VyXG4gICAgICAgICAgaGlkZU9uQ2xvc2VcbiAgICAgICAgICBpZD1cIm91dHB1dC1kcmF3ZXJcIlxuICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT1cIm91dHB1dC1kcmF3ZXItbGFiZWxcIlxuICAgICAgICAgIHJvbGU9XCJyZWdpb25cIlxuICAgICAgICAgIG9wZW49eyFpc0xlZnRPcGVufVxuICAgICAgICAgIG92ZXJmbG93PVwiaGlkZGVuXCJcbiAgICAgICAgPlxuICAgICAgICAgIHtyaWdodENoaWxkfVxuICAgICAgICA8L0RyYXdlcj5cbiAgICAgIDwvRmxleEJveD5cbiAgICA8Lz5cbiAgKTtcbn07XG4iXX0= */",
24
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
25
- });
26
-
27
- var LeftDrawerIcon = /*#__PURE__*/_styled(ArrowChevronLeftIcon, {
28
- target: "e1keub6a1",
29
- label: "LeftDrawerIcon"
30
- })(process.env.NODE_ENV === "production" ? {
31
- name: "jlwh11",
32
- styles: "transition:transform 0.2s ease-in-out"
33
- } : {
34
- name: "jlwh11",
35
- styles: "transition:transform 0.2s ease-in-out",
36
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kcmF3ZXJzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFZdUUiLCJmaWxlIjoiLi4vc3JjL2RyYXdlcnMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmxleEJveCwgSWNvbkJ1dHRvbiB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0JztcbmltcG9ydCB7XG4gIEFycm93Q2hldnJvbkxlZnRJY29uLFxuICBBcnJvd0NoZXZyb25SaWdodEljb24sXG59IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LWljb25zJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcblxuY29uc3QgRHJhd2VyTGFiZWwgPSBzdHlsZWQuc3BhbmBcbiAgcGFkZGluZzogMC44NzVyZW0gMC41cmVtO1xuYDtcblxuY29uc3QgTGVmdERyYXdlckljb24gPSBzdHlsZWQoQXJyb3dDaGV2cm9uTGVmdEljb24pPHsgb3Blbj86IGJvb2xlYW4gfT5gXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UtaW4tb3V0O1xuYDtcbmNvbnN0IFJpZ2h0RHJhd2VySWNvbiA9IExlZnREcmF3ZXJJY29uLndpdGhDb21wb25lbnQoQXJyb3dDaGV2cm9uUmlnaHRJY29uKTtcblxuY29uc3QgRHJhd2VyID0gc3R5bGVkKEZsZXhCb3gpPHsgb3Blbj86IGJvb2xlYW47IGhpZGVPbkNsb3NlPzogYm9vbGVhbiB9PmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAkeyh7IG9wZW4sIGhpZGVPbkNsb3NlIH0pID0+IGBcbiAgICBmbGV4LWJhc2lzOiAke29wZW4gPyAnMTAwJScgOiAnMCUnfTtcbiAgICB2aXNpYmlsaXR5OiAkeyFvcGVuICYmIGhpZGVPbkNsb3NlID8gJ2hpZGRlbicgOiAndmlzaWJsZSd9O1xuICAgIHRyYW5zaXRpb246IGZsZXgtYmFzaXMgMC4ycyAke1xuICAgICAgb3BlbiA/ICdlYXNlLW91dCcgOiAnZWFzZS1pbiwgdmlzaWJpbGl0eSAwcyAwLjJzJ1xuICAgIH07XG5cbiAgICAke0xlZnREcmF3ZXJJY29ufSwgJHtSaWdodERyYXdlckljb259IHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlWigke29wZW4gPyAnMCcgOiAnMTgwJ31kZWcpfTtcbiAgICB9XG4gIGB9XG5gO1xuXG5leHBvcnQgdHlwZSBEcmF3ZXJzUHJvcHMgPSB7XG4gIGxlZnRDaGlsZDogUmVhY3QuUmVhY3ROb2RlO1xuICByaWdodENoaWxkOiBSZWFjdC5SZWFjdE5vZGU7XG59O1xuXG5leHBvcnQgY29uc3QgRHJhd2VyczogUmVhY3QuRkM8RHJhd2Vyc1Byb3BzPiA9ICh7IGxlZnRDaGlsZCwgcmlnaHRDaGlsZCB9KSA9PiB7XG4gIGNvbnN0IFtvcGVuLCBzZXRPcGVuXSA9IHVzZVN0YXRlPCdsZWZ0JyB8ICdyaWdodCcgfCAnYm90aCc+KCdib3RoJyk7XG5cbiAgbGV0IGFyaWFMYWJlbENvZGVCdXR0b24gPSAnaGlkZSBjb2RlJztcbiAgbGV0IGFyaWFMYWJlbE91dHB1dEJ1dHRvbiA9ICdoaWRlIG91dHB1dCc7XG4gIGxldCBpc0xlZnRPcGVuID0gZmFsc2U7XG4gIGxldCBpc1JpZ2h0T3BlbiA9IGZhbHNlO1xuXG4gIGlmIChvcGVuID09PSAnbGVmdCcpIHtcbiAgICBhcmlhTGFiZWxDb2RlQnV0dG9uID0gYXJpYUxhYmVsT3V0cHV0QnV0dG9uID0gJ3Nob3cgb3V0cHV0JztcbiAgICBpc0xlZnRPcGVuID0gdHJ1ZTtcbiAgfSBlbHNlIGlmIChvcGVuID09PSAncmlnaHQnKSB7XG4gICAgYXJpYUxhYmVsQ29kZUJ1dHRvbiA9IGFyaWFMYWJlbE91dHB1dEJ1dHRvbiA9ICdzaG93IGNvZGUnO1xuICAgIGlzUmlnaHRPcGVuID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxGbGV4Qm94PlxuICAgICAgICA8RHJhd2VyXG4gICAgICAgICAgb3Blbj17IWlzUmlnaHRPcGVufVxuICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgIGZsZXhXcmFwPVwibm93cmFwXCJcbiAgICAgICAgICB0ZXh0QWxpZ249XCJsZWZ0XCJcbiAgICAgICAgICBib3JkZXJSaWdodD17MX1cbiAgICAgICAgICBib3JkZXJDb2xvcj1cImdyYXktOTAwXCJcbiAgICAgICAgICBweD17OH1cbiAgICAgICAgPlxuICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICBpY29uPXtMZWZ0RHJhd2VySWNvbn1cbiAgICAgICAgICAgIHZhcmlhbnQ9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+XG4gICAgICAgICAgICAgIHNldE9wZW4oKHN0YXRlKSA9PiAoc3RhdGUgPT09ICdib3RoJyA/ICdyaWdodCcgOiAnYm90aCcpKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsQ29kZUJ1dHRvbn1cbiAgICAgICAgICAgIGFyaWEtY29udHJvbHM9XCJjb2RlLWRyYXdlclwiXG4gICAgICAgICAgICBhcmlhLWV4cGFuZGVkPXshaXNSaWdodE9wZW59XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8RHJhd2VyTGFiZWwgaWQ9XCJjb2RlLWRyYXdlci1sYWJlbFwiPkNvZGU8L0RyYXdlckxhYmVsPlxuICAgICAgICA8L0RyYXdlcj5cbiAgICAgICAgPERyYXdlclxuICAgICAgICAgIG9wZW49eyFpc0xlZnRPcGVufVxuICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgIGZsZXhXcmFwPVwibm93cmFwXCJcbiAgICAgICAgICBqdXN0aWZ5Q29udGVudD1cImZsZXgtZW5kXCJcbiAgICAgICAgICBweD17OH1cbiAgICAgICAgPlxuICAgICAgICAgIDxEcmF3ZXJMYWJlbCBpZD1cIm91dHB1dC1kcmF3ZXItbGFiZWxcIj5PdXRwdXQ8L0RyYXdlckxhYmVsPlxuICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICBpY29uPXtSaWdodERyYXdlckljb259XG4gICAgICAgICAgICB2YXJpYW50PVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PlxuICAgICAgICAgICAgICBzZXRPcGVuKChzdGF0ZSkgPT4gKHN0YXRlID09PSAnYm90aCcgPyAnbGVmdCcgOiAnYm90aCcpKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsT3V0cHV0QnV0dG9ufVxuICAgICAgICAgICAgYXJpYS1jb250cm9scz1cIm91dHB1dC1kcmF3ZXJcIlxuICAgICAgICAgICAgYXJpYS1leHBhbmRlZD17IWlzTGVmdE9wZW59XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9EcmF3ZXI+XG4gICAgICA8L0ZsZXhCb3g+XG4gICAgICA8RmxleEJveFxuICAgICAgICBmbGV4R3Jvdz17MX1cbiAgICAgICAgYm9yZGVyWT17MX1cbiAgICAgICAgYm9yZGVyQ29sb3I9XCJncmF5LTkwMFwiXG4gICAgICAgIGFsaWduSXRlbXM9XCJzdHJldGNoXCJcbiAgICAgICAgb3ZlcmZsb3c9XCJoaWRkZW5cIlxuICAgICAgPlxuICAgICAgICA8RHJhd2VyXG4gICAgICAgICAgaGlkZU9uQ2xvc2VcbiAgICAgICAgICBpZD1cImNvZGUtZHJhd2VyXCJcbiAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9XCJjb2RlLWRyYXdlci1sYWJlbFwiXG4gICAgICAgICAgb3Blbj17IWlzUmlnaHRPcGVufVxuICAgICAgICAgIGZsZXhHcm93PXswfVxuICAgICAgICAgIG92ZXJmbG93PVwiaGlkZGVuXCJcbiAgICAgICAgICBib3JkZXJDb2xvcj1cImdyYXktOTAwXCJcbiAgICAgICAgICBib3JkZXJTdHlsZVJpZ2h0PVwic29saWRcIlxuICAgICAgICAgIGJvcmRlcldpZHRoUmlnaHQ9XCJ0aGluXCJcbiAgICAgICAgPlxuICAgICAgICAgIHtsZWZ0Q2hpbGR9XG4gICAgICAgIDwvRHJhd2VyPlxuICAgICAgICA8RHJhd2VyXG4gICAgICAgICAgaGlkZU9uQ2xvc2VcbiAgICAgICAgICBpZD1cIm91dHB1dC1kcmF3ZXJcIlxuICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT1cIm91dHB1dC1kcmF3ZXItbGFiZWxcIlxuICAgICAgICAgIHJvbGU9XCJyZWdpb25cIlxuICAgICAgICAgIG9wZW49eyFpc0xlZnRPcGVufVxuICAgICAgICAgIG92ZXJmbG93PVwiaGlkZGVuXCJcbiAgICAgICAgPlxuICAgICAgICAgIHtyaWdodENoaWxkfVxuICAgICAgICA8L0RyYXdlcj5cbiAgICAgIDwvRmxleEJveD5cbiAgICA8Lz5cbiAgKTtcbn07XG4iXX0= */",
37
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
38
- });
39
-
40
- var RightDrawerIcon = LeftDrawerIcon.withComponent(ArrowChevronRightIcon, {
41
- target: "e1keub6a3",
42
- label: "RightDrawerIcon"
43
- });
44
-
45
- var Drawer = /*#__PURE__*/_styled(FlexBox, {
46
- target: "e1keub6a0",
47
- label: "Drawer"
48
- })("position:relative;", function (_ref) {
49
- var open = _ref.open,
50
- hideOnClose = _ref.hideOnClose;
51
- return "\n flex-basis: " + (open ? '100%' : '0%') + ";\n visibility: " + (!open && hideOnClose ? 'hidden' : 'visible') + ";\n transition: flex-basis 0.2s " + (open ? 'ease-out' : 'ease-in, visibility 0s 0.2s') + ";\n\n " + LeftDrawerIcon + ", " + RightDrawerIcon + " {\n transform: rotateZ(" + (open ? '0' : '180') + "deg)};\n }\n ";
52
- }, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kcmF3ZXJzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQnlFIiwiZmlsZSI6Ii4uL3NyYy9kcmF3ZXJzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZsZXhCb3gsIEljb25CdXR0b24gfSBmcm9tICdAY29kZWNhZGVteS9nYW11dCc7XG5pbXBvcnQge1xuICBBcnJvd0NoZXZyb25MZWZ0SWNvbixcbiAgQXJyb3dDaGV2cm9uUmlnaHRJY29uLFxufSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1pY29ucyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5cbmNvbnN0IERyYXdlckxhYmVsID0gc3R5bGVkLnNwYW5gXG4gIHBhZGRpbmc6IDAuODc1cmVtIDAuNXJlbTtcbmA7XG5cbmNvbnN0IExlZnREcmF3ZXJJY29uID0gc3R5bGVkKEFycm93Q2hldnJvbkxlZnRJY29uKTx7IG9wZW4/OiBib29sZWFuIH0+YFxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLWluLW91dDtcbmA7XG5jb25zdCBSaWdodERyYXdlckljb24gPSBMZWZ0RHJhd2VySWNvbi53aXRoQ29tcG9uZW50KEFycm93Q2hldnJvblJpZ2h0SWNvbik7XG5cbmNvbnN0IERyYXdlciA9IHN0eWxlZChGbGV4Qm94KTx7IG9wZW4/OiBib29sZWFuOyBoaWRlT25DbG9zZT86IGJvb2xlYW4gfT5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgJHsoeyBvcGVuLCBoaWRlT25DbG9zZSB9KSA9PiBgXG4gICAgZmxleC1iYXNpczogJHtvcGVuID8gJzEwMCUnIDogJzAlJ307XG4gICAgdmlzaWJpbGl0eTogJHshb3BlbiAmJiBoaWRlT25DbG9zZSA/ICdoaWRkZW4nIDogJ3Zpc2libGUnfTtcbiAgICB0cmFuc2l0aW9uOiBmbGV4LWJhc2lzIDAuMnMgJHtcbiAgICAgIG9wZW4gPyAnZWFzZS1vdXQnIDogJ2Vhc2UtaW4sIHZpc2liaWxpdHkgMHMgMC4ycydcbiAgICB9O1xuXG4gICAgJHtMZWZ0RHJhd2VySWNvbn0sICR7UmlnaHREcmF3ZXJJY29ufSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZVooJHtvcGVuID8gJzAnIDogJzE4MCd9ZGVnKX07XG4gICAgfVxuICBgfVxuYDtcblxuZXhwb3J0IHR5cGUgRHJhd2Vyc1Byb3BzID0ge1xuICBsZWZ0Q2hpbGQ6IFJlYWN0LlJlYWN0Tm9kZTtcbiAgcmlnaHRDaGlsZDogUmVhY3QuUmVhY3ROb2RlO1xufTtcblxuZXhwb3J0IGNvbnN0IERyYXdlcnM6IFJlYWN0LkZDPERyYXdlcnNQcm9wcz4gPSAoeyBsZWZ0Q2hpbGQsIHJpZ2h0Q2hpbGQgfSkgPT4ge1xuICBjb25zdCBbb3Blbiwgc2V0T3Blbl0gPSB1c2VTdGF0ZTwnbGVmdCcgfCAncmlnaHQnIHwgJ2JvdGgnPignYm90aCcpO1xuXG4gIGxldCBhcmlhTGFiZWxDb2RlQnV0dG9uID0gJ2hpZGUgY29kZSc7XG4gIGxldCBhcmlhTGFiZWxPdXRwdXRCdXR0b24gPSAnaGlkZSBvdXRwdXQnO1xuICBsZXQgaXNMZWZ0T3BlbiA9IGZhbHNlO1xuICBsZXQgaXNSaWdodE9wZW4gPSBmYWxzZTtcblxuICBpZiAob3BlbiA9PT0gJ2xlZnQnKSB7XG4gICAgYXJpYUxhYmVsQ29kZUJ1dHRvbiA9IGFyaWFMYWJlbE91dHB1dEJ1dHRvbiA9ICdzaG93IG91dHB1dCc7XG4gICAgaXNMZWZ0T3BlbiA9IHRydWU7XG4gIH0gZWxzZSBpZiAob3BlbiA9PT0gJ3JpZ2h0Jykge1xuICAgIGFyaWFMYWJlbENvZGVCdXR0b24gPSBhcmlhTGFiZWxPdXRwdXRCdXR0b24gPSAnc2hvdyBjb2RlJztcbiAgICBpc1JpZ2h0T3BlbiA9IHRydWU7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8RmxleEJveD5cbiAgICAgICAgPERyYXdlclxuICAgICAgICAgIG9wZW49eyFpc1JpZ2h0T3Blbn1cbiAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICBmbGV4V3JhcD1cIm5vd3JhcFwiXG4gICAgICAgICAgdGV4dEFsaWduPVwibGVmdFwiXG4gICAgICAgICAgYm9yZGVyUmlnaHQ9ezF9XG4gICAgICAgICAgYm9yZGVyQ29sb3I9XCJncmF5LTkwMFwiXG4gICAgICAgICAgcHg9ezh9XG4gICAgICAgID5cbiAgICAgICAgICA8SWNvbkJ1dHRvblxuICAgICAgICAgICAgaWNvbj17TGVmdERyYXdlckljb259XG4gICAgICAgICAgICB2YXJpYW50PVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PlxuICAgICAgICAgICAgICBzZXRPcGVuKChzdGF0ZSkgPT4gKHN0YXRlID09PSAnYm90aCcgPyAncmlnaHQnIDogJ2JvdGgnKSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbENvZGVCdXR0b259XG4gICAgICAgICAgICBhcmlhLWNvbnRyb2xzPVwiY29kZS1kcmF3ZXJcIlxuICAgICAgICAgICAgYXJpYS1leHBhbmRlZD17IWlzUmlnaHRPcGVufVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPERyYXdlckxhYmVsIGlkPVwiY29kZS1kcmF3ZXItbGFiZWxcIj5Db2RlPC9EcmF3ZXJMYWJlbD5cbiAgICAgICAgPC9EcmF3ZXI+XG4gICAgICAgIDxEcmF3ZXJcbiAgICAgICAgICBvcGVuPXshaXNMZWZ0T3Blbn1cbiAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICBmbGV4V3JhcD1cIm5vd3JhcFwiXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJmbGV4LWVuZFwiXG4gICAgICAgICAgcHg9ezh9XG4gICAgICAgID5cbiAgICAgICAgICA8RHJhd2VyTGFiZWwgaWQ9XCJvdXRwdXQtZHJhd2VyLWxhYmVsXCI+T3V0cHV0PC9EcmF3ZXJMYWJlbD5cbiAgICAgICAgICA8SWNvbkJ1dHRvblxuICAgICAgICAgICAgaWNvbj17UmlnaHREcmF3ZXJJY29ufVxuICAgICAgICAgICAgdmFyaWFudD1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgb25DbGljaz17KCkgPT5cbiAgICAgICAgICAgICAgc2V0T3Blbigoc3RhdGUpID0+IChzdGF0ZSA9PT0gJ2JvdGgnID8gJ2xlZnQnIDogJ2JvdGgnKSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbE91dHB1dEJ1dHRvbn1cbiAgICAgICAgICAgIGFyaWEtY29udHJvbHM9XCJvdXRwdXQtZHJhd2VyXCJcbiAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9eyFpc0xlZnRPcGVufVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvRHJhd2VyPlxuICAgICAgPC9GbGV4Qm94PlxuICAgICAgPEZsZXhCb3hcbiAgICAgICAgZmxleEdyb3c9ezF9XG4gICAgICAgIGJvcmRlclk9ezF9XG4gICAgICAgIGJvcmRlckNvbG9yPVwiZ3JheS05MDBcIlxuICAgICAgICBhbGlnbkl0ZW1zPVwic3RyZXRjaFwiXG4gICAgICAgIG92ZXJmbG93PVwiaGlkZGVuXCJcbiAgICAgID5cbiAgICAgICAgPERyYXdlclxuICAgICAgICAgIGhpZGVPbkNsb3NlXG4gICAgICAgICAgaWQ9XCJjb2RlLWRyYXdlclwiXG4gICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwiY29kZS1kcmF3ZXItbGFiZWxcIlxuICAgICAgICAgIG9wZW49eyFpc1JpZ2h0T3Blbn1cbiAgICAgICAgICBmbGV4R3Jvdz17MH1cbiAgICAgICAgICBvdmVyZmxvdz1cImhpZGRlblwiXG4gICAgICAgICAgYm9yZGVyQ29sb3I9XCJncmF5LTkwMFwiXG4gICAgICAgICAgYm9yZGVyU3R5bGVSaWdodD1cInNvbGlkXCJcbiAgICAgICAgICBib3JkZXJXaWR0aFJpZ2h0PVwidGhpblwiXG4gICAgICAgID5cbiAgICAgICAgICB7bGVmdENoaWxkfVxuICAgICAgICA8L0RyYXdlcj5cbiAgICAgICAgPERyYXdlclxuICAgICAgICAgIGhpZGVPbkNsb3NlXG4gICAgICAgICAgaWQ9XCJvdXRwdXQtZHJhd2VyXCJcbiAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9XCJvdXRwdXQtZHJhd2VyLWxhYmVsXCJcbiAgICAgICAgICByb2xlPVwicmVnaW9uXCJcbiAgICAgICAgICBvcGVuPXshaXNMZWZ0T3Blbn1cbiAgICAgICAgICBvdmVyZmxvdz1cImhpZGRlblwiXG4gICAgICAgID5cbiAgICAgICAgICB7cmlnaHRDaGlsZH1cbiAgICAgICAgPC9EcmF3ZXI+XG4gICAgICA8L0ZsZXhCb3g+XG4gICAgPC8+XG4gICk7XG59O1xuIl19 */"));
53
-
54
- export var Drawers = function Drawers(_ref2) {
55
- var leftChild = _ref2.leftChild,
56
- rightChild = _ref2.rightChild;
57
-
58
- var _useState = useState('both'),
59
- open = _useState[0],
60
- setOpen = _useState[1];
61
-
62
- var ariaLabelCodeButton = 'hide code';
63
- var ariaLabelOutputButton = 'hide output';
64
- var isLeftOpen = false;
65
- var isRightOpen = false;
66
-
67
- if (open === 'left') {
68
- ariaLabelCodeButton = ariaLabelOutputButton = 'show output';
69
- isLeftOpen = true;
70
- } else if (open === 'right') {
71
- ariaLabelCodeButton = ariaLabelOutputButton = 'show code';
72
- isRightOpen = true;
73
- }
74
-
75
- return _jsxDEV(_Fragment, {
76
- children: [_jsxDEV(FlexBox, {
77
- children: [_jsxDEV(Drawer, {
78
- open: !isRightOpen,
79
- alignItems: "center",
80
- flexWrap: "nowrap",
81
- textAlign: "left",
82
- borderRight: 1,
83
- borderColor: "gray-900",
84
- px: 8,
85
- children: [_jsxDEV(IconButton, {
86
- icon: LeftDrawerIcon,
87
- variant: "secondary",
88
- size: "small",
89
- onClick: function onClick() {
90
- return setOpen(function (state) {
91
- return state === 'both' ? 'right' : 'both';
92
- });
93
- },
94
- "aria-label": ariaLabelCodeButton,
95
- "aria-controls": "code-drawer",
96
- "aria-expanded": !isRightOpen
97
- }, void 0, false, {
98
- fileName: _jsxFileName,
99
- lineNumber: 66,
100
- columnNumber: 11
101
- }, _this), _jsxDEV(DrawerLabel, {
102
- id: "code-drawer-label",
103
- children: "Code"
104
- }, void 0, false, {
105
- fileName: _jsxFileName,
106
- lineNumber: 77,
107
- columnNumber: 11
108
- }, _this)]
109
- }, void 0, true, {
110
- fileName: _jsxFileName,
111
- lineNumber: 57,
112
- columnNumber: 9
113
- }, _this), _jsxDEV(Drawer, {
114
- open: !isLeftOpen,
115
- alignItems: "center",
116
- flexWrap: "nowrap",
117
- justifyContent: "flex-end",
118
- px: 8,
119
- children: [_jsxDEV(DrawerLabel, {
120
- id: "output-drawer-label",
121
- children: "Output"
122
- }, void 0, false, {
123
- fileName: _jsxFileName,
124
- lineNumber: 86,
125
- columnNumber: 11
126
- }, _this), _jsxDEV(IconButton, {
127
- icon: RightDrawerIcon,
128
- variant: "secondary",
129
- size: "small",
130
- onClick: function onClick() {
131
- return setOpen(function (state) {
132
- return state === 'both' ? 'left' : 'both';
133
- });
134
- },
135
- "aria-label": ariaLabelOutputButton,
136
- "aria-controls": "output-drawer",
137
- "aria-expanded": !isLeftOpen
138
- }, void 0, false, {
139
- fileName: _jsxFileName,
140
- lineNumber: 87,
141
- columnNumber: 11
142
- }, _this)]
143
- }, void 0, true, {
144
- fileName: _jsxFileName,
145
- lineNumber: 79,
146
- columnNumber: 9
147
- }, _this)]
148
- }, void 0, true, {
149
- fileName: _jsxFileName,
150
- lineNumber: 56,
151
- columnNumber: 7
152
- }, _this), _jsxDEV(FlexBox, {
153
- flexGrow: 1,
154
- borderY: 1,
155
- borderColor: "gray-900",
156
- alignItems: "stretch",
157
- overflow: "hidden",
158
- children: [_jsxDEV(Drawer, {
159
- hideOnClose: true,
160
- id: "code-drawer",
161
- "aria-labelledby": "code-drawer-label",
162
- open: !isRightOpen,
163
- flexGrow: 0,
164
- overflow: "hidden",
165
- borderColor: "gray-900",
166
- borderStyleRight: "solid",
167
- borderWidthRight: "thin",
168
- children: leftChild
169
- }, void 0, false, {
170
- fileName: _jsxFileName,
171
- lineNumber: 107,
172
- columnNumber: 9
173
- }, _this), _jsxDEV(Drawer, {
174
- hideOnClose: true,
175
- id: "output-drawer",
176
- "aria-labelledby": "output-drawer-label",
177
- role: "region",
178
- open: !isLeftOpen,
179
- overflow: "hidden",
180
- children: rightChild
181
- }, void 0, false, {
182
- fileName: _jsxFileName,
183
- lineNumber: 120,
184
- columnNumber: 9
185
- }, _this)]
186
- }, void 0, true, {
187
- fileName: _jsxFileName,
188
- lineNumber: 100,
189
- columnNumber: 7
190
- }, _this)]
191
- }, void 0, true);
192
- };
package/dist/editor.js DELETED
@@ -1,233 +0,0 @@
1
- import _asyncToGenerator from "/home/runner/work/mono/mono/node_modules/@babel/runtime/helpers/asyncToGenerator.js";
2
- import _styled from "@emotion/styled/base";
3
-
4
- var _jsxFileName = "/home/runner/work/mono/mono/libs/codebytes/src/editor.tsx",
5
- _this = this;
6
-
7
- import _regeneratorRuntime from "/home/runner/work/mono/mono/node_modules/@babel/runtime/regenerator/index.js";
8
- import "core-js/modules/es.string.trim.js";
9
-
10
- function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
11
-
12
- import { FillButton, FlexBox, Spinner, TextButton, ToolTip } from '@codecademy/gamut';
13
- import { CopyIcon } from '@codecademy/gamut-icons';
14
- import React, { useState } from 'react';
15
- import { postSnippet } from './api';
16
- import { Drawers } from './drawers';
17
- import { trackClick } from './helpers';
18
- import { SimpleMonacoEditor } from './MonacoEditor';
19
- import { jsxDEV as _jsxDEV } from "@emotion/react/jsx-dev-runtime";
20
- import { Fragment as _Fragment } from "@emotion/react/jsx-dev-runtime";
21
-
22
- var Output = _styled("pre", {
23
- target: "e1lzxy8e1",
24
- label: "Output"
25
- })("width:100%;height:100%;margin:0;padding:0 1rem;font-family:Monaco;font-size:0.875rem;overflow:auto;", function (_ref) {
26
- var hasError = _ref.hasError,
27
- theme = _ref.theme;
28
- return "\n color: " + (hasError ? theme.colors.orange : theme.colors.text) + ";\n background-color: " + theme.colors['navy-900'] + ";\n";
29
- }, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lZGl0b3IudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1CZ0QiLCJmaWxlIjoiLi4vc3JjL2VkaXRvci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBGaWxsQnV0dG9uLFxuICBGbGV4Qm94LFxuICBTcGlubmVyLFxuICBUZXh0QnV0dG9uLFxuICBUb29sVGlwLFxufSBmcm9tICdAY29kZWNhZGVteS9nYW11dCc7XG5pbXBvcnQgeyBDb3B5SWNvbiB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LWljb25zJztcbmltcG9ydCB7IFVzZXJDbGlja0RhdGEgfSBmcm9tICdAY29kZWNhZGVteS90cmFja2luZyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IHBvc3RTbmlwcGV0IH0gZnJvbSAnLi9hcGknO1xuaW1wb3J0IHR5cGUgeyBMYW5ndWFnZU9wdGlvbiB9IGZyb20gJy4vY29uc3RzJztcbmltcG9ydCB7IERyYXdlcnMgfSBmcm9tICcuL2RyYXdlcnMnO1xuaW1wb3J0IHsgdHJhY2tDbGljayB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyBTaW1wbGVNb25hY29FZGl0b3IgfSBmcm9tICcuL01vbmFjb0VkaXRvcic7XG5pbXBvcnQgeyBDb2RlYnl0ZXNDb3B5Rm9ybWF0dGVyIH0gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IE91dHB1dCA9IHN0eWxlZC5wcmU8eyBoYXNFcnJvcjogYm9vbGVhbiB9PmBcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGZvbnQtZmFtaWx5OiBNb25hY287XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIG92ZXJmbG93OiBhdXRvO1xuICAkeyh7IGhhc0Vycm9yLCB0aGVtZSB9KSA9PiBgXG4gIGNvbG9yOiAke2hhc0Vycm9yID8gdGhlbWUuY29sb3JzLm9yYW5nZSA6IHRoZW1lLmNvbG9ycy50ZXh0fTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHt0aGVtZS5jb2xvcnNbJ25hdnktOTAwJ119O1xuYH1cbmA7XG5cbmNvbnN0IENvcHlJY29uU3R5bGVkID0gc3R5bGVkKENvcHlJY29uKWBcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG5gO1xuXG5jb25zdCBET0NLRVJfU0lHVEVSTSA9IDE0MztcblxudHlwZSBFZGl0b3JQcm9wcyA9IHtcbiAgaGlkZUNvcHlCdXR0b246IGJvb2xlYW47XG4gIGxhbmd1YWdlOiBMYW5ndWFnZU9wdGlvbjtcbiAgdGV4dDogc3RyaW5nO1xuICBvbkNoYW5nZTogKHRleHQ6IHN0cmluZykgPT4gdm9pZDtcbiAgc25pcHBldHNCYXNlVXJsPzogc3RyaW5nO1xuICBjb3B5Rm9ybWF0dGVyPzogQ29kZWJ5dGVzQ29weUZvcm1hdHRlcjtcbiAgdHJhY2tpbmdEYXRhPzogT21pdDxVc2VyQ2xpY2tEYXRhLCAndGFyZ2V0Jz47XG59O1xuXG5leHBvcnQgY29uc3QgRWRpdG9yOiBSZWFjdC5GQzxFZGl0b3JQcm9wcz4gPSAoe1xuICBsYW5ndWFnZSxcbiAgdGV4dCxcbiAgaGlkZUNvcHlCdXR0b24sXG4gIG9uQ2hhbmdlLFxuICBjb3B5Rm9ybWF0dGVyLFxuICBzbmlwcGV0c0Jhc2VVcmwsXG4gIHRyYWNraW5nRGF0YSxcbn0pID0+IHtcbiAgY29uc3QgW291dHB1dCwgc2V0T3V0cHV0XSA9IHVzZVN0YXRlKCcnKTtcbiAgY29uc3QgW3N0YXR1cywgc2V0U3RhdHVzXSA9IHVzZVN0YXRlPCdyZWFkeScgfCAnd2FpdGluZycgfCAnZXJyb3InPigncmVhZHknKTtcbiAgY29uc3QgW2lzQ29kZUJ5dGVDb3BpZWQsIHNldElzQ29kZUJ5dGVDb3BpZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBvbkNvcHlDbGljayA9ICgpID0+IHtcbiAgICBpZiAoIWlzQ29kZUJ5dGVDb3BpZWQpIHtcbiAgICAgIG5hdmlnYXRvci5jbGlwYm9hcmRcbiAgICAgICAgLndyaXRlVGV4dChjb3B5Rm9ybWF0dGVyID8gY29weUZvcm1hdHRlcih7IHRleHQsIGxhbmd1YWdlIH0pIDogdGV4dClcblxuICAgICAgICAuY2F0Y2goKCkgPT4gY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGNvcHknKSk7XG4gICAgICBzZXRJc0NvZGVCeXRlQ29waWVkKHRydWUpO1xuICAgICAgdHJhY2tDbGljaygnY29weScsIHRyYWNraW5nRGF0YSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHNldEVycm9yU3RhdHVzQW5kT3V0cHV0ID0gKG1lc3NhZ2U6IHN0cmluZykgPT4ge1xuICAgIHNldE91dHB1dChtZXNzYWdlKTtcbiAgICBzZXRTdGF0dXMoJ2Vycm9yJyk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlU3VibWl0ID0gYXN5bmMgKCkgPT4ge1xuICAgIGlmICh0ZXh0LnRyaW0oKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGxhbmd1YWdlLFxuICAgICAgY29kZTogdGV4dCxcbiAgICB9O1xuICAgIHNldFN0YXR1cygnd2FpdGluZycpO1xuICAgIHNldE91dHB1dCgnJyk7XG4gICAgdHJhY2tDbGljaygncnVuJywgdHJhY2tpbmdEYXRhKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHBvc3RTbmlwcGV0KGRhdGEsIHNuaXBwZXRzQmFzZVVybCk7XG4gICAgICBpZiAocmVzcG9uc2Uuc3RkZXJyLmxlbmd0aCA+IDApIHtcbiAgICAgICAgc2V0RXJyb3JTdGF0dXNBbmRPdXRwdXQocmVzcG9uc2Uuc3RkZXJyKTtcbiAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2UuZXhpdF9jb2RlID09PSBET0NLRVJfU0lHVEVSTSkge1xuICAgICAgICBzZXRFcnJvclN0YXR1c0FuZE91dHB1dChcbiAgICAgICAgICAnWW91ciBjb2RlIHRvb2sgdG9vIGxvbmcgdG8gcmV0dXJuIGEgcmVzdWx0LiBEb3VibGUgY2hlY2sgeW91ciBjb2RlIGZvciBhbnkgaXNzdWVzIGFuZCB0cnkgYWdhaW4hJ1xuICAgICAgICApO1xuICAgICAgfSBlbHNlIGlmIChyZXNwb25zZS5leGl0X2NvZGUgIT09IDApIHtcbiAgICAgICAgc2V0RXJyb3JTdGF0dXNBbmRPdXRwdXQoJ0FuIHVua25vd24gZXJyb3Igb2NjdXJlZC4nKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldE91dHB1dChyZXNwb25zZS5zdGRvdXQpO1xuICAgICAgICBzZXRTdGF0dXMoJ3JlYWR5Jyk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHNldEVycm9yU3RhdHVzQW5kT3V0cHV0KCdFcnJvcjogJyArIGVycm9yKTtcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPERyYXdlcnNcbiAgICAgICAgbGVmdENoaWxkPXtcbiAgICAgICAgICA8U2ltcGxlTW9uYWNvRWRpdG9yXG4gICAgICAgICAgICB2YWx1ZT17dGV4dH1cbiAgICAgICAgICAgIGxhbmd1YWdlPXtsYW5ndWFnZX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICAgIHJpZ2h0Q2hpbGQ9e1xuICAgICAgICAgIDxPdXRwdXQgaGFzRXJyb3I9e3N0YXR1cyA9PT0gJ2Vycm9yJ30gYXJpYS1saXZlPVwicG9saXRlXCI+XG4gICAgICAgICAgICB7b3V0cHV0fVxuICAgICAgICAgIDwvT3V0cHV0PlxuICAgICAgICB9XG4gICAgICAvPlxuICAgICAgPEZsZXhCb3hcbiAgICAgICAganVzdGlmeUNvbnRlbnQ9e2hpZGVDb3B5QnV0dG9uID8gJ2ZsZXgtZW5kJyA6ICdzcGFjZS1iZXR3ZWVuJ31cbiAgICAgICAgcGw9ezh9XG4gICAgICA+XG4gICAgICAgIHshaGlkZUNvcHlCdXR0b24gPyAoXG4gICAgICAgICAgPFRvb2xUaXBcbiAgICAgICAgICAgIGlkPVwiY29kZWJ5dGUtY29waWVkXCJcbiAgICAgICAgICAgIGFsaWdubWVudD1cInRvcC1yaWdodFwiXG4gICAgICAgICAgICBtb2RlPVwiZGFya1wiXG4gICAgICAgICAgICB0YXJnZXQ9e1xuICAgICAgICAgICAgICA8VGV4dEJ1dHRvblxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uQ29weUNsaWNrfVxuICAgICAgICAgICAgICAgIG9uQmx1cj17KCkgPT4gc2V0SXNDb2RlQnl0ZUNvcGllZChmYWxzZSl9XG4gICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJjb3B5LWNvZGVieXRlLWJ0blwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8Q29weUljb25TdHlsZWQgYXJpYS1oaWRkZW49XCJ0cnVlXCIgLz4gQ29weSBDb2RlYnl0ZVxuICAgICAgICAgICAgICA8L1RleHRCdXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2lzQ29kZUJ5dGVDb3BpZWQgPyAoXG4gICAgICAgICAgICAgIDxzcGFuIGRhdGEtdGVzdGlkPVwiY29weS1jb25maXJtYXRpb24tdG9vbHRpcFwiIHJvbGU9XCJhbGVydFwiPlxuICAgICAgICAgICAgICAgIENvcGllZCFcbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPHNwYW4gZGF0YS10ZXN0aWQ9XCJjb3B5LXByb21wdC10b29sdGlwXCI+XG4gICAgICAgICAgICAgICAgQ29weSB0byB5b3VyIGNsaXBib2FyZFxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvVG9vbFRpcD5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDxGaWxsQnV0dG9uIG9uQ2xpY2s9e2hhbmRsZVN1Ym1pdH0+XG4gICAgICAgICAge3N0YXR1cyA9PT0gJ3dhaXRpbmcnID8gPFNwaW5uZXIgLz4gOiAnUnVuJ31cbiAgICAgICAgPC9GaWxsQnV0dG9uPlxuICAgICAgPC9GbGV4Qm94PlxuICAgIDwvPlxuICApO1xufTtcbiJdfQ== */"));
30
-
31
- var CopyIconStyled = /*#__PURE__*/_styled(CopyIcon, {
32
- target: "e1lzxy8e0",
33
- label: "CopyIconStyled"
34
- })(process.env.NODE_ENV === "production" ? {
35
- name: "u7ytkp",
36
- styles: "margin-right:0.5rem"
37
- } : {
38
- name: "u7ytkp",
39
- styles: "margin-right:0.5rem",
40
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lZGl0b3IudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlDdUMiLCJmaWxlIjoiLi4vc3JjL2VkaXRvci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBGaWxsQnV0dG9uLFxuICBGbGV4Qm94LFxuICBTcGlubmVyLFxuICBUZXh0QnV0dG9uLFxuICBUb29sVGlwLFxufSBmcm9tICdAY29kZWNhZGVteS9nYW11dCc7XG5pbXBvcnQgeyBDb3B5SWNvbiB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LWljb25zJztcbmltcG9ydCB7IFVzZXJDbGlja0RhdGEgfSBmcm9tICdAY29kZWNhZGVteS90cmFja2luZyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IHBvc3RTbmlwcGV0IH0gZnJvbSAnLi9hcGknO1xuaW1wb3J0IHR5cGUgeyBMYW5ndWFnZU9wdGlvbiB9IGZyb20gJy4vY29uc3RzJztcbmltcG9ydCB7IERyYXdlcnMgfSBmcm9tICcuL2RyYXdlcnMnO1xuaW1wb3J0IHsgdHJhY2tDbGljayB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyBTaW1wbGVNb25hY29FZGl0b3IgfSBmcm9tICcuL01vbmFjb0VkaXRvcic7XG5pbXBvcnQgeyBDb2RlYnl0ZXNDb3B5Rm9ybWF0dGVyIH0gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IE91dHB1dCA9IHN0eWxlZC5wcmU8eyBoYXNFcnJvcjogYm9vbGVhbiB9PmBcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGZvbnQtZmFtaWx5OiBNb25hY287XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIG92ZXJmbG93OiBhdXRvO1xuICAkeyh7IGhhc0Vycm9yLCB0aGVtZSB9KSA9PiBgXG4gIGNvbG9yOiAke2hhc0Vycm9yID8gdGhlbWUuY29sb3JzLm9yYW5nZSA6IHRoZW1lLmNvbG9ycy50ZXh0fTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHt0aGVtZS5jb2xvcnNbJ25hdnktOTAwJ119O1xuYH1cbmA7XG5cbmNvbnN0IENvcHlJY29uU3R5bGVkID0gc3R5bGVkKENvcHlJY29uKWBcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG5gO1xuXG5jb25zdCBET0NLRVJfU0lHVEVSTSA9IDE0MztcblxudHlwZSBFZGl0b3JQcm9wcyA9IHtcbiAgaGlkZUNvcHlCdXR0b246IGJvb2xlYW47XG4gIGxhbmd1YWdlOiBMYW5ndWFnZU9wdGlvbjtcbiAgdGV4dDogc3RyaW5nO1xuICBvbkNoYW5nZTogKHRleHQ6IHN0cmluZykgPT4gdm9pZDtcbiAgc25pcHBldHNCYXNlVXJsPzogc3RyaW5nO1xuICBjb3B5Rm9ybWF0dGVyPzogQ29kZWJ5dGVzQ29weUZvcm1hdHRlcjtcbiAgdHJhY2tpbmdEYXRhPzogT21pdDxVc2VyQ2xpY2tEYXRhLCAndGFyZ2V0Jz47XG59O1xuXG5leHBvcnQgY29uc3QgRWRpdG9yOiBSZWFjdC5GQzxFZGl0b3JQcm9wcz4gPSAoe1xuICBsYW5ndWFnZSxcbiAgdGV4dCxcbiAgaGlkZUNvcHlCdXR0b24sXG4gIG9uQ2hhbmdlLFxuICBjb3B5Rm9ybWF0dGVyLFxuICBzbmlwcGV0c0Jhc2VVcmwsXG4gIHRyYWNraW5nRGF0YSxcbn0pID0+IHtcbiAgY29uc3QgW291dHB1dCwgc2V0T3V0cHV0XSA9IHVzZVN0YXRlKCcnKTtcbiAgY29uc3QgW3N0YXR1cywgc2V0U3RhdHVzXSA9IHVzZVN0YXRlPCdyZWFkeScgfCAnd2FpdGluZycgfCAnZXJyb3InPigncmVhZHknKTtcbiAgY29uc3QgW2lzQ29kZUJ5dGVDb3BpZWQsIHNldElzQ29kZUJ5dGVDb3BpZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBvbkNvcHlDbGljayA9ICgpID0+IHtcbiAgICBpZiAoIWlzQ29kZUJ5dGVDb3BpZWQpIHtcbiAgICAgIG5hdmlnYXRvci5jbGlwYm9hcmRcbiAgICAgICAgLndyaXRlVGV4dChjb3B5Rm9ybWF0dGVyID8gY29weUZvcm1hdHRlcih7IHRleHQsIGxhbmd1YWdlIH0pIDogdGV4dClcblxuICAgICAgICAuY2F0Y2goKCkgPT4gY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGNvcHknKSk7XG4gICAgICBzZXRJc0NvZGVCeXRlQ29waWVkKHRydWUpO1xuICAgICAgdHJhY2tDbGljaygnY29weScsIHRyYWNraW5nRGF0YSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHNldEVycm9yU3RhdHVzQW5kT3V0cHV0ID0gKG1lc3NhZ2U6IHN0cmluZykgPT4ge1xuICAgIHNldE91dHB1dChtZXNzYWdlKTtcbiAgICBzZXRTdGF0dXMoJ2Vycm9yJyk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlU3VibWl0ID0gYXN5bmMgKCkgPT4ge1xuICAgIGlmICh0ZXh0LnRyaW0oKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGxhbmd1YWdlLFxuICAgICAgY29kZTogdGV4dCxcbiAgICB9O1xuICAgIHNldFN0YXR1cygnd2FpdGluZycpO1xuICAgIHNldE91dHB1dCgnJyk7XG4gICAgdHJhY2tDbGljaygncnVuJywgdHJhY2tpbmdEYXRhKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHBvc3RTbmlwcGV0KGRhdGEsIHNuaXBwZXRzQmFzZVVybCk7XG4gICAgICBpZiAocmVzcG9uc2Uuc3RkZXJyLmxlbmd0aCA+IDApIHtcbiAgICAgICAgc2V0RXJyb3JTdGF0dXNBbmRPdXRwdXQocmVzcG9uc2Uuc3RkZXJyKTtcbiAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2UuZXhpdF9jb2RlID09PSBET0NLRVJfU0lHVEVSTSkge1xuICAgICAgICBzZXRFcnJvclN0YXR1c0FuZE91dHB1dChcbiAgICAgICAgICAnWW91ciBjb2RlIHRvb2sgdG9vIGxvbmcgdG8gcmV0dXJuIGEgcmVzdWx0LiBEb3VibGUgY2hlY2sgeW91ciBjb2RlIGZvciBhbnkgaXNzdWVzIGFuZCB0cnkgYWdhaW4hJ1xuICAgICAgICApO1xuICAgICAgfSBlbHNlIGlmIChyZXNwb25zZS5leGl0X2NvZGUgIT09IDApIHtcbiAgICAgICAgc2V0RXJyb3JTdGF0dXNBbmRPdXRwdXQoJ0FuIHVua25vd24gZXJyb3Igb2NjdXJlZC4nKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldE91dHB1dChyZXNwb25zZS5zdGRvdXQpO1xuICAgICAgICBzZXRTdGF0dXMoJ3JlYWR5Jyk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHNldEVycm9yU3RhdHVzQW5kT3V0cHV0KCdFcnJvcjogJyArIGVycm9yKTtcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPERyYXdlcnNcbiAgICAgICAgbGVmdENoaWxkPXtcbiAgICAgICAgICA8U2ltcGxlTW9uYWNvRWRpdG9yXG4gICAgICAgICAgICB2YWx1ZT17dGV4dH1cbiAgICAgICAgICAgIGxhbmd1YWdlPXtsYW5ndWFnZX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICAgIHJpZ2h0Q2hpbGQ9e1xuICAgICAgICAgIDxPdXRwdXQgaGFzRXJyb3I9e3N0YXR1cyA9PT0gJ2Vycm9yJ30gYXJpYS1saXZlPVwicG9saXRlXCI+XG4gICAgICAgICAgICB7b3V0cHV0fVxuICAgICAgICAgIDwvT3V0cHV0PlxuICAgICAgICB9XG4gICAgICAvPlxuICAgICAgPEZsZXhCb3hcbiAgICAgICAganVzdGlmeUNvbnRlbnQ9e2hpZGVDb3B5QnV0dG9uID8gJ2ZsZXgtZW5kJyA6ICdzcGFjZS1iZXR3ZWVuJ31cbiAgICAgICAgcGw9ezh9XG4gICAgICA+XG4gICAgICAgIHshaGlkZUNvcHlCdXR0b24gPyAoXG4gICAgICAgICAgPFRvb2xUaXBcbiAgICAgICAgICAgIGlkPVwiY29kZWJ5dGUtY29waWVkXCJcbiAgICAgICAgICAgIGFsaWdubWVudD1cInRvcC1yaWdodFwiXG4gICAgICAgICAgICBtb2RlPVwiZGFya1wiXG4gICAgICAgICAgICB0YXJnZXQ9e1xuICAgICAgICAgICAgICA8VGV4dEJ1dHRvblxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uQ29weUNsaWNrfVxuICAgICAgICAgICAgICAgIG9uQmx1cj17KCkgPT4gc2V0SXNDb2RlQnl0ZUNvcGllZChmYWxzZSl9XG4gICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJjb3B5LWNvZGVieXRlLWJ0blwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8Q29weUljb25TdHlsZWQgYXJpYS1oaWRkZW49XCJ0cnVlXCIgLz4gQ29weSBDb2RlYnl0ZVxuICAgICAgICAgICAgICA8L1RleHRCdXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2lzQ29kZUJ5dGVDb3BpZWQgPyAoXG4gICAgICAgICAgICAgIDxzcGFuIGRhdGEtdGVzdGlkPVwiY29weS1jb25maXJtYXRpb24tdG9vbHRpcFwiIHJvbGU9XCJhbGVydFwiPlxuICAgICAgICAgICAgICAgIENvcGllZCFcbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPHNwYW4gZGF0YS10ZXN0aWQ9XCJjb3B5LXByb21wdC10b29sdGlwXCI+XG4gICAgICAgICAgICAgICAgQ29weSB0byB5b3VyIGNsaXBib2FyZFxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvVG9vbFRpcD5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDxGaWxsQnV0dG9uIG9uQ2xpY2s9e2hhbmRsZVN1Ym1pdH0+XG4gICAgICAgICAge3N0YXR1cyA9PT0gJ3dhaXRpbmcnID8gPFNwaW5uZXIgLz4gOiAnUnVuJ31cbiAgICAgICAgPC9GaWxsQnV0dG9uPlxuICAgICAgPC9GbGV4Qm94PlxuICAgIDwvPlxuICApO1xufTtcbiJdfQ== */",
41
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
42
- });
43
-
44
- var DOCKER_SIGTERM = 143;
45
- export var Editor = function Editor(_ref2) {
46
- var language = _ref2.language,
47
- text = _ref2.text,
48
- hideCopyButton = _ref2.hideCopyButton,
49
- onChange = _ref2.onChange,
50
- copyFormatter = _ref2.copyFormatter,
51
- snippetsBaseUrl = _ref2.snippetsBaseUrl,
52
- trackingData = _ref2.trackingData;
53
-
54
- var _useState = useState(''),
55
- output = _useState[0],
56
- setOutput = _useState[1];
57
-
58
- var _useState2 = useState('ready'),
59
- status = _useState2[0],
60
- setStatus = _useState2[1];
61
-
62
- var _useState3 = useState(false),
63
- isCodeByteCopied = _useState3[0],
64
- setIsCodeByteCopied = _useState3[1];
65
-
66
- var onCopyClick = function onCopyClick() {
67
- if (!isCodeByteCopied) {
68
- navigator.clipboard.writeText(copyFormatter ? copyFormatter({
69
- text: text,
70
- language: language
71
- }) : text).catch(function () {
72
- return console.error('Failed to copy');
73
- });
74
- setIsCodeByteCopied(true);
75
- trackClick('copy', trackingData);
76
- }
77
- };
78
-
79
- var setErrorStatusAndOutput = function setErrorStatusAndOutput(message) {
80
- setOutput(message);
81
- setStatus('error');
82
- };
83
-
84
- var handleSubmit = /*#__PURE__*/function () {
85
- var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
86
- var data, response;
87
- return _regeneratorRuntime.wrap(function _callee$(_context) {
88
- while (1) {
89
- switch (_context.prev = _context.next) {
90
- case 0:
91
- if (!(text.trim().length === 0)) {
92
- _context.next = 2;
93
- break;
94
- }
95
-
96
- return _context.abrupt("return");
97
-
98
- case 2:
99
- data = {
100
- language: language,
101
- code: text
102
- };
103
- setStatus('waiting');
104
- setOutput('');
105
- trackClick('run', trackingData);
106
- _context.prev = 6;
107
- _context.next = 9;
108
- return postSnippet(data, snippetsBaseUrl);
109
-
110
- case 9:
111
- response = _context.sent;
112
-
113
- if (response.stderr.length > 0) {
114
- setErrorStatusAndOutput(response.stderr);
115
- } else if (response.exit_code === DOCKER_SIGTERM) {
116
- setErrorStatusAndOutput('Your code took too long to return a result. Double check your code for any issues and try again!');
117
- } else if (response.exit_code !== 0) {
118
- setErrorStatusAndOutput('An unknown error occured.');
119
- } else {
120
- setOutput(response.stdout);
121
- setStatus('ready');
122
- }
123
-
124
- _context.next = 16;
125
- break;
126
-
127
- case 13:
128
- _context.prev = 13;
129
- _context.t0 = _context["catch"](6);
130
- setErrorStatusAndOutput('Error: ' + _context.t0);
131
-
132
- case 16:
133
- case "end":
134
- return _context.stop();
135
- }
136
- }
137
- }, _callee, null, [[6, 13]]);
138
- }));
139
-
140
- return function handleSubmit() {
141
- return _ref3.apply(this, arguments);
142
- };
143
- }();
144
-
145
- return _jsxDEV(_Fragment, {
146
- children: [_jsxDEV(Drawers, {
147
- leftChild: _jsxDEV(SimpleMonacoEditor, {
148
- value: text,
149
- language: language,
150
- onChange: onChange
151
- }, void 0, false, {
152
- fileName: _jsxFileName,
153
- lineNumber: 113,
154
- columnNumber: 11
155
- }, _this),
156
- rightChild: _jsxDEV(Output, {
157
- hasError: status === 'error',
158
- "aria-live": "polite",
159
- children: output
160
- }, void 0, false, {
161
- fileName: _jsxFileName,
162
- lineNumber: 120,
163
- columnNumber: 11
164
- }, _this)
165
- }, void 0, false, {
166
- fileName: _jsxFileName,
167
- lineNumber: 111,
168
- columnNumber: 7
169
- }, _this), _jsxDEV(FlexBox, {
170
- justifyContent: hideCopyButton ? 'flex-end' : 'space-between',
171
- pl: 8,
172
- children: [!hideCopyButton ? _jsxDEV(ToolTip, {
173
- id: "codebyte-copied",
174
- alignment: "top-right",
175
- mode: "dark",
176
- target: _jsxDEV(TextButton, {
177
- variant: "secondary",
178
- onClick: onCopyClick,
179
- onBlur: function onBlur() {
180
- return setIsCodeByteCopied(false);
181
- },
182
- "data-testid": "copy-codebyte-btn",
183
- children: [_jsxDEV(CopyIconStyled, {
184
- "aria-hidden": "true"
185
- }, void 0, false, {
186
- fileName: _jsxFileName,
187
- lineNumber: 141,
188
- columnNumber: 17
189
- }, _this), " Copy Codebyte"]
190
- }, void 0, true, {
191
- fileName: _jsxFileName,
192
- lineNumber: 135,
193
- columnNumber: 15
194
- }, _this),
195
- children: isCodeByteCopied ? _jsxDEV("span", {
196
- "data-testid": "copy-confirmation-tooltip",
197
- role: "alert",
198
- children: "Copied!"
199
- }, void 0, false, {
200
- fileName: _jsxFileName,
201
- lineNumber: 146,
202
- columnNumber: 15
203
- }, _this) : _jsxDEV("span", {
204
- "data-testid": "copy-prompt-tooltip",
205
- children: "Copy to your clipboard"
206
- }, void 0, false, {
207
- fileName: _jsxFileName,
208
- lineNumber: 150,
209
- columnNumber: 15
210
- }, _this)
211
- }, void 0, false, {
212
- fileName: _jsxFileName,
213
- lineNumber: 130,
214
- columnNumber: 11
215
- }, _this) : null, _jsxDEV(FillButton, {
216
- onClick: handleSubmit,
217
- children: status === 'waiting' ? _jsxDEV(Spinner, {}, void 0, false, {
218
- fileName: _jsxFileName,
219
- lineNumber: 157,
220
- columnNumber: 35
221
- }, _this) : 'Run'
222
- }, void 0, false, {
223
- fileName: _jsxFileName,
224
- lineNumber: 156,
225
- columnNumber: 9
226
- }, _this)]
227
- }, void 0, true, {
228
- fileName: _jsxFileName,
229
- lineNumber: 125,
230
- columnNumber: 7
231
- }, _this)]
232
- }, void 0, true);
233
- };
@@ -1,7 +0,0 @@
1
- import "core-js/modules/es.object.assign.js";
2
- import { trackUserClick } from '../libs/eventTracking';
3
- export var trackClick = function trackClick(target, trackingData) {
4
- return trackUserClick(Object.assign({}, trackingData, {
5
- target: target
6
- }));
7
- };
package/dist/index.js DELETED
@@ -1,3 +0,0 @@
1
- export * from './codeByteEditor';
2
- export * from './consts';
3
- export * from './types';
@@ -1,40 +0,0 @@
1
- var _jsxFileName = "/home/runner/work/mono/mono/libs/codebytes/src/languageSelection.tsx",
2
- _this = this;
3
-
4
- import { Select, Text } from '@codecademy/gamut';
5
- import { ColorMode } from '@codecademy/gamut-styles';
6
- import React from 'react';
7
- import { LanguageOptions } from './consts';
8
- import { jsxDEV as _jsxDEV } from "@emotion/react/jsx-dev-runtime";
9
- export var LanguageSelection = function LanguageSelection(_ref) {
10
- var _onChange = _ref.onChange;
11
- return _jsxDEV(ColorMode, {
12
- mode: "dark",
13
- flex: 1,
14
- px: 16,
15
- pt: 48,
16
- children: [_jsxDEV(Text, {
17
- mb: 16,
18
- children: "Which language do you want to code in?"
19
- }, void 0, false, {
20
- fileName: _jsxFileName,
21
- lineNumber: 17,
22
- columnNumber: 7
23
- }, _this), _jsxDEV(Select, {
24
- id: "language-select",
25
- "aria-label": "Select a language",
26
- options: LanguageOptions,
27
- onChange: function onChange(e) {
28
- return _onChange(e.target.value);
29
- }
30
- }, void 0, false, {
31
- fileName: _jsxFileName,
32
- lineNumber: 18,
33
- columnNumber: 7
34
- }, _this)]
35
- }, void 0, true, {
36
- fileName: _jsxFileName,
37
- lineNumber: 16,
38
- columnNumber: 5
39
- }, _this);
40
- };
@@ -1,11 +0,0 @@
1
- import { createTracker } from '@codecademy/tracking';
2
- var IS_DEV = process.env['NODE_ENV'] === 'development'; // TODO: confirm tracking details and implementation DISC-447
3
-
4
- var tracker = createTracker({
5
- apiBaseUrl: typeof window === 'undefined' ? 'https://www.codecademy.com' : window.location.origin,
6
- verbose: IS_DEV
7
- });
8
- var trackUserClick = tracker.click,
9
- trackUserVisit = tracker.visit,
10
- trackUserImpression = tracker.impression;
11
- export { trackUserClick, trackUserVisit, trackUserImpression };
package/dist/theme.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import { CoreTheme } from '@codecademy/gamut-styles';
2
- declare module '@emotion/react' {
3
- export type Theme = CoreTheme;
4
- }
package/dist/types.js DELETED
@@ -1 +0,0 @@
1
- export {};