@webiny/app-sdk-playground 0.0.0-unstable.3c5210ad37 → 0.0.0-unstable.7be00a75a9

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 (56) hide show
  1. package/PermissionsSchema.d.ts +15 -0
  2. package/PermissionsSchema.js +26 -0
  3. package/PermissionsSchema.js.map +1 -0
  4. package/SecurityPermission.d.ts +2 -0
  5. package/SecurityPermission.js +15 -0
  6. package/SecurityPermission.js.map +1 -0
  7. package/index.js +43 -27
  8. package/index.js.map +1 -1
  9. package/package.json +19 -14
  10. package/plugins/Playground.js +31 -43
  11. package/plugins/Playground.js.map +1 -1
  12. package/plugins/components/CodeEditor.js +48 -59
  13. package/plugins/components/CodeEditor.js.map +1 -1
  14. package/plugins/components/OutputLine.js +14 -15
  15. package/plugins/components/OutputLine.js.map +1 -1
  16. package/plugins/components/OutputPanel.js +19 -22
  17. package/plugins/components/OutputPanel.js.map +1 -1
  18. package/plugins/components/PlaygroundToolbar.js +23 -29
  19. package/plugins/components/PlaygroundToolbar.js.map +1 -1
  20. package/plugins/consoleCapture.js +61 -66
  21. package/plugins/consoleCapture.js.map +1 -1
  22. package/plugins/declarations/cms.d.ts +1 -0
  23. package/plugins/declarations/cms.js +180 -0
  24. package/plugins/declarations/cms.js.map +1 -0
  25. package/plugins/declarations/common.d.ts +1 -0
  26. package/plugins/declarations/common.js +38 -0
  27. package/plugins/declarations/common.js.map +1 -0
  28. package/plugins/declarations/fileManager.d.ts +1 -0
  29. package/plugins/declarations/fileManager.js +224 -0
  30. package/plugins/declarations/fileManager.js.map +1 -0
  31. package/plugins/declarations/languages.d.ts +1 -0
  32. package/plugins/declarations/languages.js +22 -0
  33. package/plugins/declarations/languages.js.map +1 -0
  34. package/plugins/declarations/tasks.d.ts +1 -0
  35. package/plugins/declarations/tasks.js +112 -0
  36. package/plugins/declarations/tasks.js.map +1 -0
  37. package/plugins/declarations/tenantManager.d.ts +1 -0
  38. package/plugins/declarations/tenantManager.js +57 -0
  39. package/plugins/declarations/tenantManager.js.map +1 -0
  40. package/plugins/defaultCode.d.ts +1 -1
  41. package/plugins/defaultCode.js +4 -4
  42. package/plugins/defaultCode.js.map +1 -1
  43. package/plugins/sdkGlobalDeclaration.d.ts +1 -1
  44. package/plugins/sdkGlobalDeclaration.js +28 -212
  45. package/plugins/sdkGlobalDeclaration.js.map +1 -1
  46. package/plugins/types.js +2 -2
  47. package/plugins/types.js.map +1 -1
  48. package/plugins/useCodeExecution.d.ts +1 -1
  49. package/plugins/useCodeExecution.js +48 -64
  50. package/plugins/useCodeExecution.js.map +1 -1
  51. package/plugins/useMonacoEditor.js +43 -48
  52. package/plugins/useMonacoEditor.js.map +1 -1
  53. package/plugins/useResizableSplit.js +35 -38
  54. package/plugins/useResizableSplit.js.map +1 -1
  55. package/routes.js +6 -5
  56. package/routes.js.map +1 -1
@@ -0,0 +1,15 @@
1
+ export declare const DEV_TOOLS_PERMISSIONS_SCHEMA: {
2
+ readonly prefix: "dev-tools";
3
+ readonly fullAccess: true;
4
+ readonly entities: [{
5
+ readonly id: "graphql-playground";
6
+ readonly title: "GraphQL Playground";
7
+ readonly permission: "dev-tools.graphql-playground.*";
8
+ readonly scopes: ["full"];
9
+ }, {
10
+ readonly id: "sdk-playground";
11
+ readonly title: "SDK Playground";
12
+ readonly permission: "dev-tools.sdk-playground.*";
13
+ readonly scopes: ["full"];
14
+ }];
15
+ };
@@ -0,0 +1,26 @@
1
+ import { createPermissionSchema } from "@webiny/app-admin";
2
+ const DEV_TOOLS_PERMISSIONS_SCHEMA = createPermissionSchema({
3
+ prefix: "dev-tools",
4
+ fullAccess: true,
5
+ entities: [
6
+ {
7
+ id: "graphql-playground",
8
+ title: "GraphQL Playground",
9
+ permission: "dev-tools.graphql-playground.*",
10
+ scopes: [
11
+ "full"
12
+ ]
13
+ },
14
+ {
15
+ id: "sdk-playground",
16
+ title: "SDK Playground",
17
+ permission: "dev-tools.sdk-playground.*",
18
+ scopes: [
19
+ "full"
20
+ ]
21
+ }
22
+ ]
23
+ });
24
+ export { DEV_TOOLS_PERMISSIONS_SCHEMA };
25
+
26
+ //# sourceMappingURL=PermissionsSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PermissionsSchema.js","sources":["../src/PermissionsSchema.ts"],"sourcesContent":["import { createPermissionSchema } from \"@webiny/app-admin\";\n\nexport const DEV_TOOLS_PERMISSIONS_SCHEMA = createPermissionSchema({\n prefix: \"dev-tools\",\n fullAccess: true,\n entities: [\n {\n id: \"graphql-playground\",\n title: \"GraphQL Playground\",\n permission: \"dev-tools.graphql-playground.*\",\n scopes: [\"full\"]\n },\n {\n id: \"sdk-playground\",\n title: \"SDK Playground\",\n permission: \"dev-tools.sdk-playground.*\",\n scopes: [\"full\"]\n }\n ]\n});\n"],"names":["DEV_TOOLS_PERMISSIONS_SCHEMA","createPermissionSchema"],"mappings":";AAEO,MAAMA,+BAA+BC,uBAAuB;IAC/D,QAAQ;IACR,YAAY;IACZ,UAAU;QACN;YACI,IAAI;YACJ,OAAO;YACP,YAAY;YACZ,QAAQ;gBAAC;aAAO;QACpB;QACA;YACI,IAAI;YACJ,OAAO;YACP,YAAY;YACZ,QAAQ;gBAAC;aAAO;QACpB;KACH;AACL"}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const SecurityPermission: () => React.JSX.Element;
@@ -0,0 +1,15 @@
1
+ import react from "react";
2
+ import { AdminConfig } from "@webiny/app-admin";
3
+ import { ReactComponent } from "@webiny/icons/developer_mode.svg";
4
+ import { DEV_TOOLS_PERMISSIONS_SCHEMA } from "./PermissionsSchema.js";
5
+ const { Security: Security } = AdminConfig;
6
+ const SecurityPermission = ()=>/*#__PURE__*/ react.createElement(AdminConfig, null, /*#__PURE__*/ react.createElement(Security.Permissions, {
7
+ name: "dev-tools",
8
+ title: "Dev Tools",
9
+ description: "Manage Dev Tools access.",
10
+ icon: /*#__PURE__*/ react.createElement(ReactComponent, null),
11
+ schema: DEV_TOOLS_PERMISSIONS_SCHEMA
12
+ }));
13
+ export { SecurityPermission };
14
+
15
+ //# sourceMappingURL=SecurityPermission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SecurityPermission.js","sources":["../src/SecurityPermission.tsx"],"sourcesContent":["import React from \"react\";\nimport { AdminConfig } from \"@webiny/app-admin\";\nimport { ReactComponent as DevToolsIcon } from \"@webiny/icons/developer_mode.svg\";\nimport { DEV_TOOLS_PERMISSIONS_SCHEMA } from \"./PermissionsSchema.js\";\n\nconst { Security } = AdminConfig;\n\nexport const SecurityPermission = () => {\n return (\n <AdminConfig>\n <Security.Permissions\n name=\"dev-tools\"\n title=\"Dev Tools\"\n description=\"Manage Dev Tools access.\"\n icon={<DevToolsIcon />}\n schema={DEV_TOOLS_PERMISSIONS_SCHEMA}\n />\n </AdminConfig>\n );\n};\n"],"names":["Security","AdminConfig","SecurityPermission","DevToolsIcon","DEV_TOOLS_PERMISSIONS_SCHEMA"],"mappings":";;;;AAKA,MAAM,EAAEA,UAAAA,QAAQ,EAAE,GAAGC;AAEd,MAAMC,qBAAqB,IACvB,WAAP,GACI,oBAACD,aAAWA,MAAAA,WAAAA,GACR,oBAACD,SAAS,WAAW;QACjB,MAAK;QACL,OAAM;QACN,aAAY;QACZ,oBAAM,oBAACG,gBAAYA;QACnB,QAAQC"}
package/index.js CHANGED
@@ -1,32 +1,48 @@
1
- import React, { memo } from "react";
2
- import { useRouter, AdminConfig, AdminLayout } from "@webiny/app-admin";
3
- import { ReactComponent as CodeIcon } from "@webiny/icons/code.svg";
1
+ import react, { memo } from "react";
2
+ import { AdminConfig, AdminLayout, HasPermission, useRouter } from "@webiny/app-admin";
3
+ import { ReactComponent } from "@webiny/icons/code.svg";
4
+ import { ReactComponent as developer_mode_svg_ReactComponent } from "@webiny/icons/developer_mode.svg";
4
5
  import Playground from "./plugins/Playground.js";
6
+ import { SecurityPermission } from "./SecurityPermission.js";
5
7
  import { Routes } from "./routes.js";
6
- const {
7
- Route,
8
- Menu
9
- } = AdminConfig;
10
- const SdkPlaygroundExtension = () => {
11
- const router = useRouter();
12
- return /*#__PURE__*/React.createElement(AdminConfig, null, /*#__PURE__*/React.createElement(Menu.Support, {
13
- pin: "start",
14
- name: "sdk-playground",
15
- element: /*#__PURE__*/React.createElement(Menu.Support.Link, {
16
- text: "SDK Playground",
17
- icon: /*#__PURE__*/React.createElement(Menu.Support.Link.Icon, {
18
- label: "SDK Playground",
19
- element: /*#__PURE__*/React.createElement(CodeIcon, null)
20
- }),
21
- to: router.getLink(Routes.SdkPlayground)
22
- })
23
- }), /*#__PURE__*/React.createElement(Route, {
24
- route: Routes.SdkPlayground,
25
- element: /*#__PURE__*/React.createElement(AdminLayout, {
26
- title: "SDK Playground"
27
- }, /*#__PURE__*/React.createElement(Playground, null))
28
- }));
8
+ const { Route: Route, Menu: Menu } = AdminConfig;
9
+ const SdkPlaygroundExtension = ()=>{
10
+ const router = useRouter();
11
+ return /*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(SecurityPermission, null), /*#__PURE__*/ react.createElement(AdminConfig, null, /*#__PURE__*/ react.createElement(Menu, {
12
+ name: "dev-tools",
13
+ hideIfEmpty: true,
14
+ pin: "end",
15
+ element: /*#__PURE__*/ react.createElement(Menu.Item, {
16
+ text: "Dev Tools",
17
+ icon: /*#__PURE__*/ react.createElement(Menu.Item.Icon, {
18
+ label: "Dev Tools",
19
+ element: /*#__PURE__*/ react.createElement(developer_mode_svg_ReactComponent, null)
20
+ })
21
+ })
22
+ }), /*#__PURE__*/ react.createElement(HasPermission, {
23
+ any: [
24
+ "dev-tools.*",
25
+ "dev-tools.sdk-playground.*"
26
+ ]
27
+ }, /*#__PURE__*/ react.createElement(Menu, {
28
+ name: "dev-tools.sdk",
29
+ parent: "dev-tools",
30
+ element: /*#__PURE__*/ react.createElement(Menu.Link, {
31
+ text: "SDK Playground",
32
+ to: router.getLink(Routes.SdkPlayground),
33
+ icon: /*#__PURE__*/ react.createElement(Menu.Link.Icon, {
34
+ label: "SDK Playground",
35
+ element: /*#__PURE__*/ react.createElement(ReactComponent, null)
36
+ })
37
+ })
38
+ })), /*#__PURE__*/ react.createElement(Route, {
39
+ route: Routes.SdkPlayground,
40
+ element: /*#__PURE__*/ react.createElement(AdminLayout, {
41
+ title: "SDK Playground"
42
+ }, /*#__PURE__*/ react.createElement(Playground, null))
43
+ })));
29
44
  };
30
- export const SdkPlayground = /*#__PURE__*/memo(SdkPlaygroundExtension);
45
+ const SdkPlayground = /*#__PURE__*/ memo(SdkPlaygroundExtension);
46
+ export { SdkPlayground };
31
47
 
32
48
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["React","memo","useRouter","AdminConfig","AdminLayout","ReactComponent","CodeIcon","Playground","Routes","Route","Menu","SdkPlaygroundExtension","router","createElement","Support","pin","name","element","Link","text","icon","Icon","label","to","getLink","SdkPlayground","route","title"],"sources":["index.tsx"],"sourcesContent":["import React, { memo } from \"react\";\nimport { useRouter, AdminConfig, AdminLayout } from \"@webiny/app-admin\";\nimport { ReactComponent as CodeIcon } from \"@webiny/icons/code.svg\";\nimport Playground from \"./plugins/Playground.js\";\nimport { Routes } from \"./routes.js\";\n\nconst { Route, Menu } = AdminConfig;\n\nconst SdkPlaygroundExtension = () => {\n const router = useRouter();\n\n return (\n <AdminConfig>\n <Menu.Support\n pin={\"start\"}\n name={\"sdk-playground\"}\n element={\n <Menu.Support.Link\n text={\"SDK Playground\"}\n icon={\n <Menu.Support.Link.Icon label=\"SDK Playground\" element={<CodeIcon />} />\n }\n to={router.getLink(Routes.SdkPlayground)}\n />\n }\n />\n\n <Route\n route={Routes.SdkPlayground}\n element={\n <AdminLayout title={\"SDK Playground\"}>\n <Playground />\n </AdminLayout>\n }\n />\n </AdminConfig>\n );\n};\n\nexport const SdkPlayground = memo(SdkPlaygroundExtension);\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,IAAI,QAAQ,OAAO;AACnC,SAASC,SAAS,EAAEC,WAAW,EAAEC,WAAW,QAAQ,mBAAmB;AACvE,SAASC,cAAc,IAAIC,QAAQ,QAAQ,wBAAwB;AACnE,OAAOC,UAAU;AACjB,SAASC,MAAM;AAEf,MAAM;EAAEC,KAAK;EAAEC;AAAK,CAAC,GAAGP,WAAW;AAEnC,MAAMQ,sBAAsB,GAAGA,CAAA,KAAM;EACjC,MAAMC,MAAM,GAAGV,SAAS,CAAC,CAAC;EAE1B,oBACIF,KAAA,CAAAa,aAAA,CAACV,WAAW,qBACRH,KAAA,CAAAa,aAAA,CAACH,IAAI,CAACI,OAAO;IACTC,GAAG,EAAE,OAAQ;IACbC,IAAI,EAAE,gBAAiB;IACvBC,OAAO,eACHjB,KAAA,CAAAa,aAAA,CAACH,IAAI,CAACI,OAAO,CAACI,IAAI;MACdC,IAAI,EAAE,gBAAiB;MACvBC,IAAI,eACApB,KAAA,CAAAa,aAAA,CAACH,IAAI,CAACI,OAAO,CAACI,IAAI,CAACG,IAAI;QAACC,KAAK,EAAC,gBAAgB;QAACL,OAAO,eAAEjB,KAAA,CAAAa,aAAA,CAACP,QAAQ,MAAE;MAAE,CAAE,CAC1E;MACDiB,EAAE,EAAEX,MAAM,CAACY,OAAO,CAAChB,MAAM,CAACiB,aAAa;IAAE,CAC5C;EACJ,CACJ,CAAC,eAEFzB,KAAA,CAAAa,aAAA,CAACJ,KAAK;IACFiB,KAAK,EAAElB,MAAM,CAACiB,aAAc;IAC5BR,OAAO,eACHjB,KAAA,CAAAa,aAAA,CAACT,WAAW;MAACuB,KAAK,EAAE;IAAiB,gBACjC3B,KAAA,CAAAa,aAAA,CAACN,UAAU,MAAE,CACJ;EAChB,CACJ,CACQ,CAAC;AAEtB,CAAC;AAED,OAAO,MAAMkB,aAAa,gBAAGxB,IAAI,CAACU,sBAAsB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"index.js","sources":["../src/index.tsx"],"sourcesContent":["import React, { memo } from \"react\";\nimport { useRouter, AdminConfig, AdminLayout, HasPermission } from \"@webiny/app-admin\";\nimport { ReactComponent as CodeIcon } from \"@webiny/icons/code.svg\";\nimport { ReactComponent as DevToolsIcon } from \"@webiny/icons/developer_mode.svg\";\nimport Playground from \"./plugins/Playground.js\";\nimport { SecurityPermission } from \"./SecurityPermission.js\";\nimport { Routes } from \"./routes.js\";\n\nconst { Route, Menu } = AdminConfig;\n\nconst SdkPlaygroundExtension = () => {\n const router = useRouter();\n\n return (\n <>\n <SecurityPermission />\n <AdminConfig>\n <Menu\n name={\"dev-tools\"}\n hideIfEmpty={true}\n pin={\"end\"}\n element={\n <Menu.Item\n text={\"Dev Tools\"}\n icon={<Menu.Item.Icon label=\"Dev Tools\" element={<DevToolsIcon />} />}\n />\n }\n />\n <HasPermission any={[\"dev-tools.*\", \"dev-tools.sdk-playground.*\"]}>\n <Menu\n name={\"dev-tools.sdk\"}\n parent={\"dev-tools\"}\n element={\n <Menu.Link\n text={\"SDK Playground\"}\n to={router.getLink(Routes.SdkPlayground)}\n icon={\n <Menu.Link.Icon label=\"SDK Playground\" element={<CodeIcon />} />\n }\n />\n }\n />\n </HasPermission>\n\n <Route\n route={Routes.SdkPlayground}\n element={\n <AdminLayout title={\"SDK Playground\"}>\n <Playground />\n </AdminLayout>\n }\n />\n </AdminConfig>\n </>\n );\n};\n\nexport const SdkPlayground = memo(SdkPlaygroundExtension);\n"],"names":["Route","Menu","AdminConfig","SdkPlaygroundExtension","router","useRouter","SecurityPermission","DevToolsIcon","HasPermission","Routes","CodeIcon","AdminLayout","Playground","SdkPlayground","memo"],"mappings":";;;;;;;AAQA,MAAM,EAAEA,OAAAA,KAAK,EAAEC,MAAAA,IAAI,EAAE,GAAGC;AAExB,MAAMC,yBAAyB;IAC3B,MAAMC,SAASC;IAEf,OAAO,WAAP,GACI,wDACI,oBAACC,oBAAkBA,OAAAA,WAAAA,GACnB,oBAACJ,aAAWA,MAAAA,WAAAA,GACR,oBAACD,MAAIA;QACD,MAAM;QACN,aAAa;QACb,KAAK;QACL,uBACI,oBAACA,KAAK,IAAI;YACN,MAAM;YACN,oBAAM,oBAACA,KAAK,IAAI,CAAC,IAAI;gBAAC,OAAM;gBAAY,uBAAS,oBAACM,mCAAYA;;;sBAI1E,oBAACC,eAAaA;QAAC,KAAK;YAAC;YAAe;SAA6B;qBAC7D,oBAACP,MAAIA;QACD,MAAM;QACN,QAAQ;QACR,uBACI,oBAACA,KAAK,IAAI;YACN,MAAM;YACN,IAAIG,OAAO,OAAO,CAACK,OAAO,aAAa;YACvC,oBACI,oBAACR,KAAK,IAAI,CAAC,IAAI;gBAAC,OAAM;gBAAiB,uBAAS,oBAACS,gBAAQA;;;uBAO7E,oBAACV,OAAKA;QACF,OAAOS,OAAO,aAAa;QAC3B,uBACI,oBAACE,aAAWA;YAAC,OAAO;yBAChB,oBAACC,YAAUA;;AAOvC;AAEO,MAAMC,gBAAgB,WAAHA,GAAGC,KAAKX"}
package/package.json CHANGED
@@ -1,8 +1,11 @@
1
1
  {
2
2
  "name": "@webiny/app-sdk-playground",
3
- "version": "0.0.0-unstable.3c5210ad37",
3
+ "version": "0.0.0-unstable.7be00a75a9",
4
4
  "type": "module",
5
- "main": "index.js",
5
+ "exports": {
6
+ ".": "./index.js",
7
+ "./*": "./*"
8
+ },
6
9
  "repository": {
7
10
  "type": "git",
8
11
  "url": "https://github.com/webiny/webiny-js.git"
@@ -11,23 +14,25 @@
11
14
  "license": "MIT",
12
15
  "dependencies": {
13
16
  "@monaco-editor/react": "4.7.0",
14
- "@webiny/admin-ui": "0.0.0-unstable.3c5210ad37",
15
- "@webiny/app": "0.0.0-unstable.3c5210ad37",
16
- "@webiny/app-admin": "0.0.0-unstable.3c5210ad37",
17
- "@webiny/icons": "0.0.0-unstable.3c5210ad37",
18
- "@webiny/sdk": "0.0.0-unstable.3c5210ad37",
17
+ "@webiny/admin-ui": "0.0.0-unstable.7be00a75a9",
18
+ "@webiny/app": "0.0.0-unstable.7be00a75a9",
19
+ "@webiny/app-admin": "0.0.0-unstable.7be00a75a9",
20
+ "@webiny/icons": "0.0.0-unstable.7be00a75a9",
21
+ "@webiny/sdk": "0.0.0-unstable.7be00a75a9",
19
22
  "monaco-editor": "0.53.0",
20
- "react": "18.2.0",
21
- "react-dom": "18.2.0"
23
+ "react": "18.3.1",
24
+ "react-dom": "18.3.1"
22
25
  },
23
26
  "devDependencies": {
24
- "@webiny/build-tools": "0.0.0-unstable.3c5210ad37",
27
+ "@webiny/build-tools": "0.0.0-unstable.7be00a75a9",
25
28
  "rimraf": "6.1.3",
26
- "typescript": "5.9.3"
29
+ "typescript": "6.0.3"
27
30
  },
28
31
  "publishConfig": {
29
- "access": "public",
30
- "directory": "dist"
32
+ "access": "public"
31
33
  },
32
- "gitHead": "3c5210ad37c29bfabfeb8a91d3220115352b2ea9"
34
+ "gitHead": "8476da73b653c89cc1474d968baf55c1b0ae0e5f",
35
+ "webiny": {
36
+ "publishFrom": "dist"
37
+ }
33
38
  }
@@ -1,4 +1,4 @@
1
- import React, { useState } from "react";
1
+ import react, { useState } from "react";
2
2
  import { defaultSdkCode } from "./defaultCode.js";
3
3
  import { useCodeExecution } from "./useCodeExecution.js";
4
4
  import { useMonacoEditor } from "./useMonacoEditor.js";
@@ -6,48 +6,36 @@ import { useResizableSplit } from "./useResizableSplit.js";
6
6
  import { PlaygroundToolbar } from "./components/PlaygroundToolbar.js";
7
7
  import { CodeEditor } from "./components/CodeEditor.js";
8
8
  import { OutputPanel } from "./components/OutputPanel.js";
9
- const Playground = () => {
10
- const [code, setCode] = useState(defaultSdkCode);
11
- const {
12
- splitRef,
13
- editorPct,
14
- handleDividerMouseDown
15
- } = useResizableSplit();
16
- const {
17
- editorRef,
18
- handleBeforeMount,
19
- handleEditorDidMount,
20
- handleFormat
21
- } = useMonacoEditor(() => handleRun());
22
- const {
23
- output,
24
- isRunning,
25
- handleRun
26
- } = useCodeExecution(code, editorRef);
27
- return /*#__PURE__*/React.createElement("div", {
28
- className: "flex flex-col bg-gray-100",
29
- style: {
30
- height: "calc(100vh - 45px)"
31
- }
32
- }, /*#__PURE__*/React.createElement(PlaygroundToolbar, {
33
- isRunning: isRunning,
34
- onRun: handleRun,
35
- onFormat: handleFormat
36
- }), /*#__PURE__*/React.createElement("div", {
37
- className: "flex flex-1 overflow-hidden",
38
- ref: splitRef
39
- }, /*#__PURE__*/React.createElement(CodeEditor, {
40
- code: code,
41
- editorPct: editorPct,
42
- isRunning: isRunning,
43
- onCodeChange: setCode,
44
- onBeforeMount: handleBeforeMount,
45
- onMount: handleEditorDidMount,
46
- onDividerMouseDown: handleDividerMouseDown
47
- }), /*#__PURE__*/React.createElement(OutputPanel, {
48
- output: output
49
- })));
9
+ const Playground = ()=>{
10
+ const [code, setCode] = useState(defaultSdkCode);
11
+ const { splitRef, editorPct, handleDividerMouseDown } = useResizableSplit();
12
+ const { editorRef, handleBeforeMount, handleEditorDidMount, handleFormat } = useMonacoEditor(()=>handleRun());
13
+ const { output, isRunning, handleRun } = useCodeExecution(code, editorRef);
14
+ return /*#__PURE__*/ react.createElement("div", {
15
+ className: "flex flex-col bg-gray-100",
16
+ style: {
17
+ height: "calc(100vh - 45px)"
18
+ }
19
+ }, /*#__PURE__*/ react.createElement(PlaygroundToolbar, {
20
+ isRunning: isRunning,
21
+ onRun: handleRun,
22
+ onFormat: handleFormat
23
+ }), /*#__PURE__*/ react.createElement("div", {
24
+ className: "flex flex-1 overflow-hidden",
25
+ ref: splitRef
26
+ }, /*#__PURE__*/ react.createElement(CodeEditor, {
27
+ code: code,
28
+ editorPct: editorPct,
29
+ isRunning: isRunning,
30
+ onCodeChange: setCode,
31
+ onBeforeMount: handleBeforeMount,
32
+ onMount: handleEditorDidMount,
33
+ onDividerMouseDown: handleDividerMouseDown
34
+ }), /*#__PURE__*/ react.createElement(OutputPanel, {
35
+ output: output
36
+ })));
50
37
  };
51
- export default Playground;
38
+ const plugins_Playground = Playground;
39
+ export default plugins_Playground;
52
40
 
53
41
  //# sourceMappingURL=Playground.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","defaultSdkCode","useCodeExecution","useMonacoEditor","useResizableSplit","PlaygroundToolbar","CodeEditor","OutputPanel","Playground","code","setCode","splitRef","editorPct","handleDividerMouseDown","editorRef","handleBeforeMount","handleEditorDidMount","handleFormat","handleRun","output","isRunning","createElement","className","style","height","onRun","onFormat","ref","onCodeChange","onBeforeMount","onMount","onDividerMouseDown"],"sources":["Playground.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { defaultSdkCode } from \"./defaultCode.js\";\nimport { useCodeExecution } from \"./useCodeExecution.js\";\nimport { useMonacoEditor } from \"./useMonacoEditor.js\";\nimport { useResizableSplit } from \"./useResizableSplit.js\";\nimport { PlaygroundToolbar } from \"./components/PlaygroundToolbar.js\";\nimport { CodeEditor } from \"./components/CodeEditor.js\";\nimport { OutputPanel } from \"./components/OutputPanel.js\";\n\nconst Playground: React.FC = () => {\n const [code, setCode] = useState(defaultSdkCode);\n const { splitRef, editorPct, handleDividerMouseDown } = useResizableSplit();\n const { editorRef, handleBeforeMount, handleEditorDidMount, handleFormat } = useMonacoEditor(\n () => handleRun()\n );\n const { output, isRunning, handleRun } = useCodeExecution(code, editorRef);\n\n return (\n <div className=\"flex flex-col bg-gray-100\" style={{ height: \"calc(100vh - 45px)\" }}>\n <PlaygroundToolbar isRunning={isRunning} onRun={handleRun} onFormat={handleFormat} />\n <div className=\"flex flex-1 overflow-hidden\" ref={splitRef}>\n <CodeEditor\n code={code}\n editorPct={editorPct}\n isRunning={isRunning}\n onCodeChange={setCode}\n onBeforeMount={handleBeforeMount}\n onMount={handleEditorDidMount}\n onDividerMouseDown={handleDividerMouseDown}\n />\n <OutputPanel output={output} />\n </div>\n </div>\n );\n};\n\nexport default Playground;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,cAAc;AACvB,SAASC,gBAAgB;AACzB,SAASC,eAAe;AACxB,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB;AAC1B,SAASC,UAAU;AACnB,SAASC,WAAW;AAEpB,MAAMC,UAAoB,GAAGA,CAAA,KAAM;EAC/B,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGV,QAAQ,CAACC,cAAc,CAAC;EAChD,MAAM;IAAEU,QAAQ;IAAEC,SAAS;IAAEC;EAAuB,CAAC,GAAGT,iBAAiB,CAAC,CAAC;EAC3E,MAAM;IAAEU,SAAS;IAAEC,iBAAiB;IAAEC,oBAAoB;IAAEC;EAAa,CAAC,GAAGd,eAAe,CACxF,MAAMe,SAAS,CAAC,CACpB,CAAC;EACD,MAAM;IAAEC,MAAM;IAAEC,SAAS;IAAEF;EAAU,CAAC,GAAGhB,gBAAgB,CAACO,IAAI,EAAEK,SAAS,CAAC;EAE1E,oBACIf,KAAA,CAAAsB,aAAA;IAAKC,SAAS,EAAC,2BAA2B;IAACC,KAAK,EAAE;MAAEC,MAAM,EAAE;IAAqB;EAAE,gBAC/EzB,KAAA,CAAAsB,aAAA,CAAChB,iBAAiB;IAACe,SAAS,EAAEA,SAAU;IAACK,KAAK,EAAEP,SAAU;IAACQ,QAAQ,EAAET;EAAa,CAAE,CAAC,eACrFlB,KAAA,CAAAsB,aAAA;IAAKC,SAAS,EAAC,6BAA6B;IAACK,GAAG,EAAEhB;EAAS,gBACvDZ,KAAA,CAAAsB,aAAA,CAACf,UAAU;IACPG,IAAI,EAAEA,IAAK;IACXG,SAAS,EAAEA,SAAU;IACrBQ,SAAS,EAAEA,SAAU;IACrBQ,YAAY,EAAElB,OAAQ;IACtBmB,aAAa,EAAEd,iBAAkB;IACjCe,OAAO,EAAEd,oBAAqB;IAC9Be,kBAAkB,EAAElB;EAAuB,CAC9C,CAAC,eACFd,KAAA,CAAAsB,aAAA,CAACd,WAAW;IAACY,MAAM,EAAEA;EAAO,CAAE,CAC7B,CACJ,CAAC;AAEd,CAAC;AAED,eAAeX,UAAU","ignoreList":[]}
1
+ {"version":3,"file":"plugins/Playground.js","sources":["../../src/plugins/Playground.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { defaultSdkCode } from \"./defaultCode.js\";\nimport { useCodeExecution } from \"./useCodeExecution.js\";\nimport { useMonacoEditor } from \"./useMonacoEditor.js\";\nimport { useResizableSplit } from \"./useResizableSplit.js\";\nimport { PlaygroundToolbar } from \"./components/PlaygroundToolbar.js\";\nimport { CodeEditor } from \"./components/CodeEditor.js\";\nimport { OutputPanel } from \"./components/OutputPanel.js\";\n\nconst Playground: React.FC = () => {\n const [code, setCode] = useState(defaultSdkCode);\n const { splitRef, editorPct, handleDividerMouseDown } = useResizableSplit();\n const { editorRef, handleBeforeMount, handleEditorDidMount, handleFormat } = useMonacoEditor(\n () => handleRun()\n );\n const { output, isRunning, handleRun } = useCodeExecution(code, editorRef);\n\n return (\n <div className=\"flex flex-col bg-gray-100\" style={{ height: \"calc(100vh - 45px)\" }}>\n <PlaygroundToolbar isRunning={isRunning} onRun={handleRun} onFormat={handleFormat} />\n <div className=\"flex flex-1 overflow-hidden\" ref={splitRef}>\n <CodeEditor\n code={code}\n editorPct={editorPct}\n isRunning={isRunning}\n onCodeChange={setCode}\n onBeforeMount={handleBeforeMount}\n onMount={handleEditorDidMount}\n onDividerMouseDown={handleDividerMouseDown}\n />\n <OutputPanel output={output} />\n </div>\n </div>\n );\n};\n\nexport default Playground;\n"],"names":["Playground","code","setCode","useState","defaultSdkCode","splitRef","editorPct","handleDividerMouseDown","useResizableSplit","editorRef","handleBeforeMount","handleEditorDidMount","handleFormat","useMonacoEditor","handleRun","output","isRunning","useCodeExecution","PlaygroundToolbar","CodeEditor","OutputPanel"],"mappings":";;;;;;;;AASA,MAAMA,aAAuB;IACzB,MAAM,CAACC,MAAMC,QAAQ,GAAGC,SAASC;IACjC,MAAM,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,sBAAsB,EAAE,GAAGC;IACxD,MAAM,EAAEC,SAAS,EAAEC,iBAAiB,EAAEC,oBAAoB,EAAEC,YAAY,EAAE,GAAGC,gBACzE,IAAMC;IAEV,MAAM,EAAEC,MAAM,EAAEC,SAAS,EAAEF,SAAS,EAAE,GAAGG,iBAAiBhB,MAAMQ;IAEhE,OAAO,WAAP,GACI,oBAAC;QAAI,WAAU;QAA4B,OAAO;YAAE,QAAQ;QAAqB;qBAC7E,oBAACS,mBAAiBA;QAAC,WAAWF;QAAW,OAAOF;QAAW,UAAUF;sBACrE,oBAAC;QAAI,WAAU;QAA8B,KAAKP;qBAC9C,oBAACc,YAAUA;QACP,MAAMlB;QACN,WAAWK;QACX,WAAWU;QACX,cAAcd;QACd,eAAeQ;QACf,SAASC;QACT,oBAAoBJ;sBAExB,oBAACa,aAAWA;QAAC,QAAQL;;AAIrC;AAEA,2BAAef"}
@@ -1,62 +1,51 @@
1
- import React from "react";
2
- import Editor from "@monaco-editor/react";
1
+ import react from "react";
2
+ import _monaco_editor_react from "@monaco-editor/react";
3
3
  import { OverlayLoader } from "@webiny/admin-ui";
4
- export const CodeEditor = ({
5
- code,
6
- editorPct,
7
- isRunning,
8
- onCodeChange,
9
- onBeforeMount,
10
- onMount,
11
- onDividerMouseDown
12
- }) => {
13
- return /*#__PURE__*/React.createElement("div", {
14
- className: "relative overflow-hidden border-r border-gray-200",
15
- style: {
16
- flex: "none",
17
- width: `${editorPct}%`
18
- },
19
- onMouseMove: e => {
20
- const rect = e.currentTarget.getBoundingClientRect();
21
- e.currentTarget.style.cursor = e.clientX >= rect.right - 4 ? "col-resize" : "";
22
- },
23
- onMouseLeave: e => {
24
- e.currentTarget.style.cursor = "";
25
- },
26
- onMouseDown: e => {
27
- const rect = e.currentTarget.getBoundingClientRect();
28
- if (e.clientX >= rect.right - 4) {
29
- onDividerMouseDown(e);
30
- }
31
- }
32
- }, isRunning && /*#__PURE__*/React.createElement(OverlayLoader, {
33
- text: "Running code..."
34
- }), /*#__PURE__*/React.createElement(Editor, {
35
- height: "100%",
36
- defaultLanguage: "typescript",
37
- value: code,
38
- onChange: value => value && onCodeChange(value),
39
- beforeMount: onBeforeMount,
40
- onMount: onMount,
41
- options: {
42
- minimap: {
43
- enabled: false
44
- },
45
- renderLineHighlight: "none",
46
- fontSize: 14,
47
- automaticLayout: true,
48
- scrollBeyondLastLine: false,
49
- wordWrap: "on",
50
- tabSize: 4,
51
- insertSpaces: true,
52
- formatOnPaste: true,
53
- formatOnType: true,
54
- suggest: {
55
- showKeywords: true,
56
- showSnippets: true
57
- }
58
- }
59
- }));
60
- };
4
+ const CodeEditor = ({ code, editorPct, isRunning, onCodeChange, onBeforeMount, onMount, onDividerMouseDown })=>/*#__PURE__*/ react.createElement("div", {
5
+ className: "relative overflow-hidden border-r border-gray-200",
6
+ style: {
7
+ flex: "none",
8
+ width: `${editorPct}%`
9
+ },
10
+ onMouseMove: (e)=>{
11
+ const rect = e.currentTarget.getBoundingClientRect();
12
+ e.currentTarget.style.cursor = e.clientX >= rect.right - 4 ? "col-resize" : "";
13
+ },
14
+ onMouseLeave: (e)=>{
15
+ e.currentTarget.style.cursor = "";
16
+ },
17
+ onMouseDown: (e)=>{
18
+ const rect = e.currentTarget.getBoundingClientRect();
19
+ if (e.clientX >= rect.right - 4) onDividerMouseDown(e);
20
+ }
21
+ }, isRunning && /*#__PURE__*/ react.createElement(OverlayLoader, {
22
+ text: "Running code..."
23
+ }), /*#__PURE__*/ react.createElement(_monaco_editor_react, {
24
+ height: "100%",
25
+ defaultLanguage: "typescript",
26
+ value: code,
27
+ onChange: (value)=>value && onCodeChange(value),
28
+ beforeMount: onBeforeMount,
29
+ onMount: onMount,
30
+ options: {
31
+ minimap: {
32
+ enabled: false
33
+ },
34
+ renderLineHighlight: "none",
35
+ fontSize: 14,
36
+ automaticLayout: true,
37
+ scrollBeyondLastLine: false,
38
+ wordWrap: "on",
39
+ tabSize: 4,
40
+ insertSpaces: true,
41
+ formatOnPaste: true,
42
+ formatOnType: true,
43
+ suggest: {
44
+ showKeywords: true,
45
+ showSnippets: true
46
+ }
47
+ }
48
+ }));
49
+ export { CodeEditor };
61
50
 
62
51
  //# sourceMappingURL=CodeEditor.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Editor","OverlayLoader","CodeEditor","code","editorPct","isRunning","onCodeChange","onBeforeMount","onMount","onDividerMouseDown","createElement","className","style","flex","width","onMouseMove","e","rect","currentTarget","getBoundingClientRect","cursor","clientX","right","onMouseLeave","onMouseDown","text","height","defaultLanguage","value","onChange","beforeMount","options","minimap","enabled","renderLineHighlight","fontSize","automaticLayout","scrollBeyondLastLine","wordWrap","tabSize","insertSpaces","formatOnPaste","formatOnType","suggest","showKeywords","showSnippets"],"sources":["CodeEditor.tsx"],"sourcesContent":["import React from \"react\";\nimport Editor from \"@monaco-editor/react\";\nimport type { OnMount, BeforeMount } from \"@monaco-editor/react\";\nimport { OverlayLoader } from \"@webiny/admin-ui\";\n\ninterface CodeEditorProps {\n code: string;\n editorPct: number;\n isRunning: boolean;\n onCodeChange: (value: string) => void;\n onBeforeMount: BeforeMount;\n onMount: OnMount;\n onDividerMouseDown: (e: React.MouseEvent) => void;\n}\n\nexport const CodeEditor: React.FC<CodeEditorProps> = ({\n code,\n editorPct,\n isRunning,\n onCodeChange,\n onBeforeMount,\n onMount,\n onDividerMouseDown\n}) => {\n return (\n <div\n className=\"relative overflow-hidden border-r border-gray-200\"\n style={{ flex: \"none\", width: `${editorPct}%` }}\n onMouseMove={e => {\n const rect = e.currentTarget.getBoundingClientRect();\n e.currentTarget.style.cursor = e.clientX >= rect.right - 4 ? \"col-resize\" : \"\";\n }}\n onMouseLeave={e => {\n e.currentTarget.style.cursor = \"\";\n }}\n onMouseDown={e => {\n const rect = e.currentTarget.getBoundingClientRect();\n if (e.clientX >= rect.right - 4) {\n onDividerMouseDown(e);\n }\n }}\n >\n {isRunning && <OverlayLoader text=\"Running code...\" />}\n <Editor\n height=\"100%\"\n defaultLanguage=\"typescript\"\n value={code}\n onChange={value => value && onCodeChange(value)}\n beforeMount={onBeforeMount}\n onMount={onMount}\n options={{\n minimap: { enabled: false },\n renderLineHighlight: \"none\",\n fontSize: 14,\n automaticLayout: true,\n scrollBeyondLastLine: false,\n wordWrap: \"on\",\n tabSize: 4,\n insertSpaces: true,\n formatOnPaste: true,\n formatOnType: true,\n suggest: {\n showKeywords: true,\n showSnippets: true\n }\n }}\n />\n </div>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,MAAM,MAAM,sBAAsB;AAEzC,SAASC,aAAa,QAAQ,kBAAkB;AAYhD,OAAO,MAAMC,UAAqC,GAAGA,CAAC;EAClDC,IAAI;EACJC,SAAS;EACTC,SAAS;EACTC,YAAY;EACZC,aAAa;EACbC,OAAO;EACPC;AACJ,CAAC,KAAK;EACF,oBACIV,KAAA,CAAAW,aAAA;IACIC,SAAS,EAAC,mDAAmD;IAC7DC,KAAK,EAAE;MAAEC,IAAI,EAAE,MAAM;MAAEC,KAAK,EAAE,GAAGV,SAAS;IAAI,CAAE;IAChDW,WAAW,EAAEC,CAAC,IAAI;MACd,MAAMC,IAAI,GAAGD,CAAC,CAACE,aAAa,CAACC,qBAAqB,CAAC,CAAC;MACpDH,CAAC,CAACE,aAAa,CAACN,KAAK,CAACQ,MAAM,GAAGJ,CAAC,CAACK,OAAO,IAAIJ,IAAI,CAACK,KAAK,GAAG,CAAC,GAAG,YAAY,GAAG,EAAE;IAClF,CAAE;IACFC,YAAY,EAAEP,CAAC,IAAI;MACfA,CAAC,CAACE,aAAa,CAACN,KAAK,CAACQ,MAAM,GAAG,EAAE;IACrC,CAAE;IACFI,WAAW,EAAER,CAAC,IAAI;MACd,MAAMC,IAAI,GAAGD,CAAC,CAACE,aAAa,CAACC,qBAAqB,CAAC,CAAC;MACpD,IAAIH,CAAC,CAACK,OAAO,IAAIJ,IAAI,CAACK,KAAK,GAAG,CAAC,EAAE;QAC7Bb,kBAAkB,CAACO,CAAC,CAAC;MACzB;IACJ;EAAE,GAEDX,SAAS,iBAAIN,KAAA,CAAAW,aAAA,CAACT,aAAa;IAACwB,IAAI,EAAC;EAAiB,CAAE,CAAC,eACtD1B,KAAA,CAAAW,aAAA,CAACV,MAAM;IACH0B,MAAM,EAAC,MAAM;IACbC,eAAe,EAAC,YAAY;IAC5BC,KAAK,EAAEzB,IAAK;IACZ0B,QAAQ,EAAED,KAAK,IAAIA,KAAK,IAAItB,YAAY,CAACsB,KAAK,CAAE;IAChDE,WAAW,EAAEvB,aAAc;IAC3BC,OAAO,EAAEA,OAAQ;IACjBuB,OAAO,EAAE;MACLC,OAAO,EAAE;QAAEC,OAAO,EAAE;MAAM,CAAC;MAC3BC,mBAAmB,EAAE,MAAM;MAC3BC,QAAQ,EAAE,EAAE;MACZC,eAAe,EAAE,IAAI;MACrBC,oBAAoB,EAAE,KAAK;MAC3BC,QAAQ,EAAE,IAAI;MACdC,OAAO,EAAE,CAAC;MACVC,YAAY,EAAE,IAAI;MAClBC,aAAa,EAAE,IAAI;MACnBC,YAAY,EAAE,IAAI;MAClBC,OAAO,EAAE;QACLC,YAAY,EAAE,IAAI;QAClBC,YAAY,EAAE;MAClB;IACJ;EAAE,CACL,CACA,CAAC;AAEd,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"plugins/components/CodeEditor.js","sources":["../../../src/plugins/components/CodeEditor.tsx"],"sourcesContent":["import React from \"react\";\nimport Editor from \"@monaco-editor/react\";\nimport type { OnMount, BeforeMount } from \"@monaco-editor/react\";\nimport { OverlayLoader } from \"@webiny/admin-ui\";\n\ninterface CodeEditorProps {\n code: string;\n editorPct: number;\n isRunning: boolean;\n onCodeChange: (value: string) => void;\n onBeforeMount: BeforeMount;\n onMount: OnMount;\n onDividerMouseDown: (e: React.MouseEvent) => void;\n}\n\nexport const CodeEditor: React.FC<CodeEditorProps> = ({\n code,\n editorPct,\n isRunning,\n onCodeChange,\n onBeforeMount,\n onMount,\n onDividerMouseDown\n}) => {\n return (\n <div\n className=\"relative overflow-hidden border-r border-gray-200\"\n style={{ flex: \"none\", width: `${editorPct}%` }}\n onMouseMove={e => {\n const rect = e.currentTarget.getBoundingClientRect();\n e.currentTarget.style.cursor = e.clientX >= rect.right - 4 ? \"col-resize\" : \"\";\n }}\n onMouseLeave={e => {\n e.currentTarget.style.cursor = \"\";\n }}\n onMouseDown={e => {\n const rect = e.currentTarget.getBoundingClientRect();\n if (e.clientX >= rect.right - 4) {\n onDividerMouseDown(e);\n }\n }}\n >\n {isRunning && <OverlayLoader text=\"Running code...\" />}\n <Editor\n height=\"100%\"\n defaultLanguage=\"typescript\"\n value={code}\n onChange={value => value && onCodeChange(value)}\n beforeMount={onBeforeMount}\n onMount={onMount}\n options={{\n minimap: { enabled: false },\n renderLineHighlight: \"none\",\n fontSize: 14,\n automaticLayout: true,\n scrollBeyondLastLine: false,\n wordWrap: \"on\",\n tabSize: 4,\n insertSpaces: true,\n formatOnPaste: true,\n formatOnType: true,\n suggest: {\n showKeywords: true,\n showSnippets: true\n }\n }}\n />\n </div>\n );\n};\n"],"names":["CodeEditor","code","editorPct","isRunning","onCodeChange","onBeforeMount","onMount","onDividerMouseDown","e","rect","OverlayLoader","Editor","value"],"mappings":";;;AAeO,MAAMA,aAAwC,CAAC,EAClDC,IAAI,EACJC,SAAS,EACTC,SAAS,EACTC,YAAY,EACZC,aAAa,EACbC,OAAO,EACPC,kBAAkB,EACrB,GACU,WAAP,GACI,oBAAC;QACG,WAAU;QACV,OAAO;YAAE,MAAM;YAAQ,OAAO,GAAGL,UAAU,CAAC,CAAC;QAAC;QAC9C,aAAaM,CAAAA;YACT,MAAMC,OAAOD,EAAE,aAAa,CAAC,qBAAqB;YAClDA,EAAE,aAAa,CAAC,KAAK,CAAC,MAAM,GAAGA,EAAE,OAAO,IAAIC,KAAK,KAAK,GAAG,IAAI,eAAe;QAChF;QACA,cAAcD,CAAAA;YACVA,EAAE,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG;QACnC;QACA,aAAaA,CAAAA;YACT,MAAMC,OAAOD,EAAE,aAAa,CAAC,qBAAqB;YAClD,IAAIA,EAAE,OAAO,IAAIC,KAAK,KAAK,GAAG,GAC1BF,mBAAmBC;QAE3B;OAECL,aAAa,WAAbA,GAAa,oBAACO,eAAaA;QAAC,MAAK;sBAClC,oBAACC,sBAAMA;QACH,QAAO;QACP,iBAAgB;QAChB,OAAOV;QACP,UAAUW,CAAAA,QAASA,SAASR,aAAaQ;QACzC,aAAaP;QACb,SAASC;QACT,SAAS;YACL,SAAS;gBAAE,SAAS;YAAM;YAC1B,qBAAqB;YACrB,UAAU;YACV,iBAAiB;YACjB,sBAAsB;YACtB,UAAU;YACV,SAAS;YACT,cAAc;YACd,eAAe;YACf,cAAc;YACd,SAAS;gBACL,cAAc;gBACd,cAAc;YAClB;QACJ"}
@@ -1,18 +1,17 @@
1
- import React from "react";
2
- export const OutputLine = ({
3
- message
4
- }) => {
5
- const colorClasses = {
6
- log: "text-gray-800",
7
- error: "text-red-700",
8
- warn: "text-orange-600",
9
- info: "text-blue-600"
10
- };
11
- return /*#__PURE__*/React.createElement("div", {
12
- className: `font-mono text-[13px] mb-1 whitespace-pre-wrap break-words ${colorClasses[message.type]}`
13
- }, /*#__PURE__*/React.createElement("span", {
14
- className: "text-gray-400 text-[11px]"
15
- }, "[", new Date(message.timestamp).toLocaleTimeString(), "]"), " ", message.message);
1
+ import react from "react";
2
+ const OutputLine = ({ message })=>{
3
+ const colorClasses = {
4
+ log: "text-gray-800",
5
+ error: "text-red-700",
6
+ warn: "text-orange-600",
7
+ info: "text-blue-600"
8
+ };
9
+ return /*#__PURE__*/ react.createElement("div", {
10
+ className: `font-mono text-[13px] mb-1 whitespace-pre-wrap break-words ${colorClasses[message.type]}`
11
+ }, /*#__PURE__*/ react.createElement("span", {
12
+ className: "text-gray-400 text-[11px]"
13
+ }, "[", new Date(message.timestamp).toLocaleTimeString(), "]"), " ", message.message);
16
14
  };
15
+ export { OutputLine };
17
16
 
18
17
  //# sourceMappingURL=OutputLine.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","OutputLine","message","colorClasses","log","error","warn","info","createElement","className","type","Date","timestamp","toLocaleTimeString"],"sources":["OutputLine.tsx"],"sourcesContent":["import React from \"react\";\nimport type { ConsoleMessage } from \"../types.js\";\n\nexport const OutputLine: React.FC<{ message: ConsoleMessage }> = ({ message }) => {\n const colorClasses: Record<ConsoleMessage[\"type\"], string> = {\n log: \"text-gray-800\",\n error: \"text-red-700\",\n warn: \"text-orange-600\",\n info: \"text-blue-600\"\n };\n\n return (\n <div\n className={`font-mono text-[13px] mb-1 whitespace-pre-wrap break-words ${colorClasses[message.type]}`}\n >\n <span className=\"text-gray-400 text-[11px]\">\n [{new Date(message.timestamp).toLocaleTimeString()}]\n </span>{\" \"}\n {message.message}\n </div>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAGzB,OAAO,MAAMC,UAAiD,GAAGA,CAAC;EAAEC;AAAQ,CAAC,KAAK;EAC9E,MAAMC,YAAoD,GAAG;IACzDC,GAAG,EAAE,eAAe;IACpBC,KAAK,EAAE,cAAc;IACrBC,IAAI,EAAE,iBAAiB;IACvBC,IAAI,EAAE;EACV,CAAC;EAED,oBACIP,KAAA,CAAAQ,aAAA;IACIC,SAAS,EAAE,8DAA8DN,YAAY,CAACD,OAAO,CAACQ,IAAI,CAAC;EAAG,gBAEtGV,KAAA,CAAAQ,aAAA;IAAMC,SAAS,EAAC;EAA2B,GAAC,GACvC,EAAC,IAAIE,IAAI,CAACT,OAAO,CAACU,SAAS,CAAC,CAACC,kBAAkB,CAAC,CAAC,EAAC,GACjD,CAAC,EAAC,GAAG,EACVX,OAAO,CAACA,OACR,CAAC;AAEd,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"plugins/components/OutputLine.js","sources":["../../../src/plugins/components/OutputLine.tsx"],"sourcesContent":["import React from \"react\";\nimport type { ConsoleMessage } from \"../types.js\";\n\nexport const OutputLine: React.FC<{ message: ConsoleMessage }> = ({ message }) => {\n const colorClasses: Record<ConsoleMessage[\"type\"], string> = {\n log: \"text-gray-800\",\n error: \"text-red-700\",\n warn: \"text-orange-600\",\n info: \"text-blue-600\"\n };\n\n return (\n <div\n className={`font-mono text-[13px] mb-1 whitespace-pre-wrap break-words ${colorClasses[message.type]}`}\n >\n <span className=\"text-gray-400 text-[11px]\">\n [{new Date(message.timestamp).toLocaleTimeString()}]\n </span>{\" \"}\n {message.message}\n </div>\n );\n};\n"],"names":["OutputLine","message","colorClasses","Date"],"mappings":";AAGO,MAAMA,aAAoD,CAAC,EAAEC,OAAO,EAAE;IACzE,MAAMC,eAAuD;QACzD,KAAK;QACL,OAAO;QACP,MAAM;QACN,MAAM;IACV;IAEA,OAAO,WAAP,GACI,oBAAC;QACG,WAAW,CAAC,2DAA2D,EAAEA,YAAY,CAACD,QAAQ,IAAI,CAAC,EAAE;qBAErG,oBAAC;QAAK,WAAU;OAA4B,KACtC,IAAIE,KAAKF,QAAQ,SAAS,EAAE,kBAAkB,IAAG,MAC/C,KACPA,QAAQ,OAAO;AAG5B"}
@@ -1,26 +1,23 @@
1
- import React from "react";
1
+ import react from "react";
2
2
  import { OutputLine } from "./OutputLine.js";
3
3
  import { MIN_PANE_PCT } from "../types.js";
4
- export const OutputPanel = ({
5
- output
6
- }) => {
7
- return /*#__PURE__*/React.createElement("div", {
8
- className: "bg-white flex flex-col overflow-hidden",
9
- style: {
10
- flex: 1,
11
- width: "auto",
12
- minWidth: `${MIN_PANE_PCT}%`
13
- }
14
- }, /*#__PURE__*/React.createElement("div", {
15
- className: "p-2 border-b border-gray-200 font-bold"
16
- }, "Output"), /*#__PURE__*/React.createElement("div", {
17
- className: "p-2 overflow-auto flex-1"
18
- }, output.length === 0 ? /*#__PURE__*/React.createElement("div", {
19
- className: "text-gray-400 italic"
20
- }, "Click \"Run Code\" to see output here...") : output.map((msg, index) => /*#__PURE__*/React.createElement(OutputLine, {
21
- key: index,
22
- message: msg
23
- }))));
24
- };
4
+ const OutputPanel = ({ output })=>/*#__PURE__*/ react.createElement("div", {
5
+ className: "bg-white flex flex-col overflow-hidden",
6
+ style: {
7
+ flex: 1,
8
+ width: "auto",
9
+ minWidth: `${MIN_PANE_PCT}%`
10
+ }
11
+ }, /*#__PURE__*/ react.createElement("div", {
12
+ className: "p-2 border-b border-gray-200 font-bold"
13
+ }, "Output"), /*#__PURE__*/ react.createElement("div", {
14
+ className: "p-2 overflow-auto flex-1"
15
+ }, 0 === output.length ? /*#__PURE__*/ react.createElement("div", {
16
+ className: "text-gray-400 italic"
17
+ }, 'Click "Run Code" to see output here...') : output.map((msg, index)=>/*#__PURE__*/ react.createElement(OutputLine, {
18
+ key: index,
19
+ message: msg
20
+ }))));
21
+ export { OutputPanel };
25
22
 
26
23
  //# sourceMappingURL=OutputPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","OutputLine","MIN_PANE_PCT","OutputPanel","output","createElement","className","style","flex","width","minWidth","length","map","msg","index","key","message"],"sources":["OutputPanel.tsx"],"sourcesContent":["import React from \"react\";\nimport type { ConsoleMessage } from \"../types.js\";\nimport { OutputLine } from \"./OutputLine.js\";\nimport { MIN_PANE_PCT } from \"../types.js\";\n\ninterface OutputPanelProps {\n output: ConsoleMessage[];\n}\n\nexport const OutputPanel: React.FC<OutputPanelProps> = ({ output }) => {\n return (\n <div\n className=\"bg-white flex flex-col overflow-hidden\"\n style={{ flex: 1, width: \"auto\", minWidth: `${MIN_PANE_PCT}%` }}\n >\n <div className=\"p-2 border-b border-gray-200 font-bold\">Output</div>\n <div className=\"p-2 overflow-auto flex-1\">\n {output.length === 0 ? (\n <div className=\"text-gray-400 italic\">\n Click &quot;Run Code&quot; to see output here...\n </div>\n ) : (\n output.map((msg, index) => <OutputLine key={index} message={msg} />)\n )}\n </div>\n </div>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,UAAU;AACnB,SAASC,YAAY;AAMrB,OAAO,MAAMC,WAAuC,GAAGA,CAAC;EAAEC;AAAO,CAAC,KAAK;EACnE,oBACIJ,KAAA,CAAAK,aAAA;IACIC,SAAS,EAAC,wCAAwC;IAClDC,KAAK,EAAE;MAAEC,IAAI,EAAE,CAAC;MAAEC,KAAK,EAAE,MAAM;MAAEC,QAAQ,EAAE,GAAGR,YAAY;IAAI;EAAE,gBAEhEF,KAAA,CAAAK,aAAA;IAAKC,SAAS,EAAC;EAAwC,GAAC,QAAW,CAAC,eACpEN,KAAA,CAAAK,aAAA;IAAKC,SAAS,EAAC;EAA0B,GACpCF,MAAM,CAACO,MAAM,KAAK,CAAC,gBAChBX,KAAA,CAAAK,aAAA;IAAKC,SAAS,EAAC;EAAsB,GAAC,0CAEjC,CAAC,GAENF,MAAM,CAACQ,GAAG,CAAC,CAACC,GAAG,EAAEC,KAAK,kBAAKd,KAAA,CAAAK,aAAA,CAACJ,UAAU;IAACc,GAAG,EAAED,KAAM;IAACE,OAAO,EAAEH;EAAI,CAAE,CAAC,CAEtE,CACJ,CAAC;AAEd,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"plugins/components/OutputPanel.js","sources":["../../../src/plugins/components/OutputPanel.tsx"],"sourcesContent":["import React from \"react\";\nimport type { ConsoleMessage } from \"../types.js\";\nimport { OutputLine } from \"./OutputLine.js\";\nimport { MIN_PANE_PCT } from \"../types.js\";\n\ninterface OutputPanelProps {\n output: ConsoleMessage[];\n}\n\nexport const OutputPanel: React.FC<OutputPanelProps> = ({ output }) => {\n return (\n <div\n className=\"bg-white flex flex-col overflow-hidden\"\n style={{ flex: 1, width: \"auto\", minWidth: `${MIN_PANE_PCT}%` }}\n >\n <div className=\"p-2 border-b border-gray-200 font-bold\">Output</div>\n <div className=\"p-2 overflow-auto flex-1\">\n {output.length === 0 ? (\n <div className=\"text-gray-400 italic\">\n Click &quot;Run Code&quot; to see output here...\n </div>\n ) : (\n output.map((msg, index) => <OutputLine key={index} message={msg} />)\n )}\n </div>\n </div>\n );\n};\n"],"names":["OutputPanel","output","MIN_PANE_PCT","msg","index","OutputLine"],"mappings":";;;AASO,MAAMA,cAA0C,CAAC,EAAEC,MAAM,EAAE,GACvD,WAAP,GACI,oBAAC;QACG,WAAU;QACV,OAAO;YAAE,MAAM;YAAG,OAAO;YAAQ,UAAU,GAAGC,aAAa,CAAC,CAAC;QAAC;qBAE9D,oBAAC;QAAI,WAAU;OAAyC,yBACxD,oBAAC;QAAI,WAAU;OACVD,AAAkB,MAAlBA,OAAO,MAAM,GAAS,WAAJ,GACf,oBAAC;QAAI,WAAU;OAAuB,4CAItCA,OAAO,GAAG,CAAC,CAACE,KAAKC,QAAAA,WAAAA,GAAU,oBAACC,YAAUA;YAAC,KAAKD;YAAO,SAASD"}