@webiny/app-admin 6.0.0 → 6.1.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 (77) hide show
  1. package/base/ui/Brand.d.ts +6 -6
  2. package/base/ui/Dashboard.d.ts +6 -6
  3. package/base/ui/FileManager.d.ts +6 -6
  4. package/base/ui/Layout.d.ts +6 -6
  5. package/base/ui/LoginScreen.d.ts +12 -12
  6. package/base/ui/Logo.d.ts +6 -6
  7. package/base/ui/Navigation.d.ts +6 -6
  8. package/base/ui/NotFound.d.ts +6 -6
  9. package/base/ui/TenantSelector.d.ts +6 -6
  10. package/base/ui/UserMenu/UserMenu.d.ts +6 -6
  11. package/base/ui/UserMenu/UserMenuHandle.d.ts +6 -6
  12. package/base/ui/UserMenu/UserMenuItem.d.ts +12 -12
  13. package/base/ui/UserMenu/UserMenuLink.d.ts +12 -12
  14. package/base/ui/UserMenu/UserMenuSeparator.d.ts +6 -6
  15. package/base/ui/UserMenu.d.ts +12 -12
  16. package/components/Dialogs/Dialog.d.ts +1 -0
  17. package/components/Dialogs/Dialog.js +1 -0
  18. package/components/Dialogs/Dialog.js.map +1 -1
  19. package/components/Dialogs/DialogsContext.d.ts +4 -3
  20. package/components/Dialogs/DialogsContext.js +2 -0
  21. package/components/Dialogs/DialogsContext.js.map +1 -1
  22. package/components/IconPicker/IconRenderer.d.ts +6 -6
  23. package/components/LexicalEditor/LexicalLinkForm.js +3 -1
  24. package/components/LexicalEditor/LexicalLinkForm.js.map +1 -1
  25. package/components/OverlayLayout/components/OverlayRoot.js +3 -0
  26. package/components/OverlayLayout/components/OverlayRoot.js.map +1 -1
  27. package/components/Permissions/StyledComponents.js +9 -3
  28. package/components/Permissions/StyledComponents.js.map +1 -1
  29. package/components/SimpleUI/InputField.js +16 -39
  30. package/components/SimpleUI/InputField.js.map +1 -1
  31. package/components/index.d.ts +1 -4
  32. package/components/index.js +1 -4
  33. package/components/index.js.map +1 -1
  34. package/exports/admin/build-params.d.ts +1 -0
  35. package/exports/admin/build-params.js +1 -0
  36. package/exports/admin/build-params.js.map +1 -1
  37. package/exports/admin/ui.d.ts +1 -0
  38. package/exports/admin/ui.js +1 -0
  39. package/exports/admin/ui.js.map +1 -1
  40. package/exports/admin.d.ts +1 -0
  41. package/exports/admin.js +1 -0
  42. package/exports/admin.js.map +1 -1
  43. package/features/buildParams/feature.d.ts +1 -1
  44. package/features/buildParams/feature.js +4 -0
  45. package/features/buildParams/feature.js.map +1 -1
  46. package/hooks/index.d.ts +1 -0
  47. package/hooks/index.js +1 -0
  48. package/hooks/index.js.map +1 -1
  49. package/hooks/useHotkeys.d.ts +9 -0
  50. package/hooks/useHotkeys.js +99 -0
  51. package/hooks/useHotkeys.js.map +1 -0
  52. package/index.d.ts +1 -0
  53. package/index.js +2 -1
  54. package/index.js.map +1 -1
  55. package/package.json +30 -34
  56. package/permissions/createHasPermission.d.ts +1 -1
  57. package/permissions/createHasPermission.js +20 -5
  58. package/permissions/createHasPermission.js.map +1 -1
  59. package/permissions/createHasPermission.test.d.ts +1 -0
  60. package/permissions/createHasPermission.test.js +206 -0
  61. package/permissions/createHasPermission.test.js.map +1 -0
  62. package/permissions/types.d.ts +24 -4
  63. package/permissions/types.js.map +1 -1
  64. package/presentation/buildParams/useBuildParams.d.ts +1 -0
  65. package/presentation/buildParams/useBuildParams.js +7 -0
  66. package/presentation/buildParams/useBuildParams.js.map +1 -0
  67. package/presentation/wcp/WcpProvider.js +8 -1
  68. package/presentation/wcp/WcpProvider.js.map +1 -1
  69. package/components/FloatingPanel.d.ts +0 -13
  70. package/components/FloatingPanel.js +0 -94
  71. package/components/FloatingPanel.js.map +0 -1
  72. package/components/NavigationPrompt.d.ts +0 -27
  73. package/components/NavigationPrompt.js +0 -39
  74. package/components/NavigationPrompt.js.map +0 -1
  75. package/components/StateInspector.d.ts +0 -8
  76. package/components/StateInspector.js +0 -36
  77. package/components/StateInspector.js.map +0 -1
@@ -2,6 +2,7 @@ import { autorun } from "mobx";
2
2
  import React, { useEffect, useState } from "react";
3
3
  import { useFeature } from "@webiny/app";
4
4
  import { WcpFeature } from "../../features/wcp/feature.js";
5
+ import { DevToolsSection } from "../../components/index.js";
5
6
  export const WcpProvider = ({
6
7
  children,
7
8
  loader
@@ -20,7 +21,13 @@ export const WcpProvider = ({
20
21
  if (!isLoaded) {
21
22
  return loader || null;
22
23
  }
23
- return /*#__PURE__*/React.createElement(React.Fragment, null, children);
24
+ const project = service.getProject();
25
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DevToolsSection, {
26
+ name: "License",
27
+ group: "Project",
28
+ data: project.getRawLicense(),
29
+ views: "raw"
30
+ }), children);
24
31
  };
25
32
 
26
33
  //# sourceMappingURL=WcpProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["autorun","React","useEffect","useState","useFeature","WcpFeature","WcpProvider","children","loader","service","isLoaded","setIsLoaded","createElement","Fragment"],"sources":["WcpProvider.tsx"],"sourcesContent":["import { autorun } from \"mobx\";\nimport React, { useEffect, useState } from \"react\";\nimport { useFeature } from \"@webiny/app\";\nimport { WcpFeature } from \"~/features/wcp/feature.js\";\n\ninterface WcpProviderProps {\n loader?: React.ReactElement;\n children: React.ReactNode;\n}\n\nexport const WcpProvider = ({ children, loader }: WcpProviderProps) => {\n const { service } = useFeature(WcpFeature);\n\n const [isLoaded, setIsLoaded] = useState(service.isLoaded());\n\n useEffect(() => {\n return autorun(() => {\n setIsLoaded(service.isLoaded());\n });\n }, []);\n\n // Show loader while loading\n if (!isLoaded) {\n return loader || null;\n }\n\n return <>{children}</>;\n};\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,MAAM;AAC9B,OAAOC,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,SAASC,UAAU,QAAQ,aAAa;AACxC,SAASC,UAAU;AAOnB,OAAO,MAAMC,WAAW,GAAGA,CAAC;EAAEC,QAAQ;EAAEC;AAAyB,CAAC,KAAK;EACnE,MAAM;IAAEC;EAAQ,CAAC,GAAGL,UAAU,CAACC,UAAU,CAAC;EAE1C,MAAM,CAACK,QAAQ,EAAEC,WAAW,CAAC,GAAGR,QAAQ,CAACM,OAAO,CAACC,QAAQ,CAAC,CAAC,CAAC;EAE5DR,SAAS,CAAC,MAAM;IACZ,OAAOF,OAAO,CAAC,MAAM;MACjBW,WAAW,CAACF,OAAO,CAACC,QAAQ,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC;EACN,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA,IAAI,CAACA,QAAQ,EAAE;IACX,OAAOF,MAAM,IAAI,IAAI;EACzB;EAEA,oBAAOP,KAAA,CAAAW,aAAA,CAAAX,KAAA,CAAAY,QAAA,QAAGN,QAAW,CAAC;AAC1B,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["autorun","React","useEffect","useState","useFeature","WcpFeature","DevToolsSection","WcpProvider","children","loader","service","isLoaded","setIsLoaded","project","getProject","createElement","Fragment","name","group","data","getRawLicense","views"],"sources":["WcpProvider.tsx"],"sourcesContent":["import { autorun } from \"mobx\";\nimport React, { useEffect, useState } from \"react\";\nimport { useFeature } from \"@webiny/app\";\nimport { WcpFeature } from \"~/features/wcp/feature.js\";\nimport { DevToolsSection } from \"~/components/index.js\";\n\ninterface WcpProviderProps {\n loader?: React.ReactElement;\n children: React.ReactNode;\n}\n\nexport const WcpProvider = ({ children, loader }: WcpProviderProps) => {\n const { service } = useFeature(WcpFeature);\n\n const [isLoaded, setIsLoaded] = useState(service.isLoaded());\n\n useEffect(() => {\n return autorun(() => {\n setIsLoaded(service.isLoaded());\n });\n }, []);\n\n // Show loader while loading\n if (!isLoaded) {\n return loader || null;\n }\n\n const project = service.getProject();\n\n return (\n <>\n <DevToolsSection\n name={\"License\"}\n group={\"Project\"}\n data={project.getRawLicense()}\n views={\"raw\"}\n />\n {children}\n </>\n );\n};\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,MAAM;AAC9B,OAAOC,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,SAASC,UAAU,QAAQ,aAAa;AACxC,SAASC,UAAU;AACnB,SAASC,eAAe;AAOxB,OAAO,MAAMC,WAAW,GAAGA,CAAC;EAAEC,QAAQ;EAAEC;AAAyB,CAAC,KAAK;EACnE,MAAM;IAAEC;EAAQ,CAAC,GAAGN,UAAU,CAACC,UAAU,CAAC;EAE1C,MAAM,CAACM,QAAQ,EAAEC,WAAW,CAAC,GAAGT,QAAQ,CAACO,OAAO,CAACC,QAAQ,CAAC,CAAC,CAAC;EAE5DT,SAAS,CAAC,MAAM;IACZ,OAAOF,OAAO,CAAC,MAAM;MACjBY,WAAW,CAACF,OAAO,CAACC,QAAQ,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC;EACN,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA,IAAI,CAACA,QAAQ,EAAE;IACX,OAAOF,MAAM,IAAI,IAAI;EACzB;EAEA,MAAMI,OAAO,GAAGH,OAAO,CAACI,UAAU,CAAC,CAAC;EAEpC,oBACIb,KAAA,CAAAc,aAAA,CAAAd,KAAA,CAAAe,QAAA,qBACIf,KAAA,CAAAc,aAAA,CAACT,eAAe;IACZW,IAAI,EAAE,SAAU;IAChBC,KAAK,EAAE,SAAU;IACjBC,IAAI,EAAEN,OAAO,CAACO,aAAa,CAAC,CAAE;IAC9BC,KAAK,EAAE;EAAM,CAChB,CAAC,EACDb,QACH,CAAC;AAEX,CAAC","ignoreList":[]}
@@ -1,13 +0,0 @@
1
- import React from "react";
2
- export interface FloatingPanelRenderProp {
3
- (params: {
4
- height: number;
5
- width: number;
6
- }): React.ReactNode;
7
- }
8
- export interface FloatingPanelProps {
9
- shortcut: string;
10
- dragHandle: string;
11
- children: FloatingPanelRenderProp;
12
- }
13
- export declare const FloatingPanel: ({ dragHandle, shortcut, children }: FloatingPanelProps) => React.ReactPortal;
@@ -1,94 +0,0 @@
1
- import _styled from "@emotion/styled/base";
2
- function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
3
- import React, { useEffect, useState } from "react";
4
- import { createPortal } from "react-dom";
5
- import Draggable from "react-draggable";
6
- import { Resizable } from "react-resizable";
7
- import { useKeyHandler } from "../hooks/index.js";
8
- const PanelRoot = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
9
- target: "e4wugyk1"
10
- } : {
11
- target: "e4wugyk1",
12
- label: "PanelRoot"
13
- })(process.env.NODE_ENV === "production" ? {
14
- name: "1a2cm7e",
15
- styles: "position:fixed;top:0;left:0;z-index:100000;width:0;height:0"
16
- } : {
17
- name: "1a2cm7e",
18
- styles: "position:fixed;top:0;left:0;z-index:100000;width:0;height:0/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZsb2F0aW5nUGFuZWwudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVE0QiIsImZpbGUiOiJGbG9hdGluZ1BhbmVsLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tIFwicmVhY3QtZG9tXCI7XG5pbXBvcnQgRHJhZ2dhYmxlLCB7IHR5cGUgRHJhZ2dhYmxlRXZlbnRIYW5kbGVyIH0gZnJvbSBcInJlYWN0LWRyYWdnYWJsZVwiO1xuaW1wb3J0IHR5cGUgeyBSZXNpemFibGVQcm9wcyB9IGZyb20gXCJyZWFjdC1yZXNpemFibGVcIjtcbmltcG9ydCB7IFJlc2l6YWJsZSB9IGZyb20gXCJyZWFjdC1yZXNpemFibGVcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgdXNlS2V5SGFuZGxlciB9IGZyb20gXCJ+L2hvb2tzL2luZGV4LmpzXCI7XG5cbmNvbnN0IFBhbmVsUm9vdCA9IHN0eWxlZC5kaXZgXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDEwMDAwMDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG5gO1xuXG5jb25zdCBSZXNpemVIYW5kbGUgPSBzdHlsZWQuZGl2YFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDAgM3B4IDNweCAwO1xuICAgIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCemRHRnVaR0ZzYjI1bFBTSnVieUkvUGcwOElTMHRJRWRsYm1WeVlYUnZjam9nUVdSdlltVWdSbWx5WlhkdmNtdHpJRU5UTml3Z1JYaHdiM0owSUZOV1J5QkZlSFJsYm5OcGIyNGdZbmtnUVdGeWIyNGdRbVZoYkd3Z0tHaDBkSEE2THk5bWFYSmxkMjl5YTNNdVlXSmxZV3hzTG1OdmJTa2dMaUJXWlhKemFXOXVPaUF3TGpZdU1TQWdMUzArRFR3aFJFOURWRmxRUlNCemRtY2dVRlZDVEVsRElDSXRMeTlYTTBNdkwwUlVSQ0JUVmtjZ01TNHhMeTlGVGlJZ0ltaDBkSEE2THk5M2QzY3Vkek11YjNKbkwwZHlZWEJvYVdOekwxTldSeTh4TGpFdlJGUkVMM04yWnpFeExtUjBaQ0krRFR4emRtY2dhV1E5SWxWdWRHbDBiR1ZrTFZCaFoyVWxNakF4SWlCMmFXVjNRbTk0UFNJd0lEQWdOaUEySWlCemRIbHNaVDBpWW1GamEyZHliM1Z1WkMxamIyeHZjam9qWm1abVptWm1NREFpSUhabGNuTnBiMjQ5SWpFdU1TSU5DWGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdlRzFzYm5NNmVHeHBibXM5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZlR3hwYm1zaUlIaHRiRHB6Y0dGalpUMGljSEpsYzJWeWRtVWlEUWw0UFNJd2NIZ2lJSGs5SWpCd2VDSWdkMmxrZEdnOUlqWndlQ0lnYUdWcFoyaDBQU0kyY0hnaURUNE5DVHhuSUc5d1lXTnBkSGs5SWpBdU16QXlJajROQ1FrOGNHRjBhQ0JrUFNKTklEWWdOaUJNSURBZ05pQk1JREFnTkM0eUlFd2dOQ0EwTGpJZ1RDQTBMaklnTkM0eUlFd2dOQzR5SURBZ1RDQTJJREFnVENBMklEWWdUQ0EySURZZ1dpSWdabWxzYkQwaUl6QXdNREF3TUNJdlBnMEpQQzluUGcwOEwzTjJaejQ9XCIpXG4gICAgICAgIG5vLXJlcGVhdCBib3R0b20gcmlnaHQ7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgY3Vyc29yOiBzZS1yZXNpemU7XG5gO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZsb2F0aW5nUGFuZWxSZW5kZXJQcm9wIHtcbiAgICAocGFyYW1zOiB7IGhlaWdodDogbnVtYmVyOyB3aWR0aDogbnVtYmVyIH0pOiBSZWFjdC5SZWFjdE5vZGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvYXRpbmdQYW5lbFByb3BzIHtcbiAgICBzaG9ydGN1dDogc3RyaW5nO1xuICAgIGRyYWdIYW5kbGU6IHN0cmluZztcbiAgICBjaGlsZHJlbjogRmxvYXRpbmdQYW5lbFJlbmRlclByb3A7XG59XG5cbmV4cG9ydCBjb25zdCBGbG9hdGluZ1BhbmVsID0gKHsgZHJhZ0hhbmRsZSwgc2hvcnRjdXQsIGNoaWxkcmVuIH06IEZsb2F0aW5nUGFuZWxQcm9wcykgPT4ge1xuICAgIGNvbnN0IFtpc1Zpc2libGUsIHNldElzVmlzaWJsZV0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW3NpemUsIHNldFNpemVdID0gdXNlU3RhdGUoeyB3aWR0aDogNzAwLCBoZWlnaHQ6IDYwMCB9KTtcbiAgICBjb25zdCBbcG9zaXRpb24sIHNldFBvc2l0aW9uXSA9IHVzZVN0YXRlKHsgeDogMTAwLCB5OiAxMDAgfSk7XG4gICAgY29uc3QgeyBhZGRLZXlIYW5kbGVyLCByZW1vdmVLZXlIYW5kbGVyIH0gPSB1c2VLZXlIYW5kbGVyKCk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBhZGRLZXlIYW5kbGVyKHNob3J0Y3V0LCBlID0+IHtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHNldElzVmlzaWJsZShpc1Zpc2libGUgPT4gIWlzVmlzaWJsZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiAoKSA9PiByZW1vdmVLZXlIYW5kbGVyKHNob3J0Y3V0KTtcbiAgICB9LCBbc2V0SXNWaXNpYmxlXSk7XG5cbiAgICBjb25zdCBvbkRyYWdTdG9wOiBEcmFnZ2FibGVFdmVudEhhbmRsZXIgPSAoXywgZGF0YSkgPT4ge1xuICAgICAgICBzZXRQb3NpdGlvbih7IHg6IGRhdGEueCwgeTogZGF0YS55IH0pO1xuICAgIH07XG5cbiAgICBjb25zdCBvblJlc2l6ZTogUmVzaXphYmxlUHJvcHNbXCJvblJlc2l6ZVwiXSA9IChfLCB7IHNpemUgfSkgPT4ge1xuICAgICAgICBzZXRTaXplKHsgd2lkdGg6IHNpemUud2lkdGgsIGhlaWdodDogc2l6ZS5oZWlnaHQgfSk7XG4gICAgfTtcblxuICAgIHJldHVybiBjcmVhdGVQb3J0YWwoXG4gICAgICAgIDw+XG4gICAgICAgICAgICA8UGFuZWxSb290PlxuICAgICAgICAgICAgICAgIDxEcmFnZ2FibGUgaGFuZGxlPXtkcmFnSGFuZGxlfSBvblN0b3A9e29uRHJhZ1N0b3B9IHBvc2l0aW9uPXtwb3NpdGlvbn0+XG4gICAgICAgICAgICAgICAgICAgIDxSZXNpemFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPXtzaXplLndpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PXtzaXplLmhlaWdodH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uUmVzaXplPXtvblJlc2l6ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17PFJlc2l6ZUhhbmRsZSAvPn1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17XCJiZy1uZXV0cmFsLWJhc2UgcmVsYXRpdmUgYm9yZGVyLXNtIGJvcmRlci1hY2NlbnQtZGVmYXVsdFwifVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlzVmlzaWJsZSA/IFwiYmxvY2tcIiA6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogc2l6ZS53aWR0aCArIFwicHhcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBzaXplLmhlaWdodCArIFwicHhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1wiZmxvYXRpbmctcGFuZWxcIn0+e2NoaWxkcmVuKHNpemUpfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvUmVzaXphYmxlPlxuICAgICAgICAgICAgICAgIDwvRHJhZ2dhYmxlPlxuICAgICAgICAgICAgPC9QYW5lbFJvb3Q+XG4gICAgICAgIDwvPixcbiAgICAgICAgZG9jdW1lbnQuYm9keVxuICAgICk7XG59O1xuIl19 */",
19
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
20
- });
21
- const ResizeHandle = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
22
- target: "e4wugyk0"
23
- } : {
24
- target: "e4wugyk0",
25
- label: "ResizeHandle"
26
- })(process.env.NODE_ENV === "production" ? {
27
- name: "oq4jmq",
28
- styles: "position:absolute;width:20px;height:20px;bottom:0;right:0;padding:0 3px 3px 0;background:url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg08IS0tIEdlbmVyYXRvcjogQWRvYmUgRmlyZXdvcmtzIENTNiwgRXhwb3J0IFNWRyBFeHRlbnNpb24gYnkgQWFyb24gQmVhbGwgKGh0dHA6Ly9maXJld29ya3MuYWJlYWxsLmNvbSkgLiBWZXJzaW9uOiAwLjYuMSAgLS0+DTwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DTxzdmcgaWQ9IlVudGl0bGVkLVBhZ2UlMjAxIiB2aWV3Qm94PSIwIDAgNiA2IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMDAiIHZlcnNpb249IjEuMSINCXhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbDpzcGFjZT0icHJlc2VydmUiDQl4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjZweCIgaGVpZ2h0PSI2cHgiDT4NCTxnIG9wYWNpdHk9IjAuMzAyIj4NCQk8cGF0aCBkPSJNIDYgNiBMIDAgNiBMIDAgNC4yIEwgNCA0LjIgTCA0LjIgNC4yIEwgNC4yIDAgTCA2IDAgTCA2IDYgTCA2IDYgWiIgZmlsbD0iIzAwMDAwMCIvPg0JPC9nPg08L3N2Zz4=\") no-repeat bottom right;background-origin:content-box;box-sizing:border-box;cursor:se-resize"
29
- } : {
30
- name: "oq4jmq",
31
- styles: "position:absolute;width:20px;height:20px;bottom:0;right:0;padding:0 3px 3px 0;background:url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg08IS0tIEdlbmVyYXRvcjogQWRvYmUgRmlyZXdvcmtzIENTNiwgRXhwb3J0IFNWRyBFeHRlbnNpb24gYnkgQWFyb24gQmVhbGwgKGh0dHA6Ly9maXJld29ya3MuYWJlYWxsLmNvbSkgLiBWZXJzaW9uOiAwLjYuMSAgLS0+DTwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DTxzdmcgaWQ9IlVudGl0bGVkLVBhZ2UlMjAxIiB2aWV3Qm94PSIwIDAgNiA2IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMDAiIHZlcnNpb249IjEuMSINCXhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbDpzcGFjZT0icHJlc2VydmUiDQl4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjZweCIgaGVpZ2h0PSI2cHgiDT4NCTxnIG9wYWNpdHk9IjAuMzAyIj4NCQk8cGF0aCBkPSJNIDYgNiBMIDAgNiBMIDAgNC4yIEwgNCA0LjIgTCA0LjIgNC4yIEwgNC4yIDAgTCA2IDAgTCA2IDYgTCA2IDYgWiIgZmlsbD0iIzAwMDAwMCIvPg0JPC9nPg08L3N2Zz4=\") no-repeat bottom right;background-origin:content-box;box-sizing:border-box;cursor:se-resize/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZsb2F0aW5nUGFuZWwudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCK0IiLCJmaWxlIjoiRmxvYXRpbmdQYW5lbC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSBcInJlYWN0LWRvbVwiO1xuaW1wb3J0IERyYWdnYWJsZSwgeyB0eXBlIERyYWdnYWJsZUV2ZW50SGFuZGxlciB9IGZyb20gXCJyZWFjdC1kcmFnZ2FibGVcIjtcbmltcG9ydCB0eXBlIHsgUmVzaXphYmxlUHJvcHMgfSBmcm9tIFwicmVhY3QtcmVzaXphYmxlXCI7XG5pbXBvcnQgeyBSZXNpemFibGUgfSBmcm9tIFwicmVhY3QtcmVzaXphYmxlXCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IHVzZUtleUhhbmRsZXIgfSBmcm9tIFwifi9ob29rcy9pbmRleC5qc1wiO1xuXG5jb25zdCBQYW5lbFJvb3QgPSBzdHlsZWQuZGl2YFxuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxMDAwMDA7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuYDtcblxuY29uc3QgUmVzaXplSGFuZGxlID0gc3R5bGVkLmRpdmBcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICBwYWRkaW5nOiAwIDNweCAzcHggMDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQnpkR0Z1WkdGc2IyNWxQU0p1YnlJL1BnMDhJUzB0SUVkbGJtVnlZWFJ2Y2pvZ1FXUnZZbVVnUm1seVpYZHZjbXR6SUVOVE5pd2dSWGh3YjNKMElGTldSeUJGZUhSbGJuTnBiMjRnWW5rZ1FXRnliMjRnUW1WaGJHd2dLR2gwZEhBNkx5OW1hWEpsZDI5eWEzTXVZV0psWVd4c0xtTnZiU2tnTGlCV1pYSnphVzl1T2lBd0xqWXVNU0FnTFMwK0RUd2hSRTlEVkZsUVJTQnpkbWNnVUZWQ1RFbERJQ0l0THk5WE0wTXZMMFJVUkNCVFZrY2dNUzR4THk5RlRpSWdJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MMGR5WVhCb2FXTnpMMU5XUnk4eExqRXZSRlJFTDNOMlp6RXhMbVIwWkNJK0RUeHpkbWNnYVdROUlsVnVkR2wwYkdWa0xWQmhaMlVsTWpBeElpQjJhV1YzUW05NFBTSXdJREFnTmlBMklpQnpkSGxzWlQwaVltRmphMmR5YjNWdVpDMWpiMnh2Y2pvalptWm1abVptTURBaUlIWmxjbk5wYjI0OUlqRXVNU0lOQ1hodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lJSGh0YkRwemNHRmpaVDBpY0hKbGMyVnlkbVVpRFFsNFBTSXdjSGdpSUhrOUlqQndlQ0lnZDJsa2RHZzlJalp3ZUNJZ2FHVnBaMmgwUFNJMmNIZ2lEVDROQ1R4bklHOXdZV05wZEhrOUlqQXVNekF5SWo0TkNRazhjR0YwYUNCa1BTSk5JRFlnTmlCTUlEQWdOaUJNSURBZ05DNHlJRXdnTkNBMExqSWdUQ0EwTGpJZ05DNHlJRXdnTkM0eUlEQWdUQ0EySURBZ1RDQTJJRFlnVENBMklEWWdXaUlnWm1sc2JEMGlJekF3TURBd01DSXZQZzBKUEM5blBnMDhMM04yWno0PVwiKVxuICAgICAgICBuby1yZXBlYXQgYm90dG9tIHJpZ2h0O1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGN1cnNvcjogc2UtcmVzaXplO1xuYDtcblxuZXhwb3J0IGludGVyZmFjZSBGbG9hdGluZ1BhbmVsUmVuZGVyUHJvcCB7XG4gICAgKHBhcmFtczogeyBoZWlnaHQ6IG51bWJlcjsgd2lkdGg6IG51bWJlciB9KTogUmVhY3QuUmVhY3ROb2RlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZsb2F0aW5nUGFuZWxQcm9wcyB7XG4gICAgc2hvcnRjdXQ6IHN0cmluZztcbiAgICBkcmFnSGFuZGxlOiBzdHJpbmc7XG4gICAgY2hpbGRyZW46IEZsb2F0aW5nUGFuZWxSZW5kZXJQcm9wO1xufVxuXG5leHBvcnQgY29uc3QgRmxvYXRpbmdQYW5lbCA9ICh7IGRyYWdIYW5kbGUsIHNob3J0Y3V0LCBjaGlsZHJlbiB9OiBGbG9hdGluZ1BhbmVsUHJvcHMpID0+IHtcbiAgICBjb25zdCBbaXNWaXNpYmxlLCBzZXRJc1Zpc2libGVdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtzaXplLCBzZXRTaXplXSA9IHVzZVN0YXRlKHsgd2lkdGg6IDcwMCwgaGVpZ2h0OiA2MDAgfSk7XG4gICAgY29uc3QgW3Bvc2l0aW9uLCBzZXRQb3NpdGlvbl0gPSB1c2VTdGF0ZSh7IHg6IDEwMCwgeTogMTAwIH0pO1xuICAgIGNvbnN0IHsgYWRkS2V5SGFuZGxlciwgcmVtb3ZlS2V5SGFuZGxlciB9ID0gdXNlS2V5SGFuZGxlcigpO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgYWRkS2V5SGFuZGxlcihzaG9ydGN1dCwgZSA9PiB7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBzZXRJc1Zpc2libGUoaXNWaXNpYmxlID0+ICFpc1Zpc2libGUpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gKCkgPT4gcmVtb3ZlS2V5SGFuZGxlcihzaG9ydGN1dCk7XG4gICAgfSwgW3NldElzVmlzaWJsZV0pO1xuXG4gICAgY29uc3Qgb25EcmFnU3RvcDogRHJhZ2dhYmxlRXZlbnRIYW5kbGVyID0gKF8sIGRhdGEpID0+IHtcbiAgICAgICAgc2V0UG9zaXRpb24oeyB4OiBkYXRhLngsIHk6IGRhdGEueSB9KTtcbiAgICB9O1xuXG4gICAgY29uc3Qgb25SZXNpemU6IFJlc2l6YWJsZVByb3BzW1wib25SZXNpemVcIl0gPSAoXywgeyBzaXplIH0pID0+IHtcbiAgICAgICAgc2V0U2l6ZSh7IHdpZHRoOiBzaXplLndpZHRoLCBoZWlnaHQ6IHNpemUuaGVpZ2h0IH0pO1xuICAgIH07XG5cbiAgICByZXR1cm4gY3JlYXRlUG9ydGFsKFxuICAgICAgICA8PlxuICAgICAgICAgICAgPFBhbmVsUm9vdD5cbiAgICAgICAgICAgICAgICA8RHJhZ2dhYmxlIGhhbmRsZT17ZHJhZ0hhbmRsZX0gb25TdG9wPXtvbkRyYWdTdG9wfSBwb3NpdGlvbj17cG9zaXRpb259PlxuICAgICAgICAgICAgICAgICAgICA8UmVzaXphYmxlXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD17c2l6ZS53aWR0aH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD17c2l6ZS5oZWlnaHR9XG4gICAgICAgICAgICAgICAgICAgICAgICBvblJlc2l6ZT17b25SZXNpemV9XG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9ezxSZXNpemVIYW5kbGUgLz59XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e1wiYmctbmV1dHJhbC1iYXNlIHJlbGF0aXZlIGJvcmRlci1zbSBib3JkZXItYWNjZW50LWRlZmF1bHRcIn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpc1Zpc2libGUgPyBcImJsb2NrXCIgOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHNpemUud2lkdGggKyBcInB4XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogc2l6ZS5oZWlnaHQgKyBcInB4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtcImZsb2F0aW5nLXBhbmVsXCJ9PntjaGlsZHJlbihzaXplKX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L1Jlc2l6YWJsZT5cbiAgICAgICAgICAgICAgICA8L0RyYWdnYWJsZT5cbiAgICAgICAgICAgIDwvUGFuZWxSb290PlxuICAgICAgICA8Lz4sXG4gICAgICAgIGRvY3VtZW50LmJvZHlcbiAgICApO1xufTtcbiJdfQ== */",
32
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
33
- });
34
- export const FloatingPanel = ({
35
- dragHandle,
36
- shortcut,
37
- children
38
- }) => {
39
- const [isVisible, setIsVisible] = useState(false);
40
- const [size, setSize] = useState({
41
- width: 700,
42
- height: 600
43
- });
44
- const [position, setPosition] = useState({
45
- x: 100,
46
- y: 100
47
- });
48
- const {
49
- addKeyHandler,
50
- removeKeyHandler
51
- } = useKeyHandler();
52
- useEffect(() => {
53
- addKeyHandler(shortcut, e => {
54
- e.preventDefault();
55
- setIsVisible(isVisible => !isVisible);
56
- });
57
- return () => removeKeyHandler(shortcut);
58
- }, [setIsVisible]);
59
- const onDragStop = (_, data) => {
60
- setPosition({
61
- x: data.x,
62
- y: data.y
63
- });
64
- };
65
- const onResize = (_, {
66
- size
67
- }) => {
68
- setSize({
69
- width: size.width,
70
- height: size.height
71
- });
72
- };
73
- return /*#__PURE__*/createPortal(/*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(PanelRoot, null, /*#__PURE__*/React.createElement(Draggable, {
74
- handle: dragHandle,
75
- onStop: onDragStop,
76
- position: position
77
- }, /*#__PURE__*/React.createElement(Resizable, {
78
- width: size.width,
79
- height: size.height,
80
- onResize: onResize,
81
- handle: /*#__PURE__*/React.createElement(ResizeHandle, null)
82
- }, /*#__PURE__*/React.createElement("div", {
83
- className: "bg-neutral-base relative border-sm border-accent-default",
84
- style: {
85
- display: isVisible ? "block" : "none",
86
- width: size.width + "px",
87
- height: size.height + "px"
88
- }
89
- }, /*#__PURE__*/React.createElement("div", {
90
- className: "floating-panel"
91
- }, children(size))))))), document.body);
92
- };
93
-
94
- //# sourceMappingURL=FloatingPanel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","useEffect","useState","createPortal","Draggable","Resizable","useKeyHandler","PanelRoot","_styled","process","env","NODE_ENV","target","label","name","styles","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","ResizeHandle","FloatingPanel","dragHandle","shortcut","children","isVisible","setIsVisible","size","setSize","width","height","position","setPosition","x","y","addKeyHandler","removeKeyHandler","e","preventDefault","onDragStop","_","data","onResize","createElement","Fragment","handle","onStop","className","style","display","document","body"],"sources":["FloatingPanel.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport Draggable, { type DraggableEventHandler } from \"react-draggable\";\nimport type { ResizableProps } from \"react-resizable\";\nimport { Resizable } from \"react-resizable\";\nimport styled from \"@emotion/styled\";\nimport { useKeyHandler } from \"~/hooks/index.js\";\n\nconst PanelRoot = styled.div`\n position: fixed;\n top: 0;\n left: 0;\n z-index: 100000;\n width: 0;\n height: 0;\n`;\n\nconst ResizeHandle = styled.div`\n position: absolute;\n width: 20px;\n height: 20px;\n bottom: 0;\n right: 0;\n padding: 0 3px 3px 0;\n background: url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg08IS0tIEdlbmVyYXRvcjogQWRvYmUgRmlyZXdvcmtzIENTNiwgRXhwb3J0IFNWRyBFeHRlbnNpb24gYnkgQWFyb24gQmVhbGwgKGh0dHA6Ly9maXJld29ya3MuYWJlYWxsLmNvbSkgLiBWZXJzaW9uOiAwLjYuMSAgLS0+DTwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DTxzdmcgaWQ9IlVudGl0bGVkLVBhZ2UlMjAxIiB2aWV3Qm94PSIwIDAgNiA2IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMDAiIHZlcnNpb249IjEuMSINCXhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbDpzcGFjZT0icHJlc2VydmUiDQl4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjZweCIgaGVpZ2h0PSI2cHgiDT4NCTxnIG9wYWNpdHk9IjAuMzAyIj4NCQk8cGF0aCBkPSJNIDYgNiBMIDAgNiBMIDAgNC4yIEwgNCA0LjIgTCA0LjIgNC4yIEwgNC4yIDAgTCA2IDAgTCA2IDYgTCA2IDYgWiIgZmlsbD0iIzAwMDAwMCIvPg0JPC9nPg08L3N2Zz4=\")\n no-repeat bottom right;\n background-origin: content-box;\n box-sizing: border-box;\n cursor: se-resize;\n`;\n\nexport interface FloatingPanelRenderProp {\n (params: { height: number; width: number }): React.ReactNode;\n}\n\nexport interface FloatingPanelProps {\n shortcut: string;\n dragHandle: string;\n children: FloatingPanelRenderProp;\n}\n\nexport const FloatingPanel = ({ dragHandle, shortcut, children }: FloatingPanelProps) => {\n const [isVisible, setIsVisible] = useState(false);\n const [size, setSize] = useState({ width: 700, height: 600 });\n const [position, setPosition] = useState({ x: 100, y: 100 });\n const { addKeyHandler, removeKeyHandler } = useKeyHandler();\n\n useEffect(() => {\n addKeyHandler(shortcut, e => {\n e.preventDefault();\n setIsVisible(isVisible => !isVisible);\n });\n\n return () => removeKeyHandler(shortcut);\n }, [setIsVisible]);\n\n const onDragStop: DraggableEventHandler = (_, data) => {\n setPosition({ x: data.x, y: data.y });\n };\n\n const onResize: ResizableProps[\"onResize\"] = (_, { size }) => {\n setSize({ width: size.width, height: size.height });\n };\n\n return createPortal(\n <>\n <PanelRoot>\n <Draggable handle={dragHandle} onStop={onDragStop} position={position}>\n <Resizable\n width={size.width}\n height={size.height}\n onResize={onResize}\n handle={<ResizeHandle />}\n >\n <div\n className={\"bg-neutral-base relative border-sm border-accent-default\"}\n style={{\n display: isVisible ? \"block\" : \"none\",\n width: size.width + \"px\",\n height: size.height + \"px\"\n }}\n >\n <div className={\"floating-panel\"}>{children(size)}</div>\n </div>\n </Resizable>\n </Draggable>\n </PanelRoot>\n </>,\n document.body\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,27 +0,0 @@
1
- import React from "react";
2
- interface NavigationPromptProps {
3
- when: boolean | (() => boolean);
4
- message: React.ReactNode;
5
- confirmLabel?: string;
6
- cancelLabel?: string;
7
- }
8
- export declare const NavigationPrompt: (({ when, message, confirmLabel, cancelLabel }: NavigationPromptProps) => null) & {
9
- original: ({ when, message, confirmLabel, cancelLabel }: NavigationPromptProps) => null;
10
- originalName: string;
11
- displayName: string;
12
- } & {
13
- original: (({ when, message, confirmLabel, cancelLabel }: NavigationPromptProps) => null) & {
14
- original: ({ when, message, confirmLabel, cancelLabel }: NavigationPromptProps) => null;
15
- originalName: string;
16
- displayName: string;
17
- };
18
- originalName: string;
19
- displayName: string;
20
- } & {
21
- createDecorator: (decorator: import("@webiny/app").ComponentDecorator<(({ when, message, confirmLabel, cancelLabel }: NavigationPromptProps) => null) & {
22
- original: ({ when, message, confirmLabel, cancelLabel }: NavigationPromptProps) => null;
23
- originalName: string;
24
- displayName: string;
25
- }>) => (props: unknown) => React.JSX.Element;
26
- };
27
- export {};
@@ -1,39 +0,0 @@
1
- import { useEffect, useRef } from "react";
2
- import { useRouter } from "@webiny/app";
3
- import { makeDecoratable } from "@webiny/react-composition";
4
- import { useDialogs } from "./Dialogs/useDialogs.js";
5
- export const NavigationPrompt = makeDecoratable("NavigationPrompt", ({
6
- when,
7
- message,
8
- confirmLabel,
9
- cancelLabel
10
- }) => {
11
- const whenRef = useRef(when);
12
- const router = useRouter();
13
- const dialogs = useDialogs();
14
-
15
- // Update the ref synchronously on every render to ensure we always have the latest value
16
- whenRef.current = when;
17
- useEffect(() => {
18
- router.onRouteExit(transition => {
19
- const condition = whenRef.current;
20
- const shouldConfirm = typeof condition === "function" ? condition() : condition;
21
- if (shouldConfirm) {
22
- dialogs.showDialog({
23
- title: "Confirm Navigation",
24
- content: message,
25
- acceptLabel: confirmLabel ?? "Yes!",
26
- cancelLabel: cancelLabel ?? "No, stay here.",
27
- onAccept: () => {
28
- transition.continue();
29
- }
30
- });
31
- } else {
32
- transition.continue();
33
- }
34
- });
35
- }, []);
36
- return null;
37
- });
38
-
39
- //# sourceMappingURL=NavigationPrompt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["useEffect","useRef","useRouter","makeDecoratable","useDialogs","NavigationPrompt","when","message","confirmLabel","cancelLabel","whenRef","router","dialogs","current","onRouteExit","transition","condition","shouldConfirm","showDialog","title","content","acceptLabel","onAccept","continue"],"sources":["NavigationPrompt.tsx"],"sourcesContent":["import React, { useEffect, useRef } from \"react\";\nimport { useRouter } from \"@webiny/app\";\nimport { makeDecoratable } from \"@webiny/react-composition\";\nimport { useDialogs } from \"~/components/Dialogs/useDialogs.js\";\n\ninterface NavigationPromptProps {\n when: boolean | (() => boolean);\n message: React.ReactNode;\n confirmLabel?: string;\n cancelLabel?: string;\n}\n\nexport const NavigationPrompt = makeDecoratable(\n \"NavigationPrompt\",\n ({ when, message, confirmLabel, cancelLabel }: NavigationPromptProps) => {\n const whenRef = useRef(when);\n const router = useRouter();\n const dialogs = useDialogs();\n\n // Update the ref synchronously on every render to ensure we always have the latest value\n whenRef.current = when;\n\n useEffect(() => {\n router.onRouteExit(transition => {\n const condition = whenRef.current;\n const shouldConfirm = typeof condition === \"function\" ? condition() : condition;\n\n if (shouldConfirm) {\n dialogs.showDialog({\n title: \"Confirm Navigation\",\n content: message,\n acceptLabel: confirmLabel ?? \"Yes!\",\n cancelLabel: cancelLabel ?? \"No, stay here.\",\n onAccept: () => {\n transition.continue();\n }\n });\n } else {\n transition.continue();\n }\n });\n }, []);\n\n return null;\n }\n);\n"],"mappings":"AAAA,SAAgBA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAChD,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,eAAe,QAAQ,2BAA2B;AAC3D,SAASC,UAAU;AASnB,OAAO,MAAMC,gBAAgB,GAAGF,eAAe,CAC3C,kBAAkB,EAClB,CAAC;EAAEG,IAAI;EAAEC,OAAO;EAAEC,YAAY;EAAEC;AAAmC,CAAC,KAAK;EACrE,MAAMC,OAAO,GAAGT,MAAM,CAACK,IAAI,CAAC;EAC5B,MAAMK,MAAM,GAAGT,SAAS,CAAC,CAAC;EAC1B,MAAMU,OAAO,GAAGR,UAAU,CAAC,CAAC;;EAE5B;EACAM,OAAO,CAACG,OAAO,GAAGP,IAAI;EAEtBN,SAAS,CAAC,MAAM;IACZW,MAAM,CAACG,WAAW,CAACC,UAAU,IAAI;MAC7B,MAAMC,SAAS,GAAGN,OAAO,CAACG,OAAO;MACjC,MAAMI,aAAa,GAAG,OAAOD,SAAS,KAAK,UAAU,GAAGA,SAAS,CAAC,CAAC,GAAGA,SAAS;MAE/E,IAAIC,aAAa,EAAE;QACfL,OAAO,CAACM,UAAU,CAAC;UACfC,KAAK,EAAE,oBAAoB;UAC3BC,OAAO,EAAEb,OAAO;UAChBc,WAAW,EAAEb,YAAY,IAAI,MAAM;UACnCC,WAAW,EAAEA,WAAW,IAAI,gBAAgB;UAC5Ca,QAAQ,EAAEA,CAAA,KAAM;YACZP,UAAU,CAACQ,QAAQ,CAAC,CAAC;UACzB;QACJ,CAAC,CAAC;MACN,CAAC,MAAM;QACHR,UAAU,CAACQ,QAAQ,CAAC,CAAC;MACzB;IACJ,CAAC,CAAC;EACN,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO,IAAI;AACf,CACJ,CAAC","ignoreList":[]}
@@ -1,8 +0,0 @@
1
- import React from "react";
2
- interface StateInspectorProps {
3
- title: string;
4
- shortcut: string;
5
- state: Record<string, any>;
6
- }
7
- export declare const StateInspector: (props: StateInspectorProps) => React.JSX.Element;
8
- export {};
@@ -1,36 +0,0 @@
1
- import React from "react";
2
- import Editor from "@monaco-editor/react";
3
- import { Tabs } from "@webiny/admin-ui";
4
- import { FloatingPanel } from "./index.js";
5
- const monacoTheme = "vs-light";
6
- const monacoOptions = {
7
- minimap: {
8
- enabled: false
9
- }
10
- };
11
- export const StateInspector = props => {
12
- return /*#__PURE__*/React.createElement(FloatingPanel, {
13
- shortcut: props.shortcut,
14
- dragHandle: ".floating-panel"
15
- }, ({
16
- height
17
- }) => /*#__PURE__*/React.createElement(Tabs, {
18
- size: "md",
19
- spacing: "sm",
20
- separator: true,
21
- tabs: [/*#__PURE__*/React.createElement(Tabs.Tab, {
22
- key: "panel",
23
- value: "panel",
24
- trigger: props.title,
25
- content: /*#__PURE__*/React.createElement(Editor, {
26
- theme: monacoTheme,
27
- height: height - 76,
28
- defaultLanguage: "json",
29
- value: JSON.stringify(props.state, null, 2),
30
- options: monacoOptions
31
- })
32
- })]
33
- }));
34
- };
35
-
36
- //# sourceMappingURL=StateInspector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","Editor","Tabs","FloatingPanel","monacoTheme","monacoOptions","minimap","enabled","StateInspector","props","createElement","shortcut","dragHandle","height","size","spacing","separator","tabs","Tab","key","value","trigger","title","content","theme","defaultLanguage","JSON","stringify","state","options"],"sources":["StateInspector.tsx"],"sourcesContent":["import React from \"react\";\nimport Editor from \"@monaco-editor/react\";\nimport { Tabs } from \"@webiny/admin-ui\";\nimport { FloatingPanel } from \"~/components/index.js\";\n\nconst monacoTheme = \"vs-light\";\nconst monacoOptions = { minimap: { enabled: false } };\n\ninterface StateInspectorProps {\n title: string;\n shortcut: string;\n state: Record<string, any>;\n}\n\nexport const StateInspector = (props: StateInspectorProps) => {\n return (\n <FloatingPanel shortcut={props.shortcut} dragHandle={\".floating-panel\"}>\n {({ height }) => (\n <Tabs\n size=\"md\"\n spacing=\"sm\"\n separator={true}\n tabs={[\n <Tabs.Tab\n key=\"panel\"\n value=\"panel\"\n trigger={props.title}\n content={\n <Editor\n theme={monacoTheme}\n height={height - 76}\n defaultLanguage={\"json\"}\n value={JSON.stringify(props.state, null, 2)}\n options={monacoOptions}\n />\n }\n />\n ]}\n />\n )}\n </FloatingPanel>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,MAAM,MAAM,sBAAsB;AACzC,SAASC,IAAI,QAAQ,kBAAkB;AACvC,SAASC,aAAa;AAEtB,MAAMC,WAAW,GAAG,UAAU;AAC9B,MAAMC,aAAa,GAAG;EAAEC,OAAO,EAAE;IAAEC,OAAO,EAAE;EAAM;AAAE,CAAC;AAQrD,OAAO,MAAMC,cAAc,GAAIC,KAA0B,IAAK;EAC1D,oBACIT,KAAA,CAAAU,aAAA,CAACP,aAAa;IAACQ,QAAQ,EAAEF,KAAK,CAACE,QAAS;IAACC,UAAU,EAAE;EAAkB,GAClE,CAAC;IAAEC;EAAO,CAAC,kBACRb,KAAA,CAAAU,aAAA,CAACR,IAAI;IACDY,IAAI,EAAC,IAAI;IACTC,OAAO,EAAC,IAAI;IACZC,SAAS,EAAE,IAAK;IAChBC,IAAI,EAAE,cACFjB,KAAA,CAAAU,aAAA,CAACR,IAAI,CAACgB,GAAG;MACLC,GAAG,EAAC,OAAO;MACXC,KAAK,EAAC,OAAO;MACbC,OAAO,EAAEZ,KAAK,CAACa,KAAM;MACrBC,OAAO,eACHvB,KAAA,CAAAU,aAAA,CAACT,MAAM;QACHuB,KAAK,EAAEpB,WAAY;QACnBS,MAAM,EAAEA,MAAM,GAAG,EAAG;QACpBY,eAAe,EAAE,MAAO;QACxBL,KAAK,EAAEM,IAAI,CAACC,SAAS,CAAClB,KAAK,CAACmB,KAAK,EAAE,IAAI,EAAE,CAAC,CAAE;QAC5CC,OAAO,EAAExB;MAAc,CAC1B;IACJ,CACJ,CAAC;EACJ,CACL,CAEM,CAAC;AAExB,CAAC","ignoreList":[]}