@webiny/app-sdk-playground 6.3.0 → 6.4.0-beta.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.
Files changed (45) hide show
  1. package/PermissionsSchema.js +22 -14
  2. package/PermissionsSchema.js.map +1 -1
  3. package/SecurityPermission.js +11 -14
  4. package/SecurityPermission.js.map +1 -1
  5. package/index.js +42 -41
  6. package/index.js.map +1 -1
  7. package/package.json +8 -8
  8. package/plugins/Playground.js +31 -43
  9. package/plugins/Playground.js.map +1 -1
  10. package/plugins/components/CodeEditor.js +48 -59
  11. package/plugins/components/CodeEditor.js.map +1 -1
  12. package/plugins/components/OutputLine.js +14 -15
  13. package/plugins/components/OutputLine.js.map +1 -1
  14. package/plugins/components/OutputPanel.js +19 -22
  15. package/plugins/components/OutputPanel.js.map +1 -1
  16. package/plugins/components/PlaygroundToolbar.js +23 -29
  17. package/plugins/components/PlaygroundToolbar.js.map +1 -1
  18. package/plugins/consoleCapture.js +61 -66
  19. package/plugins/consoleCapture.js.map +1 -1
  20. package/plugins/declarations/cms.js +2 -2
  21. package/plugins/declarations/cms.js.map +1 -1
  22. package/plugins/declarations/common.js +2 -2
  23. package/plugins/declarations/common.js.map +1 -1
  24. package/plugins/declarations/fileManager.js +2 -2
  25. package/plugins/declarations/fileManager.js.map +1 -1
  26. package/plugins/declarations/languages.js +2 -2
  27. package/plugins/declarations/languages.js.map +1 -1
  28. package/plugins/declarations/tasks.js +2 -2
  29. package/plugins/declarations/tasks.js.map +1 -1
  30. package/plugins/declarations/tenantManager.js +2 -2
  31. package/plugins/declarations/tenantManager.js.map +1 -1
  32. package/plugins/defaultCode.js +2 -2
  33. package/plugins/defaultCode.js.map +1 -1
  34. package/plugins/sdkGlobalDeclaration.js +2 -13
  35. package/plugins/sdkGlobalDeclaration.js.map +1 -1
  36. package/plugins/types.js +2 -2
  37. package/plugins/types.js.map +1 -1
  38. package/plugins/useCodeExecution.js +45 -59
  39. package/plugins/useCodeExecution.js.map +1 -1
  40. package/plugins/useMonacoEditor.js +43 -48
  41. package/plugins/useMonacoEditor.js.map +1 -1
  42. package/plugins/useResizableSplit.js +35 -38
  43. package/plugins/useResizableSplit.js.map +1 -1
  44. package/routes.js +6 -5
  45. package/routes.js.map +1 -1
@@ -1,18 +1,26 @@
1
1
  import { createPermissionSchema } from "@webiny/app-admin";
2
- export const DEV_TOOLS_PERMISSIONS_SCHEMA = createPermissionSchema({
3
- prefix: "dev-tools",
4
- fullAccess: true,
5
- entities: [{
6
- id: "graphql-playground",
7
- title: "GraphQL Playground",
8
- permission: "dev-tools.graphql-playground.*",
9
- scopes: ["full"]
10
- }, {
11
- id: "sdk-playground",
12
- title: "SDK Playground",
13
- permission: "dev-tools.sdk-playground.*",
14
- scopes: ["full"]
15
- }]
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
+ ]
16
23
  });
24
+ export { DEV_TOOLS_PERMISSIONS_SCHEMA };
17
25
 
18
26
  //# sourceMappingURL=PermissionsSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createPermissionSchema","DEV_TOOLS_PERMISSIONS_SCHEMA","prefix","fullAccess","entities","id","title","permission","scopes"],"sources":["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"],"mappings":"AAAA,SAASA,sBAAsB,QAAQ,mBAAmB;AAE1D,OAAO,MAAMC,4BAA4B,GAAGD,sBAAsB,CAAC;EAC/DE,MAAM,EAAE,WAAW;EACnBC,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,CACN;IACIC,EAAE,EAAE,oBAAoB;IACxBC,KAAK,EAAE,oBAAoB;IAC3BC,UAAU,EAAE,gCAAgC;IAC5CC,MAAM,EAAE,CAAC,MAAM;EACnB,CAAC,EACD;IACIH,EAAE,EAAE,gBAAgB;IACpBC,KAAK,EAAE,gBAAgB;IACvBC,UAAU,EAAE,4BAA4B;IACxCC,MAAM,EAAE,CAAC,MAAM;EACnB,CAAC;AAET,CAAC,CAAC","ignoreList":[]}
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"}
@@ -1,18 +1,15 @@
1
- import React from "react";
1
+ import react from "react";
2
2
  import { AdminConfig } from "@webiny/app-admin";
3
- import { ReactComponent as DevToolsIcon } from "@webiny/icons/developer_mode.svg";
3
+ import { ReactComponent } from "@webiny/icons/developer_mode.svg";
4
4
  import { DEV_TOOLS_PERMISSIONS_SCHEMA } from "./PermissionsSchema.js";
5
- const {
6
- Security
7
- } = AdminConfig;
8
- export const SecurityPermission = () => {
9
- return /*#__PURE__*/React.createElement(AdminConfig, null, /*#__PURE__*/React.createElement(Security.Permissions, {
10
- name: "dev-tools",
11
- title: "Dev Tools",
12
- description: "Manage Dev Tools access.",
13
- icon: /*#__PURE__*/React.createElement(DevToolsIcon, null),
14
- schema: DEV_TOOLS_PERMISSIONS_SCHEMA
15
- }));
16
- };
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 };
17
14
 
18
15
  //# sourceMappingURL=SecurityPermission.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","AdminConfig","ReactComponent","DevToolsIcon","DEV_TOOLS_PERMISSIONS_SCHEMA","Security","SecurityPermission","createElement","Permissions","name","title","description","icon","schema"],"sources":["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"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,cAAc,IAAIC,YAAY,QAAQ,kCAAkC;AACjF,SAASC,4BAA4B;AAErC,MAAM;EAAEC;AAAS,CAAC,GAAGJ,WAAW;AAEhC,OAAO,MAAMK,kBAAkB,GAAGA,CAAA,KAAM;EACpC,oBACIN,KAAA,CAAAO,aAAA,CAACN,WAAW,qBACRD,KAAA,CAAAO,aAAA,CAACF,QAAQ,CAACG,WAAW;IACjBC,IAAI,EAAC,WAAW;IAChBC,KAAK,EAAC,WAAW;IACjBC,WAAW,EAAC,0BAA0B;IACtCC,IAAI,eAAEZ,KAAA,CAAAO,aAAA,CAACJ,YAAY,MAAE,CAAE;IACvBU,MAAM,EAAET;EAA6B,CACxC,CACQ,CAAC;AAEtB,CAAC","ignoreList":[]}
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,47 +1,48 @@
1
- import React, { memo } from "react";
2
- import { useRouter, AdminConfig, AdminLayout, HasPermission } from "@webiny/app-admin";
3
- import { ReactComponent as CodeIcon } from "@webiny/icons/code.svg";
4
- import { ReactComponent as DevToolsIcon } from "@webiny/icons/developer_mode.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";
5
5
  import Playground from "./plugins/Playground.js";
6
6
  import { SecurityPermission } from "./SecurityPermission.js";
7
7
  import { Routes } from "./routes.js";
8
- const {
9
- Route,
10
- Menu
11
- } = AdminConfig;
12
- const SdkPlaygroundExtension = () => {
13
- const router = useRouter();
14
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SecurityPermission, null), /*#__PURE__*/React.createElement(AdminConfig, null, /*#__PURE__*/React.createElement(Menu, {
15
- name: "dev-tools",
16
- hideIfEmpty: true,
17
- pin: "end",
18
- element: /*#__PURE__*/React.createElement(Menu.Item, {
19
- text: "Dev Tools",
20
- icon: /*#__PURE__*/React.createElement(Menu.Item.Icon, {
21
- label: "Dev Tools",
22
- element: /*#__PURE__*/React.createElement(DevToolsIcon, null)
23
- })
24
- })
25
- }), /*#__PURE__*/React.createElement(HasPermission, {
26
- any: ["dev-tools.*", "dev-tools.sdk-playground.*"]
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(CodeIcon, 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
- })));
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
+ })));
44
44
  };
45
- export const SdkPlayground = /*#__PURE__*/memo(SdkPlaygroundExtension);
45
+ const SdkPlayground = /*#__PURE__*/ memo(SdkPlaygroundExtension);
46
+ export { SdkPlayground };
46
47
 
47
48
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["React","memo","useRouter","AdminConfig","AdminLayout","HasPermission","ReactComponent","CodeIcon","DevToolsIcon","Playground","SecurityPermission","Routes","Route","Menu","SdkPlaygroundExtension","router","createElement","Fragment","name","hideIfEmpty","pin","element","Item","text","icon","Icon","label","any","parent","Link","to","getLink","SdkPlayground","route","title"],"sources":["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"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,IAAI,QAAQ,OAAO;AACnC,SAASC,SAAS,EAAEC,WAAW,EAAEC,WAAW,EAAEC,aAAa,QAAQ,mBAAmB;AACtF,SAASC,cAAc,IAAIC,QAAQ,QAAQ,wBAAwB;AACnE,SAASD,cAAc,IAAIE,YAAY,QAAQ,kCAAkC;AACjF,OAAOC,UAAU;AACjB,SAASC,kBAAkB;AAC3B,SAASC,MAAM;AAEf,MAAM;EAAEC,KAAK;EAAEC;AAAK,CAAC,GAAGV,WAAW;AAEnC,MAAMW,sBAAsB,GAAGA,CAAA,KAAM;EACjC,MAAMC,MAAM,GAAGb,SAAS,CAAC,CAAC;EAE1B,oBACIF,KAAA,CAAAgB,aAAA,CAAAhB,KAAA,CAAAiB,QAAA,qBACIjB,KAAA,CAAAgB,aAAA,CAACN,kBAAkB,MAAE,CAAC,eACtBV,KAAA,CAAAgB,aAAA,CAACb,WAAW,qBACRH,KAAA,CAAAgB,aAAA,CAACH,IAAI;IACDK,IAAI,EAAE,WAAY;IAClBC,WAAW,EAAE,IAAK;IAClBC,GAAG,EAAE,KAAM;IACXC,OAAO,eACHrB,KAAA,CAAAgB,aAAA,CAACH,IAAI,CAACS,IAAI;MACNC,IAAI,EAAE,WAAY;MAClBC,IAAI,eAAExB,KAAA,CAAAgB,aAAA,CAACH,IAAI,CAACS,IAAI,CAACG,IAAI;QAACC,KAAK,EAAC,WAAW;QAACL,OAAO,eAAErB,KAAA,CAAAgB,aAAA,CAACR,YAAY,MAAE;MAAE,CAAE;IAAE,CACzE;EACJ,CACJ,CAAC,eACFR,KAAA,CAAAgB,aAAA,CAACX,aAAa;IAACsB,GAAG,EAAE,CAAC,aAAa,EAAE,4BAA4B;EAAE,gBAC9D3B,KAAA,CAAAgB,aAAA,CAACH,IAAI;IACDK,IAAI,EAAE,eAAgB;IACtBU,MAAM,EAAE,WAAY;IACpBP,OAAO,eACHrB,KAAA,CAAAgB,aAAA,CAACH,IAAI,CAACgB,IAAI;MACNN,IAAI,EAAE,gBAAiB;MACvBO,EAAE,EAAEf,MAAM,CAACgB,OAAO,CAACpB,MAAM,CAACqB,aAAa,CAAE;MACzCR,IAAI,eACAxB,KAAA,CAAAgB,aAAA,CAACH,IAAI,CAACgB,IAAI,CAACJ,IAAI;QAACC,KAAK,EAAC,gBAAgB;QAACL,OAAO,eAAErB,KAAA,CAAAgB,aAAA,CAACT,QAAQ,MAAE;MAAE,CAAE;IAClE,CACJ;EACJ,CACJ,CACU,CAAC,eAEhBP,KAAA,CAAAgB,aAAA,CAACJ,KAAK;IACFqB,KAAK,EAAEtB,MAAM,CAACqB,aAAc;IAC5BX,OAAO,eACHrB,KAAA,CAAAgB,aAAA,CAACZ,WAAW;MAAC8B,KAAK,EAAE;IAAiB,gBACjClC,KAAA,CAAAgB,aAAA,CAACP,UAAU,MAAE,CACJ;EAChB,CACJ,CACQ,CACf,CAAC;AAEX,CAAC;AAED,OAAO,MAAMuB,aAAa,gBAAG/B,IAAI,CAACa,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,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/app-sdk-playground",
3
- "version": "6.3.0",
3
+ "version": "6.4.0-beta.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./index.js",
@@ -14,17 +14,17 @@
14
14
  "license": "MIT",
15
15
  "dependencies": {
16
16
  "@monaco-editor/react": "4.7.0",
17
- "@webiny/admin-ui": "6.3.0",
18
- "@webiny/app": "6.3.0",
19
- "@webiny/app-admin": "6.3.0",
20
- "@webiny/icons": "6.3.0",
21
- "@webiny/sdk": "6.3.0",
17
+ "@webiny/admin-ui": "6.4.0-beta.0",
18
+ "@webiny/app": "6.4.0-beta.0",
19
+ "@webiny/app-admin": "6.4.0-beta.0",
20
+ "@webiny/icons": "6.4.0-beta.0",
21
+ "@webiny/sdk": "6.4.0-beta.0",
22
22
  "monaco-editor": "0.53.0",
23
23
  "react": "18.3.1",
24
24
  "react-dom": "18.3.1"
25
25
  },
26
26
  "devDependencies": {
27
- "@webiny/build-tools": "6.3.0",
27
+ "@webiny/build-tools": "6.4.0-beta.0",
28
28
  "rimraf": "6.1.3",
29
29
  "typescript": "6.0.3"
30
30
  },
@@ -32,5 +32,5 @@
32
32
  "access": "public",
33
33
  "directory": "dist"
34
34
  },
35
- "gitHead": "7cefe15431dbd65504e1f58147dc9e55bcbfa693"
35
+ "gitHead": "a545d7529828af07d08d49c3da1bcb967483b9ce"
36
36
  }
@@ -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