@codecademy/codebytes 0.6.16 → 0.7.1-alpha.5bf38e.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/CHANGELOG.md CHANGED
@@ -3,6 +3,27 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ### [0.7.1-alpha.5bf38e.0](https://github.com/Codecademy/client-modules/compare/@codecademy/codebytes@0.7.0...@codecademy/codebytes@0.7.1-alpha.5bf38e.0) (2022-05-19)
7
+
8
+ **Note:** Version bump only for package @codecademy/codebytes
9
+
10
+
11
+
12
+
13
+
14
+ ## [0.7.0](https://github.com/Codecademy/client-modules/compare/@codecademy/codebytes@0.6.16...@codecademy/codebytes@0.7.0) (2022-05-19)
15
+
16
+
17
+ ### ⚠ BREAKING CHANGES
18
+
19
+ * **CodeByteEditor:** Add copyFormatter prop (#51)
20
+
21
+ ### Features
22
+
23
+ * **CodeByteEditor:** Add copyFormatter prop ([#51](https://github.com/Codecademy/client-modules/issues/51)) ([39b5229](https://github.com/Codecademy/client-modules/commit/39b52291c3db6307203100bb216b852e7e07bc9e))
24
+
25
+
26
+
6
27
  ### [0.6.16](https://github.com/Codecademy/client-modules/compare/@codecademy/codebytes@0.6.15...@codecademy/codebytes@0.6.16) (2022-05-16)
7
28
 
8
29
  **Note:** Version bump only for package @codecademy/codebytes
@@ -68,23 +68,9 @@ describe('Editor', function () {
68
68
 
69
69
  view.getByTestId('copy-codebyte-btn');
70
70
  });
71
- describe('Change Handlers', function () {
72
- it('triggers onCopy upon clicking the copy button', function () {
73
- var onCopy = jest.fn();
74
-
75
- var _renderWrapper5 = renderWrapper({
76
- onCopy: onCopy
77
- }),
78
- view = _renderWrapper5.view;
79
-
80
- var copyButton = view.getByTestId('copy-codebyte-btn');
81
- userEvent.click(copyButton);
82
- expect(onCopy).toHaveBeenCalled();
83
- });
84
- });
85
71
  describe('Tracking', function () {
86
72
  it('tracks clicks on the run button', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
87
- var _renderWrapper6, view, runButton;
73
+ var _renderWrapper5, view, runButton;
88
74
 
89
75
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
90
76
  while (1) {
@@ -99,11 +85,11 @@ describe('Editor', function () {
99
85
  });
100
86
  }
101
87
  });
102
- _renderWrapper6 = renderWrapper({
88
+ _renderWrapper5 = renderWrapper({
103
89
  onChange: jest.fn(),
104
90
  text: 'test',
105
91
  language: 'javascript'
106
- }), view = _renderWrapper6.view;
92
+ }), view = _renderWrapper5.view;
107
93
  runButton = view.getByText('Run');
108
94
  _context2.next = 5;
109
95
  return act( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
@@ -132,12 +118,12 @@ describe('Editor', function () {
132
118
  }, _callee2);
133
119
  })));
134
120
  it('tracks clicks on the copy codebyte button', function () {
135
- var _renderWrapper7 = renderWrapper({
121
+ var _renderWrapper6 = renderWrapper({
136
122
  onChange: jest.fn(),
137
123
  text: 'test',
138
124
  language: 'javascript'
139
125
  }),
140
- view = _renderWrapper7.view;
126
+ view = _renderWrapper6.view;
141
127
 
142
128
  var copyButton = view.getByTestId('copy-codebyte-btn');
143
129
  userEvent.click(copyButton);
@@ -38,7 +38,7 @@ var editorBaseStyles = system.css({
38
38
  var EditorContainer = /*#__PURE__*/_styled(Background, {
39
39
  target: "e1epka4g0",
40
40
  label: "EditorContainer"
41
- })(editorBaseStyles, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb2RlQnl0ZUVkaXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0J3QiIsImZpbGUiOiIuLi9zcmMvY29kZUJ5dGVFZGl0b3IudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm94LCBJY29uQnV0dG9uIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQnO1xuaW1wb3J0IHsgRmF2aWNvbkljb24gfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1pY29ucyc7XG5pbXBvcnQgeyBCYWNrZ3JvdW5kLCBzeXN0ZW0gfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHsgU3R5bGVQcm9wcyB9IGZyb20gJ0Bjb2RlY2FkZW15L3ZhcmlhbmNlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBoZWxsb1dvcmxkLCBMYW5ndWFnZU9wdGlvbiB9IGZyb20gJy4vY29uc3RzJztcbmltcG9ydCB7IEVkaXRvciB9IGZyb20gJy4vZWRpdG9yJztcbmltcG9ydCB7IHRyYWNrQ2xpY2sgfSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZWxlY3Rpb24gfSBmcm9tICcuL2xhbmd1YWdlU2VsZWN0aW9uJztcbmltcG9ydCB7IHRyYWNrVXNlckltcHJlc3Npb24gfSBmcm9tICcuL2xpYnMvZXZlbnRUcmFja2luZyc7XG5pbXBvcnQgeyBDb2RlQnl0ZUVkaXRvclByb3BzIH0gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IGVkaXRvckJhc2VTdHlsZXMgPSBzeXN0ZW0uY3NzKHtcbiAgYm9yZGVyOiAxLFxuICBib3JkZXJDb2xvcjogJ2dyYXktOTAwJyxcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgbWluSGVpZ2h0OiAnMjVyZW0nLFxufSk7XG5cbmNvbnN0IEVkaXRvckNvbnRhaW5lciA9IHN0eWxlZChCYWNrZ3JvdW5kKTxTdHlsZVByb3BzPHR5cGVvZiBlZGl0b3JCYXNlU3R5bGVzPj4oXG4gIGVkaXRvckJhc2VTdHlsZXNcbik7XG5cbmV4cG9ydCBjb25zdCBDb2RlQnl0ZUVkaXRvcjogUmVhY3QuRkM8Q29kZUJ5dGVFZGl0b3JQcm9wcz4gPSAoe1xuICB0ZXh0OiBpbml0aWFsVGV4dCxcbiAgbGFuZ3VhZ2U6IGluaXRpYWxMYW5ndWFnZSxcbiAgaGlkZUNvcHlCdXR0b24gPSBmYWxzZSxcbiAgc25pcHBldHNCYXNlVXJsLFxuICBvbkVkaXQsXG4gIG9uTGFuZ3VhZ2VDaGFuZ2UsXG4gIG9uQ29weSxcbiAgdHJhY2tpbmdEYXRhLFxuICB0cmFja0ZpcnN0RWRpdCA9IGZhbHNlLFxuICAuLi5yZXN0XG59KSA9PiB7XG4gIGNvbnN0IGdldEluaXRpYWxUZXh0ID0gKCkgPT4ge1xuICAgIGlmIChpbml0aWFsVGV4dCAhPT0gdW5kZWZpbmVkKSByZXR1cm4gaW5pdGlhbFRleHQ7XG4gICAgcmV0dXJuIGluaXRpYWxMYW5ndWFnZSA/IGhlbGxvV29ybGRbaW5pdGlhbExhbmd1YWdlXSA6ICcnO1xuICB9O1xuXG4gIGNvbnN0IFt0ZXh0LCBzZXRUZXh0XSA9IHVzZVN0YXRlPHN0cmluZz4oZ2V0SW5pdGlhbFRleHQoKSk7XG4gIGNvbnN0IFtsYW5ndWFnZSwgc2V0TGFuZ3VhZ2VdID0gdXNlU3RhdGU8TGFuZ3VhZ2VPcHRpb24+KFxuICAgIGluaXRpYWxMYW5ndWFnZSA/PyAnJ1xuICApO1xuICBjb25zdCBbaGFzQmVlbkVkaXRlZCwgc2V0SGFzQmVlbkVkaXRlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICB0cmFja1VzZXJJbXByZXNzaW9uKHtcbiAgICAgIHBhZ2VfbmFtZTogdHJhY2tpbmdEYXRhPy5wYWdlX25hbWUgPz8gJ1Vua25vd24nLFxuICAgICAgY29udGV4dDogdHJhY2tpbmdEYXRhPy5jb250ZXh0ID8/IGRvY3VtZW50LnJlZmVycmVyLFxuICAgICAgdGFyZ2V0OiAnY29kZWJ5dGUnLFxuICAgIH0pO1xuICB9LCBbdHJhY2tpbmdEYXRhXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8RWRpdG9yQ29udGFpbmVyIGJnPVwiYmxhY2tcIiBtYXhXaWR0aD1cIjQzcmVtXCIgey4uLnJlc3R9IG92ZXJmbG93PVwiaGlkZGVuXCI+XG4gICAgICA8Qm94IGJvcmRlckJvdHRvbT17MX0gYm9yZGVyQ29sb3I9XCJncmF5LTkwMFwiIHB5PXs0fSBwbD17OH0+XG4gICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgaWNvbj17RmF2aWNvbkljb259XG4gICAgICAgICAgdmFyaWFudD1cInNlY29uZGFyeVwiXG4gICAgICAgICAgaHJlZj1cImh0dHBzOi8vd3d3LmNvZGVjYWRlbXkuY29tL1wiXG4gICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICByZWw9XCJub3JlZmVycmVyXCJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwidmlzaXQgY29kZWNhZGVteS5jb21cIlxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHRyYWNrQ2xpY2soJ2xvZ28nLCB0cmFja2luZ0RhdGEpfVxuICAgICAgICAvPlxuICAgICAgPC9Cb3g+XG4gICAgICB7bGFuZ3VhZ2UgPyAoXG4gICAgICAgIDxFZGl0b3JcbiAgICAgICAgICBsYW5ndWFnZT17bGFuZ3VhZ2V9XG4gICAgICAgICAgdGV4dD17dGV4dH1cbiAgICAgICAgICBoaWRlQ29weUJ1dHRvbj17aGlkZUNvcHlCdXR0b259XG4gICAgICAgICAgb25DaGFuZ2U9eyhuZXdUZXh0OiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHNldFRleHQobmV3VGV4dCk7XG4gICAgICAgICAgICBvbkVkaXQ/LihuZXdUZXh0LCBsYW5ndWFnZSk7XG4gICAgICAgICAgICBpZiAodHJhY2tGaXJzdEVkaXQgJiYgaGFzQmVlbkVkaXRlZCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgc2V0SGFzQmVlbkVkaXRlZCh0cnVlKTtcbiAgICAgICAgICAgICAgdHJhY2tDbGljaygnZWRpdCcsIHRyYWNraW5nRGF0YSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgICBzbmlwcGV0c0Jhc2VVcmw9e3NuaXBwZXRzQmFzZVVybH1cbiAgICAgICAgICBvbkNvcHk9e29uQ29weX1cbiAgICAgICAgICB0cmFja2luZ0RhdGE9e3RyYWNraW5nRGF0YX1cbiAgICAgICAgLz5cbiAgICAgICkgOiAoXG4gICAgICAgIDxMYW5ndWFnZVNlbGVjdGlvblxuICAgICAgICAgIG9uQ2hhbmdlPXsobmV3TGFuZ3VhZ2UpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5ld1RleHQ6IHN0cmluZyA9XG4gICAgICAgICAgICAgIHRleHQgfHwgKG5ld0xhbmd1YWdlID8gaGVsbG9Xb3JsZFtuZXdMYW5ndWFnZV0gOiAnJyk7XG4gICAgICAgICAgICBzZXRMYW5ndWFnZShuZXdMYW5ndWFnZSk7XG4gICAgICAgICAgICBzZXRUZXh0KG5ld1RleHQpO1xuICAgICAgICAgICAgdHJhY2tDbGljaygnbGFuZ19zZWxlY3QnLCB0cmFja2luZ0RhdGEpO1xuICAgICAgICAgICAgb25MYW5ndWFnZUNoYW5nZT8uKG5ld1RleHQsIG5ld0xhbmd1YWdlKTtcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICA8L0VkaXRvckNvbnRhaW5lcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENvZGVCeXRlRWRpdG9yO1xuIl19 */");
41
+ })(editorBaseStyles, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb2RlQnl0ZUVkaXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0J3QiIsImZpbGUiOiIuLi9zcmMvY29kZUJ5dGVFZGl0b3IudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm94LCBJY29uQnV0dG9uIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQnO1xuaW1wb3J0IHsgRmF2aWNvbkljb24gfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1pY29ucyc7XG5pbXBvcnQgeyBCYWNrZ3JvdW5kLCBzeXN0ZW0gfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHsgU3R5bGVQcm9wcyB9IGZyb20gJ0Bjb2RlY2FkZW15L3ZhcmlhbmNlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBoZWxsb1dvcmxkLCBMYW5ndWFnZU9wdGlvbiB9IGZyb20gJy4vY29uc3RzJztcbmltcG9ydCB7IEVkaXRvciB9IGZyb20gJy4vZWRpdG9yJztcbmltcG9ydCB7IHRyYWNrQ2xpY2sgfSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZWxlY3Rpb24gfSBmcm9tICcuL2xhbmd1YWdlU2VsZWN0aW9uJztcbmltcG9ydCB7IHRyYWNrVXNlckltcHJlc3Npb24gfSBmcm9tICcuL2xpYnMvZXZlbnRUcmFja2luZyc7XG5pbXBvcnQgeyBDb2RlQnl0ZUVkaXRvclByb3BzIH0gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IGVkaXRvckJhc2VTdHlsZXMgPSBzeXN0ZW0uY3NzKHtcbiAgYm9yZGVyOiAxLFxuICBib3JkZXJDb2xvcjogJ2dyYXktOTAwJyxcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgbWluSGVpZ2h0OiAnMjVyZW0nLFxufSk7XG5cbmNvbnN0IEVkaXRvckNvbnRhaW5lciA9IHN0eWxlZChCYWNrZ3JvdW5kKTxTdHlsZVByb3BzPHR5cGVvZiBlZGl0b3JCYXNlU3R5bGVzPj4oXG4gIGVkaXRvckJhc2VTdHlsZXNcbik7XG5cbmV4cG9ydCBjb25zdCBDb2RlQnl0ZUVkaXRvcjogUmVhY3QuRkM8Q29kZUJ5dGVFZGl0b3JQcm9wcz4gPSAoe1xuICB0ZXh0OiBpbml0aWFsVGV4dCxcbiAgbGFuZ3VhZ2U6IGluaXRpYWxMYW5ndWFnZSxcbiAgaGlkZUNvcHlCdXR0b24gPSBmYWxzZSxcbiAgc25pcHBldHNCYXNlVXJsLFxuICBvbkVkaXQsXG4gIG9uTGFuZ3VhZ2VDaGFuZ2UsXG4gIGNvcHlGb3JtYXR0ZXIsXG4gIHRyYWNraW5nRGF0YSxcbiAgdHJhY2tGaXJzdEVkaXQgPSBmYWxzZSxcbiAgLi4ucmVzdFxufSkgPT4ge1xuICBjb25zdCBnZXRJbml0aWFsVGV4dCA9ICgpID0+IHtcbiAgICBpZiAoaW5pdGlhbFRleHQgIT09IHVuZGVmaW5lZCkgcmV0dXJuIGluaXRpYWxUZXh0O1xuICAgIHJldHVybiBpbml0aWFsTGFuZ3VhZ2UgPyBoZWxsb1dvcmxkW2luaXRpYWxMYW5ndWFnZV0gOiAnJztcbiAgfTtcblxuICBjb25zdCBbdGV4dCwgc2V0VGV4dF0gPSB1c2VTdGF0ZTxzdHJpbmc+KGdldEluaXRpYWxUZXh0KCkpO1xuICBjb25zdCBbbGFuZ3VhZ2UsIHNldExhbmd1YWdlXSA9IHVzZVN0YXRlPExhbmd1YWdlT3B0aW9uPihcbiAgICBpbml0aWFsTGFuZ3VhZ2UgPz8gJydcbiAgKTtcbiAgY29uc3QgW2hhc0JlZW5FZGl0ZWQsIHNldEhhc0JlZW5FZGl0ZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgdHJhY2tVc2VySW1wcmVzc2lvbih7XG4gICAgICBwYWdlX25hbWU6IHRyYWNraW5nRGF0YT8ucGFnZV9uYW1lID8/ICdVbmtub3duJyxcbiAgICAgIGNvbnRleHQ6IHRyYWNraW5nRGF0YT8uY29udGV4dCA/PyBkb2N1bWVudC5yZWZlcnJlcixcbiAgICAgIHRhcmdldDogJ2NvZGVieXRlJyxcbiAgICB9KTtcbiAgfSwgW3RyYWNraW5nRGF0YV0pO1xuXG4gIHJldHVybiAoXG4gICAgPEVkaXRvckNvbnRhaW5lciBiZz1cImJsYWNrXCIgbWF4V2lkdGg9XCI0M3JlbVwiIHsuLi5yZXN0fSBvdmVyZmxvdz1cImhpZGRlblwiPlxuICAgICAgPEJveCBib3JkZXJCb3R0b209ezF9IGJvcmRlckNvbG9yPVwiZ3JheS05MDBcIiBweT17NH0gcGw9ezh9PlxuICAgICAgICA8SWNvbkJ1dHRvblxuICAgICAgICAgIGljb249e0Zhdmljb25JY29ufVxuICAgICAgICAgIHZhcmlhbnQ9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgIGhyZWY9XCJodHRwczovL3d3dy5jb2RlY2FkZW15LmNvbS9cIlxuICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgcmVsPVwibm9yZWZlcnJlclwiXG4gICAgICAgICAgYXJpYS1sYWJlbD1cInZpc2l0IGNvZGVjYWRlbXkuY29tXCJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB0cmFja0NsaWNrKCdsb2dvJywgdHJhY2tpbmdEYXRhKX1cbiAgICAgICAgLz5cbiAgICAgIDwvQm94PlxuICAgICAge2xhbmd1YWdlID8gKFxuICAgICAgICA8RWRpdG9yXG4gICAgICAgICAgbGFuZ3VhZ2U9e2xhbmd1YWdlfVxuICAgICAgICAgIHRleHQ9e3RleHR9XG4gICAgICAgICAgaGlkZUNvcHlCdXR0b249e2hpZGVDb3B5QnV0dG9ufVxuICAgICAgICAgIG9uQ2hhbmdlPXsobmV3VGV4dDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBzZXRUZXh0KG5ld1RleHQpO1xuICAgICAgICAgICAgb25FZGl0Py4obmV3VGV4dCwgbGFuZ3VhZ2UpO1xuICAgICAgICAgICAgaWYgKHRyYWNrRmlyc3RFZGl0ICYmIGhhc0JlZW5FZGl0ZWQgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgIHNldEhhc0JlZW5FZGl0ZWQodHJ1ZSk7XG4gICAgICAgICAgICAgIHRyYWNrQ2xpY2soJ2VkaXQnLCB0cmFja2luZ0RhdGEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH19XG4gICAgICAgICAgc25pcHBldHNCYXNlVXJsPXtzbmlwcGV0c0Jhc2VVcmx9XG4gICAgICAgICAgY29weUZvcm1hdHRlcj17Y29weUZvcm1hdHRlcn1cbiAgICAgICAgICB0cmFja2luZ0RhdGE9e3RyYWNraW5nRGF0YX1cbiAgICAgICAgLz5cbiAgICAgICkgOiAoXG4gICAgICAgIDxMYW5ndWFnZVNlbGVjdGlvblxuICAgICAgICAgIG9uQ2hhbmdlPXsobmV3TGFuZ3VhZ2UpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5ld1RleHQ6IHN0cmluZyA9XG4gICAgICAgICAgICAgIHRleHQgfHwgKG5ld0xhbmd1YWdlID8gaGVsbG9Xb3JsZFtuZXdMYW5ndWFnZV0gOiAnJyk7XG4gICAgICAgICAgICBzZXRMYW5ndWFnZShuZXdMYW5ndWFnZSk7XG4gICAgICAgICAgICBzZXRUZXh0KG5ld1RleHQpO1xuICAgICAgICAgICAgdHJhY2tDbGljaygnbGFuZ19zZWxlY3QnLCB0cmFja2luZ0RhdGEpO1xuICAgICAgICAgICAgb25MYW5ndWFnZUNoYW5nZT8uKG5ld1RleHQsIG5ld0xhbmd1YWdlKTtcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICA8L0VkaXRvckNvbnRhaW5lcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENvZGVCeXRlRWRpdG9yO1xuIl19 */");
42
42
 
43
43
  export var CodeByteEditor = function CodeByteEditor(_ref) {
44
44
  var initialText = _ref.text,
@@ -48,11 +48,11 @@ export var CodeByteEditor = function CodeByteEditor(_ref) {
48
48
  snippetsBaseUrl = _ref.snippetsBaseUrl,
49
49
  onEdit = _ref.onEdit,
50
50
  onLanguageChange = _ref.onLanguageChange,
51
- onCopy = _ref.onCopy,
51
+ copyFormatter = _ref.copyFormatter,
52
52
  trackingData = _ref.trackingData,
53
53
  _ref$trackFirstEdit = _ref.trackFirstEdit,
54
54
  trackFirstEdit = _ref$trackFirstEdit === void 0 ? false : _ref$trackFirstEdit,
55
- rest = _objectWithoutProperties(_ref, ["text", "language", "hideCopyButton", "snippetsBaseUrl", "onEdit", "onLanguageChange", "onCopy", "trackingData", "trackFirstEdit"]);
55
+ rest = _objectWithoutProperties(_ref, ["text", "language", "hideCopyButton", "snippetsBaseUrl", "onEdit", "onLanguageChange", "copyFormatter", "trackingData", "trackFirstEdit"]);
56
56
 
57
57
  var getInitialText = function getInitialText() {
58
58
  if (initialText !== undefined) return initialText;
@@ -117,7 +117,7 @@ export var CodeByteEditor = function CodeByteEditor(_ref) {
117
117
  }
118
118
  },
119
119
  snippetsBaseUrl: snippetsBaseUrl,
120
- onCopy: onCopy,
120
+ copyFormatter: copyFormatter,
121
121
  trackingData: trackingData
122
122
  }) : /*#__PURE__*/React.createElement(LanguageSelection, {
123
123
  onChange: function onChange(newLanguage) {
package/dist/editor.d.ts CHANGED
@@ -1,14 +1,14 @@
1
1
  import { UserClickData } from '@codecademy/tracking';
2
2
  import React from 'react';
3
3
  import type { LanguageOption } from './consts';
4
- import { CodebytesChangeHandler } from './types';
4
+ import { CodebytesCopyFormatter } from './types';
5
5
  declare type EditorProps = {
6
6
  hideCopyButton: boolean;
7
7
  language: LanguageOption;
8
8
  text: string;
9
9
  onChange: (text: string) => void;
10
10
  snippetsBaseUrl?: string;
11
- onCopy?: CodebytesChangeHandler;
11
+ copyFormatter?: CodebytesCopyFormatter;
12
12
  trackingData?: Omit<UserClickData, 'target'>;
13
13
  };
14
14
  export declare const Editor: React.FC<EditorProps>;
package/dist/editor.js CHANGED
@@ -34,7 +34,7 @@ var Output = _styled("pre", {
34
34
  var hasError = _ref.hasError,
35
35
  theme = _ref.theme;
36
36
  return "\n color: ".concat(hasError ? theme.colors.orange : theme.colors.text, ";\n background-color: ").concat(theme.colors['navy-900'], ";\n");
37
- }, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lZGl0b3IudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1CZ0QiLCJmaWxlIjoiLi4vc3JjL2VkaXRvci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBGaWxsQnV0dG9uLFxuICBGbGV4Qm94LFxuICBTcGlubmVyLFxuICBUZXh0QnV0dG9uLFxuICBUb29sVGlwLFxufSBmcm9tICdAY29kZWNhZGVteS9nYW11dCc7XG5pbXBvcnQgeyBDb3B5SWNvbiB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LWljb25zJztcbmltcG9ydCB7IFVzZXJDbGlja0RhdGEgfSBmcm9tICdAY29kZWNhZGVteS90cmFja2luZyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IHBvc3RTbmlwcGV0IH0gZnJvbSAnLi9hcGknO1xuaW1wb3J0IHR5cGUgeyBMYW5ndWFnZU9wdGlvbiB9IGZyb20gJy4vY29uc3RzJztcbmltcG9ydCB7IERyYXdlcnMgfSBmcm9tICcuL2RyYXdlcnMnO1xuaW1wb3J0IHsgdHJhY2tDbGljayB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyBTaW1wbGVNb25hY29FZGl0b3IgfSBmcm9tICcuL01vbmFjb0VkaXRvcic7XG5pbXBvcnQgeyBDb2RlYnl0ZXNDaGFuZ2VIYW5kbGVyIH0gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IE91dHB1dCA9IHN0eWxlZC5wcmU8eyBoYXNFcnJvcjogYm9vbGVhbiB9PmBcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGZvbnQtZmFtaWx5OiBNb25hY287XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIG92ZXJmbG93OiBhdXRvO1xuICAkeyh7IGhhc0Vycm9yLCB0aGVtZSB9KSA9PiBgXG4gIGNvbG9yOiAke2hhc0Vycm9yID8gdGhlbWUuY29sb3JzLm9yYW5nZSA6IHRoZW1lLmNvbG9ycy50ZXh0fTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHt0aGVtZS5jb2xvcnNbJ25hdnktOTAwJ119O1xuYH1cbmA7XG5cbmNvbnN0IENvcHlJY29uU3R5bGVkID0gc3R5bGVkKENvcHlJY29uKWBcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG5gO1xuXG5jb25zdCBET0NLRVJfU0lHVEVSTSA9IDE0MztcblxudHlwZSBFZGl0b3JQcm9wcyA9IHtcbiAgaGlkZUNvcHlCdXR0b246IGJvb2xlYW47XG4gIGxhbmd1YWdlOiBMYW5ndWFnZU9wdGlvbjtcbiAgdGV4dDogc3RyaW5nO1xuICBvbkNoYW5nZTogKHRleHQ6IHN0cmluZykgPT4gdm9pZDtcbiAgc25pcHBldHNCYXNlVXJsPzogc3RyaW5nO1xuICBvbkNvcHk/OiBDb2RlYnl0ZXNDaGFuZ2VIYW5kbGVyO1xuICB0cmFja2luZ0RhdGE/OiBPbWl0PFVzZXJDbGlja0RhdGEsICd0YXJnZXQnPjtcbn07XG5cbmV4cG9ydCBjb25zdCBFZGl0b3I6IFJlYWN0LkZDPEVkaXRvclByb3BzPiA9ICh7XG4gIGxhbmd1YWdlLFxuICB0ZXh0LFxuICBoaWRlQ29weUJ1dHRvbixcbiAgb25DaGFuZ2UsXG4gIG9uQ29weSxcbiAgc25pcHBldHNCYXNlVXJsLFxuICB0cmFja2luZ0RhdGEsXG59KSA9PiB7XG4gIGNvbnN0IFtvdXRwdXQsIHNldE91dHB1dF0gPSB1c2VTdGF0ZSgnJyk7XG4gIGNvbnN0IFtzdGF0dXMsIHNldFN0YXR1c10gPSB1c2VTdGF0ZTwncmVhZHknIHwgJ3dhaXRpbmcnIHwgJ2Vycm9yJz4oJ3JlYWR5Jyk7XG4gIGNvbnN0IFtpc0NvZGVCeXRlQ29waWVkLCBzZXRJc0NvZGVCeXRlQ29waWVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3Qgb25Db3B5Q2xpY2sgPSAoKSA9PiB7XG4gICAgaWYgKCFpc0NvZGVCeXRlQ29waWVkKSB7XG4gICAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkXG4gICAgICAgIC53cml0ZVRleHQodGV4dClcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgLmNhdGNoKCgpID0+IGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBjb3B5JykpO1xuICAgICAgc2V0SXNDb2RlQnl0ZUNvcGllZCh0cnVlKTtcbiAgICAgIG9uQ29weT8uKHRleHQsIGxhbmd1YWdlKTtcbiAgICAgIHRyYWNrQ2xpY2soJ2NvcHknLCB0cmFja2luZ0RhdGEpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBzZXRFcnJvclN0YXR1c0FuZE91dHB1dCA9IChtZXNzYWdlOiBzdHJpbmcpID0+IHtcbiAgICBzZXRPdXRwdXQobWVzc2FnZSk7XG4gICAgc2V0U3RhdHVzKCdlcnJvcicpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVN1Ym1pdCA9IGFzeW5jICgpID0+IHtcbiAgICBpZiAodGV4dC50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBsYW5ndWFnZSxcbiAgICAgIGNvZGU6IHRleHQsXG4gICAgfTtcbiAgICBzZXRTdGF0dXMoJ3dhaXRpbmcnKTtcbiAgICBzZXRPdXRwdXQoJycpO1xuICAgIHRyYWNrQ2xpY2soJ3J1bicsIHRyYWNraW5nRGF0YSk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBwb3N0U25pcHBldChkYXRhLCBzbmlwcGV0c0Jhc2VVcmwpO1xuICAgICAgaWYgKHJlc3BvbnNlLnN0ZGVyci5sZW5ndGggPiAwKSB7XG4gICAgICAgIHNldEVycm9yU3RhdHVzQW5kT3V0cHV0KHJlc3BvbnNlLnN0ZGVycik7XG4gICAgICB9IGVsc2UgaWYgKHJlc3BvbnNlLmV4aXRfY29kZSA9PT0gRE9DS0VSX1NJR1RFUk0pIHtcbiAgICAgICAgc2V0RXJyb3JTdGF0dXNBbmRPdXRwdXQoXG4gICAgICAgICAgJ1lvdXIgY29kZSB0b29rIHRvbyBsb25nIHRvIHJldHVybiBhIHJlc3VsdC4gRG91YmxlIGNoZWNrIHlvdXIgY29kZSBmb3IgYW55IGlzc3VlcyBhbmQgdHJ5IGFnYWluISdcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2UuZXhpdF9jb2RlICE9PSAwKSB7XG4gICAgICAgIHNldEVycm9yU3RhdHVzQW5kT3V0cHV0KCdBbiB1bmtub3duIGVycm9yIG9jY3VyZWQuJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRPdXRwdXQocmVzcG9uc2Uuc3Rkb3V0KTtcbiAgICAgICAgc2V0U3RhdHVzKCdyZWFkeScpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBzZXRFcnJvclN0YXR1c0FuZE91dHB1dCgnRXJyb3I6ICcgKyBlcnJvcik7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxEcmF3ZXJzXG4gICAgICAgIGxlZnRDaGlsZD17XG4gICAgICAgICAgPFNpbXBsZU1vbmFjb0VkaXRvclxuICAgICAgICAgICAgdmFsdWU9e3RleHR9XG4gICAgICAgICAgICBsYW5ndWFnZT17bGFuZ3VhZ2V9XG4gICAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICByaWdodENoaWxkPXtcbiAgICAgICAgICA8T3V0cHV0IGhhc0Vycm9yPXtzdGF0dXMgPT09ICdlcnJvcid9IGFyaWEtbGl2ZT1cInBvbGl0ZVwiPlxuICAgICAgICAgICAge291dHB1dH1cbiAgICAgICAgICA8L091dHB1dD5cbiAgICAgICAgfVxuICAgICAgLz5cbiAgICAgIDxGbGV4Qm94XG4gICAgICAgIGp1c3RpZnlDb250ZW50PXtoaWRlQ29weUJ1dHRvbiA/ICdmbGV4LWVuZCcgOiAnc3BhY2UtYmV0d2Vlbid9XG4gICAgICAgIHBsPXs4fVxuICAgICAgPlxuICAgICAgICB7IWhpZGVDb3B5QnV0dG9uID8gKFxuICAgICAgICAgIDxUb29sVGlwXG4gICAgICAgICAgICBpZD1cImNvZGVieXRlLWNvcGllZFwiXG4gICAgICAgICAgICBhbGlnbm1lbnQ9XCJ0b3AtcmlnaHRcIlxuICAgICAgICAgICAgbW9kZT1cImRhcmtcIlxuICAgICAgICAgICAgdGFyZ2V0PXtcbiAgICAgICAgICAgICAgPFRleHRCdXR0b25cbiAgICAgICAgICAgICAgICB2YXJpYW50PVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvbkNvcHlDbGlja31cbiAgICAgICAgICAgICAgICBvbkJsdXI9eygpID0+IHNldElzQ29kZUJ5dGVDb3BpZWQoZmFsc2UpfVxuICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiY29weS1jb2RlYnl0ZS1idG5cIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPENvcHlJY29uU3R5bGVkIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIC8+IENvcHkgQ29kZWJ5dGVcbiAgICAgICAgICAgICAgPC9UZXh0QnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtpc0NvZGVCeXRlQ29waWVkID8gKFxuICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRlc3RpZD1cImNvcHktY29uZmlybWF0aW9uLXRvb2x0aXBcIiByb2xlPVwiYWxlcnRcIj5cbiAgICAgICAgICAgICAgICBDb3BpZWQhXG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxzcGFuIGRhdGEtdGVzdGlkPVwiY29weS1wcm9tcHQtdG9vbHRpcFwiPlxuICAgICAgICAgICAgICAgIENvcHkgdG8geW91ciBjbGlwYm9hcmRcbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1Rvb2xUaXA+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgICA8RmlsbEJ1dHRvbiBvbkNsaWNrPXtoYW5kbGVTdWJtaXR9PlxuICAgICAgICAgIHtzdGF0dXMgPT09ICd3YWl0aW5nJyA/IDxTcGlubmVyIC8+IDogJ1J1bid9XG4gICAgICAgIDwvRmlsbEJ1dHRvbj5cbiAgICAgIDwvRmxleEJveD5cbiAgICA8Lz5cbiAgKTtcbn07XG4iXX0= */"));
37
+ }, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lZGl0b3IudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1CZ0QiLCJmaWxlIjoiLi4vc3JjL2VkaXRvci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBGaWxsQnV0dG9uLFxuICBGbGV4Qm94LFxuICBTcGlubmVyLFxuICBUZXh0QnV0dG9uLFxuICBUb29sVGlwLFxufSBmcm9tICdAY29kZWNhZGVteS9nYW11dCc7XG5pbXBvcnQgeyBDb3B5SWNvbiB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LWljb25zJztcbmltcG9ydCB7IFVzZXJDbGlja0RhdGEgfSBmcm9tICdAY29kZWNhZGVteS90cmFja2luZyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IHBvc3RTbmlwcGV0IH0gZnJvbSAnLi9hcGknO1xuaW1wb3J0IHR5cGUgeyBMYW5ndWFnZU9wdGlvbiB9IGZyb20gJy4vY29uc3RzJztcbmltcG9ydCB7IERyYXdlcnMgfSBmcm9tICcuL2RyYXdlcnMnO1xuaW1wb3J0IHsgdHJhY2tDbGljayB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyBTaW1wbGVNb25hY29FZGl0b3IgfSBmcm9tICcuL01vbmFjb0VkaXRvcic7XG5pbXBvcnQgeyBDb2RlYnl0ZXNDb3B5Rm9ybWF0dGVyIH0gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IE91dHB1dCA9IHN0eWxlZC5wcmU8eyBoYXNFcnJvcjogYm9vbGVhbiB9PmBcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGZvbnQtZmFtaWx5OiBNb25hY287XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIG92ZXJmbG93OiBhdXRvO1xuICAkeyh7IGhhc0Vycm9yLCB0aGVtZSB9KSA9PiBgXG4gIGNvbG9yOiAke2hhc0Vycm9yID8gdGhlbWUuY29sb3JzLm9yYW5nZSA6IHRoZW1lLmNvbG9ycy50ZXh0fTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHt0aGVtZS5jb2xvcnNbJ25hdnktOTAwJ119O1xuYH1cbmA7XG5cbmNvbnN0IENvcHlJY29uU3R5bGVkID0gc3R5bGVkKENvcHlJY29uKWBcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG5gO1xuXG5jb25zdCBET0NLRVJfU0lHVEVSTSA9IDE0MztcblxudHlwZSBFZGl0b3JQcm9wcyA9IHtcbiAgaGlkZUNvcHlCdXR0b246IGJvb2xlYW47XG4gIGxhbmd1YWdlOiBMYW5ndWFnZU9wdGlvbjtcbiAgdGV4dDogc3RyaW5nO1xuICBvbkNoYW5nZTogKHRleHQ6IHN0cmluZykgPT4gdm9pZDtcbiAgc25pcHBldHNCYXNlVXJsPzogc3RyaW5nO1xuICBjb3B5Rm9ybWF0dGVyPzogQ29kZWJ5dGVzQ29weUZvcm1hdHRlcjtcbiAgdHJhY2tpbmdEYXRhPzogT21pdDxVc2VyQ2xpY2tEYXRhLCAndGFyZ2V0Jz47XG59O1xuXG5leHBvcnQgY29uc3QgRWRpdG9yOiBSZWFjdC5GQzxFZGl0b3JQcm9wcz4gPSAoe1xuICBsYW5ndWFnZSxcbiAgdGV4dCxcbiAgaGlkZUNvcHlCdXR0b24sXG4gIG9uQ2hhbmdlLFxuICBjb3B5Rm9ybWF0dGVyLFxuICBzbmlwcGV0c0Jhc2VVcmwsXG4gIHRyYWNraW5nRGF0YSxcbn0pID0+IHtcbiAgY29uc3QgW291dHB1dCwgc2V0T3V0cHV0XSA9IHVzZVN0YXRlKCcnKTtcbiAgY29uc3QgW3N0YXR1cywgc2V0U3RhdHVzXSA9IHVzZVN0YXRlPCdyZWFkeScgfCAnd2FpdGluZycgfCAnZXJyb3InPigncmVhZHknKTtcbiAgY29uc3QgW2lzQ29kZUJ5dGVDb3BpZWQsIHNldElzQ29kZUJ5dGVDb3BpZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBvbkNvcHlDbGljayA9ICgpID0+IHtcbiAgICBpZiAoIWlzQ29kZUJ5dGVDb3BpZWQpIHtcbiAgICAgIG5hdmlnYXRvci5jbGlwYm9hcmRcbiAgICAgICAgLndyaXRlVGV4dChjb3B5Rm9ybWF0dGVyID8gY29weUZvcm1hdHRlcih7IHRleHQsIGxhbmd1YWdlIH0pIDogdGV4dClcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgLmNhdGNoKCgpID0+IGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBjb3B5JykpO1xuICAgICAgc2V0SXNDb2RlQnl0ZUNvcGllZCh0cnVlKTtcbiAgICAgIHRyYWNrQ2xpY2soJ2NvcHknLCB0cmFja2luZ0RhdGEpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBzZXRFcnJvclN0YXR1c0FuZE91dHB1dCA9IChtZXNzYWdlOiBzdHJpbmcpID0+IHtcbiAgICBzZXRPdXRwdXQobWVzc2FnZSk7XG4gICAgc2V0U3RhdHVzKCdlcnJvcicpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVN1Ym1pdCA9IGFzeW5jICgpID0+IHtcbiAgICBpZiAodGV4dC50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBsYW5ndWFnZSxcbiAgICAgIGNvZGU6IHRleHQsXG4gICAgfTtcbiAgICBzZXRTdGF0dXMoJ3dhaXRpbmcnKTtcbiAgICBzZXRPdXRwdXQoJycpO1xuICAgIHRyYWNrQ2xpY2soJ3J1bicsIHRyYWNraW5nRGF0YSk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBwb3N0U25pcHBldChkYXRhLCBzbmlwcGV0c0Jhc2VVcmwpO1xuICAgICAgaWYgKHJlc3BvbnNlLnN0ZGVyci5sZW5ndGggPiAwKSB7XG4gICAgICAgIHNldEVycm9yU3RhdHVzQW5kT3V0cHV0KHJlc3BvbnNlLnN0ZGVycik7XG4gICAgICB9IGVsc2UgaWYgKHJlc3BvbnNlLmV4aXRfY29kZSA9PT0gRE9DS0VSX1NJR1RFUk0pIHtcbiAgICAgICAgc2V0RXJyb3JTdGF0dXNBbmRPdXRwdXQoXG4gICAgICAgICAgJ1lvdXIgY29kZSB0b29rIHRvbyBsb25nIHRvIHJldHVybiBhIHJlc3VsdC4gRG91YmxlIGNoZWNrIHlvdXIgY29kZSBmb3IgYW55IGlzc3VlcyBhbmQgdHJ5IGFnYWluISdcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2UuZXhpdF9jb2RlICE9PSAwKSB7XG4gICAgICAgIHNldEVycm9yU3RhdHVzQW5kT3V0cHV0KCdBbiB1bmtub3duIGVycm9yIG9jY3VyZWQuJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRPdXRwdXQocmVzcG9uc2Uuc3Rkb3V0KTtcbiAgICAgICAgc2V0U3RhdHVzKCdyZWFkeScpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBzZXRFcnJvclN0YXR1c0FuZE91dHB1dCgnRXJyb3I6ICcgKyBlcnJvcik7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxEcmF3ZXJzXG4gICAgICAgIGxlZnRDaGlsZD17XG4gICAgICAgICAgPFNpbXBsZU1vbmFjb0VkaXRvclxuICAgICAgICAgICAgdmFsdWU9e3RleHR9XG4gICAgICAgICAgICBsYW5ndWFnZT17bGFuZ3VhZ2V9XG4gICAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICByaWdodENoaWxkPXtcbiAgICAgICAgICA8T3V0cHV0IGhhc0Vycm9yPXtzdGF0dXMgPT09ICdlcnJvcid9IGFyaWEtbGl2ZT1cInBvbGl0ZVwiPlxuICAgICAgICAgICAge291dHB1dH1cbiAgICAgICAgICA8L091dHB1dD5cbiAgICAgICAgfVxuICAgICAgLz5cbiAgICAgIDxGbGV4Qm94XG4gICAgICAgIGp1c3RpZnlDb250ZW50PXtoaWRlQ29weUJ1dHRvbiA/ICdmbGV4LWVuZCcgOiAnc3BhY2UtYmV0d2Vlbid9XG4gICAgICAgIHBsPXs4fVxuICAgICAgPlxuICAgICAgICB7IWhpZGVDb3B5QnV0dG9uID8gKFxuICAgICAgICAgIDxUb29sVGlwXG4gICAgICAgICAgICBpZD1cImNvZGVieXRlLWNvcGllZFwiXG4gICAgICAgICAgICBhbGlnbm1lbnQ9XCJ0b3AtcmlnaHRcIlxuICAgICAgICAgICAgbW9kZT1cImRhcmtcIlxuICAgICAgICAgICAgdGFyZ2V0PXtcbiAgICAgICAgICAgICAgPFRleHRCdXR0b25cbiAgICAgICAgICAgICAgICB2YXJpYW50PVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvbkNvcHlDbGlja31cbiAgICAgICAgICAgICAgICBvbkJsdXI9eygpID0+IHNldElzQ29kZUJ5dGVDb3BpZWQoZmFsc2UpfVxuICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiY29weS1jb2RlYnl0ZS1idG5cIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPENvcHlJY29uU3R5bGVkIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIC8+IENvcHkgQ29kZWJ5dGVcbiAgICAgICAgICAgICAgPC9UZXh0QnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtpc0NvZGVCeXRlQ29waWVkID8gKFxuICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRlc3RpZD1cImNvcHktY29uZmlybWF0aW9uLXRvb2x0aXBcIiByb2xlPVwiYWxlcnRcIj5cbiAgICAgICAgICAgICAgICBDb3BpZWQhXG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxzcGFuIGRhdGEtdGVzdGlkPVwiY29weS1wcm9tcHQtdG9vbHRpcFwiPlxuICAgICAgICAgICAgICAgIENvcHkgdG8geW91ciBjbGlwYm9hcmRcbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1Rvb2xUaXA+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgICA8RmlsbEJ1dHRvbiBvbkNsaWNrPXtoYW5kbGVTdWJtaXR9PlxuICAgICAgICAgIHtzdGF0dXMgPT09ICd3YWl0aW5nJyA/IDxTcGlubmVyIC8+IDogJ1J1bid9XG4gICAgICAgIDwvRmlsbEJ1dHRvbj5cbiAgICAgIDwvRmxleEJveD5cbiAgICA8Lz5cbiAgKTtcbn07XG4iXX0= */"));
38
38
 
39
39
  var CopyIconStyled = /*#__PURE__*/_styled(CopyIcon, {
40
40
  target: "e1lzxy8e0",
@@ -45,7 +45,7 @@ var CopyIconStyled = /*#__PURE__*/_styled(CopyIcon, {
45
45
  } : {
46
46
  name: "u7ytkp",
47
47
  styles: "margin-right:0.5rem",
48
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lZGl0b3IudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlDdUMiLCJmaWxlIjoiLi4vc3JjL2VkaXRvci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBGaWxsQnV0dG9uLFxuICBGbGV4Qm94LFxuICBTcGlubmVyLFxuICBUZXh0QnV0dG9uLFxuICBUb29sVGlwLFxufSBmcm9tICdAY29kZWNhZGVteS9nYW11dCc7XG5pbXBvcnQgeyBDb3B5SWNvbiB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LWljb25zJztcbmltcG9ydCB7IFVzZXJDbGlja0RhdGEgfSBmcm9tICdAY29kZWNhZGVteS90cmFja2luZyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IHBvc3RTbmlwcGV0IH0gZnJvbSAnLi9hcGknO1xuaW1wb3J0IHR5cGUgeyBMYW5ndWFnZU9wdGlvbiB9IGZyb20gJy4vY29uc3RzJztcbmltcG9ydCB7IERyYXdlcnMgfSBmcm9tICcuL2RyYXdlcnMnO1xuaW1wb3J0IHsgdHJhY2tDbGljayB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyBTaW1wbGVNb25hY29FZGl0b3IgfSBmcm9tICcuL01vbmFjb0VkaXRvcic7XG5pbXBvcnQgeyBDb2RlYnl0ZXNDaGFuZ2VIYW5kbGVyIH0gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IE91dHB1dCA9IHN0eWxlZC5wcmU8eyBoYXNFcnJvcjogYm9vbGVhbiB9PmBcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGZvbnQtZmFtaWx5OiBNb25hY287XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIG92ZXJmbG93OiBhdXRvO1xuICAkeyh7IGhhc0Vycm9yLCB0aGVtZSB9KSA9PiBgXG4gIGNvbG9yOiAke2hhc0Vycm9yID8gdGhlbWUuY29sb3JzLm9yYW5nZSA6IHRoZW1lLmNvbG9ycy50ZXh0fTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHt0aGVtZS5jb2xvcnNbJ25hdnktOTAwJ119O1xuYH1cbmA7XG5cbmNvbnN0IENvcHlJY29uU3R5bGVkID0gc3R5bGVkKENvcHlJY29uKWBcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG5gO1xuXG5jb25zdCBET0NLRVJfU0lHVEVSTSA9IDE0MztcblxudHlwZSBFZGl0b3JQcm9wcyA9IHtcbiAgaGlkZUNvcHlCdXR0b246IGJvb2xlYW47XG4gIGxhbmd1YWdlOiBMYW5ndWFnZU9wdGlvbjtcbiAgdGV4dDogc3RyaW5nO1xuICBvbkNoYW5nZTogKHRleHQ6IHN0cmluZykgPT4gdm9pZDtcbiAgc25pcHBldHNCYXNlVXJsPzogc3RyaW5nO1xuICBvbkNvcHk/OiBDb2RlYnl0ZXNDaGFuZ2VIYW5kbGVyO1xuICB0cmFja2luZ0RhdGE/OiBPbWl0PFVzZXJDbGlja0RhdGEsICd0YXJnZXQnPjtcbn07XG5cbmV4cG9ydCBjb25zdCBFZGl0b3I6IFJlYWN0LkZDPEVkaXRvclByb3BzPiA9ICh7XG4gIGxhbmd1YWdlLFxuICB0ZXh0LFxuICBoaWRlQ29weUJ1dHRvbixcbiAgb25DaGFuZ2UsXG4gIG9uQ29weSxcbiAgc25pcHBldHNCYXNlVXJsLFxuICB0cmFja2luZ0RhdGEsXG59KSA9PiB7XG4gIGNvbnN0IFtvdXRwdXQsIHNldE91dHB1dF0gPSB1c2VTdGF0ZSgnJyk7XG4gIGNvbnN0IFtzdGF0dXMsIHNldFN0YXR1c10gPSB1c2VTdGF0ZTwncmVhZHknIHwgJ3dhaXRpbmcnIHwgJ2Vycm9yJz4oJ3JlYWR5Jyk7XG4gIGNvbnN0IFtpc0NvZGVCeXRlQ29waWVkLCBzZXRJc0NvZGVCeXRlQ29waWVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3Qgb25Db3B5Q2xpY2sgPSAoKSA9PiB7XG4gICAgaWYgKCFpc0NvZGVCeXRlQ29waWVkKSB7XG4gICAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkXG4gICAgICAgIC53cml0ZVRleHQodGV4dClcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgLmNhdGNoKCgpID0+IGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBjb3B5JykpO1xuICAgICAgc2V0SXNDb2RlQnl0ZUNvcGllZCh0cnVlKTtcbiAgICAgIG9uQ29weT8uKHRleHQsIGxhbmd1YWdlKTtcbiAgICAgIHRyYWNrQ2xpY2soJ2NvcHknLCB0cmFja2luZ0RhdGEpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBzZXRFcnJvclN0YXR1c0FuZE91dHB1dCA9IChtZXNzYWdlOiBzdHJpbmcpID0+IHtcbiAgICBzZXRPdXRwdXQobWVzc2FnZSk7XG4gICAgc2V0U3RhdHVzKCdlcnJvcicpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVN1Ym1pdCA9IGFzeW5jICgpID0+IHtcbiAgICBpZiAodGV4dC50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBsYW5ndWFnZSxcbiAgICAgIGNvZGU6IHRleHQsXG4gICAgfTtcbiAgICBzZXRTdGF0dXMoJ3dhaXRpbmcnKTtcbiAgICBzZXRPdXRwdXQoJycpO1xuICAgIHRyYWNrQ2xpY2soJ3J1bicsIHRyYWNraW5nRGF0YSk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBwb3N0U25pcHBldChkYXRhLCBzbmlwcGV0c0Jhc2VVcmwpO1xuICAgICAgaWYgKHJlc3BvbnNlLnN0ZGVyci5sZW5ndGggPiAwKSB7XG4gICAgICAgIHNldEVycm9yU3RhdHVzQW5kT3V0cHV0KHJlc3BvbnNlLnN0ZGVycik7XG4gICAgICB9IGVsc2UgaWYgKHJlc3BvbnNlLmV4aXRfY29kZSA9PT0gRE9DS0VSX1NJR1RFUk0pIHtcbiAgICAgICAgc2V0RXJyb3JTdGF0dXNBbmRPdXRwdXQoXG4gICAgICAgICAgJ1lvdXIgY29kZSB0b29rIHRvbyBsb25nIHRvIHJldHVybiBhIHJlc3VsdC4gRG91YmxlIGNoZWNrIHlvdXIgY29kZSBmb3IgYW55IGlzc3VlcyBhbmQgdHJ5IGFnYWluISdcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2UuZXhpdF9jb2RlICE9PSAwKSB7XG4gICAgICAgIHNldEVycm9yU3RhdHVzQW5kT3V0cHV0KCdBbiB1bmtub3duIGVycm9yIG9jY3VyZWQuJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRPdXRwdXQocmVzcG9uc2Uuc3Rkb3V0KTtcbiAgICAgICAgc2V0U3RhdHVzKCdyZWFkeScpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBzZXRFcnJvclN0YXR1c0FuZE91dHB1dCgnRXJyb3I6ICcgKyBlcnJvcik7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxEcmF3ZXJzXG4gICAgICAgIGxlZnRDaGlsZD17XG4gICAgICAgICAgPFNpbXBsZU1vbmFjb0VkaXRvclxuICAgICAgICAgICAgdmFsdWU9e3RleHR9XG4gICAgICAgICAgICBsYW5ndWFnZT17bGFuZ3VhZ2V9XG4gICAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICByaWdodENoaWxkPXtcbiAgICAgICAgICA8T3V0cHV0IGhhc0Vycm9yPXtzdGF0dXMgPT09ICdlcnJvcid9IGFyaWEtbGl2ZT1cInBvbGl0ZVwiPlxuICAgICAgICAgICAge291dHB1dH1cbiAgICAgICAgICA8L091dHB1dD5cbiAgICAgICAgfVxuICAgICAgLz5cbiAgICAgIDxGbGV4Qm94XG4gICAgICAgIGp1c3RpZnlDb250ZW50PXtoaWRlQ29weUJ1dHRvbiA/ICdmbGV4LWVuZCcgOiAnc3BhY2UtYmV0d2Vlbid9XG4gICAgICAgIHBsPXs4fVxuICAgICAgPlxuICAgICAgICB7IWhpZGVDb3B5QnV0dG9uID8gKFxuICAgICAgICAgIDxUb29sVGlwXG4gICAgICAgICAgICBpZD1cImNvZGVieXRlLWNvcGllZFwiXG4gICAgICAgICAgICBhbGlnbm1lbnQ9XCJ0b3AtcmlnaHRcIlxuICAgICAgICAgICAgbW9kZT1cImRhcmtcIlxuICAgICAgICAgICAgdGFyZ2V0PXtcbiAgICAgICAgICAgICAgPFRleHRCdXR0b25cbiAgICAgICAgICAgICAgICB2YXJpYW50PVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvbkNvcHlDbGlja31cbiAgICAgICAgICAgICAgICBvbkJsdXI9eygpID0+IHNldElzQ29kZUJ5dGVDb3BpZWQoZmFsc2UpfVxuICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiY29weS1jb2RlYnl0ZS1idG5cIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPENvcHlJY29uU3R5bGVkIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIC8+IENvcHkgQ29kZWJ5dGVcbiAgICAgICAgICAgICAgPC9UZXh0QnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtpc0NvZGVCeXRlQ29waWVkID8gKFxuICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRlc3RpZD1cImNvcHktY29uZmlybWF0aW9uLXRvb2x0aXBcIiByb2xlPVwiYWxlcnRcIj5cbiAgICAgICAgICAgICAgICBDb3BpZWQhXG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxzcGFuIGRhdGEtdGVzdGlkPVwiY29weS1wcm9tcHQtdG9vbHRpcFwiPlxuICAgICAgICAgICAgICAgIENvcHkgdG8geW91ciBjbGlwYm9hcmRcbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1Rvb2xUaXA+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgICA8RmlsbEJ1dHRvbiBvbkNsaWNrPXtoYW5kbGVTdWJtaXR9PlxuICAgICAgICAgIHtzdGF0dXMgPT09ICd3YWl0aW5nJyA/IDxTcGlubmVyIC8+IDogJ1J1bid9XG4gICAgICAgIDwvRmlsbEJ1dHRvbj5cbiAgICAgIDwvRmxleEJveD5cbiAgICA8Lz5cbiAgKTtcbn07XG4iXX0= */",
48
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lZGl0b3IudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlDdUMiLCJmaWxlIjoiLi4vc3JjL2VkaXRvci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBGaWxsQnV0dG9uLFxuICBGbGV4Qm94LFxuICBTcGlubmVyLFxuICBUZXh0QnV0dG9uLFxuICBUb29sVGlwLFxufSBmcm9tICdAY29kZWNhZGVteS9nYW11dCc7XG5pbXBvcnQgeyBDb3B5SWNvbiB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LWljb25zJztcbmltcG9ydCB7IFVzZXJDbGlja0RhdGEgfSBmcm9tICdAY29kZWNhZGVteS90cmFja2luZyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IHBvc3RTbmlwcGV0IH0gZnJvbSAnLi9hcGknO1xuaW1wb3J0IHR5cGUgeyBMYW5ndWFnZU9wdGlvbiB9IGZyb20gJy4vY29uc3RzJztcbmltcG9ydCB7IERyYXdlcnMgfSBmcm9tICcuL2RyYXdlcnMnO1xuaW1wb3J0IHsgdHJhY2tDbGljayB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyBTaW1wbGVNb25hY29FZGl0b3IgfSBmcm9tICcuL01vbmFjb0VkaXRvcic7XG5pbXBvcnQgeyBDb2RlYnl0ZXNDb3B5Rm9ybWF0dGVyIH0gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IE91dHB1dCA9IHN0eWxlZC5wcmU8eyBoYXNFcnJvcjogYm9vbGVhbiB9PmBcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGZvbnQtZmFtaWx5OiBNb25hY287XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIG92ZXJmbG93OiBhdXRvO1xuICAkeyh7IGhhc0Vycm9yLCB0aGVtZSB9KSA9PiBgXG4gIGNvbG9yOiAke2hhc0Vycm9yID8gdGhlbWUuY29sb3JzLm9yYW5nZSA6IHRoZW1lLmNvbG9ycy50ZXh0fTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHt0aGVtZS5jb2xvcnNbJ25hdnktOTAwJ119O1xuYH1cbmA7XG5cbmNvbnN0IENvcHlJY29uU3R5bGVkID0gc3R5bGVkKENvcHlJY29uKWBcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG5gO1xuXG5jb25zdCBET0NLRVJfU0lHVEVSTSA9IDE0MztcblxudHlwZSBFZGl0b3JQcm9wcyA9IHtcbiAgaGlkZUNvcHlCdXR0b246IGJvb2xlYW47XG4gIGxhbmd1YWdlOiBMYW5ndWFnZU9wdGlvbjtcbiAgdGV4dDogc3RyaW5nO1xuICBvbkNoYW5nZTogKHRleHQ6IHN0cmluZykgPT4gdm9pZDtcbiAgc25pcHBldHNCYXNlVXJsPzogc3RyaW5nO1xuICBjb3B5Rm9ybWF0dGVyPzogQ29kZWJ5dGVzQ29weUZvcm1hdHRlcjtcbiAgdHJhY2tpbmdEYXRhPzogT21pdDxVc2VyQ2xpY2tEYXRhLCAndGFyZ2V0Jz47XG59O1xuXG5leHBvcnQgY29uc3QgRWRpdG9yOiBSZWFjdC5GQzxFZGl0b3JQcm9wcz4gPSAoe1xuICBsYW5ndWFnZSxcbiAgdGV4dCxcbiAgaGlkZUNvcHlCdXR0b24sXG4gIG9uQ2hhbmdlLFxuICBjb3B5Rm9ybWF0dGVyLFxuICBzbmlwcGV0c0Jhc2VVcmwsXG4gIHRyYWNraW5nRGF0YSxcbn0pID0+IHtcbiAgY29uc3QgW291dHB1dCwgc2V0T3V0cHV0XSA9IHVzZVN0YXRlKCcnKTtcbiAgY29uc3QgW3N0YXR1cywgc2V0U3RhdHVzXSA9IHVzZVN0YXRlPCdyZWFkeScgfCAnd2FpdGluZycgfCAnZXJyb3InPigncmVhZHknKTtcbiAgY29uc3QgW2lzQ29kZUJ5dGVDb3BpZWQsIHNldElzQ29kZUJ5dGVDb3BpZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBvbkNvcHlDbGljayA9ICgpID0+IHtcbiAgICBpZiAoIWlzQ29kZUJ5dGVDb3BpZWQpIHtcbiAgICAgIG5hdmlnYXRvci5jbGlwYm9hcmRcbiAgICAgICAgLndyaXRlVGV4dChjb3B5Rm9ybWF0dGVyID8gY29weUZvcm1hdHRlcih7IHRleHQsIGxhbmd1YWdlIH0pIDogdGV4dClcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgLmNhdGNoKCgpID0+IGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBjb3B5JykpO1xuICAgICAgc2V0SXNDb2RlQnl0ZUNvcGllZCh0cnVlKTtcbiAgICAgIHRyYWNrQ2xpY2soJ2NvcHknLCB0cmFja2luZ0RhdGEpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBzZXRFcnJvclN0YXR1c0FuZE91dHB1dCA9IChtZXNzYWdlOiBzdHJpbmcpID0+IHtcbiAgICBzZXRPdXRwdXQobWVzc2FnZSk7XG4gICAgc2V0U3RhdHVzKCdlcnJvcicpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVN1Ym1pdCA9IGFzeW5jICgpID0+IHtcbiAgICBpZiAodGV4dC50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBsYW5ndWFnZSxcbiAgICAgIGNvZGU6IHRleHQsXG4gICAgfTtcbiAgICBzZXRTdGF0dXMoJ3dhaXRpbmcnKTtcbiAgICBzZXRPdXRwdXQoJycpO1xuICAgIHRyYWNrQ2xpY2soJ3J1bicsIHRyYWNraW5nRGF0YSk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBwb3N0U25pcHBldChkYXRhLCBzbmlwcGV0c0Jhc2VVcmwpO1xuICAgICAgaWYgKHJlc3BvbnNlLnN0ZGVyci5sZW5ndGggPiAwKSB7XG4gICAgICAgIHNldEVycm9yU3RhdHVzQW5kT3V0cHV0KHJlc3BvbnNlLnN0ZGVycik7XG4gICAgICB9IGVsc2UgaWYgKHJlc3BvbnNlLmV4aXRfY29kZSA9PT0gRE9DS0VSX1NJR1RFUk0pIHtcbiAgICAgICAgc2V0RXJyb3JTdGF0dXNBbmRPdXRwdXQoXG4gICAgICAgICAgJ1lvdXIgY29kZSB0b29rIHRvbyBsb25nIHRvIHJldHVybiBhIHJlc3VsdC4gRG91YmxlIGNoZWNrIHlvdXIgY29kZSBmb3IgYW55IGlzc3VlcyBhbmQgdHJ5IGFnYWluISdcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2UuZXhpdF9jb2RlICE9PSAwKSB7XG4gICAgICAgIHNldEVycm9yU3RhdHVzQW5kT3V0cHV0KCdBbiB1bmtub3duIGVycm9yIG9jY3VyZWQuJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRPdXRwdXQocmVzcG9uc2Uuc3Rkb3V0KTtcbiAgICAgICAgc2V0U3RhdHVzKCdyZWFkeScpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBzZXRFcnJvclN0YXR1c0FuZE91dHB1dCgnRXJyb3I6ICcgKyBlcnJvcik7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxEcmF3ZXJzXG4gICAgICAgIGxlZnRDaGlsZD17XG4gICAgICAgICAgPFNpbXBsZU1vbmFjb0VkaXRvclxuICAgICAgICAgICAgdmFsdWU9e3RleHR9XG4gICAgICAgICAgICBsYW5ndWFnZT17bGFuZ3VhZ2V9XG4gICAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICByaWdodENoaWxkPXtcbiAgICAgICAgICA8T3V0cHV0IGhhc0Vycm9yPXtzdGF0dXMgPT09ICdlcnJvcid9IGFyaWEtbGl2ZT1cInBvbGl0ZVwiPlxuICAgICAgICAgICAge291dHB1dH1cbiAgICAgICAgICA8L091dHB1dD5cbiAgICAgICAgfVxuICAgICAgLz5cbiAgICAgIDxGbGV4Qm94XG4gICAgICAgIGp1c3RpZnlDb250ZW50PXtoaWRlQ29weUJ1dHRvbiA/ICdmbGV4LWVuZCcgOiAnc3BhY2UtYmV0d2Vlbid9XG4gICAgICAgIHBsPXs4fVxuICAgICAgPlxuICAgICAgICB7IWhpZGVDb3B5QnV0dG9uID8gKFxuICAgICAgICAgIDxUb29sVGlwXG4gICAgICAgICAgICBpZD1cImNvZGVieXRlLWNvcGllZFwiXG4gICAgICAgICAgICBhbGlnbm1lbnQ9XCJ0b3AtcmlnaHRcIlxuICAgICAgICAgICAgbW9kZT1cImRhcmtcIlxuICAgICAgICAgICAgdGFyZ2V0PXtcbiAgICAgICAgICAgICAgPFRleHRCdXR0b25cbiAgICAgICAgICAgICAgICB2YXJpYW50PVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvbkNvcHlDbGlja31cbiAgICAgICAgICAgICAgICBvbkJsdXI9eygpID0+IHNldElzQ29kZUJ5dGVDb3BpZWQoZmFsc2UpfVxuICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiY29weS1jb2RlYnl0ZS1idG5cIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPENvcHlJY29uU3R5bGVkIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIC8+IENvcHkgQ29kZWJ5dGVcbiAgICAgICAgICAgICAgPC9UZXh0QnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtpc0NvZGVCeXRlQ29waWVkID8gKFxuICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRlc3RpZD1cImNvcHktY29uZmlybWF0aW9uLXRvb2x0aXBcIiByb2xlPVwiYWxlcnRcIj5cbiAgICAgICAgICAgICAgICBDb3BpZWQhXG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxzcGFuIGRhdGEtdGVzdGlkPVwiY29weS1wcm9tcHQtdG9vbHRpcFwiPlxuICAgICAgICAgICAgICAgIENvcHkgdG8geW91ciBjbGlwYm9hcmRcbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1Rvb2xUaXA+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgICA8RmlsbEJ1dHRvbiBvbkNsaWNrPXtoYW5kbGVTdWJtaXR9PlxuICAgICAgICAgIHtzdGF0dXMgPT09ICd3YWl0aW5nJyA/IDxTcGlubmVyIC8+IDogJ1J1bid9XG4gICAgICAgIDwvRmlsbEJ1dHRvbj5cbiAgICAgIDwvRmxleEJveD5cbiAgICA8Lz5cbiAgKTtcbn07XG4iXX0= */",
49
49
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
50
50
  });
51
51
 
@@ -55,7 +55,7 @@ export var Editor = function Editor(_ref2) {
55
55
  text = _ref2.text,
56
56
  hideCopyButton = _ref2.hideCopyButton,
57
57
  onChange = _ref2.onChange,
58
- onCopy = _ref2.onCopy,
58
+ copyFormatter = _ref2.copyFormatter,
59
59
  snippetsBaseUrl = _ref2.snippetsBaseUrl,
60
60
  trackingData = _ref2.trackingData;
61
61
 
@@ -76,12 +76,14 @@ export var Editor = function Editor(_ref2) {
76
76
 
77
77
  var onCopyClick = function onCopyClick() {
78
78
  if (!isCodeByteCopied) {
79
- navigator.clipboard.writeText(text) // eslint-disable-next-line no-console
79
+ navigator.clipboard.writeText(copyFormatter ? copyFormatter({
80
+ text: text,
81
+ language: language
82
+ }) : text) // eslint-disable-next-line no-console
80
83
  ["catch"](function () {
81
84
  return console.error('Failed to copy');
82
85
  });
83
86
  setIsCodeByteCopied(true);
84
- onCopy === null || onCopy === void 0 ? void 0 : onCopy(text, language);
85
87
  trackClick('copy', trackingData);
86
88
  }
87
89
  };
package/dist/types.d.ts CHANGED
@@ -4,11 +4,16 @@ import { LanguageOption } from './consts';
4
4
  export interface CodebytesChangeHandler {
5
5
  (text: string, language: LanguageOption): void;
6
6
  }
7
- export interface CodeByteEditorProps extends Omit<BackgroundProps, 'onCopy' | 'bg'> {
7
+ export interface CodebytesCopyFormatterParams {
8
+ text: string;
9
+ language: LanguageOption;
10
+ }
11
+ export declare type CodebytesCopyFormatter = ({ text, language, }: CodebytesCopyFormatterParams) => string;
12
+ export interface CodeByteEditorProps extends Omit<BackgroundProps, 'bg'> {
8
13
  text?: string;
9
14
  language?: LanguageOption;
10
15
  hideCopyButton?: boolean;
11
- onCopy?: CodebytesChangeHandler;
16
+ copyFormatter?: CodebytesCopyFormatter;
12
17
  snippetsBaseUrl?: string;
13
18
  onEdit?: CodebytesChangeHandler;
14
19
  onLanguageChange?: CodebytesChangeHandler;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@codecademy/codebytes",
3
3
  "description": "Codebytes Code Editor",
4
- "version": "0.6.16",
4
+ "version": "0.7.1-alpha.5bf38e.0",
5
5
  "author": "Codecademy Engineering <dev@codecademy.com>",
6
6
  "sideEffects": [
7
7
  "**/*.css",
@@ -47,7 +47,7 @@
47
47
  "@codecademy/gamut-icons": "*",
48
48
  "@codecademy/gamut-styles": "*",
49
49
  "@codecademy/gamut-tests": "*",
50
- "@codecademy/tracking": "^0.22.0",
50
+ "@codecademy/tracking": "0.22.1-alpha.5bf38e.0",
51
51
  "@codecademy/variance": "*",
52
52
  "@emotion/jest": "^11.3.0",
53
53
  "@testing-library/dom": "^7.31.2",
@@ -64,5 +64,5 @@
64
64
  "files": [
65
65
  "dist/**"
66
66
  ],
67
- "gitHead": "c44007ecb70e44c1b01a7aaf9bd56cf9c0f3b34d"
67
+ "gitHead": "838af0a96b26aa6740d185f0a7e3cd1cb8475344"
68
68
  }