@webiny/app-admin 6.0.0-alpha.0 → 6.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. package/base/Admin.d.ts +1 -1
  2. package/base/Admin.js.map +1 -1
  3. package/base/plugins/AddGraphQLQuerySelection.d.ts +1 -1
  4. package/base/plugins/AddGraphQLQuerySelection.js.map +1 -1
  5. package/base/providers/ApolloProvider.d.ts +1 -1
  6. package/base/providers/ApolloProvider.js.map +1 -1
  7. package/base/providers/ViewCompositionProvider.d.ts +1 -1
  8. package/base/providers/ViewCompositionProvider.js.map +1 -1
  9. package/base/ui/Layout.d.ts +2 -0
  10. package/base/ui/Layout.js.map +1 -1
  11. package/base/ui/LoginScreen.d.ts +1 -0
  12. package/base/ui/LoginScreen.js +12 -2
  13. package/base/ui/LoginScreen.js.map +1 -1
  14. package/base/ui/Navigation.d.ts +1 -0
  15. package/base/ui/Navigation.js +12 -1
  16. package/base/ui/Navigation.js.map +1 -1
  17. package/components/AppInstaller/Sidebar.d.ts +1 -1
  18. package/components/AppInstaller/Sidebar.js +2 -2
  19. package/components/AppInstaller/Sidebar.js.map +1 -1
  20. package/components/AppInstaller/index.js.map +1 -1
  21. package/components/AppInstaller/useInstaller.d.ts +1 -1
  22. package/components/AppInstaller/useInstaller.js.map +1 -1
  23. package/components/BulkActions/Worker.d.ts +1 -0
  24. package/components/BulkActions/Worker.js +4 -0
  25. package/components/BulkActions/Worker.js.map +1 -1
  26. package/components/BulkActions/useDialogWithReport/DialogMessage.d.ts +1 -1
  27. package/components/BulkActions/useDialogWithReport/DialogMessage.js.map +1 -1
  28. package/components/BulkActions/useDialogWithReport/useDialogWithReport.d.ts +1 -1
  29. package/components/BulkActions/useDialogWithReport/useDialogWithReport.js +20 -48
  30. package/components/BulkActions/useDialogWithReport/useDialogWithReport.js.map +1 -1
  31. package/components/Dialogs/CustomDialog.d.ts +1 -1
  32. package/components/Dialogs/CustomDialog.js.map +1 -1
  33. package/components/Dialogs/Dialog.d.ts +3 -2
  34. package/components/Dialogs/Dialog.js.map +1 -1
  35. package/components/Dialogs/DialogsContext.d.ts +4 -2
  36. package/components/Dialogs/DialogsContext.js +9 -2
  37. package/components/Dialogs/DialogsContext.js.map +1 -1
  38. package/components/EmptyView.d.ts +2 -1
  39. package/components/EmptyView.js.map +1 -1
  40. package/components/Filters/Filters.d.ts +1 -1
  41. package/components/Filters/Filters.js.map +1 -1
  42. package/components/FloatingPanel.js +2 -2
  43. package/components/FloatingPanel.js.map +1 -1
  44. package/components/IconPicker/IconPicker.d.ts +2 -2
  45. package/components/IconPicker/IconPicker.js.map +1 -1
  46. package/components/IconPicker/IconPickerComponent.d.ts +4 -3
  47. package/components/IconPicker/IconPickerComponent.js.map +1 -1
  48. package/components/IconPicker/IconPickerPresenter.d.ts +3 -3
  49. package/components/IconPicker/IconPickerPresenter.js.map +1 -1
  50. package/components/IconPicker/IconPickerPresenter.test.js.map +1 -1
  51. package/components/IconPicker/IconPickerPresenterProvider.d.ts +1 -1
  52. package/components/IconPicker/IconPickerPresenterProvider.js.map +1 -1
  53. package/components/IconPicker/IconPickerTab.d.ts +1 -1
  54. package/components/IconPicker/IconPickerTab.js.map +1 -1
  55. package/components/IconPicker/IconRenderer.d.ts +1 -1
  56. package/components/IconPicker/IconRenderer.js.map +1 -1
  57. package/components/IconPicker/IconRepository.d.ts +2 -2
  58. package/components/IconPicker/IconRepository.js.map +1 -1
  59. package/components/IconPicker/IconRepository.test.js.map +1 -1
  60. package/components/IconPicker/IconRepositoryFactory.d.ts +1 -1
  61. package/components/IconPicker/IconRepositoryFactory.js.map +1 -1
  62. package/components/IconPicker/components/IconPickerCell.d.ts +1 -1
  63. package/components/IconPicker/components/IconPickerCell.js.map +1 -1
  64. package/components/IconPicker/components/IconPickerContent.d.ts +1 -1
  65. package/components/IconPicker/components/IconPickerContent.js.map +1 -1
  66. package/components/IconPicker/components/IconPickerTrigger.d.ts +1 -1
  67. package/components/IconPicker/components/IconPickerTrigger.js.map +1 -1
  68. package/components/IconPicker/config/IconPackProvider.d.ts +1 -1
  69. package/components/IconPicker/config/IconPackProvider.js.map +1 -1
  70. package/components/IconPicker/config/index.d.ts +2 -2
  71. package/components/IconPicker/config/index.js.map +1 -1
  72. package/components/IconPicker/plugins/customPlugin.js.map +1 -1
  73. package/components/IconPicker/plugins/emojisPlugin.js.map +1 -1
  74. package/components/IconPicker/plugins/iconsPlugin.js.map +1 -1
  75. package/components/LexicalEditor/LexicalEditor.d.ts +2 -2
  76. package/components/LexicalEditor/LexicalEditor.js.map +1 -1
  77. package/components/OptionsMenu/OptionsMenuLink.d.ts +2 -1
  78. package/components/OptionsMenu/OptionsMenuLink.js.map +1 -1
  79. package/components/OverlayLayout/OverlayLayout.d.ts +2 -2
  80. package/components/OverlayLayout/OverlayLayout.js +3 -2
  81. package/components/OverlayLayout/OverlayLayout.js.map +1 -1
  82. package/components/OverlayLayout/components/OverlayHeader.d.ts +1 -1
  83. package/components/Permissions/Permissions.d.ts +2 -2
  84. package/components/Permissions/Permissions.js.map +1 -1
  85. package/components/ResizablePanels/index.d.ts +1 -1
  86. package/components/ResizablePanels/index.js +1 -1
  87. package/components/ResizablePanels/index.js.map +1 -1
  88. package/components/RichTextEditor/RichTextEditor.d.ts +1 -1
  89. package/components/RichTextEditor/RichTextEditor.js.map +1 -1
  90. package/components/RichTextEditor/tools/header/index.d.ts +3 -2
  91. package/components/RichTextEditor/tools/header/index.js.map +1 -1
  92. package/components/RichTextEditor/tools/image/index.d.ts +2 -2
  93. package/components/RichTextEditor/tools/image/index.js.map +1 -1
  94. package/components/RichTextEditor/tools/image/tunes.d.ts +2 -2
  95. package/components/RichTextEditor/tools/image/tunes.js.map +1 -1
  96. package/components/RichTextEditor/tools/image/ui.d.ts +2 -2
  97. package/components/RichTextEditor/tools/image/ui.js.map +1 -1
  98. package/components/RichTextEditor/tools/paragraph/index.d.ts +3 -2
  99. package/components/RichTextEditor/tools/paragraph/index.js.map +1 -1
  100. package/components/RichTextEditor/tools/textColor/index.d.ts +1 -1
  101. package/components/RichTextEditor/tools/textColor/index.js.map +1 -1
  102. package/components/Routes.js.map +1 -1
  103. package/components/SimpleForm/SimpleForm.d.ts +1 -1
  104. package/components/SingleImageUpload.d.ts +2 -2
  105. package/components/SingleImageUpload.js.map +1 -1
  106. package/components/SplitView/SplitView.d.ts +2 -2
  107. package/components/SplitView/SplitView.js +1 -1
  108. package/components/SplitView/SplitView.js.map +1 -1
  109. package/config/AdminConfig/Menu/SupportMenu/SupportMenuItem.d.ts +1 -1
  110. package/config/AdminConfig/Menu/SupportMenu/SupportMenuItem.js.map +1 -1
  111. package/config/AdminConfig/Menu/SupportMenu/SupportMenuLink.d.ts +1 -1
  112. package/config/AdminConfig/Menu/SupportMenu/SupportMenuLink.js.map +1 -1
  113. package/config/AdminConfig/Menu/UserMenu/types.d.ts +1 -1
  114. package/config/AdminConfig/Menu/UserMenu/types.js.map +1 -1
  115. package/config/AdminConfig/Menu/types.d.ts +1 -1
  116. package/config/AdminConfig/Menu/types.js.map +1 -1
  117. package/config/AdminConfig/Theme/assignColor.d.ts +1 -1
  118. package/config/AdminConfig/Theme/assignColor.js.map +1 -1
  119. package/config/AdminConfig/Theme/types.d.ts +1 -1
  120. package/config/AdminConfig/Theme/types.js.map +1 -1
  121. package/config/AdminConfig/Theme.d.ts +1 -1
  122. package/config/AdminConfig/Theme.js.map +1 -1
  123. package/config/AdminConfig.d.ts +1 -1
  124. package/config/AdminConfig.js.map +1 -1
  125. package/config/createAdminConfig.d.ts +1 -1
  126. package/config/createAdminConfig.js.map +1 -1
  127. package/hooks/useDialog.d.ts +1 -1
  128. package/hooks/useDialog.js.map +1 -1
  129. package/hooks/useKeyHandler.d.ts +1 -1
  130. package/hooks/useKeyHandler.js.map +1 -1
  131. package/index.d.ts +3 -3
  132. package/index.js +2 -4
  133. package/index.js.map +1 -1
  134. package/package.json +22 -22
  135. package/plugins/MenuPlugin.d.ts +1 -1
  136. package/plugins/MenuPlugin.js.map +1 -1
  137. package/plugins/PermissionRendererPlugin.d.ts +1 -1
  138. package/plugins/PermissionRendererPlugin.js.map +1 -1
  139. package/plugins/uiLayoutRenderer/index.js.map +1 -1
  140. package/types.d.ts +5 -4
  141. package/types.js.map +1 -1
  142. package/ui/elements/AccordionElement.d.ts +2 -1
  143. package/ui/elements/AccordionElement.js.map +1 -1
  144. package/ui/elements/ButtonElement.d.ts +2 -1
  145. package/ui/elements/ButtonElement.js.map +1 -1
  146. package/ui/elements/ButtonGroupElement.d.ts +2 -1
  147. package/ui/elements/ButtonGroupElement.js +1 -1
  148. package/ui/elements/ButtonGroupElement.js.map +1 -1
  149. package/ui/elements/LabelElement.d.ts +3 -2
  150. package/ui/elements/LabelElement.js.map +1 -1
  151. package/ui/elements/NavigationMenuElement.d.ts +4 -3
  152. package/ui/elements/NavigationMenuElement.js.map +1 -1
  153. package/ui/elements/SmallButtonElement.d.ts +3 -2
  154. package/ui/elements/SmallButtonElement.js.map +1 -1
  155. package/ui/elements/TypographyElement.d.ts +2 -1
  156. package/ui/elements/TypographyElement.js.map +1 -1
  157. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.d.ts +3 -2
  158. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js.map +1 -1
  159. package/ui/elements/form/DynamicFieldsetElement.d.ts +3 -2
  160. package/ui/elements/form/DynamicFieldsetElement.js.map +1 -1
  161. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.d.ts +4 -3
  162. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js.map +1 -1
  163. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.d.ts +4 -3
  164. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js +1 -1
  165. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js.map +1 -1
  166. package/ui/elements/form/FileManagerElement.d.ts +3 -2
  167. package/ui/elements/form/FileManagerElement.js.map +1 -1
  168. package/ui/elements/form/FormElement.d.ts +3 -2
  169. package/ui/elements/form/FormElement.js.map +1 -1
  170. package/ui/elements/form/FormFieldElement.d.ts +6 -5
  171. package/ui/elements/form/FormFieldElement.js.map +1 -1
  172. package/ui/elements/form/HiddenElement.d.ts +2 -1
  173. package/ui/elements/form/HiddenElement.js.map +1 -1
  174. package/ui/elements/form/InputElement.d.ts +2 -1
  175. package/ui/elements/form/InputElement.js.map +1 -1
  176. package/ui/elements/form/PasswordElement.d.ts +1 -1
  177. package/ui/elements/form/PasswordElement.js.map +1 -1
  178. package/ui/elements/form/SelectElement.d.ts +2 -1
  179. package/ui/elements/form/SelectElement.js.map +1 -1
  180. package/ui/elements/form/TextareaElement.d.ts +3 -2
  181. package/ui/elements/form/TextareaElement.js.map +1 -1
  182. package/ui/views/AdminView/ContentElement.js +1 -1
  183. package/ui/views/AdminView/ContentElement.js.map +1 -1
  184. package/ui/views/AdminView/HeaderElement.js.map +1 -1
  185. package/ui/views/AdminView/HeaderSectionCenterElement.d.ts +2 -1
  186. package/ui/views/AdminView/HeaderSectionCenterElement.js.map +1 -1
  187. package/ui/views/AdminView/HeaderSectionLeftElement.d.ts +2 -1
  188. package/ui/views/AdminView/HeaderSectionLeftElement.js.map +1 -1
  189. package/ui/views/AdminView/HeaderSectionRightElement.d.ts +2 -1
  190. package/ui/views/AdminView/HeaderSectionRightElement.js.map +1 -1
  191. package/ui/views/FormView/FormContainerElement.d.ts +2 -1
  192. package/ui/views/FormView/FormContainerElement.js.map +1 -1
  193. package/ui/views/FormView/FormContentElement.d.ts +2 -1
  194. package/ui/views/FormView/FormContentElement.js.map +1 -1
  195. package/ui/views/FormView/FormFooterElement.d.ts +2 -1
  196. package/ui/views/FormView/FormFooterElement.js.map +1 -1
  197. package/ui/views/FormView/FormHeaderElement.d.ts +3 -2
  198. package/ui/views/FormView/FormHeaderElement.js.map +1 -1
  199. package/ui/views/FormView.d.ts +3 -3
  200. package/ui/views/FormView.js.map +1 -1
  201. package/ui/views/OverlayView/ContentElement.d.ts +2 -1
  202. package/ui/views/OverlayView/ContentElement.js +1 -1
  203. package/ui/views/OverlayView/ContentElement.js.map +1 -1
  204. package/ui/views/OverlayView/HeaderElement.d.ts +2 -1
  205. package/ui/views/OverlayView/HeaderElement.js.map +1 -1
  206. package/ui/views/OverlayView/HeaderTitleElement.d.ts +4 -2
  207. package/ui/views/OverlayView/HeaderTitleElement.js.map +1 -1
  208. package/ui/views/OverlayView.d.ts +3 -2
  209. package/ui/views/OverlayView.js +1 -1
  210. package/ui/views/OverlayView.js.map +1 -1
  211. package/ui/views/SplitView/SplitViewPanelElement.d.ts +2 -1
  212. package/ui/views/SplitView/SplitViewPanelElement.js.map +1 -1
  213. package/ui/views/SplitView.d.ts +1 -1
  214. package/ui/views/SplitView.js.map +1 -1
package/base/Admin.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { ApolloClientFactory } from "./providers/ApolloProvider";
2
+ import type { ApolloClientFactory } from "./providers/ApolloProvider";
3
3
  export interface AdminProps {
4
4
  createApolloClient: ApolloClientFactory;
5
5
  children?: React.ReactNode;
package/base/Admin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["React","App","ThemeProvider","WcpProvider","createApolloProvider","Base","createTelemetryProvider","createUiStateProvider","createAdminUiStateProvider","createUiProviders","createDialogsProvider","DefaultIcons","IconPickerConfigProvider","Admin","children","createApolloClient","ApolloProvider","TelemetryProvider","UIProviders","UiStateProvider","AdminUiStateProvider","DialogsProvider","createElement","providers"],"sources":["Admin.tsx"],"sourcesContent":["import React from \"react\";\nimport { App } from \"@webiny/app\";\nimport { ThemeProvider } from \"@webiny/app-theme\";\nimport { WcpProvider } from \"@webiny/app-wcp\";\nimport { ApolloClientFactory, createApolloProvider } from \"./providers/ApolloProvider\";\nimport { Base } from \"./Base\";\nimport { createTelemetryProvider } from \"./providers/TelemetryProvider\";\nimport { createUiStateProvider } from \"./providers/UiStateProvider\";\nimport { createAdminUiStateProvider } from \"./providers/AdminUiStateProvider\";\nimport { createUiProviders } from \"./providers/UiProviders\";\nimport { createDialogsProvider } from \"~/components/Dialogs/DialogsContext\";\nimport { DefaultIcons, IconPickerConfigProvider } from \"~/components/IconPicker/config\";\n\nexport interface AdminProps {\n createApolloClient: ApolloClientFactory;\n children?: React.ReactNode;\n}\n\nexport const Admin = ({ children, createApolloClient }: AdminProps) => {\n const ApolloProvider = createApolloProvider(createApolloClient);\n const TelemetryProvider = createTelemetryProvider();\n const UIProviders = createUiProviders();\n const UiStateProvider = createUiStateProvider();\n const AdminUiStateProvider = createAdminUiStateProvider();\n const DialogsProvider = createDialogsProvider();\n\n return (\n <ApolloProvider>\n <ThemeProvider>\n <WcpProvider>\n <App\n providers={[\n TelemetryProvider,\n UIProviders,\n UiStateProvider,\n DialogsProvider,\n IconPickerConfigProvider,\n AdminUiStateProvider\n ]}\n >\n <Base />\n <DefaultIcons />\n {children}\n </App>\n </WcpProvider>\n </ThemeProvider>\n </ApolloProvider>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,GAAG,QAAQ,aAAa;AACjC,SAASC,aAAa,QAAQ,mBAAmB;AACjD,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAA8BC,oBAAoB;AAClD,SAASC,IAAI;AACb,SAASC,uBAAuB;AAChC,SAASC,qBAAqB;AAC9B,SAASC,0BAA0B;AACnC,SAASC,iBAAiB;AAC1B,SAASC,qBAAqB;AAC9B,SAASC,YAAY,EAAEC,wBAAwB;AAO/C,OAAO,MAAMC,KAAK,GAAGA,CAAC;EAAEC,QAAQ;EAAEC;AAA+B,CAAC,KAAK;EACnE,MAAMC,cAAc,GAAGZ,oBAAoB,CAACW,kBAAkB,CAAC;EAC/D,MAAME,iBAAiB,GAAGX,uBAAuB,CAAC,CAAC;EACnD,MAAMY,WAAW,GAAGT,iBAAiB,CAAC,CAAC;EACvC,MAAMU,eAAe,GAAGZ,qBAAqB,CAAC,CAAC;EAC/C,MAAMa,oBAAoB,GAAGZ,0BAA0B,CAAC,CAAC;EACzD,MAAMa,eAAe,GAAGX,qBAAqB,CAAC,CAAC;EAE/C,oBACIV,KAAA,CAAAsB,aAAA,CAACN,cAAc,qBACXhB,KAAA,CAAAsB,aAAA,CAACpB,aAAa,qBACVF,KAAA,CAAAsB,aAAA,CAACnB,WAAW,qBACRH,KAAA,CAAAsB,aAAA,CAACrB,GAAG;IACAsB,SAAS,EAAE,CACPN,iBAAiB,EACjBC,WAAW,EACXC,eAAe,EACfE,eAAe,EACfT,wBAAwB,EACxBQ,oBAAoB;EACtB,gBAEFpB,KAAA,CAAAsB,aAAA,CAACjB,IAAI,MAAE,CAAC,eACRL,KAAA,CAAAsB,aAAA,CAACX,YAAY,MAAE,CAAC,EACfG,QACA,CACI,CACF,CACH,CAAC;AAEzB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","App","ThemeProvider","WcpProvider","createApolloProvider","Base","createTelemetryProvider","createUiStateProvider","createAdminUiStateProvider","createUiProviders","createDialogsProvider","DefaultIcons","IconPickerConfigProvider","Admin","children","createApolloClient","ApolloProvider","TelemetryProvider","UIProviders","UiStateProvider","AdminUiStateProvider","DialogsProvider","createElement","providers"],"sources":["Admin.tsx"],"sourcesContent":["import React from \"react\";\nimport { App } from \"@webiny/app\";\nimport { ThemeProvider } from \"@webiny/app-theme\";\nimport { WcpProvider } from \"@webiny/app-wcp\";\nimport type { ApolloClientFactory } from \"./providers/ApolloProvider\";\nimport { createApolloProvider } from \"./providers/ApolloProvider\";\nimport { Base } from \"./Base\";\nimport { createTelemetryProvider } from \"./providers/TelemetryProvider\";\nimport { createUiStateProvider } from \"./providers/UiStateProvider\";\nimport { createAdminUiStateProvider } from \"./providers/AdminUiStateProvider\";\nimport { createUiProviders } from \"./providers/UiProviders\";\nimport { createDialogsProvider } from \"~/components/Dialogs/DialogsContext\";\nimport { DefaultIcons, IconPickerConfigProvider } from \"~/components/IconPicker/config\";\n\nexport interface AdminProps {\n createApolloClient: ApolloClientFactory;\n children?: React.ReactNode;\n}\n\nexport const Admin = ({ children, createApolloClient }: AdminProps) => {\n const ApolloProvider = createApolloProvider(createApolloClient);\n const TelemetryProvider = createTelemetryProvider();\n const UIProviders = createUiProviders();\n const UiStateProvider = createUiStateProvider();\n const AdminUiStateProvider = createAdminUiStateProvider();\n const DialogsProvider = createDialogsProvider();\n\n return (\n <ApolloProvider>\n <ThemeProvider>\n <WcpProvider>\n <App\n providers={[\n TelemetryProvider,\n UIProviders,\n UiStateProvider,\n DialogsProvider,\n IconPickerConfigProvider,\n AdminUiStateProvider\n ]}\n >\n <Base />\n <DefaultIcons />\n {children}\n </App>\n </WcpProvider>\n </ThemeProvider>\n </ApolloProvider>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,GAAG,QAAQ,aAAa;AACjC,SAASC,aAAa,QAAQ,mBAAmB;AACjD,SAASC,WAAW,QAAQ,iBAAiB;AAE7C,SAASC,oBAAoB;AAC7B,SAASC,IAAI;AACb,SAASC,uBAAuB;AAChC,SAASC,qBAAqB;AAC9B,SAASC,0BAA0B;AACnC,SAASC,iBAAiB;AAC1B,SAASC,qBAAqB;AAC9B,SAASC,YAAY,EAAEC,wBAAwB;AAO/C,OAAO,MAAMC,KAAK,GAAGA,CAAC;EAAEC,QAAQ;EAAEC;AAA+B,CAAC,KAAK;EACnE,MAAMC,cAAc,GAAGZ,oBAAoB,CAACW,kBAAkB,CAAC;EAC/D,MAAME,iBAAiB,GAAGX,uBAAuB,CAAC,CAAC;EACnD,MAAMY,WAAW,GAAGT,iBAAiB,CAAC,CAAC;EACvC,MAAMU,eAAe,GAAGZ,qBAAqB,CAAC,CAAC;EAC/C,MAAMa,oBAAoB,GAAGZ,0BAA0B,CAAC,CAAC;EACzD,MAAMa,eAAe,GAAGX,qBAAqB,CAAC,CAAC;EAE/C,oBACIV,KAAA,CAAAsB,aAAA,CAACN,cAAc,qBACXhB,KAAA,CAAAsB,aAAA,CAACpB,aAAa,qBACVF,KAAA,CAAAsB,aAAA,CAACnB,WAAW,qBACRH,KAAA,CAAAsB,aAAA,CAACrB,GAAG;IACAsB,SAAS,EAAE,CACPN,iBAAiB,EACjBC,WAAW,EACXC,eAAe,EACfE,eAAe,EACfT,wBAAwB,EACxBQ,oBAAoB;EACtB,gBAEFpB,KAAA,CAAAsB,aAAA,CAACjB,IAAI,MAAE,CAAC,eACRL,KAAA,CAAAsB,aAAA,CAACX,YAAY,MAAE,CAAC,EACfG,QACA,CACI,CACF,CACH,CAAC;AAEzB,CAAC","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { DocumentNode } from "graphql";
1
+ import type { DocumentNode } from "graphql";
2
2
  interface Props {
3
3
  operationName: string;
4
4
  selectionPath: string;
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useState","plugins","generateId","AddQuerySelectionPlugin","AddGraphQLQuerySelection","props","name","operationName","plugin","register","unregister"],"sources":["AddGraphQLQuerySelection.tsx"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport { plugins } from \"@webiny/plugins\";\nimport { generateId } from \"@webiny/utils\";\nimport { AddQuerySelectionPlugin } from \"@webiny/app/plugins/AddQuerySelectionPlugin\";\nimport { DocumentNode } from \"graphql\";\n\ninterface Props {\n operationName: string;\n selectionPath: string;\n addSelection: DocumentNode;\n}\n\nexport const AddGraphQLQuerySelection = (props: Props) => {\n const [name] = useState(`AddGraphQLQuerySelection:${props.operationName}:${generateId()}`);\n\n useEffect(() => {\n const plugin = new AddQuerySelectionPlugin(props);\n\n plugin.name = name;\n plugins.register(plugin);\n\n return () => {\n plugins.unregister(name);\n };\n }, []);\n\n return null;\n};\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,OAAO,QAAQ,iBAAiB;AACzC,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,uBAAuB,QAAQ,6CAA6C;AASrF,OAAO,MAAMC,wBAAwB,GAAIC,KAAY,IAAK;EACtD,MAAM,CAACC,IAAI,CAAC,GAAGN,QAAQ,CAAC,4BAA4BK,KAAK,CAACE,aAAa,IAAIL,UAAU,CAAC,CAAC,EAAE,CAAC;EAE1FH,SAAS,CAAC,MAAM;IACZ,MAAMS,MAAM,GAAG,IAAIL,uBAAuB,CAACE,KAAK,CAAC;IAEjDG,MAAM,CAACF,IAAI,GAAGA,IAAI;IAClBL,OAAO,CAACQ,QAAQ,CAACD,MAAM,CAAC;IAExB,OAAO,MAAM;MACTP,OAAO,CAACS,UAAU,CAACJ,IAAI,CAAC;IAC5B,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO,IAAI;AACf,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useState","plugins","generateId","AddQuerySelectionPlugin","AddGraphQLQuerySelection","props","name","operationName","plugin","register","unregister"],"sources":["AddGraphQLQuerySelection.tsx"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport { plugins } from \"@webiny/plugins\";\nimport { generateId } from \"@webiny/utils\";\nimport { AddQuerySelectionPlugin } from \"@webiny/app/plugins/AddQuerySelectionPlugin\";\nimport type { DocumentNode } from \"graphql\";\n\ninterface Props {\n operationName: string;\n selectionPath: string;\n addSelection: DocumentNode;\n}\n\nexport const AddGraphQLQuerySelection = (props: Props) => {\n const [name] = useState(`AddGraphQLQuerySelection:${props.operationName}:${generateId()}`);\n\n useEffect(() => {\n const plugin = new AddQuerySelectionPlugin(props);\n\n plugin.name = name;\n plugins.register(plugin);\n\n return () => {\n plugins.unregister(name);\n };\n }, []);\n\n return null;\n};\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,OAAO,QAAQ,iBAAiB;AACzC,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,uBAAuB,QAAQ,6CAA6C;AASrF,OAAO,MAAMC,wBAAwB,GAAIC,KAAY,IAAK;EACtD,MAAM,CAACC,IAAI,CAAC,GAAGN,QAAQ,CAAC,4BAA4BK,KAAK,CAACE,aAAa,IAAIL,UAAU,CAAC,CAAC,EAAE,CAAC;EAE1FH,SAAS,CAAC,MAAM;IACZ,MAAMS,MAAM,GAAG,IAAIL,uBAAuB,CAACE,KAAK,CAAC;IAEjDG,MAAM,CAACF,IAAI,GAAGA,IAAI;IAClBL,OAAO,CAACQ,QAAQ,CAACD,MAAM,CAAC;IAExB,OAAO,MAAM;MACTP,OAAO,CAACS,UAAU,CAACJ,IAAI,CAAC;IAC5B,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO,IAAI;AACf,CAAC","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import ApolloClient from "apollo-client";
2
+ import type ApolloClient from "apollo-client";
3
3
  interface Options {
4
4
  uri: string;
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","ApolloProvider","Apollo","createApolloProvider","clientFactory","children","uri","process","env","REACT_APP_GRAPHQL_API_URL","createElement","client"],"sources":["ApolloProvider.tsx"],"sourcesContent":["import React from \"react\";\nimport { ApolloProvider as Apollo } from \"@apollo/react-components\";\nimport ApolloClient from \"apollo-client\";\n\ninterface Options {\n uri: string;\n}\n\nexport interface ApolloClientFactory {\n (options: Options): ApolloClient<any>;\n}\n\ninterface ApolloProviderProps {\n children: React.ReactNode;\n}\n\nexport const createApolloProvider = (clientFactory: ApolloClientFactory) => {\n return function ApolloProvider({ children }: ApolloProviderProps) {\n const uri = process.env.REACT_APP_GRAPHQL_API_URL as string;\n return <Apollo client={clientFactory({ uri })}>{children}</Apollo>;\n };\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,cAAc,IAAIC,MAAM,QAAQ,0BAA0B;AAenE,OAAO,MAAMC,oBAAoB,GAAIC,aAAkC,IAAK;EACxE,OAAO,SAASH,cAAcA,CAAC;IAAEI;EAA8B,CAAC,EAAE;IAC9D,MAAMC,GAAG,GAAGC,OAAO,CAACC,GAAG,CAACC,yBAAmC;IAC3D,oBAAOT,KAAA,CAAAU,aAAA,CAACR,MAAM;MAACS,MAAM,EAAEP,aAAa,CAAC;QAAEE;MAAI,CAAC;IAAE,GAAED,QAAiB,CAAC;EACtE,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","ApolloProvider","Apollo","createApolloProvider","clientFactory","children","uri","process","env","REACT_APP_GRAPHQL_API_URL","createElement","client"],"sources":["ApolloProvider.tsx"],"sourcesContent":["import React from \"react\";\nimport { ApolloProvider as Apollo } from \"@apollo/react-components\";\nimport type ApolloClient from \"apollo-client\";\n\ninterface Options {\n uri: string;\n}\n\nexport interface ApolloClientFactory {\n (options: Options): ApolloClient<any>;\n}\n\ninterface ApolloProviderProps {\n children: React.ReactNode;\n}\n\nexport const createApolloProvider = (clientFactory: ApolloClientFactory) => {\n return function ApolloProvider({ children }: ApolloProviderProps) {\n const uri = process.env.REACT_APP_GRAPHQL_API_URL as string;\n return <Apollo client={clientFactory({ uri })}>{children}</Apollo>;\n };\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,cAAc,IAAIC,MAAM,QAAQ,0BAA0B;AAenE,OAAO,MAAMC,oBAAoB,GAAIC,aAAkC,IAAK;EACxE,OAAO,SAASH,cAAcA,CAAC;IAAEI;EAA8B,CAAC,EAAE;IAC9D,MAAMC,GAAG,GAAGC,OAAO,CAACC,GAAG,CAACC,yBAAmC;IAC3D,oBAAOT,KAAA,CAAAU,aAAA,CAACR,MAAM;MAACS,MAAM,EAAEP,aAAa,CAAC;QAAEE;MAAI,CAAC;IAAE,GAAED,QAAiB,CAAC;EACtE,CAAC;AACL,CAAC","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { ComponentWithChildren } from "../../types";
2
+ import type { ComponentWithChildren } from "../../types";
3
3
  export interface ViewElement {
4
4
  name: string;
5
5
  elements: JSX.Element[];
@@ -1 +1 @@
1
- {"version":3,"names":["React","createContext","useContext","useMemo","useState","ViewCompositionContext","getViewElement","setViewElement","displayName","ViewCompositionProvider","children","state","setState","context","view","name","setter","existing","createElement","Provider","value","useViewComposition","createViewCompositionProvider","Component","ViewCompositionProviderHOC"],"sources":["ViewCompositionProvider.tsx"],"sourcesContent":["import React, { createContext, useContext, useMemo, useState } from \"react\";\nimport { ComponentWithChildren } from \"~/types\";\n\nexport interface ViewElement {\n name: string;\n elements: JSX.Element[];\n label?: string;\n [key: string]: any;\n}\n\ninterface ElementSetter {\n (element: ViewElement): ViewElement;\n}\n\nexport interface ViewCompositionContext {\n getViewElement(view: string, name: string): ViewElement | null;\n setViewElement(view: string, name: string, setter: ElementSetter): void;\n}\n\nconst ViewCompositionContext = createContext<ViewCompositionContext>({\n getViewElement: () => {\n return null;\n },\n setViewElement: () => {\n return void 0;\n }\n});\nViewCompositionContext.displayName = \"ViewCompositionContext\";\n\ninterface ViewCompositionProviderState {\n [key: string]: Record<string, any>;\n}\ninterface ViewCompositionProviderProps {\n children: React.ReactNode;\n}\nconst ViewCompositionProvider = ({ children }: ViewCompositionProviderProps) => {\n const [state, setState] = useState<ViewCompositionProviderState>({});\n\n const context = useMemo(\n () => ({\n getViewElement(view: string, name: string): ViewElement {\n return state[view] && state[view][name];\n },\n setViewElement(view: string, name: string, setter: ElementSetter) {\n setState(state => {\n const existing = state[view] && state[view][name];\n return {\n ...state,\n [view]: {\n ...state[view],\n [name]: setter(existing)\n }\n };\n });\n }\n }),\n [state]\n );\n\n return (\n <ViewCompositionContext.Provider value={context}>\n {children}\n </ViewCompositionContext.Provider>\n );\n};\n\nexport function useViewComposition() {\n return useContext(ViewCompositionContext);\n}\n\ninterface ViewCompositionProviderHOCProps {\n children: React.ReactNode;\n}\n\nexport const createViewCompositionProvider = () => (Component: ComponentWithChildren) => {\n return function ViewCompositionProviderHOC({ children }: ViewCompositionProviderHOCProps) {\n return (\n <ViewCompositionProvider>\n <Component>{children}</Component>\n </ViewCompositionProvider>\n );\n };\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AAmB3E,MAAMC,sBAAsB,gBAAGJ,aAAa,CAAyB;EACjEK,cAAc,EAAEA,CAAA,KAAM;IAClB,OAAO,IAAI;EACf,CAAC;EACDC,cAAc,EAAEA,CAAA,KAAM;IAClB,OAAO,KAAK,CAAC;EACjB;AACJ,CAAC,CAAC;AACFF,sBAAsB,CAACG,WAAW,GAAG,wBAAwB;AAQ7D,MAAMC,uBAAuB,GAAGA,CAAC;EAAEC;AAAuC,CAAC,KAAK;EAC5E,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGR,QAAQ,CAA+B,CAAC,CAAC,CAAC;EAEpE,MAAMS,OAAO,GAAGV,OAAO,CACnB,OAAO;IACHG,cAAcA,CAACQ,IAAY,EAAEC,IAAY,EAAe;MACpD,OAAOJ,KAAK,CAACG,IAAI,CAAC,IAAIH,KAAK,CAACG,IAAI,CAAC,CAACC,IAAI,CAAC;IAC3C,CAAC;IACDR,cAAcA,CAACO,IAAY,EAAEC,IAAY,EAAEC,MAAqB,EAAE;MAC9DJ,QAAQ,CAACD,KAAK,IAAI;QACd,MAAMM,QAAQ,GAAGN,KAAK,CAACG,IAAI,CAAC,IAAIH,KAAK,CAACG,IAAI,CAAC,CAACC,IAAI,CAAC;QACjD,OAAO;UACH,GAAGJ,KAAK;UACR,CAACG,IAAI,GAAG;YACJ,GAAGH,KAAK,CAACG,IAAI,CAAC;YACd,CAACC,IAAI,GAAGC,MAAM,CAACC,QAAQ;UAC3B;QACJ,CAAC;MACL,CAAC,CAAC;IACN;EACJ,CAAC,CAAC,EACF,CAACN,KAAK,CACV,CAAC;EAED,oBACIX,KAAA,CAAAkB,aAAA,CAACb,sBAAsB,CAACc,QAAQ;IAACC,KAAK,EAAEP;EAAQ,GAC3CH,QAC4B,CAAC;AAE1C,CAAC;AAED,OAAO,SAASW,kBAAkBA,CAAA,EAAG;EACjC,OAAOnB,UAAU,CAACG,sBAAsB,CAAC;AAC7C;AAMA,OAAO,MAAMiB,6BAA6B,GAAGA,CAAA,KAAOC,SAAgC,IAAK;EACrF,OAAO,SAASC,0BAA0BA,CAAC;IAAEd;EAA0C,CAAC,EAAE;IACtF,oBACIV,KAAA,CAAAkB,aAAA,CAACT,uBAAuB,qBACpBT,KAAA,CAAAkB,aAAA,CAACK,SAAS,QAAEb,QAAoB,CACX,CAAC;EAElC,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","createContext","useContext","useMemo","useState","ViewCompositionContext","getViewElement","setViewElement","displayName","ViewCompositionProvider","children","state","setState","context","view","name","setter","existing","createElement","Provider","value","useViewComposition","createViewCompositionProvider","Component","ViewCompositionProviderHOC"],"sources":["ViewCompositionProvider.tsx"],"sourcesContent":["import React, { createContext, useContext, useMemo, useState } from \"react\";\nimport type { ComponentWithChildren } from \"~/types\";\n\nexport interface ViewElement {\n name: string;\n elements: JSX.Element[];\n label?: string;\n [key: string]: any;\n}\n\ninterface ElementSetter {\n (element: ViewElement): ViewElement;\n}\n\nexport interface ViewCompositionContext {\n getViewElement(view: string, name: string): ViewElement | null;\n setViewElement(view: string, name: string, setter: ElementSetter): void;\n}\n\nconst ViewCompositionContext = createContext<ViewCompositionContext>({\n getViewElement: () => {\n return null;\n },\n setViewElement: () => {\n return void 0;\n }\n});\nViewCompositionContext.displayName = \"ViewCompositionContext\";\n\ninterface ViewCompositionProviderState {\n [key: string]: Record<string, any>;\n}\ninterface ViewCompositionProviderProps {\n children: React.ReactNode;\n}\nconst ViewCompositionProvider = ({ children }: ViewCompositionProviderProps) => {\n const [state, setState] = useState<ViewCompositionProviderState>({});\n\n const context = useMemo(\n () => ({\n getViewElement(view: string, name: string): ViewElement {\n return state[view] && state[view][name];\n },\n setViewElement(view: string, name: string, setter: ElementSetter) {\n setState(state => {\n const existing = state[view] && state[view][name];\n return {\n ...state,\n [view]: {\n ...state[view],\n [name]: setter(existing)\n }\n };\n });\n }\n }),\n [state]\n );\n\n return (\n <ViewCompositionContext.Provider value={context}>\n {children}\n </ViewCompositionContext.Provider>\n );\n};\n\nexport function useViewComposition() {\n return useContext(ViewCompositionContext);\n}\n\ninterface ViewCompositionProviderHOCProps {\n children: React.ReactNode;\n}\n\nexport const createViewCompositionProvider = () => (Component: ComponentWithChildren) => {\n return function ViewCompositionProviderHOC({ children }: ViewCompositionProviderHOCProps) {\n return (\n <ViewCompositionProvider>\n <Component>{children}</Component>\n </ViewCompositionProvider>\n );\n };\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AAmB3E,MAAMC,sBAAsB,gBAAGJ,aAAa,CAAyB;EACjEK,cAAc,EAAEA,CAAA,KAAM;IAClB,OAAO,IAAI;EACf,CAAC;EACDC,cAAc,EAAEA,CAAA,KAAM;IAClB,OAAO,KAAK,CAAC;EACjB;AACJ,CAAC,CAAC;AACFF,sBAAsB,CAACG,WAAW,GAAG,wBAAwB;AAQ7D,MAAMC,uBAAuB,GAAGA,CAAC;EAAEC;AAAuC,CAAC,KAAK;EAC5E,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGR,QAAQ,CAA+B,CAAC,CAAC,CAAC;EAEpE,MAAMS,OAAO,GAAGV,OAAO,CACnB,OAAO;IACHG,cAAcA,CAACQ,IAAY,EAAEC,IAAY,EAAe;MACpD,OAAOJ,KAAK,CAACG,IAAI,CAAC,IAAIH,KAAK,CAACG,IAAI,CAAC,CAACC,IAAI,CAAC;IAC3C,CAAC;IACDR,cAAcA,CAACO,IAAY,EAAEC,IAAY,EAAEC,MAAqB,EAAE;MAC9DJ,QAAQ,CAACD,KAAK,IAAI;QACd,MAAMM,QAAQ,GAAGN,KAAK,CAACG,IAAI,CAAC,IAAIH,KAAK,CAACG,IAAI,CAAC,CAACC,IAAI,CAAC;QACjD,OAAO;UACH,GAAGJ,KAAK;UACR,CAACG,IAAI,GAAG;YACJ,GAAGH,KAAK,CAACG,IAAI,CAAC;YACd,CAACC,IAAI,GAAGC,MAAM,CAACC,QAAQ;UAC3B;QACJ,CAAC;MACL,CAAC,CAAC;IACN;EACJ,CAAC,CAAC,EACF,CAACN,KAAK,CACV,CAAC;EAED,oBACIX,KAAA,CAAAkB,aAAA,CAACb,sBAAsB,CAACc,QAAQ;IAACC,KAAK,EAAEP;EAAQ,GAC3CH,QAC4B,CAAC;AAE1C,CAAC;AAED,OAAO,SAASW,kBAAkBA,CAAA,EAAG;EACjC,OAAOnB,UAAU,CAACG,sBAAsB,CAAC;AAC7C;AAMA,OAAO,MAAMiB,6BAA6B,GAAGA,CAAA,KAAOC,SAAgC,IAAK;EACrF,OAAO,SAASC,0BAA0BA,CAAC;IAAEd;EAA0C,CAAC,EAAE;IACtF,oBACIV,KAAA,CAAAkB,aAAA,CAACT,uBAAuB,qBACpBT,KAAA,CAAAkB,aAAA,CAACK,SAAS,QAAEb,QAAoB,CACX,CAAC;EAElC,CAAC;AACL,CAAC","ignoreList":[]}
@@ -1,6 +1,8 @@
1
1
  import React from "react";
2
2
  export interface LayoutProps {
3
3
  title?: string;
4
+ startElement?: React.ReactNode;
5
+ hideNavigation?: boolean;
4
6
  children: React.ReactNode;
5
7
  }
6
8
  export declare const Layout: (({ children, ...props }: LayoutProps) => React.JSX.Element) & {
@@ -1 +1 @@
1
- {"version":3,"names":["React","createVoidComponent","makeDecoratable","Layout","children","props","createElement","LayoutRenderer"],"sources":["Layout.tsx"],"sourcesContent":["import React from \"react\";\nimport { createVoidComponent, makeDecoratable } from \"@webiny/app\";\n\nexport interface LayoutProps {\n title?: string;\n children: React.ReactNode;\n}\n\nexport const Layout = makeDecoratable(\"Layout\", ({ children, ...props }: LayoutProps) => {\n return <LayoutRenderer {...props}>{children}</LayoutRenderer>;\n});\n\nexport const LayoutRenderer = makeDecoratable(\"LayoutRenderer\", createVoidComponent<LayoutProps>());\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,mBAAmB,EAAEC,eAAe,QAAQ,aAAa;AAOlE,OAAO,MAAMC,MAAM,GAAGD,eAAe,CAAC,QAAQ,EAAE,CAAC;EAAEE,QAAQ;EAAE,GAAGC;AAAmB,CAAC,KAAK;EACrF,oBAAOL,KAAA,CAAAM,aAAA,CAACC,cAAc,EAAKF,KAAK,EAAGD,QAAyB,CAAC;AACjE,CAAC,CAAC;AAEF,OAAO,MAAMG,cAAc,GAAGL,eAAe,CAAC,gBAAgB,EAAED,mBAAmB,CAAc,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","createVoidComponent","makeDecoratable","Layout","children","props","createElement","LayoutRenderer"],"sources":["Layout.tsx"],"sourcesContent":["import React from \"react\";\nimport { createVoidComponent, makeDecoratable } from \"@webiny/app\";\n\nexport interface LayoutProps {\n title?: string;\n startElement?: React.ReactNode;\n hideNavigation?: boolean;\n children: React.ReactNode;\n}\n\nexport const Layout = makeDecoratable(\"Layout\", ({ children, ...props }: LayoutProps) => {\n return <LayoutRenderer {...props}>{children}</LayoutRenderer>;\n});\n\nexport const LayoutRenderer = makeDecoratable(\"LayoutRenderer\", createVoidComponent<LayoutProps>());\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,mBAAmB,EAAEC,eAAe,QAAQ,aAAa;AASlE,OAAO,MAAMC,MAAM,GAAGD,eAAe,CAAC,QAAQ,EAAE,CAAC;EAAEE,QAAQ;EAAE,GAAGC;AAAmB,CAAC,KAAK;EACrF,oBAAOL,KAAA,CAAAM,aAAA,CAACC,cAAc,EAAKF,KAAK,EAAGD,QAAyB,CAAC;AACjE,CAAC,CAAC;AAEF,OAAO,MAAMG,cAAc,GAAGL,eAAe,CAAC,gBAAgB,EAAED,mBAAmB,CAAc,CAAC,CAAC","ignoreList":[]}
@@ -2,6 +2,7 @@ import React from "react";
2
2
  export interface LoginScreenProps {
3
3
  children: React.ReactNode;
4
4
  }
5
+ export declare const useIsInLoginScreen: () => boolean;
5
6
  export declare const LoginScreen: ({ children }: LoginScreenProps) => React.JSX.Element;
6
7
  export declare const LoginScreenRenderer: ((props: LoginScreenProps) => JSX.Element | null) & {
7
8
  original: (props: LoginScreenProps) => JSX.Element | null;
@@ -1,6 +1,12 @@
1
1
  import React from "react";
2
2
  import { createVoidComponent, makeDecoratable } from "@webiny/app";
3
- import { Tags } from "./Tags";
3
+ import { Tags, useTags } from "./Tags";
4
+ export const useIsInLoginScreen = () => {
5
+ const {
6
+ location
7
+ } = useTags();
8
+ return location === "loginScreen";
9
+ };
4
10
  export const LoginScreen = ({
5
11
  children
6
12
  }) => {
@@ -8,7 +14,11 @@ export const LoginScreen = ({
8
14
  tags: {
9
15
  location: "loginScreen"
10
16
  }
11
- }, /*#__PURE__*/React.createElement(LoginScreenRenderer, null, children));
17
+ }, /*#__PURE__*/React.createElement(LoginScreenRenderer, null, /*#__PURE__*/React.createElement(Tags, {
18
+ tags: {
19
+ location: "loggedIn"
20
+ }
21
+ }, children)));
12
22
  };
13
23
  export const LoginScreenRenderer = makeDecoratable("LoginScreenRenderer", createVoidComponent());
14
24
 
@@ -1 +1 @@
1
- {"version":3,"names":["React","createVoidComponent","makeDecoratable","Tags","LoginScreen","children","createElement","tags","location","LoginScreenRenderer"],"sources":["LoginScreen.tsx"],"sourcesContent":["import React from \"react\";\nimport { createVoidComponent, makeDecoratable } from \"@webiny/app\";\nimport { Tags } from \"./Tags\";\n\nexport interface LoginScreenProps {\n children: React.ReactNode;\n}\n\nexport const LoginScreen = ({ children }: LoginScreenProps) => {\n return (\n <Tags tags={{ location: \"loginScreen\" }}>\n <LoginScreenRenderer>{children}</LoginScreenRenderer>\n </Tags>\n );\n};\n\nexport const LoginScreenRenderer = makeDecoratable(\n \"LoginScreenRenderer\",\n createVoidComponent<LoginScreenProps>()\n);\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,mBAAmB,EAAEC,eAAe,QAAQ,aAAa;AAClE,SAASC,IAAI;AAMb,OAAO,MAAMC,WAAW,GAAGA,CAAC;EAAEC;AAA2B,CAAC,KAAK;EAC3D,oBACIL,KAAA,CAAAM,aAAA,CAACH,IAAI;IAACI,IAAI,EAAE;MAAEC,QAAQ,EAAE;IAAc;EAAE,gBACpCR,KAAA,CAAAM,aAAA,CAACG,mBAAmB,QAAEJ,QAA8B,CAClD,CAAC;AAEf,CAAC;AAED,OAAO,MAAMI,mBAAmB,GAAGP,eAAe,CAC9C,qBAAqB,EACrBD,mBAAmB,CAAmB,CAC1C,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","createVoidComponent","makeDecoratable","Tags","useTags","useIsInLoginScreen","location","LoginScreen","children","createElement","tags","LoginScreenRenderer"],"sources":["LoginScreen.tsx"],"sourcesContent":["import React from \"react\";\nimport { createVoidComponent, makeDecoratable } from \"@webiny/app\";\nimport { Tags, useTags } from \"./Tags\";\n\nexport interface LoginScreenProps {\n children: React.ReactNode;\n}\n\nexport const useIsInLoginScreen = () => {\n const { location } = useTags();\n return location === \"loginScreen\";\n};\n\nexport const LoginScreen = ({ children }: LoginScreenProps) => {\n return (\n <Tags tags={{ location: \"loginScreen\" }}>\n <LoginScreenRenderer>\n <Tags tags={{ location: \"loggedIn\" }}>{children}</Tags>\n </LoginScreenRenderer>\n </Tags>\n );\n};\n\nexport const LoginScreenRenderer = makeDecoratable(\n \"LoginScreenRenderer\",\n createVoidComponent<LoginScreenProps>()\n);\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,mBAAmB,EAAEC,eAAe,QAAQ,aAAa;AAClE,SAASC,IAAI,EAAEC,OAAO;AAMtB,OAAO,MAAMC,kBAAkB,GAAGA,CAAA,KAAM;EACpC,MAAM;IAAEC;EAAS,CAAC,GAAGF,OAAO,CAAC,CAAC;EAC9B,OAAOE,QAAQ,KAAK,aAAa;AACrC,CAAC;AAED,OAAO,MAAMC,WAAW,GAAGA,CAAC;EAAEC;AAA2B,CAAC,KAAK;EAC3D,oBACIR,KAAA,CAAAS,aAAA,CAACN,IAAI;IAACO,IAAI,EAAE;MAAEJ,QAAQ,EAAE;IAAc;EAAE,gBACpCN,KAAA,CAAAS,aAAA,CAACE,mBAAmB,qBAChBX,KAAA,CAAAS,aAAA,CAACN,IAAI;IAACO,IAAI,EAAE;MAAEJ,QAAQ,EAAE;IAAW;EAAE,GAAEE,QAAe,CACrC,CACnB,CAAC;AAEf,CAAC;AAED,OAAO,MAAMG,mBAAmB,GAAGT,eAAe,CAC9C,qBAAqB,EACrBD,mBAAmB,CAAmB,CAC1C,CAAC","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  import React from "react";
2
+ export declare const useIsInNavigation: () => boolean;
2
3
  export declare const Navigation: (() => React.JSX.Element) & {
3
4
  original: () => React.JSX.Element;
4
5
  originalName: string;
@@ -1,7 +1,18 @@
1
1
  import React from "react";
2
2
  import { createVoidComponent, makeDecoratable } from "@webiny/app";
3
+ import { Tags, useTags } from "./Tags";
4
+ export const useIsInNavigation = () => {
5
+ const {
6
+ location
7
+ } = useTags();
8
+ return location === "navigation";
9
+ };
3
10
  export const Navigation = makeDecoratable("Navigation", () => {
4
- return /*#__PURE__*/React.createElement(NavigationRenderer, null);
11
+ return /*#__PURE__*/React.createElement(Tags, {
12
+ tags: {
13
+ location: "navigation"
14
+ }
15
+ }, /*#__PURE__*/React.createElement(NavigationRenderer, null));
5
16
  });
6
17
  export const NavigationRenderer = makeDecoratable("NavigationRenderer", createVoidComponent());
7
18
 
@@ -1 +1 @@
1
- {"version":3,"names":["React","createVoidComponent","makeDecoratable","Navigation","createElement","NavigationRenderer"],"sources":["Navigation.tsx"],"sourcesContent":["import React from \"react\";\nimport { createVoidComponent, makeDecoratable } from \"@webiny/app\";\n\nexport const Navigation = makeDecoratable(\"Navigation\", () => {\n return <NavigationRenderer />;\n});\n\nexport const NavigationRenderer = makeDecoratable(\"NavigationRenderer\", createVoidComponent());\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,mBAAmB,EAAEC,eAAe,QAAQ,aAAa;AAElE,OAAO,MAAMC,UAAU,GAAGD,eAAe,CAAC,YAAY,EAAE,MAAM;EAC1D,oBAAOF,KAAA,CAAAI,aAAA,CAACC,kBAAkB,MAAE,CAAC;AACjC,CAAC,CAAC;AAEF,OAAO,MAAMA,kBAAkB,GAAGH,eAAe,CAAC,oBAAoB,EAAED,mBAAmB,CAAC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","createVoidComponent","makeDecoratable","Tags","useTags","useIsInNavigation","location","Navigation","createElement","tags","NavigationRenderer"],"sources":["Navigation.tsx"],"sourcesContent":["import React from \"react\";\nimport { createVoidComponent, makeDecoratable } from \"@webiny/app\";\nimport { Tags, useTags } from \"~/base/ui/Tags\";\n\nexport const useIsInNavigation = () => {\n const { location } = useTags();\n return location === \"navigation\";\n};\n\nexport const Navigation = makeDecoratable(\"Navigation\", () => {\n return (\n <Tags tags={{ location: \"navigation\" }}>\n <NavigationRenderer />\n </Tags>\n );\n});\n\nexport const NavigationRenderer = makeDecoratable(\"NavigationRenderer\", createVoidComponent());\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,mBAAmB,EAAEC,eAAe,QAAQ,aAAa;AAClE,SAASC,IAAI,EAAEC,OAAO;AAEtB,OAAO,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;EACnC,MAAM;IAAEC;EAAS,CAAC,GAAGF,OAAO,CAAC,CAAC;EAC9B,OAAOE,QAAQ,KAAK,YAAY;AACpC,CAAC;AAED,OAAO,MAAMC,UAAU,GAAGL,eAAe,CAAC,YAAY,EAAE,MAAM;EAC1D,oBACIF,KAAA,CAAAQ,aAAA,CAACL,IAAI;IAACM,IAAI,EAAE;MAAEH,QAAQ,EAAE;IAAa;EAAE,gBACnCN,KAAA,CAAAQ,aAAA,CAACE,kBAAkB,MAAE,CACnB,CAAC;AAEf,CAAC,CAAC;AAEF,OAAO,MAAMA,kBAAkB,GAAGR,eAAe,CAAC,oBAAoB,EAAED,mBAAmB,CAAC,CAAC,CAAC","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { Installer } from "./useInstaller";
2
+ import type { Installer } from "./useInstaller";
3
3
  interface SidebarProps {
4
4
  allInstallers: Installer[];
5
5
  installer: Installer;
@@ -17,7 +17,7 @@ const List = /*#__PURE__*/_styled("ul", process.env.NODE_ENV === "production" ?
17
17
  } : {
18
18
  name: "1u5uctp",
19
19
  styles: "li{display:flex;align-items:center;padding:15px 15px;.status{border-radius:50%;display:inline-block;height:20px;width:20px;margin-right:15px;}&.sign-in{display:block;text-align:center;.note{display:inline-block;line-height:150%;font-size:10px;padding-top:10px;color:var(--mdc-theme-text-icon-on-background);}img{width:100%;}}&.active{background-color:var(--mdc-theme-background);font-weight:600;.status{background-color:var(--mdc-theme-primary);}}&.pending{.status{background-color:var(--mdc-theme-on-surface);}}&.installed{.status{background-color:var(--mdc-theme-secondary);}}}",
20
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNpZGViYXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNhIiwiZmlsZSI6IlNpZGViYXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgY2xhc3NTZXQgZnJvbSBcImNsYXNzbmFtZXNcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgVHlwb2dyYXBoeSB9IGZyb20gXCJAd2ViaW55L3VpL1R5cG9ncmFwaHlcIjtcbmltcG9ydCBzaWduSW5EaXZpZGVyIGZyb20gXCIuL2Fzc2V0cy9zaWduLWluLWRpdmlkZXIuc3ZnXCI7XG5pbXBvcnQgeyBJbnN0YWxsZXIgfSBmcm9tIFwiLi91c2VJbnN0YWxsZXJcIjtcbmltcG9ydCB7IFRhZ3MgfSBmcm9tIFwifi9iYXNlL3VpL1RhZ3NcIjtcbmltcG9ydCB7IExvZ28gfSBmcm9tIFwifi9iYXNlL3VpL0xvZ29cIjtcblxuY29uc3QgTGlzdCA9IHN0eWxlZChcInVsXCIpKHtcbiAgICBsaToge1xuICAgICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgICAgcGFkZGluZzogXCIxNXB4IDE1cHhcIixcbiAgICAgICAgXCIuc3RhdHVzXCI6IHtcbiAgICAgICAgICAgIGJvcmRlclJhZGl1czogXCI1MCVcIixcbiAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lLWJsb2NrXCIsXG4gICAgICAgICAgICBoZWlnaHQ6IDIwLFxuICAgICAgICAgICAgd2lkdGg6IDIwLFxuICAgICAgICAgICAgbWFyZ2luUmlnaHQ6IDE1XG4gICAgICAgIH0sXG4gICAgICAgIFwiJi5zaWduLWluXCI6IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IFwiYmxvY2tcIixcbiAgICAgICAgICAgIHRleHRBbGlnbjogXCJjZW50ZXJcIixcbiAgICAgICAgICAgIFwiLm5vdGVcIjoge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lLWJsb2NrXCIsXG4gICAgICAgICAgICAgICAgbGluZUhlaWdodDogXCIxNTAlXCIsXG4gICAgICAgICAgICAgICAgZm9udFNpemU6IDEwLFxuICAgICAgICAgICAgICAgIHBhZGRpbmdUb3A6IDEwLFxuICAgICAgICAgICAgICAgIGNvbG9yOiBcInZhcigtLW1kYy10aGVtZS10ZXh0LWljb24tb24tYmFja2dyb3VuZClcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGltZzoge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBcIjEwMCVcIlxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcIiYuYWN0aXZlXCI6IHtcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogXCJ2YXIoLS1tZGMtdGhlbWUtYmFja2dyb3VuZClcIixcbiAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDYwMCxcbiAgICAgICAgICAgIFwiLnN0YXR1c1wiOiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBcInZhcigtLW1kYy10aGVtZS1wcmltYXJ5KVwiXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiJi5wZW5kaW5nXCI6IHtcbiAgICAgICAgICAgIFwiLnN0YXR1c1wiOiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBcInZhcigtLW1kYy10aGVtZS1vbi1zdXJmYWNlKVwiXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiJi5pbnN0YWxsZWRcIjoge1xuICAgICAgICAgICAgXCIuc3RhdHVzXCI6IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwidmFyKC0tbWRjLXRoZW1lLXNlY29uZGFyeSlcIlxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSk7XG5cbmNvbnN0IE5vdGUgPSBzdHlsZWQoXCJkaXZcIikoe1xuICAgIHBhZGRpbmc6IDE1XG59KTtcbmludGVyZmFjZSBJbnN0YWxsYXRpb25zUHJvcHMge1xuICAgIHRpdGxlOiBSZWFjdC5SZWFjdE5vZGU7XG4gICAgYWxsSW5zdGFsbGVyczogSW5zdGFsbGVyW107XG4gICAgaW5zdGFsbGVyOiBJbnN0YWxsZXI7XG4gICAgc2hvd0xvZ2luOiBib29sZWFuO1xufVxuY29uc3QgSW5zdGFsbGF0aW9ucyA9IChwcm9wczogSW5zdGFsbGF0aW9uc1Byb3BzKSA9PiB7XG4gICAgY29uc3QgeyB0aXRsZSwgYWxsSW5zdGFsbGVycywgaW5zdGFsbGVyLCBzaG93TG9naW4gfSA9IHByb3BzO1xuICAgIGNvbnN0IHJlbmRlckxpc3QgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGxvZ2luSXRlbSA9IChcbiAgICAgICAgICAgIDxsaSBrZXk9e1wibG9naW5cIn0gY2xhc3NOYW1lPXtcInNpZ24taW5cIn0+XG4gICAgICAgICAgICAgICAgPGltZyBzcmM9e3NpZ25JbkRpdmlkZXJ9IGFsdD17XCJcIn0gLz5cbiAgICAgICAgICAgICAgICA8VHlwb2dyYXBoeSB1c2U9e1wib3ZlcmxpbmVcIn0gY2xhc3NOYW1lPXtcIm5vdGVcIn0+XG4gICAgICAgICAgICAgICAgICAgIFRPIENPTlRJTlVFIFRIRSBJTlNUQUxMQVRJT04gQUZURVIgVEhJUyBQT0lOVCBZT1XigJlMTCBORUVEIFRPIFNJR04gSU5cbiAgICAgICAgICAgICAgICA8L1R5cG9ncmFwaHk+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGl0ZW1zID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYWxsSW5zdGFsbGVycy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgeyBuYW1lLCB0aXRsZSwgc2VjdXJlLCBpbnN0YWxsZWQgfSA9IGFsbEluc3RhbGxlcnNbaV07XG4gICAgICAgICAgICBjb25zdCBwcmV2ID0gaSA9PT0gMCA/IG51bGwgOiBhbGxJbnN0YWxsZXJzW2kgLSAxXTtcbiAgICAgICAgICAgIGlmICgoIXByZXYgfHwgIXByZXYuc2VjdXJlKSAmJiBzZWN1cmUgJiYgc2hvd0xvZ2luKSB7XG4gICAgICAgICAgICAgICAgaXRlbXMucHVzaChsb2dpbkl0ZW0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBhY3RpdmUgPSBpbnN0YWxsZXIgJiYgIXNob3dMb2dpbiAmJiBuYW1lID09PSBpbnN0YWxsZXIubmFtZTtcblxuICAgICAgICAgICAgaXRlbXMucHVzaChcbiAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAga2V5PXtuYW1lfVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzU2V0KFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBpbnN0YWxsZWQ6IGluc3RhbGxlZCB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBhY3RpdmU6IGFjdGl2ZSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBwZW5kaW5nOiAhaW5zdGFsbGVkICYmICFhY3RpdmUgfVxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtcInN0YXR1c1wifSAvPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e1widGl0bGVcIn0+e3RpdGxlfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXRlbXM7XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxGcmFnbWVudD5cbiAgICAgICAgICAgIDxOb3RlPlxuICAgICAgICAgICAgICAgIDxUeXBvZ3JhcGh5IHVzZT17XCJib2R5MVwifT57dGl0bGV9PC9UeXBvZ3JhcGh5PlxuICAgICAgICAgICAgPC9Ob3RlPlxuICAgICAgICAgICAgPExpc3Q+e3JlbmRlckxpc3QoKX08L0xpc3Q+XG4gICAgICAgIDwvRnJhZ21lbnQ+XG4gICAgKTtcbn07XG5cbmludGVyZmFjZSBTaWRlYmFyUHJvcHMge1xuICAgIGFsbEluc3RhbGxlcnM6IEluc3RhbGxlcltdO1xuICAgIGluc3RhbGxlcjogSW5zdGFsbGVyO1xuICAgIHNob3dMb2dpbjogYm9vbGVhbjtcbn1cblxuY29uc3QgU2lkZWJhciA9ICh7IGFsbEluc3RhbGxlcnMsIGluc3RhbGxlciwgc2hvd0xvZ2luIH06IFNpZGViYXJQcm9wcykgPT4ge1xuICAgIGNvbnN0IGluc3RhbGxhdGlvbnMgPSBhbGxJbnN0YWxsZXJzLmZpbHRlcihpbnN0YWxsZXIgPT4gaW5zdGFsbGVyLnR5cGUgPT09IFwiaW5zdGFsbFwiKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxUYWdzIHRhZ3M9e3sgbG9jYXRpb246IFwiaW5zdGFsbGVyXCIgfX0+XG4gICAgICAgICAgICA8TG9nbyAvPlxuICAgICAgICAgICAge2luc3RhbGxhdGlvbnMubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgICAgICAgPEluc3RhbGxhdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9e1wiVGhlIGZvbGxvd2luZyBhcHBzIHdpbGwgYmUgaW5zdGFsbGVkIGFuZCBjb25maWd1cmVkOlwifVxuICAgICAgICAgICAgICAgICAgICBhbGxJbnN0YWxsZXJzPXtpbnN0YWxsYXRpb25zfVxuICAgICAgICAgICAgICAgICAgICBpbnN0YWxsZXI9e2luc3RhbGxlcn1cbiAgICAgICAgICAgICAgICAgICAgc2hvd0xvZ2luPXtzaG93TG9naW59XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgIDwvVGFncz5cbiAgICApO1xufTtcbmV4cG9ydCBkZWZhdWx0IFNpZGViYXI7XG4iXX0= */",
20
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNpZGViYXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNhIiwiZmlsZSI6IlNpZGViYXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgY2xhc3NTZXQgZnJvbSBcImNsYXNzbmFtZXNcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgVHlwb2dyYXBoeSB9IGZyb20gXCJAd2ViaW55L3VpL1R5cG9ncmFwaHlcIjtcbmltcG9ydCBzaWduSW5EaXZpZGVyIGZyb20gXCIuL2Fzc2V0cy9zaWduLWluLWRpdmlkZXIuc3ZnXCI7XG5pbXBvcnQgdHlwZSB7IEluc3RhbGxlciB9IGZyb20gXCIuL3VzZUluc3RhbGxlclwiO1xuaW1wb3J0IHsgVGFncyB9IGZyb20gXCJ+L2Jhc2UvdWkvVGFnc1wiO1xuaW1wb3J0IHsgTG9nbyB9IGZyb20gXCJ+L2Jhc2UvdWkvTG9nb1wiO1xuXG5jb25zdCBMaXN0ID0gc3R5bGVkKFwidWxcIikoe1xuICAgIGxpOiB7XG4gICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgICBwYWRkaW5nOiBcIjE1cHggMTVweFwiLFxuICAgICAgICBcIi5zdGF0dXNcIjoge1xuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiBcIjUwJVwiLFxuICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmUtYmxvY2tcIixcbiAgICAgICAgICAgIGhlaWdodDogMjAsXG4gICAgICAgICAgICB3aWR0aDogMjAsXG4gICAgICAgICAgICBtYXJnaW5SaWdodDogMTVcbiAgICAgICAgfSxcbiAgICAgICAgXCImLnNpZ24taW5cIjoge1xuICAgICAgICAgICAgZGlzcGxheTogXCJibG9ja1wiLFxuICAgICAgICAgICAgdGV4dEFsaWduOiBcImNlbnRlclwiLFxuICAgICAgICAgICAgXCIubm90ZVwiOiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmUtYmxvY2tcIixcbiAgICAgICAgICAgICAgICBsaW5lSGVpZ2h0OiBcIjE1MCVcIixcbiAgICAgICAgICAgICAgICBmb250U2l6ZTogMTAsXG4gICAgICAgICAgICAgICAgcGFkZGluZ1RvcDogMTAsXG4gICAgICAgICAgICAgICAgY29sb3I6IFwidmFyKC0tbWRjLXRoZW1lLXRleHQtaWNvbi1vbi1iYWNrZ3JvdW5kKVwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaW1nOiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IFwiMTAwJVwiXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiJi5hY3RpdmVcIjoge1xuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBcInZhcigtLW1kYy10aGVtZS1iYWNrZ3JvdW5kKVwiLFxuICAgICAgICAgICAgZm9udFdlaWdodDogNjAwLFxuICAgICAgICAgICAgXCIuc3RhdHVzXCI6IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwidmFyKC0tbWRjLXRoZW1lLXByaW1hcnkpXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCImLnBlbmRpbmdcIjoge1xuICAgICAgICAgICAgXCIuc3RhdHVzXCI6IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwidmFyKC0tbWRjLXRoZW1lLW9uLXN1cmZhY2UpXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCImLmluc3RhbGxlZFwiOiB7XG4gICAgICAgICAgICBcIi5zdGF0dXNcIjoge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogXCJ2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5KVwiXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59KTtcblxuY29uc3QgTm90ZSA9IHN0eWxlZChcImRpdlwiKSh7XG4gICAgcGFkZGluZzogMTVcbn0pO1xuaW50ZXJmYWNlIEluc3RhbGxhdGlvbnNQcm9wcyB7XG4gICAgdGl0bGU6IFJlYWN0LlJlYWN0Tm9kZTtcbiAgICBhbGxJbnN0YWxsZXJzOiBJbnN0YWxsZXJbXTtcbiAgICBpbnN0YWxsZXI6IEluc3RhbGxlcjtcbiAgICBzaG93TG9naW46IGJvb2xlYW47XG59XG5jb25zdCBJbnN0YWxsYXRpb25zID0gKHByb3BzOiBJbnN0YWxsYXRpb25zUHJvcHMpID0+IHtcbiAgICBjb25zdCB7IHRpdGxlLCBhbGxJbnN0YWxsZXJzLCBpbnN0YWxsZXIsIHNob3dMb2dpbiB9ID0gcHJvcHM7XG4gICAgY29uc3QgcmVuZGVyTGlzdCA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgbG9naW5JdGVtID0gKFxuICAgICAgICAgICAgPGxpIGtleT17XCJsb2dpblwifSBjbGFzc05hbWU9e1wic2lnbi1pblwifT5cbiAgICAgICAgICAgICAgICA8aW1nIHNyYz17c2lnbkluRGl2aWRlcn0gYWx0PXtcIlwifSAvPlxuICAgICAgICAgICAgICAgIDxUeXBvZ3JhcGh5IHVzZT17XCJvdmVybGluZVwifSBjbGFzc05hbWU9e1wibm90ZVwifT5cbiAgICAgICAgICAgICAgICAgICAgVE8gQ09OVElOVUUgVEhFIElOU1RBTExBVElPTiBBRlRFUiBUSElTIFBPSU5UIFlPVeKAmUxMIE5FRUQgVE8gU0lHTiBJTlxuICAgICAgICAgICAgICAgIDwvVHlwb2dyYXBoeT5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgaXRlbXMgPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhbGxJbnN0YWxsZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCB7IG5hbWUsIHRpdGxlLCBzZWN1cmUsIGluc3RhbGxlZCB9ID0gYWxsSW5zdGFsbGVyc1tpXTtcbiAgICAgICAgICAgIGNvbnN0IHByZXYgPSBpID09PSAwID8gbnVsbCA6IGFsbEluc3RhbGxlcnNbaSAtIDFdO1xuICAgICAgICAgICAgaWYgKCghcHJldiB8fCAhcHJldi5zZWN1cmUpICYmIHNlY3VyZSAmJiBzaG93TG9naW4pIHtcbiAgICAgICAgICAgICAgICBpdGVtcy5wdXNoKGxvZ2luSXRlbSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZSA9IGluc3RhbGxlciAmJiAhc2hvd0xvZ2luICYmIG5hbWUgPT09IGluc3RhbGxlci5uYW1lO1xuXG4gICAgICAgICAgICBpdGVtcy5wdXNoKFxuICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICBrZXk9e25hbWV9XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NTZXQoXG4gICAgICAgICAgICAgICAgICAgICAgICB7IGluc3RhbGxlZDogaW5zdGFsbGVkIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IGFjdGl2ZTogYWN0aXZlIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IHBlbmRpbmc6ICFpbnN0YWxsZWQgJiYgIWFjdGl2ZSB9XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e1wic3RhdHVzXCJ9IC8+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17XCJ0aXRsZVwifT57dGl0bGV9PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpdGVtcztcbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPEZyYWdtZW50PlxuICAgICAgICAgICAgPE5vdGU+XG4gICAgICAgICAgICAgICAgPFR5cG9ncmFwaHkgdXNlPXtcImJvZHkxXCJ9Pnt0aXRsZX08L1R5cG9ncmFwaHk+XG4gICAgICAgICAgICA8L05vdGU+XG4gICAgICAgICAgICA8TGlzdD57cmVuZGVyTGlzdCgpfTwvTGlzdD5cbiAgICAgICAgPC9GcmFnbWVudD5cbiAgICApO1xufTtcblxuaW50ZXJmYWNlIFNpZGViYXJQcm9wcyB7XG4gICAgYWxsSW5zdGFsbGVyczogSW5zdGFsbGVyW107XG4gICAgaW5zdGFsbGVyOiBJbnN0YWxsZXI7XG4gICAgc2hvd0xvZ2luOiBib29sZWFuO1xufVxuXG5jb25zdCBTaWRlYmFyID0gKHsgYWxsSW5zdGFsbGVycywgaW5zdGFsbGVyLCBzaG93TG9naW4gfTogU2lkZWJhclByb3BzKSA9PiB7XG4gICAgY29uc3QgaW5zdGFsbGF0aW9ucyA9IGFsbEluc3RhbGxlcnMuZmlsdGVyKGluc3RhbGxlciA9PiBpbnN0YWxsZXIudHlwZSA9PT0gXCJpbnN0YWxsXCIpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPFRhZ3MgdGFncz17eyBsb2NhdGlvbjogXCJpbnN0YWxsZXJcIiB9fT5cbiAgICAgICAgICAgIDxMb2dvIC8+XG4gICAgICAgICAgICB7aW5zdGFsbGF0aW9ucy5sZW5ndGggPiAwICYmIChcbiAgICAgICAgICAgICAgICA8SW5zdGFsbGF0aW9uc1xuICAgICAgICAgICAgICAgICAgICB0aXRsZT17XCJUaGUgZm9sbG93aW5nIGFwcHMgd2lsbCBiZSBpbnN0YWxsZWQgYW5kIGNvbmZpZ3VyZWQ6XCJ9XG4gICAgICAgICAgICAgICAgICAgIGFsbEluc3RhbGxlcnM9e2luc3RhbGxhdGlvbnN9XG4gICAgICAgICAgICAgICAgICAgIGluc3RhbGxlcj17aW5zdGFsbGVyfVxuICAgICAgICAgICAgICAgICAgICBzaG93TG9naW49e3Nob3dMb2dpbn1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgPC9UYWdzPlxuICAgICk7XG59O1xuZXhwb3J0IGRlZmF1bHQgU2lkZWJhcjtcbiJdfQ== */",
21
21
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
22
22
  });
23
23
  const Note = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
@@ -31,7 +31,7 @@ const Note = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ?
31
31
  } : {
32
32
  name: "1jj7er4",
33
33
  styles: "padding:15px",
34
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNpZGViYXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVEYSIsImZpbGUiOiJTaWRlYmFyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBGcmFnbWVudCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGNsYXNzU2V0IGZyb20gXCJjbGFzc25hbWVzXCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IFR5cG9ncmFwaHkgfSBmcm9tIFwiQHdlYmlueS91aS9UeXBvZ3JhcGh5XCI7XG5pbXBvcnQgc2lnbkluRGl2aWRlciBmcm9tIFwiLi9hc3NldHMvc2lnbi1pbi1kaXZpZGVyLnN2Z1wiO1xuaW1wb3J0IHsgSW5zdGFsbGVyIH0gZnJvbSBcIi4vdXNlSW5zdGFsbGVyXCI7XG5pbXBvcnQgeyBUYWdzIH0gZnJvbSBcIn4vYmFzZS91aS9UYWdzXCI7XG5pbXBvcnQgeyBMb2dvIH0gZnJvbSBcIn4vYmFzZS91aS9Mb2dvXCI7XG5cbmNvbnN0IExpc3QgPSBzdHlsZWQoXCJ1bFwiKSh7XG4gICAgbGk6IHtcbiAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICAgIHBhZGRpbmc6IFwiMTVweCAxNXB4XCIsXG4gICAgICAgIFwiLnN0YXR1c1wiOiB7XG4gICAgICAgICAgICBib3JkZXJSYWRpdXM6IFwiNTAlXCIsXG4gICAgICAgICAgICBkaXNwbGF5OiBcImlubGluZS1ibG9ja1wiLFxuICAgICAgICAgICAgaGVpZ2h0OiAyMCxcbiAgICAgICAgICAgIHdpZHRoOiAyMCxcbiAgICAgICAgICAgIG1hcmdpblJpZ2h0OiAxNVxuICAgICAgICB9LFxuICAgICAgICBcIiYuc2lnbi1pblwiOiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBcImJsb2NrXCIsXG4gICAgICAgICAgICB0ZXh0QWxpZ246IFwiY2VudGVyXCIsXG4gICAgICAgICAgICBcIi5ub3RlXCI6IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBcImlubGluZS1ibG9ja1wiLFxuICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IFwiMTUwJVwiLFxuICAgICAgICAgICAgICAgIGZvbnRTaXplOiAxMCxcbiAgICAgICAgICAgICAgICBwYWRkaW5nVG9wOiAxMCxcbiAgICAgICAgICAgICAgICBjb2xvcjogXCJ2YXIoLS1tZGMtdGhlbWUtdGV4dC1pY29uLW9uLWJhY2tncm91bmQpXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpbWc6IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogXCIxMDAlXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCImLmFjdGl2ZVwiOiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwidmFyKC0tbWRjLXRoZW1lLWJhY2tncm91bmQpXCIsXG4gICAgICAgICAgICBmb250V2VpZ2h0OiA2MDAsXG4gICAgICAgICAgICBcIi5zdGF0dXNcIjoge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogXCJ2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSlcIlxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcIiYucGVuZGluZ1wiOiB7XG4gICAgICAgICAgICBcIi5zdGF0dXNcIjoge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogXCJ2YXIoLS1tZGMtdGhlbWUtb24tc3VyZmFjZSlcIlxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcIiYuaW5zdGFsbGVkXCI6IHtcbiAgICAgICAgICAgIFwiLnN0YXR1c1wiOiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBcInZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnkpXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0pO1xuXG5jb25zdCBOb3RlID0gc3R5bGVkKFwiZGl2XCIpKHtcbiAgICBwYWRkaW5nOiAxNVxufSk7XG5pbnRlcmZhY2UgSW5zdGFsbGF0aW9uc1Byb3BzIHtcbiAgICB0aXRsZTogUmVhY3QuUmVhY3ROb2RlO1xuICAgIGFsbEluc3RhbGxlcnM6IEluc3RhbGxlcltdO1xuICAgIGluc3RhbGxlcjogSW5zdGFsbGVyO1xuICAgIHNob3dMb2dpbjogYm9vbGVhbjtcbn1cbmNvbnN0IEluc3RhbGxhdGlvbnMgPSAocHJvcHM6IEluc3RhbGxhdGlvbnNQcm9wcykgPT4ge1xuICAgIGNvbnN0IHsgdGl0bGUsIGFsbEluc3RhbGxlcnMsIGluc3RhbGxlciwgc2hvd0xvZ2luIH0gPSBwcm9wcztcbiAgICBjb25zdCByZW5kZXJMaXN0ID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBsb2dpbkl0ZW0gPSAoXG4gICAgICAgICAgICA8bGkga2V5PXtcImxvZ2luXCJ9IGNsYXNzTmFtZT17XCJzaWduLWluXCJ9PlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPXtzaWduSW5EaXZpZGVyfSBhbHQ9e1wiXCJ9IC8+XG4gICAgICAgICAgICAgICAgPFR5cG9ncmFwaHkgdXNlPXtcIm92ZXJsaW5lXCJ9IGNsYXNzTmFtZT17XCJub3RlXCJ9PlxuICAgICAgICAgICAgICAgICAgICBUTyBDT05USU5VRSBUSEUgSU5TVEFMTEFUSU9OIEFGVEVSIFRISVMgUE9JTlQgWU9V4oCZTEwgTkVFRCBUTyBTSUdOIElOXG4gICAgICAgICAgICAgICAgPC9UeXBvZ3JhcGh5PlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBpdGVtcyA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFsbEluc3RhbGxlcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHsgbmFtZSwgdGl0bGUsIHNlY3VyZSwgaW5zdGFsbGVkIH0gPSBhbGxJbnN0YWxsZXJzW2ldO1xuICAgICAgICAgICAgY29uc3QgcHJldiA9IGkgPT09IDAgPyBudWxsIDogYWxsSW5zdGFsbGVyc1tpIC0gMV07XG4gICAgICAgICAgICBpZiAoKCFwcmV2IHx8ICFwcmV2LnNlY3VyZSkgJiYgc2VjdXJlICYmIHNob3dMb2dpbikge1xuICAgICAgICAgICAgICAgIGl0ZW1zLnB1c2gobG9naW5JdGVtKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgYWN0aXZlID0gaW5zdGFsbGVyICYmICFzaG93TG9naW4gJiYgbmFtZSA9PT0gaW5zdGFsbGVyLm5hbWU7XG5cbiAgICAgICAgICAgIGl0ZW1zLnB1c2goXG4gICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgIGtleT17bmFtZX1cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc1NldChcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgaW5zdGFsbGVkOiBpbnN0YWxsZWQgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgYWN0aXZlOiBhY3RpdmUgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgcGVuZGluZzogIWluc3RhbGxlZCAmJiAhYWN0aXZlIH1cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17XCJzdGF0dXNcIn0gLz5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtcInRpdGxlXCJ9Pnt0aXRsZX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGl0ZW1zO1xuICAgIH07XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8RnJhZ21lbnQ+XG4gICAgICAgICAgICA8Tm90ZT5cbiAgICAgICAgICAgICAgICA8VHlwb2dyYXBoeSB1c2U9e1wiYm9keTFcIn0+e3RpdGxlfTwvVHlwb2dyYXBoeT5cbiAgICAgICAgICAgIDwvTm90ZT5cbiAgICAgICAgICAgIDxMaXN0PntyZW5kZXJMaXN0KCl9PC9MaXN0PlxuICAgICAgICA8L0ZyYWdtZW50PlxuICAgICk7XG59O1xuXG5pbnRlcmZhY2UgU2lkZWJhclByb3BzIHtcbiAgICBhbGxJbnN0YWxsZXJzOiBJbnN0YWxsZXJbXTtcbiAgICBpbnN0YWxsZXI6IEluc3RhbGxlcjtcbiAgICBzaG93TG9naW46IGJvb2xlYW47XG59XG5cbmNvbnN0IFNpZGViYXIgPSAoeyBhbGxJbnN0YWxsZXJzLCBpbnN0YWxsZXIsIHNob3dMb2dpbiB9OiBTaWRlYmFyUHJvcHMpID0+IHtcbiAgICBjb25zdCBpbnN0YWxsYXRpb25zID0gYWxsSW5zdGFsbGVycy5maWx0ZXIoaW5zdGFsbGVyID0+IGluc3RhbGxlci50eXBlID09PSBcImluc3RhbGxcIik7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8VGFncyB0YWdzPXt7IGxvY2F0aW9uOiBcImluc3RhbGxlclwiIH19PlxuICAgICAgICAgICAgPExvZ28gLz5cbiAgICAgICAgICAgIHtpbnN0YWxsYXRpb25zLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICAgICAgICAgIDxJbnN0YWxsYXRpb25zXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlPXtcIlRoZSBmb2xsb3dpbmcgYXBwcyB3aWxsIGJlIGluc3RhbGxlZCBhbmQgY29uZmlndXJlZDpcIn1cbiAgICAgICAgICAgICAgICAgICAgYWxsSW5zdGFsbGVycz17aW5zdGFsbGF0aW9uc31cbiAgICAgICAgICAgICAgICAgICAgaW5zdGFsbGVyPXtpbnN0YWxsZXJ9XG4gICAgICAgICAgICAgICAgICAgIHNob3dMb2dpbj17c2hvd0xvZ2lufVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICA8L1RhZ3M+XG4gICAgKTtcbn07XG5leHBvcnQgZGVmYXVsdCBTaWRlYmFyO1xuIl19 */",
34
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNpZGViYXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVEYSIsImZpbGUiOiJTaWRlYmFyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBGcmFnbWVudCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGNsYXNzU2V0IGZyb20gXCJjbGFzc25hbWVzXCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IFR5cG9ncmFwaHkgfSBmcm9tIFwiQHdlYmlueS91aS9UeXBvZ3JhcGh5XCI7XG5pbXBvcnQgc2lnbkluRGl2aWRlciBmcm9tIFwiLi9hc3NldHMvc2lnbi1pbi1kaXZpZGVyLnN2Z1wiO1xuaW1wb3J0IHR5cGUgeyBJbnN0YWxsZXIgfSBmcm9tIFwiLi91c2VJbnN0YWxsZXJcIjtcbmltcG9ydCB7IFRhZ3MgfSBmcm9tIFwifi9iYXNlL3VpL1RhZ3NcIjtcbmltcG9ydCB7IExvZ28gfSBmcm9tIFwifi9iYXNlL3VpL0xvZ29cIjtcblxuY29uc3QgTGlzdCA9IHN0eWxlZChcInVsXCIpKHtcbiAgICBsaToge1xuICAgICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgICAgcGFkZGluZzogXCIxNXB4IDE1cHhcIixcbiAgICAgICAgXCIuc3RhdHVzXCI6IHtcbiAgICAgICAgICAgIGJvcmRlclJhZGl1czogXCI1MCVcIixcbiAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lLWJsb2NrXCIsXG4gICAgICAgICAgICBoZWlnaHQ6IDIwLFxuICAgICAgICAgICAgd2lkdGg6IDIwLFxuICAgICAgICAgICAgbWFyZ2luUmlnaHQ6IDE1XG4gICAgICAgIH0sXG4gICAgICAgIFwiJi5zaWduLWluXCI6IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IFwiYmxvY2tcIixcbiAgICAgICAgICAgIHRleHRBbGlnbjogXCJjZW50ZXJcIixcbiAgICAgICAgICAgIFwiLm5vdGVcIjoge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lLWJsb2NrXCIsXG4gICAgICAgICAgICAgICAgbGluZUhlaWdodDogXCIxNTAlXCIsXG4gICAgICAgICAgICAgICAgZm9udFNpemU6IDEwLFxuICAgICAgICAgICAgICAgIHBhZGRpbmdUb3A6IDEwLFxuICAgICAgICAgICAgICAgIGNvbG9yOiBcInZhcigtLW1kYy10aGVtZS10ZXh0LWljb24tb24tYmFja2dyb3VuZClcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGltZzoge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBcIjEwMCVcIlxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcIiYuYWN0aXZlXCI6IHtcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogXCJ2YXIoLS1tZGMtdGhlbWUtYmFja2dyb3VuZClcIixcbiAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDYwMCxcbiAgICAgICAgICAgIFwiLnN0YXR1c1wiOiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBcInZhcigtLW1kYy10aGVtZS1wcmltYXJ5KVwiXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiJi5wZW5kaW5nXCI6IHtcbiAgICAgICAgICAgIFwiLnN0YXR1c1wiOiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBcInZhcigtLW1kYy10aGVtZS1vbi1zdXJmYWNlKVwiXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiJi5pbnN0YWxsZWRcIjoge1xuICAgICAgICAgICAgXCIuc3RhdHVzXCI6IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwidmFyKC0tbWRjLXRoZW1lLXNlY29uZGFyeSlcIlxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSk7XG5cbmNvbnN0IE5vdGUgPSBzdHlsZWQoXCJkaXZcIikoe1xuICAgIHBhZGRpbmc6IDE1XG59KTtcbmludGVyZmFjZSBJbnN0YWxsYXRpb25zUHJvcHMge1xuICAgIHRpdGxlOiBSZWFjdC5SZWFjdE5vZGU7XG4gICAgYWxsSW5zdGFsbGVyczogSW5zdGFsbGVyW107XG4gICAgaW5zdGFsbGVyOiBJbnN0YWxsZXI7XG4gICAgc2hvd0xvZ2luOiBib29sZWFuO1xufVxuY29uc3QgSW5zdGFsbGF0aW9ucyA9IChwcm9wczogSW5zdGFsbGF0aW9uc1Byb3BzKSA9PiB7XG4gICAgY29uc3QgeyB0aXRsZSwgYWxsSW5zdGFsbGVycywgaW5zdGFsbGVyLCBzaG93TG9naW4gfSA9IHByb3BzO1xuICAgIGNvbnN0IHJlbmRlckxpc3QgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGxvZ2luSXRlbSA9IChcbiAgICAgICAgICAgIDxsaSBrZXk9e1wibG9naW5cIn0gY2xhc3NOYW1lPXtcInNpZ24taW5cIn0+XG4gICAgICAgICAgICAgICAgPGltZyBzcmM9e3NpZ25JbkRpdmlkZXJ9IGFsdD17XCJcIn0gLz5cbiAgICAgICAgICAgICAgICA8VHlwb2dyYXBoeSB1c2U9e1wib3ZlcmxpbmVcIn0gY2xhc3NOYW1lPXtcIm5vdGVcIn0+XG4gICAgICAgICAgICAgICAgICAgIFRPIENPTlRJTlVFIFRIRSBJTlNUQUxMQVRJT04gQUZURVIgVEhJUyBQT0lOVCBZT1XigJlMTCBORUVEIFRPIFNJR04gSU5cbiAgICAgICAgICAgICAgICA8L1R5cG9ncmFwaHk+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGl0ZW1zID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYWxsSW5zdGFsbGVycy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgeyBuYW1lLCB0aXRsZSwgc2VjdXJlLCBpbnN0YWxsZWQgfSA9IGFsbEluc3RhbGxlcnNbaV07XG4gICAgICAgICAgICBjb25zdCBwcmV2ID0gaSA9PT0gMCA/IG51bGwgOiBhbGxJbnN0YWxsZXJzW2kgLSAxXTtcbiAgICAgICAgICAgIGlmICgoIXByZXYgfHwgIXByZXYuc2VjdXJlKSAmJiBzZWN1cmUgJiYgc2hvd0xvZ2luKSB7XG4gICAgICAgICAgICAgICAgaXRlbXMucHVzaChsb2dpbkl0ZW0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBhY3RpdmUgPSBpbnN0YWxsZXIgJiYgIXNob3dMb2dpbiAmJiBuYW1lID09PSBpbnN0YWxsZXIubmFtZTtcblxuICAgICAgICAgICAgaXRlbXMucHVzaChcbiAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAga2V5PXtuYW1lfVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzU2V0KFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBpbnN0YWxsZWQ6IGluc3RhbGxlZCB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBhY3RpdmU6IGFjdGl2ZSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBwZW5kaW5nOiAhaW5zdGFsbGVkICYmICFhY3RpdmUgfVxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtcInN0YXR1c1wifSAvPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e1widGl0bGVcIn0+e3RpdGxlfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXRlbXM7XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxGcmFnbWVudD5cbiAgICAgICAgICAgIDxOb3RlPlxuICAgICAgICAgICAgICAgIDxUeXBvZ3JhcGh5IHVzZT17XCJib2R5MVwifT57dGl0bGV9PC9UeXBvZ3JhcGh5PlxuICAgICAgICAgICAgPC9Ob3RlPlxuICAgICAgICAgICAgPExpc3Q+e3JlbmRlckxpc3QoKX08L0xpc3Q+XG4gICAgICAgIDwvRnJhZ21lbnQ+XG4gICAgKTtcbn07XG5cbmludGVyZmFjZSBTaWRlYmFyUHJvcHMge1xuICAgIGFsbEluc3RhbGxlcnM6IEluc3RhbGxlcltdO1xuICAgIGluc3RhbGxlcjogSW5zdGFsbGVyO1xuICAgIHNob3dMb2dpbjogYm9vbGVhbjtcbn1cblxuY29uc3QgU2lkZWJhciA9ICh7IGFsbEluc3RhbGxlcnMsIGluc3RhbGxlciwgc2hvd0xvZ2luIH06IFNpZGViYXJQcm9wcykgPT4ge1xuICAgIGNvbnN0IGluc3RhbGxhdGlvbnMgPSBhbGxJbnN0YWxsZXJzLmZpbHRlcihpbnN0YWxsZXIgPT4gaW5zdGFsbGVyLnR5cGUgPT09IFwiaW5zdGFsbFwiKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxUYWdzIHRhZ3M9e3sgbG9jYXRpb246IFwiaW5zdGFsbGVyXCIgfX0+XG4gICAgICAgICAgICA8TG9nbyAvPlxuICAgICAgICAgICAge2luc3RhbGxhdGlvbnMubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgICAgICAgPEluc3RhbGxhdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9e1wiVGhlIGZvbGxvd2luZyBhcHBzIHdpbGwgYmUgaW5zdGFsbGVkIGFuZCBjb25maWd1cmVkOlwifVxuICAgICAgICAgICAgICAgICAgICBhbGxJbnN0YWxsZXJzPXtpbnN0YWxsYXRpb25zfVxuICAgICAgICAgICAgICAgICAgICBpbnN0YWxsZXI9e2luc3RhbGxlcn1cbiAgICAgICAgICAgICAgICAgICAgc2hvd0xvZ2luPXtzaG93TG9naW59XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgIDwvVGFncz5cbiAgICApO1xufTtcbmV4cG9ydCBkZWZhdWx0IFNpZGViYXI7XG4iXX0= */",
35
35
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
36
36
  });
37
37
  const Installations = props => {
@@ -1 +1 @@
1
- {"version":3,"names":["React","Fragment","classSet","Typography","signInDivider","Tags","Logo","List","_styled","process","env","NODE_ENV","target","label","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","Note","Installations","props","title","allInstallers","installer","showLogin","renderList","loginItem","createElement","key","className","src","alt","use","items","i","length","secure","installed","prev","push","active","pending","Sidebar","installations","filter","type","tags","location"],"sources":["Sidebar.tsx"],"sourcesContent":["import React, { Fragment } from \"react\";\nimport classSet from \"classnames\";\nimport styled from \"@emotion/styled\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport signInDivider from \"./assets/sign-in-divider.svg\";\nimport { Installer } from \"./useInstaller\";\nimport { Tags } from \"~/base/ui/Tags\";\nimport { Logo } from \"~/base/ui/Logo\";\n\nconst List = styled(\"ul\")({\n li: {\n display: \"flex\",\n alignItems: \"center\",\n padding: \"15px 15px\",\n \".status\": {\n borderRadius: \"50%\",\n display: \"inline-block\",\n height: 20,\n width: 20,\n marginRight: 15\n },\n \"&.sign-in\": {\n display: \"block\",\n textAlign: \"center\",\n \".note\": {\n display: \"inline-block\",\n lineHeight: \"150%\",\n fontSize: 10,\n paddingTop: 10,\n color: \"var(--mdc-theme-text-icon-on-background)\"\n },\n img: {\n width: \"100%\"\n }\n },\n \"&.active\": {\n backgroundColor: \"var(--mdc-theme-background)\",\n fontWeight: 600,\n \".status\": {\n backgroundColor: \"var(--mdc-theme-primary)\"\n }\n },\n \"&.pending\": {\n \".status\": {\n backgroundColor: \"var(--mdc-theme-on-surface)\"\n }\n },\n \"&.installed\": {\n \".status\": {\n backgroundColor: \"var(--mdc-theme-secondary)\"\n }\n }\n }\n});\n\nconst Note = styled(\"div\")({\n padding: 15\n});\ninterface InstallationsProps {\n title: React.ReactNode;\n allInstallers: Installer[];\n installer: Installer;\n showLogin: boolean;\n}\nconst Installations = (props: InstallationsProps) => {\n const { title, allInstallers, installer, showLogin } = props;\n const renderList = () => {\n const loginItem = (\n <li key={\"login\"} className={\"sign-in\"}>\n <img src={signInDivider} alt={\"\"} />\n <Typography use={\"overline\"} className={\"note\"}>\n TO CONTINUE THE INSTALLATION AFTER THIS POINT YOU’LL NEED TO SIGN IN\n </Typography>\n </li>\n );\n\n const items = [];\n for (let i = 0; i < allInstallers.length; i++) {\n const { name, title, secure, installed } = allInstallers[i];\n const prev = i === 0 ? null : allInstallers[i - 1];\n if ((!prev || !prev.secure) && secure && showLogin) {\n items.push(loginItem);\n }\n\n const active = installer && !showLogin && name === installer.name;\n\n items.push(\n <li\n key={name}\n className={classSet(\n { installed: installed },\n { active: active },\n { pending: !installed && !active }\n )}\n >\n <span className={\"status\"} />\n <span className={\"title\"}>{title}</span>\n </li>\n );\n }\n return items;\n };\n\n return (\n <Fragment>\n <Note>\n <Typography use={\"body1\"}>{title}</Typography>\n </Note>\n <List>{renderList()}</List>\n </Fragment>\n );\n};\n\ninterface SidebarProps {\n allInstallers: Installer[];\n installer: Installer;\n showLogin: boolean;\n}\n\nconst Sidebar = ({ allInstallers, installer, showLogin }: SidebarProps) => {\n const installations = allInstallers.filter(installer => installer.type === \"install\");\n\n return (\n <Tags tags={{ location: \"installer\" }}>\n <Logo />\n {installations.length > 0 && (\n <Installations\n title={\"The following apps will be installed and configured:\"}\n allInstallers={installations}\n installer={installer}\n showLogin={showLogin}\n />\n )}\n </Tags>\n );\n};\nexport default Sidebar;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Fragment","classSet","Typography","signInDivider","Tags","Logo","List","_styled","process","env","NODE_ENV","target","label","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","Note","Installations","props","title","allInstallers","installer","showLogin","renderList","loginItem","createElement","key","className","src","alt","use","items","i","length","secure","installed","prev","push","active","pending","Sidebar","installations","filter","type","tags","location"],"sources":["Sidebar.tsx"],"sourcesContent":["import React, { Fragment } from \"react\";\nimport classSet from \"classnames\";\nimport styled from \"@emotion/styled\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport signInDivider from \"./assets/sign-in-divider.svg\";\nimport type { Installer } from \"./useInstaller\";\nimport { Tags } from \"~/base/ui/Tags\";\nimport { Logo } from \"~/base/ui/Logo\";\n\nconst List = styled(\"ul\")({\n li: {\n display: \"flex\",\n alignItems: \"center\",\n padding: \"15px 15px\",\n \".status\": {\n borderRadius: \"50%\",\n display: \"inline-block\",\n height: 20,\n width: 20,\n marginRight: 15\n },\n \"&.sign-in\": {\n display: \"block\",\n textAlign: \"center\",\n \".note\": {\n display: \"inline-block\",\n lineHeight: \"150%\",\n fontSize: 10,\n paddingTop: 10,\n color: \"var(--mdc-theme-text-icon-on-background)\"\n },\n img: {\n width: \"100%\"\n }\n },\n \"&.active\": {\n backgroundColor: \"var(--mdc-theme-background)\",\n fontWeight: 600,\n \".status\": {\n backgroundColor: \"var(--mdc-theme-primary)\"\n }\n },\n \"&.pending\": {\n \".status\": {\n backgroundColor: \"var(--mdc-theme-on-surface)\"\n }\n },\n \"&.installed\": {\n \".status\": {\n backgroundColor: \"var(--mdc-theme-secondary)\"\n }\n }\n }\n});\n\nconst Note = styled(\"div\")({\n padding: 15\n});\ninterface InstallationsProps {\n title: React.ReactNode;\n allInstallers: Installer[];\n installer: Installer;\n showLogin: boolean;\n}\nconst Installations = (props: InstallationsProps) => {\n const { title, allInstallers, installer, showLogin } = props;\n const renderList = () => {\n const loginItem = (\n <li key={\"login\"} className={\"sign-in\"}>\n <img src={signInDivider} alt={\"\"} />\n <Typography use={\"overline\"} className={\"note\"}>\n TO CONTINUE THE INSTALLATION AFTER THIS POINT YOU’LL NEED TO SIGN IN\n </Typography>\n </li>\n );\n\n const items = [];\n for (let i = 0; i < allInstallers.length; i++) {\n const { name, title, secure, installed } = allInstallers[i];\n const prev = i === 0 ? null : allInstallers[i - 1];\n if ((!prev || !prev.secure) && secure && showLogin) {\n items.push(loginItem);\n }\n\n const active = installer && !showLogin && name === installer.name;\n\n items.push(\n <li\n key={name}\n className={classSet(\n { installed: installed },\n { active: active },\n { pending: !installed && !active }\n )}\n >\n <span className={\"status\"} />\n <span className={\"title\"}>{title}</span>\n </li>\n );\n }\n return items;\n };\n\n return (\n <Fragment>\n <Note>\n <Typography use={\"body1\"}>{title}</Typography>\n </Note>\n <List>{renderList()}</List>\n </Fragment>\n );\n};\n\ninterface SidebarProps {\n allInstallers: Installer[];\n installer: Installer;\n showLogin: boolean;\n}\n\nconst Sidebar = ({ allInstallers, installer, showLogin }: SidebarProps) => {\n const installations = allInstallers.filter(installer => installer.type === \"install\");\n\n return (\n <Tags tags={{ location: \"installer\" }}>\n <Logo />\n {installations.length > 0 && (\n <Installations\n title={\"The following apps will be installed and configured:\"}\n allInstallers={installations}\n installer={installer}\n showLogin={showLogin}\n />\n )}\n </Tags>\n );\n};\nexport default Sidebar;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["Provider","React","AppInstaller","Installer","AppInstallerHOC","Component","AppInstallerProvider","children","createElement","hoc"],"sources":["index.tsx"],"sourcesContent":["import { Provider } from \"~/index\";\nimport React from \"react\";\nimport { AppInstaller as Installer } from \"./AppInstaller\";\nimport { ComponentWithChildren } from \"~/types\";\n\ninterface AppInstallerProviderProps {\n children: React.ReactNode;\n}\n\nconst AppInstallerHOC = (Component: ComponentWithChildren) => {\n return function AppInstallerProvider({ children }: AppInstallerProviderProps) {\n return (\n <Installer>\n <Component>{children}</Component>\n </Installer>\n );\n };\n};\n\nexport const AppInstaller = () => {\n return <Provider hoc={AppInstallerHOC} />;\n};\n"],"mappings":"AAAA,SAASA,QAAQ;AACjB,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY,IAAIC,SAAS;AAOlC,MAAMC,eAAe,GAAIC,SAAgC,IAAK;EAC1D,OAAO,SAASC,oBAAoBA,CAAC;IAAEC;EAAoC,CAAC,EAAE;IAC1E,oBACIN,KAAA,CAAAO,aAAA,CAACL,SAAS,qBACNF,KAAA,CAAAO,aAAA,CAACH,SAAS,QAAEE,QAAoB,CACzB,CAAC;EAEpB,CAAC;AACL,CAAC;AAED,OAAO,MAAML,YAAY,GAAGA,CAAA,KAAM;EAC9B,oBAAOD,KAAA,CAAAO,aAAA,CAACR,QAAQ;IAACS,GAAG,EAAEL;EAAgB,CAAE,CAAC;AAC7C,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Provider","React","AppInstaller","Installer","AppInstallerHOC","Component","AppInstallerProvider","children","createElement","hoc"],"sources":["index.tsx"],"sourcesContent":["import { Provider } from \"~/index\";\nimport React from \"react\";\nimport { AppInstaller as Installer } from \"./AppInstaller\";\nimport type { ComponentWithChildren } from \"~/types\";\n\ninterface AppInstallerProviderProps {\n children: React.ReactNode;\n}\n\nconst AppInstallerHOC = (Component: ComponentWithChildren) => {\n return function AppInstallerProvider({ children }: AppInstallerProviderProps) {\n return (\n <Installer>\n <Component>{children}</Component>\n </Installer>\n );\n };\n};\n\nexport const AppInstaller = () => {\n return <Provider hoc={AppInstallerHOC} />;\n};\n"],"mappings":"AAAA,SAASA,QAAQ;AACjB,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY,IAAIC,SAAS;AAOlC,MAAMC,eAAe,GAAIC,SAAgC,IAAK;EAC1D,OAAO,SAASC,oBAAoBA,CAAC;IAAEC;EAAoC,CAAC,EAAE;IAC1E,oBACIN,KAAA,CAAAO,aAAA,CAACL,SAAS,qBACNF,KAAA,CAAAO,aAAA,CAACH,SAAS,QAAEE,QAAoB,CACzB,CAAC;EAEpB,CAAC;AACL,CAAC;AAED,OAAO,MAAML,YAAY,GAAGA,CAAA,KAAM;EAC9B,oBAAOD,KAAA,CAAAO,aAAA,CAACR,QAAQ;IAACS,GAAG,EAAEL;EAAgB,CAAE,CAAC;AAC7C,CAAC","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { AdminInstallationPlugin } from "../../types";
1
+ import type { AdminInstallationPlugin } from "../../types";
2
2
  interface UseInstallerParams {
3
3
  isInstalled: boolean;
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useReducer","useEffect","Graph","alg","useApolloClient","plugins","config","appConfig","useInstaller","params","isInstalled","state","setState","prev","next","loading","installers","installerIndex","showLogin","client","validateGraph","graph","isAcyclic","cycles","findCycles","msg","forEach","cycle","index","fromAToB","join","fromBToA","reverse","padLength","length","push","padStart","Error","createGraph","plugin","setNode","name","pl","Array","isArray","dependencies","dep","setEdge","getInstallers","toInstall","leaf","sinks","installer","find","inst","removeNode","installed","type","title","render","secure","sort","a","b","onUser","showNextInstaller","prevInstaller","getKey","process","env","REACT_APP_WEBINY_VERSION","undefined","nextIndex","nextInstaller","prevSecure","nextSecure","allInstallers","Promise","all","byType","map","getInstalledVersion","isFirstInstall","some"],"sources":["useInstaller.tsx"],"sourcesContent":["import { useCallback, useReducer, useEffect } from \"react\";\nimport { Graph, alg } from \"graphlib\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { plugins } from \"@webiny/plugins\";\nimport { AdminInstallationPlugin } from \"~/types\";\nimport { config as appConfig } from \"@webiny/app/config\";\n\ninterface GetInstallersResult {\n toInstall: Installer[];\n}\n\ninterface UseInstallerParams {\n isInstalled: boolean;\n}\n\ninterface BaseInstaller {\n installed: string | null;\n plugin: AdminInstallationPlugin;\n}\n\nexport interface Installer extends BaseInstaller {\n type: \"install\";\n name: string;\n title: string;\n render: AdminInstallationPlugin[\"render\"];\n secure?: boolean;\n}\ninterface State {\n loading: boolean;\n installers: Installer[];\n installerIndex: number;\n showLogin: boolean;\n}\n\ninterface Reducer {\n (prev: State, next: Partial<State>): State;\n}\n\nexport const useInstaller = (params: UseInstallerParams) => {\n const { isInstalled } = params;\n const [state, setState] = useReducer<Reducer>((prev, next) => ({ ...prev, ...next }), {\n loading: true,\n installers: [],\n installerIndex: -1,\n showLogin: false\n });\n const { loading, installers, installerIndex, showLogin } = state;\n\n const client = useApolloClient();\n\n const validateGraph = (graph: Graph): void => {\n const isAcyclic = alg.isAcyclic(graph);\n if (isAcyclic) {\n return;\n }\n const cycles = alg.findCycles(graph);\n const msg = [\"Your installers have circular dependencies:\"];\n cycles.forEach((cycle, index) => {\n let fromAToB = cycle.join(\" --> \");\n fromAToB = `${index + 1}. ${fromAToB}`;\n const fromBToA = cycle.reverse().join(\" <-- \");\n const padLength = fromAToB.length + 4;\n msg.push(fromAToB.padStart(padLength));\n msg.push(fromBToA.padStart(padLength));\n }, cycles);\n throw new Error(msg.join(\"\\n\"));\n };\n\n const createGraph = (installers: BaseInstaller[]): Graph => {\n const graph = new Graph();\n installers.forEach(({ plugin }) => {\n graph.setNode(plugin.name as string, plugin);\n });\n\n installers.forEach(({ plugin: pl }) => {\n if (Array.isArray(pl.dependencies)) {\n pl.dependencies.forEach(dep => {\n graph.setEdge(pl.name as string, dep);\n });\n }\n });\n\n validateGraph(graph);\n\n return graph;\n };\n\n const getInstallers = useCallback(\n (\n installers: BaseInstaller[],\n graph: Graph,\n toInstall: Installer[] = []\n ): GetInstallersResult => {\n const leaf = graph.sinks()[0];\n if (leaf) {\n const installer = installers.find(inst => inst.plugin.name === leaf);\n if (!installer) {\n throw new Error(`Missing installer plugin \"${leaf}\"!`);\n }\n\n graph.removeNode(leaf);\n if (!installer.installed) {\n toInstall.push({\n type: \"install\",\n name: `${installer.plugin.name}-install`,\n title: installer.plugin.title,\n render: installer.plugin.render,\n secure: installer.plugin.secure,\n installed: null,\n plugin: installer.plugin\n });\n }\n\n return getInstallers(installers, graph, toInstall);\n }\n toInstall.sort((a, b) => {\n if (a.secure && !b.secure) {\n return 1;\n } else if (!a.secure && b.secure) {\n return -1;\n }\n return 0;\n });\n return { toInstall };\n },\n []\n );\n\n const onUser = () => {\n setState({ showLogin: false });\n };\n\n /**\n * If set to anything else, it breaks in AppInstaller.tsx\n */\n const showNextInstaller = (): any => {\n const prevInstaller = installers[installerIndex];\n\n installers[installerIndex].installed = appConfig.getKey(\n \"WEBINY_VERSION\",\n process.env.REACT_APP_WEBINY_VERSION as string\n );\n setState({ installers });\n\n if (installers.length < installerIndex + 1) {\n setState({ installerIndex: undefined });\n return;\n }\n\n const nextIndex = installerIndex + 1;\n\n let showLogin = false;\n const nextInstaller = installers[nextIndex];\n\n const prevSecure = prevInstaller && prevInstaller.secure;\n const nextSecure = nextInstaller && nextInstaller.secure;\n if (!prevSecure && nextSecure) {\n showLogin = true;\n }\n setState({ installerIndex: nextIndex, showLogin });\n };\n\n useEffect(() => {\n (async () => {\n if (isInstalled) {\n return;\n }\n\n const allInstallers: BaseInstaller[] = [];\n await Promise.all(\n plugins.byType<AdminInstallationPlugin>(\"admin-installation\").map(async pl => {\n const installed = await pl.getInstalledVersion({ client });\n allInstallers.push({ plugin: pl, installed });\n })\n );\n\n const graph = createGraph(allInstallers);\n const { toInstall } = getInstallers(allInstallers, graph);\n const installers = [...toInstall];\n setState({\n installers,\n installerIndex: 0,\n loading: false,\n showLogin: toInstall.length > 0 && toInstall[0].secure\n });\n })();\n }, []);\n\n const isFirstInstall = installers.some(installer => installer.installed);\n\n return {\n loading,\n installers,\n isFirstInstall,\n installer: installers[installerIndex],\n showNextInstaller,\n showLogin,\n onUser\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useReducer","useEffect","Graph","alg","useApolloClient","plugins","config","appConfig","useInstaller","params","isInstalled","state","setState","prev","next","loading","installers","installerIndex","showLogin","client","validateGraph","graph","isAcyclic","cycles","findCycles","msg","forEach","cycle","index","fromAToB","join","fromBToA","reverse","padLength","length","push","padStart","Error","createGraph","plugin","setNode","name","pl","Array","isArray","dependencies","dep","setEdge","getInstallers","toInstall","leaf","sinks","installer","find","inst","removeNode","installed","type","title","render","secure","sort","a","b","onUser","showNextInstaller","prevInstaller","getKey","process","env","REACT_APP_WEBINY_VERSION","undefined","nextIndex","nextInstaller","prevSecure","nextSecure","allInstallers","Promise","all","byType","map","getInstalledVersion","isFirstInstall","some"],"sources":["useInstaller.tsx"],"sourcesContent":["import { useCallback, useReducer, useEffect } from \"react\";\nimport { Graph, alg } from \"graphlib\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { plugins } from \"@webiny/plugins\";\nimport type { AdminInstallationPlugin } from \"~/types\";\nimport { config as appConfig } from \"@webiny/app/config\";\n\ninterface GetInstallersResult {\n toInstall: Installer[];\n}\n\ninterface UseInstallerParams {\n isInstalled: boolean;\n}\n\ninterface BaseInstaller {\n installed: string | null;\n plugin: AdminInstallationPlugin;\n}\n\nexport interface Installer extends BaseInstaller {\n type: \"install\";\n name: string;\n title: string;\n render: AdminInstallationPlugin[\"render\"];\n secure?: boolean;\n}\ninterface State {\n loading: boolean;\n installers: Installer[];\n installerIndex: number;\n showLogin: boolean;\n}\n\ninterface Reducer {\n (prev: State, next: Partial<State>): State;\n}\n\nexport const useInstaller = (params: UseInstallerParams) => {\n const { isInstalled } = params;\n const [state, setState] = useReducer<Reducer>((prev, next) => ({ ...prev, ...next }), {\n loading: true,\n installers: [],\n installerIndex: -1,\n showLogin: false\n });\n const { loading, installers, installerIndex, showLogin } = state;\n\n const client = useApolloClient();\n\n const validateGraph = (graph: Graph): void => {\n const isAcyclic = alg.isAcyclic(graph);\n if (isAcyclic) {\n return;\n }\n const cycles = alg.findCycles(graph);\n const msg = [\"Your installers have circular dependencies:\"];\n cycles.forEach((cycle, index) => {\n let fromAToB = cycle.join(\" --> \");\n fromAToB = `${index + 1}. ${fromAToB}`;\n const fromBToA = cycle.reverse().join(\" <-- \");\n const padLength = fromAToB.length + 4;\n msg.push(fromAToB.padStart(padLength));\n msg.push(fromBToA.padStart(padLength));\n }, cycles);\n throw new Error(msg.join(\"\\n\"));\n };\n\n const createGraph = (installers: BaseInstaller[]): Graph => {\n const graph = new Graph();\n installers.forEach(({ plugin }) => {\n graph.setNode(plugin.name as string, plugin);\n });\n\n installers.forEach(({ plugin: pl }) => {\n if (Array.isArray(pl.dependencies)) {\n pl.dependencies.forEach(dep => {\n graph.setEdge(pl.name as string, dep);\n });\n }\n });\n\n validateGraph(graph);\n\n return graph;\n };\n\n const getInstallers = useCallback(\n (\n installers: BaseInstaller[],\n graph: Graph,\n toInstall: Installer[] = []\n ): GetInstallersResult => {\n const leaf = graph.sinks()[0];\n if (leaf) {\n const installer = installers.find(inst => inst.plugin.name === leaf);\n if (!installer) {\n throw new Error(`Missing installer plugin \"${leaf}\"!`);\n }\n\n graph.removeNode(leaf);\n if (!installer.installed) {\n toInstall.push({\n type: \"install\",\n name: `${installer.plugin.name}-install`,\n title: installer.plugin.title,\n render: installer.plugin.render,\n secure: installer.plugin.secure,\n installed: null,\n plugin: installer.plugin\n });\n }\n\n return getInstallers(installers, graph, toInstall);\n }\n toInstall.sort((a, b) => {\n if (a.secure && !b.secure) {\n return 1;\n } else if (!a.secure && b.secure) {\n return -1;\n }\n return 0;\n });\n return { toInstall };\n },\n []\n );\n\n const onUser = () => {\n setState({ showLogin: false });\n };\n\n /**\n * If set to anything else, it breaks in AppInstaller.tsx\n */\n const showNextInstaller = (): any => {\n const prevInstaller = installers[installerIndex];\n\n installers[installerIndex].installed = appConfig.getKey(\n \"WEBINY_VERSION\",\n process.env.REACT_APP_WEBINY_VERSION as string\n );\n setState({ installers });\n\n if (installers.length < installerIndex + 1) {\n setState({ installerIndex: undefined });\n return;\n }\n\n const nextIndex = installerIndex + 1;\n\n let showLogin = false;\n const nextInstaller = installers[nextIndex];\n\n const prevSecure = prevInstaller && prevInstaller.secure;\n const nextSecure = nextInstaller && nextInstaller.secure;\n if (!prevSecure && nextSecure) {\n showLogin = true;\n }\n setState({ installerIndex: nextIndex, showLogin });\n };\n\n useEffect(() => {\n (async () => {\n if (isInstalled) {\n return;\n }\n\n const allInstallers: BaseInstaller[] = [];\n await Promise.all(\n plugins.byType<AdminInstallationPlugin>(\"admin-installation\").map(async pl => {\n const installed = await pl.getInstalledVersion({ client });\n allInstallers.push({ plugin: pl, installed });\n })\n );\n\n const graph = createGraph(allInstallers);\n const { toInstall } = getInstallers(allInstallers, graph);\n const installers = [...toInstall];\n setState({\n installers,\n installerIndex: 0,\n loading: false,\n showLogin: toInstall.length > 0 && toInstall[0].secure\n });\n })();\n }, []);\n\n const isFirstInstall = installers.some(installer => installer.installed);\n\n return {\n loading,\n installers,\n isFirstInstall,\n installer: installers[installerIndex],\n showNextInstaller,\n showLogin,\n onUser\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -71,6 +71,7 @@ export declare class Worker<T> {
71
71
  * @param {T[]} items - The items to be set in the worker.
72
72
  */
73
73
  set items(items: T[]);
74
+ resetResults(): Promise<void>;
74
75
  /**
75
76
  * Internal method to process a chunk of items using the provided callback.
76
77
  * @private
@@ -100,6 +100,10 @@ export class Worker {
100
100
  set items(items) {
101
101
  this._items = items;
102
102
  }
103
+ async resetResults() {
104
+ this._items = [];
105
+ this._report = new Report();
106
+ }
103
107
 
104
108
  /**
105
109
  * Internal method to process a chunk of items using the provided callback.
@@ -1 +1 @@
1
- {"version":3,"names":["chunk","makeAutoObservable","Report","_results","success","result","addResult","status","error","results","push","Worker","constructor","_items","_report","process","callback","processInSeries","chunkSize","chunks","promises","map","processChunk","Promise","all","items","item","allItems","report"],"sources":["Worker.ts"],"sourcesContent":["import chunk from \"lodash/chunk\";\nimport { makeAutoObservable } from \"mobx\";\n\nexport interface CallbackParams<T> {\n item: T;\n allItems: T[];\n report: Report;\n}\n\nexport interface Result {\n title: string;\n status: \"success\" | \"failure\";\n message?: string | React.ReactElement;\n}\n\n/**\n * Class for collecting processing results\n */\nexport class Report {\n private _results: Result[] = [];\n\n /**\n * Record a successful result in the report\n * @param {Omit<Result, \"status\">} result - The successful result to be recorded\n */\n public success(result: Omit<Result, \"status\">): void {\n this.addResult({\n ...result,\n status: \"success\"\n });\n }\n\n /**\n * Record an error result in the report.\n * @param {Omit<Result, \"status\">} result - The error result to be recorded.\n */\n public error(result: Omit<Result, \"status\">): void {\n this.addResult({\n ...result,\n status: \"failure\"\n });\n }\n\n /**\n * Get the array of recorded results.\n * @returns {Result[]} - An array of recorded results.\n */\n get results(): Result[] {\n return this._results;\n }\n\n /**\n * Internal method to add a result to the report.\n * @private\n * @param {Result} result - The result to be added to the report.\n */\n private addResult(result: Result): void {\n this._results.push(result);\n }\n}\n\n/**\n * A generic worker class for processing items.\n * @template T - The type of items being processed.\n */\nexport class Worker<T> {\n private _items: T[];\n private _report: Report;\n\n constructor() {\n this._items = [];\n this._report = new Report();\n makeAutoObservable(this);\n }\n\n /**\n * Process the items using the provided callback function.\n * @param callback - The callback function to process the items.\n */\n public process(callback: (items: T[]) => void): void {\n callback(this._items);\n }\n\n /**\n * Process the items in series with the given chunk size.\n * @param callback - The callback function to process each item.\n * @param {number} [chunkSize=10] - The size of each chunk for processing in series.\n * @returns {Promise<void>}\n */\n public async processInSeries(\n callback: ({ item, allItems, report }: CallbackParams<T>) => Promise<void>,\n chunkSize = 10\n ): Promise<void> {\n const chunks = chunk(this._items, chunkSize);\n const promises = chunks.map(chunk => this.processChunk(callback, chunk));\n await Promise.all(promises);\n }\n\n /**\n * Get the array of results collected by the worker.\n * @returns {Result[]} - An array of collected results.\n */\n get results(): Result[] {\n return this._report.results;\n }\n\n /**\n * Get the current items in the worker.\n * @returns {T[]} - An array of items in the worker.\n */\n get items(): T[] {\n return this._items;\n }\n\n /**\n * Set the items in the worker.\n * @param {T[]} items - The items to be set in the worker.\n */\n set items(items: T[]) {\n this._items = items;\n }\n\n /**\n * Internal method to process a chunk of items using the provided callback.\n * @private\n * @param callback - The callback function to process each item.\n * @param {T[]} chunk - The chunk of items to be processed.\n * @returns {Promise<void>}\n */\n private async processChunk(\n callback: ({ item, allItems, report }: CallbackParams<T>) => void | Promise<void>,\n chunk: T[]\n ): Promise<void> {\n for (const item of chunk) {\n await callback({ item, allItems: this._items, report: this._report });\n }\n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,cAAc;AAChC,SAASC,kBAAkB,QAAQ,MAAM;AAczC;AACA;AACA;AACA,OAAO,MAAMC,MAAM,CAAC;EACRC,QAAQ,GAAa,EAAE;;EAE/B;AACJ;AACA;AACA;EACWC,OAAOA,CAACC,MAA8B,EAAQ;IACjD,IAAI,CAACC,SAAS,CAAC;MACX,GAAGD,MAAM;MACTE,MAAM,EAAE;IACZ,CAAC,CAAC;EACN;;EAEA;AACJ;AACA;AACA;EACWC,KAAKA,CAACH,MAA8B,EAAQ;IAC/C,IAAI,CAACC,SAAS,CAAC;MACX,GAAGD,MAAM;MACTE,MAAM,EAAE;IACZ,CAAC,CAAC;EACN;;EAEA;AACJ;AACA;AACA;EACI,IAAIE,OAAOA,CAAA,EAAa;IACpB,OAAO,IAAI,CAACN,QAAQ;EACxB;;EAEA;AACJ;AACA;AACA;AACA;EACYG,SAASA,CAACD,MAAc,EAAQ;IACpC,IAAI,CAACF,QAAQ,CAACO,IAAI,CAACL,MAAM,CAAC;EAC9B;AACJ;;AAEA;AACA;AACA;AACA;AACA,OAAO,MAAMM,MAAM,CAAI;EAInBC,WAAWA,CAAA,EAAG;IACV,IAAI,CAACC,MAAM,GAAG,EAAE;IAChB,IAAI,CAACC,OAAO,GAAG,IAAIZ,MAAM,CAAC,CAAC;IAC3BD,kBAAkB,CAAC,IAAI,CAAC;EAC5B;;EAEA;AACJ;AACA;AACA;EACWc,OAAOA,CAACC,QAA8B,EAAQ;IACjDA,QAAQ,CAAC,IAAI,CAACH,MAAM,CAAC;EACzB;;EAEA;AACJ;AACA;AACA;AACA;AACA;EACI,MAAaI,eAAeA,CACxBD,QAA0E,EAC1EE,SAAS,GAAG,EAAE,EACD;IACb,MAAMC,MAAM,GAAGnB,KAAK,CAAC,IAAI,CAACa,MAAM,EAAEK,SAAS,CAAC;IAC5C,MAAME,QAAQ,GAAGD,MAAM,CAACE,GAAG,CAACrB,KAAK,IAAI,IAAI,CAACsB,YAAY,CAACN,QAAQ,EAAEhB,KAAK,CAAC,CAAC;IACxE,MAAMuB,OAAO,CAACC,GAAG,CAACJ,QAAQ,CAAC;EAC/B;;EAEA;AACJ;AACA;AACA;EACI,IAAIX,OAAOA,CAAA,EAAa;IACpB,OAAO,IAAI,CAACK,OAAO,CAACL,OAAO;EAC/B;;EAEA;AACJ;AACA;AACA;EACI,IAAIgB,KAAKA,CAAA,EAAQ;IACb,OAAO,IAAI,CAACZ,MAAM;EACtB;;EAEA;AACJ;AACA;AACA;EACI,IAAIY,KAAKA,CAACA,KAAU,EAAE;IAClB,IAAI,CAACZ,MAAM,GAAGY,KAAK;EACvB;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;EACI,MAAcH,YAAYA,CACtBN,QAAiF,EACjFhB,KAAU,EACG;IACb,KAAK,MAAM0B,IAAI,IAAI1B,KAAK,EAAE;MACtB,MAAMgB,QAAQ,CAAC;QAAEU,IAAI;QAAEC,QAAQ,EAAE,IAAI,CAACd,MAAM;QAAEe,MAAM,EAAE,IAAI,CAACd;MAAQ,CAAC,CAAC;IACzE;EACJ;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["chunk","makeAutoObservable","Report","_results","success","result","addResult","status","error","results","push","Worker","constructor","_items","_report","process","callback","processInSeries","chunkSize","chunks","promises","map","processChunk","Promise","all","items","resetResults","item","allItems","report"],"sources":["Worker.ts"],"sourcesContent":["import chunk from \"lodash/chunk\";\nimport { makeAutoObservable } from \"mobx\";\n\nexport interface CallbackParams<T> {\n item: T;\n allItems: T[];\n report: Report;\n}\n\nexport interface Result {\n title: string;\n status: \"success\" | \"failure\";\n message?: string | React.ReactElement;\n}\n\n/**\n * Class for collecting processing results\n */\nexport class Report {\n private _results: Result[] = [];\n\n /**\n * Record a successful result in the report\n * @param {Omit<Result, \"status\">} result - The successful result to be recorded\n */\n public success(result: Omit<Result, \"status\">): void {\n this.addResult({\n ...result,\n status: \"success\"\n });\n }\n\n /**\n * Record an error result in the report.\n * @param {Omit<Result, \"status\">} result - The error result to be recorded.\n */\n public error(result: Omit<Result, \"status\">): void {\n this.addResult({\n ...result,\n status: \"failure\"\n });\n }\n\n /**\n * Get the array of recorded results.\n * @returns {Result[]} - An array of recorded results.\n */\n get results(): Result[] {\n return this._results;\n }\n\n /**\n * Internal method to add a result to the report.\n * @private\n * @param {Result} result - The result to be added to the report.\n */\n private addResult(result: Result): void {\n this._results.push(result);\n }\n}\n\n/**\n * A generic worker class for processing items.\n * @template T - The type of items being processed.\n */\nexport class Worker<T> {\n private _items: T[];\n private _report: Report;\n\n constructor() {\n this._items = [];\n this._report = new Report();\n makeAutoObservable(this);\n }\n\n /**\n * Process the items using the provided callback function.\n * @param callback - The callback function to process the items.\n */\n public process(callback: (items: T[]) => void): void {\n callback(this._items);\n }\n\n /**\n * Process the items in series with the given chunk size.\n * @param callback - The callback function to process each item.\n * @param {number} [chunkSize=10] - The size of each chunk for processing in series.\n * @returns {Promise<void>}\n */\n public async processInSeries(\n callback: ({ item, allItems, report }: CallbackParams<T>) => Promise<void>,\n chunkSize = 10\n ): Promise<void> {\n const chunks = chunk(this._items, chunkSize);\n const promises = chunks.map(chunk => this.processChunk(callback, chunk));\n await Promise.all(promises);\n }\n\n /**\n * Get the array of results collected by the worker.\n * @returns {Result[]} - An array of collected results.\n */\n get results(): Result[] {\n return this._report.results;\n }\n\n /**\n * Get the current items in the worker.\n * @returns {T[]} - An array of items in the worker.\n */\n get items(): T[] {\n return this._items;\n }\n\n /**\n * Set the items in the worker.\n * @param {T[]} items - The items to be set in the worker.\n */\n set items(items: T[]) {\n this._items = items;\n }\n\n public async resetResults(): Promise<void> {\n this._items = [];\n this._report = new Report();\n }\n\n /**\n * Internal method to process a chunk of items using the provided callback.\n * @private\n * @param callback - The callback function to process each item.\n * @param {T[]} chunk - The chunk of items to be processed.\n * @returns {Promise<void>}\n */\n private async processChunk(\n callback: ({ item, allItems, report }: CallbackParams<T>) => void | Promise<void>,\n chunk: T[]\n ): Promise<void> {\n for (const item of chunk) {\n await callback({ item, allItems: this._items, report: this._report });\n }\n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,cAAc;AAChC,SAASC,kBAAkB,QAAQ,MAAM;AAczC;AACA;AACA;AACA,OAAO,MAAMC,MAAM,CAAC;EACRC,QAAQ,GAAa,EAAE;;EAE/B;AACJ;AACA;AACA;EACWC,OAAOA,CAACC,MAA8B,EAAQ;IACjD,IAAI,CAACC,SAAS,CAAC;MACX,GAAGD,MAAM;MACTE,MAAM,EAAE;IACZ,CAAC,CAAC;EACN;;EAEA;AACJ;AACA;AACA;EACWC,KAAKA,CAACH,MAA8B,EAAQ;IAC/C,IAAI,CAACC,SAAS,CAAC;MACX,GAAGD,MAAM;MACTE,MAAM,EAAE;IACZ,CAAC,CAAC;EACN;;EAEA;AACJ;AACA;AACA;EACI,IAAIE,OAAOA,CAAA,EAAa;IACpB,OAAO,IAAI,CAACN,QAAQ;EACxB;;EAEA;AACJ;AACA;AACA;AACA;EACYG,SAASA,CAACD,MAAc,EAAQ;IACpC,IAAI,CAACF,QAAQ,CAACO,IAAI,CAACL,MAAM,CAAC;EAC9B;AACJ;;AAEA;AACA;AACA;AACA;AACA,OAAO,MAAMM,MAAM,CAAI;EAInBC,WAAWA,CAAA,EAAG;IACV,IAAI,CAACC,MAAM,GAAG,EAAE;IAChB,IAAI,CAACC,OAAO,GAAG,IAAIZ,MAAM,CAAC,CAAC;IAC3BD,kBAAkB,CAAC,IAAI,CAAC;EAC5B;;EAEA;AACJ;AACA;AACA;EACWc,OAAOA,CAACC,QAA8B,EAAQ;IACjDA,QAAQ,CAAC,IAAI,CAACH,MAAM,CAAC;EACzB;;EAEA;AACJ;AACA;AACA;AACA;AACA;EACI,MAAaI,eAAeA,CACxBD,QAA0E,EAC1EE,SAAS,GAAG,EAAE,EACD;IACb,MAAMC,MAAM,GAAGnB,KAAK,CAAC,IAAI,CAACa,MAAM,EAAEK,SAAS,CAAC;IAC5C,MAAME,QAAQ,GAAGD,MAAM,CAACE,GAAG,CAACrB,KAAK,IAAI,IAAI,CAACsB,YAAY,CAACN,QAAQ,EAAEhB,KAAK,CAAC,CAAC;IACxE,MAAMuB,OAAO,CAACC,GAAG,CAACJ,QAAQ,CAAC;EAC/B;;EAEA;AACJ;AACA;AACA;EACI,IAAIX,OAAOA,CAAA,EAAa;IACpB,OAAO,IAAI,CAACK,OAAO,CAACL,OAAO;EAC/B;;EAEA;AACJ;AACA;AACA;EACI,IAAIgB,KAAKA,CAAA,EAAQ;IACb,OAAO,IAAI,CAACZ,MAAM;EACtB;;EAEA;AACJ;AACA;AACA;EACI,IAAIY,KAAKA,CAACA,KAAU,EAAE;IAClB,IAAI,CAACZ,MAAM,GAAGY,KAAK;EACvB;EAEA,MAAaC,YAAYA,CAAA,EAAkB;IACvC,IAAI,CAACb,MAAM,GAAG,EAAE;IAChB,IAAI,CAACC,OAAO,GAAG,IAAIZ,MAAM,CAAC,CAAC;EAC/B;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;EACI,MAAcoB,YAAYA,CACtBN,QAAiF,EACjFhB,KAAU,EACG;IACb,KAAK,MAAM2B,IAAI,IAAI3B,KAAK,EAAE;MACtB,MAAMgB,QAAQ,CAAC;QAAEW,IAAI;QAAEC,QAAQ,EAAE,IAAI,CAACf,MAAM;QAAEgB,MAAM,EAAE,IAAI,CAACf;MAAQ,CAAC,CAAC;IACzE;EACJ;AACJ","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { ShowResultsDialogParams } from "./index";
2
+ import type { ShowResultsDialogParams } from "./index";
3
3
  type ResultDialogMessageProps = Pick<ShowResultsDialogParams, "results" | "message">;
4
4
  export declare const ResultDialogMessage: ({ results, message }: ResultDialogMessageProps) => React.JSX.Element;
5
5
  export {};
@@ -1 +1 @@
1
- {"version":3,"names":["React","ReactComponent","ErrorIcon","SuccessIcon","List","Icon","cn","ResultDialogMessage","results","message","createElement","Fragment","className","map","result","index","Item","key","title","description","icon","status","label"],"sources":["DialogMessage.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as ErrorIcon } from \"@webiny/icons/error_outline.svg\";\nimport { ReactComponent as SuccessIcon } from \"@webiny/icons/check_circle_outline.svg\";\nimport { List, Icon, cn } from \"@webiny/admin-ui\";\nimport { ShowResultsDialogParams } from \"./index\";\n\ntype ResultDialogMessageProps = Pick<ShowResultsDialogParams, \"results\" | \"message\">;\n\nexport const ResultDialogMessage = ({ results, message }: ResultDialogMessageProps) => {\n return (\n <>\n {message && <div className={\"wby-mb-md\"}>{message}</div>}\n <List>\n {results.map((result, index) => (\n <List.Item\n key={`item-${index}`}\n title={result.title}\n description={result.message}\n icon={\n <Icon\n icon={result.status === \"success\" ? <SuccessIcon /> : <ErrorIcon />}\n label={result.status}\n className={cn(\n result.status === \"success\"\n ? \"wby-fill-success\"\n : \"wby-fill-destructive\"\n )}\n />\n }\n />\n ))}\n </List>\n </>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,cAAc,IAAIC,SAAS,QAAQ,iCAAiC;AAC7E,SAASD,cAAc,IAAIE,WAAW,QAAQ,wCAAwC;AACtF,SAASC,IAAI,EAAEC,IAAI,EAAEC,EAAE,QAAQ,kBAAkB;AAKjD,OAAO,MAAMC,mBAAmB,GAAGA,CAAC;EAAEC,OAAO;EAAEC;AAAkC,CAAC,KAAK;EACnF,oBACIT,KAAA,CAAAU,aAAA,CAAAV,KAAA,CAAAW,QAAA,QACKF,OAAO,iBAAIT,KAAA,CAAAU,aAAA;IAAKE,SAAS,EAAE;EAAY,GAAEH,OAAa,CAAC,eACxDT,KAAA,CAAAU,aAAA,CAACN,IAAI,QACAI,OAAO,CAACK,GAAG,CAAC,CAACC,MAAM,EAAEC,KAAK,kBACvBf,KAAA,CAAAU,aAAA,CAACN,IAAI,CAACY,IAAI;IACNC,GAAG,EAAE,QAAQF,KAAK,EAAG;IACrBG,KAAK,EAAEJ,MAAM,CAACI,KAAM;IACpBC,WAAW,EAAEL,MAAM,CAACL,OAAQ;IAC5BW,IAAI,eACApB,KAAA,CAAAU,aAAA,CAACL,IAAI;MACDe,IAAI,EAAEN,MAAM,CAACO,MAAM,KAAK,SAAS,gBAAGrB,KAAA,CAAAU,aAAA,CAACP,WAAW,MAAE,CAAC,gBAAGH,KAAA,CAAAU,aAAA,CAACR,SAAS,MAAE,CAAE;MACpEoB,KAAK,EAAER,MAAM,CAACO,MAAO;MACrBT,SAAS,EAAEN,EAAE,CACTQ,MAAM,CAACO,MAAM,KAAK,SAAS,GACrB,kBAAkB,GAClB,sBACV;IAAE,CACL;EACJ,CACJ,CACJ,CACC,CACR,CAAC;AAEX,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","ReactComponent","ErrorIcon","SuccessIcon","List","Icon","cn","ResultDialogMessage","results","message","createElement","Fragment","className","map","result","index","Item","key","title","description","icon","status","label"],"sources":["DialogMessage.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as ErrorIcon } from \"@webiny/icons/error_outline.svg\";\nimport { ReactComponent as SuccessIcon } from \"@webiny/icons/check_circle_outline.svg\";\nimport { List, Icon, cn } from \"@webiny/admin-ui\";\nimport type { ShowResultsDialogParams } from \"./index\";\n\ntype ResultDialogMessageProps = Pick<ShowResultsDialogParams, \"results\" | \"message\">;\n\nexport const ResultDialogMessage = ({ results, message }: ResultDialogMessageProps) => {\n return (\n <>\n {message && <div className={\"wby-mb-md\"}>{message}</div>}\n <List>\n {results.map((result, index) => (\n <List.Item\n key={`item-${index}`}\n title={result.title}\n description={result.message}\n icon={\n <Icon\n icon={result.status === \"success\" ? <SuccessIcon /> : <ErrorIcon />}\n label={result.status}\n className={cn(\n result.status === \"success\"\n ? \"wby-fill-success\"\n : \"wby-fill-destructive\"\n )}\n />\n }\n />\n ))}\n </List>\n </>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,cAAc,IAAIC,SAAS,QAAQ,iCAAiC;AAC7E,SAASD,cAAc,IAAIE,WAAW,QAAQ,wCAAwC;AACtF,SAASC,IAAI,EAAEC,IAAI,EAAEC,EAAE,QAAQ,kBAAkB;AAKjD,OAAO,MAAMC,mBAAmB,GAAGA,CAAC;EAAEC,OAAO;EAAEC;AAAkC,CAAC,KAAK;EACnF,oBACIT,KAAA,CAAAU,aAAA,CAAAV,KAAA,CAAAW,QAAA,QACKF,OAAO,iBAAIT,KAAA,CAAAU,aAAA;IAAKE,SAAS,EAAE;EAAY,GAAEH,OAAa,CAAC,eACxDT,KAAA,CAAAU,aAAA,CAACN,IAAI,QACAI,OAAO,CAACK,GAAG,CAAC,CAACC,MAAM,EAAEC,KAAK,kBACvBf,KAAA,CAAAU,aAAA,CAACN,IAAI,CAACY,IAAI;IACNC,GAAG,EAAE,QAAQF,KAAK,EAAG;IACrBG,KAAK,EAAEJ,MAAM,CAACI,KAAM;IACpBC,WAAW,EAAEL,MAAM,CAACL,OAAQ;IAC5BW,IAAI,eACApB,KAAA,CAAAU,aAAA,CAACL,IAAI;MACDe,IAAI,EAAEN,MAAM,CAACO,MAAM,KAAK,SAAS,gBAAGrB,KAAA,CAAAU,aAAA,CAACP,WAAW,MAAE,CAAC,gBAAGH,KAAA,CAAAU,aAAA,CAACR,SAAS,MAAE,CAAE;MACpEoB,KAAK,EAAER,MAAM,CAACO,MAAO;MACrBT,SAAS,EAAEN,EAAE,CACTQ,MAAM,CAACO,MAAM,KAAK,SAAS,GACrB,kBAAkB,GAClB,sBACV;IAAE,CACL;EACJ,CACJ,CACJ,CACC,CACR,CAAC;AAEX,CAAC","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { Result } from "../Worker";
1
+ import type { Result } from "../Worker";
2
2
  export interface ShowConfirmationDialogParams {
3
3
  execute: (() => void) | (() => Promise<void>);
4
4
  title?: string;
@@ -1,73 +1,45 @@
1
1
  import React from "react";
2
- import { OverlayLoader } from "@webiny/admin-ui";
3
- import { useUi } from "@webiny/app/hooks/useUi";
4
2
  import { i18n } from "@webiny/app/i18n";
5
3
  import { ResultDialogMessage } from "./DialogMessage";
4
+ import { useDialogs } from "../../Dialogs/useDialogs.js";
6
5
  const t = i18n.ns("app-admin/hooks/use-dialog-with-report");
7
6
  export const useDialogWithReport = () => {
8
- const ui = useUi();
7
+ const {
8
+ showDialog,
9
+ closeAllDialogs
10
+ } = useDialogs();
9
11
  const showConfirmationDialog = ({
10
12
  execute,
11
13
  title,
12
14
  message,
13
15
  loadingLabel
14
16
  }) => {
15
- ui.setState(ui => {
16
- return {
17
- ...ui,
18
- dialog: {
19
- message: message || t`Are you sure you want to continue?`,
20
- options: {
21
- title: title || t`Confirm`,
22
- loading: /*#__PURE__*/React.createElement(OverlayLoader, {
23
- text: loadingLabel
24
- }),
25
- actions: {
26
- accept: {
27
- label: t`Confirm`,
28
- onClick: async () => {
29
- await execute();
30
- }
31
- },
32
- cancel: {
33
- label: t`Cancel`
34
- }
35
- }
36
- }
37
- }
38
- };
17
+ showDialog({
18
+ title: title || t`Confirm`,
19
+ content: message || t`Are you sure you want to continue?`,
20
+ loadingLabel: loadingLabel || t`Processing...`,
21
+ acceptLabel: t`Confirm`,
22
+ onAccept: execute,
23
+ cancelLabel: t`Cancel`
39
24
  });
40
25
  };
41
26
  const showResultsDialog = ({
42
27
  title,
28
+ onCancel,
43
29
  ...params
44
30
  }) => {
45
31
  setTimeout(() => {
46
- ui.setState(ui => {
47
- return {
48
- ...ui,
49
- dialog: {
50
- message: /*#__PURE__*/React.createElement(ResultDialogMessage, params),
51
- options: {
52
- title: title || t`Results`,
53
- actions: {
54
- cancel: {
55
- label: t`Close`
56
- }
57
- }
58
- }
59
- }
60
- };
32
+ showDialog({
33
+ title: title || t`Results`,
34
+ content: /*#__PURE__*/React.createElement(ResultDialogMessage, params),
35
+ cancelLabel: t`Close`,
36
+ onClose: onCancel,
37
+ acceptLabel: null
61
38
  });
62
39
  }, 10);
63
40
  };
64
41
  const hideResultsDialog = () => {
65
- ui.setState(ui => {
66
- return {
67
- ...ui,
68
- dialog: null
69
- };
70
- });
42
+ closeAllDialogs();
71
43
  };
72
44
  return {
73
45
  showConfirmationDialog,