systemview 1.1.2 → 1.2.2

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.
Files changed (254) hide show
  1. package/api/connections.txt +1 -1
  2. package/package.json +3 -3
  3. package/server.js +19 -0
  4. package/babel.config.js +0 -12
  5. package/src/App.css +0 -38
  6. package/src/App.js +0 -30
  7. package/src/ServiceContext.js +0 -9
  8. package/src/assets/arrow.png +0 -0
  9. package/src/assets/check.svg +0 -1
  10. package/src/assets/clear.png +0 -0
  11. package/src/assets/edit.png +0 -0
  12. package/src/assets/error.svg +0 -1
  13. package/src/assets/eval-icon.svg +0 -10
  14. package/src/assets/expand-arrow.svg +0 -41
  15. package/src/assets/expand-button.svg +0 -41
  16. package/src/assets/fonts/FontsFree-Net-SFMono-Regular.ttf +0 -0
  17. package/src/assets/fonts/Malkor-Regular.ttf +0 -0
  18. package/src/assets/iconfinder-icon (1).svg +0 -14
  19. package/src/assets/iconfinder-icon.svg +0 -14
  20. package/src/assets/icons-save-60.png +0 -0
  21. package/src/assets/loading.gif +0 -0
  22. package/src/assets/missing-doc.png +0 -0
  23. package/src/assets/saved-doc.png +0 -0
  24. package/src/assets/sysly.png +0 -0
  25. package/src/assets/test-icon.svg +0 -10
  26. package/src/assets/test-missing.png +0 -0
  27. package/src/assets/test-saved.png +0 -0
  28. package/src/assets/x.svg +0 -1
  29. package/src/atoms/Button/Button.js +0 -20
  30. package/src/atoms/Button/Button.test.js +0 -27
  31. package/src/atoms/Button/__snapshots__/Button.test.js.snap +0 -9
  32. package/src/atoms/Button/styles.scss +0 -35
  33. package/src/atoms/Count/index.js +0 -10
  34. package/src/atoms/Count/styles.scss +0 -25
  35. package/src/atoms/DataTable/DataTable.js +0 -27
  36. package/src/atoms/DataTable/DataTable.test.js +0 -55
  37. package/src/atoms/DataTable/__snapshots__/DataTable.test.js.snap +0 -36
  38. package/src/atoms/DataTable/styles.scss +0 -28
  39. package/src/atoms/DescriptionBox/DescriptionBox.js +0 -24
  40. package/src/atoms/DescriptionBox/DescriptionBox.test.js +0 -36
  41. package/src/atoms/DescriptionBox/__snapshots__/DescriptionBox.test.js.snap +0 -14
  42. package/src/atoms/DescriptionBox/styles.scss +0 -24
  43. package/src/atoms/DescriptionText/DescriptionText.js +0 -12
  44. package/src/atoms/DescriptionText/DescriptionText.test.js +0 -22
  45. package/src/atoms/DescriptionText/styles.scss +0 -10
  46. package/src/atoms/DocsIcon/DocsIcon.js +0 -20
  47. package/src/atoms/DocsIcon/DocsIcon.test.js +0 -23
  48. package/src/atoms/DocsIcon/styles.scss +0 -7
  49. package/src/atoms/ExpandableIcon/ExpandableIcon.js +0 -30
  50. package/src/atoms/ExpandableIcon/ExpandableIcon.test.js +0 -18
  51. package/src/atoms/ExpandableIcon/styles.scss +0 -5
  52. package/src/atoms/JsonTextBox/JsonTextBox.js +0 -61
  53. package/src/atoms/JsonTextBox/JsonTextBox.test.js +0 -0
  54. package/src/atoms/JsonTextBox/styles.scss +0 -41
  55. package/src/atoms/Link/Link.js +0 -17
  56. package/src/atoms/Link/Link.test.js +0 -33
  57. package/src/atoms/Link/styles.scss +0 -8
  58. package/src/atoms/List/List.js +0 -8
  59. package/src/atoms/List/List.test.js +0 -26
  60. package/src/atoms/List/styles.scss +0 -9
  61. package/src/atoms/Markdown/Markdown.js +0 -48
  62. package/src/atoms/Markdown/styles.scss +0 -414
  63. package/src/atoms/RunTestIcon/index.js +0 -41
  64. package/src/atoms/RunTestIcon/styles.scss +0 -16
  65. package/src/atoms/SaveIcon/SaveIcon.js +0 -6
  66. package/src/atoms/SaveIcon/styles.scss +0 -3
  67. package/src/atoms/Selector/Selector.js +0 -28
  68. package/src/atoms/Selector/Selector.test.js +0 -0
  69. package/src/atoms/Selector/styles.scss +0 -1
  70. package/src/atoms/StatusIndicator/StatusIndicator.js +0 -16
  71. package/src/atoms/StatusIndicator/styles.scss +0 -33
  72. package/src/atoms/TestsIcon/TestsIcon.js +0 -17
  73. package/src/atoms/TestsIcon/TestsIcon.test.js +0 -18
  74. package/src/atoms/TestsIcon/styles.scss +0 -0
  75. package/src/atoms/Text/Text.js +0 -8
  76. package/src/atoms/Text/Text.test.js +0 -21
  77. package/src/atoms/Text/styles.scss +0 -0
  78. package/src/atoms/Textbox/Textbox.js +0 -33
  79. package/src/atoms/Textbox/Textbox.test.js +0 -23
  80. package/src/atoms/Textbox/styles.scss +0 -14
  81. package/src/atoms/Title/Title.js +0 -12
  82. package/src/atoms/Title/Title.test.js +0 -0
  83. package/src/atoms/Title/styles.scss +0 -6
  84. package/src/atoms/Toggle/Toggle.js +0 -13
  85. package/src/atoms/Toggle/Toggle.test.js +0 -0
  86. package/src/atoms/Toggle/styles.scss +0 -62
  87. package/src/atoms/TypeSelector/TypeSelector.js +0 -28
  88. package/src/atoms/TypeSelector/TypeSelector.test.js +0 -0
  89. package/src/atoms/TypeSelector/styles.scss +0 -9
  90. package/src/index.css +0 -20
  91. package/src/index.js +0 -24
  92. package/src/logo.svg +0 -7
  93. package/src/molecules/Args/Args.js +0 -302
  94. package/src/molecules/Args/Args.test.js +0 -0
  95. package/src/molecules/Args/styles.scss +0 -166
  96. package/src/molecules/AutoCompleteBox/AutoCompleteBox.js +0 -101
  97. package/src/molecules/AutoCompleteBox/AutoCompleteBox.test.js +0 -0
  98. package/src/molecules/AutoCompleteBox/styles.scss +0 -35
  99. package/src/molecules/DataTableForm/DataTableForm.js +0 -167
  100. package/src/molecules/DataTableForm/DataTableForm.test.js +0 -0
  101. package/src/molecules/DataTableForm/styles.scss +0 -51
  102. package/src/molecules/EditBox/EditBox.js +0 -49
  103. package/src/molecules/EditBox/EditBox.test.js +0 -0
  104. package/src/molecules/EditBox/styles.scss +0 -38
  105. package/src/molecules/ExpandableList/ExpandableList.js +0 -26
  106. package/src/molecules/ExpandableList/ExpandableList.test.js +0 -33
  107. package/src/molecules/ExpandableList/styles.scss +0 -18
  108. package/src/molecules/ExpandableSection/ExpandableSection.js +0 -36
  109. package/src/molecules/ExpandableSection/ExpandableSection.test.js +0 -0
  110. package/src/molecules/ExpandableSection/styles.scss +0 -22
  111. package/src/molecules/ServerModulesList/ServerModulesList.js +0 -75
  112. package/src/molecules/ServerModulesList/styles.scss +0 -28
  113. package/src/molecules/TargetSelector/TargetSelector.js +0 -34
  114. package/src/molecules/TargetSelector/TargetSelector.test.js +0 -0
  115. package/src/molecules/TargetSelector/styles.scss +0 -0
  116. package/src/molecules/TestCaption/TestCaption.js +0 -26
  117. package/src/molecules/TestCaption/TestCaption.test.js +0 -0
  118. package/src/molecules/TestCaption/styles.scss +0 -40
  119. package/src/molecules/TestSummary/index.js +0 -212
  120. package/src/molecules/TestSummary/styles.scss +0 -83
  121. package/src/molecules/TextWith2Links/TextWith2Links.js +0 -10
  122. package/src/molecules/TextWith2Links/styles.scss +0 -0
  123. package/src/molecules/ValidationInput/ValidationInput.js +0 -64
  124. package/src/molecules/ValidationInput/ValidationInput.test.js +0 -0
  125. package/src/molecules/ValidationInput/ValidationMessages.js +0 -178
  126. package/src/molecules/ValidationInput/ValidationOptions.js +0 -113
  127. package/src/molecules/ValidationInput/styles.scss +0 -74
  128. package/src/molecules/ValidationInput/validator.js +0 -244
  129. package/src/organisms/Documentation/Documentation.js +0 -128
  130. package/src/organisms/Documentation/Documentation.test.js +0 -0
  131. package/src/organisms/Documentation/styles.scss +0 -22
  132. package/src/organisms/MultiTestSection/MultiTestSection.js +0 -85
  133. package/src/organisms/MultiTestSection/MultiTestSection.test.js +0 -0
  134. package/src/organisms/MultiTestSection/styles.scss +0 -22
  135. package/src/organisms/SavedTests/SavedTests.js +0 -209
  136. package/src/organisms/SavedTests/SavedTests.test.js +0 -0
  137. package/src/organisms/SavedTests/styles.scss +0 -76
  138. package/src/organisms/SavedTests/transformTests.js +0 -51
  139. package/src/organisms/ScratchPad/ScratchPad.js +0 -128
  140. package/src/organisms/ScratchPad/ScratchPad.test.js +0 -0
  141. package/src/organisms/ScratchPad/styles.scss +0 -100
  142. package/src/organisms/SystemNavigator/SystemNavigator.js +0 -148
  143. package/src/organisms/SystemNavigator/SystemNavigator.test.js +0 -24
  144. package/src/organisms/SystemNavigator/styles.scss +0 -38
  145. package/src/organisms/TestContainer/TestContainer.js +0 -72
  146. package/src/organisms/TestContainer/TestContainer.test.js +0 -0
  147. package/src/organisms/TestContainer/styles.scss +0 -20
  148. package/src/organisms/TestPanel/AfterTest/AfterTest.js +0 -16
  149. package/src/organisms/TestPanel/AfterTest/AfterTest.test.js +0 -0
  150. package/src/organisms/TestPanel/AfterTest/styles.scss +0 -0
  151. package/src/organisms/TestPanel/BeforeTest/BeforeTest.js +0 -16
  152. package/src/organisms/TestPanel/BeforeTest/BeforeTest.test.js +0 -0
  153. package/src/organisms/TestPanel/BeforeTest/styles.scss +0 -0
  154. package/src/organisms/TestPanel/Evaluations.js +0 -369
  155. package/src/organisms/TestPanel/EventsTest/EventsTest.js +0 -19
  156. package/src/organisms/TestPanel/EventsTest/styles.scss +0 -0
  157. package/src/organisms/TestPanel/MainTest/MainTest.js +0 -20
  158. package/src/organisms/TestPanel/MainTest/MainTest.test.js +0 -0
  159. package/src/organisms/TestPanel/MainTest/styles.scss +0 -143
  160. package/src/organisms/TestPanel/TestPanel.js +0 -170
  161. package/src/organisms/TestPanel/TestPanel.test.js +0 -0
  162. package/src/organisms/TestPanel/components/Argument.class.js +0 -94
  163. package/src/organisms/TestPanel/components/FullTestController.js +0 -78
  164. package/src/organisms/TestPanel/components/Test.class.js +0 -162
  165. package/src/organisms/TestPanel/components/TestController.class.js +0 -135
  166. package/src/organisms/TestPanel/components/test-helpers.js +0 -109
  167. package/src/organisms/TestPanel/styles.scss +0 -45
  168. package/src/pages/SystemView/SystemView.js +0 -68
  169. package/src/pages/SystemView/styles.scss +0 -81
  170. package/src/reportWebVitals.js +0 -13
  171. package/src/sass/bootstrap/_alert.scss +0 -51
  172. package/src/sass/bootstrap/_badge.scss +0 -47
  173. package/src/sass/bootstrap/_breadcrumb.scss +0 -38
  174. package/src/sass/bootstrap/_button-group.scss +0 -166
  175. package/src/sass/bootstrap/_buttons.scss +0 -143
  176. package/src/sass/bootstrap/_card.scss +0 -270
  177. package/src/sass/bootstrap/_carousel.scss +0 -191
  178. package/src/sass/bootstrap/_close.scss +0 -34
  179. package/src/sass/bootstrap/_code.scss +0 -56
  180. package/src/sass/bootstrap/_custom-forms.scss +0 -297
  181. package/src/sass/bootstrap/_dropdown.scss +0 -131
  182. package/src/sass/bootstrap/_forms.scss +0 -333
  183. package/src/sass/bootstrap/_functions.scss +0 -86
  184. package/src/sass/bootstrap/_grid.scss +0 -52
  185. package/src/sass/bootstrap/_images.scss +0 -42
  186. package/src/sass/bootstrap/_input-group.scss +0 -159
  187. package/src/sass/bootstrap/_jumbotron.scss +0 -16
  188. package/src/sass/bootstrap/_list-group.scss +0 -115
  189. package/src/sass/bootstrap/_media.scss +0 -8
  190. package/src/sass/bootstrap/_mixins.scss +0 -42
  191. package/src/sass/bootstrap/_modal.scss +0 -168
  192. package/src/sass/bootstrap/_nav.scss +0 -118
  193. package/src/sass/bootstrap/_navbar.scss +0 -311
  194. package/src/sass/bootstrap/_pagination.scss +0 -77
  195. package/src/sass/bootstrap/_popover.scss +0 -183
  196. package/src/sass/bootstrap/_print.scss +0 -124
  197. package/src/sass/bootstrap/_progress.scss +0 -33
  198. package/src/sass/bootstrap/_reboot.scss +0 -482
  199. package/src/sass/bootstrap/_root.scss +0 -19
  200. package/src/sass/bootstrap/_tables.scss +0 -180
  201. package/src/sass/bootstrap/_tooltip.scss +0 -115
  202. package/src/sass/bootstrap/_transitions.scss +0 -36
  203. package/src/sass/bootstrap/_type.scss +0 -125
  204. package/src/sass/bootstrap/_utilities.scss +0 -14
  205. package/src/sass/bootstrap/_variables.scss +0 -894
  206. package/src/sass/bootstrap/bootstrap-grid.scss +0 -32
  207. package/src/sass/bootstrap/bootstrap-reboot.scss +0 -12
  208. package/src/sass/bootstrap/bootstrap.scss +0 -42
  209. package/src/sass/bootstrap/mixins/_alert.scss +0 -13
  210. package/src/sass/bootstrap/mixins/_background-variant.scss +0 -21
  211. package/src/sass/bootstrap/mixins/_badge.scss +0 -12
  212. package/src/sass/bootstrap/mixins/_border-radius.scss +0 -35
  213. package/src/sass/bootstrap/mixins/_box-shadow.scss +0 -5
  214. package/src/sass/bootstrap/mixins/_breakpoints.scss +0 -123
  215. package/src/sass/bootstrap/mixins/_buttons.scss +0 -109
  216. package/src/sass/bootstrap/mixins/_caret.scss +0 -65
  217. package/src/sass/bootstrap/mixins/_clearfix.scss +0 -7
  218. package/src/sass/bootstrap/mixins/_float.scss +0 -11
  219. package/src/sass/bootstrap/mixins/_forms.scss +0 -137
  220. package/src/sass/bootstrap/mixins/_gradients.scss +0 -45
  221. package/src/sass/bootstrap/mixins/_grid-framework.scss +0 -67
  222. package/src/sass/bootstrap/mixins/_grid.scss +0 -52
  223. package/src/sass/bootstrap/mixins/_hover.scss +0 -39
  224. package/src/sass/bootstrap/mixins/_image.scss +0 -36
  225. package/src/sass/bootstrap/mixins/_list-group.scss +0 -21
  226. package/src/sass/bootstrap/mixins/_lists.scss +0 -7
  227. package/src/sass/bootstrap/mixins/_nav-divider.scss +0 -10
  228. package/src/sass/bootstrap/mixins/_navbar-align.scss +0 -10
  229. package/src/sass/bootstrap/mixins/_pagination.scss +0 -22
  230. package/src/sass/bootstrap/mixins/_reset-text.scss +0 -17
  231. package/src/sass/bootstrap/mixins/_resize.scss +0 -6
  232. package/src/sass/bootstrap/mixins/_screen-reader.scss +0 -35
  233. package/src/sass/bootstrap/mixins/_size.scss +0 -6
  234. package/src/sass/bootstrap/mixins/_table-row.scss +0 -30
  235. package/src/sass/bootstrap/mixins/_text-emphasis.scss +0 -14
  236. package/src/sass/bootstrap/mixins/_text-hide.scss +0 -9
  237. package/src/sass/bootstrap/mixins/_text-truncate.scss +0 -8
  238. package/src/sass/bootstrap/mixins/_transition.scss +0 -9
  239. package/src/sass/bootstrap/mixins/_visibility.scss +0 -7
  240. package/src/sass/bootstrap/utilities/_align.scss +0 -8
  241. package/src/sass/bootstrap/utilities/_background.scss +0 -19
  242. package/src/sass/bootstrap/utilities/_borders.scss +0 -59
  243. package/src/sass/bootstrap/utilities/_clearfix.scss +0 -3
  244. package/src/sass/bootstrap/utilities/_display.scss +0 -38
  245. package/src/sass/bootstrap/utilities/_embed.scss +0 -52
  246. package/src/sass/bootstrap/utilities/_flex.scss +0 -46
  247. package/src/sass/bootstrap/utilities/_float.scss +0 -9
  248. package/src/sass/bootstrap/utilities/_position.scss +0 -36
  249. package/src/sass/bootstrap/utilities/_screenreaders.scss +0 -11
  250. package/src/sass/bootstrap/utilities/_sizing.scss +0 -12
  251. package/src/sass/bootstrap/utilities/_spacing.scss +0 -51
  252. package/src/sass/bootstrap/utilities/_text.scss +0 -52
  253. package/src/sass/bootstrap/utilities/_visibility.scss +0 -11
  254. package/src/setupTests.js +0 -5
@@ -1,55 +0,0 @@
1
- /* eslint-disable jest/valid-expect */
2
- import React from "react";
3
- import ReactDom from "react-dom";
4
- import { render, cleanup } from "@testing-library/react";
5
- import "@testing-library/jest-dom/extend-expect";
6
- import renderer from "react-test-renderer";
7
- import DataTable from "./DataTable";
8
-
9
- afterEach(cleanup);
10
-
11
- describe("<DataTable/>", () => {
12
- it("renders without crashing", () => {
13
- const div = document.createElement("div");
14
- ReactDom.render(<DataTable />, div);
15
- });
16
-
17
- it("renders an table element with text and class button", () => {
18
- const { getByRole } = render(<DataTable />);
19
- expect(getByRole("table")).toHaveClass("data-table");
20
- });
21
-
22
- it("renders content correctly", () => {
23
- const headers = [{ name: "column 1" }, { name: "column 2" }];
24
- const data = [
25
- ["r1c1", "r1c2"],
26
- ["r2c1", "r2c2"],
27
- ];
28
- const { getByRole, getAllByRole } = render(
29
- <DataTable tableClassName={"test"} headers={headers} table={data} />
30
- );
31
-
32
- expect(getByRole("table")).toHaveClass("data-table");
33
- expect(getByRole("table")).toHaveClass("test");
34
- expect(getAllByRole("columnheader")).toHaveLength(headers.length);
35
- expect(getAllByRole("columnheader")[0]).toHaveTextContent(headers[0].name);
36
- expect(getAllByRole("columnheader")[1]).toHaveTextContent(headers[1].name);
37
- expect(getAllByRole("cell")).toHaveLength(data.length * headers.length);
38
- expect(getAllByRole("cell")[0]).toHaveTextContent(data[0][0]);
39
- expect(getAllByRole("cell")[1]).toHaveTextContent(data[0][1]);
40
- expect(getAllByRole("cell")[2]).toHaveTextContent(data[1][0]);
41
- expect(getAllByRole("cell")[3]).toHaveTextContent(data[1][1]);
42
- });
43
-
44
- it("should match snapshot", () => {
45
- const headers = [{ name: "column 1" }, { name: "column 2" }];
46
- const data = [
47
- ["r1c1", "r1c2"],
48
- ["r2c1", "r2c2"],
49
- ];
50
- const tree = renderer
51
- .create(<DataTable tableClassName={"test"} headers={headers} table={data} />)
52
- .toJSON();
53
- expect(tree).toMatchSnapshot();
54
- });
55
- });
@@ -1,36 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`<DataTable/> should match snapshot 1`] = `
4
- <table
5
- className="data-table test"
6
- >
7
- <thead>
8
- <tr>
9
- <th>
10
- column 1
11
- </th>
12
- <th>
13
- column 2
14
- </th>
15
- </tr>
16
- </thead>
17
- <tbody>
18
- <tr>
19
- <td>
20
- r1c1
21
- </td>
22
- <td>
23
- r1c2
24
- </td>
25
- </tr>
26
- <tr>
27
- <td>
28
- r2c1
29
- </td>
30
- <td>
31
- r2c2
32
- </td>
33
- </tr>
34
- </tbody>
35
- </table>
36
- `;
@@ -1,28 +0,0 @@
1
- .data-table {
2
- width: 100%;
3
- margin: 5px 0;
4
- background-color: #ffffff;
5
- border-collapse: collapse;
6
- color: #000000;
7
- & td,
8
- & th {
9
- border-width: 1px;
10
- border-color: #bfbfbe;
11
- border-style: solid;
12
- padding: 5px;
13
- font-weight: 300;
14
- }
15
- & th {
16
- font-weight: bold;
17
- font-size: 15px;
18
- color: #41937a;
19
- padding: 6px;
20
- }
21
- & td {
22
- font-family: monospace;
23
- font-size: 14px;
24
- }
25
- & thead {
26
- background-color: #dadada;
27
- }
28
- }
@@ -1,24 +0,0 @@
1
- import React from "react";
2
- import "./styles.scss";
3
-
4
- const DescriptionBox = ({ text, setValue }) => {
5
- return (
6
- <div className="description-box">
7
- <textarea
8
- className="description-box__textbox"
9
- name="description-box"
10
- id="description-box"
11
- value={text}
12
- onChange={
13
- setValue
14
- ? (e) => {
15
- setValue(e.target.value);
16
- }
17
- : null
18
- }
19
- ></textarea>
20
- </div>
21
- );
22
- };
23
-
24
- export default DescriptionBox;
@@ -1,36 +0,0 @@
1
- /* eslint-disable jest/valid-expect */
2
- import React from "react";
3
- import ReactDom from "react-dom";
4
- import { render, cleanup, screen } from "@testing-library/react";
5
- import userEvent from "@testing-library/user-event";
6
- import "@testing-library/jest-dom/extend-expect";
7
- import renderer from "react-test-renderer";
8
- import DescriptionBox from "./DescriptionBox";
9
-
10
- afterEach(cleanup);
11
-
12
- describe("<DescriptionBox/>", () => {
13
- it("renders without crashing", () => {
14
- const div = document.createElement("div");
15
- ReactDom.render(<DescriptionBox />, div);
16
- });
17
-
18
- it("apply text using the text prop", () => {
19
- const { getByRole } = render(<DescriptionBox text={"test"} />);
20
- expect(getByRole("textbox")).toHaveTextContent("test");
21
- });
22
-
23
- it("take text from user input", () => {
24
- render(<DescriptionBox />);
25
-
26
- screen.getByRole("textbox");
27
- userEvent.type(screen.getByRole("textbox"), "user input");
28
-
29
- expect(screen.getByRole("textbox")).toHaveValue("user input");
30
- });
31
-
32
- it("should match snapshot", () => {
33
- const tree = renderer.create(<DescriptionBox />).toJSON();
34
- expect(tree).toMatchSnapshot();
35
- });
36
- });
@@ -1,14 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`<DescriptionBox/> should match snapshot 1`] = `
4
- <div
5
- className="description-box"
6
- >
7
- <textarea
8
- className="description-box__textbox"
9
- id="description-box"
10
- name="description-box"
11
- onChange={null}
12
- />
13
- </div>
14
- `;
@@ -1,24 +0,0 @@
1
- .description-box {
2
- width: 100%;
3
-
4
- &__textbox {
5
- min-width: 100%;
6
- max-width: 100%;
7
- min-height: 70vh;
8
- background: white;
9
- color: black;
10
- font-size: 13px;
11
- padding: 38px;
12
- border-radius: 2px;
13
- border: none;
14
- outline: none;
15
- resize: none;
16
- // font-family: "SF Mono", "Ubuntu Mono", monospace;
17
- font-size: 15px;
18
- font-weight: 500;
19
-
20
- // background: #3d8470;
21
- // color: white;
22
- border-bottom: 1px solid #07625a;
23
- }
24
- }
@@ -1,12 +0,0 @@
1
- import React from "react";
2
- import "./styles.scss";
3
-
4
- const DescriptionBox = ({ text }) => {
5
- return (
6
- <div className="description-text">
7
- <p className="description-text__text">{text}</p>
8
- </div>
9
- );
10
- };
11
-
12
- export default DescriptionBox;
@@ -1,22 +0,0 @@
1
- /* eslint-disable jest/valid-expect */
2
- import React from "react";
3
- import { expect } from "chai";
4
- import { shallow, render } from "enzyme";
5
- import Enzyme from "enzyme";
6
- import Adapter from "enzyme-adapter-react-16";
7
- import DescriptionText from "./DescriptionText";
8
-
9
- Enzyme.configure({ adapter: new Adapter() });
10
-
11
- describe("<DescriptionText/>", () => {
12
- it("renders a p tag wrapped in a dive with class name description-text__text", () => {
13
- const wrapper = shallow(<DescriptionText />);
14
- expect(wrapper.find("div.description-text")).to.have.a.lengthOf(1);
15
- expect(wrapper.find("p.description-text__text")).to.have.a.lengthOf(1);
16
- });
17
-
18
- it("use the tableClassName prop to add additional class name to table", () => {
19
- const wrapper = shallow(<DescriptionText text={"test"} />);
20
- expect(wrapper.find("p.description-text__text")).to.have.a.lengthOf(1);
21
- });
22
- });
@@ -1,10 +0,0 @@
1
- .description-text {
2
- &__text {
3
- text-align: left;
4
- color: white;
5
- background: #3f495d;
6
- padding: 12px;
7
- margin: 6px 0px;
8
- border-radius: 8px;
9
- }
10
- }
@@ -1,20 +0,0 @@
1
- import React from "react";
2
- import "./styles.scss";
3
- import savedDocImg from "../../assets/saved-doc.png";
4
- import missingDocImg from "../../assets/missing-doc.png";
5
-
6
- const DocIcon = ({ isSaved }) => {
7
- return (
8
- <>
9
- <div className={`doc-icon`}>
10
- <img
11
- className={`doc-icon__img`}
12
- src={isSaved ? savedDocImg : missingDocImg}
13
- alt={isSaved ? "Saved Doc" : "Missing Doc"}
14
- />
15
- </div>
16
- </>
17
- );
18
- };
19
-
20
- export default DocIcon;
@@ -1,23 +0,0 @@
1
- /* eslint-disable jest/valid-expect */
2
- import React from "react";
3
- import ReactDom from "react-dom";
4
- import { render, cleanup, screen } from "@testing-library/react";
5
- import "@testing-library/jest-dom/extend-expect";
6
- import DocsIcon from "./DocsIcon";
7
-
8
- const SAVED_DOC_ICON = "saved-doc.png";
9
-
10
- afterEach(cleanup);
11
- jest.mock("../../assets/saved-doc.png", () => SAVED_DOC_ICON);
12
-
13
- describe("<DocsIcon/>", () => {
14
- it("renders without crashing", () => {
15
- const div = document.createElement("div");
16
- ReactDom.render(<DocsIcon />, div);
17
- });
18
-
19
- it("renders saved-doc image if isSaved prop is true", () => {
20
- const { getByRole } = render(<DocsIcon isSaved={true} />);
21
- expect(getByRole("img")).toHaveAttribute("src", SAVED_DOC_ICON);
22
- });
23
- });
@@ -1,7 +0,0 @@
1
- .doc-icon {
2
- display: inline-flex;
3
- vertical-align: middle;
4
- img {
5
- width: 20px;
6
- }
7
- }
@@ -1,30 +0,0 @@
1
- import React from "react";
2
- import "./styles.scss";
3
-
4
- const ExpandIcon = ({
5
- isOpen,
6
- className = "",
7
- onClick,
8
- color = "black",
9
- size: fontSize,
10
- }) => {
11
- return isOpen ? (
12
- <span
13
- style={{ color, fontSize }}
14
- onClick={onClick}
15
- className={`expandable-icon ${className}`}
16
- >
17
- &#9660;
18
- </span>
19
- ) : (
20
- <span
21
- style={{ color, fontSize }}
22
- onClick={onClick}
23
- className={`expandable-icon ${className}`}
24
- >
25
- &#x25BA;
26
- </span>
27
- );
28
- };
29
-
30
- export default ExpandIcon;
@@ -1,18 +0,0 @@
1
- /* eslint-disable jest/valid-expect */
2
- import React from "react";
3
-
4
- import { expect } from "chai";
5
- import { shallow } from "enzyme";
6
-
7
- import ExpandableIcon from "./ExpandableIcon";
8
-
9
- import Enzyme from "enzyme";
10
- import Adapter from "enzyme-adapter-react-16";
11
- Enzyme.configure({ adapter: new Adapter() });
12
-
13
- describe("<ExpandableIcon/>", () => {
14
- it("renders element with class expandable-list", () => {
15
- const wrapper = shallow(<ExpandableIcon />);
16
- expect(wrapper.find(".expandable-icon")).to.have.a.lengthOf(1);
17
- });
18
- });
@@ -1,5 +0,0 @@
1
- .expandable-icon {
2
- font-size: 11px;
3
- font-family: sans-serif;
4
- cursor: pointer;
5
- }
@@ -1,61 +0,0 @@
1
- import React, { useState, useEffect } from "react";
2
- import "./styles.scss";
3
-
4
- const JsonTextBox = ({ obj, onSubmit, onCancel }) => {
5
- const [prettyJson, setPrettyJson] = useState(JSON.stringify(obj, undefined, 2));
6
- const [isJson, setIsJson] = useState(true);
7
- const [json, setJson] = useState(obj);
8
-
9
- const checkJsonString = (e) => {
10
- const str = e.target.value;
11
- setPrettyJson(str);
12
- try {
13
- JSON.parse(str);
14
- } catch (e) {
15
- setIsJson(false);
16
- return false;
17
- }
18
- setIsJson(true);
19
- setJson(JSON.parse(str));
20
- return true;
21
- };
22
- const submit = () => {
23
- if (isJson && typeof onSubmit === "function") onSubmit(json);
24
- };
25
- const cancel = () => {
26
- setIsJson(false);
27
- setJson(obj);
28
- setPrettyJson(JSON.stringify(obj, undefined, 2));
29
- if (typeof onCancel === "function") onCancel();
30
- };
31
- useEffect(() => {
32
- setPrettyJson(JSON.stringify(obj, undefined, 2));
33
- setIsJson(!!obj);
34
- setJson(obj);
35
- }, [obj]);
36
- return (
37
- <div className="json-text-box">
38
- <div className="json-text-box__background-overlay"></div>
39
- <textarea
40
- className={`json-text-box__textbox json-text-box__textbox--is-json-${isJson}`}
41
- name="json-text-box"
42
- id="json-text-box"
43
- value={prettyJson}
44
- onChange={checkJsonString}
45
- ></textarea>
46
- <div className="json-text-box__btn-container">
47
- <span
48
- onClick={submit}
49
- className={`json-text-box__btn json-text-box__btn--is-json-${isJson}`}
50
- >
51
- {isJson ? "save" : "json"}
52
- </span>
53
- <span onClick={cancel} className={`json-text-box__btn json-text-box__btn--cancel`}>
54
- x
55
- </span>
56
- </div>
57
- </div>
58
- );
59
- };
60
-
61
- export default JsonTextBox;
File without changes
@@ -1,41 +0,0 @@
1
- .json-text-box {
2
- position: relative;
3
- &__textbox {
4
- min-width: 100%;
5
- max-width: 100%;
6
- min-height: 100px;
7
- border: 1px solid #8ea8eb;
8
- margin-top: 6px;
9
- }
10
-
11
- &__btn-container {
12
- position: absolute;
13
- right: 1px;
14
- top: 9px;
15
- }
16
- &__btn {
17
- padding: 2px 6px;
18
- border-radius: 1px;
19
- cursor: pointer;
20
- margin-left: 4px;
21
- font-family: system-ui;
22
- font-weight: 500;
23
- &:active {
24
- position: relative;
25
- top: 1px;
26
- }
27
- &--is-json-true {
28
- background: #25d0a8;
29
- color: white;
30
- }
31
- &--is-json-false {
32
- background: #cfc2c2;
33
- color: #8c3c3c;
34
- text-decoration: line-through;
35
- }
36
- &--cancel {
37
- background: #ff6b6b;
38
- color: white;
39
- }
40
- }
41
- }
@@ -1,17 +0,0 @@
1
- import React from "react";
2
- import "./styles.scss";
3
- import { Link } from "react-router-dom";
4
-
5
- const myLink = ({ link, add_class, text, linkClick }) => {
6
- const click = (e) => {
7
- e.stopPropagation();
8
- if (typeof linkClick === "function") linkClick();
9
- };
10
- return (
11
- <Link className="link" to={link}>
12
- {text}
13
- </Link>
14
- );
15
- };
16
-
17
- export default myLink;
@@ -1,33 +0,0 @@
1
- /* eslint-disable jest/valid-expect */
2
- import React from "react";
3
-
4
- import { expect } from "chai";
5
- import { shallow, render } from "enzyme";
6
-
7
- import Link from "./Link";
8
-
9
- import Enzyme from "enzyme";
10
- import Adapter from "enzyme-adapter-react-16";
11
- Enzyme.configure({ adapter: new Adapter() });
12
-
13
- describe("<Link/>", () => {
14
- it("renders a tag with class link", () => {
15
- const wrapper = shallow(<Link />);
16
- expect(wrapper.find("a.link")).to.have.a.lengthOf(1);
17
- });
18
-
19
- it("renders text with the link when text prop is used", () => {
20
- const wrapper = render(<Link text="test" />);
21
- expect(wrapper.text()).to.equal("test");
22
- });
23
-
24
- it("should additional classname to the container <a> tag when add_class prop", () => {
25
- const wrapper = shallow(<Link add_class="test" />);
26
- expect(expect(wrapper.find("a.link").props().className).to.equal("link test"));
27
- });
28
-
29
- it("should use link prop to add href", () => {
30
- const wrapper = shallow(<Link link="/test" />);
31
- expect(expect(wrapper.find("a.link").props().href).to.equal("/test"));
32
- });
33
- });
@@ -1,8 +0,0 @@
1
- .link {
2
- color: #282d33;
3
- text-decoration: none;
4
- font-size: 16px;
5
- &:hover {
6
- text-decoration: underline;
7
- }
8
- }
@@ -1,8 +0,0 @@
1
- import React from "react";
2
- import "./styles.scss";
3
-
4
- const List = ({ children }) => {
5
- return <div className="list">{children}</div>;
6
- };
7
-
8
- export default List;
@@ -1,26 +0,0 @@
1
- /* eslint-disable jest/valid-expect */
2
- import React from "react";
3
-
4
- import { expect } from "chai";
5
- import { shallow, render } from "enzyme";
6
-
7
- import List from "./List";
8
-
9
- import Enzyme from "enzyme";
10
- import Adapter from "enzyme-adapter-react-16";
11
- Enzyme.configure({ adapter: new Adapter() });
12
-
13
- describe("<List/>", () => {
14
- it("renders a div tag with class list", () => {
15
- const wrapper = shallow(<List />);
16
- expect(wrapper.find("div.list")).to.have.a.lengthOf(1);
17
- });
18
- it("renders a div tag children", () => {
19
- const wrapper = shallow(
20
- <List>
21
- <div className="test"></div>
22
- </List>
23
- );
24
- expect(wrapper.find("div.list > div.test")).to.have.a.lengthOf(1);
25
- });
26
- });
@@ -1,9 +0,0 @@
1
- .list {
2
- text-align: left;
3
- padding: 6px 0px 6px 6px;
4
- text-indent: 29px;
5
- display: flex;
6
- flex-direction: column;
7
- line-height: 20px;
8
- color: #343542;
9
- }
@@ -1,48 +0,0 @@
1
- import React from "react";
2
- import ReactMarkdown from "react-markdown";
3
- import { Prism as SyntaxHighlighter } from "react-syntax-highlighter";
4
- import { dracula } from "react-syntax-highlighter/dist/cjs/styles/prism";
5
- import remarkGfm from "remark-gfm";
6
-
7
- import "./styles.scss";
8
-
9
- const Markdown = ({ children }) => {
10
- return (
11
- <div className="markdown">
12
- <ReactMarkdown
13
- remarkPlugins={[remarkGfm]}
14
- renderers={{ code: CodeBlock }}
15
- components={{
16
- code({ node, inline, className, children, ...props }) {
17
- const match = /language-(\w+)/.exec(className || "");
18
- return !inline && match ? (
19
- <SyntaxHighlighter
20
- children={String(children).replace(/\n$/, "")}
21
- style={dracula}
22
- language={match[1]}
23
- PreTag="div"
24
- {...props}
25
- />
26
- ) : (
27
- <code className={className} {...props}>
28
- {children}
29
- </code>
30
- );
31
- },
32
- }}
33
- >
34
- {children}
35
- </ReactMarkdown>
36
- </div>
37
- );
38
- };
39
-
40
- function CodeBlock({ value, language }) {
41
- return (
42
- <SyntaxHighlighter language={language} style={dracula}>
43
- {value || ""}
44
- </SyntaxHighlighter>
45
- );
46
- }
47
-
48
- export default Markdown;